From 7700b9314d10ab6030424521395ebafb84ae7ebd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 22 Jul 2024 12:46:03 +0000 Subject: [PATCH] deploy: abaplint/abaplint@250b3e8dc3f2569846d7e6259261cb74dc247fc1 --- .nojekyll | 0 CNAME | 1 + base.css | 224 + block-navigation.js | 87 + favicon.png | Bin 0 -> 445 bytes index.html | 551 + prettify.css | 1 + prettify.js | 2 + sort-arrow-sprite.png | Bin 0 -> 138 bytes sorter.js | 196 + src/abap/1_lexer/index.html | 146 + src/abap/1_lexer/lexer.ts.html | 1027 ++ src/abap/1_lexer/lexer_buffer.ts.html | 175 + src/abap/1_lexer/lexer_stream.ts.html | 331 + .../1_lexer/tokens/abstract_token.ts.html | 190 + src/abap/1_lexer/tokens/at.ts.html | 103 + src/abap/1_lexer/tokens/atw.ts.html | 106 + src/abap/1_lexer/tokens/bracket_left.ts.html | 103 + src/abap/1_lexer/tokens/bracket_leftw.ts.html | 106 + src/abap/1_lexer/tokens/bracket_right.ts.html | 103 + .../1_lexer/tokens/bracket_rightw.ts.html | 109 + src/abap/1_lexer/tokens/colon.ts.html | 97 + src/abap/1_lexer/tokens/comment.ts.html | 97 + src/abap/1_lexer/tokens/dash.ts.html | 109 + src/abap/1_lexer/tokens/dashw.ts.html | 109 + src/abap/1_lexer/tokens/identifier.ts.html | 97 + src/abap/1_lexer/tokens/index.html | 821 ++ src/abap/1_lexer/tokens/index.ts.html | 250 + .../1_lexer/tokens/instance_arrow.ts.html | 109 + .../1_lexer/tokens/instance_arroww.ts.html | 109 + src/abap/1_lexer/tokens/paren_left.ts.html | 109 + src/abap/1_lexer/tokens/paren_leftw.ts.html | 109 + src/abap/1_lexer/tokens/paren_right.ts.html | 109 + src/abap/1_lexer/tokens/paren_rightw.ts.html | 109 + src/abap/1_lexer/tokens/plus.ts.html | 103 + src/abap/1_lexer/tokens/plusw.ts.html | 109 + src/abap/1_lexer/tokens/pragma.ts.html | 97 + src/abap/1_lexer/tokens/punctuation.ts.html | 97 + src/abap/1_lexer/tokens/static_arrow.ts.html | 103 + src/abap/1_lexer/tokens/static_arroww.ts.html | 109 + src/abap/1_lexer/tokens/string.ts.html | 97 + .../1_lexer/tokens/string_template.ts.html | 100 + .../tokens/string_template_begin.ts.html | 100 + .../tokens/string_template_end.ts.html | 100 + .../tokens/string_template_middle.ts.html | 100 + src/abap/1_lexer/tokens/wat.ts.html | 106 + src/abap/1_lexer/tokens/watw.ts.html | 106 + src/abap/1_lexer/tokens/wbracket_left.ts.html | 109 + .../1_lexer/tokens/wbracket_leftw.ts.html | 106 + .../1_lexer/tokens/wbracket_right.ts.html | 109 + .../1_lexer/tokens/wbracket_rightw.ts.html | 109 + src/abap/1_lexer/tokens/wdash.ts.html | 109 + src/abap/1_lexer/tokens/wdashw.ts.html | 109 + .../1_lexer/tokens/winstance_arrow.ts.html | 109 + .../1_lexer/tokens/winstance_arroww.ts.html | 109 + src/abap/1_lexer/tokens/wparen_left.ts.html | 109 + src/abap/1_lexer/tokens/wparen_leftw.ts.html | 109 + src/abap/1_lexer/tokens/wparen_right.ts.html | 109 + src/abap/1_lexer/tokens/wparen_rightw.ts.html | 109 + src/abap/1_lexer/tokens/wplus.ts.html | 109 + src/abap/1_lexer/tokens/wplusw.ts.html | 109 + src/abap/1_lexer/tokens/wstatic_arrow.ts.html | 109 + .../1_lexer/tokens/wstatic_arroww.ts.html | 109 + src/abap/2_statements/combi.ts.html | 3439 ++++++ src/abap/2_statements/expand_macros.ts.html | 874 ++ .../2_statements/expressions/abstract.ts.html | 106 + .../expressions/abstract_methods.ts.html | 109 + .../expressions/and_return.ts.html | 106 + .../expressions/arith_operator.ts.html | 142 + .../2_statements/expressions/arrow.ts.html | 109 + .../expressions/arrow_or_dash.ts.html | 109 + .../expressions/assign_source.ts.html | 166 + .../expressions/association_name.ts.html | 106 + .../expressions/attribute_chain.ts.html | 130 + .../expressions/attribute_name.ts.html | 106 + .../behavior_definition_name.ts.html | 106 + .../expressions/block_name.ts.html | 115 + .../call_transformation_options.ts.html | 118 + .../call_transformation_parameters.ts.html | 121 + .../2_statements/expressions/cast.ts.html | 130 + .../expressions/class_final.ts.html | 106 + .../expressions/class_friends.ts.html | 109 + .../expressions/class_global.ts.html | 106 + .../expressions/class_name.ts.html | 106 + .../2_statements/expressions/color.ts.html | 148 + .../2_statements/expressions/compare.ts.html | 196 + .../expressions/compare_operator.ts.html | 205 + .../expressions/component_chain.ts.html | 130 + .../component_chain_simple.ts.html | 127 + .../expressions/component_compare.ts.html | 187 + .../component_compare_simple.ts.html | 115 + .../component_compare_single.ts.html | 115 + .../expressions/component_cond.ts.html | 127 + .../expressions/component_cond_sub.ts.html | 130 + .../expressions/component_name.ts.html | 106 + .../expressions/concatenated_constant.ts.html | 112 + .../2_statements/expressions/cond.ts.html | 124 + .../expressions/cond_body.ts.html | 127 + .../2_statements/expressions/cond_sub.ts.html | 130 + .../2_statements/expressions/constant.ts.html | 118 + .../expressions/constant_field_length.ts.html | 124 + .../expressions/constant_string.ts.html | 106 + .../expressions/conv_body.ts.html | 109 + .../expressions/corresponding_body.ts.html | 157 + .../expressions/data_definition.ts.html | 142 + .../expressions/database_connection.ts.html | 112 + .../expressions/database_table.ts.html | 109 + .../2_statements/expressions/decimals.ts.html | 112 + .../2_statements/expressions/default.ts.html | 121 + .../expressions/definition_name.ts.html | 115 + .../expressions/dereference.ts.html | 109 + .../expressions/destination.ts.html | 109 + .../2_statements/expressions/dynamic.ts.html | 124 + .../expressions/entity_association.ts.html | 106 + .../expressions/event_handler.ts.html | 127 + .../expressions/event_name.ts.html | 106 + .../expressions/exception_name.ts.html | 115 + .../2_statements/expressions/field.ts.html | 112 + .../expressions/field_all.ts.html | 112 + .../expressions/field_assignment.ts.html | 118 + .../expressions/field_chain.ts.html | 151 + .../expressions/field_length.ts.html | 133 + .../expressions/field_offset.ts.html | 121 + .../expressions/field_sub.ts.html | 124 + .../expressions/field_symbol.ts.html | 118 + .../expressions/filter_body.ts.html | 127 + .../expressions/final_methods.ts.html | 109 + .../expressions/find_type.ts.html | 109 + src/abap/2_statements/expressions/for.ts.html | 169 + .../expressions/form_changing.ts.html | 109 + .../expressions/form_name.ts.html | 118 + .../expressions/form_param.ts.html | 124 + .../expressions/form_param_name.ts.html | 121 + .../expressions/form_param_type.ts.html | 154 + .../expressions/form_raising.ts.html | 133 + .../expressions/form_tables.ts.html | 109 + .../expressions/form_using.ts.html | 109 + .../2_statements/expressions/fstarget.ts.html | 109 + .../expressions/function_exporting.ts.html | 118 + .../function_exporting_parameter.ts.html | 130 + .../expressions/function_name.ts.html | 109 + .../expressions/function_parameters.ts.html | 145 + .../expressions/include_name.ts.html | 109 + src/abap/2_statements/expressions/index.html | 3356 ++++++ .../2_statements/expressions/index.ts.html | 733 ++ .../expressions/inline_field.ts.html | 109 + .../inline_field_definition.ts.html | 112 + .../inline_loop_definition.ts.html | 112 + .../expressions/inlinedata.ts.html | 130 + .../2_statements/expressions/inlinefs.ts.html | 127 + .../2_statements/expressions/integer.ts.html | 112 + .../expressions/interface_name.ts.html | 106 + .../expressions/kernel_id.ts.html | 112 + .../2_statements/expressions/language.ts.html | 106 + .../2_statements/expressions/length.ts.html | 112 + src/abap/2_statements/expressions/let.ts.html | 109 + .../expressions/loop_group_by.ts.html | 139 + .../loop_group_by_component.ts.html | 121 + .../expressions/loop_group_by_target.ts.html | 118 + .../expressions/loop_target.ts.html | 142 + .../expressions/macro_name.ts.html | 112 + .../expressions/message_class.ts.html | 109 + .../expressions/message_number.ts.html | 106 + .../expressions/message_source.ts.html | 127 + .../message_type_and_number.ts.html | 106 + .../expressions/method_call.ts.html | 115 + .../expressions/method_call_body.ts.html | 124 + .../expressions/method_call_chain.ts.html | 157 + .../expressions/method_call_param.ts.html | 148 + .../expressions/method_def_changing.ts.html | 109 + .../expressions/method_def_exceptions.ts.html | 115 + .../expressions/method_def_exporting.ts.html | 109 + .../expressions/method_def_importing.ts.html | 121 + .../expressions/method_def_raising.ts.html | 133 + .../expressions/method_def_returning.ts.html | 127 + .../expressions/method_name.ts.html | 106 + .../expressions/method_param.ts.html | 154 + .../expressions/method_param_name.ts.html | 109 + .../expressions/method_param_optional.ts.html | 112 + .../expressions/method_parameters.ts.html | 142 + .../expressions/method_source.ts.html | 154 + .../2_statements/expressions/modif.ts.html | 106 + .../expressions/namespace_simple_name.ts.html | 106 + .../expressions/new_object.ts.html | 148 + .../expressions/ole_exporting.ts.html | 112 + src/abap/2_statements/expressions/or.ts.html | 109 + .../expressions/parameter_exception.ts.html | 121 + .../parameter_list_exceptions.ts.html | 109 + .../expressions/parameter_list_s.ts.html | 109 + .../expressions/parameter_list_t.ts.html | 109 + .../expressions/parameter_name.ts.html | 109 + .../expressions/parameter_s.ts.html | 109 + .../expressions/parameter_t.ts.html | 109 + .../expressions/pass_by_value.ts.html | 127 + .../expressions/perform_changing.ts.html | 115 + .../expressions/perform_tables.ts.html | 112 + .../expressions/perform_using.ts.html | 115 + .../expressions/radio_group_name.ts.html | 106 + .../expressions/raise_with.ts.html | 124 + .../expressions/read_table_target.ts.html | 127 + .../expressions/receive_parameters.ts.html | 136 + .../expressions/redefinition.ts.html | 106 + .../expressions/reduce_body.ts.html | 127 + .../expressions/reduce_next.ts.html | 139 + .../expressions/report_name.ts.html | 109 + .../2_statements/expressions/select.ts.html | 211 + .../expressions/select_loop.ts.html | 217 + .../expressions/simple_field_chain.ts.html | 136 + .../expressions/simple_field_chain2.ts.html | 145 + .../expressions/simple_name.ts.html | 106 + .../expressions/simple_source1.ts.html | 121 + .../expressions/simple_source2.ts.html | 121 + .../expressions/simple_source3.ts.html | 109 + .../expressions/simple_source4.ts.html | 112 + .../expressions/simple_target.ts.html | 160 + .../2_statements/expressions/source.ts.html | 445 + .../expressions/source_field.ts.html | 109 + .../expressions/source_field_symbol.ts.html | 109 + .../expressions/sql_aggregation.ts.html | 142 + .../expressions/sql_alias_field.ts.html | 106 + .../sql_arithmetic_operator.ts.html | 112 + .../expressions/sql_arithmetics.ts.html | 115 + .../expressions/sql_as_name.ts.html | 118 + .../2_statements/expressions/sql_case.ts.html | 166 + .../expressions/sql_cds_parameters.ts.html | 118 + .../expressions/sql_client.ts.html | 127 + .../expressions/sql_compare.ts.html | 187 + .../expressions/sql_compare_operator.ts.html | 115 + .../2_statements/expressions/sql_cond.ts.html | 142 + .../expressions/sql_field.ts.html | 169 + .../expressions/sql_field_and_value.ts.html | 124 + .../expressions/sql_field_list.ts.html | 127 + .../expressions/sql_field_list_loop.ts.html | 136 + .../expressions/sql_field_name.ts.html | 106 + .../expressions/sql_fields.ts.html | 109 + .../expressions/sql_for_all_entries.ts.html | 112 + .../2_statements/expressions/sql_from.ts.html | 130 + .../expressions/sql_from_source.ts.html | 136 + .../expressions/sql_function.ts.html | 223 + .../expressions/sql_group_by.ts.html | 121 + .../expressions/sql_having.ts.html | 112 + .../expressions/sql_hints.ts.html | 115 + .../2_statements/expressions/sql_in.ts.html | 148 + .../expressions/sql_into_list.ts.html | 130 + .../expressions/sql_into_structure.ts.html | 118 + .../expressions/sql_into_table.ts.html | 121 + .../2_statements/expressions/sql_join.ts.html | 121 + .../expressions/sql_order_by.ts.html | 121 + .../2_statements/expressions/sql_path.ts.html | 118 + .../expressions/sql_source.ts.html | 127 + .../expressions/sql_source_no_space.ts.html | 127 + .../expressions/sql_source_simple.ts.html | 130 + .../expressions/sql_target.ts.html | 124 + .../expressions/sql_up_to.ts.html | 112 + .../expressions/string_template.ts.html | 133 + .../string_template_formatting.ts.html | 265 + .../string_template_source.ts.html | 112 + .../expressions/super_class_name.ts.html | 109 + .../expressions/switch_body.ts.html | 133 + .../expressions/table_body.ts.html | 112 + .../expressions/table_expression.ts.html | 133 + .../2_statements/expressions/target.ts.html | 154 + .../expressions/target_field.ts.html | 109 + .../expressions/target_field_symbol.ts.html | 109 + .../expressions/test_seam_name.ts.html | 115 + .../expressions/text_element.ts.html | 112 + .../expressions/text_element_key.ts.html | 106 + .../expressions/text_element_string.ts.html | 118 + .../2_statements/expressions/throw.ts.html | 130 + .../expressions/transporting_fields.ts.html | 115 + .../2_statements/expressions/type.ts.html | 148 + .../expressions/type_name.ts.html | 130 + .../expressions/type_name_or_infer.ts.html | 109 + .../expressions/type_param.ts.html | 148 + .../expressions/type_structure.ts.html | 127 + .../expressions/type_table.ts.html | 262 + .../expressions/type_table_key.ts.html | 175 + .../2_statements/expressions/value.ts.html | 112 + .../expressions/value_body.ts.html | 130 + .../expressions/value_body_line.ts.html | 133 + .../expressions/value_body_lines.ts.html | 115 + .../expressions/with_name.ts.html | 109 + .../expressions/write_offset_length.ts.html | 142 + src/abap/2_statements/index.html | 161 + src/abap/2_statements/result.ts.html | 223 + .../2_statements/statement_parser.ts.html | 1072 ++ .../statements/_statement.ts.html | 205 + src/abap/2_statements/statements/add.ts.html | 133 + .../statements/add_corresponding.ts.html | 136 + .../2_statements/statements/aliases.ts.html | 127 + .../2_statements/statements/append.ts.html | 169 + .../2_statements/statements/assert.ts.html | 145 + .../2_statements/statements/assign.ts.html | 178 + .../statements/assign_local_copy.ts.html | 142 + src/abap/2_statements/statements/at.ts.html | 148 + .../2_statements/statements/at_first.ts.html | 115 + .../2_statements/statements/at_last.ts.html | 115 + .../statements/at_line_selection.ts.html | 118 + .../statements/at_selection_screen.ts.html | 178 + .../statements/at_user_command.ts.html | 118 + .../statements/authority_check.ts.html | 151 + src/abap/2_statements/statements/back.ts.html | 118 + .../2_statements/statements/break.ts.html | 136 + .../2_statements/statements/break_id.ts.html | 133 + src/abap/2_statements/statements/call.ts.html | 130 + .../2_statements/statements/call_badi.ts.html | 139 + .../statements/call_database.ts.html | 154 + .../statements/call_dialog.ts.html | 154 + .../statements/call_function.ts.html | 184 + .../statements/call_kernel.ts.html | 133 + .../2_statements/statements/call_ole.ts.html | 151 + .../statements/call_screen.ts.html | 136 + .../statements/call_selection_screen.ts.html | 145 + .../statements/call_transaction.ts.html | 175 + .../statements/call_transformation.ts.html | 160 + src/abap/2_statements/statements/case.ts.html | 118 + .../2_statements/statements/case_type.ts.html | 121 + .../2_statements/statements/catch.ts.html | 127 + .../catch_system_exceptions.ts.html | 130 + .../2_statements/statements/check.ts.html | 124 + .../statements/check_select_options.ts.html | 124 + .../statements/class_data.ts.html | 118 + .../statements/class_data_begin.ts.html | 145 + .../statements/class_data_end.ts.html | 136 + .../statements/class_deferred.ts.html | 118 + .../statements/class_definition.ts.html | 187 + .../statements/class_definition_load.ts.html | 118 + .../statements/class_implementation.ts.html | 118 + .../statements/class_local_friends.ts.html | 118 + .../2_statements/statements/cleanup.ts.html | 124 + .../2_statements/statements/clear.ts.html | 139 + .../statements/close_cursor.ts.html | 124 + .../statements/close_dataset.ts.html | 124 + .../2_statements/statements/collect.ts.html | 136 + .../2_statements/statements/commit.ts.html | 124 + .../statements/commit_entities.ts.html | 130 + .../statements/communication.ts.html | 190 + .../2_statements/statements/compute.ts.html | 139 + .../statements/concatenate.ts.html | 157 + .../2_statements/statements/condense.ts.html | 124 + .../2_statements/statements/constant.ts.html | 136 + .../statements/constant_begin.ts.html | 121 + .../statements/constant_end.ts.html | 124 + .../2_statements/statements/contexts.ts.html | 130 + .../2_statements/statements/continue.ts.html | 115 + .../2_statements/statements/controls.ts.html | 133 + .../2_statements/statements/convert.ts.html | 184 + .../statements/convert_text.ts.html | 127 + .../statements/create_data.ts.html | 253 + .../statements/create_object.ts.html | 157 + .../statements/create_ole.ts.html | 139 + src/abap/2_statements/statements/data.ts.html | 118 + .../statements/data_begin.ts.html | 142 + .../2_statements/statements/data_end.ts.html | 139 + .../2_statements/statements/define.ts.html | 124 + .../statements/delete_cluster.ts.html | 157 + .../statements/delete_database.ts.html | 160 + .../statements/delete_dataset.ts.html | 127 + .../statements/delete_dynpro.ts.html | 127 + .../statements/delete_internal.ts.html | 214 + .../statements/delete_memory.ts.html | 145 + .../statements/delete_report.ts.html | 139 + .../statements/delete_textpool.ts.html | 145 + .../2_statements/statements/demand.ts.html | 151 + .../2_statements/statements/describe.ts.html | 244 + .../2_statements/statements/detail.ts.html | 112 + .../2_statements/statements/divide.ts.html | 133 + src/abap/2_statements/statements/do.ts.html | 154 + .../statements/editor_call.ts.html | 148 + src/abap/2_statements/statements/else.ts.html | 115 + .../2_statements/statements/elseif.ts.html | 118 + .../statements/end_enhancement.ts.html | 118 + .../end_enhancement_section.ts.html | 124 + .../statements/end_of_page.ts.html | 118 + .../statements/end_of_selection.ts.html | 118 + .../statements/end_test_injection.ts.html | 115 + .../statements/end_test_seam.ts.html | 118 + .../2_statements/statements/endat.ts.html | 118 + .../2_statements/statements/endcase.ts.html | 115 + .../2_statements/statements/endcatch.ts.html | 118 + .../2_statements/statements/endclass.ts.html | 115 + .../2_statements/statements/enddefine.ts.html | 118 + .../2_statements/statements/enddo.ts.html | 115 + .../2_statements/statements/endexec.ts.html | 118 + .../2_statements/statements/endform.ts.html | 121 + .../statements/endfunction.ts.html | 115 + .../2_statements/statements/endif.ts.html | 115 + .../statements/endinterface.ts.html | 115 + .../2_statements/statements/endloop.ts.html | 115 + .../2_statements/statements/endmethod.ts.html | 115 + .../2_statements/statements/endmodule.ts.html | 118 + .../2_statements/statements/endon.ts.html | 121 + .../statements/endprovide.ts.html | 121 + .../2_statements/statements/endselect.ts.html | 115 + .../2_statements/statements/endtry.ts.html | 115 + .../2_statements/statements/endwhile.ts.html | 115 + .../2_statements/statements/endwith.ts.html | 118 + .../statements/enhancement.ts.html | 127 + .../statements/enhancement_point.ts.html | 142 + .../statements/enhancement_section.ts.html | 145 + .../2_statements/statements/events.ts.html | 127 + .../2_statements/statements/exec_sql.ts.html | 133 + src/abap/2_statements/statements/exit.ts.html | 115 + .../2_statements/statements/export.ts.html | 205 + .../statements/export_dynpro.ts.html | 145 + .../2_statements/statements/extract.ts.html | 127 + .../statements/fetch_next_cursor.ts.html | 145 + .../statements/field_group.ts.html | 127 + .../2_statements/statements/fields.ts.html | 127 + .../statements/fieldsymbol.ts.html | 130 + src/abap/2_statements/statements/find.ts.html | 211 + src/abap/2_statements/statements/form.ts.html | 139 + .../statements/form_definition.ts.html | 142 + .../2_statements/statements/format.ts.html | 160 + src/abap/2_statements/statements/free.ts.html | 124 + .../statements/free_memory.ts.html | 127 + .../statements/free_object.ts.html | 127 + .../statements/function_module.ts.html | 118 + .../statements/function_pool.ts.html | 136 + .../statements/generate_dynpro.ts.html | 166 + .../statements/generate_report.ts.html | 181 + .../statements/generate_subroutine.ts.html | 160 + src/abap/2_statements/statements/get.ts.html | 145 + .../2_statements/statements/get_badi.ts.html | 151 + .../2_statements/statements/get_bit.ts.html | 139 + .../statements/get_cursor.ts.html | 151 + .../statements/get_dataset.ts.html | 142 + .../statements/get_locale.ts.html | 148 + .../statements/get_parameter.ts.html | 136 + .../statements/get_permissions.ts.html | 139 + .../statements/get_pf_status.ts.html | 145 + .../statements/get_property.ts.html | 148 + .../statements/get_reference.ts.html | 133 + .../statements/get_run_time.ts.html | 127 + .../2_statements/statements/get_time.ts.html | 124 + src/abap/2_statements/statements/hide.ts.html | 127 + src/abap/2_statements/statements/if.ts.html | 118 + .../2_statements/statements/import.ts.html | 238 + .../statements/import_dynpro.ts.html | 145 + .../statements/import_nametab.ts.html | 139 + .../2_statements/statements/include.ts.html | 118 + .../statements/include_type.ts.html | 148 + src/abap/2_statements/statements/index.html | 4676 +++++++ .../2_statements/statements/index.ts.html | 1003 ++ .../2_statements/statements/infotypes.ts.html | 136 + .../statements/initialization.ts.html | 118 + .../statements/insert_database.ts.html | 178 + .../statements/insert_field_group.ts.html | 139 + .../statements/insert_internal.ts.html | 202 + .../statements/insert_report.ts.html | 166 + .../statements/insert_textpool.ts.html | 151 + .../2_statements/statements/interface.ts.html | 124 + .../statements/interface_def.ts.html | 160 + .../statements/interface_deferred.ts.html | 127 + .../statements/interface_load.ts.html | 124 + .../2_statements/statements/leave.ts.html | 166 + .../statements/load_of_program.ts.html | 124 + .../statements/load_report.ts.html | 142 + .../2_statements/statements/local.ts.html | 127 + .../2_statements/statements/log_point.ts.html | 148 + src/abap/2_statements/statements/loop.ts.html | 187 + .../statements/loop_at_screen.ts.html | 124 + .../2_statements/statements/message.ts.html | 199 + .../statements/method_def.ts.html | 292 + .../statements/method_implementation.ts.html | 163 + .../statements/modify_database.ts.html | 133 + .../statements/modify_entities.ts.html | 172 + .../statements/modify_internal.ts.html | 178 + .../statements/modify_line.ts.html | 193 + .../statements/modify_screen.ts.html | 127 + .../2_statements/statements/module.ts.html | 133 + src/abap/2_statements/statements/move.ts.html | 193 + .../statements/move_corresponding.ts.html | 157 + .../2_statements/statements/multiply.ts.html | 133 + .../2_statements/statements/new_line.ts.html | 127 + .../2_statements/statements/new_page.ts.html | 232 + .../2_statements/statements/nodes.ts.html | 127 + .../2_statements/statements/on_change.ts.html | 133 + .../statements/open_cursor.ts.html | 139 + .../statements/open_dataset.ts.html | 193 + .../2_statements/statements/overlay.ts.html | 142 + src/abap/2_statements/statements/pack.ts.html | 127 + .../2_statements/statements/parameter.ts.html | 226 + .../2_statements/statements/perform.ts.html | 202 + .../2_statements/statements/position.ts.html | 127 + .../statements/print_control.ts.html | 136 + .../2_statements/statements/private.ts.html | 115 + .../2_statements/statements/program.ts.html | 145 + .../2_statements/statements/protected.ts.html | 115 + .../2_statements/statements/provide.ts.html | 196 + .../2_statements/statements/public.ts.html | 115 + src/abap/2_statements/statements/put.ts.html | 127 + .../2_statements/statements/raise.ts.html | 193 + .../statements/raise_entity_event.ts.html | 118 + .../statements/raise_event.ts.html | 124 + .../2_statements/statements/ranges.ts.html | 145 + .../statements/read_dataset.ts.html | 145 + .../statements/read_entities.ts.html | 163 + .../2_statements/statements/read_line.ts.html | 169 + .../statements/read_report.ts.html | 145 + .../statements/read_table.ts.html | 202 + .../statements/read_textpool.ts.html | 145 + .../2_statements/statements/receive.ts.html | 136 + .../2_statements/statements/refresh.ts.html | 133 + .../statements/refresh_control.ts.html | 136 + .../2_statements/statements/reject.ts.html | 127 + .../2_statements/statements/replace.ts.html | 214 + .../2_statements/statements/report.ts.html | 157 + .../2_statements/statements/reserve.ts.html | 127 + .../2_statements/statements/resume.ts.html | 115 + .../2_statements/statements/retry.ts.html | 118 + .../2_statements/statements/return.ts.html | 121 + .../2_statements/statements/rollback.ts.html | 118 + .../statements/rollback_entities.ts.html | 121 + src/abap/2_statements/statements/scan.ts.html | 295 + .../statements/scroll_list.ts.html | 166 + .../2_statements/statements/search.ts.html | 157 + .../2_statements/statements/select.ts.html | 124 + .../statements/select_loop.ts.html | 115 + .../statements/selectionscreen.ts.html | 442 + .../statements/selectoption.ts.html | 238 + .../2_statements/statements/set_bit.ts.html | 136 + .../2_statements/statements/set_blank.ts.html | 130 + .../statements/set_country.ts.html | 127 + .../statements/set_cursor.ts.html | 136 + .../statements/set_dataset.ts.html | 124 + .../statements/set_extended_check.ts.html | 124 + .../statements/set_handler.ts.html | 145 + .../statements/set_language.ts.html | 127 + .../2_statements/statements/set_left.ts.html | 124 + .../statements/set_locale.ts.html | 148 + .../2_statements/statements/set_locks.ts.html | 142 + .../statements/set_margin.ts.html | 133 + .../statements/set_parameter.ts.html | 136 + .../statements/set_pf_status.ts.html | 151 + .../statements/set_property.ts.html | 145 + .../statements/set_run_time.ts.html | 136 + .../statements/set_screen.ts.html | 124 + .../statements/set_titlebar.ts.html | 139 + .../statements/set_update_task.ts.html | 112 + .../statements/set_user_command.ts.html | 127 + .../2_statements/statements/shift.ts.html | 148 + src/abap/2_statements/statements/skip.ts.html | 133 + src/abap/2_statements/statements/sort.ts.html | 160 + .../statements/sort_dataset.ts.html | 151 + .../2_statements/statements/split.ts.html | 136 + .../statements/start_of_selection.ts.html | 118 + .../2_statements/statements/static.ts.html | 142 + .../statements/static_begin.ts.html | 139 + .../statements/static_end.ts.html | 130 + src/abap/2_statements/statements/stop.ts.html | 118 + .../2_statements/statements/submit.ts.html | 283 + .../2_statements/statements/subtract.ts.html | 133 + .../statements/subtract_corresponding.ts.html | 136 + src/abap/2_statements/statements/sum.ts.html | 118 + .../2_statements/statements/summary.ts.html | 118 + .../2_statements/statements/supply.ts.html | 142 + .../statements/suppress_dialog.ts.html | 124 + .../statements/syntax_check.ts.html | 244 + .../statements/system_call.ts.html | 145 + .../2_statements/statements/tables.ts.html | 127 + .../statements/test_injection.ts.html | 118 + .../2_statements/statements/test_seam.ts.html | 121 + .../statements/top_of_page.ts.html | 124 + .../2_statements/statements/transfer.ts.html | 148 + .../2_statements/statements/translate.ts.html | 142 + .../statements/truncate_dataset.ts.html | 121 + src/abap/2_statements/statements/try.ts.html | 115 + src/abap/2_statements/statements/type.ts.html | 154 + .../statements/type_begin.ts.html | 130 + .../2_statements/statements/type_end.ts.html | 124 + .../2_statements/statements/type_enum.ts.html | 133 + .../statements/type_enum_begin.ts.html | 145 + .../statements/type_enum_end.ts.html | 133 + .../2_statements/statements/type_mesh.ts.html | 145 + .../statements/type_mesh_begin.ts.html | 124 + .../statements/type_mesh_end.ts.html | 124 + .../2_statements/statements/type_pool.ts.html | 133 + .../statements/type_pools.ts.html | 133 + .../2_statements/statements/uline.ts.html | 127 + .../2_statements/statements/unassign.ts.html | 118 + .../2_statements/statements/unpack.ts.html | 136 + .../statements/update_database.ts.html | 166 + src/abap/2_statements/statements/wait.ts.html | 157 + src/abap/2_statements/statements/when.ts.html | 124 + .../statements/when_others.ts.html | 115 + .../2_statements/statements/when_type.ts.html | 133 + .../2_statements/statements/while.ts.html | 124 + .../2_statements/statements/window.ts.html | 142 + src/abap/2_statements/statements/with.ts.html | 127 + .../2_statements/statements/with_loop.ts.html | 127 + .../2_statements/statements/write.ts.html | 277 + src/abap/3_structures/index.html | 116 + .../3_structures/structure_parser.ts.html | 280 + .../3_structures/structures/_combi.ts.html | 1249 ++ src/abap/3_structures/structures/any.ts.html | 214 + src/abap/3_structures/structures/at.ts.html | 127 + .../3_structures/structures/at_first.ts.html | 127 + .../3_structures/structures/at_last.ts.html | 127 + src/abap/3_structures/structures/body.ts.html | 121 + src/abap/3_structures/structures/case.ts.html | 130 + .../3_structures/structures/case_type.ts.html | 127 + .../3_structures/structures/catch.ts.html | 127 + .../catch_system_exceptions.ts.html | 127 + .../structures/class_data.ts.html | 124 + .../structures/class_definition.ts.html | 154 + .../structures/class_global.ts.html | 127 + .../structures/class_implementation.ts.html | 136 + .../3_structures/structures/cleanup.ts.html | 124 + .../3_structures/structures/constants.ts.html | 130 + src/abap/3_structures/structures/data.ts.html | 172 + .../3_structures/structures/define.ts.html | 127 + src/abap/3_structures/structures/do.ts.html | 127 + src/abap/3_structures/structures/else.ts.html | 127 + .../3_structures/structures/elseif.ts.html | 127 + .../structures/enhancement.ts.html | 127 + .../structures/enhancement_section.ts.html | 127 + .../3_structures/structures/exec_sql.ts.html | 127 + src/abap/3_structures/structures/form.ts.html | 127 + .../structures/function_module.ts.html | 127 + src/abap/3_structures/structures/if.ts.html | 145 + src/abap/3_structures/structures/index.html | 896 ++ .../3_structures/structures/index.ts.html | 235 + .../3_structures/structures/interface.ts.html | 133 + .../structures/interface_global.ts.html | 127 + src/abap/3_structures/structures/loop.ts.html | 133 + .../structures/loop_at_screen.ts.html | 127 + .../3_structures/structures/method.ts.html | 130 + .../3_structures/structures/module.ts.html | 127 + .../3_structures/structures/normal.ts.html | 799 ++ .../3_structures/structures/on_change.ts.html | 127 + .../structures/private_section.ts.html | 115 + .../structures/protected_section.ts.html | 115 + .../3_structures/structures/provide.ts.html | 127 + .../structures/public_section.ts.html | 115 + .../structures/section_section.ts.html | 181 + .../3_structures/structures/select.ts.html | 127 + .../3_structures/structures/statics.ts.html | 124 + .../structures/test_injection.ts.html | 127 + .../3_structures/structures/test_seam.ts.html | 127 + src/abap/3_structures/structures/try.ts.html | 139 + .../3_structures/structures/type_enum.ts.html | 124 + .../3_structures/structures/type_mesh.ts.html | 124 + .../3_structures/structures/types.ts.html | 139 + src/abap/3_structures/structures/when.ts.html | 127 + .../3_structures/structures/when_type.ts.html | 127 + .../3_structures/structures/while.ts.html | 127 + src/abap/3_structures/structures/with.ts.html | 127 + .../_abap_file_information.ts.html | 457 + .../4_file_information/_identifier.ts.html | 217 + .../abap_file_information.ts.html | 1345 +++ src/abap/4_file_information/index.html | 161 + .../4_file_information/visibility.ts.html | 97 + src/abap/5_syntax/_builtin.ts.html | 4102 +++++++ src/abap/5_syntax/_current_scope.ts.html | 1726 +++ src/abap/5_syntax/_object_oriented.ts.html | 1282 ++ src/abap/5_syntax/_procedural.ts.html | 673 ++ src/abap/5_syntax/_reference.ts.html | 199 + src/abap/5_syntax/_scope_type.ts.html | 145 + src/abap/5_syntax/_syntax_input.ts.html | 136 + src/abap/5_syntax/_type_utils.ts.html | 1528 +++ src/abap/5_syntax/assert_error.ts.html | 91 + src/abap/5_syntax/basic_types.ts.html | 3052 +++++ .../expressions/attribute_chain.ts.html | 262 + .../expressions/attribute_name.ts.html | 337 + src/abap/5_syntax/expressions/cast.ts.html | 292 + src/abap/5_syntax/expressions/compare.ts.html | 154 + .../expressions/component_chain.ts.html | 388 + .../expressions/component_compare.ts.html | 160 + .../component_compare_simple.ts.html | 187 + .../expressions/component_cond.ts.html | 154 + .../expressions/component_name.ts.html | 214 + src/abap/5_syntax/expressions/cond.ts.html | 142 + .../5_syntax/expressions/cond_body.ts.html | 211 + .../5_syntax/expressions/constant.ts.html | 160 + .../5_syntax/expressions/conv_body.ts.html | 175 + .../expressions/corresponding_body.ts.html | 166 + .../expressions/data_definition.ts.html | 214 + .../expressions/database_table.ts.html | 172 + src/abap/5_syntax/expressions/default.ts.html | 151 + .../5_syntax/expressions/dereference.ts.html | 154 + src/abap/5_syntax/expressions/dynamic.ts.html | 130 + .../expressions/field_assignment.ts.html | 235 + .../5_syntax/expressions/field_chain.ts.html | 622 + .../5_syntax/expressions/field_length.ts.html | 154 + .../5_syntax/expressions/field_offset.ts.html | 139 + .../5_syntax/expressions/filter_body.ts.html | 166 + src/abap/5_syntax/expressions/for.ts.html | 277 + .../5_syntax/expressions/form_param.ts.html | 217 + .../5_syntax/expressions/fstarget.ts.html | 169 + src/abap/5_syntax/expressions/index.html | 1046 ++ .../5_syntax/expressions/inline_data.ts.html | 172 + .../inline_field_definition.ts.html | 241 + .../5_syntax/expressions/inline_fs.ts.html | 151 + .../inline_loop_definition.ts.html | 253 + src/abap/5_syntax/expressions/let.ts.html | 151 + .../expressions/loop_group_by.ts.html | 178 + .../expressions/message_source.ts.html | 184 + .../expressions/method_call_body.ts.html | 169 + .../expressions/method_call_chain.ts.html | 502 + .../expressions/method_call_param.ts.html | 373 + .../expressions/method_def_returning.ts.html | 181 + .../5_syntax/expressions/method_param.ts.html | 220 + .../expressions/method_parameters.ts.html | 949 ++ .../expressions/method_source.ts.html | 577 + .../5_syntax/expressions/new_object.ts.html | 535 + .../5_syntax/expressions/raise_with.ts.html | 118 + .../5_syntax/expressions/reduce_body.ts.html | 316 + .../5_syntax/expressions/reduce_next.ts.html | 145 + src/abap/5_syntax/expressions/select.ts.html | 877 ++ .../5_syntax/expressions/select_loop.ts.html | 112 + src/abap/5_syntax/expressions/source.ts.html | 1093 ++ .../5_syntax/expressions/source_field.ts.html | 181 + .../expressions/source_field_symbol.ts.html | 139 + .../5_syntax/expressions/sql_compare.ts.html | 349 + .../expressions/sql_for_all_entries.ts.html | 172 + .../5_syntax/expressions/sql_from.ts.html | 157 + src/abap/5_syntax/expressions/sql_in.ts.html | 190 + .../5_syntax/expressions/sql_order_by.ts.html | 127 + .../5_syntax/expressions/sql_source.ts.html | 139 + .../expressions/string_template.ts.html | 238 + .../5_syntax/expressions/switch_body.ts.html | 175 + .../expressions/table_expression.ts.html | 130 + src/abap/5_syntax/expressions/target.ts.html | 625 + .../5_syntax/expressions/type_table.ts.html | 217 + .../expressions/type_table_key.ts.html | 151 + .../5_syntax/expressions/value_body.ts.html | 373 + .../find_global_definitions.ts.html | 574 + .../5_syntax/global_definitions/index.html | 116 + src/abap/5_syntax/index.html | 281 + src/abap/5_syntax/spaghetti_scope.ts.html | 1198 ++ src/abap/5_syntax/statements/add.ts.html | 142 + .../statements/add_corresponding.ts.html | 142 + src/abap/5_syntax/statements/append.ts.html | 382 + src/abap/5_syntax/statements/assert.ts.html | 121 + src/abap/5_syntax/statements/assign.ts.html | 292 + .../statements/authority_check.ts.html | 127 + src/abap/5_syntax/statements/call.ts.html | 184 + .../5_syntax/statements/call_badi.ts.html | 157 + .../5_syntax/statements/call_function.ts.html | 211 + .../5_syntax/statements/call_kernel.ts.html | 127 + .../statements/call_transaction.ts.html | 142 + .../statements/call_transformation.ts.html | 178 + src/abap/5_syntax/statements/case.ts.html | 124 + .../5_syntax/statements/case_type.ts.html | 124 + src/abap/5_syntax/statements/catch.ts.html | 271 + src/abap/5_syntax/statements/check.ts.html | 121 + .../5_syntax/statements/class_data.ts.html | 184 + .../statements/class_deferred.ts.html | 115 + .../statements/class_implementation.ts.html | 232 + .../statements/class_local_friends.ts.html | 223 + src/abap/5_syntax/statements/clear.ts.html | 142 + .../5_syntax/statements/close_dataset.ts.html | 127 + src/abap/5_syntax/statements/collect.ts.html | 160 + .../statements/commit_entities.ts.html | 163 + .../5_syntax/statements/concatenate.ts.html | 250 + src/abap/5_syntax/statements/condense.ts.html | 127 + src/abap/5_syntax/statements/constant.ts.html | 160 + src/abap/5_syntax/statements/controls.ts.html | 223 + src/abap/5_syntax/statements/convert.ts.html | 232 + .../5_syntax/statements/create_data.ts.html | 226 + .../5_syntax/statements/create_object.ts.html | 526 + src/abap/5_syntax/statements/data.ts.html | 175 + .../statements/delete_cluster.ts.html | 151 + .../statements/delete_database.ts.html | 169 + .../statements/delete_internal.ts.html | 226 + .../5_syntax/statements/delete_report.ts.html | 127 + src/abap/5_syntax/statements/describe.ts.html | 271 + src/abap/5_syntax/statements/divide.ts.html | 142 + src/abap/5_syntax/statements/do.ts.html | 169 + .../5_syntax/statements/editor_call.ts.html | 139 + src/abap/5_syntax/statements/else_if.ts.html | 121 + src/abap/5_syntax/statements/export.ts.html | 166 + .../5_syntax/statements/fieldsymbol.ts.html | 151 + src/abap/5_syntax/statements/find.ts.html | 340 + src/abap/5_syntax/statements/form.ts.html | 151 + src/abap/5_syntax/statements/format.ts.html | 127 + src/abap/5_syntax/statements/get_badi.ts.html | 157 + src/abap/5_syntax/statements/get_bit.ts.html | 190 + .../5_syntax/statements/get_cursor.ts.html | 127 + .../5_syntax/statements/get_locale.ts.html | 142 + .../5_syntax/statements/get_parameter.ts.html | 160 + .../5_syntax/statements/get_reference.ts.html | 169 + .../5_syntax/statements/get_run_time.ts.html | 148 + src/abap/5_syntax/statements/get_time.ts.html | 145 + src/abap/5_syntax/statements/if.ts.html | 121 + src/abap/5_syntax/statements/import.ts.html | 166 + .../5_syntax/statements/import_dynpro.ts.html | 142 + .../5_syntax/statements/include_type.ts.html | 274 + src/abap/5_syntax/statements/index.html | 1976 +++ .../statements/insert_database.ts.html | 169 + .../statements/insert_field_group.ts.html | 142 + .../statements/insert_internal.ts.html | 358 + .../5_syntax/statements/insert_report.ts.html | 127 + .../statements/insert_textpool.ts.html | 127 + .../statements/interface_deferred.ts.html | 115 + .../5_syntax/statements/log_point.ts.html | 124 + src/abap/5_syntax/statements/loop.ts.html | 445 + .../statements/loop_at_screen.ts.html | 145 + src/abap/5_syntax/statements/message.ts.html | 181 + .../statements/method_implementation.ts.html | 241 + .../statements/modify_database.ts.html | 193 + .../statements/modify_entities.ts.html | 163 + .../statements/modify_internal.ts.html | 265 + .../5_syntax/statements/modify_screen.ts.html | 127 + src/abap/5_syntax/statements/move.ts.html | 244 + .../statements/move_corresponding.ts.html | 190 + src/abap/5_syntax/statements/multiply.ts.html | 142 + .../5_syntax/statements/open_dataset.ts.html | 142 + src/abap/5_syntax/statements/pack.ts.html | 142 + .../5_syntax/statements/parameter.ts.html | 187 + src/abap/5_syntax/statements/perform.ts.html | 277 + src/abap/5_syntax/statements/raise.ts.html | 382 + .../5_syntax/statements/raise_event.ts.html | 160 + src/abap/5_syntax/statements/ranges.ts.html | 178 + .../5_syntax/statements/read_entities.ts.html | 163 + .../5_syntax/statements/read_report.ts.html | 142 + .../5_syntax/statements/read_table.ts.html | 493 + .../5_syntax/statements/read_textpool.ts.html | 142 + src/abap/5_syntax/statements/receive.ts.html | 148 + src/abap/5_syntax/statements/replace.ts.html | 145 + src/abap/5_syntax/statements/scan.ts.html | 142 + src/abap/5_syntax/statements/search.ts.html | 127 + src/abap/5_syntax/statements/select.ts.html | 136 + .../5_syntax/statements/select_loop.ts.html | 124 + .../statements/selection_screen.ts.html | 184 + .../5_syntax/statements/selectoption.ts.html | 253 + src/abap/5_syntax/statements/set_bit.ts.html | 154 + .../5_syntax/statements/set_handler.ts.html | 142 + .../5_syntax/statements/set_locale.ts.html | 142 + .../5_syntax/statements/set_parameter.ts.html | 127 + .../5_syntax/statements/set_pf_status.ts.html | 121 + .../5_syntax/statements/set_titlebar.ts.html | 121 + src/abap/5_syntax/statements/shift.ts.html | 199 + src/abap/5_syntax/statements/sort.ts.html | 256 + src/abap/5_syntax/statements/split.ts.html | 226 + src/abap/5_syntax/statements/static.ts.html | 175 + src/abap/5_syntax/statements/submit.ts.html | 157 + src/abap/5_syntax/statements/subtract.ts.html | 142 + .../statements/subtract_corresponding.ts.html | 142 + .../5_syntax/statements/syntax_check.ts.html | 142 + .../5_syntax/statements/system_call.ts.html | 121 + src/abap/5_syntax/statements/tables.ts.html | 199 + src/abap/5_syntax/statements/transfer.ts.html | 139 + .../5_syntax/statements/translate.ts.html | 142 + .../statements/truncate_dataset.ts.html | 127 + src/abap/5_syntax/statements/type.ts.html | 217 + src/abap/5_syntax/statements/unassign.ts.html | 145 + src/abap/5_syntax/statements/unpack.ts.html | 142 + .../statements/update_database.ts.html | 238 + src/abap/5_syntax/statements/wait.ts.html | 142 + src/abap/5_syntax/statements/when.ts.html | 127 + .../5_syntax/statements/when_type.ts.html | 196 + src/abap/5_syntax/statements/while.ts.html | 151 + src/abap/5_syntax/statements/with.ts.html | 142 + .../5_syntax/statements/with_loop.ts.html | 142 + src/abap/5_syntax/statements/write.ts.html | 223 + .../5_syntax/structures/class_data.ts.html | 172 + .../5_syntax/structures/constants.ts.html | 229 + src/abap/5_syntax/structures/data.ts.html | 349 + src/abap/5_syntax/structures/index.html | 191 + src/abap/5_syntax/structures/statics.ts.html | 307 + .../5_syntax/structures/type_enum.ts.html | 334 + src/abap/5_syntax/structures/types.ts.html | 265 + src/abap/5_syntax/syntax.ts.html | 1609 +++ src/abap/abap_file.ts.html | 271 + src/abap/abap_parser.ts.html | 292 + src/abap/artifacts.ts.html | 394 + src/abap/flow/flow_graph.ts.html | 574 + src/abap/flow/index.html | 131 + src/abap/flow/statement_flow.ts.html | 844 ++ src/abap/index.html | 146 + src/abap/nodes/_abstract_node.ts.html | 187 + src/abap/nodes/expression_node.ts.html | 967 ++ src/abap/nodes/index.html | 206 + src/abap/nodes/index.ts.html | 97 + src/abap/nodes/statement_node.ts.html | 1201 ++ src/abap/nodes/structure_node.ts.html | 898 ++ src/abap/nodes/token_node.ts.html | 208 + src/abap/nodes/token_node_regex.ts.html | 100 + src/abap/types/_typed_identifier.ts.html | 289 + src/abap/types/alias.ts.html | 148 + src/abap/types/basic/_abstract_type.ts.html | 208 + src/abap/types/basic/any_type.ts.html | 151 + src/abap/types/basic/cgeneric_type.ts.html | 151 + src/abap/types/basic/character_type.ts.html | 247 + src/abap/types/basic/clike_type.ts.html | 181 + src/abap/types/basic/csequence_type.ts.html | 151 + .../types/basic/data_reference_type.ts.html | 208 + src/abap/types/basic/data_type.ts.html | 151 + src/abap/types/basic/date_type.ts.html | 151 + src/abap/types/basic/decfloat16_type.ts.html | 151 + src/abap/types/basic/decfloat34_type.ts.html | 151 + src/abap/types/basic/decfloat_type.ts.html | 151 + src/abap/types/basic/enum_type.ts.html | 151 + src/abap/types/basic/float_type.ts.html | 160 + .../types/basic/floating_point_type.ts.html | 199 + .../generic_object_reference_type.ts.html | 157 + src/abap/types/basic/hex_type.ts.html | 193 + src/abap/types/basic/index.html | 626 + src/abap/types/basic/index.ts.html | 178 + src/abap/types/basic/integer8_type.ts.html | 151 + src/abap/types/basic/integer_type.ts.html | 217 + .../types/basic/numeric_generic_type.ts.html | 151 + src/abap/types/basic/numeric_type.ts.html | 193 + .../types/basic/object_reference_type.ts.html | 202 + src/abap/types/basic/packed_type.ts.html | 217 + src/abap/types/basic/simple_type.ts.html | 151 + src/abap/types/basic/string_type.ts.html | 217 + src/abap/types/basic/structure_type.ts.html | 292 + src/abap/types/basic/table_type.ts.html | 355 + src/abap/types/basic/time_type.ts.html | 151 + src/abap/types/basic/unknown_type.ts.html | 184 + src/abap/types/basic/utc_long_type.ts.html | 151 + src/abap/types/basic/void_type.ts.html | 187 + src/abap/types/basic/xgeneric_type.ts.html | 151 + src/abap/types/basic/xsequence_type.ts.html | 151 + src/abap/types/basic/xstring_type.ts.html | 154 + src/abap/types/class_attribute.ts.html | 130 + src/abap/types/class_attributes.ts.html | 877 ++ src/abap/types/class_constant.ts.html | 127 + src/abap/types/class_definition.ts.html | 757 ++ src/abap/types/class_implementation.ts.html | 199 + src/abap/types/event_definition.ts.html | 205 + src/abap/types/form_definition.ts.html | 388 + .../types/function_module_definition.ts.html | 418 + src/abap/types/index.html | 371 + src/abap/types/index.ts.html | 121 + src/abap/types/interface_definition.ts.html | 532 + src/abap/types/message.ts.html | 169 + src/abap/types/method_definition.ts.html | 445 + src/abap/types/method_definitions.ts.html | 298 + src/abap/types/method_implementation.ts.html | 139 + src/abap/types/method_parameters.ts.html | 958 ++ src/abap/types/type_definitions.ts.html | 154 + src/artifacts_objects.ts.html | 172 + src/artifacts_rules.ts.html | 145 + src/cds/cds_determine_types.ts.html | 151 + src/cds/cds_lexer.ts.html | 568 + src/cds/cds_parser.ts.html | 202 + src/cds/expressions/cds_aggregate.ts.html | 115 + src/cds/expressions/cds_annotate.ts.html | 133 + src/cds/expressions/cds_annotation.ts.html | 118 + .../expressions/cds_annotation_array.ts.html | 124 + .../expressions/cds_annotation_object.ts.html | 127 + .../expressions/cds_annotation_simple.ts.html | 133 + src/cds/expressions/cds_arithmetics.ts.html | 121 + src/cds/expressions/cds_as.ts.html | 109 + src/cds/expressions/cds_association.ts.html | 112 + src/cds/expressions/cds_cardinality.ts.html | 109 + src/cds/expressions/cds_case.ts.html | 121 + src/cds/expressions/cds_cast.ts.html | 112 + src/cds/expressions/cds_composition.ts.html | 112 + src/cds/expressions/cds_condition.ts.html | 130 + .../expressions/cds_define_abstract.ts.html | 124 + src/cds/expressions/cds_define_custom.ts.html | 127 + .../expressions/cds_define_projection.ts.html | 154 + src/cds/expressions/cds_define_view.ts.html | 148 + src/cds/expressions/cds_element.ts.html | 148 + src/cds/expressions/cds_function.ts.html | 211 + src/cds/expressions/cds_group_by.ts.html | 112 + src/cds/expressions/cds_integer.ts.html | 106 + src/cds/expressions/cds_join.ts.html | 112 + src/cds/expressions/cds_name.ts.html | 109 + src/cds/expressions/cds_parameters.ts.html | 115 + .../expressions/cds_parameters_select.ts.html | 118 + .../expressions/cds_provider_contract.ts.html | 109 + src/cds/expressions/cds_relation.ts.html | 112 + src/cds/expressions/cds_select.ts.html | 160 + src/cds/expressions/cds_source.ts.html | 112 + src/cds/expressions/cds_string.ts.html | 106 + src/cds/expressions/cds_type.ts.html | 112 + src/cds/expressions/cds_where.ts.html | 109 + .../expressions/cds_with_parameters.ts.html | 112 + src/cds/expressions/index.html | 626 + src/cds/expressions/index.ts.html | 184 + src/cds/index.html | 146 + src/config.ts.html | 556 + src/ddic.ts.html | 1375 +++ src/ddic_references.ts.html | 376 + src/ddl/ddl_lexer.ts.html | 181 + src/ddl/ddl_parser.ts.html | 301 + src/ddl/expressions/ddl_include.ts.html | 109 + src/ddl/expressions/ddl_name.ts.html | 106 + src/ddl/expressions/ddl_structure.ts.html | 115 + .../expressions/ddl_structure_field.ts.html | 112 + src/ddl/expressions/ddl_table.ts.html | 115 + src/ddl/expressions/ddl_table_field.ts.html | 112 + src/ddl/expressions/ddl_type.ts.html | 106 + src/ddl/expressions/index.html | 221 + src/ddl/expressions/index.ts.html | 103 + src/ddl/index.html | 131 + src/edit_helper.ts.html | 937 ++ src/files/_abstract_file.ts.html | 241 + src/files/index.html | 131 + src/files/memory_file.ts.html | 136 + src/index.html | 371 + src/index.ts.html | 319 + src/issue.ts.html | 652 + src/lsp/_edit.ts.html | 205 + src/lsp/_interfaces.ts.html | 166 + src/lsp/_lookup.ts.html | 1363 +++ src/lsp/_lsp_utils.ts.html | 394 + src/lsp/code_actions.ts.html | 409 + src/lsp/code_lens.ts.html | 418 + src/lsp/definition.ts.html | 187 + src/lsp/diagnostics.ts.html | 298 + src/lsp/dump_scope.ts.html | 400 + src/lsp/help.ts.html | 898 ++ src/lsp/highlight.ts.html | 322 + src/lsp/hover.ts.html | 262 + src/lsp/implementation.ts.html | 337 + src/lsp/index.html | 386 + src/lsp/inlay_hints.ts.html | 325 + src/lsp/language_server.ts.html | 604 + src/lsp/references.ts.html | 439 + src/lsp/rename.ts.html | 451 + src/lsp/semantic.ts.html | 514 + src/lsp/symbols.ts.html | 496 + src/macro_references.ts.html | 331 + src/msag_references.ts.html | 244 + src/objects/_abap_object.ts.html | 415 + src/objects/_abstract_object.ts.html | 487 + src/objects/_unknown_object.ts.html | 193 + src/objects/activation_variant.ts.html | 142 + src/objects/api_release_state.ts.html | 142 + .../application_job_catalog_entry.ts.html | 142 + src/objects/application_job_template.ts.html | 142 + src/objects/application_log_object.ts.html | 142 + ...ent_service_to_authorization_group.ts.html | 142 + src/objects/atc_check_category.ts.html | 142 + src/objects/atc_check_object.ts.html | 142 + src/objects/atc_check_variant.ts.html | 142 + src/objects/authorization_check_field.ts.html | 328 + src/objects/authorization_group.ts.html | 145 + src/objects/authorization_object.ts.html | 142 + .../authorization_object_class.ts.html | 142 + .../authorization_object_extension.ts.html | 142 + src/objects/behavior_definition.ts.html | 142 + src/objects/bsp_application.ts.html | 145 + .../business_add_in_implementation.ts.html | 145 + src/objects/business_catalog.ts.html | 142 + .../business_catalog_app_assignment.ts.html | 142 + .../business_configuration_set.ts.html | 145 + .../business_function_assignment.ts.html | 145 + .../business_function_set_assignment.ts.html | 145 + src/objects/business_object_model.ts.html | 145 + src/objects/business_object_type.ts.html | 142 + src/objects/cds_metadata_extension.ts.html | 259 + src/objects/change_document.ts.html | 145 + src/objects/chapter_of_book_structure.ts.html | 145 + src/objects/checkpoint_group.ts.html | 145 + src/objects/class.ts.html | 454 + src/objects/classification.ts.html | 142 + src/objects/communication_scenario.ts.html | 142 + ...mposite_enhancement_implementation.ts.html | 145 + .../composite_enhancement_spot.ts.html | 145 + src/objects/concepts_of_package.ts.html | 151 + .../customer_enhancement_project.ts.html | 142 + src/objects/customizing_attributes.ts.html | 145 + src/objects/customizing_img_activity.ts.html | 145 + src/objects/customizing_transaction.ts.html | 145 + src/objects/data_control.ts.html | 145 + src/objects/data_definition.ts.html | 676 ++ src/objects/data_element.ts.html | 400 + src/objects/dialog_module.ts.html | 142 + src/objects/documentation.ts.html | 145 + src/objects/domain.ts.html | 415 + src/objects/ecatt_test_configuration.ts.html | 142 + src/objects/ecatt_test_data_container.ts.html | 145 + src/objects/ecatt_test_script.ts.html | 142 + .../enhancement_implementation.ts.html | 250 + src/objects/enhancement_spot.ts.html | 259 + src/objects/event_binding.ts.html | 145 + src/objects/event_consumer.ts.html | 142 + src/objects/extension_index.ts.html | 253 + src/objects/field_catalog.ts.html | 142 + src/objects/form_object_form.ts.html | 142 + src/objects/form_object_interface.ts.html | 145 + src/objects/format_type.ts.html | 142 + src/objects/function_group.ts.html | 634 + src/objects/gateway_model.ts.html | 145 + src/objects/gateway_model_metadata.ts.html | 145 + src/objects/gateway_project.ts.html | 145 + src/objects/gateway_service.ts.html | 145 + .../gateway_service_groups_metadata.ts.html | 145 + .../gateway_vocabulary_annotation.ts.html | 145 + ..._hierarchy_storage_extrension_name.ts.html | 145 + src/objects/general_storage_structure.ts.html | 142 + src/objects/general_text.ts.html | 145 + src/objects/http_service.ts.html | 142 + src/objects/iac_binary_data.ts.html | 142 + src/objects/iac_language_resource.ts.html | 142 + src/objects/iac_service.ts.html | 142 + src/objects/iac_template.ts.html | 142 + src/objects/iam_app.ts.html | 142 + src/objects/icf_service.ts.html | 289 + src/objects/idoc.ts.html | 145 + src/objects/idoc_extension.ts.html | 145 + src/objects/inbound_service.ts.html | 142 + src/objects/index.html | 2396 ++++ src/objects/index.ts.html | 532 + src/objects/info_object.ts.html | 142 + src/objects/interface.ts.html | 343 + src/objects/lock_object.ts.html | 334 + .../maintenance_and_transport_object.ts.html | 379 + src/objects/message_class.ts.html | 292 + src/objects/messaging_channel.ts.html | 145 + src/objects/mime_object.ts.html | 319 + src/objects/namespace.ts.html | 151 + src/objects/neptune_api.ts.html | 148 + src/objects/neptune_app.ts.html | 142 + src/objects/neptune_custom_color.ts.html | 142 + src/objects/neptune_custom_js_helper.ts.html | 142 + src/objects/neptune_documentation.ts.html | 142 + src/objects/neptune_enhancement.ts.html | 142 + src/objects/neptune_launchpad.ts.html | 142 + src/objects/neptune_launchpad_layout.ts.html | 142 + src/objects/neptune_login_page.ts.html | 142 + src/objects/neptune_media_library.ts.html | 142 + src/objects/neptune_media_pack.ts.html | 142 + src/objects/neptune_metadata.ts.html | 142 + src/objects/neptune_mobile_client.ts.html | 142 + src/objects/neptune_odata.ts.html | 142 + src/objects/neptune_policy.ts.html | 142 + src/objects/neptune_rfc_mapping.ts.html | 142 + .../neptune_rich_text_template.ts.html | 142 + src/objects/neptune_splash_screen.ts.html | 142 + src/objects/neptune_sticky_banner.ts.html | 142 + src/objects/neptune_tile.ts.html | 142 + src/objects/neptune_tile_group.ts.html | 142 + src/objects/neptune_tile_layout.ts.html | 142 + src/objects/neptune_url_alias.ts.html | 142 + src/objects/number_range.ts.html | 265 + src/objects/oauth2_profile.ts.html | 181 + src/objects/object_characteristic.ts.html | 145 + src/objects/outbound_service.ts.html | 142 + src/objects/package.ts.html | 142 + src/objects/package_interface.ts.html | 145 + src/objects/parameter.ts.html | 142 + src/objects/personalization_object.ts.html | 145 + src/objects/program.ts.html | 418 + src/objects/proxy_object.ts.html | 145 + src/objects/push_channel.ts.html | 145 + src/objects/query_user_group.ts.html | 142 + src/objects/rename/index.html | 236 + .../rename/rename_data_element.ts.html | 184 + src/objects/rename/rename_domain.ts.html | 175 + .../rename/rename_global_class.ts.html | 268 + .../rename/rename_global_interface.ts.html | 247 + .../rename/rename_message_class.ts.html | 220 + src/objects/rename/rename_table.ts.html | 184 + src/objects/rename/rename_table_type.ts.html | 181 + src/objects/rename/renamer.ts.html | 514 + src/objects/rename/renamer_helper.ts.html | 715 ++ src/objects/restriction_field.ts.html | 142 + src/objects/restriction_type.ts.html | 142 + src/objects/rfc_service.ts.html | 145 + src/objects/sapscript.ts.html | 142 + src/objects/sapscript_style.ts.html | 142 + src/objects/screen_variant.ts.html | 142 + src/objects/search_help.ts.html | 142 + src/objects/service_binding.ts.html | 142 + src/objects/service_definition.ts.html | 142 + src/objects/shared_memory.ts.html | 145 + src/objects/smart_form.ts.html | 145 + src/objects/smart_style.ts.html | 145 + src/objects/standard_task.ts.html | 142 + .../switch_assignment_hierarchy.ts.html | 145 + src/objects/switch_assignments.ts.html | 145 + src/objects/table.ts.html | 1036 ++ src/objects/table_type.ts.html | 721 ++ src/objects/technical_job_definition.ts.html | 145 + src/objects/transaction.ts.html | 247 + src/objects/transaction_variant.ts.html | 142 + src/objects/transformation.ts.html | 145 + src/objects/type_pool.ts.html | 169 + src/objects/view.ts.html | 571 + src/objects/view_cluster.ts.html | 145 + src/objects/virtual_end_point.ts.html | 142 + src/objects/web_dynpro_application.ts.html | 145 + ...b_dynpro_application_configuration.ts.html | 142 + src/objects/web_dynpro_component.ts.html | 145 + ...web_dynpro_component_configuration.ts.html | 142 + src/objects/web_mime.ts.html | 268 + src/position.ts.html | 190 + src/pretty_printer/fix_keyword_case.ts.html | 277 + src/pretty_printer/indent.ts.html | 769 ++ src/pretty_printer/index.html | 146 + src/pretty_printer/pretty_printer.ts.html | 235 + src/registry.ts.html | 1375 +++ src/rules/7bit_ascii.ts.html | 322 + src/rules/_abap_rule.ts.html | 193 + src/rules/_basic_rule_config.ts.html | 106 + src/rules/_irule.ts.html | 244 + src/rules/_naming_rule_config.ts.html | 130 + src/rules/abapdoc.ts.html | 514 + src/rules/align_parameters.ts.html | 1351 +++ src/rules/align_pseudo_comments.ts.html | 310 + src/rules/align_type_expressions.ts.html | 652 + src/rules/allowed_object_naming.ts.html | 265 + src/rules/allowed_object_types.ts.html | 283 + src/rules/ambiguous_statement.ts.html | 349 + src/rules/avoid_use.ts.html | 535 + src/rules/begin_end_names.ts.html | 397 + src/rules/begin_single_include.ts.html | 370 + .../call_transaction_authority_check.ts.html | 277 + src/rules/cds_comment_style.ts.html | 274 + src/rules/cds_legacy_view.ts.html | 298 + src/rules/cds_parser_error.ts.html | 235 + src/rules/chain_mainly_declarations.ts.html | 646 + src/rules/change_if_to_case.ts.html | 523 + src/rules/check_abstract.ts.html | 313 + src/rules/check_comments.ts.html | 328 + src/rules/check_ddic.ts.html | 325 + src/rules/check_include.ts.html | 250 + src/rules/check_subrc.ts.html | 739 ++ src/rules/check_syntax.ts.html | 262 + src/rules/check_text_elements.ts.html | 388 + src/rules/check_transformation_exists.ts.html | 274 + src/rules/class_attribute_names.ts.html | 436 + src/rules/classic_exceptions_overlap.ts.html | 298 + src/rules/cloud_types.ts.html | 382 + src/rules/colon_missing_space.ts.html | 262 + src/rules/commented_code.ts.html | 436 + src/rules/constant_classes.ts.html | 607 + .../constructor_visibility_public.ts.html | 286 + src/rules/contains_tab.ts.html | 292 + src/rules/cyclic_oo.ts.html | 604 + src/rules/cyclomatic_complexity.ts.html | 247 + src/rules/dangerous_statement.ts.html | 439 + src/rules/db_operation_in_loop.ts.html | 310 + src/rules/definitions_top.ts.html | 646 + src/rules/description_empty.ts.html | 271 + src/rules/double_space.ts.html | 709 ++ src/rules/downport.ts.html | 10039 ++++++++++++++++ src/rules/dynpro_checks.ts.html | 268 + src/rules/easy_to_find_messages.ts.html | 322 + src/rules/empty_line_in_statement.ts.html | 337 + src/rules/empty_statement.ts.html | 253 + src/rules/empty_structure.ts.html | 625 + src/rules/exit_or_check.ts.html | 313 + src/rules/expand_macros.ts.html | 349 + src/rules/exporting.ts.html | 379 + src/rules/forbidden_identifier.ts.html | 340 + src/rules/forbidden_pseudo_and_pragma.ts.html | 514 + src/rules/forbidden_void_type.ts.html | 430 + src/rules/form_tables_obsolete.ts.html | 250 + src/rules/fully_type_constants.ts.html | 301 + src/rules/fully_type_itabs.ts.html | 301 + .../function_module_recommendations.ts.html | 400 + src/rules/functional_writing.ts.html | 484 + src/rules/global_class.ts.html | 346 + src/rules/identical_conditions.ts.html | 586 + src/rules/identical_contents.ts.html | 451 + src/rules/identical_descriptions.ts.html | 394 + src/rules/identical_form_names.ts.html | 268 + src/rules/if_in_if.ts.html | 508 + src/rules/implement_methods.ts.html | 961 ++ src/rules/in_statement_indentation.ts.html | 445 + src/rules/indentation.ts.html | 508 + src/rules/index.html | 2696 +++++ src/rules/index.ts.html | 586 + src/rules/inline_data_old_versions.ts.html | 277 + src/rules/intf_referencing_clas.ts.html | 343 + src/rules/invalid_table_index.ts.html | 322 + .../keep_single_parameter_on_one_line.ts.html | 616 + src/rules/keyword_case.ts.html | 934 ++ .../line_break_multiple_parameters.ts.html | 343 + src/rules/line_break_style.ts.html | 250 + src/rules/line_length.ts.html | 244 + src/rules/line_only_punc.ts.html | 352 + src/rules/local_class_naming.ts.html | 340 + src/rules/local_testclass_consistency.ts.html | 286 + src/rules/local_variable_names.ts.html | 580 + src/rules/macro_naming.ts.html | 310 + src/rules/main_file_contents.ts.html | 424 + src/rules/many_parentheses.ts.html | 667 + .../max_one_method_parameter_per_line.ts.html | 277 + src/rules/max_one_statement.ts.html | 313 + src/rules/message_exists.ts.html | 595 + src/rules/method_implemented_twice.ts.html | 310 + src/rules/method_length.ts.html | 448 + src/rules/method_overwrites_builtin.ts.html | 274 + src/rules/method_parameter_names.ts.html | 469 + src/rules/mix_returning.ts.html | 292 + src/rules/modify_only_own_db_tables.ts.html | 403 + src/rules/msag_consistency.ts.html | 385 + src/rules/names_no_dash.ts.html | 373 + src/rules/nesting.ts.html | 328 + src/rules/newline_between_methods.ts.html | 352 + src/rules/no_aliases.ts.html | 235 + src/rules/no_chained_assignment.ts.html | 250 + src/rules/no_external_form_calls.ts.html | 244 + .../no_inline_in_optional_branches.ts.html | 325 + src/rules/no_prefixes.ts.html | 793 ++ src/rules/no_public_attributes.ts.html | 376 + src/rules/no_yoda_conditions.ts.html | 418 + src/rules/nrob_consistency.ts.html | 280 + src/rules/object_naming.ts.html | 496 + src/rules/obsolete_statement.ts.html | 1531 +++ src/rules/omit_parameter_name.ts.html | 487 + src/rules/omit_preceding_zeros.ts.html | 292 + src/rules/omit_receiving.ts.html | 298 + src/rules/parser_702_chaining.ts.html | 307 + src/rules/parser_error.ts.html | 328 + src/rules/parser_missing_space.ts.html | 934 ++ src/rules/pragma_style.ts.html | 304 + src/rules/prefer_corresponding.ts.html | 244 + src/rules/prefer_inline.ts.html | 847 ++ src/rules/prefer_is_not.ts.html | 418 + src/rules/prefer_pragmas.ts.html | 316 + src/rules/prefer_raise_exception_new.ts.html | 334 + .../prefer_returning_to_exporting.ts.html | 385 + src/rules/prefer_xsdbool.ts.html | 268 + src/rules/preferred_compare_operator.ts.html | 385 + src/rules/prefix_is_current_class.ts.html | 478 + src/rules/reduce_procedural_code.ts.html | 337 + src/rules/reduce_string_templates.ts.html | 355 + src/rules/release_idoc.ts.html | 268 + src/rules/remove_descriptions.ts.html | 478 + src/rules/rfc_error_handling.ts.html | 337 + src/rules/select_add_order_by.ts.html | 457 + src/rules/select_performance.ts.html | 490 + src/rules/select_single_full_key.ts.html | 496 + src/rules/selection_screen_naming.ts.html | 409 + src/rules/sequential_blank.ts.html | 304 + src/rules/short_case.ts.html | 301 + src/rules/sicf_consistency.ts.html | 436 + src/rules/slow_parameter_passing.ts.html | 463 + src/rules/smim_consistency.ts.html | 295 + src/rules/space_before_colon.ts.html | 280 + src/rules/space_before_dot.ts.html | 379 + src/rules/sql_escape_host_variables.ts.html | 352 + src/rules/sql_value_conversion.ts.html | 316 + src/rules/start_at_tab.ts.html | 316 + src/rules/static_call_via_instance.ts.html | 352 + src/rules/strict_sql.ts.html | 346 + src/rules/superclass_final.ts.html | 319 + src/rules/superfluous_value.ts.html | 319 + src/rules/sy_modification.ts.html | 271 + src/rules/tabl_enhancement_category.ts.html | 268 + src/rules/tables_declared_locally.ts.html | 259 + src/rules/try_without_catch.ts.html | 253 + src/rules/type_form_parameters.ts.html | 268 + src/rules/types_naming.ts.html | 346 + src/rules/uncaught_exception.ts.html | 880 ++ src/rules/unknown_types.ts.html | 616 + src/rules/unnecessary_chaining.ts.html | 319 + src/rules/unnecessary_pragma.ts.html | 670 ++ src/rules/unnecessary_return.ts.html | 397 + src/rules/unreachable_code.ts.html | 424 + src/rules/unsecure_fae.ts.html | 271 + src/rules/unused_ddic.ts.html | 271 + src/rules/unused_macros.ts.html | 316 + src/rules/unused_methods.ts.html | 829 ++ src/rules/unused_types.ts.html | 760 ++ src/rules/unused_variables.ts.html | 958 ++ src/rules/use_bool_expression.ts.html | 478 + src/rules/use_class_based_exceptions.ts.html | 256 + src/rules/use_line_exists.ts.html | 418 + src/rules/use_new.ts.html | 379 + src/rules/when_others_last.ts.html | 295 + src/rules/whitespace_end.ts.html | 289 + src/rules/xml_consistency.ts.html | 331 + src/rules_runner.ts.html | 445 + src/severity.ts.html | 97 + src/skip_logic.ts.html | 547 + src/utils/cyclomatic_complexity_stats.ts.html | 268 + src/utils/excludeHelper.ts.html | 121 + src/utils/form_length_stats.ts.html | 256 + src/utils/include_graph.ts.html | 742 ++ src/utils/index.html | 191 + src/utils/method_length_stats.ts.html | 292 + src/utils/name_validator.ts.html | 145 + src/version.ts.html | 199 + src/virtual_position.ts.html | 151 + src/xml_utils.ts.html | 145 + tmp/coverage-1900-1721652357809-0.json | 1 + tmp/coverage-1901-1721652303915-0.json | 1 + 1380 files changed, 335465 insertions(+) create mode 100644 .nojekyll create mode 100644 CNAME create mode 100644 base.css create mode 100644 block-navigation.js create mode 100644 favicon.png create mode 100644 index.html create mode 100644 prettify.css create mode 100644 prettify.js create mode 100644 sort-arrow-sprite.png create mode 100644 sorter.js create mode 100644 src/abap/1_lexer/index.html create mode 100644 src/abap/1_lexer/lexer.ts.html create mode 100644 src/abap/1_lexer/lexer_buffer.ts.html create mode 100644 src/abap/1_lexer/lexer_stream.ts.html create mode 100644 src/abap/1_lexer/tokens/abstract_token.ts.html create mode 100644 src/abap/1_lexer/tokens/at.ts.html create mode 100644 src/abap/1_lexer/tokens/atw.ts.html create mode 100644 src/abap/1_lexer/tokens/bracket_left.ts.html create mode 100644 src/abap/1_lexer/tokens/bracket_leftw.ts.html create mode 100644 src/abap/1_lexer/tokens/bracket_right.ts.html create mode 100644 src/abap/1_lexer/tokens/bracket_rightw.ts.html create mode 100644 src/abap/1_lexer/tokens/colon.ts.html create mode 100644 src/abap/1_lexer/tokens/comment.ts.html create mode 100644 src/abap/1_lexer/tokens/dash.ts.html create mode 100644 src/abap/1_lexer/tokens/dashw.ts.html create mode 100644 src/abap/1_lexer/tokens/identifier.ts.html create mode 100644 src/abap/1_lexer/tokens/index.html create mode 100644 src/abap/1_lexer/tokens/index.ts.html create mode 100644 src/abap/1_lexer/tokens/instance_arrow.ts.html create mode 100644 src/abap/1_lexer/tokens/instance_arroww.ts.html create mode 100644 src/abap/1_lexer/tokens/paren_left.ts.html create mode 100644 src/abap/1_lexer/tokens/paren_leftw.ts.html create mode 100644 src/abap/1_lexer/tokens/paren_right.ts.html create mode 100644 src/abap/1_lexer/tokens/paren_rightw.ts.html create mode 100644 src/abap/1_lexer/tokens/plus.ts.html create mode 100644 src/abap/1_lexer/tokens/plusw.ts.html create mode 100644 src/abap/1_lexer/tokens/pragma.ts.html create mode 100644 src/abap/1_lexer/tokens/punctuation.ts.html create mode 100644 src/abap/1_lexer/tokens/static_arrow.ts.html create mode 100644 src/abap/1_lexer/tokens/static_arroww.ts.html create mode 100644 src/abap/1_lexer/tokens/string.ts.html create mode 100644 src/abap/1_lexer/tokens/string_template.ts.html create mode 100644 src/abap/1_lexer/tokens/string_template_begin.ts.html create mode 100644 src/abap/1_lexer/tokens/string_template_end.ts.html create mode 100644 src/abap/1_lexer/tokens/string_template_middle.ts.html create mode 100644 src/abap/1_lexer/tokens/wat.ts.html create mode 100644 src/abap/1_lexer/tokens/watw.ts.html create mode 100644 src/abap/1_lexer/tokens/wbracket_left.ts.html create mode 100644 src/abap/1_lexer/tokens/wbracket_leftw.ts.html create mode 100644 src/abap/1_lexer/tokens/wbracket_right.ts.html create mode 100644 src/abap/1_lexer/tokens/wbracket_rightw.ts.html create mode 100644 src/abap/1_lexer/tokens/wdash.ts.html create mode 100644 src/abap/1_lexer/tokens/wdashw.ts.html create mode 100644 src/abap/1_lexer/tokens/winstance_arrow.ts.html create mode 100644 src/abap/1_lexer/tokens/winstance_arroww.ts.html create mode 100644 src/abap/1_lexer/tokens/wparen_left.ts.html create mode 100644 src/abap/1_lexer/tokens/wparen_leftw.ts.html create mode 100644 src/abap/1_lexer/tokens/wparen_right.ts.html create mode 100644 src/abap/1_lexer/tokens/wparen_rightw.ts.html create mode 100644 src/abap/1_lexer/tokens/wplus.ts.html create mode 100644 src/abap/1_lexer/tokens/wplusw.ts.html create mode 100644 src/abap/1_lexer/tokens/wstatic_arrow.ts.html create mode 100644 src/abap/1_lexer/tokens/wstatic_arroww.ts.html create mode 100644 src/abap/2_statements/combi.ts.html create mode 100644 src/abap/2_statements/expand_macros.ts.html create mode 100644 src/abap/2_statements/expressions/abstract.ts.html create mode 100644 src/abap/2_statements/expressions/abstract_methods.ts.html create mode 100644 src/abap/2_statements/expressions/and_return.ts.html create mode 100644 src/abap/2_statements/expressions/arith_operator.ts.html create mode 100644 src/abap/2_statements/expressions/arrow.ts.html create mode 100644 src/abap/2_statements/expressions/arrow_or_dash.ts.html create mode 100644 src/abap/2_statements/expressions/assign_source.ts.html create mode 100644 src/abap/2_statements/expressions/association_name.ts.html create mode 100644 src/abap/2_statements/expressions/attribute_chain.ts.html create mode 100644 src/abap/2_statements/expressions/attribute_name.ts.html create mode 100644 src/abap/2_statements/expressions/behavior_definition_name.ts.html create mode 100644 src/abap/2_statements/expressions/block_name.ts.html create mode 100644 src/abap/2_statements/expressions/call_transformation_options.ts.html create mode 100644 src/abap/2_statements/expressions/call_transformation_parameters.ts.html create mode 100644 src/abap/2_statements/expressions/cast.ts.html create mode 100644 src/abap/2_statements/expressions/class_final.ts.html create mode 100644 src/abap/2_statements/expressions/class_friends.ts.html create mode 100644 src/abap/2_statements/expressions/class_global.ts.html create mode 100644 src/abap/2_statements/expressions/class_name.ts.html create mode 100644 src/abap/2_statements/expressions/color.ts.html create mode 100644 src/abap/2_statements/expressions/compare.ts.html create mode 100644 src/abap/2_statements/expressions/compare_operator.ts.html create mode 100644 src/abap/2_statements/expressions/component_chain.ts.html create mode 100644 src/abap/2_statements/expressions/component_chain_simple.ts.html create mode 100644 src/abap/2_statements/expressions/component_compare.ts.html create mode 100644 src/abap/2_statements/expressions/component_compare_simple.ts.html create mode 100644 src/abap/2_statements/expressions/component_compare_single.ts.html create mode 100644 src/abap/2_statements/expressions/component_cond.ts.html create mode 100644 src/abap/2_statements/expressions/component_cond_sub.ts.html create mode 100644 src/abap/2_statements/expressions/component_name.ts.html create mode 100644 src/abap/2_statements/expressions/concatenated_constant.ts.html create mode 100644 src/abap/2_statements/expressions/cond.ts.html create mode 100644 src/abap/2_statements/expressions/cond_body.ts.html create mode 100644 src/abap/2_statements/expressions/cond_sub.ts.html create mode 100644 src/abap/2_statements/expressions/constant.ts.html create mode 100644 src/abap/2_statements/expressions/constant_field_length.ts.html create mode 100644 src/abap/2_statements/expressions/constant_string.ts.html create mode 100644 src/abap/2_statements/expressions/conv_body.ts.html create mode 100644 src/abap/2_statements/expressions/corresponding_body.ts.html create mode 100644 src/abap/2_statements/expressions/data_definition.ts.html create mode 100644 src/abap/2_statements/expressions/database_connection.ts.html create mode 100644 src/abap/2_statements/expressions/database_table.ts.html create mode 100644 src/abap/2_statements/expressions/decimals.ts.html create mode 100644 src/abap/2_statements/expressions/default.ts.html create mode 100644 src/abap/2_statements/expressions/definition_name.ts.html create mode 100644 src/abap/2_statements/expressions/dereference.ts.html create mode 100644 src/abap/2_statements/expressions/destination.ts.html create mode 100644 src/abap/2_statements/expressions/dynamic.ts.html create mode 100644 src/abap/2_statements/expressions/entity_association.ts.html create mode 100644 src/abap/2_statements/expressions/event_handler.ts.html create mode 100644 src/abap/2_statements/expressions/event_name.ts.html create mode 100644 src/abap/2_statements/expressions/exception_name.ts.html create mode 100644 src/abap/2_statements/expressions/field.ts.html create mode 100644 src/abap/2_statements/expressions/field_all.ts.html create mode 100644 src/abap/2_statements/expressions/field_assignment.ts.html create mode 100644 src/abap/2_statements/expressions/field_chain.ts.html create mode 100644 src/abap/2_statements/expressions/field_length.ts.html create mode 100644 src/abap/2_statements/expressions/field_offset.ts.html create mode 100644 src/abap/2_statements/expressions/field_sub.ts.html create mode 100644 src/abap/2_statements/expressions/field_symbol.ts.html create mode 100644 src/abap/2_statements/expressions/filter_body.ts.html create mode 100644 src/abap/2_statements/expressions/final_methods.ts.html create mode 100644 src/abap/2_statements/expressions/find_type.ts.html create mode 100644 src/abap/2_statements/expressions/for.ts.html create mode 100644 src/abap/2_statements/expressions/form_changing.ts.html create mode 100644 src/abap/2_statements/expressions/form_name.ts.html create mode 100644 src/abap/2_statements/expressions/form_param.ts.html create mode 100644 src/abap/2_statements/expressions/form_param_name.ts.html create mode 100644 src/abap/2_statements/expressions/form_param_type.ts.html create mode 100644 src/abap/2_statements/expressions/form_raising.ts.html create mode 100644 src/abap/2_statements/expressions/form_tables.ts.html create mode 100644 src/abap/2_statements/expressions/form_using.ts.html create mode 100644 src/abap/2_statements/expressions/fstarget.ts.html create mode 100644 src/abap/2_statements/expressions/function_exporting.ts.html create mode 100644 src/abap/2_statements/expressions/function_exporting_parameter.ts.html create mode 100644 src/abap/2_statements/expressions/function_name.ts.html create mode 100644 src/abap/2_statements/expressions/function_parameters.ts.html create mode 100644 src/abap/2_statements/expressions/include_name.ts.html create mode 100644 src/abap/2_statements/expressions/index.html create mode 100644 src/abap/2_statements/expressions/index.ts.html create mode 100644 src/abap/2_statements/expressions/inline_field.ts.html create mode 100644 src/abap/2_statements/expressions/inline_field_definition.ts.html create mode 100644 src/abap/2_statements/expressions/inline_loop_definition.ts.html create mode 100644 src/abap/2_statements/expressions/inlinedata.ts.html create mode 100644 src/abap/2_statements/expressions/inlinefs.ts.html create mode 100644 src/abap/2_statements/expressions/integer.ts.html create mode 100644 src/abap/2_statements/expressions/interface_name.ts.html create mode 100644 src/abap/2_statements/expressions/kernel_id.ts.html create mode 100644 src/abap/2_statements/expressions/language.ts.html create mode 100644 src/abap/2_statements/expressions/length.ts.html create mode 100644 src/abap/2_statements/expressions/let.ts.html create mode 100644 src/abap/2_statements/expressions/loop_group_by.ts.html create mode 100644 src/abap/2_statements/expressions/loop_group_by_component.ts.html create mode 100644 src/abap/2_statements/expressions/loop_group_by_target.ts.html create mode 100644 src/abap/2_statements/expressions/loop_target.ts.html create mode 100644 src/abap/2_statements/expressions/macro_name.ts.html create mode 100644 src/abap/2_statements/expressions/message_class.ts.html create mode 100644 src/abap/2_statements/expressions/message_number.ts.html create mode 100644 src/abap/2_statements/expressions/message_source.ts.html create mode 100644 src/abap/2_statements/expressions/message_type_and_number.ts.html create mode 100644 src/abap/2_statements/expressions/method_call.ts.html create mode 100644 src/abap/2_statements/expressions/method_call_body.ts.html create mode 100644 src/abap/2_statements/expressions/method_call_chain.ts.html create mode 100644 src/abap/2_statements/expressions/method_call_param.ts.html create mode 100644 src/abap/2_statements/expressions/method_def_changing.ts.html create mode 100644 src/abap/2_statements/expressions/method_def_exceptions.ts.html create mode 100644 src/abap/2_statements/expressions/method_def_exporting.ts.html create mode 100644 src/abap/2_statements/expressions/method_def_importing.ts.html create mode 100644 src/abap/2_statements/expressions/method_def_raising.ts.html create mode 100644 src/abap/2_statements/expressions/method_def_returning.ts.html create mode 100644 src/abap/2_statements/expressions/method_name.ts.html create mode 100644 src/abap/2_statements/expressions/method_param.ts.html create mode 100644 src/abap/2_statements/expressions/method_param_name.ts.html create mode 100644 src/abap/2_statements/expressions/method_param_optional.ts.html create mode 100644 src/abap/2_statements/expressions/method_parameters.ts.html create mode 100644 src/abap/2_statements/expressions/method_source.ts.html create mode 100644 src/abap/2_statements/expressions/modif.ts.html create mode 100644 src/abap/2_statements/expressions/namespace_simple_name.ts.html create mode 100644 src/abap/2_statements/expressions/new_object.ts.html create mode 100644 src/abap/2_statements/expressions/ole_exporting.ts.html create mode 100644 src/abap/2_statements/expressions/or.ts.html create mode 100644 src/abap/2_statements/expressions/parameter_exception.ts.html create mode 100644 src/abap/2_statements/expressions/parameter_list_exceptions.ts.html create mode 100644 src/abap/2_statements/expressions/parameter_list_s.ts.html create mode 100644 src/abap/2_statements/expressions/parameter_list_t.ts.html create mode 100644 src/abap/2_statements/expressions/parameter_name.ts.html create mode 100644 src/abap/2_statements/expressions/parameter_s.ts.html create mode 100644 src/abap/2_statements/expressions/parameter_t.ts.html create mode 100644 src/abap/2_statements/expressions/pass_by_value.ts.html create mode 100644 src/abap/2_statements/expressions/perform_changing.ts.html create mode 100644 src/abap/2_statements/expressions/perform_tables.ts.html create mode 100644 src/abap/2_statements/expressions/perform_using.ts.html create mode 100644 src/abap/2_statements/expressions/radio_group_name.ts.html create mode 100644 src/abap/2_statements/expressions/raise_with.ts.html create mode 100644 src/abap/2_statements/expressions/read_table_target.ts.html create mode 100644 src/abap/2_statements/expressions/receive_parameters.ts.html create mode 100644 src/abap/2_statements/expressions/redefinition.ts.html create mode 100644 src/abap/2_statements/expressions/reduce_body.ts.html create mode 100644 src/abap/2_statements/expressions/reduce_next.ts.html create mode 100644 src/abap/2_statements/expressions/report_name.ts.html create mode 100644 src/abap/2_statements/expressions/select.ts.html create mode 100644 src/abap/2_statements/expressions/select_loop.ts.html create mode 100644 src/abap/2_statements/expressions/simple_field_chain.ts.html create mode 100644 src/abap/2_statements/expressions/simple_field_chain2.ts.html create mode 100644 src/abap/2_statements/expressions/simple_name.ts.html create mode 100644 src/abap/2_statements/expressions/simple_source1.ts.html create mode 100644 src/abap/2_statements/expressions/simple_source2.ts.html create mode 100644 src/abap/2_statements/expressions/simple_source3.ts.html create mode 100644 src/abap/2_statements/expressions/simple_source4.ts.html create mode 100644 src/abap/2_statements/expressions/simple_target.ts.html create mode 100644 src/abap/2_statements/expressions/source.ts.html create mode 100644 src/abap/2_statements/expressions/source_field.ts.html create mode 100644 src/abap/2_statements/expressions/source_field_symbol.ts.html create mode 100644 src/abap/2_statements/expressions/sql_aggregation.ts.html create mode 100644 src/abap/2_statements/expressions/sql_alias_field.ts.html create mode 100644 src/abap/2_statements/expressions/sql_arithmetic_operator.ts.html create mode 100644 src/abap/2_statements/expressions/sql_arithmetics.ts.html create mode 100644 src/abap/2_statements/expressions/sql_as_name.ts.html create mode 100644 src/abap/2_statements/expressions/sql_case.ts.html create mode 100644 src/abap/2_statements/expressions/sql_cds_parameters.ts.html create mode 100644 src/abap/2_statements/expressions/sql_client.ts.html create mode 100644 src/abap/2_statements/expressions/sql_compare.ts.html create mode 100644 src/abap/2_statements/expressions/sql_compare_operator.ts.html create mode 100644 src/abap/2_statements/expressions/sql_cond.ts.html create mode 100644 src/abap/2_statements/expressions/sql_field.ts.html create mode 100644 src/abap/2_statements/expressions/sql_field_and_value.ts.html create mode 100644 src/abap/2_statements/expressions/sql_field_list.ts.html create mode 100644 src/abap/2_statements/expressions/sql_field_list_loop.ts.html create mode 100644 src/abap/2_statements/expressions/sql_field_name.ts.html create mode 100644 src/abap/2_statements/expressions/sql_fields.ts.html create mode 100644 src/abap/2_statements/expressions/sql_for_all_entries.ts.html create mode 100644 src/abap/2_statements/expressions/sql_from.ts.html create mode 100644 src/abap/2_statements/expressions/sql_from_source.ts.html create mode 100644 src/abap/2_statements/expressions/sql_function.ts.html create mode 100644 src/abap/2_statements/expressions/sql_group_by.ts.html create mode 100644 src/abap/2_statements/expressions/sql_having.ts.html create mode 100644 src/abap/2_statements/expressions/sql_hints.ts.html create mode 100644 src/abap/2_statements/expressions/sql_in.ts.html create mode 100644 src/abap/2_statements/expressions/sql_into_list.ts.html create mode 100644 src/abap/2_statements/expressions/sql_into_structure.ts.html create mode 100644 src/abap/2_statements/expressions/sql_into_table.ts.html create mode 100644 src/abap/2_statements/expressions/sql_join.ts.html create mode 100644 src/abap/2_statements/expressions/sql_order_by.ts.html create mode 100644 src/abap/2_statements/expressions/sql_path.ts.html create mode 100644 src/abap/2_statements/expressions/sql_source.ts.html create mode 100644 src/abap/2_statements/expressions/sql_source_no_space.ts.html create mode 100644 src/abap/2_statements/expressions/sql_source_simple.ts.html create mode 100644 src/abap/2_statements/expressions/sql_target.ts.html create mode 100644 src/abap/2_statements/expressions/sql_up_to.ts.html create mode 100644 src/abap/2_statements/expressions/string_template.ts.html create mode 100644 src/abap/2_statements/expressions/string_template_formatting.ts.html create mode 100644 src/abap/2_statements/expressions/string_template_source.ts.html create mode 100644 src/abap/2_statements/expressions/super_class_name.ts.html create mode 100644 src/abap/2_statements/expressions/switch_body.ts.html create mode 100644 src/abap/2_statements/expressions/table_body.ts.html create mode 100644 src/abap/2_statements/expressions/table_expression.ts.html create mode 100644 src/abap/2_statements/expressions/target.ts.html create mode 100644 src/abap/2_statements/expressions/target_field.ts.html create mode 100644 src/abap/2_statements/expressions/target_field_symbol.ts.html create mode 100644 src/abap/2_statements/expressions/test_seam_name.ts.html create mode 100644 src/abap/2_statements/expressions/text_element.ts.html create mode 100644 src/abap/2_statements/expressions/text_element_key.ts.html create mode 100644 src/abap/2_statements/expressions/text_element_string.ts.html create mode 100644 src/abap/2_statements/expressions/throw.ts.html create mode 100644 src/abap/2_statements/expressions/transporting_fields.ts.html create mode 100644 src/abap/2_statements/expressions/type.ts.html create mode 100644 src/abap/2_statements/expressions/type_name.ts.html create mode 100644 src/abap/2_statements/expressions/type_name_or_infer.ts.html create mode 100644 src/abap/2_statements/expressions/type_param.ts.html create mode 100644 src/abap/2_statements/expressions/type_structure.ts.html create mode 100644 src/abap/2_statements/expressions/type_table.ts.html create mode 100644 src/abap/2_statements/expressions/type_table_key.ts.html create mode 100644 src/abap/2_statements/expressions/value.ts.html create mode 100644 src/abap/2_statements/expressions/value_body.ts.html create mode 100644 src/abap/2_statements/expressions/value_body_line.ts.html create mode 100644 src/abap/2_statements/expressions/value_body_lines.ts.html create mode 100644 src/abap/2_statements/expressions/with_name.ts.html create mode 100644 src/abap/2_statements/expressions/write_offset_length.ts.html create mode 100644 src/abap/2_statements/index.html create mode 100644 src/abap/2_statements/result.ts.html create mode 100644 src/abap/2_statements/statement_parser.ts.html create mode 100644 src/abap/2_statements/statements/_statement.ts.html create mode 100644 src/abap/2_statements/statements/add.ts.html create mode 100644 src/abap/2_statements/statements/add_corresponding.ts.html create mode 100644 src/abap/2_statements/statements/aliases.ts.html create mode 100644 src/abap/2_statements/statements/append.ts.html create mode 100644 src/abap/2_statements/statements/assert.ts.html create mode 100644 src/abap/2_statements/statements/assign.ts.html create mode 100644 src/abap/2_statements/statements/assign_local_copy.ts.html create mode 100644 src/abap/2_statements/statements/at.ts.html create mode 100644 src/abap/2_statements/statements/at_first.ts.html create mode 100644 src/abap/2_statements/statements/at_last.ts.html create mode 100644 src/abap/2_statements/statements/at_line_selection.ts.html create mode 100644 src/abap/2_statements/statements/at_selection_screen.ts.html create mode 100644 src/abap/2_statements/statements/at_user_command.ts.html create mode 100644 src/abap/2_statements/statements/authority_check.ts.html create mode 100644 src/abap/2_statements/statements/back.ts.html create mode 100644 src/abap/2_statements/statements/break.ts.html create mode 100644 src/abap/2_statements/statements/break_id.ts.html create mode 100644 src/abap/2_statements/statements/call.ts.html create mode 100644 src/abap/2_statements/statements/call_badi.ts.html create mode 100644 src/abap/2_statements/statements/call_database.ts.html create mode 100644 src/abap/2_statements/statements/call_dialog.ts.html create mode 100644 src/abap/2_statements/statements/call_function.ts.html create mode 100644 src/abap/2_statements/statements/call_kernel.ts.html create mode 100644 src/abap/2_statements/statements/call_ole.ts.html create mode 100644 src/abap/2_statements/statements/call_screen.ts.html create mode 100644 src/abap/2_statements/statements/call_selection_screen.ts.html create mode 100644 src/abap/2_statements/statements/call_transaction.ts.html create mode 100644 src/abap/2_statements/statements/call_transformation.ts.html create mode 100644 src/abap/2_statements/statements/case.ts.html create mode 100644 src/abap/2_statements/statements/case_type.ts.html create mode 100644 src/abap/2_statements/statements/catch.ts.html create mode 100644 src/abap/2_statements/statements/catch_system_exceptions.ts.html create mode 100644 src/abap/2_statements/statements/check.ts.html create mode 100644 src/abap/2_statements/statements/check_select_options.ts.html create mode 100644 src/abap/2_statements/statements/class_data.ts.html create mode 100644 src/abap/2_statements/statements/class_data_begin.ts.html create mode 100644 src/abap/2_statements/statements/class_data_end.ts.html create mode 100644 src/abap/2_statements/statements/class_deferred.ts.html create mode 100644 src/abap/2_statements/statements/class_definition.ts.html create mode 100644 src/abap/2_statements/statements/class_definition_load.ts.html create mode 100644 src/abap/2_statements/statements/class_implementation.ts.html create mode 100644 src/abap/2_statements/statements/class_local_friends.ts.html create mode 100644 src/abap/2_statements/statements/cleanup.ts.html create mode 100644 src/abap/2_statements/statements/clear.ts.html create mode 100644 src/abap/2_statements/statements/close_cursor.ts.html create mode 100644 src/abap/2_statements/statements/close_dataset.ts.html create mode 100644 src/abap/2_statements/statements/collect.ts.html create mode 100644 src/abap/2_statements/statements/commit.ts.html create mode 100644 src/abap/2_statements/statements/commit_entities.ts.html create mode 100644 src/abap/2_statements/statements/communication.ts.html create mode 100644 src/abap/2_statements/statements/compute.ts.html create mode 100644 src/abap/2_statements/statements/concatenate.ts.html create mode 100644 src/abap/2_statements/statements/condense.ts.html create mode 100644 src/abap/2_statements/statements/constant.ts.html create mode 100644 src/abap/2_statements/statements/constant_begin.ts.html create mode 100644 src/abap/2_statements/statements/constant_end.ts.html create mode 100644 src/abap/2_statements/statements/contexts.ts.html create mode 100644 src/abap/2_statements/statements/continue.ts.html create mode 100644 src/abap/2_statements/statements/controls.ts.html create mode 100644 src/abap/2_statements/statements/convert.ts.html create mode 100644 src/abap/2_statements/statements/convert_text.ts.html create mode 100644 src/abap/2_statements/statements/create_data.ts.html create mode 100644 src/abap/2_statements/statements/create_object.ts.html create mode 100644 src/abap/2_statements/statements/create_ole.ts.html create mode 100644 src/abap/2_statements/statements/data.ts.html create mode 100644 src/abap/2_statements/statements/data_begin.ts.html create mode 100644 src/abap/2_statements/statements/data_end.ts.html create mode 100644 src/abap/2_statements/statements/define.ts.html create mode 100644 src/abap/2_statements/statements/delete_cluster.ts.html create mode 100644 src/abap/2_statements/statements/delete_database.ts.html create mode 100644 src/abap/2_statements/statements/delete_dataset.ts.html create mode 100644 src/abap/2_statements/statements/delete_dynpro.ts.html create mode 100644 src/abap/2_statements/statements/delete_internal.ts.html create mode 100644 src/abap/2_statements/statements/delete_memory.ts.html create mode 100644 src/abap/2_statements/statements/delete_report.ts.html create mode 100644 src/abap/2_statements/statements/delete_textpool.ts.html create mode 100644 src/abap/2_statements/statements/demand.ts.html create mode 100644 src/abap/2_statements/statements/describe.ts.html create mode 100644 src/abap/2_statements/statements/detail.ts.html create mode 100644 src/abap/2_statements/statements/divide.ts.html create mode 100644 src/abap/2_statements/statements/do.ts.html create mode 100644 src/abap/2_statements/statements/editor_call.ts.html create mode 100644 src/abap/2_statements/statements/else.ts.html create mode 100644 src/abap/2_statements/statements/elseif.ts.html create mode 100644 src/abap/2_statements/statements/end_enhancement.ts.html create mode 100644 src/abap/2_statements/statements/end_enhancement_section.ts.html create mode 100644 src/abap/2_statements/statements/end_of_page.ts.html create mode 100644 src/abap/2_statements/statements/end_of_selection.ts.html create mode 100644 src/abap/2_statements/statements/end_test_injection.ts.html create mode 100644 src/abap/2_statements/statements/end_test_seam.ts.html create mode 100644 src/abap/2_statements/statements/endat.ts.html create mode 100644 src/abap/2_statements/statements/endcase.ts.html create mode 100644 src/abap/2_statements/statements/endcatch.ts.html create mode 100644 src/abap/2_statements/statements/endclass.ts.html create mode 100644 src/abap/2_statements/statements/enddefine.ts.html create mode 100644 src/abap/2_statements/statements/enddo.ts.html create mode 100644 src/abap/2_statements/statements/endexec.ts.html create mode 100644 src/abap/2_statements/statements/endform.ts.html create mode 100644 src/abap/2_statements/statements/endfunction.ts.html create mode 100644 src/abap/2_statements/statements/endif.ts.html create mode 100644 src/abap/2_statements/statements/endinterface.ts.html create mode 100644 src/abap/2_statements/statements/endloop.ts.html create mode 100644 src/abap/2_statements/statements/endmethod.ts.html create mode 100644 src/abap/2_statements/statements/endmodule.ts.html create mode 100644 src/abap/2_statements/statements/endon.ts.html create mode 100644 src/abap/2_statements/statements/endprovide.ts.html create mode 100644 src/abap/2_statements/statements/endselect.ts.html create mode 100644 src/abap/2_statements/statements/endtry.ts.html create mode 100644 src/abap/2_statements/statements/endwhile.ts.html create mode 100644 src/abap/2_statements/statements/endwith.ts.html create mode 100644 src/abap/2_statements/statements/enhancement.ts.html create mode 100644 src/abap/2_statements/statements/enhancement_point.ts.html create mode 100644 src/abap/2_statements/statements/enhancement_section.ts.html create mode 100644 src/abap/2_statements/statements/events.ts.html create mode 100644 src/abap/2_statements/statements/exec_sql.ts.html create mode 100644 src/abap/2_statements/statements/exit.ts.html create mode 100644 src/abap/2_statements/statements/export.ts.html create mode 100644 src/abap/2_statements/statements/export_dynpro.ts.html create mode 100644 src/abap/2_statements/statements/extract.ts.html create mode 100644 src/abap/2_statements/statements/fetch_next_cursor.ts.html create mode 100644 src/abap/2_statements/statements/field_group.ts.html create mode 100644 src/abap/2_statements/statements/fields.ts.html create mode 100644 src/abap/2_statements/statements/fieldsymbol.ts.html create mode 100644 src/abap/2_statements/statements/find.ts.html create mode 100644 src/abap/2_statements/statements/form.ts.html create mode 100644 src/abap/2_statements/statements/form_definition.ts.html create mode 100644 src/abap/2_statements/statements/format.ts.html create mode 100644 src/abap/2_statements/statements/free.ts.html create mode 100644 src/abap/2_statements/statements/free_memory.ts.html create mode 100644 src/abap/2_statements/statements/free_object.ts.html create mode 100644 src/abap/2_statements/statements/function_module.ts.html create mode 100644 src/abap/2_statements/statements/function_pool.ts.html create mode 100644 src/abap/2_statements/statements/generate_dynpro.ts.html create mode 100644 src/abap/2_statements/statements/generate_report.ts.html create mode 100644 src/abap/2_statements/statements/generate_subroutine.ts.html create mode 100644 src/abap/2_statements/statements/get.ts.html create mode 100644 src/abap/2_statements/statements/get_badi.ts.html create mode 100644 src/abap/2_statements/statements/get_bit.ts.html create mode 100644 src/abap/2_statements/statements/get_cursor.ts.html create mode 100644 src/abap/2_statements/statements/get_dataset.ts.html create mode 100644 src/abap/2_statements/statements/get_locale.ts.html create mode 100644 src/abap/2_statements/statements/get_parameter.ts.html create mode 100644 src/abap/2_statements/statements/get_permissions.ts.html create mode 100644 src/abap/2_statements/statements/get_pf_status.ts.html create mode 100644 src/abap/2_statements/statements/get_property.ts.html create mode 100644 src/abap/2_statements/statements/get_reference.ts.html create mode 100644 src/abap/2_statements/statements/get_run_time.ts.html create mode 100644 src/abap/2_statements/statements/get_time.ts.html create mode 100644 src/abap/2_statements/statements/hide.ts.html create mode 100644 src/abap/2_statements/statements/if.ts.html create mode 100644 src/abap/2_statements/statements/import.ts.html create mode 100644 src/abap/2_statements/statements/import_dynpro.ts.html create mode 100644 src/abap/2_statements/statements/import_nametab.ts.html create mode 100644 src/abap/2_statements/statements/include.ts.html create mode 100644 src/abap/2_statements/statements/include_type.ts.html create mode 100644 src/abap/2_statements/statements/index.html create mode 100644 src/abap/2_statements/statements/index.ts.html create mode 100644 src/abap/2_statements/statements/infotypes.ts.html create mode 100644 src/abap/2_statements/statements/initialization.ts.html create mode 100644 src/abap/2_statements/statements/insert_database.ts.html create mode 100644 src/abap/2_statements/statements/insert_field_group.ts.html create mode 100644 src/abap/2_statements/statements/insert_internal.ts.html create mode 100644 src/abap/2_statements/statements/insert_report.ts.html create mode 100644 src/abap/2_statements/statements/insert_textpool.ts.html create mode 100644 src/abap/2_statements/statements/interface.ts.html create mode 100644 src/abap/2_statements/statements/interface_def.ts.html create mode 100644 src/abap/2_statements/statements/interface_deferred.ts.html create mode 100644 src/abap/2_statements/statements/interface_load.ts.html create mode 100644 src/abap/2_statements/statements/leave.ts.html create mode 100644 src/abap/2_statements/statements/load_of_program.ts.html create mode 100644 src/abap/2_statements/statements/load_report.ts.html create mode 100644 src/abap/2_statements/statements/local.ts.html create mode 100644 src/abap/2_statements/statements/log_point.ts.html create mode 100644 src/abap/2_statements/statements/loop.ts.html create mode 100644 src/abap/2_statements/statements/loop_at_screen.ts.html create mode 100644 src/abap/2_statements/statements/message.ts.html create mode 100644 src/abap/2_statements/statements/method_def.ts.html create mode 100644 src/abap/2_statements/statements/method_implementation.ts.html create mode 100644 src/abap/2_statements/statements/modify_database.ts.html create mode 100644 src/abap/2_statements/statements/modify_entities.ts.html create mode 100644 src/abap/2_statements/statements/modify_internal.ts.html create mode 100644 src/abap/2_statements/statements/modify_line.ts.html create mode 100644 src/abap/2_statements/statements/modify_screen.ts.html create mode 100644 src/abap/2_statements/statements/module.ts.html create mode 100644 src/abap/2_statements/statements/move.ts.html create mode 100644 src/abap/2_statements/statements/move_corresponding.ts.html create mode 100644 src/abap/2_statements/statements/multiply.ts.html create mode 100644 src/abap/2_statements/statements/new_line.ts.html create mode 100644 src/abap/2_statements/statements/new_page.ts.html create mode 100644 src/abap/2_statements/statements/nodes.ts.html create mode 100644 src/abap/2_statements/statements/on_change.ts.html create mode 100644 src/abap/2_statements/statements/open_cursor.ts.html create mode 100644 src/abap/2_statements/statements/open_dataset.ts.html create mode 100644 src/abap/2_statements/statements/overlay.ts.html create mode 100644 src/abap/2_statements/statements/pack.ts.html create mode 100644 src/abap/2_statements/statements/parameter.ts.html create mode 100644 src/abap/2_statements/statements/perform.ts.html create mode 100644 src/abap/2_statements/statements/position.ts.html create mode 100644 src/abap/2_statements/statements/print_control.ts.html create mode 100644 src/abap/2_statements/statements/private.ts.html create mode 100644 src/abap/2_statements/statements/program.ts.html create mode 100644 src/abap/2_statements/statements/protected.ts.html create mode 100644 src/abap/2_statements/statements/provide.ts.html create mode 100644 src/abap/2_statements/statements/public.ts.html create mode 100644 src/abap/2_statements/statements/put.ts.html create mode 100644 src/abap/2_statements/statements/raise.ts.html create mode 100644 src/abap/2_statements/statements/raise_entity_event.ts.html create mode 100644 src/abap/2_statements/statements/raise_event.ts.html create mode 100644 src/abap/2_statements/statements/ranges.ts.html create mode 100644 src/abap/2_statements/statements/read_dataset.ts.html create mode 100644 src/abap/2_statements/statements/read_entities.ts.html create mode 100644 src/abap/2_statements/statements/read_line.ts.html create mode 100644 src/abap/2_statements/statements/read_report.ts.html create mode 100644 src/abap/2_statements/statements/read_table.ts.html create mode 100644 src/abap/2_statements/statements/read_textpool.ts.html create mode 100644 src/abap/2_statements/statements/receive.ts.html create mode 100644 src/abap/2_statements/statements/refresh.ts.html create mode 100644 src/abap/2_statements/statements/refresh_control.ts.html create mode 100644 src/abap/2_statements/statements/reject.ts.html create mode 100644 src/abap/2_statements/statements/replace.ts.html create mode 100644 src/abap/2_statements/statements/report.ts.html create mode 100644 src/abap/2_statements/statements/reserve.ts.html create mode 100644 src/abap/2_statements/statements/resume.ts.html create mode 100644 src/abap/2_statements/statements/retry.ts.html create mode 100644 src/abap/2_statements/statements/return.ts.html create mode 100644 src/abap/2_statements/statements/rollback.ts.html create mode 100644 src/abap/2_statements/statements/rollback_entities.ts.html create mode 100644 src/abap/2_statements/statements/scan.ts.html create mode 100644 src/abap/2_statements/statements/scroll_list.ts.html create mode 100644 src/abap/2_statements/statements/search.ts.html create mode 100644 src/abap/2_statements/statements/select.ts.html create mode 100644 src/abap/2_statements/statements/select_loop.ts.html create mode 100644 src/abap/2_statements/statements/selectionscreen.ts.html create mode 100644 src/abap/2_statements/statements/selectoption.ts.html create mode 100644 src/abap/2_statements/statements/set_bit.ts.html create mode 100644 src/abap/2_statements/statements/set_blank.ts.html create mode 100644 src/abap/2_statements/statements/set_country.ts.html create mode 100644 src/abap/2_statements/statements/set_cursor.ts.html create mode 100644 src/abap/2_statements/statements/set_dataset.ts.html create mode 100644 src/abap/2_statements/statements/set_extended_check.ts.html create mode 100644 src/abap/2_statements/statements/set_handler.ts.html create mode 100644 src/abap/2_statements/statements/set_language.ts.html create mode 100644 src/abap/2_statements/statements/set_left.ts.html create mode 100644 src/abap/2_statements/statements/set_locale.ts.html create mode 100644 src/abap/2_statements/statements/set_locks.ts.html create mode 100644 src/abap/2_statements/statements/set_margin.ts.html create mode 100644 src/abap/2_statements/statements/set_parameter.ts.html create mode 100644 src/abap/2_statements/statements/set_pf_status.ts.html create mode 100644 src/abap/2_statements/statements/set_property.ts.html create mode 100644 src/abap/2_statements/statements/set_run_time.ts.html create mode 100644 src/abap/2_statements/statements/set_screen.ts.html create mode 100644 src/abap/2_statements/statements/set_titlebar.ts.html create mode 100644 src/abap/2_statements/statements/set_update_task.ts.html create mode 100644 src/abap/2_statements/statements/set_user_command.ts.html create mode 100644 src/abap/2_statements/statements/shift.ts.html create mode 100644 src/abap/2_statements/statements/skip.ts.html create mode 100644 src/abap/2_statements/statements/sort.ts.html create mode 100644 src/abap/2_statements/statements/sort_dataset.ts.html create mode 100644 src/abap/2_statements/statements/split.ts.html create mode 100644 src/abap/2_statements/statements/start_of_selection.ts.html create mode 100644 src/abap/2_statements/statements/static.ts.html create mode 100644 src/abap/2_statements/statements/static_begin.ts.html create mode 100644 src/abap/2_statements/statements/static_end.ts.html create mode 100644 src/abap/2_statements/statements/stop.ts.html create mode 100644 src/abap/2_statements/statements/submit.ts.html create mode 100644 src/abap/2_statements/statements/subtract.ts.html create mode 100644 src/abap/2_statements/statements/subtract_corresponding.ts.html create mode 100644 src/abap/2_statements/statements/sum.ts.html create mode 100644 src/abap/2_statements/statements/summary.ts.html create mode 100644 src/abap/2_statements/statements/supply.ts.html create mode 100644 src/abap/2_statements/statements/suppress_dialog.ts.html create mode 100644 src/abap/2_statements/statements/syntax_check.ts.html create mode 100644 src/abap/2_statements/statements/system_call.ts.html create mode 100644 src/abap/2_statements/statements/tables.ts.html create mode 100644 src/abap/2_statements/statements/test_injection.ts.html create mode 100644 src/abap/2_statements/statements/test_seam.ts.html create mode 100644 src/abap/2_statements/statements/top_of_page.ts.html create mode 100644 src/abap/2_statements/statements/transfer.ts.html create mode 100644 src/abap/2_statements/statements/translate.ts.html create mode 100644 src/abap/2_statements/statements/truncate_dataset.ts.html create mode 100644 src/abap/2_statements/statements/try.ts.html create mode 100644 src/abap/2_statements/statements/type.ts.html create mode 100644 src/abap/2_statements/statements/type_begin.ts.html create mode 100644 src/abap/2_statements/statements/type_end.ts.html create mode 100644 src/abap/2_statements/statements/type_enum.ts.html create mode 100644 src/abap/2_statements/statements/type_enum_begin.ts.html create mode 100644 src/abap/2_statements/statements/type_enum_end.ts.html create mode 100644 src/abap/2_statements/statements/type_mesh.ts.html create mode 100644 src/abap/2_statements/statements/type_mesh_begin.ts.html create mode 100644 src/abap/2_statements/statements/type_mesh_end.ts.html create mode 100644 src/abap/2_statements/statements/type_pool.ts.html create mode 100644 src/abap/2_statements/statements/type_pools.ts.html create mode 100644 src/abap/2_statements/statements/uline.ts.html create mode 100644 src/abap/2_statements/statements/unassign.ts.html create mode 100644 src/abap/2_statements/statements/unpack.ts.html create mode 100644 src/abap/2_statements/statements/update_database.ts.html create mode 100644 src/abap/2_statements/statements/wait.ts.html create mode 100644 src/abap/2_statements/statements/when.ts.html create mode 100644 src/abap/2_statements/statements/when_others.ts.html create mode 100644 src/abap/2_statements/statements/when_type.ts.html create mode 100644 src/abap/2_statements/statements/while.ts.html create mode 100644 src/abap/2_statements/statements/window.ts.html create mode 100644 src/abap/2_statements/statements/with.ts.html create mode 100644 src/abap/2_statements/statements/with_loop.ts.html create mode 100644 src/abap/2_statements/statements/write.ts.html create mode 100644 src/abap/3_structures/index.html create mode 100644 src/abap/3_structures/structure_parser.ts.html create mode 100644 src/abap/3_structures/structures/_combi.ts.html create mode 100644 src/abap/3_structures/structures/any.ts.html create mode 100644 src/abap/3_structures/structures/at.ts.html create mode 100644 src/abap/3_structures/structures/at_first.ts.html create mode 100644 src/abap/3_structures/structures/at_last.ts.html create mode 100644 src/abap/3_structures/structures/body.ts.html create mode 100644 src/abap/3_structures/structures/case.ts.html create mode 100644 src/abap/3_structures/structures/case_type.ts.html create mode 100644 src/abap/3_structures/structures/catch.ts.html create mode 100644 src/abap/3_structures/structures/catch_system_exceptions.ts.html create mode 100644 src/abap/3_structures/structures/class_data.ts.html create mode 100644 src/abap/3_structures/structures/class_definition.ts.html create mode 100644 src/abap/3_structures/structures/class_global.ts.html create mode 100644 src/abap/3_structures/structures/class_implementation.ts.html create mode 100644 src/abap/3_structures/structures/cleanup.ts.html create mode 100644 src/abap/3_structures/structures/constants.ts.html create mode 100644 src/abap/3_structures/structures/data.ts.html create mode 100644 src/abap/3_structures/structures/define.ts.html create mode 100644 src/abap/3_structures/structures/do.ts.html create mode 100644 src/abap/3_structures/structures/else.ts.html create mode 100644 src/abap/3_structures/structures/elseif.ts.html create mode 100644 src/abap/3_structures/structures/enhancement.ts.html create mode 100644 src/abap/3_structures/structures/enhancement_section.ts.html create mode 100644 src/abap/3_structures/structures/exec_sql.ts.html create mode 100644 src/abap/3_structures/structures/form.ts.html create mode 100644 src/abap/3_structures/structures/function_module.ts.html create mode 100644 src/abap/3_structures/structures/if.ts.html create mode 100644 src/abap/3_structures/structures/index.html create mode 100644 src/abap/3_structures/structures/index.ts.html create mode 100644 src/abap/3_structures/structures/interface.ts.html create mode 100644 src/abap/3_structures/structures/interface_global.ts.html create mode 100644 src/abap/3_structures/structures/loop.ts.html create mode 100644 src/abap/3_structures/structures/loop_at_screen.ts.html create mode 100644 src/abap/3_structures/structures/method.ts.html create mode 100644 src/abap/3_structures/structures/module.ts.html create mode 100644 src/abap/3_structures/structures/normal.ts.html create mode 100644 src/abap/3_structures/structures/on_change.ts.html create mode 100644 src/abap/3_structures/structures/private_section.ts.html create mode 100644 src/abap/3_structures/structures/protected_section.ts.html create mode 100644 src/abap/3_structures/structures/provide.ts.html create mode 100644 src/abap/3_structures/structures/public_section.ts.html create mode 100644 src/abap/3_structures/structures/section_section.ts.html create mode 100644 src/abap/3_structures/structures/select.ts.html create mode 100644 src/abap/3_structures/structures/statics.ts.html create mode 100644 src/abap/3_structures/structures/test_injection.ts.html create mode 100644 src/abap/3_structures/structures/test_seam.ts.html create mode 100644 src/abap/3_structures/structures/try.ts.html create mode 100644 src/abap/3_structures/structures/type_enum.ts.html create mode 100644 src/abap/3_structures/structures/type_mesh.ts.html create mode 100644 src/abap/3_structures/structures/types.ts.html create mode 100644 src/abap/3_structures/structures/when.ts.html create mode 100644 src/abap/3_structures/structures/when_type.ts.html create mode 100644 src/abap/3_structures/structures/while.ts.html create mode 100644 src/abap/3_structures/structures/with.ts.html create mode 100644 src/abap/4_file_information/_abap_file_information.ts.html create mode 100644 src/abap/4_file_information/_identifier.ts.html create mode 100644 src/abap/4_file_information/abap_file_information.ts.html create mode 100644 src/abap/4_file_information/index.html create mode 100644 src/abap/4_file_information/visibility.ts.html create mode 100644 src/abap/5_syntax/_builtin.ts.html create mode 100644 src/abap/5_syntax/_current_scope.ts.html create mode 100644 src/abap/5_syntax/_object_oriented.ts.html create mode 100644 src/abap/5_syntax/_procedural.ts.html create mode 100644 src/abap/5_syntax/_reference.ts.html create mode 100644 src/abap/5_syntax/_scope_type.ts.html create mode 100644 src/abap/5_syntax/_syntax_input.ts.html create mode 100644 src/abap/5_syntax/_type_utils.ts.html create mode 100644 src/abap/5_syntax/assert_error.ts.html create mode 100644 src/abap/5_syntax/basic_types.ts.html create mode 100644 src/abap/5_syntax/expressions/attribute_chain.ts.html create mode 100644 src/abap/5_syntax/expressions/attribute_name.ts.html create mode 100644 src/abap/5_syntax/expressions/cast.ts.html create mode 100644 src/abap/5_syntax/expressions/compare.ts.html create mode 100644 src/abap/5_syntax/expressions/component_chain.ts.html create mode 100644 src/abap/5_syntax/expressions/component_compare.ts.html create mode 100644 src/abap/5_syntax/expressions/component_compare_simple.ts.html create mode 100644 src/abap/5_syntax/expressions/component_cond.ts.html create mode 100644 src/abap/5_syntax/expressions/component_name.ts.html create mode 100644 src/abap/5_syntax/expressions/cond.ts.html create mode 100644 src/abap/5_syntax/expressions/cond_body.ts.html create mode 100644 src/abap/5_syntax/expressions/constant.ts.html create mode 100644 src/abap/5_syntax/expressions/conv_body.ts.html create mode 100644 src/abap/5_syntax/expressions/corresponding_body.ts.html create mode 100644 src/abap/5_syntax/expressions/data_definition.ts.html create mode 100644 src/abap/5_syntax/expressions/database_table.ts.html create mode 100644 src/abap/5_syntax/expressions/default.ts.html create mode 100644 src/abap/5_syntax/expressions/dereference.ts.html create mode 100644 src/abap/5_syntax/expressions/dynamic.ts.html create mode 100644 src/abap/5_syntax/expressions/field_assignment.ts.html create mode 100644 src/abap/5_syntax/expressions/field_chain.ts.html create mode 100644 src/abap/5_syntax/expressions/field_length.ts.html create mode 100644 src/abap/5_syntax/expressions/field_offset.ts.html create mode 100644 src/abap/5_syntax/expressions/filter_body.ts.html create mode 100644 src/abap/5_syntax/expressions/for.ts.html create mode 100644 src/abap/5_syntax/expressions/form_param.ts.html create mode 100644 src/abap/5_syntax/expressions/fstarget.ts.html create mode 100644 src/abap/5_syntax/expressions/index.html create mode 100644 src/abap/5_syntax/expressions/inline_data.ts.html create mode 100644 src/abap/5_syntax/expressions/inline_field_definition.ts.html create mode 100644 src/abap/5_syntax/expressions/inline_fs.ts.html create mode 100644 src/abap/5_syntax/expressions/inline_loop_definition.ts.html create mode 100644 src/abap/5_syntax/expressions/let.ts.html create mode 100644 src/abap/5_syntax/expressions/loop_group_by.ts.html create mode 100644 src/abap/5_syntax/expressions/message_source.ts.html create mode 100644 src/abap/5_syntax/expressions/method_call_body.ts.html create mode 100644 src/abap/5_syntax/expressions/method_call_chain.ts.html create mode 100644 src/abap/5_syntax/expressions/method_call_param.ts.html create mode 100644 src/abap/5_syntax/expressions/method_def_returning.ts.html create mode 100644 src/abap/5_syntax/expressions/method_param.ts.html create mode 100644 src/abap/5_syntax/expressions/method_parameters.ts.html create mode 100644 src/abap/5_syntax/expressions/method_source.ts.html create mode 100644 src/abap/5_syntax/expressions/new_object.ts.html create mode 100644 src/abap/5_syntax/expressions/raise_with.ts.html create mode 100644 src/abap/5_syntax/expressions/reduce_body.ts.html create mode 100644 src/abap/5_syntax/expressions/reduce_next.ts.html create mode 100644 src/abap/5_syntax/expressions/select.ts.html create mode 100644 src/abap/5_syntax/expressions/select_loop.ts.html create mode 100644 src/abap/5_syntax/expressions/source.ts.html create mode 100644 src/abap/5_syntax/expressions/source_field.ts.html create mode 100644 src/abap/5_syntax/expressions/source_field_symbol.ts.html create mode 100644 src/abap/5_syntax/expressions/sql_compare.ts.html create mode 100644 src/abap/5_syntax/expressions/sql_for_all_entries.ts.html create mode 100644 src/abap/5_syntax/expressions/sql_from.ts.html create mode 100644 src/abap/5_syntax/expressions/sql_in.ts.html create mode 100644 src/abap/5_syntax/expressions/sql_order_by.ts.html create mode 100644 src/abap/5_syntax/expressions/sql_source.ts.html create mode 100644 src/abap/5_syntax/expressions/string_template.ts.html create mode 100644 src/abap/5_syntax/expressions/switch_body.ts.html create mode 100644 src/abap/5_syntax/expressions/table_expression.ts.html create mode 100644 src/abap/5_syntax/expressions/target.ts.html create mode 100644 src/abap/5_syntax/expressions/type_table.ts.html create mode 100644 src/abap/5_syntax/expressions/type_table_key.ts.html create mode 100644 src/abap/5_syntax/expressions/value_body.ts.html create mode 100644 src/abap/5_syntax/global_definitions/find_global_definitions.ts.html create mode 100644 src/abap/5_syntax/global_definitions/index.html create mode 100644 src/abap/5_syntax/index.html create mode 100644 src/abap/5_syntax/spaghetti_scope.ts.html create mode 100644 src/abap/5_syntax/statements/add.ts.html create mode 100644 src/abap/5_syntax/statements/add_corresponding.ts.html create mode 100644 src/abap/5_syntax/statements/append.ts.html create mode 100644 src/abap/5_syntax/statements/assert.ts.html create mode 100644 src/abap/5_syntax/statements/assign.ts.html create mode 100644 src/abap/5_syntax/statements/authority_check.ts.html create mode 100644 src/abap/5_syntax/statements/call.ts.html create mode 100644 src/abap/5_syntax/statements/call_badi.ts.html create mode 100644 src/abap/5_syntax/statements/call_function.ts.html create mode 100644 src/abap/5_syntax/statements/call_kernel.ts.html create mode 100644 src/abap/5_syntax/statements/call_transaction.ts.html create mode 100644 src/abap/5_syntax/statements/call_transformation.ts.html create mode 100644 src/abap/5_syntax/statements/case.ts.html create mode 100644 src/abap/5_syntax/statements/case_type.ts.html create mode 100644 src/abap/5_syntax/statements/catch.ts.html create mode 100644 src/abap/5_syntax/statements/check.ts.html create mode 100644 src/abap/5_syntax/statements/class_data.ts.html create mode 100644 src/abap/5_syntax/statements/class_deferred.ts.html create mode 100644 src/abap/5_syntax/statements/class_implementation.ts.html create mode 100644 src/abap/5_syntax/statements/class_local_friends.ts.html create mode 100644 src/abap/5_syntax/statements/clear.ts.html create mode 100644 src/abap/5_syntax/statements/close_dataset.ts.html create mode 100644 src/abap/5_syntax/statements/collect.ts.html create mode 100644 src/abap/5_syntax/statements/commit_entities.ts.html create mode 100644 src/abap/5_syntax/statements/concatenate.ts.html create mode 100644 src/abap/5_syntax/statements/condense.ts.html create mode 100644 src/abap/5_syntax/statements/constant.ts.html create mode 100644 src/abap/5_syntax/statements/controls.ts.html create mode 100644 src/abap/5_syntax/statements/convert.ts.html create mode 100644 src/abap/5_syntax/statements/create_data.ts.html create mode 100644 src/abap/5_syntax/statements/create_object.ts.html create mode 100644 src/abap/5_syntax/statements/data.ts.html create mode 100644 src/abap/5_syntax/statements/delete_cluster.ts.html create mode 100644 src/abap/5_syntax/statements/delete_database.ts.html create mode 100644 src/abap/5_syntax/statements/delete_internal.ts.html create mode 100644 src/abap/5_syntax/statements/delete_report.ts.html create mode 100644 src/abap/5_syntax/statements/describe.ts.html create mode 100644 src/abap/5_syntax/statements/divide.ts.html create mode 100644 src/abap/5_syntax/statements/do.ts.html create mode 100644 src/abap/5_syntax/statements/editor_call.ts.html create mode 100644 src/abap/5_syntax/statements/else_if.ts.html create mode 100644 src/abap/5_syntax/statements/export.ts.html create mode 100644 src/abap/5_syntax/statements/fieldsymbol.ts.html create mode 100644 src/abap/5_syntax/statements/find.ts.html create mode 100644 src/abap/5_syntax/statements/form.ts.html create mode 100644 src/abap/5_syntax/statements/format.ts.html create mode 100644 src/abap/5_syntax/statements/get_badi.ts.html create mode 100644 src/abap/5_syntax/statements/get_bit.ts.html create mode 100644 src/abap/5_syntax/statements/get_cursor.ts.html create mode 100644 src/abap/5_syntax/statements/get_locale.ts.html create mode 100644 src/abap/5_syntax/statements/get_parameter.ts.html create mode 100644 src/abap/5_syntax/statements/get_reference.ts.html create mode 100644 src/abap/5_syntax/statements/get_run_time.ts.html create mode 100644 src/abap/5_syntax/statements/get_time.ts.html create mode 100644 src/abap/5_syntax/statements/if.ts.html create mode 100644 src/abap/5_syntax/statements/import.ts.html create mode 100644 src/abap/5_syntax/statements/import_dynpro.ts.html create mode 100644 src/abap/5_syntax/statements/include_type.ts.html create mode 100644 src/abap/5_syntax/statements/index.html create mode 100644 src/abap/5_syntax/statements/insert_database.ts.html create mode 100644 src/abap/5_syntax/statements/insert_field_group.ts.html create mode 100644 src/abap/5_syntax/statements/insert_internal.ts.html create mode 100644 src/abap/5_syntax/statements/insert_report.ts.html create mode 100644 src/abap/5_syntax/statements/insert_textpool.ts.html create mode 100644 src/abap/5_syntax/statements/interface_deferred.ts.html create mode 100644 src/abap/5_syntax/statements/log_point.ts.html create mode 100644 src/abap/5_syntax/statements/loop.ts.html create mode 100644 src/abap/5_syntax/statements/loop_at_screen.ts.html create mode 100644 src/abap/5_syntax/statements/message.ts.html create mode 100644 src/abap/5_syntax/statements/method_implementation.ts.html create mode 100644 src/abap/5_syntax/statements/modify_database.ts.html create mode 100644 src/abap/5_syntax/statements/modify_entities.ts.html create mode 100644 src/abap/5_syntax/statements/modify_internal.ts.html create mode 100644 src/abap/5_syntax/statements/modify_screen.ts.html create mode 100644 src/abap/5_syntax/statements/move.ts.html create mode 100644 src/abap/5_syntax/statements/move_corresponding.ts.html create mode 100644 src/abap/5_syntax/statements/multiply.ts.html create mode 100644 src/abap/5_syntax/statements/open_dataset.ts.html create mode 100644 src/abap/5_syntax/statements/pack.ts.html create mode 100644 src/abap/5_syntax/statements/parameter.ts.html create mode 100644 src/abap/5_syntax/statements/perform.ts.html create mode 100644 src/abap/5_syntax/statements/raise.ts.html create mode 100644 src/abap/5_syntax/statements/raise_event.ts.html create mode 100644 src/abap/5_syntax/statements/ranges.ts.html create mode 100644 src/abap/5_syntax/statements/read_entities.ts.html create mode 100644 src/abap/5_syntax/statements/read_report.ts.html create mode 100644 src/abap/5_syntax/statements/read_table.ts.html create mode 100644 src/abap/5_syntax/statements/read_textpool.ts.html create mode 100644 src/abap/5_syntax/statements/receive.ts.html create mode 100644 src/abap/5_syntax/statements/replace.ts.html create mode 100644 src/abap/5_syntax/statements/scan.ts.html create mode 100644 src/abap/5_syntax/statements/search.ts.html create mode 100644 src/abap/5_syntax/statements/select.ts.html create mode 100644 src/abap/5_syntax/statements/select_loop.ts.html create mode 100644 src/abap/5_syntax/statements/selection_screen.ts.html create mode 100644 src/abap/5_syntax/statements/selectoption.ts.html create mode 100644 src/abap/5_syntax/statements/set_bit.ts.html create mode 100644 src/abap/5_syntax/statements/set_handler.ts.html create mode 100644 src/abap/5_syntax/statements/set_locale.ts.html create mode 100644 src/abap/5_syntax/statements/set_parameter.ts.html create mode 100644 src/abap/5_syntax/statements/set_pf_status.ts.html create mode 100644 src/abap/5_syntax/statements/set_titlebar.ts.html create mode 100644 src/abap/5_syntax/statements/shift.ts.html create mode 100644 src/abap/5_syntax/statements/sort.ts.html create mode 100644 src/abap/5_syntax/statements/split.ts.html create mode 100644 src/abap/5_syntax/statements/static.ts.html create mode 100644 src/abap/5_syntax/statements/submit.ts.html create mode 100644 src/abap/5_syntax/statements/subtract.ts.html create mode 100644 src/abap/5_syntax/statements/subtract_corresponding.ts.html create mode 100644 src/abap/5_syntax/statements/syntax_check.ts.html create mode 100644 src/abap/5_syntax/statements/system_call.ts.html create mode 100644 src/abap/5_syntax/statements/tables.ts.html create mode 100644 src/abap/5_syntax/statements/transfer.ts.html create mode 100644 src/abap/5_syntax/statements/translate.ts.html create mode 100644 src/abap/5_syntax/statements/truncate_dataset.ts.html create mode 100644 src/abap/5_syntax/statements/type.ts.html create mode 100644 src/abap/5_syntax/statements/unassign.ts.html create mode 100644 src/abap/5_syntax/statements/unpack.ts.html create mode 100644 src/abap/5_syntax/statements/update_database.ts.html create mode 100644 src/abap/5_syntax/statements/wait.ts.html create mode 100644 src/abap/5_syntax/statements/when.ts.html create mode 100644 src/abap/5_syntax/statements/when_type.ts.html create mode 100644 src/abap/5_syntax/statements/while.ts.html create mode 100644 src/abap/5_syntax/statements/with.ts.html create mode 100644 src/abap/5_syntax/statements/with_loop.ts.html create mode 100644 src/abap/5_syntax/statements/write.ts.html create mode 100644 src/abap/5_syntax/structures/class_data.ts.html create mode 100644 src/abap/5_syntax/structures/constants.ts.html create mode 100644 src/abap/5_syntax/structures/data.ts.html create mode 100644 src/abap/5_syntax/structures/index.html create mode 100644 src/abap/5_syntax/structures/statics.ts.html create mode 100644 src/abap/5_syntax/structures/type_enum.ts.html create mode 100644 src/abap/5_syntax/structures/types.ts.html create mode 100644 src/abap/5_syntax/syntax.ts.html create mode 100644 src/abap/abap_file.ts.html create mode 100644 src/abap/abap_parser.ts.html create mode 100644 src/abap/artifacts.ts.html create mode 100644 src/abap/flow/flow_graph.ts.html create mode 100644 src/abap/flow/index.html create mode 100644 src/abap/flow/statement_flow.ts.html create mode 100644 src/abap/index.html create mode 100644 src/abap/nodes/_abstract_node.ts.html create mode 100644 src/abap/nodes/expression_node.ts.html create mode 100644 src/abap/nodes/index.html create mode 100644 src/abap/nodes/index.ts.html create mode 100644 src/abap/nodes/statement_node.ts.html create mode 100644 src/abap/nodes/structure_node.ts.html create mode 100644 src/abap/nodes/token_node.ts.html create mode 100644 src/abap/nodes/token_node_regex.ts.html create mode 100644 src/abap/types/_typed_identifier.ts.html create mode 100644 src/abap/types/alias.ts.html create mode 100644 src/abap/types/basic/_abstract_type.ts.html create mode 100644 src/abap/types/basic/any_type.ts.html create mode 100644 src/abap/types/basic/cgeneric_type.ts.html create mode 100644 src/abap/types/basic/character_type.ts.html create mode 100644 src/abap/types/basic/clike_type.ts.html create mode 100644 src/abap/types/basic/csequence_type.ts.html create mode 100644 src/abap/types/basic/data_reference_type.ts.html create mode 100644 src/abap/types/basic/data_type.ts.html create mode 100644 src/abap/types/basic/date_type.ts.html create mode 100644 src/abap/types/basic/decfloat16_type.ts.html create mode 100644 src/abap/types/basic/decfloat34_type.ts.html create mode 100644 src/abap/types/basic/decfloat_type.ts.html create mode 100644 src/abap/types/basic/enum_type.ts.html create mode 100644 src/abap/types/basic/float_type.ts.html create mode 100644 src/abap/types/basic/floating_point_type.ts.html create mode 100644 src/abap/types/basic/generic_object_reference_type.ts.html create mode 100644 src/abap/types/basic/hex_type.ts.html create mode 100644 src/abap/types/basic/index.html create mode 100644 src/abap/types/basic/index.ts.html create mode 100644 src/abap/types/basic/integer8_type.ts.html create mode 100644 src/abap/types/basic/integer_type.ts.html create mode 100644 src/abap/types/basic/numeric_generic_type.ts.html create mode 100644 src/abap/types/basic/numeric_type.ts.html create mode 100644 src/abap/types/basic/object_reference_type.ts.html create mode 100644 src/abap/types/basic/packed_type.ts.html create mode 100644 src/abap/types/basic/simple_type.ts.html create mode 100644 src/abap/types/basic/string_type.ts.html create mode 100644 src/abap/types/basic/structure_type.ts.html create mode 100644 src/abap/types/basic/table_type.ts.html create mode 100644 src/abap/types/basic/time_type.ts.html create mode 100644 src/abap/types/basic/unknown_type.ts.html create mode 100644 src/abap/types/basic/utc_long_type.ts.html create mode 100644 src/abap/types/basic/void_type.ts.html create mode 100644 src/abap/types/basic/xgeneric_type.ts.html create mode 100644 src/abap/types/basic/xsequence_type.ts.html create mode 100644 src/abap/types/basic/xstring_type.ts.html create mode 100644 src/abap/types/class_attribute.ts.html create mode 100644 src/abap/types/class_attributes.ts.html create mode 100644 src/abap/types/class_constant.ts.html create mode 100644 src/abap/types/class_definition.ts.html create mode 100644 src/abap/types/class_implementation.ts.html create mode 100644 src/abap/types/event_definition.ts.html create mode 100644 src/abap/types/form_definition.ts.html create mode 100644 src/abap/types/function_module_definition.ts.html create mode 100644 src/abap/types/index.html create mode 100644 src/abap/types/index.ts.html create mode 100644 src/abap/types/interface_definition.ts.html create mode 100644 src/abap/types/message.ts.html create mode 100644 src/abap/types/method_definition.ts.html create mode 100644 src/abap/types/method_definitions.ts.html create mode 100644 src/abap/types/method_implementation.ts.html create mode 100644 src/abap/types/method_parameters.ts.html create mode 100644 src/abap/types/type_definitions.ts.html create mode 100644 src/artifacts_objects.ts.html create mode 100644 src/artifacts_rules.ts.html create mode 100644 src/cds/cds_determine_types.ts.html create mode 100644 src/cds/cds_lexer.ts.html create mode 100644 src/cds/cds_parser.ts.html create mode 100644 src/cds/expressions/cds_aggregate.ts.html create mode 100644 src/cds/expressions/cds_annotate.ts.html create mode 100644 src/cds/expressions/cds_annotation.ts.html create mode 100644 src/cds/expressions/cds_annotation_array.ts.html create mode 100644 src/cds/expressions/cds_annotation_object.ts.html create mode 100644 src/cds/expressions/cds_annotation_simple.ts.html create mode 100644 src/cds/expressions/cds_arithmetics.ts.html create mode 100644 src/cds/expressions/cds_as.ts.html create mode 100644 src/cds/expressions/cds_association.ts.html create mode 100644 src/cds/expressions/cds_cardinality.ts.html create mode 100644 src/cds/expressions/cds_case.ts.html create mode 100644 src/cds/expressions/cds_cast.ts.html create mode 100644 src/cds/expressions/cds_composition.ts.html create mode 100644 src/cds/expressions/cds_condition.ts.html create mode 100644 src/cds/expressions/cds_define_abstract.ts.html create mode 100644 src/cds/expressions/cds_define_custom.ts.html create mode 100644 src/cds/expressions/cds_define_projection.ts.html create mode 100644 src/cds/expressions/cds_define_view.ts.html create mode 100644 src/cds/expressions/cds_element.ts.html create mode 100644 src/cds/expressions/cds_function.ts.html create mode 100644 src/cds/expressions/cds_group_by.ts.html create mode 100644 src/cds/expressions/cds_integer.ts.html create mode 100644 src/cds/expressions/cds_join.ts.html create mode 100644 src/cds/expressions/cds_name.ts.html create mode 100644 src/cds/expressions/cds_parameters.ts.html create mode 100644 src/cds/expressions/cds_parameters_select.ts.html create mode 100644 src/cds/expressions/cds_provider_contract.ts.html create mode 100644 src/cds/expressions/cds_relation.ts.html create mode 100644 src/cds/expressions/cds_select.ts.html create mode 100644 src/cds/expressions/cds_source.ts.html create mode 100644 src/cds/expressions/cds_string.ts.html create mode 100644 src/cds/expressions/cds_type.ts.html create mode 100644 src/cds/expressions/cds_where.ts.html create mode 100644 src/cds/expressions/cds_with_parameters.ts.html create mode 100644 src/cds/expressions/index.html create mode 100644 src/cds/expressions/index.ts.html create mode 100644 src/cds/index.html create mode 100644 src/config.ts.html create mode 100644 src/ddic.ts.html create mode 100644 src/ddic_references.ts.html create mode 100644 src/ddl/ddl_lexer.ts.html create mode 100644 src/ddl/ddl_parser.ts.html create mode 100644 src/ddl/expressions/ddl_include.ts.html create mode 100644 src/ddl/expressions/ddl_name.ts.html create mode 100644 src/ddl/expressions/ddl_structure.ts.html create mode 100644 src/ddl/expressions/ddl_structure_field.ts.html create mode 100644 src/ddl/expressions/ddl_table.ts.html create mode 100644 src/ddl/expressions/ddl_table_field.ts.html create mode 100644 src/ddl/expressions/ddl_type.ts.html create mode 100644 src/ddl/expressions/index.html create mode 100644 src/ddl/expressions/index.ts.html create mode 100644 src/ddl/index.html create mode 100644 src/edit_helper.ts.html create mode 100644 src/files/_abstract_file.ts.html create mode 100644 src/files/index.html create mode 100644 src/files/memory_file.ts.html create mode 100644 src/index.html create mode 100644 src/index.ts.html create mode 100644 src/issue.ts.html create mode 100644 src/lsp/_edit.ts.html create mode 100644 src/lsp/_interfaces.ts.html create mode 100644 src/lsp/_lookup.ts.html create mode 100644 src/lsp/_lsp_utils.ts.html create mode 100644 src/lsp/code_actions.ts.html create mode 100644 src/lsp/code_lens.ts.html create mode 100644 src/lsp/definition.ts.html create mode 100644 src/lsp/diagnostics.ts.html create mode 100644 src/lsp/dump_scope.ts.html create mode 100644 src/lsp/help.ts.html create mode 100644 src/lsp/highlight.ts.html create mode 100644 src/lsp/hover.ts.html create mode 100644 src/lsp/implementation.ts.html create mode 100644 src/lsp/index.html create mode 100644 src/lsp/inlay_hints.ts.html create mode 100644 src/lsp/language_server.ts.html create mode 100644 src/lsp/references.ts.html create mode 100644 src/lsp/rename.ts.html create mode 100644 src/lsp/semantic.ts.html create mode 100644 src/lsp/symbols.ts.html create mode 100644 src/macro_references.ts.html create mode 100644 src/msag_references.ts.html create mode 100644 src/objects/_abap_object.ts.html create mode 100644 src/objects/_abstract_object.ts.html create mode 100644 src/objects/_unknown_object.ts.html create mode 100644 src/objects/activation_variant.ts.html create mode 100644 src/objects/api_release_state.ts.html create mode 100644 src/objects/application_job_catalog_entry.ts.html create mode 100644 src/objects/application_job_template.ts.html create mode 100644 src/objects/application_log_object.ts.html create mode 100644 src/objects/assignment_service_to_authorization_group.ts.html create mode 100644 src/objects/atc_check_category.ts.html create mode 100644 src/objects/atc_check_object.ts.html create mode 100644 src/objects/atc_check_variant.ts.html create mode 100644 src/objects/authorization_check_field.ts.html create mode 100644 src/objects/authorization_group.ts.html create mode 100644 src/objects/authorization_object.ts.html create mode 100644 src/objects/authorization_object_class.ts.html create mode 100644 src/objects/authorization_object_extension.ts.html create mode 100644 src/objects/behavior_definition.ts.html create mode 100644 src/objects/bsp_application.ts.html create mode 100644 src/objects/business_add_in_implementation.ts.html create mode 100644 src/objects/business_catalog.ts.html create mode 100644 src/objects/business_catalog_app_assignment.ts.html create mode 100644 src/objects/business_configuration_set.ts.html create mode 100644 src/objects/business_function_assignment.ts.html create mode 100644 src/objects/business_function_set_assignment.ts.html create mode 100644 src/objects/business_object_model.ts.html create mode 100644 src/objects/business_object_type.ts.html create mode 100644 src/objects/cds_metadata_extension.ts.html create mode 100644 src/objects/change_document.ts.html create mode 100644 src/objects/chapter_of_book_structure.ts.html create mode 100644 src/objects/checkpoint_group.ts.html create mode 100644 src/objects/class.ts.html create mode 100644 src/objects/classification.ts.html create mode 100644 src/objects/communication_scenario.ts.html create mode 100644 src/objects/composite_enhancement_implementation.ts.html create mode 100644 src/objects/composite_enhancement_spot.ts.html create mode 100644 src/objects/concepts_of_package.ts.html create mode 100644 src/objects/customer_enhancement_project.ts.html create mode 100644 src/objects/customizing_attributes.ts.html create mode 100644 src/objects/customizing_img_activity.ts.html create mode 100644 src/objects/customizing_transaction.ts.html create mode 100644 src/objects/data_control.ts.html create mode 100644 src/objects/data_definition.ts.html create mode 100644 src/objects/data_element.ts.html create mode 100644 src/objects/dialog_module.ts.html create mode 100644 src/objects/documentation.ts.html create mode 100644 src/objects/domain.ts.html create mode 100644 src/objects/ecatt_test_configuration.ts.html create mode 100644 src/objects/ecatt_test_data_container.ts.html create mode 100644 src/objects/ecatt_test_script.ts.html create mode 100644 src/objects/enhancement_implementation.ts.html create mode 100644 src/objects/enhancement_spot.ts.html create mode 100644 src/objects/event_binding.ts.html create mode 100644 src/objects/event_consumer.ts.html create mode 100644 src/objects/extension_index.ts.html create mode 100644 src/objects/field_catalog.ts.html create mode 100644 src/objects/form_object_form.ts.html create mode 100644 src/objects/form_object_interface.ts.html create mode 100644 src/objects/format_type.ts.html create mode 100644 src/objects/function_group.ts.html create mode 100644 src/objects/gateway_model.ts.html create mode 100644 src/objects/gateway_model_metadata.ts.html create mode 100644 src/objects/gateway_project.ts.html create mode 100644 src/objects/gateway_service.ts.html create mode 100644 src/objects/gateway_service_groups_metadata.ts.html create mode 100644 src/objects/gateway_vocabulary_annotation.ts.html create mode 100644 src/objects/general_hierarchy_storage_extrension_name.ts.html create mode 100644 src/objects/general_storage_structure.ts.html create mode 100644 src/objects/general_text.ts.html create mode 100644 src/objects/http_service.ts.html create mode 100644 src/objects/iac_binary_data.ts.html create mode 100644 src/objects/iac_language_resource.ts.html create mode 100644 src/objects/iac_service.ts.html create mode 100644 src/objects/iac_template.ts.html create mode 100644 src/objects/iam_app.ts.html create mode 100644 src/objects/icf_service.ts.html create mode 100644 src/objects/idoc.ts.html create mode 100644 src/objects/idoc_extension.ts.html create mode 100644 src/objects/inbound_service.ts.html create mode 100644 src/objects/index.html create mode 100644 src/objects/index.ts.html create mode 100644 src/objects/info_object.ts.html create mode 100644 src/objects/interface.ts.html create mode 100644 src/objects/lock_object.ts.html create mode 100644 src/objects/maintenance_and_transport_object.ts.html create mode 100644 src/objects/message_class.ts.html create mode 100644 src/objects/messaging_channel.ts.html create mode 100644 src/objects/mime_object.ts.html create mode 100644 src/objects/namespace.ts.html create mode 100644 src/objects/neptune_api.ts.html create mode 100644 src/objects/neptune_app.ts.html create mode 100644 src/objects/neptune_custom_color.ts.html create mode 100644 src/objects/neptune_custom_js_helper.ts.html create mode 100644 src/objects/neptune_documentation.ts.html create mode 100644 src/objects/neptune_enhancement.ts.html create mode 100644 src/objects/neptune_launchpad.ts.html create mode 100644 src/objects/neptune_launchpad_layout.ts.html create mode 100644 src/objects/neptune_login_page.ts.html create mode 100644 src/objects/neptune_media_library.ts.html create mode 100644 src/objects/neptune_media_pack.ts.html create mode 100644 src/objects/neptune_metadata.ts.html create mode 100644 src/objects/neptune_mobile_client.ts.html create mode 100644 src/objects/neptune_odata.ts.html create mode 100644 src/objects/neptune_policy.ts.html create mode 100644 src/objects/neptune_rfc_mapping.ts.html create mode 100644 src/objects/neptune_rich_text_template.ts.html create mode 100644 src/objects/neptune_splash_screen.ts.html create mode 100644 src/objects/neptune_sticky_banner.ts.html create mode 100644 src/objects/neptune_tile.ts.html create mode 100644 src/objects/neptune_tile_group.ts.html create mode 100644 src/objects/neptune_tile_layout.ts.html create mode 100644 src/objects/neptune_url_alias.ts.html create mode 100644 src/objects/number_range.ts.html create mode 100644 src/objects/oauth2_profile.ts.html create mode 100644 src/objects/object_characteristic.ts.html create mode 100644 src/objects/outbound_service.ts.html create mode 100644 src/objects/package.ts.html create mode 100644 src/objects/package_interface.ts.html create mode 100644 src/objects/parameter.ts.html create mode 100644 src/objects/personalization_object.ts.html create mode 100644 src/objects/program.ts.html create mode 100644 src/objects/proxy_object.ts.html create mode 100644 src/objects/push_channel.ts.html create mode 100644 src/objects/query_user_group.ts.html create mode 100644 src/objects/rename/index.html create mode 100644 src/objects/rename/rename_data_element.ts.html create mode 100644 src/objects/rename/rename_domain.ts.html create mode 100644 src/objects/rename/rename_global_class.ts.html create mode 100644 src/objects/rename/rename_global_interface.ts.html create mode 100644 src/objects/rename/rename_message_class.ts.html create mode 100644 src/objects/rename/rename_table.ts.html create mode 100644 src/objects/rename/rename_table_type.ts.html create mode 100644 src/objects/rename/renamer.ts.html create mode 100644 src/objects/rename/renamer_helper.ts.html create mode 100644 src/objects/restriction_field.ts.html create mode 100644 src/objects/restriction_type.ts.html create mode 100644 src/objects/rfc_service.ts.html create mode 100644 src/objects/sapscript.ts.html create mode 100644 src/objects/sapscript_style.ts.html create mode 100644 src/objects/screen_variant.ts.html create mode 100644 src/objects/search_help.ts.html create mode 100644 src/objects/service_binding.ts.html create mode 100644 src/objects/service_definition.ts.html create mode 100644 src/objects/shared_memory.ts.html create mode 100644 src/objects/smart_form.ts.html create mode 100644 src/objects/smart_style.ts.html create mode 100644 src/objects/standard_task.ts.html create mode 100644 src/objects/switch_assignment_hierarchy.ts.html create mode 100644 src/objects/switch_assignments.ts.html create mode 100644 src/objects/table.ts.html create mode 100644 src/objects/table_type.ts.html create mode 100644 src/objects/technical_job_definition.ts.html create mode 100644 src/objects/transaction.ts.html create mode 100644 src/objects/transaction_variant.ts.html create mode 100644 src/objects/transformation.ts.html create mode 100644 src/objects/type_pool.ts.html create mode 100644 src/objects/view.ts.html create mode 100644 src/objects/view_cluster.ts.html create mode 100644 src/objects/virtual_end_point.ts.html create mode 100644 src/objects/web_dynpro_application.ts.html create mode 100644 src/objects/web_dynpro_application_configuration.ts.html create mode 100644 src/objects/web_dynpro_component.ts.html create mode 100644 src/objects/web_dynpro_component_configuration.ts.html create mode 100644 src/objects/web_mime.ts.html create mode 100644 src/position.ts.html create mode 100644 src/pretty_printer/fix_keyword_case.ts.html create mode 100644 src/pretty_printer/indent.ts.html create mode 100644 src/pretty_printer/index.html create mode 100644 src/pretty_printer/pretty_printer.ts.html create mode 100644 src/registry.ts.html create mode 100644 src/rules/7bit_ascii.ts.html create mode 100644 src/rules/_abap_rule.ts.html create mode 100644 src/rules/_basic_rule_config.ts.html create mode 100644 src/rules/_irule.ts.html create mode 100644 src/rules/_naming_rule_config.ts.html create mode 100644 src/rules/abapdoc.ts.html create mode 100644 src/rules/align_parameters.ts.html create mode 100644 src/rules/align_pseudo_comments.ts.html create mode 100644 src/rules/align_type_expressions.ts.html create mode 100644 src/rules/allowed_object_naming.ts.html create mode 100644 src/rules/allowed_object_types.ts.html create mode 100644 src/rules/ambiguous_statement.ts.html create mode 100644 src/rules/avoid_use.ts.html create mode 100644 src/rules/begin_end_names.ts.html create mode 100644 src/rules/begin_single_include.ts.html create mode 100644 src/rules/call_transaction_authority_check.ts.html create mode 100644 src/rules/cds_comment_style.ts.html create mode 100644 src/rules/cds_legacy_view.ts.html create mode 100644 src/rules/cds_parser_error.ts.html create mode 100644 src/rules/chain_mainly_declarations.ts.html create mode 100644 src/rules/change_if_to_case.ts.html create mode 100644 src/rules/check_abstract.ts.html create mode 100644 src/rules/check_comments.ts.html create mode 100644 src/rules/check_ddic.ts.html create mode 100644 src/rules/check_include.ts.html create mode 100644 src/rules/check_subrc.ts.html create mode 100644 src/rules/check_syntax.ts.html create mode 100644 src/rules/check_text_elements.ts.html create mode 100644 src/rules/check_transformation_exists.ts.html create mode 100644 src/rules/class_attribute_names.ts.html create mode 100644 src/rules/classic_exceptions_overlap.ts.html create mode 100644 src/rules/cloud_types.ts.html create mode 100644 src/rules/colon_missing_space.ts.html create mode 100644 src/rules/commented_code.ts.html create mode 100644 src/rules/constant_classes.ts.html create mode 100644 src/rules/constructor_visibility_public.ts.html create mode 100644 src/rules/contains_tab.ts.html create mode 100644 src/rules/cyclic_oo.ts.html create mode 100644 src/rules/cyclomatic_complexity.ts.html create mode 100644 src/rules/dangerous_statement.ts.html create mode 100644 src/rules/db_operation_in_loop.ts.html create mode 100644 src/rules/definitions_top.ts.html create mode 100644 src/rules/description_empty.ts.html create mode 100644 src/rules/double_space.ts.html create mode 100644 src/rules/downport.ts.html create mode 100644 src/rules/dynpro_checks.ts.html create mode 100644 src/rules/easy_to_find_messages.ts.html create mode 100644 src/rules/empty_line_in_statement.ts.html create mode 100644 src/rules/empty_statement.ts.html create mode 100644 src/rules/empty_structure.ts.html create mode 100644 src/rules/exit_or_check.ts.html create mode 100644 src/rules/expand_macros.ts.html create mode 100644 src/rules/exporting.ts.html create mode 100644 src/rules/forbidden_identifier.ts.html create mode 100644 src/rules/forbidden_pseudo_and_pragma.ts.html create mode 100644 src/rules/forbidden_void_type.ts.html create mode 100644 src/rules/form_tables_obsolete.ts.html create mode 100644 src/rules/fully_type_constants.ts.html create mode 100644 src/rules/fully_type_itabs.ts.html create mode 100644 src/rules/function_module_recommendations.ts.html create mode 100644 src/rules/functional_writing.ts.html create mode 100644 src/rules/global_class.ts.html create mode 100644 src/rules/identical_conditions.ts.html create mode 100644 src/rules/identical_contents.ts.html create mode 100644 src/rules/identical_descriptions.ts.html create mode 100644 src/rules/identical_form_names.ts.html create mode 100644 src/rules/if_in_if.ts.html create mode 100644 src/rules/implement_methods.ts.html create mode 100644 src/rules/in_statement_indentation.ts.html create mode 100644 src/rules/indentation.ts.html create mode 100644 src/rules/index.html create mode 100644 src/rules/index.ts.html create mode 100644 src/rules/inline_data_old_versions.ts.html create mode 100644 src/rules/intf_referencing_clas.ts.html create mode 100644 src/rules/invalid_table_index.ts.html create mode 100644 src/rules/keep_single_parameter_on_one_line.ts.html create mode 100644 src/rules/keyword_case.ts.html create mode 100644 src/rules/line_break_multiple_parameters.ts.html create mode 100644 src/rules/line_break_style.ts.html create mode 100644 src/rules/line_length.ts.html create mode 100644 src/rules/line_only_punc.ts.html create mode 100644 src/rules/local_class_naming.ts.html create mode 100644 src/rules/local_testclass_consistency.ts.html create mode 100644 src/rules/local_variable_names.ts.html create mode 100644 src/rules/macro_naming.ts.html create mode 100644 src/rules/main_file_contents.ts.html create mode 100644 src/rules/many_parentheses.ts.html create mode 100644 src/rules/max_one_method_parameter_per_line.ts.html create mode 100644 src/rules/max_one_statement.ts.html create mode 100644 src/rules/message_exists.ts.html create mode 100644 src/rules/method_implemented_twice.ts.html create mode 100644 src/rules/method_length.ts.html create mode 100644 src/rules/method_overwrites_builtin.ts.html create mode 100644 src/rules/method_parameter_names.ts.html create mode 100644 src/rules/mix_returning.ts.html create mode 100644 src/rules/modify_only_own_db_tables.ts.html create mode 100644 src/rules/msag_consistency.ts.html create mode 100644 src/rules/names_no_dash.ts.html create mode 100644 src/rules/nesting.ts.html create mode 100644 src/rules/newline_between_methods.ts.html create mode 100644 src/rules/no_aliases.ts.html create mode 100644 src/rules/no_chained_assignment.ts.html create mode 100644 src/rules/no_external_form_calls.ts.html create mode 100644 src/rules/no_inline_in_optional_branches.ts.html create mode 100644 src/rules/no_prefixes.ts.html create mode 100644 src/rules/no_public_attributes.ts.html create mode 100644 src/rules/no_yoda_conditions.ts.html create mode 100644 src/rules/nrob_consistency.ts.html create mode 100644 src/rules/object_naming.ts.html create mode 100644 src/rules/obsolete_statement.ts.html create mode 100644 src/rules/omit_parameter_name.ts.html create mode 100644 src/rules/omit_preceding_zeros.ts.html create mode 100644 src/rules/omit_receiving.ts.html create mode 100644 src/rules/parser_702_chaining.ts.html create mode 100644 src/rules/parser_error.ts.html create mode 100644 src/rules/parser_missing_space.ts.html create mode 100644 src/rules/pragma_style.ts.html create mode 100644 src/rules/prefer_corresponding.ts.html create mode 100644 src/rules/prefer_inline.ts.html create mode 100644 src/rules/prefer_is_not.ts.html create mode 100644 src/rules/prefer_pragmas.ts.html create mode 100644 src/rules/prefer_raise_exception_new.ts.html create mode 100644 src/rules/prefer_returning_to_exporting.ts.html create mode 100644 src/rules/prefer_xsdbool.ts.html create mode 100644 src/rules/preferred_compare_operator.ts.html create mode 100644 src/rules/prefix_is_current_class.ts.html create mode 100644 src/rules/reduce_procedural_code.ts.html create mode 100644 src/rules/reduce_string_templates.ts.html create mode 100644 src/rules/release_idoc.ts.html create mode 100644 src/rules/remove_descriptions.ts.html create mode 100644 src/rules/rfc_error_handling.ts.html create mode 100644 src/rules/select_add_order_by.ts.html create mode 100644 src/rules/select_performance.ts.html create mode 100644 src/rules/select_single_full_key.ts.html create mode 100644 src/rules/selection_screen_naming.ts.html create mode 100644 src/rules/sequential_blank.ts.html create mode 100644 src/rules/short_case.ts.html create mode 100644 src/rules/sicf_consistency.ts.html create mode 100644 src/rules/slow_parameter_passing.ts.html create mode 100644 src/rules/smim_consistency.ts.html create mode 100644 src/rules/space_before_colon.ts.html create mode 100644 src/rules/space_before_dot.ts.html create mode 100644 src/rules/sql_escape_host_variables.ts.html create mode 100644 src/rules/sql_value_conversion.ts.html create mode 100644 src/rules/start_at_tab.ts.html create mode 100644 src/rules/static_call_via_instance.ts.html create mode 100644 src/rules/strict_sql.ts.html create mode 100644 src/rules/superclass_final.ts.html create mode 100644 src/rules/superfluous_value.ts.html create mode 100644 src/rules/sy_modification.ts.html create mode 100644 src/rules/tabl_enhancement_category.ts.html create mode 100644 src/rules/tables_declared_locally.ts.html create mode 100644 src/rules/try_without_catch.ts.html create mode 100644 src/rules/type_form_parameters.ts.html create mode 100644 src/rules/types_naming.ts.html create mode 100644 src/rules/uncaught_exception.ts.html create mode 100644 src/rules/unknown_types.ts.html create mode 100644 src/rules/unnecessary_chaining.ts.html create mode 100644 src/rules/unnecessary_pragma.ts.html create mode 100644 src/rules/unnecessary_return.ts.html create mode 100644 src/rules/unreachable_code.ts.html create mode 100644 src/rules/unsecure_fae.ts.html create mode 100644 src/rules/unused_ddic.ts.html create mode 100644 src/rules/unused_macros.ts.html create mode 100644 src/rules/unused_methods.ts.html create mode 100644 src/rules/unused_types.ts.html create mode 100644 src/rules/unused_variables.ts.html create mode 100644 src/rules/use_bool_expression.ts.html create mode 100644 src/rules/use_class_based_exceptions.ts.html create mode 100644 src/rules/use_line_exists.ts.html create mode 100644 src/rules/use_new.ts.html create mode 100644 src/rules/when_others_last.ts.html create mode 100644 src/rules/whitespace_end.ts.html create mode 100644 src/rules/xml_consistency.ts.html create mode 100644 src/rules_runner.ts.html create mode 100644 src/severity.ts.html create mode 100644 src/skip_logic.ts.html create mode 100644 src/utils/cyclomatic_complexity_stats.ts.html create mode 100644 src/utils/excludeHelper.ts.html create mode 100644 src/utils/form_length_stats.ts.html create mode 100644 src/utils/include_graph.ts.html create mode 100644 src/utils/index.html create mode 100644 src/utils/method_length_stats.ts.html create mode 100644 src/utils/name_validator.ts.html create mode 100644 src/version.ts.html create mode 100644 src/virtual_position.ts.html create mode 100644 src/xml_utils.ts.html create mode 100644 tmp/coverage-1900-1721652357809-0.json create mode 100644 tmp/coverage-1901-1721652303915-0.json diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000000..e69de29bb2d diff --git a/CNAME b/CNAME new file mode 100644 index 00000000000..5c6287f9c39 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +coverage.abaplint.org diff --git a/base.css b/base.css new file mode 100644 index 00000000000..f418035b469 --- /dev/null +++ b/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/block-navigation.js b/block-navigation.js new file mode 100644 index 00000000000..cc121302316 --- /dev/null +++ b/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1525b811a167671e9de1fa78aab9f5c0b61cef7 GIT binary patch literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 91.95% + Statements + 61632/67022 +
+ + +
+ 86.13% + Branches + 12769/14825 +
+ + +
+ 83.89% + Functions + 3423/4080 +
+ + +
+ 91.95% + Lines + 61632/67022 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
src +
+
88.54%1994/225278.39%519/66278.94%150/19088.54%1994/2252
src/abap +
+
75.94%180/237100%21/2155.55%10/1875.94%180/237
src/abap/1_lexer +
+
96.25%411/42794.27%214/227100%20/2096.25%411/427
src/abap/1_lexer/tokens +
+
82.21%342/416100%6/614.28%6/4282.21%342/416
src/abap/2_statements +
+
84.82%1493/176094.25%328/34856.02%107/19184.82%1493/1760
src/abap/2_statements/expressions +
+
99.88%3451/3455100%215/21599.53%215/21699.88%3451/3455
src/abap/2_statements/statements +
+
99.81%6504/6516100%303/30398.05%303/30999.81%6504/6516
src/abap/3_structures +
+
100%66/66100%17/17100%3/3100%66/66
src/abap/3_structures/structures +
+
97.87%1473/150598.44%127/12985.71%78/9197.87%1473/1505
src/abap/4_file_information +
+
97.98%584/59684.11%90/107100%24/2497.98%584/596
src/abap/5_syntax +
+
93.18%4580/491585.4%1106/129593.86%153/16393.18%4580/4915
src/abap/5_syntax/expressions +
+
88.41%3388/383281.69%973/1191100%86/8688.41%3388/3832
src/abap/5_syntax/global_definitions +
+
97.56%160/16490.32%56/62100%5/597.56%160/164
src/abap/5_syntax/statements +
+
86.11%3517/408477.6%686/88478.74%100/12786.11%3517/4084
src/abap/5_syntax/structures +
+
87.37%339/38876.28%74/97100%6/687.37%339/388
src/abap/flow +
+
88.03%368/41890.29%93/10391.3%21/2388.03%368/418
src/abap/nodes +
+
95.81%984/102794.94%338/35696.51%83/8695.81%984/1027
src/abap/types +
+
89.42%1454/162685.46%294/34486.84%99/11489.42%1454/1626
src/abap/types/basic +
+
80.77%941/116589.44%144/16151.19%107/20980.77%941/1165
src/cds +
+
98.66%222/22593.5%72/77100%10/1098.66%222/225
src/cds/expressions +
+
100%502/502100%34/34100%34/34100%502/502
src/ddl +
+
98.11%104/10679.16%19/24100%3/398.11%104/106
src/ddl/expressions +
+
100%74/74100%7/7100%7/7100%74/74
src/files +
+
100%70/7088.88%8/9100%8/8100%70/70
src/lsp +
+
83.8%1936/231074.66%330/44276.72%89/11683.8%1936/2310
src/objects +
+
76.61%4193/547381.28%812/99954.5%333/61176.61%4193/5473
src/objects/rename +
+
90.92%591/65074.78%86/115100%32/3290.92%591/650
src/pretty_printer +
+
99.41%342/34498.33%177/180100%15/1599.41%342/344
src/rules +
+
95.29%20941/2197587.62%5507/628599.69%1296/130095.29%20941/21975
src/utils +
+
96.39%428/44490.4%113/12595.23%20/2196.39%428/444
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/prettify.css b/prettify.css new file mode 100644 index 00000000000..b317a7cda31 --- /dev/null +++ b/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/prettify.js b/prettify.js new file mode 100644 index 00000000000..b3225238f26 --- /dev/null +++ b/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/sort-arrow-sprite.png b/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed68316eb3f65dec9063332d2f69bf3093bbfab GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc literal 0 HcmV?d00001 diff --git a/sorter.js b/sorter.js new file mode 100644 index 00000000000..2bb296a8ca8 --- /dev/null +++ b/sorter.js @@ -0,0 +1,196 @@ +/* eslint-disable */ +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + if ( + row.textContent + .toLowerCase() + .includes(searchValue.toLowerCase()) + ) { + row.style.display = ''; + } else { + row.style.display = 'none'; + } + } + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/src/abap/1_lexer/index.html b/src/abap/1_lexer/index.html new file mode 100644 index 00000000000..92acb139ae3 --- /dev/null +++ b/src/abap/1_lexer/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/abap/1_lexer + + + + + + + + + +
+
+

All files src/abap/1_lexer

+
+ +
+ 96.25% + Statements + 411/427 +
+ + +
+ 94.27% + Branches + 214/227 +
+ + +
+ 100% + Functions + 20/20 +
+ + +
+ 96.25% + Lines + 411/427 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
lexer.ts +
+
96.19%303/31594.38%185/196100%4/496.19%303/315
lexer_buffer.ts +
+
100%30/30100%7/7100%5/5100%30/30
lexer_stream.ts +
+
95.12%78/8291.66%22/24100%11/1195.12%78/82
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/lexer.ts.html b/src/abap/1_lexer/lexer.ts.html new file mode 100644 index 00000000000..53ebfb176dc --- /dev/null +++ b/src/abap/1_lexer/lexer.ts.html @@ -0,0 +1,1027 @@ + + + + + + Code coverage report for src/abap/1_lexer/lexer.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer lexer.ts

+
+ +
+ 96.19% + Statements + 303/315 +
+ + +
+ 94.38% + Branches + 185/196 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 96.19% + Lines + 303/315 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +3151x +1x +1x +1x +1x +1x +1x +1x +1x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +244810x +244810x +156891x +156891x +156891x +156891x +156891x +151403x +151403x +107881x +107881x +151403x +156891x +156891x +156891x +156891x +139928x +139928x +156891x +156891x +156891x +210x +210x +156891x +156891x +156891x +302x +156891x +2439x +156589x +603x +603x +603x +273x +603x +160x +330x +158x +170x +7x +12x +5x +5x +154150x +81x +153547x +54590x +25268x +54590x +221x +  +221x +  +221x +180x +221x +41x +41x +29322x +4998x +888x +4998x +347x +4110x +2128x +3763x +1635x +1635x +29101x +221x +145x +221x +35x +76x +41x +41x +  +  +24103x +5000x +2934x +5000x +68x +2066x +1982x +1998x +16x +16x +23882x +3350x +40x +3350x +16x +3310x +9x +3294x +3285x +3285x +18882x +225x +151x +225x +18x +74x +1x +56x +55x +55x +15532x +434x +  +434x +420x +434x +  +14x +14x +14x +434x +153466x +9570x +428x +  +428x +1x +428x +  +427x +427x +427x +9570x +423x +2x +423x +  +421x +  +421x +421x +421x +423x +9570x +156891x +156891x +112898x +112898x +156891x +156891x +244810x +244810x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +7941x +832008x +832008x +832008x +832008x +832008x +832008x +806679x +215329x +806679x +2284x +2284x +2284x +591350x +602x +602x +602x +589066x +155x +155x +155x +588464x +81x +81x +81x +588309x +588228x +297x +297x +297x +588228x +422x +587931x +587509x +423x +587509x +587086x +587086x +829x +829x +587086x +586257x +586257x +13105x +13105x +832008x +77x +77x +77x +25329x +25252x +25252x +25252x +25252x +25252x +155x +155x +155x +1x +155x +154x +154x +25252x +25097x +25097x +25097x +602x +602x +602x +25097x +24495x +24495x +1x +24495x +24494x +24494x +24494x +24494x +24494x +2277x +2277x +2277x +4x +2277x +2273x +2273x +24494x +230x +230x +22217x +  +  +832008x +832008x +7941x +7941x +832008x +7941x +7941x +7941x +7941x +7941x
import {IFile} from "../../files/_ifile";
+import {Position} from "../../position";
+import {VirtualPosition} from "../../virtual_position";
+import {AbstractToken} from "./tokens/abstract_token";
+import {IABAPLexerResult} from "./lexer_result";
+import {At, AtW, BracketLeft, BracketLeftW, BracketRight, BracketRightW, Comment, Dash, DashW, Identifier, InstanceArrow, InstanceArrowW, ParenLeft, ParenLeftW, ParenRight, ParenRightW, Plus, PlusW, Pragma, Punctuation, StaticArrow, StaticArrowW, StringTemplate, StringTemplateBegin, StringTemplateEnd, StringTemplateMiddle, StringToken, WAt, WAtW, WBracketLeft, WBracketLeftW, WBracketRight, WBracketRightW, WDash, WDashW, WInstanceArrow, WInstanceArrowW, WParenLeft, WParenLeftW, WParenRight, WParenRightW, WPlus, WPlusW, WStaticArrow, WStaticArrowW} from "./tokens";
+import {LexerBuffer} from "./lexer_buffer";
+import {LexerStream} from "./lexer_stream";
+ 
+export class Lexer {
+  private readonly ModeNormal: number = 1;
+  private readonly ModePing: number = 2;
+  private readonly ModeStr: number = 3;
+  private readonly ModeTemplate: number = 4;
+  private readonly ModeComment: number = 5;
+  private readonly ModePragma: number = 6;
+ 
+  private virtual: Position | undefined;
+  private tokens: AbstractToken[];
+  private m: number;
+  private stream: LexerStream;
+  private buffer: LexerBuffer;
+ 
+  public run(file: IFile, virtual?: Position): IABAPLexerResult {
+    this.virtual = virtual;
+    this.tokens = [];
+    this.m = this.ModeNormal;
+ 
+    this.process(file.getRaw());
+    return {file, tokens: this.tokens};
+  }
+ 
+  private add() {
+    const s = this.buffer.get().trim();
+    if (s.length > 0) {
+      const col = this.stream.getCol();
+      const row = this.stream.getRow();
+ 
+      let whiteBefore = false;
+      if (this.stream.getOffset() - s.length >= 0) {
+        const prev = this.stream.getRaw().substr(this.stream.getOffset() - s.length, 1);
+        if (prev === " " || prev === "\n" || prev === "\t" || prev === ":") {
+          whiteBefore = true;
+        }
+      }
+ 
+      let whiteAfter = false;
+      const next = this.stream.nextChar();
+      if (next === " " || next === "\n" || next === "\t" || next === ":" || next === "," || next === "." || next === "" || next === "\"") {
+        whiteAfter = true;
+      }
+ 
+      let pos = new Position(row, col - s.length);
+      if (this.virtual) {
+        pos = new VirtualPosition(this.virtual, pos.getRow(), pos.getCol());
+      }
+ 
+      let tok: AbstractToken | undefined = undefined;
+      if (this.m === this.ModeComment) {
+        tok = new Comment(pos, s);
+      } else if (this.m === this.ModePing || this.m === this.ModeStr) {
+        tok = new StringToken(pos, s);
+      } else if (this.m === this.ModeTemplate) {
+        const first = s.charAt(0);
+        const last = s.charAt(s.length - 1);
+        if (first === "|" && last === "|") {
+          tok = new StringTemplate(pos, s);
+        } else if (first === "|" && last === "{" && whiteAfter === true) {
+          tok = new StringTemplateBegin(pos, s);
+        } else if (first === "}" && last === "|" && whiteBefore === true) {
+          tok = new StringTemplateEnd(pos, s);
+        } else if (first === "}" && last === "{" && whiteAfter === true && whiteBefore === true) {
+          tok = new StringTemplateMiddle(pos, s);
+        } else {
+          tok = new Identifier(pos, s);
+        }
+      } else if (s.length > 2 && s.substr(0, 2) === "##") {
+        tok = new Pragma(pos, s);
+      } else if (s.length === 1) {
+        if (s === "." || s === ",") {
+          tok = new Punctuation(pos, s);
+        } else if (s === "[") {
+          if (whiteBefore === true && whiteAfter === true) {
+            tok = new WBracketLeftW(pos, s);
+          } else if (whiteBefore === true) {
+            tok = new WBracketLeft(pos, s);
+          } else if (whiteAfter === true) {
+            tok = new BracketLeftW(pos, s);
+          } else {
+            tok = new BracketLeft(pos, s);
+          }
+        } else if (s === "(") {
+          if (whiteBefore === true && whiteAfter === true) {
+            tok = new WParenLeftW(pos, s);
+          } else if (whiteBefore === true) {
+            tok = new WParenLeft(pos, s);
+          } else if (whiteAfter === true) {
+            tok = new ParenLeftW(pos, s);
+          } else {
+            tok = new ParenLeft(pos, s);
+          }
+        } else if (s === "]") {
+          if (whiteBefore === true && whiteAfter === true) {
+            tok = new WBracketRightW(pos, s);
+          } else if (whiteBefore === true) {
+            tok = new WBracketRight(pos, s);
+          } else if (whiteAfter === true) {
+            tok = new BracketRightW(pos, s);
+          } else {
+            tok = new BracketRight(pos, s);
+          }
+        } else if (s === ")") {
+          if (whiteBefore === true && whiteAfter === true) {
+            tok = new WParenRightW(pos, s);
+          } else if (whiteBefore === true) {
+            tok = new WParenRight(pos, s);
+          } else if (whiteAfter === true) {
+            tok = new ParenRightW(pos, s);
+          } else {
+            tok = new ParenRight(pos, s);
+          }
+        } else if (s === "-") {
+          if (whiteBefore === true && whiteAfter === true) {
+            tok = new WDashW(pos, s);
+          } else if (whiteBefore === true) {
+            tok = new WDash(pos, s);
+          } else if (whiteAfter === true) {
+            tok = new DashW(pos, s);
+          } else {
+            tok = new Dash(pos, s);
+          }
+        } else if (s === "+") {
+          if (whiteBefore === true && whiteAfter === true) {
+            tok = new WPlusW(pos, s);
+          } else if (whiteBefore === true) {
+            tok = new WPlus(pos, s);
+          } else if (whiteAfter === true) {
+            tok = new PlusW(pos, s);
+          } else {
+            tok = new Plus(pos, s);
+          }
+        } else if (s === "@") {
+          if (whiteBefore === true && whiteAfter === true) {
+            tok = new WAtW(pos, s);
+          } else if (whiteBefore === true) {
+            tok = new WAt(pos, s);
+          } else if (whiteAfter === true) {
+            tok = new AtW(pos, s);
+          } else {
+            tok = new At(pos, s);
+          }
+        }
+      } else if (s.length === 2) {
+        if (s === "->") {
+          if (whiteBefore === true && whiteAfter === true) {
+            tok = new WInstanceArrowW(pos, s);
+          } else if (whiteBefore === true) {
+            tok = new WInstanceArrow(pos, s);
+          } else if (whiteAfter === true) {
+            tok = new InstanceArrowW(pos, s);
+          } else {
+            tok = new InstanceArrow(pos, s);
+          }
+        } else if (s === "=>") {
+          if (whiteBefore === true && whiteAfter === true) {
+            tok = new WStaticArrowW(pos, s);
+          } else if (whiteBefore === true) {
+            tok = new WStaticArrow(pos, s);
+          } else if (whiteAfter === true) {
+            tok = new StaticArrowW(pos, s);
+          } else {
+            tok = new StaticArrow(pos, s);
+          }
+        }
+      }
+ 
+      if (tok === undefined) {
+        tok = new Identifier(pos, s);
+      }
+      this.tokens.push(tok);
+    }
+    this.buffer.clear();
+  }
+ 
+  private process(raw: string) {
+    this.stream = new LexerStream(raw.replace(/\r/g, ""));
+    this.buffer = new LexerBuffer();
+ 
+    const splits: {[name: string]: boolean} = {};
+    splits[" "] = true;
+    splits[":"] = true;
+    splits["."] = true;
+    splits[","] = true;
+    splits["-"] = true;
+    splits["+"] = true;
+    splits["("] = true;
+    splits[")"] = true;
+    splits["["] = true;
+    splits["]"] = true;
+    splits["\t"] = true;
+    splits["\n"] = true;
+ 
+    const bufs: {[name: string]: boolean} = {};
+    bufs["."] = true;
+    bufs[","] = true;
+    bufs[":"] = true;
+    bufs["("] = true;
+    bufs[")"] = true;
+    bufs["["] = true;
+    bufs["]"] = true;
+    bufs["+"] = true;
+    bufs["@"] = true;
+ 
+    for (;;) {
+      const current = this.stream.currentChar();
+      const buf = this.buffer.add(current);
+      const ahead = this.stream.nextChar();
+      const aahead = this.stream.nextNextChar();
+ 
+      if (this.m === this.ModeNormal) {
+        if (splits[ahead]) {
+          this.add();
+        } else if (ahead === "'") {
+// start string
+          this.add();
+          this.m = this.ModeStr;
+        } else if (ahead === "|" || ahead === "}") {
+// start template
+          this.add();
+          this.m = this.ModeTemplate;
+        } else if (ahead === "`") {
+// start ping
+          this.add();
+          this.m = this.ModePing;
+        } else if (aahead === "##") {
+// start pragma
+          this.add();
+          this.m = this.ModePragma;
+        } else if (ahead === "\""
+            || (ahead === "*" && current === "\n")) {
+// start comment
+          this.add();
+          this.m = this.ModeComment;
+        } else if (ahead === "@" && buf.trim().length === 0) {
+          this.add();
+        } else if (aahead === "->"
+            || aahead === "=>") {
+          this.add();
+        } else if (current === ">"
+            && ahead !== " "
+            && (this.stream.prevChar() === "-" || this.stream.prevChar() === "=")) {
+// arrows
+          this.add();
+        } else if (buf.length === 1
+            && (bufs[buf]
+            || (buf === "-" && ahead !== ">"))) {
+          this.add();
+        }
+      } else if (this.m === this.ModePragma && (ahead === "," || ahead === ":" || ahead === "." || ahead === " " || ahead === "\n")) {
+// end of pragma
+        this.add();
+        this.m = this.ModeNormal;
+      } else if (this.m === this.ModePing
+          && buf.length > 1
+          && current === "`"
+          && aahead !== "``"
+          && ahead !== "`"
+          && this.buffer.countIsEven("`")) {
+// end of ping
+        this.add();
+        if (ahead === `"`) {
+          this.m = this.ModeComment;
+        } else {
+          this.m = this.ModeNormal;
+        }
+      } else if (this.m === this.ModeTemplate
+          && buf.length > 1
+          && (current === "|" || current === "{")
+          && (this.stream.prevChar() !== "\\" || this.stream.prevPrevChar() === "\\\\")) {
+// end of template
+        this.add();
+        this.m = this.ModeNormal;
+      } else if (this.m === this.ModeTemplate
+          && ahead === "}"
+          && current !== "\\") {
+        this.add();
+      } else if (this.m === this.ModeStr
+          && current === "'"
+          && buf.length > 1
+          && aahead !== "''"
+          && ahead !== "'"
+          && this.buffer.countIsEven("'")) {
+// end of string
+        this.add();
+        if (ahead === "\"") {
+          this.m = this.ModeComment;
+        } else {
+          this.m = this.ModeNormal;
+        }
+      } else if (ahead === "\n" && this.m !== this.ModeTemplate) {
+        this.add();
+        this.m = this.ModeNormal;
+      } else if (this.m === this.ModeTemplate && current === "\n") {
+        this.add();
+      }
+ 
+      if (!this.stream.advance()) {
+        break;
+      }
+    }
+ 
+    this.add();
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/lexer_buffer.ts.html b/src/abap/1_lexer/lexer_buffer.ts.html new file mode 100644 index 00000000000..c0fe051f8a3 --- /dev/null +++ b/src/abap/1_lexer/lexer_buffer.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/abap/1_lexer/lexer_buffer.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer lexer_buffer.ts

+
+ +
+ 100% + Statements + 30/30 +
+ + +
+ 100% + Branches + 7/7 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 30/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +1x +1x +7941x +7941x +1x +1x +832008x +832008x +832008x +1x +1x +244810x +244810x +1x +1x +244810x +244810x +1x +1x +2453x +2453x +15580x +4973x +4973x +15580x +2453x +2453x +1x + 
export class LexerBuffer {
+  private buf: string;
+ 
+  public constructor() {
+    this.buf = "";
+  }
+ 
+  public add(s: string): string {
+    this.buf = this.buf + s;
+    return this.buf;
+  }
+ 
+  public get(): string {
+    return this.buf;
+  }
+ 
+  public clear(): void {
+    this.buf = "";
+  }
+ 
+  public countIsEven(char: string): boolean {
+    let count = 0;
+    for (let i = 0; i < this.buf.length; i += 1) {
+      if (this.buf.charAt(i) === char) {
+        count += 1;
+      }
+    }
+    return count % 2 === 0;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/lexer_stream.ts.html b/src/abap/1_lexer/lexer_stream.ts.html new file mode 100644 index 00000000000..f65b2335199 --- /dev/null +++ b/src/abap/1_lexer/lexer_stream.ts.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for src/abap/1_lexer/lexer_stream.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer lexer_stream.ts

+
+ +
+ 95.12% + Statements + 78/82 +
+ + +
+ 91.66% + Branches + 22/24 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 95.12% + Lines + 78/82 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +831x +1x +1x +1x +1x +1x +1x +7941x +7941x +7941x +7941x +1x +1x +832008x +31974x +31974x +31974x +832008x +832008x +7941x +7941x +7941x +824067x +824067x +824067x +824067x +824067x +824067x +1x +1x +156891x +156891x +1x +1x +156891x +156891x +1x +1x +1887x +  +  +1887x +1887x +1x +1x +12x +  +  +12x +12x +1x +1x +1664016x +15882x +1664016x +15882x +15882x +1632252x +1632252x +1x +1x +1012688x +39426x +39426x +973262x +973262x +1x +1x +832008x +23789x +23789x +808219x +808219x +1x +1x +151403x +151403x +1x +1x +308294x +308294x +1x + 
export class LexerStream {
+  private readonly raw: string;
+  private offset = -1;
+  private row: number;
+  private col: number;
+ 
+  public constructor(raw: string) {
+    this.raw = raw;
+    this.row = 0;
+    this.col = 0;
+  }
+ 
+  public advance(): boolean {
+    if (this.currentChar() === "\n") {
+      this.col = 1;
+      this.row = this.row + 1;
+    }
+ 
+    if (this.offset === this.raw.length) {
+      this.col = this.col - 1;
+      return false;
+    }
+ 
+    this.col = this.col + 1;
+ 
+    this.offset = this.offset + 1;
+    return true;
+  }
+ 
+  public getCol(): number {
+    return this.col;
+  }
+ 
+  public getRow(): number {
+    return this.row;
+  }
+ 
+  public prevChar(): string {
+    if (this.offset - 1 < 0) {
+      return "";
+    }
+    return this.raw.substr(this.offset - 1, 1);
+  }
+ 
+  public prevPrevChar(): string {
+    if (this.offset - 2 < 0) {
+      return "";
+    }
+    return this.raw.substr(this.offset - 2, 2);
+  }
+ 
+  public currentChar(): string {
+    if (this.offset < 0) {
+      return "\n"; // simulate newline at start of file to handle star(*) comments
+    } else if (this.offset >= this.raw.length) {
+      return "";
+    }
+    return this.raw.substr(this.offset, 1);
+  }
+ 
+  public nextChar(): string {
+    if (this.offset + 2 > this.raw.length) {
+      return "";
+    }
+    return this.raw.substr(this.offset + 1, 1);
+  }
+ 
+  public nextNextChar(): string {
+    if (this.offset + 3 > this.raw.length) {
+      return this.nextChar();
+    }
+    return this.raw.substr(this.offset + 1, 2);
+  }
+ 
+  public getRaw(): string {
+    return this.raw;
+  }
+ 
+  public getOffset() {
+    return this.offset;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/abstract_token.ts.html b/src/abap/1_lexer/tokens/abstract_token.ts.html new file mode 100644 index 00000000000..64ab34eab84 --- /dev/null +++ b/src/abap/1_lexer/tokens/abstract_token.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/abstract_token.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens abstract_token.ts

+
+ +
+ 94.44% + Statements + 34/36 +
+ + +
+ 100% + Branches + 6/6 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 94.44% + Lines + 34/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +361x +1x +1x +1x +1x +1x +1x +207964x +207964x +207964x +1x +1x +1x +  +  +1x +1x +2134635x +2134635x +1x +1x +93248x +93248x +1x +1x +120590x +120590x +1x +1x +47835x +47835x +1x +1x +16255x +16255x +1x
import {Position} from "../../../position";
+ 
+export abstract class AbstractToken {
+  private readonly start: Position;
+  private readonly str: string;
+ 
+  public constructor(start: Position, str: string) {
+    this.start = start;
+    this.str = str;
+  }
+ 
+  // special function, for debugging purposes, see https://github.com/abaplint/abaplint/pull/3137
+  public [Symbol.for("debug.description")](){
+    return `${this.constructor.name} ${this.str}`;
+  }
+ 
+  public getStr(): string {
+    return this.str;
+  }
+ 
+  public getRow(): number {
+    return this.start.getRow();
+  }
+ 
+  public getCol(): number {
+    return this.start.getCol();
+  }
+ 
+  public getStart(): Position {
+    return this.start;
+  }
+ 
+  public getEnd(): Position {
+    return new Position(this.start.getRow(), this.start.getCol() + this.str.length);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/at.ts.html b/src/abap/1_lexer/tokens/at.ts.html new file mode 100644 index 00000000000..cdac5a4f328 --- /dev/null +++ b/src/abap/1_lexer/tokens/at.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/at.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens at.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +71x +1x +1x +1x +  +  +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class At extends AbstractToken {
+  public static railroad(): string {
+    return "@";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/atw.ts.html b/src/abap/1_lexer/tokens/atw.ts.html new file mode 100644 index 00000000000..e48ae17cb7c --- /dev/null +++ b/src/abap/1_lexer/tokens/atw.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/atw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens atw.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+export class AtW extends AbstractToken {
+  public static railroad(): string {
+    return "@ ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/bracket_left.ts.html b/src/abap/1_lexer/tokens/bracket_left.ts.html new file mode 100644 index 00000000000..72f1e808821 --- /dev/null +++ b/src/abap/1_lexer/tokens/bracket_left.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/bracket_left.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens bracket_left.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +71x +1x +1x +1x +  +  +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class BracketLeft extends AbstractToken {
+  public static railroad(): string {
+    return "[";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/bracket_leftw.ts.html b/src/abap/1_lexer/tokens/bracket_leftw.ts.html new file mode 100644 index 00000000000..7f310e8403a --- /dev/null +++ b/src/abap/1_lexer/tokens/bracket_leftw.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/bracket_leftw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens bracket_leftw.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+export class BracketLeftW extends AbstractToken {
+  public static railroad(): string {
+    return "[ ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/bracket_right.ts.html b/src/abap/1_lexer/tokens/bracket_right.ts.html new file mode 100644 index 00000000000..96fac034db7 --- /dev/null +++ b/src/abap/1_lexer/tokens/bracket_right.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/bracket_right.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens bracket_right.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +71x +1x +1x +1x +  +  +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class BracketRight extends AbstractToken {
+  public static railroad(): string {
+    return "]";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/bracket_rightw.ts.html b/src/abap/1_lexer/tokens/bracket_rightw.ts.html new file mode 100644 index 00000000000..3ac92d066f4 --- /dev/null +++ b/src/abap/1_lexer/tokens/bracket_rightw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/bracket_rightw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens bracket_rightw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class BracketRightW extends AbstractToken {
+  public static railroad(): string {
+    return "] ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/colon.ts.html b/src/abap/1_lexer/tokens/colon.ts.html new file mode 100644 index 00000000000..51d98ca1551 --- /dev/null +++ b/src/abap/1_lexer/tokens/colon.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/colon.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens colon.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +51x +1x +1x +1x +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class Colon extends AbstractToken {
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/comment.ts.html b/src/abap/1_lexer/tokens/comment.ts.html new file mode 100644 index 00000000000..57848324d5b --- /dev/null +++ b/src/abap/1_lexer/tokens/comment.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/comment.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens comment.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +51x +1x +1x +1x +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class Comment extends AbstractToken {
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/dash.ts.html b/src/abap/1_lexer/tokens/dash.ts.html new file mode 100644 index 00000000000..bf1d0e0f601 --- /dev/null +++ b/src/abap/1_lexer/tokens/dash.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/dash.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens dash.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +  +  +1x +  + 
import {AbstractToken} from "./abstract_token";
+ 
+export class Dash extends AbstractToken {
+  public static railroad(): string {
+    return "-";
+  }
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/dashw.ts.html b/src/abap/1_lexer/tokens/dashw.ts.html new file mode 100644 index 00000000000..544bdba4402 --- /dev/null +++ b/src/abap/1_lexer/tokens/dashw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/dashw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens dashw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class DashW extends AbstractToken {
+  public static railroad(): string {
+    return "- ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/identifier.ts.html b/src/abap/1_lexer/tokens/identifier.ts.html new file mode 100644 index 00000000000..203353aad2f --- /dev/null +++ b/src/abap/1_lexer/tokens/identifier.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/identifier.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens identifier.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +51x +1x +1x +1x +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class Identifier extends AbstractToken {
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/index.html b/src/abap/1_lexer/tokens/index.html new file mode 100644 index 00000000000..e2868a0ec52 --- /dev/null +++ b/src/abap/1_lexer/tokens/index.html @@ -0,0 +1,821 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens + + + + + + + + + +
+
+

All files src/abap/1_lexer/tokens

+
+ +
+ 82.21% + Statements + 342/416 +
+ + +
+ 100% + Branches + 6/6 +
+ + +
+ 14.28% + Functions + 6/42 +
+ + +
+ 82.21% + Lines + 342/416 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
abstract_token.ts +
+
94.44%34/36100%6/6100%6/694.44%34/36
at.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
atw.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
bracket_left.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
bracket_leftw.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
bracket_right.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
bracket_rightw.ts +
+
75%6/8100%0/00%0/175%6/8
colon.ts +
+
100%5/5100%0/0100%0/0100%5/5
comment.ts +
+
100%5/5100%0/0100%0/0100%5/5
dash.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
dashw.ts +
+
75%6/8100%0/00%0/175%6/8
identifier.ts +
+
100%5/5100%0/0100%0/0100%5/5
index.ts +
+
100%56/56100%0/0100%0/0100%56/56
instance_arrow.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
instance_arroww.ts +
+
75%6/8100%0/00%0/175%6/8
paren_left.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
paren_leftw.ts +
+
75%6/8100%0/00%0/175%6/8
paren_right.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
paren_rightw.ts +
+
75%6/8100%0/00%0/175%6/8
plus.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
plusw.ts +
+
75%6/8100%0/00%0/175%6/8
pragma.ts +
+
100%5/5100%0/0100%0/0100%5/5
punctuation.ts +
+
100%5/5100%0/0100%0/0100%5/5
static_arrow.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
static_arroww.ts +
+
75%6/8100%0/00%0/175%6/8
string.ts +
+
100%5/5100%0/0100%0/0100%5/5
string_template.ts +
+
100%5/5100%0/0100%0/0100%5/5
string_template_begin.ts +
+
100%5/5100%0/0100%0/0100%5/5
string_template_end.ts +
+
100%5/5100%0/0100%0/0100%5/5
string_template_middle.ts +
+
100%5/5100%0/0100%0/0100%5/5
wat.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
watw.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
wbracket_left.ts +
+
75%6/8100%0/00%0/175%6/8
wbracket_leftw.ts +
+
71.42%5/7100%0/00%0/171.42%5/7
wbracket_right.ts +
+
75%6/8100%0/00%0/175%6/8
wbracket_rightw.ts +
+
75%6/8100%0/00%0/175%6/8
wdash.ts +
+
75%6/8100%0/00%0/175%6/8
wdashw.ts +
+
75%6/8100%0/00%0/175%6/8
winstance_arrow.ts +
+
75%6/8100%0/00%0/175%6/8
winstance_arroww.ts +
+
75%6/8100%0/00%0/175%6/8
wparen_left.ts +
+
75%6/8100%0/00%0/175%6/8
wparen_leftw.ts +
+
75%6/8100%0/00%0/175%6/8
wparen_right.ts +
+
75%6/8100%0/00%0/175%6/8
wparen_rightw.ts +
+
75%6/8100%0/00%0/175%6/8
wplus.ts +
+
75%6/8100%0/00%0/175%6/8
wplusw.ts +
+
75%6/8100%0/00%0/175%6/8
wstatic_arrow.ts +
+
75%6/8100%0/00%0/175%6/8
wstatic_arroww.ts +
+
75%6/8100%0/00%0/175%6/8
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/index.ts.html b/src/abap/1_lexer/tokens/index.ts.html new file mode 100644 index 00000000000..4409a0721ca --- /dev/null +++ b/src/abap/1_lexer/tokens/index.ts.html @@ -0,0 +1,250 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/index.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens index.ts

+
+ +
+ 100% + Statements + 56/56 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 56/56 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +561x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
export * from "./at";
+export * from "./atw";
+export * from "./wat";
+export * from "./watw";
+ 
+export * from "./bracket_left";
+export * from "./wbracket_left";
+export * from "./bracket_leftw";
+export * from "./wbracket_leftw";
+ 
+export * from "./bracket_right";
+export * from "./wbracket_right";
+export * from "./bracket_rightw";
+export * from "./wbracket_rightw";
+ 
+export * from "./instance_arrow";
+export * from "./winstance_arrow";
+export * from "./instance_arroww";
+export * from "./winstance_arroww";
+ 
+export * from "./paren_left";
+export * from "./wparen_left";
+export * from "./paren_leftw";
+export * from "./wparen_leftw";
+ 
+export * from "./paren_right";
+export * from "./wparen_right";
+export * from "./paren_rightw";
+export * from "./wparen_rightw";
+ 
+export * from "./dash";
+export * from "./wdash";
+export * from "./dashw";
+export * from "./wdashw";
+ 
+export * from "./plus";
+export * from "./wplus";
+export * from "./plusw";
+export * from "./wplusw";
+ 
+export * from "./static_arrow";
+export * from "./wstatic_arrow";
+export * from "./static_arroww";
+export * from "./wstatic_arroww";
+ 
+export * from "./string";
+export * from "./string_template";
+export * from "./string_template_begin";
+export * from "./string_template_end";
+export * from "./string_template_middle";
+ 
+export * from "./colon";
+export * from "./comment";
+export * from "./identifier";
+export * from "./pragma";
+export * from "./punctuation";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/instance_arrow.ts.html b/src/abap/1_lexer/tokens/instance_arrow.ts.html new file mode 100644 index 00000000000..174c706f9a5 --- /dev/null +++ b/src/abap/1_lexer/tokens/instance_arrow.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/instance_arrow.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens instance_arrow.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +  +  +1x +  + 
import {AbstractToken} from "./abstract_token";
+ 
+export class InstanceArrow extends AbstractToken {
+  public static railroad(): string {
+    return "->";
+  }
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/instance_arroww.ts.html b/src/abap/1_lexer/tokens/instance_arroww.ts.html new file mode 100644 index 00000000000..e8313f3cb4e --- /dev/null +++ b/src/abap/1_lexer/tokens/instance_arroww.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/instance_arroww.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens instance_arroww.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class InstanceArrowW extends AbstractToken {
+  public static railroad(): string {
+    return "-> ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/paren_left.ts.html b/src/abap/1_lexer/tokens/paren_left.ts.html new file mode 100644 index 00000000000..90378d6f106 --- /dev/null +++ b/src/abap/1_lexer/tokens/paren_left.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/paren_left.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens paren_left.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +  +  +1x +  + 
import {AbstractToken} from "./abstract_token";
+ 
+export class ParenLeft extends AbstractToken {
+  public static railroad(): string {
+    return "(";
+  }
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/paren_leftw.ts.html b/src/abap/1_lexer/tokens/paren_leftw.ts.html new file mode 100644 index 00000000000..969ba94454e --- /dev/null +++ b/src/abap/1_lexer/tokens/paren_leftw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/paren_leftw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens paren_leftw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class ParenLeftW extends AbstractToken {
+  public static railroad(): string {
+    return "( ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/paren_right.ts.html b/src/abap/1_lexer/tokens/paren_right.ts.html new file mode 100644 index 00000000000..66e859a6ba7 --- /dev/null +++ b/src/abap/1_lexer/tokens/paren_right.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/paren_right.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens paren_right.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +  +  +1x +  + 
import {AbstractToken} from "./abstract_token";
+ 
+export class ParenRight extends AbstractToken {
+  public static railroad(): string {
+    return ")";
+  }
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/paren_rightw.ts.html b/src/abap/1_lexer/tokens/paren_rightw.ts.html new file mode 100644 index 00000000000..dd111d83e44 --- /dev/null +++ b/src/abap/1_lexer/tokens/paren_rightw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/paren_rightw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens paren_rightw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class ParenRightW extends AbstractToken {
+  public static railroad(): string {
+    return ") ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/plus.ts.html b/src/abap/1_lexer/tokens/plus.ts.html new file mode 100644 index 00000000000..30fd6a5db52 --- /dev/null +++ b/src/abap/1_lexer/tokens/plus.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/plus.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens plus.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +71x +1x +1x +1x +  +  +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class Plus extends AbstractToken {
+  public static railroad(): string {
+    return "+";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/plusw.ts.html b/src/abap/1_lexer/tokens/plusw.ts.html new file mode 100644 index 00000000000..f9a7b537d7c --- /dev/null +++ b/src/abap/1_lexer/tokens/plusw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/plusw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens plusw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class PlusW extends AbstractToken {
+  public static railroad(): string {
+    return "+ ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/pragma.ts.html b/src/abap/1_lexer/tokens/pragma.ts.html new file mode 100644 index 00000000000..463ab8fe001 --- /dev/null +++ b/src/abap/1_lexer/tokens/pragma.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/pragma.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens pragma.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +51x +1x +1x +1x +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class Pragma extends AbstractToken {
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/punctuation.ts.html b/src/abap/1_lexer/tokens/punctuation.ts.html new file mode 100644 index 00000000000..b1a27213295 --- /dev/null +++ b/src/abap/1_lexer/tokens/punctuation.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/punctuation.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens punctuation.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +51x +1x +1x +1x +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class Punctuation extends AbstractToken {
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/static_arrow.ts.html b/src/abap/1_lexer/tokens/static_arrow.ts.html new file mode 100644 index 00000000000..4d05456ed22 --- /dev/null +++ b/src/abap/1_lexer/tokens/static_arrow.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/static_arrow.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens static_arrow.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +71x +1x +1x +1x +  +  +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class StaticArrow extends AbstractToken {
+  public static railroad(): string {
+    return "=>";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/static_arroww.ts.html b/src/abap/1_lexer/tokens/static_arroww.ts.html new file mode 100644 index 00000000000..806b6894c80 --- /dev/null +++ b/src/abap/1_lexer/tokens/static_arroww.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/static_arroww.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens static_arroww.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class StaticArrowW extends AbstractToken {
+  public static railroad(): string {
+    return "=> ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/string.ts.html b/src/abap/1_lexer/tokens/string.ts.html new file mode 100644 index 00000000000..6c82c56fce7 --- /dev/null +++ b/src/abap/1_lexer/tokens/string.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/string.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens string.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +51x +1x +1x +1x +1x
import {AbstractToken} from "./abstract_token";
+ 
+export class StringToken extends AbstractToken {
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/string_template.ts.html b/src/abap/1_lexer/tokens/string_template.ts.html new file mode 100644 index 00000000000..acb7402f401 --- /dev/null +++ b/src/abap/1_lexer/tokens/string_template.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/string_template.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens string_template.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +61x +1x +1x +1x +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class StringTemplate extends AbstractToken {
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/string_template_begin.ts.html b/src/abap/1_lexer/tokens/string_template_begin.ts.html new file mode 100644 index 00000000000..bb9f3416f84 --- /dev/null +++ b/src/abap/1_lexer/tokens/string_template_begin.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/string_template_begin.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens string_template_begin.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +61x +1x +1x +1x +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class StringTemplateBegin extends AbstractToken {
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/string_template_end.ts.html b/src/abap/1_lexer/tokens/string_template_end.ts.html new file mode 100644 index 00000000000..26b9a91caa7 --- /dev/null +++ b/src/abap/1_lexer/tokens/string_template_end.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/string_template_end.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens string_template_end.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +61x +1x +1x +1x +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class StringTemplateEnd extends AbstractToken {
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/string_template_middle.ts.html b/src/abap/1_lexer/tokens/string_template_middle.ts.html new file mode 100644 index 00000000000..3b6f2d529d7 --- /dev/null +++ b/src/abap/1_lexer/tokens/string_template_middle.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/string_template_middle.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens string_template_middle.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +61x +1x +1x +1x +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class StringTemplateMiddle extends AbstractToken {
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wat.ts.html b/src/abap/1_lexer/tokens/wat.ts.html new file mode 100644 index 00000000000..877b1ae7350 --- /dev/null +++ b/src/abap/1_lexer/tokens/wat.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wat.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wat.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+export class WAt extends AbstractToken {
+  public static railroad(): string {
+    return " @";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/watw.ts.html b/src/abap/1_lexer/tokens/watw.ts.html new file mode 100644 index 00000000000..af1ac55e884 --- /dev/null +++ b/src/abap/1_lexer/tokens/watw.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/watw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens watw.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+export class WAtW extends AbstractToken {
+  public static railroad(): string {
+    return " @ ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wbracket_left.ts.html b/src/abap/1_lexer/tokens/wbracket_left.ts.html new file mode 100644 index 00000000000..7ebe4ab76b1 --- /dev/null +++ b/src/abap/1_lexer/tokens/wbracket_left.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wbracket_left.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wbracket_left.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WBracketLeft extends AbstractToken {
+  public static railroad(): string {
+    return " [";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wbracket_leftw.ts.html b/src/abap/1_lexer/tokens/wbracket_leftw.ts.html new file mode 100644 index 00000000000..065460026cf --- /dev/null +++ b/src/abap/1_lexer/tokens/wbracket_leftw.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wbracket_leftw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wbracket_leftw.ts

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 71.42% + Lines + 5/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+export class WBracketLeftW extends AbstractToken {
+  public static railroad(): string {
+    return " [ ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wbracket_right.ts.html b/src/abap/1_lexer/tokens/wbracket_right.ts.html new file mode 100644 index 00000000000..59514f6c008 --- /dev/null +++ b/src/abap/1_lexer/tokens/wbracket_right.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wbracket_right.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wbracket_right.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WBracketRight extends AbstractToken {
+  public static railroad(): string {
+    return " ]";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wbracket_rightw.ts.html b/src/abap/1_lexer/tokens/wbracket_rightw.ts.html new file mode 100644 index 00000000000..622cef06c2f --- /dev/null +++ b/src/abap/1_lexer/tokens/wbracket_rightw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wbracket_rightw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wbracket_rightw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WBracketRightW extends AbstractToken {
+  public static railroad(): string {
+    return " ] ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wdash.ts.html b/src/abap/1_lexer/tokens/wdash.ts.html new file mode 100644 index 00000000000..8bd5c804dd1 --- /dev/null +++ b/src/abap/1_lexer/tokens/wdash.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wdash.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wdash.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WDash extends AbstractToken {
+  public static railroad(): string {
+    return " -";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wdashw.ts.html b/src/abap/1_lexer/tokens/wdashw.ts.html new file mode 100644 index 00000000000..c715b181cf7 --- /dev/null +++ b/src/abap/1_lexer/tokens/wdashw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wdashw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wdashw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WDashW extends AbstractToken {
+  public static railroad(): string {
+    return " - ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/winstance_arrow.ts.html b/src/abap/1_lexer/tokens/winstance_arrow.ts.html new file mode 100644 index 00000000000..57879393950 --- /dev/null +++ b/src/abap/1_lexer/tokens/winstance_arrow.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/winstance_arrow.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens winstance_arrow.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WInstanceArrow extends AbstractToken {
+  public static railroad(): string {
+    return " ->";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/winstance_arroww.ts.html b/src/abap/1_lexer/tokens/winstance_arroww.ts.html new file mode 100644 index 00000000000..8fe0a48efd8 --- /dev/null +++ b/src/abap/1_lexer/tokens/winstance_arroww.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/winstance_arroww.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens winstance_arroww.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WInstanceArrowW extends AbstractToken {
+  public static railroad(): string {
+    return " -> ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wparen_left.ts.html b/src/abap/1_lexer/tokens/wparen_left.ts.html new file mode 100644 index 00000000000..a1864bef123 --- /dev/null +++ b/src/abap/1_lexer/tokens/wparen_left.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wparen_left.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wparen_left.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WParenLeft extends AbstractToken {
+  public static railroad(): string {
+    return " (";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wparen_leftw.ts.html b/src/abap/1_lexer/tokens/wparen_leftw.ts.html new file mode 100644 index 00000000000..25079fc354a --- /dev/null +++ b/src/abap/1_lexer/tokens/wparen_leftw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wparen_leftw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wparen_leftw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WParenLeftW extends AbstractToken {
+  public static railroad(): string {
+    return " ( ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wparen_right.ts.html b/src/abap/1_lexer/tokens/wparen_right.ts.html new file mode 100644 index 00000000000..6be8ad27a66 --- /dev/null +++ b/src/abap/1_lexer/tokens/wparen_right.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wparen_right.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wparen_right.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WParenRight extends AbstractToken {
+  public static railroad(): string {
+    return " )";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wparen_rightw.ts.html b/src/abap/1_lexer/tokens/wparen_rightw.ts.html new file mode 100644 index 00000000000..c2da45e8c0e --- /dev/null +++ b/src/abap/1_lexer/tokens/wparen_rightw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wparen_rightw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wparen_rightw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WParenRightW extends AbstractToken {
+  public static railroad(): string {
+    return " ) ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wplus.ts.html b/src/abap/1_lexer/tokens/wplus.ts.html new file mode 100644 index 00000000000..ea9d66418f1 --- /dev/null +++ b/src/abap/1_lexer/tokens/wplus.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wplus.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wplus.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WPlus extends AbstractToken {
+  public static railroad(): string {
+    return " +";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wplusw.ts.html b/src/abap/1_lexer/tokens/wplusw.ts.html new file mode 100644 index 00000000000..0453e1e8a92 --- /dev/null +++ b/src/abap/1_lexer/tokens/wplusw.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wplusw.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wplusw.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WPlusW extends AbstractToken {
+  public static railroad(): string {
+    return " + ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wstatic_arrow.ts.html b/src/abap/1_lexer/tokens/wstatic_arrow.ts.html new file mode 100644 index 00000000000..2aefb1a7d98 --- /dev/null +++ b/src/abap/1_lexer/tokens/wstatic_arrow.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wstatic_arrow.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wstatic_arrow.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WStaticArrow extends AbstractToken {
+  public static railroad(): string {
+    return " =>";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/1_lexer/tokens/wstatic_arroww.ts.html b/src/abap/1_lexer/tokens/wstatic_arroww.ts.html new file mode 100644 index 00000000000..bb6058ff71f --- /dev/null +++ b/src/abap/1_lexer/tokens/wstatic_arroww.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/1_lexer/tokens/wstatic_arroww.ts + + + + + + + + + +
+
+

All files / src/abap/1_lexer/tokens wstatic_arroww.ts

+
+ +
+ 75% + Statements + 6/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 75% + Lines + 6/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +  +  +1x + 
import {AbstractToken} from "./abstract_token";
+ 
+ 
+export class WStaticArrowW extends AbstractToken {
+  public static railroad(): string {
+    return " => ";
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/combi.ts.html b/src/abap/2_statements/combi.ts.html new file mode 100644 index 00000000000..29b32b0d5b6 --- /dev/null +++ b/src/abap/2_statements/combi.ts.html @@ -0,0 +1,3439 @@ + + + + + + Code coverage report for src/abap/2_statements/combi.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements combi.ts

+
+ +
+ 76.85% + Statements + 860/1119 +
+ + +
+ 92.3% + Branches + 156/169 +
+ + +
+ 45.45% + Functions + 70/154 +
+ + +
+ 76.85% + Lines + 860/1119 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +11191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +278x +278x +1x +1x +  +  +1x +1x +  +  +1x +1x +410964x +410964x +410964x +411172x +29450x +29450x +381722x +411172x +172904x +172904x +411172x +410964x +410964x +410964x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +2746x +2746x +1x +1x +  +  +1x +1x +  +  +1x +1x +1192158x +1192158x +1192158x +1198427x +1198427x +135434x +135434x +135434x +1198427x +1192158x +1192158x +1x +1x +  +  +1x +1x +17x +17x +1x +1x +957x +957x +1x +1x +1x +1x +1x +1x +1x +809x +809x +1x +1x +  +  +1x +1x +  +  +1x +1x +670655x +670655x +670655x +681233x +681233x +21647x +21647x +681233x +670655x +670655x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +533x +533x +533x +533x +1x +1x +  +  +1x +1x +400982x +400982x +8x +400982x +435x +384x +435x +51x +51x +400974x +354785x +400539x +45754x +45754x +400982x +1x +1x +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +1x +1x +40x +40x +1x +1x +1x +1x +1x +1x +1x +1x +653x +653x +653x +1x +1x +  +  +1x +1x +  +  +1x +1x +13333x +13224x +13333x +109x +109x +13333x +1x +1x +  +  +  +  +  +  +1x +1x +  +  +1x +1x +452x +452x +1x +1x +1x +1x +1x +1x +1x +936x +936x +1x +1x +  +  +1x +1x +  +  +1x +1x +257469x +257469x +257469x +271073x +271073x +891x +271073x +261225x +270182x +8957x +8957x +  +  +271073x +257469x +257469x +257469x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1745x +1745x +1x +1x +  +  +1x +1x +  +  +1x +1x +73527x +73527x +73527x +82283x +82283x +82283x +82283x +73525x +73525x +73525x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +525x +525x +1x +1x +  +  +1x +1x +  +  +1x +1x +36824x +36824x +36824x +36824x +36824x +36824x +44585x +44585x +44585x +44585x +36792x +36792x +7761x +44585x +  +  +44585x +7761x +7761x +44585x +36824x +32x +32x +32x +  +  +36792x +36792x +36792x +1x +1x +  +  +1x +1x +6x +6x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +124x +124x +1x +1x +  +  +1x +1x +  +  +1x +1x +52788x +52788x +52788x +52788x +52788x +52788x +56308x +56308x +56308x +56308x +52788x +1835x +1835x +1835x +2369x +1939x +1939x +1939x +2369x +1835x +52788x +52788x +3520x +3520x +3520x +52788x +52788x +52788x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +282x +282x +282x +1x +1x +  +  +1x +1x +  +  +1x +1x +5508x +5508x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +37x +37x +37x +1x +1x +  +  +1x +1x +  +  +1x +1x +6401x +6401x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +6108x +  +  +6108x +6108x +1x +1x +  +  +  +  +  +  +1x +1x +  +  +1x +1x +1897616x +1897616x +1897616x +1918885x +1918885x +1918885x +2589895x +2589895x +1652447x +1652447x +1652447x +2589895x +1918850x +1918885x +266403x +  +  +266403x +266403x +266403x +266403x +1918885x +1897581x +1897581x +1897581x +1x +1x +  +  +  +1x +1x +6x +6x +12x +12x +6x +6x +1x +1x +824x +824x +1x +1x +1x +1x +1x +1x +1x +1x +1x +689x +689x +689x +689x +689x +689x +1878x +1878x +1878x +689x +689x +1x +1x +  +  +1x +1x +  +  +1x +1x +251974x +251974x +1x +1x +  +  +1x +1x +  +  +1x +1x +377x +377x +1x +1x +470x +470x +470x +470x +971704x +971704x +971704x +384x +384x +971704x +971704x +989045x +989045x +989045x +320171x +320171x +318118x +318118x +318118x +432663x +432663x +432663x +432663x +432663x +432663x +318118x +318118x +318118x +318118x +318118x +318118x +318118x +320171x +320171x +989045x +989045x +971704x +971704x +971704x +470x +470x +470x +470x +  +  +  +470x +470x +  +  +470x +470x +89x +89x +470x +470x +  +  +470x +470x +7x +7x +470x +470x +9x +9x +470x +1x +1x +1x +1x +1x +11409x +  +  +11409x +11409x +1x +1x +  +  +  +  +  +  +1x +1x +  +  +1x +1x +24923x +24923x +24923x +24923x +175423x +175423x +11517x +11517x +11517x +11517x +11517x +11517x +464x +11517x +11053x +11053x +11517x +175423x +24923x +24923x +1x +1x +  +  +  +1x +1x +  +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +32x +32x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +746x +  +  +746x +746x +1x +1x +  +  +  +  +  +  +1x +1x +  +  +1x +1x +74152x +74152x +74152x +217735x +217735x +217735x +74120x +74120x +74120x +1x +1x +  +  +  +1x +1x +  +  +  +  +  +  +1x +1x +25x +  +  +25x +25x +25x +  +  +25x +  +  +25x +2x +2x +23x +23x +23x +1x +1x +1x +1x +1x +1x +1x +833x +  +  +833x +833x +1x +1x +  +  +  +  +  +  +1x +1x +  +  +1x +1x +509076x +509076x +509076x +1719198x +1719198x +1719198x +1719198x +183672x +183672x +183672x +1719198x +509076x +509076x +509076x +1x +1x +  +  +  +1x +1x +  +  +  +  +  +  +1x +1x +22x +5x +5x +17x +17x +22x +  +  +22x +5x +5x +22x +2x +2x +10x +10x +10x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +1x +1x +1x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +60970x +41682x +24515x +24515x +41682x +60970x +1x +1x +1x +  +  +36454x +36454x +36454x +1x +1x +414315x +414315x +1x +1x +1x +1x +1x +1557x +1557x +689x +1557x +868x +868x +1557x +1x +278x +278x +278x +1x +809x +809x +809x +1x +1x +1x +1x +1x +26303x +26303x +26303x +7528x +1072x +1072x +7528x +26303x +6622x +6622x +6622x +249x +249x +249x +6622x +18775x +12153x +12153x +26303x +5100x +5100x +5100x +5100x +5100x +746x +746x +746x +746x +746x +833x +833x +833x +833x +833x +1745x +1745x +1745x +936x +936x +936x +356x +356x +356x +356x +356x +243x +243x +243x +87x +87x +87x +282x +282x +282x +37x +37x +37x +533x +533x +533x +653x +653x +653x +3x +3x +3x +2x +2x +2x
import * as Tokens from "../1_lexer/tokens";
+import {AbstractToken as Tokens_Token} from "../1_lexer/tokens/abstract_token";
+import {Position} from "../../position";
+import {TokenNode, ExpressionNode, TokenNodeRegex} from "../nodes";
+import {Version} from "../../version";
+import {IStatementRunnable} from "./statement_runnable";
+import {Result} from "./result";
+ 
+class Regex implements IStatementRunnable {
+ 
+  private readonly regexp: RegExp;
+ 
+  public constructor(r: RegExp) {
+    this.regexp = r;
+  }
+ 
+  public listKeywords(): string[] {
+    return [];
+  }
+ 
+  public getUsing(): string[] {
+    return [];
+  }
+ 
+  public run(r: Result[]): Result[] {
+    const result: Result[] = [];
+ 
+    for (const input of r) {
+      if (input.remainingLength() === 0) {
+        continue;
+      }
+      const token = input.peek();
+      if (this.regexp.test(token.getStr()) === true) {
+        result.push(input.shift(new TokenNodeRegex(token)));
+      }
+    }
+ 
+    return result;
+  }
+ 
+  public railroad() {
+    return "Railroad.Terminal(\"" + this.regexp.source.replace(/\\/g, "\\\\") + "\")";
+  }
+ 
+  public toStr() {
+    return this.regexp.toString();
+  }
+ 
+  public first() {
+    return [""];
+  }
+}
+ 
+class Word implements IStatementRunnable {
+ 
+  private readonly s: string;
+ 
+  public constructor(s: string) {
+    this.s = s.toUpperCase();
+  }
+ 
+  public listKeywords(): string[] {
+    return [this.s];
+  }
+ 
+  public getUsing(): string[] {
+    return [];
+  }
+ 
+  public run(r: Result[]): Result[] {
+    const result: Result[] = [];
+ 
+    for (const input of r) {
+      if (input.remainingLength() !== 0
+          && input.peek().getStr().toUpperCase() === this.s) {
+//        console.log("match, " + this.s + result.length);
+        result.push(input.shift(new TokenNode(input.peek())));
+      }
+    }
+    return result;
+  }
+ 
+  public railroad() {
+    return "Railroad.Terminal('\"" + this.s + "\"')";
+  }
+ 
+  public toStr() {
+    return "\"" + this.s + "\"";
+  }
+ 
+  public first() {
+    return [this.s];
+  }
+}
+ 
+class Token implements IStatementRunnable {
+ 
+  private readonly name: string;
+ 
+  public constructor(s: string) {
+    this.name = s.toUpperCase();
+  }
+ 
+  public listKeywords(): string[] {
+    return [];
+  }
+ 
+  public getUsing(): string[] {
+    return [];
+  }
+ 
+  public run(r: Result[]): Result[] {
+    const result: Result[] = [];
+ 
+    for (const input of r) {
+      if (input.remainingLength() !== 0
+          && input.peek().constructor.name.toUpperCase() === this.name) {
+        result.push(input.shift(new TokenNode(input.peek())));
+      }
+    }
+    return result;
+  }
+ 
+  public railroad() {
+    let text = this.name;
+
+    const toke: any = Tokens;
+    for (const token in Tokens) {
+      if (token.toUpperCase() === this.name && toke[token].railroad) {
+        text = toke[token].railroad();
+        break;
+      }
+    }
+    return "Railroad.Terminal('!\"" + text + "\"')";
+  }
+ 
+  public toStr() {
+    return "Token \"" + this.name + "\"";
+  }
+ 
+  public first() {
+    return [""];
+  }
+}
+ 
+class Vers implements IStatementRunnable {
+ 
+  private readonly version: Version;
+  private readonly or: Version | undefined;
+  private readonly runnable: IStatementRunnable;
+ 
+  public constructor(version: Version, runnable: IStatementRunnable, or?: Version) {
+    this.version = version;
+    this.runnable = runnable;
+    this.or = or;
+  }
+ 
+  public listKeywords(): string[] {
+    return this.runnable.listKeywords();
+  }
+ 
+  public run(r: Result[]): Result[] {
+    const targetVersion = Combi.getVersion();
+    if (this.or && targetVersion === this.or) {
+      return this.runnable.run(r);
+    } else if (targetVersion === Version.OpenABAP) {
+      if (this.version > Version.v702) {
+        return [];
+      } else {
+        return this.runnable.run(r);
+      }
+    } else if (targetVersion >= this.version || targetVersion === Version.Cloud) {
+      return this.runnable.run(r);
+    } else {
+      return [];
+    }
+  }
+ 
+  public getUsing(): string[] {
+    return this.runnable.getUsing();
+  }
+ 
+  public railroad() {
+    let text: string = this.version;
+    if (this.or) {
+      text += " or " + this.or;
+    }
+    return "Railroad.Sequence(Railroad.Comment(\"" +
+      text +
+      "\", {}), " +
+      this.runnable.railroad() +
+      ")";
+  }
+ 
+  public toStr() {
+    return "Version(" + this.runnable.toStr() + ")";
+  }
+ 
+  public first() {
+    return this.runnable.first();
+  }
+}
+ 
+class VersNot implements IStatementRunnable {
+ 
+  private readonly version: Version;
+  private readonly runnable: IStatementRunnable;
+ 
+  public constructor(version: Version, runnable: IStatementRunnable) {
+    this.version = version;
+    this.runnable = runnable;
+  }
+ 
+  public listKeywords(): string[] {
+    return this.runnable.listKeywords();
+  }
+ 
+  public getUsing(): string[] {
+    return this.runnable.getUsing();
+  }
+ 
+  public run(r: Result[]): Result[] {
+    if (Combi.getVersion() !== this.version) {
+      return this.runnable.run(r);
+    } else {
+      return [];
+    }
+  }
+ 
+  public railroad() {
+    return "Railroad.Sequence(Railroad.Comment(\"not " +
+      this.version +
+      "\", {}), " +
+      this.runnable.railroad() +
+      ")";
+  }
+ 
+  public toStr() {
+    return "VersionNot(" + this.runnable.toStr() + ")";
+  }
+ 
+  public first() {
+    return this.runnable.first();
+  }
+}
+ 
+class OptionalPriority implements IStatementRunnable {
+ 
+  private readonly optional: IStatementRunnable;
+ 
+  public constructor(optional: IStatementRunnable) {
+    this.optional = optional;
+  }
+ 
+  public listKeywords(): string[] {
+    return this.optional.listKeywords();
+  }
+ 
+  public getUsing(): string[] {
+    return this.optional.getUsing();
+  }
+ 
+  public run(r: Result[]): Result[] {
+    const result: Result[] = [];
+ 
+    for (const input of r) {
+      const res = this.optional.run([input]);
+      if (res.length > 1) {
+        result.push(...res);
+      } else if (res.length === 0) {
+        result.push(input);
+      } else if (res[0].remainingLength() < input.remainingLength()) {
+        result.push(...res);
+      } else {
+        result.push(input);
+      }
+    }
+ 
+    return result;
+  }
+ 
+  public railroad() {
+    return "Railroad.Optional(" + this.optional.railroad() + ")";
+  }
+ 
+  public toStr() {
+    return "opt(" + this.optional.toStr() + ")";
+  }
+ 
+  public first() {
+    return [""];
+  }
+}
+ 
+class Optional implements IStatementRunnable {
+ 
+  private readonly optional: IStatementRunnable;
+ 
+  public constructor(optional: IStatementRunnable) {
+    this.optional = optional;
+  }
+ 
+  public listKeywords(): string[] {
+    return this.optional.listKeywords();
+  }
+ 
+  public getUsing(): string[] {
+    return this.optional.getUsing();
+  }
+ 
+  public run(r: Result[]): Result[] {
+    const result: Result[] = [];
+ 
+    for (const input of r) {
+      result.push(input);
+      const res = this.optional.run([input]);
+      result.push(...res);
+    }
+ 
+    return result;
+  }
+ 
+  public railroad() {
+    return "Railroad.Optional(" + this.optional.railroad() + ")";
+  }
+ 
+  public toStr() {
+    return "opt(" + this.optional.toStr() + ")";
+  }
+ 
+  public first() {
+    return [""];
+  }
+}
+ 
+class Star implements IStatementRunnable {
+ 
+  private readonly sta: IStatementRunnable;
+ 
+  public constructor(sta: IStatementRunnable) {
+    this.sta = sta;
+  }
+ 
+  public listKeywords(): string[] {
+    return this.sta.listKeywords();
+  }
+ 
+  public getUsing(): string[] {
+    return this.sta.getUsing();
+  }
+ 
+  public run(r: Result[]): Result[] {
+    let result = r;
+ 
+    try {
+      let res = r;
+      let input: Result[] = [];
+      for (;;) {
+        input = res;
+        res = this.sta.run(input);
+ 
+        if (res.length === 0) {
+          break;
+        }
+ 
+        if (res.length > 1000) {
+          // avoid stack overflow
+          result = result.concat(res);
+        } else {
+          result.push(...res);
+        }
+      }
+    } catch (err) {
+      if (err instanceof FailStarError) {
+        return result;
+      }
+      throw err;
+    }
+//    console.dir(result);
+    return result;
+  }
+ 
+  public railroad() {
+    return "Railroad.ZeroOrMore(" + this.sta.railroad() + ")";
+  }
+ 
+  public toStr() {
+    return "star(" + this.sta.toStr() + ")";
+  }
+ 
+  public first() {
+    return [""];
+  }
+}
+ 
+class StarPriority implements IStatementRunnable {
+ 
+  private readonly sta: IStatementRunnable;
+ 
+  public constructor(sta: IStatementRunnable) {
+    this.sta = sta;
+  }
+ 
+  public listKeywords(): string[] {
+    return this.sta.listKeywords();
+  }
+ 
+  public getUsing(): string[] {
+    return this.sta.getUsing();
+  }
+ 
+  public run(r: Result[]): Result[] {
+    let result: Result[] = r;
+ 
+    let res = r;
+//    let input: Result[] = [];
+    let prev: Result[] | undefined;
+    for (;;) {
+//      input = res;
+      res = this.sta.run(res);
+ 
+      if (res.length === 0) {
+        if (prev !== undefined) {
+//          console.log("star length: " + prev.length);
+          let best = Number.MAX_SAFE_INTEGER;
+          for (const p of prev) {
+            if (p.remainingLength() < best) {
+              result = [p];
+              best = p.remainingLength();
+            }
+          }
+        }
+        break;
+      }
+ 
+      prev = res;
+    }
+ 
+    return result;
+  }
+ 
+  public railroad() {
+    return "Railroad.ZeroOrMore(" + this.sta.railroad() + ")";
+  }
+ 
+  public toStr() {
+    return "star(" + this.sta.toStr() + ")";
+  }
+ 
+  public first() {
+    return [""];
+  }
+}
+ 
+class Plus implements IStatementRunnable {
+ 
+  private readonly plu: IStatementRunnable;
+  private readonly sub: Sequence;
+ 
+  public constructor(plu: IStatementRunnable) {
+    this.plu = plu;
+    this.sub = new Sequence([this.plu, new Star(this.plu)]);
+  }
+ 
+  public listKeywords(): string[] {
+    return this.plu.listKeywords();
+  }
+ 
+  public getUsing(): string[] {
+    return this.plu.getUsing();
+  }
+ 
+  public run(r: Result[]): Result[] {
+    return this.sub.run(r);
+  }
+ 
+  public railroad() {
+    return "Railroad.OneOrMore(" + this.plu.railroad() + ")";
+  }
+ 
+  public toStr() {
+    return "plus(" + this.plu.toStr() + ")";
+  }
+ 
+  public first() {
+    return this.plu.first();
+  }
+}
+ 
+class PlusPriority implements IStatementRunnable {
+ 
+  private readonly plu: IStatementRunnable;
+  private readonly sub: Sequence;
+ 
+  public constructor(plu: IStatementRunnable) {
+    this.plu = plu;
+    this.sub = new Sequence([this.plu, new StarPriority(this.plu)]);
+  }
+ 
+  public listKeywords(): string[] {
+    return this.plu.listKeywords();
+  }
+ 
+  public getUsing(): string[] {
+    return this.plu.getUsing();
+  }
+ 
+  public run(r: Result[]): Result[] {
+    return this.sub.run(r);
+  }
+ 
+  public railroad() {
+    return "Railroad.OneOrMore(" + this.plu.railroad() + ")";
+  }
+ 
+  public toStr() {
+    return "plus(" + this.plu.toStr() + ")";
+  }
+ 
+  public first() {
+    return this.plu.first();
+  }
+}
+ 
+class Sequence implements IStatementRunnable {
+  private readonly list: IStatementRunnable[];
+ 
+  public constructor(list: IStatementRunnable[]) {
+    if (list.length < 2) {
+      throw new Error("Sequence, length error");
+    }
+    this.list = list;
+  }
+ 
+  public listKeywords(): string[] {
+    const ret: string[] = [];
+    for (const i of this.list) {
+      ret.push(...i.listKeywords());
+    }
+    return ret;
+  }
+ 
+  public getUsing(): string[] {
+    return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, [] as string[]);
+  }
+ 
+  public run(r: Result[]): Result[] {
+    let result: Result[] = [];
+ 
+    for (const input of r) {
+      let temp = [input];
+      let match = true;
+      for (const sequence of this.list) {
+        temp = sequence.run(temp);
+        if (temp.length === 0) {
+          match = false;
+          break;
+        }
+      }
+ 
+      if (match === true) {
+        if (temp.length > 1000) {
+          // avoid stack overflow
+          result = result.concat(temp);
+        } else {
+          result.push(...temp);
+        }
+      }
+    }
+ 
+    return result;
+  }
+ 
+  public railroad() {
+    const children = this.list.map((e) => { return e.railroad(); });
+    return "Railroad.Sequence(" + children.join() + ")";
+  }
+ 
+  public toStr() {
+    let ret = "";
+    for (const i of this.list) {
+      ret = ret + i.toStr() + ",";
+    }
+    return "seq(" + ret + ")";
+  }
+ 
+  public first() {
+    return this.list[0].first();
+  }
+}
+ 
+class WordSequence implements IStatementRunnable {
+ 
+  private readonly stri: string;
+  private readonly words: IStatementRunnable[] = [];
+  private readonly seq: Sequence;
+ 
+  public constructor(stri: string) {
+    this.stri = stri;
+ 
+    const foo = this.stri.replace(/-/g, " - ");
+    const split = foo.split(" ");
+ 
+    for (const st of split) {
+// todo, use Dash token
+      this.words.push(new Word(st));
+    }
+    this.seq = new Sequence(this.words);
+  }
+ 
+  public listKeywords(): string[] {
+    return [this.stri.toString()];
+  }
+ 
+  public getUsing(): string[] {
+    return [];
+  }
+ 
+  public run(r: Result[]): Result[] {
+    return this.seq.run(r);
+  }
+ 
+  public railroad() {
+    return "Railroad.Terminal('\"" + this.stri + "\"')";
+  }
+ 
+  public toStr() {
+    return "str(" + this.stri + ")";
+  }
+ 
+  public first() {
+    return this.words[0].first();
+  }
+}
+ 
+export abstract class Expression implements IStatementRunnable {
+  private runnable: IStatementRunnable | undefined = undefined;
+ 
+  public run(r: Result[]): Result[] {
+    const results: Result[] = [];
+ 
+    if (this.runnable === undefined) {
+      this.runnable = this.getRunnable();
+    }
+ 
+    for (const input of r) {
+      const temp = this.runnable.run([input]);
+ 
+      for (const t of temp) {
+        let consumed = input.remainingLength() - t.remainingLength();
+        if (consumed > 0) {
+          const originalLength = t.getNodes().length;
+          const children: (ExpressionNode | TokenNode)[] = [];
+          while (consumed > 0) {
+            const sub = t.popNode();
+            if (sub) {
+              children.push(sub);
+              consumed = consumed - sub.countTokens();
+            }
+          }
+          const re = new ExpressionNode(this);
+          re.setChildren(children.reverse());
+ 
+          const n = t.getNodes().slice(0, originalLength - consumed);
+          n.push(re);
+          t.setNodes(n);
+        }
+        results.push(t);
+      }
+ 
+    }
+//    console.dir(results);
+    return results;
+  }
+ 
+  public abstract getRunnable(): IStatementRunnable;
+ 
+  public listKeywords(): string[] {
+// do not recurse, all Expressions are evaluated only on first level
+    return [];
+  }
+ 
+  public getUsing(): string[] {
+    return ["expression/" + this.getName()];
+  }
+ 
+  public getName(): string {
+    return this.constructor.name;
+  }
+ 
+  public railroad() {
+    return "Railroad.NonTerminal('" + this.getName() + "', {href: '#/expression/" + this.getName() + "'})";
+  }
+ 
+  public toStr() {
+    return "expression(" + this.getName() + ")";
+  }
+ 
+  public first() {
+    return this.getRunnable().first();
+  }
+}
+ 
+class Permutation implements IStatementRunnable {
+  private readonly list: IStatementRunnable[];
+ 
+  public constructor(list: IStatementRunnable[]) {
+    if (list.length < 2) {
+      throw new Error("Permutation, length error, got " + list.length);
+    }
+    this.list = list;
+  }
+ 
+  public listKeywords(): string[] {
+    const ret: string[] = [];
+    for (const i of this.list) {
+      ret.push(...i.listKeywords());
+    }
+    return ret;
+  }
+ 
+  public getUsing() {
+    return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, [] as string[]);
+  }
+ 
+  public run(r: Result[]): Result[] {
+    const result: Result[] = [];
+ 
+    const copy = this.list.slice();
+    for (let index = 0; index < this.list.length; index++) {
+      const temp = this.list[index].run(r);
+      if (temp.length !== 0) {
+// match
+        result.push(...temp);
+ 
+        const left = copy;
+        left.splice(index, 1);
+        if (left.length === 1) {
+          result.push(...left[0].run(temp));
+        } else {
+          result.push(...new Permutation(left).run(temp));
+        }
+      }
+    }
+    return result;
+  }
+ 
+  public railroad() {
+    const children = this.list.map((e) => { return e.railroad(); });
+    return "Railroad.MultipleChoice(0, 'any'," + children.join() + ")";
+  }
+ 
+  public toStr() {
+    const children = this.list.map((e) => { return e.toStr(); });
+    return "per(" + children.join() + ")";
+  }
+ 
+  public first() {
+    return [""];
+  }
+}
+ 
+class FailCombinatorError extends Error {
+ 
+}
+ 
+class FailStarError extends Error {
+ 
+}
+ 
+class FailCombinator implements IStatementRunnable {
+ 
+  public listKeywords(): string[] {
+    return [];
+  }
+ 
+  public getUsing() {
+    return [];
+  }
+ 
+  public run(_r: Result[]): Result[] {
+    throw new FailCombinatorError();
+  }
+ 
+  public railroad() {
+    return "Railroad.Terminal('!FailCombinator')";
+  }
+ 
+  public toStr() {
+    return "fail()";
+  }
+ 
+  public first() {
+    return [];
+  }
+}
+ 
+// Note that Plus is implemented with Star
+class FailStar implements IStatementRunnable {
+ 
+  public listKeywords(): string[] {
+    return [];
+  }
+ 
+  public getUsing() {
+    return [];
+  }
+ 
+  public run(_r: Result[]): Result[] {
+    throw new FailStarError();
+  }
+ 
+  public railroad() {
+    return "Railroad.Terminal('!FailStar')";
+  }
+ 
+  public toStr() {
+    return "fail()";
+  }
+ 
+  public first() {
+    return [];
+  }
+}
+ 
+class Alternative implements IStatementRunnable {
+  private readonly list: IStatementRunnable[];
+ 
+  public constructor(list: IStatementRunnable[]) {
+    if (list.length < 2) {
+      throw new Error("Alternative, length error");
+    }
+    this.list = list;
+  }
+ 
+  public listKeywords(): string[] {
+    const ret: string[] = [];
+    for (const i of this.list) {
+      ret.push(...i.listKeywords());
+    }
+    return ret;
+  }
+ 
+  public getUsing() {
+    return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, [] as string[]);
+  }
+ 
+  public run(r: Result[]): Result[] {
+    const result: Result[] = [];
+ 
+    for (const sequ of this.list) {
+      const temp = sequ.run(r);
+      result.push(...temp);
+    }
+ 
+    return result;
+  }
+ 
+  public railroad() {
+    const children = this.list.map((e) => { return e.railroad(); });
+    return "Railroad.Choice(0, " + children.join() + ")";
+  }
+ 
+  public toStr() {
+    let ret = "";
+    for (const i of this.list) {
+      ret = ret + i.toStr() + ",";
+    }
+    return "alt(" + ret + ")";
+  }
+ 
+  public first() {
+    if (this.list.length !== 2) {
+      return [""];
+    }
+    const f1 = this.list[0].first();
+    const f2 = this.list[1].first();
+    if (f1.length === 1 && f1[0] === "") {
+      return f1;
+    }
+    if (f2.length === 1 && f2[0] === "") {
+      return f2;
+    }
+    if (f1.length === 1 && f2.length === 1 && f1[0] === f2[0]) {
+      return f1;
+    }
+    f1.push(...f2);
+    return f1;
+  }
+}
+ 
+// prioritized alternative, skip others if match found
+class AlternativePriority implements IStatementRunnable {
+  private readonly list: IStatementRunnable[];
+ 
+  public constructor(list: IStatementRunnable[]) {
+    if (list.length < 2) {
+      throw new Error("Alternative, length error");
+    }
+    this.list = list;
+  }
+ 
+  public listKeywords(): string[] {
+    const ret: string[] = [];
+    for (const i of this.list) {
+      ret.push(...i.listKeywords());
+    }
+    return ret;
+  }
+ 
+  public getUsing() {
+    return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, [] as string[]);
+  }
+ 
+  public run(r: Result[]): Result[] {
+    const result: Result[] = [];
+ 
+    for (const sequ of this.list) {
+//      console.log(seq.toStr());
+      const temp = sequ.run(r);
+ 
+      if (temp.length > 0) {
+        result.push(...temp);
+        break;
+      }
+    }
+ 
+    return result;
+  }
+ 
+  public railroad() {
+    const children = this.list.map((e) => { return e.railroad(); });
+    return "Railroad.Choice(0, " + children.join() + ")";
+  }
+ 
+  public toStr() {
+    let ret = "";
+    for (const i of this.list) {
+      ret = ret + i.toStr() + ",";
+    }
+    return "alt(" + ret + ")";
+  }
+ 
+  public first() {
+    if (this.list.length !== 2) {
+      return [""];
+    }
+    const f1 = this.list[0].first();
+    const f2 = this.list[1].first();
+    if (f1.length === 1 && f1[0] === "") {
+      return f1;
+    }
+    if (f2.length === 1 && f2[0] === "") {
+      return f2;
+    }
+    if (f1.length === 1 && f2.length === 1 && f1[0] === f2[0]) {
+      return f1;
+    }
+    f1.push(...f2);
+    return f1;
+  }
+}
+ 
+export class Combi {
+// todo, change this class to be instantiated, constructor(runnable) ?
+ 
+  private static ver: Version;
+ 
+  public static railroad(runnable: IStatementRunnable, complex = false): string {
+// todo, move method to graph.js?
+    let type = "Railroad.Diagram(";
+    if (complex === true) {
+      type = "Railroad.ComplexDiagram(";
+    }
+
+    const result = "Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\n" +
+      type +
+      runnable.railroad() +
+      ").toString();";
+    return result;
+  }
+ 
+  public static listKeywords(runnable: IStatementRunnable): string[] {
+// todo, move these walkers of the syntax tree to some abstraction?
+    let res = runnable.listKeywords();
+// remove duplicates
+    res = res.filter((x, i, a) => { return a.indexOf(x) === i; });
+    return res;
+  }
+ 
+// assumption: no pragmas supplied in tokens input
+  public static run(
+    runnable: IStatementRunnable,
+    tokens: readonly Tokens_Token[], version: Version): (ExpressionNode | TokenNode)[] | undefined {
+ 
+    this.ver = version;
+ 
+    const input = new Result(tokens, 0);
+    try {
+      const result = runnable.run([input]);
+/*
+    console.log("res: " + result.length);
+    for (const res of result) {
+      console.dir(res.getNodes().map(n => n.get().constructor.name));
+      console.dir(res.getNodes().map(n => n.concatTokens()));
+    }
+*/
+      for (const res of result) {
+        if (res.remainingLength() === 0) {
+          return res.getNodes();
+        }
+      }
+    } catch (err) {
+      if (err instanceof FailCombinatorError) {
+        return undefined;
+      }
+      throw err;
+    }
+ 
+    return undefined;
+  }
+ 
+  public static getVersion(): Version {
+    return this.ver;
+  }
+ 
+}
+ 
+// -----------------------------------------------------------------------------
+ 
+export function str(s: string): IStatementRunnable {
+  if (s.indexOf(" ") > 0 || s.indexOf("-") > 0) {
+    return new WordSequence(s);
+  } else {
+    return new Word(s);
+  }
+}
+ 
+export function regex(r: RegExp): IStatementRunnable {
+  return new Regex(r);
+}
+ 
+export function tok(t: new (p: Position, s: string) => any): IStatementRunnable {
+  return new Token(t.name);
+}
+ 
+const expressionSingletons: {[index: string]: Expression} = {};
+const stringSingletons: {[index: string]: IStatementRunnable} = {};
+type InputType = (new () => Expression) | string | IStatementRunnable;
+ 
+function map(s: InputType): IStatementRunnable {
+  const type = typeof s;
+  if (type === "string") {
+    if (stringSingletons[s as string] === undefined) {
+      stringSingletons[s as string] = str(s as string);
+    }
+    return stringSingletons[s as string];
+  } else if (type === "function") {
+    // @ts-ignore
+    const name = s.name;
+    if (expressionSingletons[name] === undefined) {
+      // @ts-ignore
+      expressionSingletons[name] = new s();
+    }
+    return expressionSingletons[name];
+  } else {
+    return s as IStatementRunnable;
+  }
+}
+export function seq(first: InputType, second: InputType, ...rest: InputType[]): IStatementRunnable {
+  const list = [map(first), map(second)];
+  list.push(...rest.map(map));
+  return new Sequence(list);
+}
+export function alt(first: InputType, second: InputType, ...rest: InputType[]): IStatementRunnable {
+  const list = [map(first), map(second)];
+  list.push(...rest.map(map));
+  return new Alternative(list);
+}
+export function altPrio(first: InputType, second: InputType, ...rest: InputType[]): IStatementRunnable {
+  const list = [map(first), map(second)];
+  list.push(...rest.map(map));
+  return new AlternativePriority(list);
+}
+export function opt(first: InputType): IStatementRunnable {
+  return new Optional(map(first));
+}
+export function optPrio(first: InputType): IStatementRunnable {
+  return new OptionalPriority(map(first));
+}
+export function per(first: InputType, second: InputType, ...rest: InputType[]): IStatementRunnable {
+  const list = [map(first), map(second)];
+  list.push(...rest.map(map));
+  return new Permutation(list);
+}
+export function star(first: InputType): IStatementRunnable {
+  return new Star(map(first));
+}
+export function starPrio(first: InputType): IStatementRunnable {
+  return new StarPriority(map(first));
+}
+export function plus(first: InputType): IStatementRunnable {
+  return new Plus(map(first));
+}
+export function plusPrio(first: InputType): IStatementRunnable {
+  return new PlusPriority(map(first));
+}
+export function ver(version: Version, first: InputType, or?: Version): IStatementRunnable {
+  return new Vers(version, map(first), or);
+}
+export function verNot(version: Version, first: InputType): IStatementRunnable {
+  return new VersNot(version, map(first));
+}
+export function failCombinator(): IStatementRunnable {
+  return new FailCombinator();
+}
+export function failStar(): IStatementRunnable {
+  return new FailStar();
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expand_macros.ts.html b/src/abap/2_statements/expand_macros.ts.html new file mode 100644 index 00000000000..e272e563786 --- /dev/null +++ b/src/abap/2_statements/expand_macros.ts.html @@ -0,0 +1,874 @@ + + + + + + Code coverage report for src/abap/2_statements/expand_macros.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements expand_macros.ts

+
+ +
+ 98.48% + Statements + 260/264 +
+ + +
+ 93.5% + Branches + 72/77 +
+ + +
+ 100% + Functions + 13/13 +
+ + +
+ 98.48% + Lines + 260/264 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +2641x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7555x +7555x +58x +58x +58x +58x +58x +7555x +1x +1x +70x +  +  +70x +70x +70x +70x +70x +1x +1x +55x +55x +1x +1x +39x +39x +1x +1x +810x +55x +55x +755x +755x +1x +1x +55x +55x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7555x +7555x +7555x +7555x +7555x +1x +1x +7606x +7606x +7606x +7606x +7606x +7606x +7584x +7584x +7606x +7606x +25471x +25471x +25471x +25471x +81x +81x +81x +81x +25471x +64x +64x +64x +64x +64x +22x +22x +22x +22x +22x +22x +22x +25390x +138x +70x +70x +70x +70x +138x +67x +67x +67x +138x +25471x +7606x +1x +1x +7639x +7639x +7639x +7639x +7639x +7639x +25461x +25461x +740x +740x +55x +55x +55x +48x +35x +35x +48x +48x +55x +55x +55x +55x +55x +55x +62x +62x +55x +  +  +55x +55x +740x +685x +685x +740x +25406x +25406x +7639x +7639x +7639x +1x +1x +1x +1x +55x +55x +16x +16x +39x +39x +55x +54x +54x +1x +1x +1x +54x +54x +39x +39x +39x +55x +20x +20x +20x +20x +20x +39x +39x +39x +39x +39x +39x +39x +1x +1x +39x +39x +39x +39x +39x +26x +26x +26x +14x +14x +26x +26x +26x +26x +9x +26x +17x +17x +26x +26x +6x +26x +20x +20x +20x +20x +26x +39x +39x +39x +1x +1x +740x +740x +740x +1489x +606x +1489x +767x +740x +767x +27x +27x +883x +1x +116x +115x +115x +767x +767x +740x +740x +1x +1x +122x +122x +122x +401x +401x +122x +122x +122x +1x +1x
import * as Statements from "./statements";
+import * as Expressions from "./expressions";
+import * as Tokens from "../1_lexer/tokens";
+import {MacroContent, Comment, Unknown, MacroCall} from "./statements/_statement";
+import {StatementNode} from "../nodes/statement_node";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {TokenNode} from "../nodes/token_node";
+import {Version} from "../../version";
+import {StatementParser} from "./statement_parser";
+import {MemoryFile} from "../../files/memory_file";
+import {Lexer} from "../1_lexer/lexer";
+import {VirtualPosition} from "../../virtual_position";
+import {IRegistry} from "../../_iregistry";
+import {Program} from "../../objects/program";
+import {IFile} from "../../files/_ifile";
+import {Position} from "../../position";
+ 
+class Macros {
+  private readonly macros: {[index: string]: {
+    statements: StatementNode[],
+    filename: string | undefined,
+  }};
+ 
+  public constructor(globalMacros: readonly string[]) {
+    this.macros = {};
+    for (const m of globalMacros) {
+      this.macros[m.toUpperCase()] = {
+        statements: [],
+        filename: undefined,
+      };
+    }
+  }
+ 
+  public addMacro(name: string, contents: StatementNode[], filename: string): void {
+    if (this.isMacro(name)) {
+      return;
+    }
+    this.macros[name.toUpperCase()] = {
+      statements: contents,
+      filename: filename,
+    };
+  }
+ 
+  public getContents(name: string): StatementNode[] | undefined {
+    return this.macros[name.toUpperCase()].statements;
+  }
+ 
+  public listMacroNames(): string[] {
+    return Object.keys(this.macros);
+  }
+ 
+  public isMacro(name: string): boolean {
+    if (this.macros[name.toUpperCase()]) {
+      return true;
+    }
+    return false;
+  }
+ 
+  public getMacroFilename(name: string): string | undefined {
+    return this.macros[name.toUpperCase()].filename;
+  }
+}
+ 
+export class ExpandMacros {
+  private readonly macros: Macros;
+  private readonly globalMacros: readonly string[];
+  private readonly version: Version;
+  private readonly reg?: IRegistry;
+ 
+  // "reg" must be supplied if there are cross object macros via INCLUDE
+  public constructor(globalMacros: readonly string[], version: Version, reg?: IRegistry) {
+    this.macros = new Macros(globalMacros);
+    this.version = version;
+    this.globalMacros = globalMacros;
+    this.reg = reg;
+  }
+ 
+  public find(statements: StatementNode[], file: IFile, clear = true) {
+    let nameToken: AbstractToken | undefined = undefined;
+    let start: Position | undefined = undefined;
+    let contents: StatementNode[] = [];
+ 
+    const macroReferences = this.reg?.getMacroReferences();
+    if (clear) {
+      macroReferences?.clear(file.getFilename());
+    }
+ 
+    for (let i = 0; i < statements.length; i++) {
+      const statement = statements[i];
+      const type = statement.get();
+ 
+      if (type instanceof Statements.Define) {
+        // todo, will this break if first token is a pragma?
+        nameToken = statement.getTokens()[1];
+        start = statement.getFirstToken().getStart();
+        contents = [];
+      } else if (type instanceof Statements.Include) {
+        const includeName = statement.findDirectExpression(Expressions.IncludeName)?.concatTokens();
+        // todo, this does not take function module includes into account
+        // todo, workaround for cyclic includes?
+        const prog = this.reg?.getObject("PROG", includeName) as Program | undefined;
+        if (prog) {
+          prog.parse(this.version, this.globalMacros, this.reg);
+          const includeMainFile = prog.getMainABAPFile();
+          if (includeMainFile) {
+            // slow, this copies everything,
+            this.find([...includeMainFile.getStatements()], includeMainFile, false);
+          }
+        }
+      } else if (nameToken) {
+        if (type instanceof Statements.EndOfDefinition) {
+          this.macros.addMacro(nameToken.getStr(), contents, file.getFilename());
+          macroReferences?.addDefinition({filename: file.getFilename(), token: nameToken}, start!, statement.getLastToken().getEnd());
+ 
+          nameToken = undefined;
+        } else if (!(type instanceof Comment)) {
+          statements[i] = new StatementNode(new MacroContent()).setChildren(this.tokensToNodes(statement.getTokens()));
+          contents.push(statements[i]);
+        }
+      }
+    }
+  }
+ 
+  public handleMacros(statements: readonly StatementNode[], file: IFile): {statements: StatementNode[], containsUnknown: boolean} {
+    const result: StatementNode[] = [];
+    let containsUnknown = false;
+ 
+    const macroReferences = this.reg?.getMacroReferences();
+ 
+    for (const statement of statements) {
+      const type = statement.get();
+      if (type instanceof Unknown || type instanceof MacroCall) {
+        const macroName = this.findName(statement.getTokens());
+        if (macroName && this.macros.isMacro(macroName)) {
+ 
+          const filename = this.macros.getMacroFilename(macroName);
+          if (filename) {
+            macroReferences?.addReference({
+              filename: filename,
+              token: statement.getFirstToken(),
+            });
+          }
+ 
+          result.push(new StatementNode(new MacroCall(), statement.getColon()).setChildren(this.tokensToNodes(statement.getTokens())));
+ 
+          const expanded = this.expandContents(macroName, statement);
+          const handled = this.handleMacros(expanded, file);
+          for (const e of handled.statements) {
+            result.push(e);
+          }
+          if (handled.containsUnknown === true) {
+            containsUnknown = true;
+          }
+ 
+          continue;
+        } else {
+          containsUnknown = true;
+        }
+      }
+      result.push(statement);
+    }
+ 
+    return {statements: result, containsUnknown};
+  }
+ 
+  //////////////
+ 
+  private expandContents(name: string, statement: StatementNode): readonly StatementNode[] {
+    const contents = this.macros.getContents(name);
+    if (contents === undefined || contents.length === 0) {
+      return [];
+    }
+ 
+    let str = "";
+    for (const c of contents) {
+      let concat = c.concatTokens();
+      if (c.getTerminator() === ",") {
+        // workaround for chained statements
+        concat = concat.replace(/,$/, ".");
+      }
+      str += concat + "\n";
+    }
+ 
+    const inputs = this.buildInput(statement);
+    let i = 1;
+    for (const input of inputs) {
+      const search = "&" + i;
+      const reg = new RegExp(search, "g");
+      str = str.replace(reg, input);
+      i++;
+    }
+ 
+    const file = new MemoryFile("expand_macros.abap.prog", str);
+    const lexerResult = new Lexer().run(file, statement.getFirstToken().getStart());
+ 
+    const result = new StatementParser(this.version, this.reg).run([lexerResult], this.macros.listMacroNames());
+    return result[0].statements;
+  }
+ 
+  private buildInput(statement: StatementNode): string[] {
+    const result: string[] = [];
+    const tokens = statement.getTokens();
+ 
+    let build = "";
+    for (let i = 1; i < tokens.length - 1; i++) {
+      const now = tokens[i];
+      let next: AbstractToken | undefined = tokens[i + 1];
+      if (i + 2 === tokens.length) {
+        next = undefined; // dont take the punctuation
+      }
+ 
+      // argh, macros is a nightmare
+      let end = now.getStart();
+      if (end instanceof VirtualPosition) {
+        end = new VirtualPosition(end, end.vrow, end.vcol + now.getStr().length);
+      } else {
+        end = now.getEnd();
+      }
+ 
+      if (next && next.getStart().equals(end)) {
+        build += now.getStr();
+      } else {
+        build += now.getStr();
+        result.push(build);
+        build = "";
+      }
+    }
+ 
+    return result;
+  }
+ 
+  private findName(tokens: readonly AbstractToken[]): string | undefined {
+    let macroName: string | undefined = undefined;
+    let previous: AbstractToken | undefined = undefined;
+    for (const i of tokens) {
+      if (previous && previous?.getEnd().getCol() !== i.getStart().getCol()) {
+        break;
+      } else if (i instanceof Tokens.Identifier || i.getStr() === "-") {
+        if (macroName === undefined) {
+          macroName = i.getStr();
+        } else {
+          macroName += i.getStr();
+        }
+      } else if (i instanceof Tokens.Pragma) {
+        continue;
+      } else {
+        break;
+      }
+      previous = i;
+    }
+    return macroName;
+  }
+ 
+  private tokensToNodes(tokens: readonly AbstractToken[]): TokenNode[] {
+    const ret: TokenNode[] = [];
+ 
+    for (const t of tokens) {
+      ret.push(new TokenNode(t));
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/abstract.ts.html b/src/abap/2_statements/expressions/abstract.ts.html new file mode 100644 index 00000000000..e7936855a9f --- /dev/null +++ b/src/abap/2_statements/expressions/abstract.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/abstract.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions abstract.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {str, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Abstract extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return str("ABSTRACT");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/abstract_methods.ts.html b/src/abap/2_statements/expressions/abstract_methods.ts.html new file mode 100644 index 00000000000..0f76d132831 --- /dev/null +++ b/src/abap/2_statements/expressions/abstract_methods.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/abstract_methods.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions abstract_methods.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, plusPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {MethodName} from "./method_name";
+ 
+export class AbstractMethods extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("ABSTRACT METHODS", plusPrio(MethodName));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/and_return.ts.html b/src/abap/2_statements/expressions/and_return.ts.html new file mode 100644 index 00000000000..537788eb2cb --- /dev/null +++ b/src/abap/2_statements/expressions/and_return.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/and_return.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions and_return.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {str, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AndReturn extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return str("AND RETURN");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/arith_operator.ts.html b/src/abap/2_statements/expressions/arith_operator.ts.html new file mode 100644 index 00000000000..8f966c73d02 --- /dev/null +++ b/src/abap/2_statements/expressions/arith_operator.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/arith_operator.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions arith_operator.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {tok, Expression, altPrio} from "../combi";
+import {WPlusW, WDashW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ArithOperator extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = altPrio(tok(WPlusW),
+                        tok(WDashW),
+                        "*",
+                        "**",
+                        "/",
+                        "BIT-XOR",
+                        "BIT-AND",
+                        "BIT-OR",
+                        "DIV",
+                        "MOD");
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/arrow.ts.html b/src/abap/2_statements/expressions/arrow.ts.html new file mode 100644 index 00000000000..485b8b46708 --- /dev/null +++ b/src/abap/2_statements/expressions/arrow.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/arrow.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions arrow.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, tok, Expression} from "../combi";
+import {InstanceArrow, StaticArrow} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Arrow extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return altPrio(tok(InstanceArrow), tok(StaticArrow));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/arrow_or_dash.ts.html b/src/abap/2_statements/expressions/arrow_or_dash.ts.html new file mode 100644 index 00000000000..fee573bc75e --- /dev/null +++ b/src/abap/2_statements/expressions/arrow_or_dash.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/arrow_or_dash.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions arrow_or_dash.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, tok, Expression} from "../combi";
+import {InstanceArrow, StaticArrow, Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ArrowOrDash extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return altPrio(tok(InstanceArrow), tok(StaticArrow), tok(Dash));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/assign_source.ts.html b/src/abap/2_statements/expressions/assign_source.ts.html new file mode 100644 index 00000000000..5c26ae0307d --- /dev/null +++ b/src/abap/2_statements/expressions/assign_source.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/assign_source.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions assign_source.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, alt, tok, opt, Expression, ver} from "../combi";
+import {InstanceArrow, StaticArrow} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {Source} from "./source";
+import {Dynamic} from "./dynamic";
+import {Field} from "./field";
+import {SimpleSource3} from "./simple_source3";
+import {Version} from "../../../version";
+ 
+export class AssignSource extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const component = seq("COMPONENT",
+                          alt(SimpleSource3, ver(Version.v740sp02, Source)),
+                          "OF STRUCTURE",
+                          Source);
+ 
+    const tableField = seq("TABLE FIELD", alt(Source, Dynamic));
+ 
+    const arrow = alt(tok(InstanceArrow), tok(StaticArrow));
+ 
+    const source = alt(seq(Source, opt(seq(arrow, Dynamic))),
+                       component,
+                       tableField,
+                       seq(Dynamic, opt(seq(arrow, alt(Field, Dynamic)))));
+ 
+    return source;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/association_name.ts.html b/src/abap/2_statements/expressions/association_name.ts.html new file mode 100644 index 00000000000..d75a944d0ca --- /dev/null +++ b/src/abap/2_statements/expressions/association_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/association_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions association_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AssociationName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^\\_[\w]+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/attribute_chain.ts.html b/src/abap/2_statements/expressions/attribute_chain.ts.html new file mode 100644 index 00000000000..0819a20c6c5 --- /dev/null +++ b/src/abap/2_statements/expressions/attribute_chain.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/attribute_chain.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions attribute_chain.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, altPrio, starPrio, Expression} from "../combi";
+import {FieldLength, TableExpression, ArrowOrDash, ComponentName, FieldOffset, AttributeName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {TableBody} from "./table_body";
+ 
+export class AttributeChain extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const chain = seq(AttributeName,
+                      starPrio(altPrio(seq(ArrowOrDash, altPrio("*", ComponentName)), TableExpression)));
+ 
+    const ret = seq(chain, optPrio(TableBody), optPrio(FieldOffset), optPrio(FieldLength));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/attribute_name.ts.html b/src/abap/2_statements/expressions/attribute_name.ts.html new file mode 100644 index 00000000000..3850968f609 --- /dev/null +++ b/src/abap/2_statements/expressions/attribute_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/attribute_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions attribute_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AttributeName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^(\/\w+\/)?(?!\*)[\w\d_\*\~%]+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/behavior_definition_name.ts.html b/src/abap/2_statements/expressions/behavior_definition_name.ts.html new file mode 100644 index 00000000000..d73ea9da9a1 --- /dev/null +++ b/src/abap/2_statements/expressions/behavior_definition_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/behavior_definition_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions behavior_definition_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class BehaviorDefinitionName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^((\w*\/\w+\/)|(\w*\/\w+\/)?[\w\*$%]+)$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/block_name.ts.html b/src/abap/2_statements/expressions/block_name.ts.html new file mode 100644 index 00000000000..8caedf4ea3f --- /dev/null +++ b/src/abap/2_statements/expressions/block_name.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/block_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions block_name.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, starPrio, tok, regex as reg, Expression} from "../combi";
+import {Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class BlockName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(reg(/^[\w%\$\*]+$/), starPrio(seq(tok(Dash), reg(/^[\w%\$\*]+$/))));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/call_transformation_options.ts.html b/src/abap/2_statements/expressions/call_transformation_options.ts.html new file mode 100644 index 00000000000..c288d8061d2 --- /dev/null +++ b/src/abap/2_statements/expressions/call_transformation_options.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/call_transformation_options.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions call_transformation_options.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, alt, plus} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Field} from "./field";
+import {Integer} from "./integer";
+import {Source} from "./source";
+ 
+export class CallTransformationOptions extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const field = seq(alt(Field, Integer), "=", Source);
+    return plus(field);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/call_transformation_parameters.ts.html b/src/abap/2_statements/expressions/call_transformation_parameters.ts.html new file mode 100644 index 00000000000..e7d995f6531 --- /dev/null +++ b/src/abap/2_statements/expressions/call_transformation_parameters.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/call_transformation_parameters.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions call_transformation_parameters.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {SimpleSource3} from ".";
+import {Expression, seq, alt, plus} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dynamic} from "./dynamic";
+import {Field} from "./field";
+import {Integer} from "./integer";
+ 
+export class CallTransformationParameters extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const field = seq(alt(Field, Integer), "=", SimpleSource3);
+    return alt(plus(field), Dynamic);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/cast.ts.html b/src/abap/2_statements/expressions/cast.ts.html new file mode 100644 index 00000000000..409d1a0732e --- /dev/null +++ b/src/abap/2_statements/expressions/cast.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/cast.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions cast.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, tok, seq, Expression, ver, optPrio} from "../combi";
+import {Version} from "../../../version";
+import {TypeNameOrInfer, Source} from ".";
+import {ParenLeftW, WParenRightW, WParenRight} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {Let} from "./let";
+ 
+export class Cast extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const rparen = altPrio(tok(WParenRightW), tok(WParenRight));
+ 
+    const cast = seq("CAST", TypeNameOrInfer, tok(ParenLeftW), optPrio(Let), Source, rparen);
+ 
+    return ver(Version.v740sp02, cast);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/class_final.ts.html b/src/abap/2_statements/expressions/class_final.ts.html new file mode 100644 index 00000000000..d634f6d267e --- /dev/null +++ b/src/abap/2_statements/expressions/class_final.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/class_final.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions class_final.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {str, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassFinal extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return str("FINAL");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/class_friends.ts.html b/src/abap/2_statements/expressions/class_friends.ts.html new file mode 100644 index 00000000000..a17ab473780 --- /dev/null +++ b/src/abap/2_statements/expressions/class_friends.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/class_friends.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions class_friends.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, optPrio, plus} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {ClassName} from "./class_name";
+ 
+export class ClassFriends extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(optPrio("GLOBAL"), "FRIENDS", plus(ClassName));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/class_global.ts.html b/src/abap/2_statements/expressions/class_global.ts.html new file mode 100644 index 00000000000..eba7875ee32 --- /dev/null +++ b/src/abap/2_statements/expressions/class_global.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/class_global.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions class_global.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {str, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassGlobal extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return str("PUBLIC");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/class_name.ts.html b/src/abap/2_statements/expressions/class_name.ts.html new file mode 100644 index 00000000000..c1179f27576 --- /dev/null +++ b/src/abap/2_statements/expressions/class_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/class_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions class_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +2x +2x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^\w*(\/\w{3,}\/)?\w+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/color.ts.html b/src/abap/2_statements/expressions/color.ts.html new file mode 100644 index 00000000000..79c12ec625c --- /dev/null +++ b/src/abap/2_statements/expressions/color.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/color.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions color.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {alt, Expression, seq, altPrio, opt} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Source} from "./source";
+ 
+export class Color extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const eq = seq("=", Source);
+    const integers = altPrio("1", "2", "3", "4", "5", "6", "7");
+    const texts = altPrio("COL_BACKGROUND",
+                          "COL_HEADING",
+                          "COL_NORMAL",
+                          "COL_TOTAL",
+                          "COL_KEY",
+                          "COL_POSITIVE",
+                          "COL_NEGATIVE",
+                          "COL_GROUP");
+    const value = alt(eq, altPrio("ON", "OFF", altPrio(integers, texts)));
+    const toggle = altPrio("ON", "OFF");
+ 
+    return seq("COLOR", value, opt(toggle));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/compare.ts.html b/src/abap/2_statements/expressions/compare.ts.html new file mode 100644 index 00000000000..a5157179b56 --- /dev/null +++ b/src/abap/2_statements/expressions/compare.ts.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/compare.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions compare.ts

+
+ +
+ 100% + Statements + 38/38 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 38/38 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +381x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, ver, tok, plus, opt, optPrio, altPrio, Expression} from "../combi";
+import {FieldSub, ClassName, Constant, Source, MethodCallChain, CompareOperator, SourceFieldSymbol} from ".";
+import {WParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Compare extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const val = altPrio(FieldSub, Constant);
+ 
+    const list = seq(tok(WParenLeft),
+                     val,
+                     plus(seq(",", val)),
+                     tok(ParenRightW));
+ 
+    const inn = seq(optPrio("NOT"), "IN", altPrio(Source, list));
+ 
+    const sopt = seq("IS",
+                     optPrio("NOT"),
+                     altPrio("SUPPLIED",
+                             "BOUND",
+                             ver(Version.v750, seq("INSTANCE OF", ClassName), Version.OpenABAP),
+                             "REQUESTED",
+                             "INITIAL"));
+ 
+    const between = seq(optPrio("NOT"), "BETWEEN", Source, "AND", Source);
+ 
+    const predicate = ver(Version.v740sp08, MethodCallChain);
+ 
+    const rett = seq(Source, altPrio(seq(CompareOperator, Source), inn, between, sopt));
+ 
+    const fsassign = seq(SourceFieldSymbol, "IS", optPrio("NOT"), "ASSIGNED");
+ 
+    const ret = seq(opt("NOT"), altPrio(rett, predicate, fsassign));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/compare_operator.ts.html b/src/abap/2_statements/expressions/compare_operator.ts.html new file mode 100644 index 00000000000..179379d0283 --- /dev/null +++ b/src/abap/2_statements/expressions/compare_operator.ts.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/compare_operator.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions compare_operator.ts

+
+ +
+ 100% + Statements + 41/41 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 41/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +411x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CompareOperator extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const operator = altPrio("=",
+                             "<>",
+                             "><",
+                             "<",
+                             ">",
+                             "<=",
+                             ">=",
+                             "=>",
+                             "=<",
+                             "CA",
+                             "CO",
+                             "CP",
+                             "EQ",
+                             "NE",
+                             "CN",
+                             "GE",
+                             "GT",
+                             "LT",
+                             "LE",
+                             "CS",
+                             "NS",
+                             "NA",
+                             "NP",
+                             "BYTE-CO",
+                             "BYTE-CA",
+                             "BYTE-CS",
+                             "BYTE-CN",
+                             "BYTE-NA",
+                             "BYTE-NS",
+                             "O", // hex comparison operator
+                             "Z", // hex comparison operator
+                             "M");
+    return operator;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/component_chain.ts.html b/src/abap/2_statements/expressions/component_chain.ts.html new file mode 100644 index 00000000000..a68afa28564 --- /dev/null +++ b/src/abap/2_statements/expressions/component_chain.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/component_chain.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions component_chain.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, altPrio, star, Expression} from "../combi";
+import {FieldLength, TableExpression, ArrowOrDash, ComponentName, FieldOffset} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {TableBody} from "./table_body";
+ 
+export class ComponentChain extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const chain = seq(ComponentName,
+                      star(altPrio(seq(ArrowOrDash, altPrio("*", ComponentName)), TableExpression)));
+ 
+    const ret = seq(chain, optPrio(TableBody), optPrio(FieldOffset), optPrio(FieldLength));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/component_chain_simple.ts.html b/src/abap/2_statements/expressions/component_chain_simple.ts.html new file mode 100644 index 00000000000..daf20341061 --- /dev/null +++ b/src/abap/2_statements/expressions/component_chain_simple.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/component_chain_simple.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions component_chain_simple.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, starPrio, Expression, optPrio} from "../combi";
+import {ComponentName, ArrowOrDash, FieldOffset, FieldLength} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ComponentChainSimple extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const chain = seq(ComponentName,
+                      starPrio(seq(ArrowOrDash, ComponentName)));
+ 
+    const ret = seq(chain, optPrio(FieldOffset), optPrio(FieldLength));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/component_compare.ts.html b/src/abap/2_statements/expressions/component_compare.ts.html new file mode 100644 index 00000000000..bf5dddc086b --- /dev/null +++ b/src/abap/2_statements/expressions/component_compare.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/component_compare.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions component_compare.ts

+
+ +
+ 100% + Statements + 35/35 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 35/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, opt, ver, tok, altPrio, plus, alt, Expression} from "../combi";
+import {ComponentChainSimple, FieldSub, Constant, Source, CompareOperator} from ".";
+import {WParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ComponentCompare extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const val = alt(FieldSub, Constant);
+ 
+    const list = seq(tok(WParenLeft),
+                     val,
+                     plus(seq(",", val)),
+                     tok(ParenRightW));
+ 
+    const inn = seq(opt("NOT"), "IN", altPrio(Source, list));
+ 
+    const sopt = seq("IS",
+                     opt("NOT"),
+                     altPrio("SUPPLIED",
+                             "BOUND",
+                             ver(Version.v750, seq("INSTANCE OF", Source)),
+                             "REQUESTED",
+                             "ASSIGNED",
+                             "INITIAL"));
+ 
+    const between = seq(opt("NOT"), "BETWEEN", Source, "AND", Source);
+ 
+    const rett = seq(ComponentChainSimple, altPrio(seq(CompareOperator, Source), inn, between, sopt));
+ 
+    const ret = seq(opt("NOT"), rett);
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/component_compare_simple.ts.html b/src/abap/2_statements/expressions/component_compare_simple.ts.html new file mode 100644 index 00000000000..cdf1edf7836 --- /dev/null +++ b/src/abap/2_statements/expressions/component_compare_simple.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/component_compare_simple.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions component_compare_simple.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, plus, altPrio, Expression} from "../combi";
+import {Dynamic, Source} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {ComponentChainSimple} from "./component_chain_simple";
+ 
+export class ComponentCompareSimple extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(altPrio(ComponentChainSimple, Dynamic), "=", Source);
+    return plus(ret);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/component_compare_single.ts.html b/src/abap/2_statements/expressions/component_compare_single.ts.html new file mode 100644 index 00000000000..8d397866c80 --- /dev/null +++ b/src/abap/2_statements/expressions/component_compare_single.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/component_compare_single.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions component_compare_single.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, Expression} from "../combi";
+import {Dynamic, Source} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {ComponentChainSimple} from "./component_chain_simple";
+ 
+export class ComponentCompareSingle extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(altPrio(ComponentChainSimple, Dynamic), "=", Source);
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/component_cond.ts.html b/src/abap/2_statements/expressions/component_cond.ts.html new file mode 100644 index 00000000000..11ddf7fbd7e --- /dev/null +++ b/src/abap/2_statements/expressions/component_cond.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/component_cond.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions component_cond.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, alt, star, Expression} from "../combi";
+import {ComponentCompare, ComponentCondSub} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ComponentCond extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const operator = alt("AND", "OR");
+ 
+    const cnd = alt(ComponentCompare, ComponentCondSub);
+ 
+    const ret = seq(cnd, star(seq(operator, cnd)));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/component_cond_sub.ts.html b/src/abap/2_statements/expressions/component_cond_sub.ts.html new file mode 100644 index 00000000000..8348579353b --- /dev/null +++ b/src/abap/2_statements/expressions/component_cond_sub.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/component_cond_sub.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions component_cond_sub.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, opt, tok, Expression, altPrio} from "../combi";
+import {ParenRightW, WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {ComponentCond} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ComponentCondSub extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const another = seq(opt("NOT"),
+                        tok(WParenLeftW),
+                        ComponentCond,
+                        altPrio(tok(WParenRightW), tok(ParenRightW)));
+ 
+    return another;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/component_name.ts.html b/src/abap/2_statements/expressions/component_name.ts.html new file mode 100644 index 00000000000..d309f0f4417 --- /dev/null +++ b/src/abap/2_statements/expressions/component_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/component_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions component_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ComponentName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^(\/\w+\/)?[\w\d_%$\*\~]+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/concatenated_constant.ts.html b/src/abap/2_statements/expressions/concatenated_constant.ts.html new file mode 100644 index 00000000000..a47f67af672 --- /dev/null +++ b/src/abap/2_statements/expressions/concatenated_constant.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/concatenated_constant.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions concatenated_constant.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, regex as reg, Expression, plusPrio, altPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ConcatenatedConstant extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const str = seq(reg(/^`.*`$/), plusPrio(seq("&", reg(/^`.*`$/))));
+    const char = seq(reg(/^'.*'$/), plusPrio(seq("&", reg(/^'.*'$/))));
+    return altPrio(str, char);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/cond.ts.html b/src/abap/2_statements/expressions/cond.ts.html new file mode 100644 index 00000000000..7eec9f96375 --- /dev/null +++ b/src/abap/2_statements/expressions/cond.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/cond.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions cond.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, starPrio, Expression, ver} from "../combi";
+import {Compare} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {CondSub} from "./cond_sub";
+import {Version} from "../../../version";
+ 
+export class Cond extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const operator = altPrio("AND", "OR", ver(Version.v702, "EQUIV"));
+    const cnd = altPrio(Compare, CondSub);
+    const ret = seq(cnd, starPrio(seq(operator, cnd)));
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/cond_body.ts.html b/src/abap/2_statements/expressions/cond_body.ts.html new file mode 100644 index 00000000000..e60c3c14fc8 --- /dev/null +++ b/src/abap/2_statements/expressions/cond_body.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/cond_body.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions cond_body.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, altPrio, plusPrio, optPrio} from "../combi";
+import {Cond, Source, Throw, Let} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CondBody extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const when = seq("WHEN", altPrio(Cond, Source), "THEN", altPrio(Throw, Source));
+ 
+    const elsee = seq("ELSE", altPrio(Throw, Source));
+ 
+    return seq(optPrio(Let),
+               plusPrio(when),
+               optPrio(elsee));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/cond_sub.ts.html b/src/abap/2_statements/expressions/cond_sub.ts.html new file mode 100644 index 00000000000..f9abcade9ba --- /dev/null +++ b/src/abap/2_statements/expressions/cond_sub.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/cond_sub.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions cond_sub.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, tok, Expression, altPrio} from "../combi";
+import {WParenLeftW, WParenRightW, WParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {Cond} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CondSub extends Expression {
+  public getRunnable(): IStatementRunnable {
+    // rule ParserMissingSpace makes sure the whitespace is correct
+    const another = seq(optPrio("NOT"),
+                        altPrio(tok(WParenLeftW), tok(WParenLeft)),
+                        Cond,
+                        altPrio(tok(WParenRightW), tok(ParenRightW)));
+ 
+    return another;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/constant.ts.html b/src/abap/2_statements/expressions/constant.ts.html new file mode 100644 index 00000000000..a0b599737fc --- /dev/null +++ b/src/abap/2_statements/expressions/constant.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/constant.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions constant.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +1x
import {altPrio, Expression} from "../combi";
+import {ConstantString, TextElementString, Integer, ConcatenatedConstant} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Constant extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return altPrio(TextElementString,
+                   ConcatenatedConstant,
+                   ConstantString,
+                   Integer);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/constant_field_length.ts.html b/src/abap/2_statements/expressions/constant_field_length.ts.html new file mode 100644 index 00000000000..c5474fae038 --- /dev/null +++ b/src/abap/2_statements/expressions/constant_field_length.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/constant_field_length.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions constant_field_length.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, tok, Expression} from "../combi";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {Integer, SimpleFieldChain} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ConstantFieldLength extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const length = seq(tok(ParenLeft),
+                       altPrio(Integer, SimpleFieldChain),
+                       tok(ParenRightW));
+ 
+    return length;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/constant_string.ts.html b/src/abap/2_statements/expressions/constant_string.ts.html new file mode 100644 index 00000000000..d665f6c6337 --- /dev/null +++ b/src/abap/2_statements/expressions/constant_string.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/constant_string.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions constant_string.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ConstantString extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^('.*')|(`.*`)$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/conv_body.ts.html b/src/abap/2_statements/expressions/conv_body.ts.html new file mode 100644 index 00000000000..3688e23a1c1 --- /dev/null +++ b/src/abap/2_statements/expressions/conv_body.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/conv_body.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions conv_body.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, optPrio} from "../combi";
+import {Source, Let} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ConvBody extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(optPrio(Let), Source);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/corresponding_body.ts.html b/src/abap/2_statements/expressions/corresponding_body.ts.html new file mode 100644 index 00000000000..a8f5c221979 --- /dev/null +++ b/src/abap/2_statements/expressions/corresponding_body.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/corresponding_body.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions corresponding_body.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, Expression, plus, ver, optPrio, alt} from "../combi";
+import {WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {ComponentName, Source, Field} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {ComponentChain} from "./component_chain";
+ 
+export class CorrespondingBody extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const mapping = seq("MAPPING", plus(seq(ComponentName, "=", ComponentChain)));
+ 
+    const baseParen = seq("BASE", tok(WParenLeftW), Source, tok(WParenRightW));
+ 
+    const discarding = ver(Version.v751, "DISCARDING DUPLICATES");
+ 
+    return seq(
+      optPrio("DEEP"),
+      optPrio(baseParen),
+      Source,
+      optPrio(discarding),
+      optPrio(mapping),
+      optPrio(seq("EXCEPT", alt(plus(Field), "*"))),
+    );
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/data_definition.ts.html b/src/abap/2_statements/expressions/data_definition.ts.html new file mode 100644 index 00000000000..3b7c75cc72f --- /dev/null +++ b/src/abap/2_statements/expressions/data_definition.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/data_definition.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions data_definition.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, alt, opt, per, Expression, optPrio} from "../combi";
+import * as Expressions from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DataDefinition extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const simple = opt(per("READ-ONLY",
+                           Expressions.Type,
+                           Expressions.Length,
+                           Expressions.Decimals,
+                           Expressions.Value));
+ 
+    const table = seq(Expressions.TypeTable, optPrio("READ-ONLY"));
+ 
+    return seq(Expressions.DefinitionName,
+               optPrio(Expressions.ConstantFieldLength),
+               alt(simple, table, Expressions.TypeStructure));
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/database_connection.ts.html b/src/abap/2_statements/expressions/database_connection.ts.html new file mode 100644 index 00000000000..8dd1c65393c --- /dev/null +++ b/src/abap/2_statements/expressions/database_connection.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/database_connection.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions database_connection.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, regex, altPrio} from "../combi";
+import {Dynamic} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DatabaseConnection extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = regex(/[\w\/]+/);
+    return seq("CONNECTION", altPrio(name, Dynamic));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/database_table.ts.html b/src/abap/2_statements/expressions/database_table.ts.html new file mode 100644 index 00000000000..b04514070c4 --- /dev/null +++ b/src/abap/2_statements/expressions/database_table.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/database_table.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions database_table.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dynamic} from "./dynamic";
+ 
+export class DatabaseTable extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return altPrio(Dynamic, reg(/^\*?(\/\w+\/)?\w+$/));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/decimals.ts.html b/src/abap/2_statements/expressions/decimals.ts.html new file mode 100644 index 00000000000..e678a4b5a36 --- /dev/null +++ b/src/abap/2_statements/expressions/decimals.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/decimals.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions decimals.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression} from "../combi";
+import {Integer} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Decimals extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq("DECIMALS", Integer);
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/default.ts.html b/src/abap/2_statements/expressions/default.ts.html new file mode 100644 index 00000000000..061c83dc8f0 --- /dev/null +++ b/src/abap/2_statements/expressions/default.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/default.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions default.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, Expression} from "../combi";
+import {Constant, FieldChain} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Default extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+// todo, DEFAULT is only valid for definitions in relation to method parameters
+    const def = seq("DEFAULT", altPrio(Constant, FieldChain));
+ 
+    return def;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/definition_name.ts.html b/src/abap/2_statements/expressions/definition_name.ts.html new file mode 100644 index 00000000000..3609168bc16 --- /dev/null +++ b/src/abap/2_statements/expressions/definition_name.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/definition_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions definition_name.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression, seq, tok, starPrio, optPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dash, DashW} from "../../1_lexer/tokens";
+ 
+export class DefinitionName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const r = reg(/^((\w*\/\w+\/)|(\w*\/\w+\/)?[\w\*$%]+)$/);
+ 
+    return seq(r, starPrio(seq(tok(Dash), optPrio(r))), optPrio(tok(DashW)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/dereference.ts.html b/src/abap/2_statements/expressions/dereference.ts.html new file mode 100644 index 00000000000..3917803a2cd --- /dev/null +++ b/src/abap/2_statements/expressions/dereference.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/dereference.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions dereference.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {InstanceArrow} from "../../1_lexer/tokens";
+import {seq, tok, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Dereference extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(tok(InstanceArrow), "*");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/destination.ts.html b/src/abap/2_statements/expressions/destination.ts.html new file mode 100644 index 00000000000..56cd2b1caa1 --- /dev/null +++ b/src/abap/2_statements/expressions/destination.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/destination.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions destination.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, altPrio, optPrio} from "../combi";
+import {Source} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Destination extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("DESTINATION", optPrio("IN GROUP"), altPrio("DEFAULT", Source));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/dynamic.ts.html b/src/abap/2_statements/expressions/dynamic.ts.html new file mode 100644 index 00000000000..756d82922bd --- /dev/null +++ b/src/abap/2_statements/expressions/dynamic.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/dynamic.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions dynamic.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, tok, Expression} from "../combi";
+import {WParenLeft, ParenLeft, ParenRightW, ParenRight} from "../../1_lexer/tokens";
+import {FieldChain, Constant} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Dynamic extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(altPrio(tok(WParenLeft), tok(ParenLeft)),
+                    altPrio(FieldChain, Constant),
+                    altPrio(tok(ParenRightW), tok(ParenRight)));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/entity_association.ts.html b/src/abap/2_statements/expressions/entity_association.ts.html new file mode 100644 index 00000000000..377f3314ecd --- /dev/null +++ b/src/abap/2_statements/expressions/entity_association.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/entity_association.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions entity_association.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EntityAssociation extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^[\w]+\\_[\w]+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/event_handler.ts.html b/src/abap/2_statements/expressions/event_handler.ts.html new file mode 100644 index 00000000000..4b67050253d --- /dev/null +++ b/src/abap/2_statements/expressions/event_handler.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/event_handler.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions event_handler.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, optPrio, plusPrio} from "../combi";
+import {ClassName, EventName, MethodParamName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EventHandler extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const event = seq("FOR EVENT",
+                      EventName,
+                      "OF",
+                      ClassName,
+                      optPrio(seq("IMPORTING", plusPrio(MethodParamName))));
+ 
+    return event;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/event_name.ts.html b/src/abap/2_statements/expressions/event_name.ts.html new file mode 100644 index 00000000000..7d1c12a2e76 --- /dev/null +++ b/src/abap/2_statements/expressions/event_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/event_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions event_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EventName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^[&_!]?\*?\w*(\/\w+\/)?\d*[a-zA-Z_%\$][\w\*%\$\?#]*(~\w+)?$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/exception_name.ts.html b/src/abap/2_statements/expressions/exception_name.ts.html new file mode 100644 index 00000000000..d010ff2cf68 --- /dev/null +++ b/src/abap/2_statements/expressions/exception_name.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/exception_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions exception_name.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Dash} from "../../1_lexer/tokens";
+import {Expression, starPrio, seq, tok} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Field} from "./field";
+ 
+/** non class based exception name */
+export class ExceptionName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(Field, starPrio(seq(tok(Dash), Field)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/field.ts.html b/src/abap/2_statements/expressions/field.ts.html new file mode 100644 index 00000000000..26569dbe913 --- /dev/null +++ b/src/abap/2_statements/expressions/field.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/field.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions field.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +15x +15x +15x +15x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Field extends Expression {
+  public getRunnable(): IStatementRunnable {
+// "&1" can be used for almost anything(field names, method names etc.) in macros
+// field names with only digits should not be possible
+    return reg(/^[&_!]?\*?\w*(\/\w+\/)?\d*[a-zA-Z_%\$][\w\*%\$\?#]*(~\w+)?$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/field_all.ts.html b/src/abap/2_statements/expressions/field_all.ts.html new file mode 100644 index 00000000000..14c9967dc0e --- /dev/null +++ b/src/abap/2_statements/expressions/field_all.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/field_all.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions field_all.ts

+
+ +
+ 60% + Statements + 6/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 60% + Lines + 6/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +  +  +  +  +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FieldAll extends Expression {
+  public getRunnable(): IStatementRunnable {
+// "&1" can be used for almost anything(field names, method names etc.) in macros
+// field names with only digits should not be possible
+    return reg(/^&?\*?(\/\w+\/)?[\w\*\$]+(~\w+)?$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/field_assignment.ts.html b/src/abap/2_statements/expressions/field_assignment.ts.html new file mode 100644 index 00000000000..40cee4392ed --- /dev/null +++ b/src/abap/2_statements/expressions/field_assignment.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/field_assignment.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions field_assignment.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {FieldSub} from "./field_sub";
+import {Source} from "./source";
+ 
+export class FieldAssignment extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(FieldSub, "=", Source);
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/field_chain.ts.html b/src/abap/2_statements/expressions/field_chain.ts.html new file mode 100644 index 00000000000..eae2a99573c --- /dev/null +++ b/src/abap/2_statements/expressions/field_chain.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/field_chain.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions field_chain.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +1x
import {seq, optPrio, star, tok, Expression, altPrio} from "../combi";
+import {AttributeName, ClassName, SourceField, SourceFieldSymbol, TableExpression, ComponentName, FieldOffset, FieldLength, TableBody, Dereference} from ".";
+import {InstanceArrow, StaticArrow, Dash, DashW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FieldChain extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const attr = seq(tok(InstanceArrow), AttributeName);
+    const comp = seq(tok(Dash), optPrio(ComponentName));
+ 
+    const chain = star(altPrio(Dereference, attr, comp, TableExpression));
+ 
+    const clas = seq(ClassName, tok(StaticArrow), AttributeName);
+    const start = altPrio(clas, SourceField, SourceFieldSymbol);
+ 
+    const after = altPrio(tok(DashW), seq(optPrio(TableBody), optPrio(FieldOffset), optPrio(FieldLength)));
+ 
+    const ret = seq(start, chain, after);
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/field_length.ts.html b/src/abap/2_statements/expressions/field_length.ts.html new file mode 100644 index 00000000000..5a564019884 --- /dev/null +++ b/src/abap/2_statements/expressions/field_length.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/field_length.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions field_length.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +5x +5x +5x +1x
import {seq, optPrio, altPrio, tok, regex as reg, Expression} from "../combi";
+import {ParenLeft, ParenRightW, Plus} from "../../1_lexer/tokens";
+import {SimpleFieldChain2} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FieldLength extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const normal = seq(optPrio(tok(Plus)),
+                       altPrio(reg(/^\d+$/), SimpleFieldChain2));
+ 
+    const length = seq(tok(ParenLeft),
+                       altPrio(normal, "*"),
+                       tok(ParenRightW));
+ 
+    return length;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/field_offset.ts.html b/src/abap/2_statements/expressions/field_offset.ts.html new file mode 100644 index 00000000000..adc431dd70e --- /dev/null +++ b/src/abap/2_statements/expressions/field_offset.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/field_offset.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions field_offset.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +1x
import {seq, tok, altPrio, regex as reg, Expression} from "../combi";
+import {Plus} from "../../1_lexer/tokens";
+import {SimpleFieldChain2} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FieldOffset extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const offset = seq(tok(Plus),
+                       altPrio(reg(/^\d+$/), SimpleFieldChain2));
+ 
+    return offset;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/field_sub.ts.html b/src/abap/2_statements/expressions/field_sub.ts.html new file mode 100644 index 00000000000..e9f80b04abd --- /dev/null +++ b/src/abap/2_statements/expressions/field_sub.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/field_sub.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions field_sub.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +11x +11x +11x +11x +11x +11x +1x
import {seq, opt, starPrio, tok, regex as reg, Expression} from "../combi";
+import {Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {TableBody} from "./table_body";
+ 
+export class FieldSub extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(reg(/^\*?!?(\/\w+\/)?[a-zA-Z_%$][\w%$\$\*]*$/),
+                    starPrio(seq(tok(Dash), reg(/^[\w%$\$\*]+$/))),
+                    opt(TableBody));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/field_symbol.ts.html b/src/abap/2_statements/expressions/field_symbol.ts.html new file mode 100644 index 00000000000..b4fccd26d14 --- /dev/null +++ b/src/abap/2_statements/expressions/field_symbol.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/field_symbol.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions field_symbol.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +1x
import {regex as reg, Expression, altPrio, tok, seq} from "../combi";
+import {Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FieldSymbol extends Expression {
+  public getRunnable(): IStatementRunnable {
+// todo, this only allows one dash in the name
+    const dashes = seq(reg(/^<[\w\/%$\*]+$/), tok(Dash), reg(/^[\w\/%$\*]+>$/));
+ 
+    return altPrio(reg(/^<[\w\/%$\*]+>$/), dashes);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/filter_body.ts.html b/src/abap/2_statements/expressions/filter_body.ts.html new file mode 100644 index 00000000000..d8b7e7b58cb --- /dev/null +++ b/src/abap/2_statements/expressions/filter_body.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/filter_body.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions filter_body.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, per, optPrio} from "../combi";
+import {Source, SimpleName, ComponentCond} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FilterBody extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const inn = seq("IN", Source);
+    const using = seq("USING KEY", SimpleName);
+    return seq(
+      Source,
+      optPrio("EXCEPT"),
+      optPrio(per(inn, using)),
+      seq("WHERE", ComponentCond));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/final_methods.ts.html b/src/abap/2_statements/expressions/final_methods.ts.html new file mode 100644 index 00000000000..e94ef083ac3 --- /dev/null +++ b/src/abap/2_statements/expressions/final_methods.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/final_methods.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions final_methods.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, plus} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {MethodName} from "./method_name";
+ 
+export class FinalMethods extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("FINAL METHODS", plus(MethodName));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/find_type.ts.html b/src/abap/2_statements/expressions/find_type.ts.html new file mode 100644 index 00000000000..5ff47e00fae --- /dev/null +++ b/src/abap/2_statements/expressions/find_type.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/find_type.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions find_type.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Version} from "../../../version";
+import {alt, ver, opt, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FindType extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return opt(alt("REGEX", "SUBSTRING", ver(Version.v755, "PCRE", Version.OpenABAP)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/for.ts.html b/src/abap/2_statements/expressions/for.ts.html new file mode 100644 index 00000000000..c420ad72fe7 --- /dev/null +++ b/src/abap/2_statements/expressions/for.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/for.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions for.ts

+
+ +
+ 100% + Statements + 29/29 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 29/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, opt, alt, ver, Expression, optPrio, altPrio, plus} from "../combi";
+import {Let, Source, InlineFieldDefinition, Cond, ComponentCond, LoopGroupByComponent, InlineLoopDefinition, TargetField, TargetFieldSymbol} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {FieldChain} from "./field_chain";
+ 
+export class For extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const where = seq("WHERE (", ComponentCond, ")");
+    const from = seq("FROM", Source);
+    const to = seq("TO", Source);
+    const inn = seq(InlineLoopDefinition, optPrio(from), optPrio(to), optPrio(where));
+    const then = seq("THEN", Source);
+    const whil = seq(altPrio("UNTIL", "WHILE"), Cond);
+    const itera = seq(InlineFieldDefinition, opt(then), whil);
+ 
+    const groupBy = seq("GROUP BY",
+                        alt(FieldChain, seq("(", plus(LoopGroupByComponent), ")")),
+                        opt(seq(alt("ASCENDING", "DESCENDING"), opt("AS TEXT"))),
+                        opt("WITHOUT MEMBERS"));
+ 
+    const t = alt(TargetField, TargetFieldSymbol);
+    const groups = ver(Version.v740sp08, seq("GROUPS", t, "OF", t, "IN", Source, optPrio(groupBy)));
+ 
+    const f = seq("FOR", alt(itera, inn, groups), optPrio(Let));
+ 
+    return ver(Version.v740sp05, f);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/form_changing.ts.html b/src/abap/2_statements/expressions/form_changing.ts.html new file mode 100644 index 00000000000..b058f0c10f9 --- /dev/null +++ b/src/abap/2_statements/expressions/form_changing.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/form_changing.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions form_changing.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, plus, Expression} from "../combi";
+import {FormParam} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FormChanging extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("CHANGING", plus(FormParam));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/form_name.ts.html b/src/abap/2_statements/expressions/form_name.ts.html new file mode 100644 index 00000000000..c70402ebad0 --- /dev/null +++ b/src/abap/2_statements/expressions/form_name.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/form_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions form_name.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, regex as reg, Expression, starPrio, optPrio} from "../combi";
+import {Dash, DashW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FormName extends Expression {
+  public getRunnable(): IStatementRunnable {
+// todo, does not handle namespaces properly
+    return seq(reg(/^[\w%$\*\/\?]+$/),
+               starPrio(seq(tok(Dash), optPrio(reg(/^\w+$/)))),
+               optPrio(tok(DashW)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/form_param.ts.html b/src/abap/2_statements/expressions/form_param.ts.html new file mode 100644 index 00000000000..6ddb56b3d9f --- /dev/null +++ b/src/abap/2_statements/expressions/form_param.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/form_param.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions form_param.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, optPrio, Expression} from "../combi";
+import {PassByValue, FormParamType, FormParamName, SimpleFieldChain} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FormParam extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const stru = seq("STRUCTURE", SimpleFieldChain);
+ 
+    const ret = seq(altPrio(PassByValue, FormParamName),
+                    optPrio(altPrio(FormParamType, stru)));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/form_param_name.ts.html b/src/abap/2_statements/expressions/form_param_name.ts.html new file mode 100644 index 00000000000..b29a12fe7d0 --- /dev/null +++ b/src/abap/2_statements/expressions/form_param_name.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/form_param_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions form_param_name.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, seq, tok, Expression, starPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dash} from "../../1_lexer/tokens";
+ 
+export class FormParamName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const r = reg(/^[\w$&\*%\/]+$/);
+ 
+    // dashes in form parameter names allowed, intention is not to support this
+    // but avoid the structural errors
+    return seq(r, starPrio(seq(tok(Dash), r)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/form_param_type.ts.html b/src/abap/2_statements/expressions/form_param_type.ts.html new file mode 100644 index 00000000000..12d480bca41 --- /dev/null +++ b/src/abap/2_statements/expressions/form_param_type.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/form_param_type.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions form_param_type.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import {seq, opt, optPrio, altPrio, alt, Expression} from "../combi";
+import {Constant, FieldChain, TypeName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FormParamType extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const def = seq("DEFAULT", alt(Constant, FieldChain));
+ 
+    const table = seq(alt("STANDARD", "HASHED", "INDEX", "SORTED", "ANY"),
+                      "TABLE");
+ 
+    const tabseq = seq(table, optPrio(seq("OF", TypeName)));
+ 
+    const ret = seq(optPrio(alt("REF TO", "LINE OF")),
+                    TypeName,
+                    opt(def));
+ 
+    const like = seq("LIKE", optPrio(alt("REF TO", "LINE OF")),
+                     FieldChain);
+ 
+    return alt(seq("TYPE", altPrio(tabseq, ret)), like);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/form_raising.ts.html b/src/abap/2_statements/expressions/form_raising.ts.html new file mode 100644 index 00000000000..d3ef96073c0 --- /dev/null +++ b/src/abap/2_statements/expressions/form_raising.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/form_raising.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions form_raising.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, plus, tok, alt, Expression} from "../combi";
+import {ClassName} from ".";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FormRaising extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const resume = seq("RESUMABLE",
+                       tok(ParenLeft),
+                       ClassName,
+                       tok(ParenRightW));
+ 
+    const raising = seq("RAISING", plus(alt(ClassName, resume)));
+ 
+    return raising;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/form_tables.ts.html b/src/abap/2_statements/expressions/form_tables.ts.html new file mode 100644 index 00000000000..4fe7648461c --- /dev/null +++ b/src/abap/2_statements/expressions/form_tables.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/form_tables.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions form_tables.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, plus, Expression} from "../combi";
+import {FormParam} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FormTables extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("TABLES", plus(FormParam));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/form_using.ts.html b/src/abap/2_statements/expressions/form_using.ts.html new file mode 100644 index 00000000000..dfeb5242dd4 --- /dev/null +++ b/src/abap/2_statements/expressions/form_using.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/form_using.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions form_using.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, plus, Expression} from "../combi";
+import {FormParam} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FormUsing extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("USING", plus(FormParam));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/fstarget.ts.html b/src/abap/2_statements/expressions/fstarget.ts.html new file mode 100644 index 00000000000..0e1ae66f6e7 --- /dev/null +++ b/src/abap/2_statements/expressions/fstarget.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/fstarget.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions fstarget.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, Expression} from "../combi";
+import {TargetFieldSymbol, InlineFS} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FSTarget extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return altPrio(InlineFS, TargetFieldSymbol);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/function_exporting.ts.html b/src/abap/2_statements/expressions/function_exporting.ts.html new file mode 100644 index 00000000000..5ca46c68af6 --- /dev/null +++ b/src/abap/2_statements/expressions/function_exporting.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/function_exporting.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions function_exporting.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, plusPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {FunctionExportingParameter} from ".";
+ 
+export class FunctionExporting extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const exp = plusPrio(FunctionExportingParameter);
+ 
+    return exp;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/function_exporting_parameter.ts.html b/src/abap/2_statements/expressions/function_exporting_parameter.ts.html new file mode 100644 index 00000000000..1e4b4693add --- /dev/null +++ b/src/abap/2_statements/expressions/function_exporting_parameter.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/function_exporting_parameter.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions function_exporting_parameter.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, Expression, ver} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {ParameterName} from "./parameter_name";
+import {Source} from "./source";
+import {Version} from "../../../version";
+import {SimpleSource3} from "./simple_source3";
+ 
+export class FunctionExportingParameter extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const s = altPrio(ver(Version.v740sp02, Source), SimpleSource3);
+    const exp = seq(ParameterName, "=", s);
+ 
+    return exp;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/function_name.ts.html b/src/abap/2_statements/expressions/function_name.ts.html new file mode 100644 index 00000000000..08e26ad04fc --- /dev/null +++ b/src/abap/2_statements/expressions/function_name.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/function_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions function_name.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, Expression} from "../combi";
+import {Constant, FieldChain} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FunctionName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return altPrio(Constant, FieldChain);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/function_parameters.ts.html b/src/abap/2_statements/expressions/function_parameters.ts.html new file mode 100644 index 00000000000..f426efe54c9 --- /dev/null +++ b/src/abap/2_statements/expressions/function_parameters.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/function_parameters.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions function_parameters.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, altPrio, Expression} from "../combi";
+import {ParameterListT, ParameterListExceptions, Field, FunctionExporting} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FunctionParameters extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const exporting = seq("EXPORTING", FunctionExporting);
+    const importing = seq("IMPORTING", ParameterListT);
+    const changing = seq("CHANGING", ParameterListT);
+    const tables = seq("TABLES", ParameterListT);
+    const exceptions = seq("EXCEPTIONS", optPrio(altPrio(ParameterListExceptions, Field)));
+    const long = seq(optPrio(exporting),
+                     optPrio(importing),
+                     optPrio(tables),
+                     optPrio(changing),
+                     optPrio(exceptions));
+ 
+    return long;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/include_name.ts.html b/src/abap/2_statements/expressions/include_name.ts.html new file mode 100644 index 00000000000..d11141b0e5d --- /dev/null +++ b/src/abap/2_statements/expressions/include_name.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/include_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions include_name.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, regex as reg, Expression, optPrio} from "../combi";
+import {Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class IncludeName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(reg(/^<?(\/\w+\/)?[\w%]+(~\w+)?>?$/), optPrio(seq(tok(Dash), reg(/^\w+$/))));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/index.html b/src/abap/2_statements/expressions/index.html new file mode 100644 index 00000000000..7b0c24d26ee --- /dev/null +++ b/src/abap/2_statements/expressions/index.html @@ -0,0 +1,3356 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions + + + + + + + + + +
+
+

All files src/abap/2_statements/expressions

+
+ +
+ 99.88% + Statements + 3451/3455 +
+ + +
+ 100% + Branches + 215/215 +
+ + +
+ 99.53% + Functions + 215/216 +
+ + +
+ 99.88% + Lines + 3451/3455 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
abstract.ts +
+
100%8/8100%1/1100%1/1100%8/8
abstract_methods.ts +
+
100%9/9100%1/1100%1/1100%9/9
and_return.ts +
+
100%8/8100%1/1100%1/1100%8/8
arith_operator.ts +
+
100%20/20100%1/1100%1/1100%20/20
arrow.ts +
+
100%9/9100%1/1100%1/1100%9/9
arrow_or_dash.ts +
+
100%9/9100%1/1100%1/1100%9/9
assign_source.ts +
+
100%28/28100%1/1100%1/1100%28/28
association_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
attribute_chain.ts +
+
100%16/16100%1/1100%1/1100%16/16
attribute_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
behavior_definition_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
block_name.ts +
+
100%11/11100%1/1100%1/1100%11/11
call_transformation_options.ts +
+
100%12/12100%1/1100%1/1100%12/12
call_transformation_parameters.ts +
+
100%13/13100%1/1100%1/1100%13/13
cast.ts +
+
100%16/16100%1/1100%1/1100%16/16
class_final.ts +
+
100%8/8100%1/1100%1/1100%8/8
class_friends.ts +
+
100%9/9100%1/1100%1/1100%9/9
class_global.ts +
+
100%8/8100%1/1100%1/1100%8/8
class_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
color.ts +
+
100%22/22100%1/1100%1/1100%22/22
compare.ts +
+
100%38/38100%1/1100%1/1100%38/38
compare_operator.ts +
+
100%41/41100%1/1100%1/1100%41/41
component_chain.ts +
+
100%16/16100%1/1100%1/1100%16/16
component_chain_simple.ts +
+
100%15/15100%1/1100%1/1100%15/15
component_compare.ts +
+
100%35/35100%1/1100%1/1100%35/35
component_compare_simple.ts +
+
100%11/11100%1/1100%1/1100%11/11
component_compare_single.ts +
+
100%11/11100%1/1100%1/1100%11/11
component_cond.ts +
+
100%15/15100%1/1100%1/1100%15/15
component_cond_sub.ts +
+
100%16/16100%1/1100%1/1100%16/16
component_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
concatenated_constant.ts +
+
100%10/10100%1/1100%1/1100%10/10
cond.ts +
+
100%14/14100%1/1100%1/1100%14/14
cond_body.ts +
+
100%15/15100%1/1100%1/1100%15/15
cond_sub.ts +
+
100%16/16100%1/1100%1/1100%16/16
constant.ts +
+
100%12/12100%1/1100%1/1100%12/12
constant_field_length.ts +
+
100%14/14100%1/1100%1/1100%14/14
constant_string.ts +
+
100%8/8100%1/1100%1/1100%8/8
conv_body.ts +
+
100%9/9100%1/1100%1/1100%9/9
corresponding_body.ts +
+
100%25/25100%1/1100%1/1100%25/25
data_definition.ts +
+
100%20/20100%1/1100%1/1100%20/20
database_connection.ts +
+
100%10/10100%1/1100%1/1100%10/10
database_table.ts +
+
100%9/9100%1/1100%1/1100%9/9
decimals.ts +
+
100%10/10100%1/1100%1/1100%10/10
default.ts +
+
100%13/13100%1/1100%1/1100%13/13
definition_name.ts +
+
100%11/11100%1/1100%1/1100%11/11
dereference.ts +
+
100%9/9100%1/1100%1/1100%9/9
destination.ts +
+
100%9/9100%1/1100%1/1100%9/9
dynamic.ts +
+
100%14/14100%1/1100%1/1100%14/14
entity_association.ts +
+
100%8/8100%1/1100%1/1100%8/8
event_handler.ts +
+
100%15/15100%1/1100%1/1100%15/15
event_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
exception_name.ts +
+
100%11/11100%1/1100%1/1100%11/11
field.ts +
+
100%10/10100%1/1100%1/1100%10/10
field_all.ts +
+
60%6/10100%0/00%0/160%6/10
field_assignment.ts +
+
100%12/12100%1/1100%1/1100%12/12
field_chain.ts +
+
100%23/23100%1/1100%1/1100%23/23
field_length.ts +
+
100%17/17100%1/1100%1/1100%17/17
field_offset.ts +
+
100%13/13100%1/1100%1/1100%13/13
field_sub.ts +
+
100%14/14100%1/1100%1/1100%14/14
field_symbol.ts +
+
100%12/12100%1/1100%1/1100%12/12
filter_body.ts +
+
100%15/15100%1/1100%1/1100%15/15
final_methods.ts +
+
100%9/9100%1/1100%1/1100%9/9
find_type.ts +
+
100%9/9100%1/1100%1/1100%9/9
for.ts +
+
100%29/29100%1/1100%1/1100%29/29
form_changing.ts +
+
100%9/9100%1/1100%1/1100%9/9
form_name.ts +
+
100%12/12100%1/1100%1/1100%12/12
form_param.ts +
+
100%14/14100%1/1100%1/1100%14/14
form_param_name.ts +
+
100%13/13100%1/1100%1/1100%13/13
form_param_type.ts +
+
100%23/23100%1/1100%1/1100%23/23
form_raising.ts +
+
100%17/17100%1/1100%1/1100%17/17
form_tables.ts +
+
100%9/9100%1/1100%1/1100%9/9
form_using.ts +
+
100%9/9100%1/1100%1/1100%9/9
fstarget.ts +
+
100%9/9100%1/1100%1/1100%9/9
function_exporting.ts +
+
100%12/12100%1/1100%1/1100%12/12
function_exporting_parameter.ts +
+
100%16/16100%1/1100%1/1100%16/16
function_name.ts +
+
100%9/9100%1/1100%1/1100%9/9
function_parameters.ts +
+
100%21/21100%1/1100%1/1100%21/21
include_name.ts +
+
100%9/9100%1/1100%1/1100%9/9
index.ts +
+
100%217/217100%0/0100%0/0100%217/217
inline_field.ts +
+
100%9/9100%1/1100%1/1100%9/9
inline_field_definition.ts +
+
100%10/10100%1/1100%1/1100%10/10
inline_loop_definition.ts +
+
100%10/10100%1/1100%1/1100%10/10
inlinedata.ts +
+
100%16/16100%1/1100%1/1100%16/16
inlinefs.ts +
+
100%15/15100%1/1100%1/1100%15/15
integer.ts +
+
100%10/10100%1/1100%1/1100%10/10
interface_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
kernel_id.ts +
+
100%10/10100%1/1100%1/1100%10/10
language.ts +
+
100%8/8100%1/1100%1/1100%8/8
length.ts +
+
100%10/10100%1/1100%1/1100%10/10
let.ts +
+
100%9/9100%1/1100%1/1100%9/9
loop_group_by.ts +
+
100%19/19100%1/1100%1/1100%19/19
loop_group_by_component.ts +
+
100%13/13100%1/1100%1/1100%13/13
loop_group_by_target.ts +
+
100%12/12100%1/1100%1/1100%12/12
loop_target.ts +
+
100%20/20100%1/1100%1/1100%20/20
macro_name.ts +
+
100%10/10100%1/1100%1/1100%10/10
message_class.ts +
+
100%9/9100%1/1100%1/1100%9/9
message_number.ts +
+
100%8/8100%1/1100%1/1100%8/8
message_source.ts +
+
100%15/15100%1/1100%1/1100%15/15
message_type_and_number.ts +
+
100%8/8100%1/1100%1/1100%8/8
method_call.ts +
+
100%11/11100%1/1100%1/1100%11/11
method_call_body.ts +
+
100%14/14100%1/1100%1/1100%14/14
method_call_chain.ts +
+
100%25/25100%1/1100%1/1100%25/25
method_call_param.ts +
+
100%22/22100%1/1100%1/1100%22/22
method_def_changing.ts +
+
100%9/9100%1/1100%1/1100%9/9
method_def_exceptions.ts +
+
100%11/11100%1/1100%1/1100%11/11
method_def_exporting.ts +
+
100%9/9100%1/1100%1/1100%9/9
method_def_importing.ts +
+
100%13/13100%1/1100%1/1100%13/13
method_def_raising.ts +
+
100%17/17100%1/1100%1/1100%17/17
method_def_returning.ts +
+
100%15/15100%1/1100%1/1100%15/15
method_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
method_param.ts +
+
100%24/24100%1/1100%1/1100%24/24
method_param_name.ts +
+
100%9/9100%1/1100%1/1100%9/9
method_param_optional.ts +
+
100%10/10100%1/1100%1/1100%10/10
method_parameters.ts +
+
100%20/20100%1/1100%1/1100%20/20
method_source.ts +
+
100%24/24100%1/1100%1/1100%24/24
modif.ts +
+
100%8/8100%1/1100%1/1100%8/8
namespace_simple_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
new_object.ts +
+
100%22/22100%1/1100%1/1100%22/22
ole_exporting.ts +
+
100%10/10100%1/1100%1/1100%10/10
or.ts +
+
100%9/9100%1/1100%1/1100%9/9
parameter_exception.ts +
+
100%13/13100%1/1100%1/1100%13/13
parameter_list_exceptions.ts +
+
100%9/9100%1/1100%1/1100%9/9
parameter_list_s.ts +
+
100%9/9100%1/1100%1/1100%9/9
parameter_list_t.ts +
+
100%9/9100%1/1100%1/1100%9/9
parameter_name.ts +
+
100%9/9100%1/1100%1/1100%9/9
parameter_s.ts +
+
100%9/9100%1/1100%1/1100%9/9
parameter_t.ts +
+
100%9/9100%1/1100%1/1100%9/9
pass_by_value.ts +
+
100%15/15100%1/1100%1/1100%15/15
perform_changing.ts +
+
100%11/11100%1/1100%1/1100%11/11
perform_tables.ts +
+
100%10/10100%1/1100%1/1100%10/10
perform_using.ts +
+
100%11/11100%1/1100%1/1100%11/11
radio_group_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
raise_with.ts +
+
100%14/14100%1/1100%1/1100%14/14
read_table_target.ts +
+
100%15/15100%1/1100%1/1100%15/15
receive_parameters.ts +
+
100%18/18100%1/1100%1/1100%18/18
redefinition.ts +
+
100%8/8100%1/1100%1/1100%8/8
reduce_body.ts +
+
100%15/15100%1/1100%1/1100%15/15
reduce_next.ts +
+
100%19/19100%1/1100%1/1100%19/19
report_name.ts +
+
100%9/9100%1/1100%1/1100%9/9
select.ts +
+
100%43/43100%1/1100%1/1100%43/43
select_loop.ts +
+
100%45/45100%1/1100%1/1100%45/45
simple_field_chain.ts +
+
100%18/18100%1/1100%1/1100%18/18
simple_field_chain2.ts +
+
100%21/21100%1/1100%1/1100%21/21
simple_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
simple_source1.ts +
+
100%13/13100%1/1100%1/1100%13/13
simple_source2.ts +
+
100%13/13100%1/1100%1/1100%13/13
simple_source3.ts +
+
100%9/9100%1/1100%1/1100%9/9
simple_source4.ts +
+
100%10/10100%1/1100%1/1100%10/10
simple_target.ts +
+
100%26/26100%1/1100%1/1100%26/26
source.ts +
+
100%121/121100%1/1100%1/1100%121/121
source_field.ts +
+
100%9/9100%1/1100%1/1100%9/9
source_field_symbol.ts +
+
100%9/9100%1/1100%1/1100%9/9
sql_aggregation.ts +
+
100%20/20100%1/1100%1/1100%20/20
sql_alias_field.ts +
+
100%8/8100%1/1100%1/1100%8/8
sql_arithmetic_operator.ts +
+
100%10/10100%1/1100%1/1100%10/10
sql_arithmetics.ts +
+
100%11/11100%1/1100%1/1100%11/11
sql_as_name.ts +
+
100%12/12100%1/1100%1/1100%12/12
sql_case.ts +
+
100%28/28100%1/1100%1/1100%28/28
sql_cds_parameters.ts +
+
100%12/12100%1/1100%1/1100%12/12
sql_client.ts +
+
100%15/15100%1/1100%1/1100%15/15
sql_compare.ts +
+
100%35/35100%1/1100%1/1100%35/35
sql_compare_operator.ts +
+
100%11/11100%1/1100%1/1100%11/11
sql_cond.ts +
+
100%20/20100%1/1100%1/1100%20/20
sql_field.ts +
+
100%29/29100%1/1100%1/1100%29/29
sql_field_and_value.ts +
+
100%14/14100%1/1100%1/1100%14/14
sql_field_list.ts +
+
100%15/15100%1/1100%1/1100%15/15
sql_field_list_loop.ts +
+
100%18/18100%1/1100%1/1100%18/18
sql_field_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
sql_fields.ts +
+
100%9/9100%1/1100%1/1100%9/9
sql_for_all_entries.ts +
+
100%10/10100%1/1100%1/1100%10/10
sql_from.ts +
+
100%16/16100%1/1100%1/1100%16/16
sql_from_source.ts +
+
100%18/18100%1/1100%1/1100%18/18
sql_function.ts +
+
100%47/47100%1/1100%1/1100%47/47
sql_group_by.ts +
+
100%13/13100%1/1100%1/1100%13/13
sql_having.ts +
+
100%10/10100%1/1100%1/1100%10/10
sql_hints.ts +
+
100%11/11100%1/1100%1/1100%11/11
sql_in.ts +
+
100%22/22100%1/1100%1/1100%22/22
sql_into_list.ts +
+
100%16/16100%1/1100%1/1100%16/16
sql_into_structure.ts +
+
100%12/12100%1/1100%1/1100%12/12
sql_into_table.ts +
+
100%13/13100%1/1100%1/1100%13/13
sql_join.ts +
+
100%13/13100%1/1100%1/1100%13/13
sql_order_by.ts +
+
100%13/13100%1/1100%1/1100%13/13
sql_path.ts +
+
100%12/12100%1/1100%1/1100%12/12
sql_source.ts +
+
100%15/15100%1/1100%1/1100%15/15
sql_source_no_space.ts +
+
100%15/15100%1/1100%1/1100%15/15
sql_source_simple.ts +
+
100%16/16100%1/1100%1/1100%16/16
sql_target.ts +
+
100%14/14100%1/1100%1/1100%14/14
sql_up_to.ts +
+
100%10/10100%1/1100%1/1100%10/10
string_template.ts +
+
100%17/17100%1/1100%1/1100%17/17
string_template_formatting.ts +
+
100%61/61100%1/1100%1/1100%61/61
string_template_source.ts +
+
100%10/10100%1/1100%1/1100%10/10
super_class_name.ts +
+
100%9/9100%1/1100%1/1100%9/9
switch_body.ts +
+
100%17/17100%1/1100%1/1100%17/17
table_body.ts +
+
100%10/10100%1/1100%1/1100%10/10
table_expression.ts +
+
100%17/17100%1/1100%1/1100%17/17
target.ts +
+
100%24/24100%1/1100%1/1100%24/24
target_field.ts +
+
100%9/9100%1/1100%1/1100%9/9
target_field_symbol.ts +
+
100%9/9100%1/1100%1/1100%9/9
test_seam_name.ts +
+
100%11/11100%1/1100%1/1100%11/11
text_element.ts +
+
100%10/10100%1/1100%1/1100%10/10
text_element_key.ts +
+
100%8/8100%1/1100%1/1100%8/8
text_element_string.ts +
+
100%12/12100%1/1100%1/1100%12/12
throw.ts +
+
100%16/16100%1/1100%1/1100%16/16
transporting_fields.ts +
+
100%11/11100%1/1100%1/1100%11/11
type.ts +
+
100%22/22100%1/1100%1/1100%22/22
type_name.ts +
+
100%16/16100%1/1100%1/1100%16/16
type_name_or_infer.ts +
+
100%9/9100%1/1100%1/1100%9/9
type_param.ts +
+
100%22/22100%1/1100%1/1100%22/22
type_structure.ts +
+
100%14/14100%1/1100%1/1100%14/14
type_table.ts +
+
100%59/59100%1/1100%1/1100%59/59
type_table_key.ts +
+
100%30/30100%1/1100%1/1100%30/30
value.ts +
+
100%10/10100%1/1100%1/1100%10/10
value_body.ts +
+
100%16/16100%1/1100%1/1100%16/16
value_body_line.ts +
+
100%17/17100%1/1100%1/1100%17/17
value_body_lines.ts +
+
100%11/11100%1/1100%1/1100%11/11
with_name.ts +
+
100%9/9100%1/1100%1/1100%9/9
write_offset_length.ts +
+
100%20/20100%1/1100%1/1100%20/20
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/index.ts.html b/src/abap/2_statements/expressions/index.ts.html new file mode 100644 index 00000000000..83954c92c76 --- /dev/null +++ b/src/abap/2_statements/expressions/index.ts.html @@ -0,0 +1,733 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/index.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions index.ts

+
+ +
+ 100% + Statements + 217/217 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 217/217 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +2171x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
export * from "./abstract_methods";
+export * from "./abstract";
+export * from "./and_return";
+export * from "./arith_operator";
+export * from "./arrow_or_dash";
+export * from "./arrow";
+export * from "./assign_source";
+export * from "./association_name";
+export * from "./attribute_chain";
+export * from "./attribute_name";
+export * from "./behavior_definition_name";
+export * from "./block_name";
+export * from "./call_transformation_options";
+export * from "./call_transformation_parameters";
+export * from "./cast";
+export * from "./class_final";
+export * from "./class_friends";
+export * from "./class_global";
+export * from "./class_name";
+export * from "./color";
+export * from "./compare_operator";
+export * from "./compare";
+export * from "./component_chain_simple";
+export * from "./component_chain";
+export * from "./component_compare_simple";
+export * from "./component_compare_single";
+export * from "./component_compare";
+export * from "./component_cond_sub";
+export * from "./component_cond";
+export * from "./component_name";
+export * from "./concatenated_constant";
+export * from "./cond_body";
+export * from "./cond_sub";
+export * from "./cond";
+export * from "./constant_field_length";
+export * from "./constant_string";
+export * from "./constant";
+export * from "./conv_body";
+export * from "./corresponding_body";
+export * from "./data_definition";
+export * from "./database_connection";
+export * from "./database_table";
+export * from "./decimals";
+export * from "./default";
+export * from "./definition_name";
+export * from "./dereference";
+export * from "./destination";
+export * from "./dynamic";
+export * from "./entity_association";
+export * from "./entity_association";
+export * from "./event_handler";
+export * from "./event_name";
+export * from "./exception_name";
+export * from "./field_all";
+export * from "./field_assignment";
+export * from "./field_chain";
+export * from "./field_length";
+export * from "./field_offset";
+export * from "./field_sub";
+export * from "./field_symbol";
+export * from "./field";
+export * from "./filter_body";
+export * from "./final_methods";
+export * from "./find_type";
+export * from "./for";
+export * from "./form_changing";
+export * from "./form_name";
+export * from "./form_param_name";
+export * from "./form_param_type";
+export * from "./form_param";
+export * from "./form_raising";
+export * from "./form_tables";
+export * from "./form_using";
+export * from "./fstarget";
+export * from "./function_exporting_parameter";
+export * from "./function_exporting";
+export * from "./function_name";
+export * from "./function_parameters";
+export * from "./include_name";
+export * from "./inline_field_definition";
+export * from "./inline_field";
+export * from "./inline_loop_definition";
+export * from "./inlinedata";
+export * from "./inlinefs";
+export * from "./integer";
+export * from "./interface_name";
+export * from "./kernel_id";
+export * from "./language";
+export * from "./length";
+export * from "./let";
+export * from "./loop_group_by_component";
+export * from "./loop_group_by_target";
+export * from "./loop_group_by";
+export * from "./loop_target";
+export * from "./macro_name";
+export * from "./message_class";
+export * from "./message_number";
+export * from "./message_source";
+export * from "./message_type_and_number";
+export * from "./method_call_body";
+export * from "./method_call_chain";
+export * from "./method_call_param";
+export * from "./method_call";
+export * from "./method_def_changing";
+export * from "./method_def_exceptions";
+export * from "./method_def_exporting";
+export * from "./method_def_importing";
+export * from "./method_def_raising";
+export * from "./method_def_returning";
+export * from "./method_name";
+export * from "./method_param_name";
+export * from "./method_param_optional";
+export * from "./method_param";
+export * from "./method_parameters";
+export * from "./method_source";
+export * from "./modif";
+export * from "./namespace_simple_name";
+export * from "./new_object";
+export * from "./ole_exporting";
+export * from "./or";
+export * from "./parameter_exception";
+export * from "./parameter_list_exceptions";
+export * from "./parameter_list_s";
+export * from "./parameter_list_t";
+export * from "./parameter_name";
+export * from "./parameter_s";
+export * from "./parameter_t";
+export * from "./pass_by_value";
+export * from "./perform_changing";
+export * from "./perform_tables";
+export * from "./perform_using";
+export * from "./radio_group_name";
+export * from "./raise_with";
+export * from "./read_table_target";
+export * from "./receive_parameters";
+export * from "./redefinition";
+export * from "./reduce_body";
+export * from "./reduce_next";
+export * from "./report_name";
+export * from "./select_loop";
+export * from "./select";
+export * from "./simple_field_chain";
+export * from "./simple_field_chain2";
+export * from "./simple_name";
+export * from "./simple_source1";
+export * from "./simple_source2";
+export * from "./simple_source3";
+export * from "./simple_source4";
+export * from "./simple_target";
+export * from "./source_field_symbol";
+export * from "./source_field";
+export * from "./source";
+export * from "./sql_aggregation";
+export * from "./sql_alias_field";
+export * from "./sql_arithmetic_operator";
+export * from "./sql_arithmetics";
+export * from "./sql_as_name";
+export * from "./sql_case";
+export * from "./sql_cds_parameters";
+export * from "./sql_client";
+export * from "./sql_compare_operator";
+export * from "./sql_compare";
+export * from "./sql_cond";
+export * from "./sql_field_and_value";
+export * from "./sql_field_list_loop";
+export * from "./sql_field_list";
+export * from "./sql_field_name";
+export * from "./sql_field";
+export * from "./sql_fields";
+export * from "./sql_for_all_entries";
+export * from "./sql_from_source";
+export * from "./sql_from";
+export * from "./sql_function";
+export * from "./sql_group_by";
+export * from "./sql_having";
+export * from "./sql_hints";
+export * from "./sql_in";
+export * from "./sql_into_list";
+export * from "./sql_into_structure";
+export * from "./sql_into_table";
+export * from "./sql_join";
+export * from "./sql_order_by";
+export * from "./sql_path";
+export * from "./sql_source_simple";
+export * from "./sql_source";
+export * from "./sql_source_no_space";
+export * from "./sql_target";
+export * from "./sql_up_to";
+export * from "./string_template_formatting";
+export * from "./string_template_source";
+export * from "./string_template";
+export * from "./super_class_name";
+export * from "./type_structure";
+export * from "./switch_body";
+export * from "./table_body";
+export * from "./table_expression";
+export * from "./target_field_symbol";
+export * from "./target_field";
+export * from "./target";
+export * from "./test_seam_name";
+export * from "./text_element_key";
+export * from "./text_element_string";
+export * from "./text_element";
+export * from "./throw";
+export * from "./transporting_fields";
+export * from "./type_name_or_infer";
+export * from "./type_name";
+export * from "./type_param";
+export * from "./type_table_key";
+export * from "./type_table";
+export * from "./type";
+export * from "./value_body_line";
+export * from "./value_body_lines";
+export * from "./value_body";
+export * from "./value";
+export * from "./with_name";
+export * from "./write_offset_length";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/inline_field.ts.html b/src/abap/2_statements/expressions/inline_field.ts.html new file mode 100644 index 00000000000..aad0ecacddb --- /dev/null +++ b/src/abap/2_statements/expressions/inline_field.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/inline_field.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions inline_field.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression} from "../combi";
+import {Field} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InlineField extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return new Field();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/inline_field_definition.ts.html b/src/abap/2_statements/expressions/inline_field_definition.ts.html new file mode 100644 index 00000000000..351df350531 --- /dev/null +++ b/src/abap/2_statements/expressions/inline_field_definition.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/inline_field_definition.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions inline_field_definition.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, altPrio} from "../combi";
+import {Field, Source, TypeName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InlineFieldDefinition extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return altPrio(seq(Field, "=", Source),
+                   seq(Field, "TYPE", TypeName));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/inline_loop_definition.ts.html b/src/abap/2_statements/expressions/inline_loop_definition.ts.html new file mode 100644 index 00000000000..f4941625674 --- /dev/null +++ b/src/abap/2_statements/expressions/inline_loop_definition.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/inline_loop_definition.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions inline_loop_definition.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, opt, altPrio, optPrio} from "../combi";
+import {TargetField, Source, TargetFieldSymbol} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InlineLoopDefinition extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const index = seq("INDEX INTO", TargetField);
+    return seq(altPrio(TargetFieldSymbol, TargetField), "IN", opt("GROUP"), Source, optPrio(index));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/inlinedata.ts.html b/src/abap/2_statements/expressions/inlinedata.ts.html new file mode 100644 index 00000000000..6572a95632b --- /dev/null +++ b/src/abap/2_statements/expressions/inlinedata.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/inlinedata.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions inlinedata.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, ver, altPrio, Expression} from "../combi";
+import {ParenRightW, ParenRight, ParenLeft} from "../../1_lexer/tokens";
+import {TargetField} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InlineData extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const right = altPrio(tok(ParenRightW), tok(ParenRight));
+    const left = tok(ParenLeft);
+    const data = seq("DATA", left, TargetField, right);
+    const final = seq("FINAL", left, TargetField, right);
+ 
+    return altPrio(ver(Version.v740sp02, data), ver(Version.v757, final)) ;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/inlinefs.ts.html b/src/abap/2_statements/expressions/inlinefs.ts.html new file mode 100644 index 00000000000..5da9909541e --- /dev/null +++ b/src/abap/2_statements/expressions/inlinefs.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/inlinefs.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions inlinefs.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, ver, Expression} from "../combi";
+import {ParenRightW, ParenLeft} from "../../1_lexer/tokens";
+import {TargetFieldSymbol} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InlineFS extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const right = tok(ParenRightW);
+    const left = tok(ParenLeft);
+    const fs = seq("FIELD-SYMBOL", left, TargetFieldSymbol, right);
+ 
+    return ver(Version.v740sp02, fs);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/integer.ts.html b/src/abap/2_statements/expressions/integer.ts.html new file mode 100644 index 00000000000..7787d62c0dd --- /dev/null +++ b/src/abap/2_statements/expressions/integer.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/integer.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions integer.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +2x +2x +2x +1x
import {seq, tok, regex as reg, Expression, optPrio, altPrio} from "../combi";
+import {WDash, WPlus, WDashW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Integer extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const modifier = optPrio(altPrio(tok(WDash), tok(WDashW), tok(WPlus)));
+    return seq(modifier, reg(/^\d+$/));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/interface_name.ts.html b/src/abap/2_statements/expressions/interface_name.ts.html new file mode 100644 index 00000000000..ffdf8917350 --- /dev/null +++ b/src/abap/2_statements/expressions/interface_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/interface_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions interface_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InterfaceName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^\w*(\/\w{3,}\/)?\w+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/kernel_id.ts.html b/src/abap/2_statements/expressions/kernel_id.ts.html new file mode 100644 index 00000000000..7f02b1b337c --- /dev/null +++ b/src/abap/2_statements/expressions/kernel_id.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/kernel_id.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions kernel_id.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Source} from "./source";
+ 
+export class KernelId extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const field = seq("ID", Source, "FIELD", Source);
+    return field;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/language.ts.html b/src/abap/2_statements/expressions/language.ts.html new file mode 100644 index 00000000000..27030f97455 --- /dev/null +++ b/src/abap/2_statements/expressions/language.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/language.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions language.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, altPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Language extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("LANGUAGE", altPrio("SQLSCRIPT", "SQL", "GRAPH"));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/length.ts.html b/src/abap/2_statements/expressions/length.ts.html new file mode 100644 index 00000000000..7448a688702 --- /dev/null +++ b/src/abap/2_statements/expressions/length.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/length.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions length.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, altPrio} from "../combi";
+import {Integer, SimpleFieldChain, ConstantString} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Length extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq("LENGTH", altPrio(Integer, ConstantString, SimpleFieldChain));
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/let.ts.html b/src/abap/2_statements/expressions/let.ts.html new file mode 100644 index 00000000000..dd997e78a3e --- /dev/null +++ b/src/abap/2_statements/expressions/let.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/let.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions let.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, plusPrio} from "../combi";
+import {InlineFieldDefinition} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Let extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("LET", plusPrio(InlineFieldDefinition), "IN");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/loop_group_by.ts.html b/src/abap/2_statements/expressions/loop_group_by.ts.html new file mode 100644 index 00000000000..dc021b4aaf4 --- /dev/null +++ b/src/abap/2_statements/expressions/loop_group_by.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/loop_group_by.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions loop_group_by.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {tok, plus, alt, seq, Expression, optPrio} from "../combi";
+import {WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {Source} from "./source";
+import {LoopGroupByTarget} from "./loop_group_by_target";
+import {LoopGroupByComponent} from "./loop_group_by_component";
+ 
+export class LoopGroupBy extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const components = seq(tok(WParenLeftW), plus(LoopGroupByComponent), tok(WParenRightW));
+ 
+    const ret = seq(alt(Source, components),
+                    optPrio("ASCENDING"),
+                    optPrio("WITHOUT MEMBERS"),
+                    LoopGroupByTarget);
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/loop_group_by_component.ts.html b/src/abap/2_statements/expressions/loop_group_by_component.ts.html new file mode 100644 index 00000000000..7bebbff15a1 --- /dev/null +++ b/src/abap/2_statements/expressions/loop_group_by_component.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/loop_group_by_component.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions loop_group_by_component.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {alt, seq, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {ComponentName} from "./component_name";
+import {ComponentCompareSingle} from "./component_compare_single";
+ 
+export class LoopGroupByComponent extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const groupSize = seq(ComponentName, "=", "GROUP SIZE");
+    const groupIndex = seq(ComponentName, "=", "GROUP INDEX");
+    const components = alt(ComponentCompareSingle, groupSize, groupIndex);
+    return components;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/loop_group_by_target.ts.html b/src/abap/2_statements/expressions/loop_group_by_target.ts.html new file mode 100644 index 00000000000..91f0f639e51 --- /dev/null +++ b/src/abap/2_statements/expressions/loop_group_by_target.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/loop_group_by_target.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions loop_group_by_target.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {opt, alt, seq, Expression, optPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Target} from "./target";
+import {FSTarget} from "./fstarget";
+ 
+export class LoopGroupByTarget extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const into = seq(opt("REFERENCE"), "INTO", Target);
+    const assigning = seq("ASSIGNING", FSTarget);
+    return optPrio(alt(into, assigning));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/loop_target.ts.html b/src/abap/2_statements/expressions/loop_target.ts.html new file mode 100644 index 00000000000..5f039c99b21 --- /dev/null +++ b/src/abap/2_statements/expressions/loop_target.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/loop_target.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions loop_target.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, alt, opt, optPrio, Expression} from "../combi";
+import {FSTarget, Target} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class LoopTarget extends Expression {
+ 
+  public getRunnable(): IStatementRunnable {
+ 
+    const into = seq(opt("REFERENCE"), "INTO", Target);
+ 
+    const assigning = seq("ASSIGNING", FSTarget);
+ 
+    const target = alt(seq(alt(into, assigning),
+                           optPrio("CASTING")),
+                       "TRANSPORTING NO FIELDS");
+ 
+    return target;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/macro_name.ts.html b/src/abap/2_statements/expressions/macro_name.ts.html new file mode 100644 index 00000000000..c7cced4ae71 --- /dev/null +++ b/src/abap/2_statements/expressions/macro_name.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/macro_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions macro_name.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, regex as reg, Expression, starPrio} from "../combi";
+import {Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MacroName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const r = /^(\/\w+\/)?[\w\*%\?$&]+>?$/;
+    return seq(reg(r), starPrio(seq(tok(Dash), reg(r))));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/message_class.ts.html b/src/abap/2_statements/expressions/message_class.ts.html new file mode 100644 index 00000000000..b8818452a41 --- /dev/null +++ b/src/abap/2_statements/expressions/message_class.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/message_class.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions message_class.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MessageClass extends Expression {
+  public getRunnable(): IStatementRunnable {
+// "&1" can be used for almost anything(field names, method names etc.) in macros
+    return reg(/^>?(\/\w+\/)?\w+#?@?\/?!?&?>?\$?$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/message_number.ts.html b/src/abap/2_statements/expressions/message_number.ts.html new file mode 100644 index 00000000000..10e494eb352 --- /dev/null +++ b/src/abap/2_statements/expressions/message_number.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/message_number.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions message_number.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MessageNumber extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^\d\d\d$/i);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/message_source.ts.html b/src/abap/2_statements/expressions/message_source.ts.html new file mode 100644 index 00000000000..d00ab2c7408 --- /dev/null +++ b/src/abap/2_statements/expressions/message_source.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/message_source.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions message_source.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, Expression, opt, altPrio} from "../combi";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {MessageTypeAndNumber, MessageClass, Source, MessageNumber} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MessageSource extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const msgid = seq(tok(ParenLeft), MessageClass, tok(ParenRightW));
+    const simple = seq(MessageTypeAndNumber, opt(msgid));
+ 
+    const mess1 = seq("ID", Source, "TYPE", Source, "NUMBER", altPrio(MessageNumber, Source));
+ 
+    return altPrio(simple, mess1);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/message_type_and_number.ts.html b/src/abap/2_statements/expressions/message_type_and_number.ts.html new file mode 100644 index 00000000000..3c0cf86e1ad --- /dev/null +++ b/src/abap/2_statements/expressions/message_type_and_number.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/message_type_and_number.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions message_type_and_number.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MessageTypeAndNumber extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^[iweaxs]\d\d\d$/i);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_call.ts.html b/src/abap/2_statements/expressions/method_call.ts.html new file mode 100644 index 00000000000..3cce44961a6 --- /dev/null +++ b/src/abap/2_statements/expressions/method_call.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_call.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_call.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +7x +7x +7x +1x
import {seq, Expression} from "../combi";
+import {MethodName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {MethodCallParam} from "./method_call_param";
+ 
+export class MethodCall extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(MethodName, MethodCallParam);
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_call_body.ts.html b/src/abap/2_statements/expressions/method_call_body.ts.html new file mode 100644 index 00000000000..9a3bc8e54d3 --- /dev/null +++ b/src/abap/2_statements/expressions/method_call_body.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_call_body.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_call_body.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, alt, Expression, optPrio} from "../combi";
+import {Source, MethodParameters} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {MethodCallParam} from "./method_call_param";
+ 
+export class MethodCallBody extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const dynamicPar = seq("PARAMETER-TABLE", Source);
+    const dynamicExc = seq("EXCEPTION-TABLE", Source);
+    const dynamic = seq(dynamicPar, optPrio(dynamicExc));
+ 
+    return alt(MethodCallParam, MethodParameters, dynamic);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_call_chain.ts.html b/src/abap/2_statements/expressions/method_call_chain.ts.html new file mode 100644 index 00000000000..6e13233d044 --- /dev/null +++ b/src/abap/2_statements/expressions/method_call_chain.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_call_chain.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_call_chain.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +1x
import {seq, tok, star, Expression, optPrio, altPrio} from "../combi";
+import {InstanceArrow, StaticArrow, Dash} from "../../1_lexer/tokens";
+import {ClassName, NewObject, ComponentName, FieldChain, MethodCall, Cast, AttributeName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodCallChain extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const attr = seq(tok(InstanceArrow), AttributeName);
+    const comp = seq(tok(Dash), ComponentName);
+ 
+    const fields = star(altPrio(attr, comp));
+ 
+    const after = star(seq(fields, tok(InstanceArrow), MethodCall));
+ 
+    const localVariable = seq(FieldChain, tok(InstanceArrow));
+    const staticClass = seq(ClassName, tok(StaticArrow));
+ 
+    const ret = seq(altPrio(seq(optPrio(altPrio(localVariable, staticClass)), MethodCall),
+                            NewObject,
+                            Cast),
+                    after);
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_call_param.ts.html b/src/abap/2_statements/expressions/method_call_param.ts.html new file mode 100644 index 00000000000..8aa3d91628c --- /dev/null +++ b/src/abap/2_statements/expressions/method_call_param.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_call_param.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_call_param.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, alt, tok, Expression, altPrio} from "../combi";
+import {ParenLeftW, WParenRight, WParenRightW, ParenLeft, ParenRight, ParenRightW} from "../../1_lexer/tokens";
+import {Source, ParameterListS, MethodParameters} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {ConstantString} from "./constant_string";
+ 
+export class MethodCallParam extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const param = alt(Source, ParameterListS, MethodParameters);
+ 
+    // rule ParserMissingSpace makes sure the whitespace is correct
+    const right1 = altPrio(tok(WParenRight), tok(WParenRightW), tok(ParenRight), tok(ParenRightW));
+    const right2 = altPrio(tok(WParenRight), tok(WParenRightW));
+ 
+    // note: make sure this does not overlap with FieldLength expression
+    const ret = altPrio(
+      seq(tok(ParenLeftW), param, right1),
+      seq(tok(ParenLeft), param, right2),
+      seq(tok(ParenLeft), ConstantString, altPrio(tok(ParenRight), tok(ParenRightW))));
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_def_changing.ts.html b/src/abap/2_statements/expressions/method_def_changing.ts.html new file mode 100644 index 00000000000..6f7aac2385f --- /dev/null +++ b/src/abap/2_statements/expressions/method_def_changing.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_def_changing.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_def_changing.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, plus, Expression} from "../combi";
+import {MethodParamOptional} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodDefChanging extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("CHANGING", plus(MethodParamOptional));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_def_exceptions.ts.html b/src/abap/2_statements/expressions/method_def_exceptions.ts.html new file mode 100644 index 00000000000..1d6c2b7c166 --- /dev/null +++ b/src/abap/2_statements/expressions/method_def_exceptions.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_def_exceptions.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_def_exceptions.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, plusPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {NamespaceSimpleName} from ".";
+ 
+export class MethodDefExceptions extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const exceptions = seq("EXCEPTIONS", plusPrio(NamespaceSimpleName));
+ 
+    return exceptions;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_def_exporting.ts.html b/src/abap/2_statements/expressions/method_def_exporting.ts.html new file mode 100644 index 00000000000..425579b8013 --- /dev/null +++ b/src/abap/2_statements/expressions/method_def_exporting.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_def_exporting.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_def_exporting.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, plus, Expression} from "../combi";
+import {MethodParam} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodDefExporting extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("EXPORTING", plus(MethodParam));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_def_importing.ts.html b/src/abap/2_statements/expressions/method_def_importing.ts.html new file mode 100644 index 00000000000..e098e7cc75f --- /dev/null +++ b/src/abap/2_statements/expressions/method_def_importing.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_def_importing.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_def_importing.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, regex as reg, plus, Expression} from "../combi";
+import {MethodParamOptional} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodDefImporting extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const field = reg(/^!?(\/\w+\/)?\w+$/);
+ 
+    return seq("IMPORTING",
+               plus(MethodParamOptional),
+               optPrio(seq("PREFERRED PARAMETER", field)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_def_raising.ts.html b/src/abap/2_statements/expressions/method_def_raising.ts.html new file mode 100644 index 00000000000..b6721040c21 --- /dev/null +++ b/src/abap/2_statements/expressions/method_def_raising.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_def_raising.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_def_raising.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, plus, altPrio, tok} from "../combi";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {ClassName} from "./class_name";
+ 
+export class MethodDefRaising extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const resumable = seq("RESUMABLE",
+                          tok(ParenLeft),
+                          ClassName,
+                          tok(ParenRightW));
+ 
+    const raising = seq("RAISING", plus(altPrio(resumable, ClassName)));
+ 
+    return raising;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_def_returning.ts.html b/src/abap/2_statements/expressions/method_def_returning.ts.html new file mode 100644 index 00000000000..193abe5333a --- /dev/null +++ b/src/abap/2_statements/expressions/method_def_returning.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_def_returning.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_def_returning.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, tok} from "../combi";
+import * as Expressions from ".";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodDefReturning extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const value = seq("VALUE",
+                      tok(ParenLeft),
+                      Expressions.MethodParamName,
+                      tok(ParenRightW));
+ 
+    return seq("RETURNING", value, Expressions.TypeParam);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_name.ts.html b/src/abap/2_statements/expressions/method_name.ts.html new file mode 100644 index 00000000000..7304882325a --- /dev/null +++ b/src/abap/2_statements/expressions/method_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^(\/\w+\/)?\w+(~\w+)?$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_param.ts.html b/src/abap/2_statements/expressions/method_param.ts.html new file mode 100644 index 00000000000..116a9c2ef90 --- /dev/null +++ b/src/abap/2_statements/expressions/method_param.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_param.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_param.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x
import {seq, altPrio, Expression, tok} from "../combi";
+import * as Expressions from ".";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodParam extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ref = seq("REFERENCE",
+                    tok(ParenLeft),
+                    Expressions.MethodParamName,
+                    tok(ParenRightW));
+ 
+    const value = seq("VALUE",
+                      tok(ParenLeft),
+                      Expressions.MethodParamName,
+                      tok(ParenRightW));
+ 
+    const fieldsOrValue = seq(altPrio(value, ref, Expressions.MethodParamName),
+                              Expressions.TypeParam);
+ 
+    return fieldsOrValue;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_param_name.ts.html b/src/abap/2_statements/expressions/method_param_name.ts.html new file mode 100644 index 00000000000..f08eaa26db8 --- /dev/null +++ b/src/abap/2_statements/expressions/method_param_name.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_param_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_param_name.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodParamName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const field = reg(/^!?\w*(\/\w+\/)?\w+$/);
+    return field;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_param_optional.ts.html b/src/abap/2_statements/expressions/method_param_optional.ts.html new file mode 100644 index 00000000000..c421e85a7b0 --- /dev/null +++ b/src/abap/2_statements/expressions/method_param_optional.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_param_optional.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_param_optional.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, optPrio} from "../combi";
+import {MethodParam} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodParamOptional extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(MethodParam, optPrio("OPTIONAL"));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_parameters.ts.html b/src/abap/2_statements/expressions/method_parameters.ts.html new file mode 100644 index 00000000000..0785da8eb9f --- /dev/null +++ b/src/abap/2_statements/expressions/method_parameters.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_parameters.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_parameters.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, Expression} from "../combi";
+import {ParameterListS, ParameterListT, ParameterListExceptions, ParameterT} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodParameters extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const exporting = seq("EXPORTING", ParameterListS);
+    const importing = seq("IMPORTING", ParameterListT);
+    const changing = seq("CHANGING", ParameterListT);
+    const receiving = seq("RECEIVING", ParameterT);
+    const exceptions = seq("EXCEPTIONS", ParameterListExceptions);
+    const long = seq(optPrio(exporting),
+                     optPrio(importing),
+                     optPrio(changing),
+                     optPrio(receiving),
+                     optPrio(exceptions));
+ 
+    return long;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/method_source.ts.html b/src/abap/2_statements/expressions/method_source.ts.html new file mode 100644 index 00000000000..764b8063d8a --- /dev/null +++ b/src/abap/2_statements/expressions/method_source.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/method_source.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions method_source.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, tok, alt, Expression, star} from "../combi";
+import {Dash, InstanceArrow, StaticArrow} from "../../1_lexer/tokens";
+import {ClassName, Dynamic, AttributeName, SourceField, SourceFieldSymbol, ComponentName, MethodCall} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodSource extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+// note: AttributeName can be both an attribute and a method name, the syntax check will tell
+// note: its allowed to end with MethodCall, however if this is done it will give a syntax error via syntax check
+ 
+    const afterArrow = alt(AttributeName, MethodCall, Dynamic);
+    const arrow = altPrio(tok(InstanceArrow), tok(StaticArrow));
+    const attr = seq(arrow, afterArrow);
+    const comp = seq(tok(Dash), ComponentName);
+    const attrOrComp = altPrio(attr, comp);
+    const staticClass = seq(ClassName, tok(StaticArrow));
+    const clas = seq(staticClass, afterArrow);
+ 
+    const start = seq(altPrio(clas, SourceField, SourceFieldSymbol, Dynamic), star(attrOrComp));
+ 
+    return start;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/modif.ts.html b/src/abap/2_statements/expressions/modif.ts.html new file mode 100644 index 00000000000..bdeead800ab --- /dev/null +++ b/src/abap/2_statements/expressions/modif.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/modif.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions modif.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Modif extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^[\w\*]{1,3}$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/namespace_simple_name.ts.html b/src/abap/2_statements/expressions/namespace_simple_name.ts.html new file mode 100644 index 00000000000..ed5a003298b --- /dev/null +++ b/src/abap/2_statements/expressions/namespace_simple_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/namespace_simple_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions namespace_simple_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class NamespaceSimpleName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^((\w*\/\w+\/)|(\w*\/\w+\/)?[\w\*$%]+)$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/new_object.ts.html b/src/abap/2_statements/expressions/new_object.ts.html new file mode 100644 index 00000000000..9c7a73a658e --- /dev/null +++ b/src/abap/2_statements/expressions/new_object.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/new_object.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions new_object.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {alt, tok, seq, Expression, ver, plus, optPrio} from "../combi";
+import {Version} from "../../../version";
+import {TypeNameOrInfer, Source, ParameterListS} from ".";
+import {ParenLeftW, WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {FieldAssignment} from "./field_assignment";
+ 
+// note: this can also be new data reference
+export class NewObject extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const lines = plus(seq(tok(WParenLeftW), Source, tok(WParenRightW)));
+    const linesFields = plus(seq(tok(WParenLeftW), plus(FieldAssignment), tok(WParenRightW)));
+ 
+    const neww = seq("NEW",
+                     TypeNameOrInfer,
+                     tok(ParenLeftW),
+                     optPrio(alt(Source, ParameterListS, lines, linesFields)),
+                     ")");
+ 
+    return ver(Version.v740sp02, neww);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/ole_exporting.ts.html b/src/abap/2_statements/expressions/ole_exporting.ts.html new file mode 100644 index 00000000000..4c38d2ce42c --- /dev/null +++ b/src/abap/2_statements/expressions/ole_exporting.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/ole_exporting.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions ole_exporting.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, plus, regex as reg} from "../combi";
+import {Source} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class OLEExporting extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const fields = seq(reg(/^[&_!#\*]?[\w\d\*%\$\?#]+$/), "=", Source);
+    return seq("EXPORTING", plus(fields));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/or.ts.html b/src/abap/2_statements/expressions/or.ts.html new file mode 100644 index 00000000000..beb531b304f --- /dev/null +++ b/src/abap/2_statements/expressions/or.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/or.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions or.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression} from "../combi";
+import {Source} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Or extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("OR", Source);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/parameter_exception.ts.html b/src/abap/2_statements/expressions/parameter_exception.ts.html new file mode 100644 index 00000000000..f903f1054f8 --- /dev/null +++ b/src/abap/2_statements/expressions/parameter_exception.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/parameter_exception.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions parameter_exception.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, Expression, optPrio} from "../combi";
+import {ParameterName, SimpleName, Target} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ParameterException extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = altPrio("OTHERS", ParameterName);
+    return seq(name,
+               "=",
+               SimpleName,
+               optPrio(seq("MESSAGE", Target)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/parameter_list_exceptions.ts.html b/src/abap/2_statements/expressions/parameter_list_exceptions.ts.html new file mode 100644 index 00000000000..ebde7e81fb4 --- /dev/null +++ b/src/abap/2_statements/expressions/parameter_list_exceptions.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/parameter_list_exceptions.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions parameter_list_exceptions.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {plus, Expression} from "../combi";
+import {ParameterException} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ParameterListExceptions extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return plus(ParameterException);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/parameter_list_s.ts.html b/src/abap/2_statements/expressions/parameter_list_s.ts.html new file mode 100644 index 00000000000..269df83dc69 --- /dev/null +++ b/src/abap/2_statements/expressions/parameter_list_s.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/parameter_list_s.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions parameter_list_s.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +4x +4x +1x
import {plus, Expression} from "../combi";
+import {ParameterS} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ParameterListS extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return plus(ParameterS);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/parameter_list_t.ts.html b/src/abap/2_statements/expressions/parameter_list_t.ts.html new file mode 100644 index 00000000000..0367a5026cd --- /dev/null +++ b/src/abap/2_statements/expressions/parameter_list_t.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/parameter_list_t.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions parameter_list_t.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {plus, Expression} from "../combi";
+import {ParameterT} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ParameterListT extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return plus(ParameterT);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/parameter_name.ts.html b/src/abap/2_statements/expressions/parameter_name.ts.html new file mode 100644 index 00000000000..2ff59773924 --- /dev/null +++ b/src/abap/2_statements/expressions/parameter_name.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/parameter_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions parameter_name.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ParameterName extends Expression {
+  public getRunnable(): IStatementRunnable {
+// todo, think this can be reduced,
+    return reg(/^[&_!]?\*?\w*(\/\w+\/)?\d*[a-zA-Z_%\$][\w\*%\$\?]*(~\w+)?$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/parameter_s.ts.html b/src/abap/2_statements/expressions/parameter_s.ts.html new file mode 100644 index 00000000000..0023e8a2971 --- /dev/null +++ b/src/abap/2_statements/expressions/parameter_s.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/parameter_s.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions parameter_s.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +2x +2x +1x
import {seq, Expression} from "../combi";
+import {Source, ParameterName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ParameterS extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(ParameterName, "=", Source);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/parameter_t.ts.html b/src/abap/2_statements/expressions/parameter_t.ts.html new file mode 100644 index 00000000000..5fa77a811a8 --- /dev/null +++ b/src/abap/2_statements/expressions/parameter_t.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/parameter_t.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions parameter_t.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression} from "../combi";
+import {Target, ParameterName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ParameterT extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(ParameterName, "=", Target);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/pass_by_value.ts.html b/src/abap/2_statements/expressions/pass_by_value.ts.html new file mode 100644 index 00000000000..f557aaa2e7f --- /dev/null +++ b/src/abap/2_statements/expressions/pass_by_value.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/pass_by_value.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions pass_by_value.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, Expression} from "../combi";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {FormParamName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class PassByValue extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const value = seq("VALUE",
+                      tok(ParenLeft),
+                      FormParamName,
+                      tok(ParenRightW));
+ 
+    return value;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/perform_changing.ts.html b/src/abap/2_statements/expressions/perform_changing.ts.html new file mode 100644 index 00000000000..3e70df675a3 --- /dev/null +++ b/src/abap/2_statements/expressions/perform_changing.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/perform_changing.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions perform_changing.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, plus} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Target} from "./target";
+ 
+export class PerformChanging extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const changing = seq("CHANGING", plus(Target));
+ 
+    return changing;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/perform_tables.ts.html b/src/abap/2_statements/expressions/perform_tables.ts.html new file mode 100644 index 00000000000..9ec259c0f63 --- /dev/null +++ b/src/abap/2_statements/expressions/perform_tables.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/perform_tables.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions perform_tables.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, plus} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Source} from "./source";
+ 
+export class PerformTables extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const tables = seq("TABLES", plus(Source));
+    return tables;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/perform_using.ts.html b/src/abap/2_statements/expressions/perform_using.ts.html new file mode 100644 index 00000000000..1e667a7319c --- /dev/null +++ b/src/abap/2_statements/expressions/perform_using.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/perform_using.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions perform_using.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, plus} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Source} from "./source";
+ 
+export class PerformUsing extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const using = seq("USING", plus(Source));
+ 
+    return using;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/radio_group_name.ts.html b/src/abap/2_statements/expressions/radio_group_name.ts.html new file mode 100644 index 00000000000..a65c8d422f3 --- /dev/null +++ b/src/abap/2_statements/expressions/radio_group_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/radio_group_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions radio_group_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class RadioGroupName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^[\w\d%]+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/raise_with.ts.html b/src/abap/2_statements/expressions/raise_with.ts.html new file mode 100644 index 00000000000..d561a9caff3 --- /dev/null +++ b/src/abap/2_statements/expressions/raise_with.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/raise_with.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions raise_with.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, opt} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {SimpleSource1} from ".";
+ 
+export class RaiseWith extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const wit = seq("WITH",
+                    SimpleSource1,
+                    opt(SimpleSource1),
+                    opt(SimpleSource1),
+                    opt(SimpleSource1));
+    return wit;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/read_table_target.ts.html b/src/abap/2_statements/expressions/read_table_target.ts.html new file mode 100644 index 00000000000..4e564083c11 --- /dev/null +++ b/src/abap/2_statements/expressions/read_table_target.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/read_table_target.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions read_table_target.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, altPrio, seq, optPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {FSTarget} from "./fstarget";
+import {Target} from "./target";
+ 
+export class ReadTableTarget extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const target = altPrio(seq("ASSIGNING", FSTarget),
+                           seq(optPrio("REFERENCE"), "INTO", Target),
+                           "TRANSPORTING NO FIELDS");
+ 
+    return target;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/receive_parameters.ts.html b/src/abap/2_statements/expressions/receive_parameters.ts.html new file mode 100644 index 00000000000..a0f3e04d081 --- /dev/null +++ b/src/abap/2_statements/expressions/receive_parameters.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/receive_parameters.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions receive_parameters.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, opt, Expression} from "../combi";
+import {ParameterListT, ParameterListExceptions, Field} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ReceiveParameters extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const importing = seq("IMPORTING", ParameterListT);
+    const tables = seq("TABLES", ParameterListT);
+    const changing = seq("CHANGING", ParameterListT);
+    const exceptions = seq("EXCEPTIONS", opt(ParameterListExceptions), opt(Field));
+    const long = seq(opt(importing),
+                     opt(changing),
+                     opt(tables),
+                     opt(exceptions));
+ 
+    return long;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/redefinition.ts.html b/src/abap/2_statements/expressions/redefinition.ts.html new file mode 100644 index 00000000000..e33acbbe4b7 --- /dev/null +++ b/src/abap/2_statements/expressions/redefinition.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/redefinition.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions redefinition.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {seq, opt, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Redefinition extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(opt("FINAL"), "REDEFINITION");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/reduce_body.ts.html b/src/abap/2_statements/expressions/reduce_body.ts.html new file mode 100644 index 00000000000..631376203b1 --- /dev/null +++ b/src/abap/2_statements/expressions/reduce_body.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/reduce_body.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions reduce_body.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, opt, plus} from "../combi";
+import {Let, For, InlineFieldDefinition} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {ReduceNext} from "./reduce_next";
+ 
+export class ReduceBody extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const init = seq("INIT", plus(InlineFieldDefinition));
+ 
+    return seq(opt(Let),
+               init,
+               plus(For),
+               ReduceNext);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/reduce_next.ts.html b/src/abap/2_statements/expressions/reduce_next.ts.html new file mode 100644 index 00000000000..2fb523c3993 --- /dev/null +++ b/src/abap/2_statements/expressions/reduce_next.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/reduce_next.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions reduce_next.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, plus, altPrio, tok, ver, alt} from "../combi";
+import {SimpleTarget, Source} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {WDash, WPlus} from "../../1_lexer/tokens";
+import {Version} from "../../../version";
+ 
+export class ReduceNext extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const calcAssign = ver(Version.v754,
+                           alt(seq(tok(WPlus), "="),
+                               seq(tok(WDash), "="),
+                               "/=",
+                               "*=",
+                               "&&="));
+ 
+    const fields = seq(SimpleTarget, altPrio("=", calcAssign), Source);
+    return seq("NEXT", plus(fields));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/report_name.ts.html b/src/abap/2_statements/expressions/report_name.ts.html new file mode 100644 index 00000000000..bc8a28bfd6e --- /dev/null +++ b/src/abap/2_statements/expressions/report_name.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/report_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions report_name.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, star, tok, regex as reg, Expression} from "../combi";
+import {Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ReportName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(reg(/^[\w/$%]+$/), star(seq(tok(Dash), reg(/^\w+$/))));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/select.ts.html b/src/abap/2_statements/expressions/select.ts.html new file mode 100644 index 00000000000..48d84cb5205 --- /dev/null +++ b/src/abap/2_statements/expressions/select.ts.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/select.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions select.ts

+
+ +
+ 100% + Statements + 43/43 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 43/43 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +431x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x
import {seq, per, str, Expression, altPrio, optPrio, ver, tok} from "../combi";
+import {SQLFieldList, SQLFrom, SQLCond, SQLSource, SQLClient, DatabaseConnection, SQLIntoTable, SQLOrderBy, SQLHaving, SQLForAllEntries, SQLHints, SQLFields, SQLIntoList} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLGroupBy} from "./sql_group_by";
+import {SQLIntoStructure} from "./sql_into_structure";
+import {WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {SQLFieldName} from "./sql_field_name";
+import {SQLUpTo} from "./sql_up_to";
+ 
+export class Select extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const into = altPrio(SQLIntoTable, SQLIntoStructure, SQLIntoList);
+ 
+    const where = seq("WHERE", SQLCond);
+ 
+    const offset = ver(Version.v751, seq("OFFSET", SQLSource));
+ 
+    const bypass = str("BYPASSING BUFFER");
+ 
+    const fields = ver(Version.v750, SQLFields);
+ 
+    // todo, HINTS cannot be anywhere, need an expression dedicated for strict sql
+    const perm = per(SQLFrom, into, SQLForAllEntries, where,
+                     SQLOrderBy, SQLUpTo, offset, SQLClient, SQLHaving,
+                     bypass, SQLGroupBy, fields, DatabaseConnection, SQLHints);
+ 
+    const permSingle = per(SQLFrom, altPrio(SQLIntoStructure, SQLIntoList), where, SQLClient,
+                           bypass, fields, DatabaseConnection, SQLHints);
+ 
+    const paren = seq(tok(WParenLeftW), SQLFieldName, tok(WParenRightW));
+ 
+    const fieldList = optPrio(altPrio(SQLFieldList, paren));
+ 
+    const single = seq("SINGLE", optPrio("FOR UPDATE"), fieldList, permSingle);
+ 
+    const other = seq(optPrio("DISTINCT"), fieldList, perm);
+ 
+    const ret = seq("SELECT", altPrio(single, other));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/select_loop.ts.html b/src/abap/2_statements/expressions/select_loop.ts.html new file mode 100644 index 00000000000..acc8d8e7ca7 --- /dev/null +++ b/src/abap/2_statements/expressions/select_loop.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/select_loop.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions select_loop.ts

+
+ +
+ 100% + Statements + 45/45 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 45/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +451x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x
import {seq, per, alt, Expression, optPrio, altPrio, ver} from "../combi";
+import {SQLSource, SQLFrom, SQLCond, SQLIntoTable, SQLGroupBy, SQLClient, SQLForAllEntries, SQLFields, SQLIntoList} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLOrderBy} from "./sql_order_by";
+import {SQLHaving} from "./sql_having";
+import {SQLIntoStructure} from "./sql_into_structure";
+import {SQLHints} from "./sql_hints";
+import {SQLFieldListLoop} from "./sql_field_list_loop";
+import {SQLUpTo} from "./sql_up_to";
+import {Version} from "../../../version";
+ 
+export class SelectLoop extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const where = seq("WHERE", SQLCond);
+ 
+    const bypass = "BYPASSING BUFFER";
+ 
+    const pack = seq("PACKAGE SIZE", SQLSource);
+ 
+    const tab = seq(SQLIntoTable, alt(pack, seq(SQLFrom, pack), seq(pack, SQLFrom)));
+ 
+    const packTab = seq(pack, SQLIntoTable);
+ 
+    const into = altPrio(SQLIntoStructure, SQLIntoList);
+ 
+    const perm = per(SQLFrom,
+                     where,
+                     SQLUpTo,
+                     SQLOrderBy,
+                     SQLHaving,
+                     SQLClient,
+                     bypass,
+                     SQLGroupBy,
+                     SQLForAllEntries,
+                     alt(tab, into, packTab));
+ 
+    const strict = seq(SQLFrom, ver(Version.v750, SQLFields), where, into, SQLUpTo);
+ 
+    const ret = seq("SELECT",
+                    altPrio(seq(optPrio("DISTINCT"), SQLFieldListLoop, perm), strict),
+                    optPrio(SQLHints));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/simple_field_chain.ts.html b/src/abap/2_statements/expressions/simple_field_chain.ts.html new file mode 100644 index 00000000000..003188e66ab --- /dev/null +++ b/src/abap/2_statements/expressions/simple_field_chain.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/simple_field_chain.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions simple_field_chain.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, starPrio, tok, Expression} from "../combi";
+import {ClassName, Field, ComponentName} from ".";
+import {StaticArrow, Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {AttributeName} from "./attribute_name";
+ 
+export class SimpleFieldChain extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const chain = starPrio(seq(tok(Dash), ComponentName));
+ 
+    const clas = seq(ClassName, tok(StaticArrow), AttributeName);
+    const start = altPrio(clas, Field);
+ 
+    const ret = seq(start, chain);
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/simple_field_chain2.ts.html b/src/abap/2_statements/expressions/simple_field_chain2.ts.html new file mode 100644 index 00000000000..3cb31367973 --- /dev/null +++ b/src/abap/2_statements/expressions/simple_field_chain2.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/simple_field_chain2.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions simple_field_chain2.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, tok, Expression, star} from "../combi";
+import {ClassName, ComponentName, SourceField, SourceFieldSymbol} from ".";
+import {StaticArrow, Dash, InstanceArrow} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {AttributeName} from "./attribute_name";
+ 
+export class SimpleFieldChain2 extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const attr = seq(tok(InstanceArrow), AttributeName);
+    const comp = seq(tok(Dash), ComponentName);
+ 
+    const chain = star(altPrio(attr, comp));
+ 
+    const clas = seq(ClassName, tok(StaticArrow), AttributeName);
+    const start = altPrio(clas, SourceField, SourceFieldSymbol);
+ 
+    const ret = seq(start, chain);
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/simple_name.ts.html b/src/abap/2_statements/expressions/simple_name.ts.html new file mode 100644 index 00000000000..902d141edce --- /dev/null +++ b/src/abap/2_statements/expressions/simple_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/simple_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions simple_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SimpleName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^[\w$%]+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/simple_source1.ts.html b/src/abap/2_statements/expressions/simple_source1.ts.html new file mode 100644 index 00000000000..63e9523c97e --- /dev/null +++ b/src/abap/2_statements/expressions/simple_source1.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/simple_source1.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions simple_source1.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {alt, seq, star, Expression} from "../combi";
+import {Constant, FieldChain, StringTemplate, MethodCallChain, TextElement} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SimpleSource1 extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const concat = seq("&&", StringTemplate);
+ 
+    const template = seq(StringTemplate, star(concat));
+ 
+    return alt(Constant, TextElement, MethodCallChain, template, FieldChain);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/simple_source2.ts.html b/src/abap/2_statements/expressions/simple_source2.ts.html new file mode 100644 index 00000000000..d191e9f85d6 --- /dev/null +++ b/src/abap/2_statements/expressions/simple_source2.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/simple_source2.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions simple_source2.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, star, Expression, altPrio} from "../combi";
+import {Constant, FieldChain, StringTemplate, TextElement} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+/** Reduced version of SimpleSource, omits MethodCallChains. */
+export class SimpleSource2 extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const concat = seq("&&", StringTemplate);
+    const template = seq(StringTemplate, star(concat));
+ 
+    return altPrio(Constant, TextElement, template, FieldChain);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/simple_source3.ts.html b/src/abap/2_statements/expressions/simple_source3.ts.html new file mode 100644 index 00000000000..7419f751405 --- /dev/null +++ b/src/abap/2_statements/expressions/simple_source3.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/simple_source3.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions simple_source3.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, Expression} from "../combi";
+import {Constant, TextElement, FieldChain} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SimpleSource3 extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return altPrio(Constant, TextElement, FieldChain);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/simple_source4.ts.html b/src/abap/2_statements/expressions/simple_source4.ts.html new file mode 100644 index 00000000000..713aaf38b72 --- /dev/null +++ b/src/abap/2_statements/expressions/simple_source4.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/simple_source4.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions simple_source4.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {alt, Expression} from "../combi";
+import {Constant, TextElement, FieldChain} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {MethodCallChain} from "./method_call_chain";
+ 
+export class SimpleSource4 extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return alt(Constant, TextElement, FieldChain, MethodCallChain);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/simple_target.ts.html b/src/abap/2_statements/expressions/simple_target.ts.html new file mode 100644 index 00000000000..0fd1f9069cf --- /dev/null +++ b/src/abap/2_statements/expressions/simple_target.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/simple_target.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions simple_target.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, tok, starPrio, altPrio, Expression} from "../combi";
+import {TargetField, TargetFieldSymbol, NewObject, Arrow, TableExpression, FieldAll, FieldOffset, FieldLength, ClassName, Cast, ComponentName, TableBody} from ".";
+import {InstanceArrow, StaticArrow, Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {AttributeName} from "./attribute_name";
+import {Dereference} from "./dereference";
+ 
+export class SimpleTarget extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const attr = seq(tok(InstanceArrow), AttributeName);
+    const comp = seq(tok(Dash), ComponentName);
+ 
+    const something = starPrio(altPrio(Dereference, attr, comp, TableExpression));
+ 
+    const cast = seq(altPrio(Cast, NewObject), Arrow, FieldAll);
+ 
+    const clas = seq(ClassName, tok(StaticArrow), AttributeName);
+    const start = altPrio(cast, clas, TargetField, TargetFieldSymbol);
+ 
+    const fields = seq(optPrio(FieldOffset), optPrio(FieldLength));
+ 
+    const optional = altPrio(TableBody, fields);
+ 
+    return seq(start, something, optional);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/source.ts.html b/src/abap/2_statements/expressions/source.ts.html new file mode 100644 index 00000000000..7f4ac0836a0 --- /dev/null +++ b/src/abap/2_statements/expressions/source.ts.html @@ -0,0 +1,445 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/source.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions source.ts

+
+ +
+ 100% + Statements + 121/121 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 121/121 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +1211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +1x
import {ver, seq, tok, altPrio, optPrio, regex, Expression, starPrio} from "../combi";
+import {WParenLeftW, WParenRightW, WDashW, ParenLeftW, WPlus, WPlusW, Dash, ParenRightW} from "../../1_lexer/tokens";
+import {CondBody, SwitchBody, ComponentChain, FieldChain, ReduceBody, TypeNameOrInfer,
+  MethodCallChain, ArithOperator, Cond, Constant, StringTemplate, ConvBody, CorrespondingBody, ValueBody, FilterBody, Arrow} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {TextElement} from "./text_element";
+import {AttributeChain} from "./attribute_chain";
+import {Dereference} from "./dereference";
+ 
+// todo, COND and SWITCH are quite similar?
+ 
+// this class is used quite often, so its nice to have the differentiating tokens part of it
+ 
+export class Source extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const comp = seq(tok(Dash), ComponentChain);
+    const attr = seq(Arrow, AttributeChain);
+    const deref = optPrio(ver(Version.v756, Dereference));
+ 
+    const method = seq(MethodCallChain, optPrio(altPrio(attr, comp)), deref);
+ 
+    const rparen = tok(WParenRightW);
+    const rparenNoSpace = altPrio(tok(ParenRightW), tok(WParenRightW));
+ 
+// paren used for eg. "( 2 + 1 ) * 4"
+    const paren = seq(tok(WParenLeftW),
+                      Source,
+                      rparen);
+ 
+    const after = seq(altPrio("&", "&&", ArithOperator), Source);
+ 
+    const bool = seq(altPrio(ver(Version.v702, regex(/^BOOLC$/i)),
+                             ver(Version.v740sp08, regex(/^XSDBOOL$/i))),
+                     tok(ParenLeftW),
+                     Cond,
+                     ")");
+ 
+    const prefix = altPrio(tok(WPlus), "BIT-NOT");
+ 
+    const old = seq(optPrio(prefix), altPrio(Constant,
+                                             StringTemplate,
+                                             TextElement,
+                                             bool,
+                                             method,
+                                             seq(FieldChain, deref),
+                                             paren),
+                    optPrio(after));
+ 
+    const corr = ver(Version.v740sp05, seq("CORRESPONDING",
+                                           TypeNameOrInfer,
+                                           tok(ParenLeftW),
+                                           CorrespondingBody,
+                                           rparen,
+                                           optPrio(after)));
+ 
+    const conv = ver(Version.v740sp02, seq("CONV",
+                                           TypeNameOrInfer,
+                                           tok(ParenLeftW),
+                                           ConvBody,
+                                           rparenNoSpace,
+                                           optPrio(after)));
+ 
+    const swit = ver(Version.v740sp02, seq("SWITCH",
+                                           TypeNameOrInfer,
+                                           tok(ParenLeftW),
+                                           SwitchBody,
+                                           rparenNoSpace,
+                                           optPrio(after)));
+ 
+    const value = ver(Version.v740sp02, seq("VALUE",
+                                            TypeNameOrInfer,
+                                            tok(ParenLeftW),
+                                            ValueBody,
+                                            rparenNoSpace,
+                                            optPrio(after)));
+ 
+    const cond = ver(Version.v740sp02, seq("COND",
+                                           TypeNameOrInfer,
+                                           tok(ParenLeftW),
+                                           CondBody,
+                                           rparenNoSpace,
+                                           optPrio(after)));
+ 
+    const reff = ver(Version.v740sp02, seq("REF",
+                                           TypeNameOrInfer,
+                                           tok(ParenLeftW),
+                                           Source,
+                                           optPrio("OPTIONAL"),
+                                           rparen));
+ 
+    const exact = ver(Version.v740sp02, seq("EXACT",
+                                            TypeNameOrInfer,
+                                            tok(ParenLeftW),
+                                            Source,
+                                            rparen,
+                                            optPrio(after)));
+ 
+    const filter = ver(Version.v740sp08,
+                       seq("FILTER",
+                           TypeNameOrInfer,
+                           tok(ParenLeftW),
+                           FilterBody,
+                           rparen));
+ 
+    const reduce = ver(Version.v740sp08,
+                       seq("REDUCE",
+                           TypeNameOrInfer,
+                           tok(ParenLeftW),
+                           ReduceBody,
+                           rparen,
+                           optPrio(after)));
+ 
+    const prefix1 = altPrio(tok(WDashW), tok(WPlusW));
+ 
+    const ret = seq(starPrio(prefix1),
+                    altPrio(filter, reff, corr, conv, value, cond, exact, swit, reduce, old));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/source_field.ts.html b/src/abap/2_statements/expressions/source_field.ts.html new file mode 100644 index 00000000000..09b1c041994 --- /dev/null +++ b/src/abap/2_statements/expressions/source_field.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/source_field.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions source_field.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression} from "../combi";
+import {Field} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SourceField extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return new Field();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/source_field_symbol.ts.html b/src/abap/2_statements/expressions/source_field_symbol.ts.html new file mode 100644 index 00000000000..33dddaa322e --- /dev/null +++ b/src/abap/2_statements/expressions/source_field_symbol.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/source_field_symbol.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions source_field_symbol.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression} from "../combi";
+import {FieldSymbol} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SourceFieldSymbol extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return new FieldSymbol();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_aggregation.ts.html b/src/abap/2_statements/expressions/sql_aggregation.ts.html new file mode 100644 index 00000000000..54e51dccb55 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_aggregation.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_aggregation.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_aggregation.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, altPrio, tok, Expression, optPrio} from "../combi";
+import {ParenLeft, ParenLeftW} from "../../1_lexer/tokens";
+import {Field, SQLFunction} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dynamic} from "./dynamic";
+import {SQLArithmetics} from "./sql_arithmetics";
+ 
+export class SQLAggregation extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const f = seq(optPrio("DISTINCT"), altPrio(SQLArithmetics, Dynamic, SQLFunction));
+    const fparen = seq("(", Field, ")");
+    const count = seq("COUNT", altPrio(tok(ParenLeft), tok(ParenLeftW)), optPrio("DISTINCT"), altPrio("*", Field, fparen), ")");
+    const max = seq("MAX", altPrio(tok(ParenLeft), tok(ParenLeftW)), f, ")");
+    const min = seq("MIN", altPrio(tok(ParenLeft), tok(ParenLeftW)), f, ")");
+    const sum = seq("SUM", altPrio(tok(ParenLeft), tok(ParenLeftW)), f, ")");
+    const avg = seq("AVG", altPrio(tok(ParenLeft), tok(ParenLeftW)), f, ")");
+ 
+    return altPrio(count, max, min, sum, avg);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_alias_field.ts.html b/src/abap/2_statements/expressions/sql_alias_field.ts.html new file mode 100644 index 00000000000..d1d16123d0d --- /dev/null +++ b/src/abap/2_statements/expressions/sql_alias_field.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_alias_field.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_alias_field.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLAliasField extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^(\/\w+\/)?\w+~\w+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_arithmetic_operator.ts.html b/src/abap/2_statements/expressions/sql_arithmetic_operator.ts.html new file mode 100644 index 00000000000..fc61d304556 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_arithmetic_operator.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_arithmetic_operator.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_arithmetic_operator.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {tok, Expression, altPrio} from "../combi";
+import {WDashW, WPlusW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLArithmeticOperator extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const operator = altPrio(tok(WPlusW), tok(WDashW), "*", "/");
+    return operator;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_arithmetics.ts.html b/src/abap/2_statements/expressions/sql_arithmetics.ts.html new file mode 100644 index 00000000000..74d29db941e --- /dev/null +++ b/src/abap/2_statements/expressions/sql_arithmetics.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_arithmetics.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_arithmetics.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, alt, Expression, starPrio} from "../combi";
+import {SQLFieldName, SQLFunction} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLArithmeticOperator} from "./sql_arithmetic_operator";
+ 
+export class SQLArithmetics extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const field = alt(SQLFieldName, SQLFunction);
+    return seq(field, starPrio(seq(SQLArithmeticOperator, field)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_as_name.ts.html b/src/abap/2_statements/expressions/sql_as_name.ts.html new file mode 100644 index 00000000000..19e2e361135 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_as_name.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_as_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_as_name.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Dash} from "../../1_lexer/tokens";
+import {regex as reg, Expression, seq, starPrio, tok} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLAsName extends Expression {
+  public getRunnable(): IStatementRunnable {
+// todo, below allows too much?
+    const field = reg(/^[&_!]?\*?\w*(\/\w+\/)?\d*[a-zA-Z_%\$][\w\*%\$\?]*(~\w+)?$/);
+ 
+    return seq(field, starPrio(seq(tok(Dash), field)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_case.ts.html b/src/abap/2_statements/expressions/sql_case.ts.html new file mode 100644 index 00000000000..4e51acb887a --- /dev/null +++ b/src/abap/2_statements/expressions/sql_case.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_case.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_case.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {SQLAggregation, SQLFunction, SQLPath} from ".";
+import {Version} from "../../../version";
+import {WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {Expression, ver, seq, tok, optPrio, opt, altPrio, starPrio, plusPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Constant} from "./constant";
+import {SQLCond} from "./sql_cond";
+import {SQLFieldName} from "./sql_field_name";
+import {SQLSource} from "./sql_source";
+ 
+export class SQLCase extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const field = altPrio(SQLAggregation,
+                          SQLCase,
+                          SQLFunction,
+                          SQLPath,
+                          SQLFieldName,
+                          Constant);
+    const sub = seq(altPrio("+", "-", "*", "/", "&&"), optPrio(tok(WParenLeftW)), field, optPrio(tok(WParenRightW)));
+ 
+    const sourc = altPrio(SQLCase, SQLAggregation, SQLFunction, SQLSource);
+    const when = seq("WHEN", altPrio(SQLCond, Constant), "THEN", sourc, starPrio(sub));
+    const els = seq("ELSE", sourc);
+ 
+    return ver(Version.v740sp05, seq("CASE", opt(SQLFieldName), plusPrio(when), optPrio(els), "END"));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_cds_parameters.ts.html b/src/abap/2_statements/expressions/sql_cds_parameters.ts.html new file mode 100644 index 00000000000..fa5d0ea7f8b --- /dev/null +++ b/src/abap/2_statements/expressions/sql_cds_parameters.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_cds_parameters.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_cds_parameters.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {tok, alt, seq, Expression, starPrio} from "../combi";
+import {Field, Constant} from ".";
+import {WAt} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {FieldChain} from "./field_chain";
+ 
+export class SQLCDSParameters extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const param = seq(Field, "=", alt(seq(tok(WAt), FieldChain), Constant));
+    return seq("(", param, starPrio(seq(",", param)), ")");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_client.ts.html b/src/abap/2_statements/expressions/sql_client.ts.html new file mode 100644 index 00000000000..7d27e0f1bb2 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_client.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_client.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_client.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Version} from "../../../version";
+import {alt, seq, Expression, ver, verNot} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLSourceSimple} from "./sql_source_simple";
+ 
+export class SQLClient extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const client = alt(verNot(Version.Cloud, "CLIENT SPECIFIED"),
+                       seq("USING", alt(ver(Version.v740sp05, seq("CLIENT", SQLSourceSimple)),
+                                        ver(Version.v754, seq("CLIENTS IN", alt(SQLSourceSimple, "T000"))),
+                                        ver(Version.v754, "ALL CLIENTS"))));
+    return client;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_compare.ts.html b/src/abap/2_statements/expressions/sql_compare.ts.html new file mode 100644 index 00000000000..49388127f2c --- /dev/null +++ b/src/abap/2_statements/expressions/sql_compare.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_compare.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_compare.ts

+
+ +
+ 100% + Statements + 35/35 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 35/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {ver, seq, optPrio, altPrio, Expression, plusPrio, tok} from "../combi";
+import {SQLSource, SQLFieldName, Dynamic, Select, SQLIn, SQLCompareOperator, SQLFunction, Source, SimpleSource3} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {ParenLeftW, WAt, WParenRightW} from "../../1_lexer/tokens";
+ 
+export class SQLCompare extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const subSelect = seq("(", Select, ")");
+ 
+    const between = seq("BETWEEN", SQLSource, "AND", SQLSource);
+ 
+    const like = seq("LIKE", SQLSource, optPrio(seq("ESCAPE", SQLSource)));
+ 
+    const nul = seq("IS", optPrio("NOT"), altPrio("NULL", ver(Version.v753, "INITIAL")));
+ 
+    const source = new SQLSource();
+ 
+    const sub = seq(optPrio(altPrio("ALL", "ANY", "SOME")), subSelect);
+ 
+    const arith = ver(Version.v750, plusPrio(seq(altPrio("+", "-", "*", "/"), SQLFieldName)));
+ 
+    const paren = seq(tok(ParenLeftW), Source, tok(WParenRightW));
+    const at = ver(Version.v740sp05, seq(tok(WAt), altPrio(SimpleSource3, paren)));
+ 
+    const rett = seq(altPrio(SQLFunction, seq(SQLFieldName, optPrio(arith)), at),
+                     altPrio(seq(SQLCompareOperator, altPrio(sub, source)),
+                             seq(optPrio("NOT"), altPrio(SQLIn, like, between)),
+                             nul));
+ 
+    const exists = seq("EXISTS", subSelect);
+ 
+    return altPrio(exists, Dynamic, rett);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_compare_operator.ts.html b/src/abap/2_statements/expressions/sql_compare_operator.ts.html new file mode 100644 index 00000000000..3cc94c2a707 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_compare_operator.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_compare_operator.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_compare_operator.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLCompareOperator extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const operator = altPrio("=", "<>", "<", ">", "<=", ">=", "EQ", "NE", "GE", "GT", "LT", "LE", "><", "=>", "=<");
+ 
+    return operator;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_cond.ts.html b/src/abap/2_statements/expressions/sql_cond.ts.html new file mode 100644 index 00000000000..73d62ed522d --- /dev/null +++ b/src/abap/2_statements/expressions/sql_cond.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_cond.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_cond.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, starPrio, tok, altPrio, Expression} from "../combi";
+import {WParenLeftW, WParenRightW, ParenRightW} from "../../1_lexer/tokens";
+import {SQLCompare} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLCond extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const operator = altPrio("AND", "OR");
+ 
+    const paren = seq(tok(WParenLeftW),
+                      SQLCond,
+                      altPrio(tok(WParenRightW), tok(ParenRightW)));
+ 
+    const cnd = seq(optPrio("NOT"), altPrio(SQLCompare, paren));
+ 
+    const ret = seq(cnd, starPrio(seq(operator, cnd)));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_field.ts.html b/src/abap/2_statements/expressions/sql_field.ts.html new file mode 100644 index 00000000000..9c3ba14db34 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_field.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_field.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_field.ts

+
+ +
+ 100% + Statements + 29/29 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 29/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {plusPrio, seq, ver, tok, Expression, optPrio, altPrio} from "../combi";
+import {Constant, SQLFieldName, SQLAggregation, SQLCase, SQLAsName} from ".";
+import {Version} from "../../../version";
+import {WAt, WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLFunction} from "./sql_function";
+import {SimpleFieldChain} from "./simple_field_chain";
+import {SQLPath} from "./sql_path";
+ 
+export class SQLField extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const abap = ver(Version.v740sp05, seq(tok(WAt), SimpleFieldChain));
+ 
+    const as = seq("AS", SQLAsName);
+ 
+    const field = altPrio(SQLAggregation,
+                          SQLCase,
+                          SQLFunction,
+                          SQLPath,
+                          SQLFieldName,
+                          abap,
+                          Constant);
+    const sub = plusPrio(seq(altPrio("+", "-", "*", "/", "&&"), optPrio(tok(WParenLeftW)), field, optPrio(tok(WParenRightW))));
+    const arith = ver(Version.v740sp05, sub);
+ 
+    return seq(field, optPrio(arith), optPrio(as));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_field_and_value.ts.html b/src/abap/2_statements/expressions/sql_field_and_value.ts.html new file mode 100644 index 00000000000..f9b7054cf68 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_field_and_value.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_field_and_value.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_field_and_value.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, altPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Integer} from "./integer";
+import {SQLArithmeticOperator} from "./sql_arithmetic_operator";
+import {SQLFieldName} from "./sql_field_name";
+import {SQLSource} from "./sql_source";
+ 
+export class SQLFieldAndValue extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const opt1 = seq(altPrio(Integer, SQLFieldName), SQLArithmeticOperator, SQLSource);
+    const param = seq(SQLFieldName, "=", altPrio(opt1, SQLSource));
+    return param;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_field_list.ts.html b/src/abap/2_statements/expressions/sql_field_list.ts.html new file mode 100644 index 00000000000..160ab5b953a --- /dev/null +++ b/src/abap/2_statements/expressions/sql_field_list.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_field_list.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_field_list.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, ver, Expression, alt, starPrio, altPrio} from "../combi";
+import {SQLField, Dynamic} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLFieldList extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const nev = ver(Version.v740sp05, starPrio(seq(",", SQLField)));
+    const old = starPrio(SQLField);
+ 
+    return altPrio("*",
+                   Dynamic,
+                   seq(SQLField, alt(nev, old)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_field_list_loop.ts.html b/src/abap/2_statements/expressions/sql_field_list_loop.ts.html new file mode 100644 index 00000000000..c2c40bf770a --- /dev/null +++ b/src/abap/2_statements/expressions/sql_field_list_loop.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_field_list_loop.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_field_list_loop.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, ver, Expression, optPrio, opt, alt, star} from "../combi";
+import {SQLFieldName, Dynamic, SQLField, SQLAsName, Constant} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLPath} from "./sql_path";
+ 
+// loop must include one field from the database table
+export class SQLFieldListLoop extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const comma = opt(ver(Version.v740sp05, ","));
+    const as = seq("AS", SQLAsName);
+    const someField = seq(SQLField, comma);
+    const fieldList = seq(star(someField), alt(SQLFieldName, SQLPath, Constant), optPrio(as), comma, star(someField));
+ 
+    const fields = alt("*", Dynamic, fieldList);
+    return fields;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_field_name.ts.html b/src/abap/2_statements/expressions/sql_field_name.ts.html new file mode 100644 index 00000000000..7495087ff13 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_field_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_field_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_field_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLFieldName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\/\w+\/)?(\w+~(\w+|\*)|\w+)$/i);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_fields.ts.html b/src/abap/2_statements/expressions/sql_fields.ts.html new file mode 100644 index 00000000000..b3250f9a94d --- /dev/null +++ b/src/abap/2_statements/expressions/sql_fields.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_fields.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_fields.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, opt} from "../combi";
+import {SQLFieldList} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLFields extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("FIELDS", opt("DISTINCT"), SQLFieldList);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_for_all_entries.ts.html b/src/abap/2_statements/expressions/sql_for_all_entries.ts.html new file mode 100644 index 00000000000..1d429704d58 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_for_all_entries.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_for_all_entries.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_for_all_entries.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLSource} from "./sql_source";
+ 
+export class SQLForAllEntries extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const forAll = seq("FOR ALL ENTRIES IN", SQLSource);
+    return forAll;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_from.ts.html b/src/abap/2_statements/expressions/sql_from.ts.html new file mode 100644 index 00000000000..f22c7989a08 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_from.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_from.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_from.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +1x
import {seq, optPrio, starPrio, tok, Expression} from "../combi";
+import {WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {SQLJoin, SQLFromSource} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLFrom extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const from = seq("FROM",
+                     starPrio(tok(WParenLeftW)),
+                     SQLFromSource);
+ 
+    const source = seq(from, starPrio(seq(optPrio(tok(WParenRightW)), SQLJoin, optPrio(tok(WParenRightW)))));
+ 
+    return source;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_from_source.ts.html b/src/abap/2_statements/expressions/sql_from_source.ts.html new file mode 100644 index 00000000000..d729db8360f --- /dev/null +++ b/src/abap/2_statements/expressions/sql_from_source.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_from_source.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_from_source.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, seq, optPrio, Expression, ver, tok} from "../combi";
+import {SQLAsName, SQLCDSParameters, DatabaseTable, FieldChain} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+import {WAt} from "../../1_lexer/tokens";
+import {WithName} from "./with_name";
+ 
+export class SQLFromSource extends Expression {
+  public getRunnable(): IStatementRunnable {
+    // https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-752-open_sql.htm#!ABAP_MODIFICATION_1@1@
+    const tab = ver(Version.v752, seq(tok(WAt), FieldChain));
+    const aas = seq("AS", SQLAsName);
+ 
+    return seq(altPrio(WithName, seq(DatabaseTable, optPrio(SQLCDSParameters)), tab),
+               optPrio(ver(Version.v752, "WITH PRIVILEGED ACCESS")),
+               optPrio(aas));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_function.ts.html b/src/abap/2_statements/expressions/sql_function.ts.html new file mode 100644 index 00000000000..582ae94f693 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_function.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_function.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_function.ts

+
+ +
+ 100% + Statements + 47/47 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 47/47 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +471x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Constant} from "./constant";
+import {Version} from "../../../version";
+import {ParenLeftW, WAt, WParenRightW} from "../../1_lexer/tokens";
+import {Expression, ver, seq, tok, altPrio, optPrio, regex as reg} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Integer} from "./integer";
+import {SQLAliasField} from "./sql_alias_field";
+import {SQLFieldName} from "./sql_field_name";
+import {SimpleSource3} from "./simple_source3";
+import {Source} from "./source";
+import {SQLAggregation} from "./sql_aggregation";
+ 
+export class SQLFunction extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const paren = seq(tok(ParenLeftW), Source, tok(WParenRightW));
+    const at = ver(Version.v740sp05, seq(tok(WAt), altPrio(SimpleSource3, paren)));
+ 
+    const param = altPrio(SQLFunction, SQLAggregation, SQLFieldName, SQLAliasField, Constant, at);
+ 
+    const castTypes = altPrio(
+      seq("CHAR", tok(ParenLeftW), Integer, tok(WParenRightW)),
+      seq("DEC", tok(ParenLeftW), Integer, ",", Integer, tok(WParenRightW)),
+      "FLTP",
+      "NUMC",
+      "INT8");
+ 
+    const commaParam = seq(",", param);
+ 
+    // note: the function names are not keywords, they are usually in lower case
+    const abs = ver(Version.v740sp05, seq(reg(/^abs$/i), tok(ParenLeftW), param, tok(WParenRightW)));
+    const cast = ver(Version.v750, seq(reg(/^cast$/i), tok(ParenLeftW), param, "AS", castTypes, tok(WParenRightW)));
+    const ceil = ver(Version.v740sp05, seq(reg(/^ceil$/i), tok(ParenLeftW), param, tok(WParenRightW)));
+    const coalesce = ver(Version.v740sp05, seq(reg(/^coalesce$/i), tok(ParenLeftW), param, commaParam, optPrio(commaParam), tok(WParenRightW)));
+    const concat = ver(Version.v750, seq(reg(/^concat$/i), tok(ParenLeftW), param, commaParam, tok(WParenRightW)));
+    const div = ver(Version.v740sp05, seq(reg(/^div$/i), tok(ParenLeftW), param, commaParam, tok(WParenRightW)));
+    const floor = ver(Version.v740sp05, seq(reg(/^floor$/i), tok(ParenLeftW), param, tok(WParenRightW)));
+    const length = ver(Version.v750, seq(reg(/^length$/i), tok(ParenLeftW), param, tok(WParenRightW)));
+    const lower = ver(Version.v751, seq(reg(/^lower$/i), tok(ParenLeftW), param, tok(WParenRightW)));
+    const mod = ver(Version.v740sp05, seq(reg(/^mod$/i), tok(ParenLeftW), param, commaParam, tok(WParenRightW)));
+    const replace = ver(Version.v750, seq(reg(/^replace$/i), tok(ParenLeftW), param, commaParam, commaParam, tok(WParenRightW)));
+    const round = ver(Version.v750, seq(reg(/^round$/i), tok(ParenLeftW), param, commaParam, tok(WParenRightW)));
+    const upper = ver(Version.v751, seq(reg(/^upper$/i), tok(ParenLeftW), param, tok(WParenRightW)));
+    const uuid = ver(Version.v754, seq(reg(/^uuid$/i), tok(ParenLeftW), tok(WParenRightW)));
+ 
+    return altPrio(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_group_by.ts.html b/src/abap/2_statements/expressions/sql_group_by.ts.html new file mode 100644 index 00000000000..9d7b48e8402 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_group_by.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_group_by.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_group_by.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, plus, alt, altPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dynamic} from "./dynamic";
+import {SQLFieldName} from "./sql_field_name";
+ 
+export class SQLGroupBy extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const f = alt(SQLFieldName, Dynamic);
+    const strict = seq(plus(seq(f, ",")), f);
+    const group = seq("GROUP BY", altPrio(strict, plus(f)));
+    return group;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_having.ts.html b/src/abap/2_statements/expressions/sql_having.ts.html new file mode 100644 index 00000000000..9db4ae77786 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_having.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_having.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_having.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dynamic} from "./dynamic";
+ 
+export class SQLHaving extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const having = seq("HAVING", Dynamic);
+    return having;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_hints.ts.html b/src/abap/2_statements/expressions/sql_hints.ts.html new file mode 100644 index 00000000000..19e068e5793 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_hints.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_hints.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_hints.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, plus, Expression, altPrio} from "../combi";
+import {Constant} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLHints extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const type = altPrio("ORACLE", "ADABAS", "AS400", "DB2", "HDB", "MSSQLNT", "SYBASE", "DB6");
+    const ret = seq("%_HINTS", plus(seq(type, Constant)));
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_in.ts.html b/src/abap/2_statements/expressions/sql_in.ts.html new file mode 100644 index 00000000000..cde03132a35 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_in.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_in.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_in.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {ver, seq, tok, alt, starPrio, altPrio, Expression} from "../combi";
+import {SQLSource, Select, SQLSourceNoSpace} from ".";
+import {ParenRight, ParenRightW, WParenLeft, WParenLeftW, WParenRight, WParenRightW} from "../../1_lexer/tokens";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLIn extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const val = new SQLSource();
+    const short = new SQLSourceNoSpace();
+ 
+    const listOld = seq(tok(WParenLeft), alt(ver(Version.v740sp05, short), val), starPrio(seq(",", val)), altPrio(tok(ParenRight), tok(ParenRightW), tok(WParenRightW)));
+    const listNew = seq(tok(WParenLeftW), val, starPrio(seq(",", altPrio(short, val))), altPrio(tok(WParenRight), tok(WParenRightW)));
+    const list = alt(listOld, ver(Version.v740sp02, listNew)); // version is a guess, https://github.com/abaplint/abaplint/issues/2530
+ 
+    const subSelect = seq("(", Select, ")");
+ 
+    const inn = seq("IN", altPrio(SQLSource, list, subSelect));
+ 
+    return inn;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_into_list.ts.html b/src/abap/2_statements/expressions/sql_into_list.ts.html new file mode 100644 index 00000000000..c40baf264bf --- /dev/null +++ b/src/abap/2_statements/expressions/sql_into_list.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_into_list.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_into_list.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, tok, starPrio, altPrio} from "../combi";
+import {SQLTarget} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {WParenLeftW} from "../../1_lexer/tokens/wparen_leftw";
+import {WParenLeft} from "../../1_lexer/tokens/wparen_left";
+ 
+export class SQLIntoList extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const intoList = seq(altPrio(tok(WParenLeft), tok(WParenLeftW)),
+                         starPrio(seq(SQLTarget, ",")),
+                         SQLTarget,
+                         ")");
+ 
+    return seq("INTO", intoList);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_into_structure.ts.html b/src/abap/2_statements/expressions/sql_into_structure.ts.html new file mode 100644 index 00000000000..f40a74a2ddd --- /dev/null +++ b/src/abap/2_statements/expressions/sql_into_structure.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_into_structure.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_into_structure.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, optPrio} from "../combi";
+import {SQLTarget} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLIntoStructure extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const intoSimple = seq(optPrio("CORRESPONDING FIELDS OF"), SQLTarget);
+ 
+    return seq("INTO", intoSimple);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_into_table.ts.html b/src/abap/2_statements/expressions/sql_into_table.ts.html new file mode 100644 index 00000000000..5180d336282 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_into_table.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_into_table.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_into_table.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, seq, Expression, optPrio} from "../combi";
+import {SQLTarget} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLIntoTable extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const into = seq(altPrio("INTO", "APPENDING"),
+                     optPrio("CORRESPONDING FIELDS OF"),
+                     "TABLE",
+                     SQLTarget);
+    return into;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_join.ts.html b/src/abap/2_statements/expressions/sql_join.ts.html new file mode 100644 index 00000000000..eb48688b7da --- /dev/null +++ b/src/abap/2_statements/expressions/sql_join.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_join.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_join.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, altPrio, Expression} from "../combi";
+import {SQLFromSource, SQLCond} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLJoin extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const joinType = seq(optPrio(altPrio("INNER", "LEFT OUTER", "LEFT", "RIGHT OUTER", "RIGHT")), "JOIN");
+ 
+    const join = seq(joinType, SQLFromSource, "ON", SQLCond);
+ 
+    return join;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_order_by.ts.html b/src/abap/2_statements/expressions/sql_order_by.ts.html new file mode 100644 index 00000000000..1ef3515be86 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_order_by.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_order_by.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_order_by.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, plus, opt, alt, seq, altPrio} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dynamic} from "./dynamic";
+import {SQLFieldName} from "./sql_field_name";
+ 
+export class SQLOrderBy extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ding = alt("ASCENDING", "DESCENDING");
+    const ofields = plus(seq(SQLFieldName, opt(ding), opt(",")));
+    const order = seq("ORDER BY", altPrio("PRIMARY KEY", Dynamic, ofields));
+    return order;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_path.ts.html b/src/abap/2_statements/expressions/sql_path.ts.html new file mode 100644 index 00000000000..c16942f4308 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_path.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_path.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_path.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, seq, tok, Expression} from "../combi";
+import {Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLPath extends Expression {
+  public getRunnable(): IStatementRunnable {
+// todo, only from version?
+    const ret = seq(reg(/\\_\w+/), tok(Dash), reg(/\w+/));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_source.ts.html b/src/abap/2_statements/expressions/sql_source.ts.html new file mode 100644 index 00000000000..bb37165b09c --- /dev/null +++ b/src/abap/2_statements/expressions/sql_source.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_source.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_source.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x
import {seq, ver, tok, Expression, alt, altPrio} from "../combi";
+import {Version} from "../../../version";
+import {WAt, ParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {SQLAliasField, Source, SimpleSource3} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLSource extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const paren = seq(tok(ParenLeftW), Source, tok(WParenRightW));
+ 
+    const at = ver(Version.v740sp05, seq(tok(WAt), altPrio(SimpleSource3, paren)));
+ 
+    return alt(SQLAliasField, SimpleSource3, at);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_source_no_space.ts.html b/src/abap/2_statements/expressions/sql_source_no_space.ts.html new file mode 100644 index 00000000000..b2fedfc98cb --- /dev/null +++ b/src/abap/2_statements/expressions/sql_source_no_space.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_source_no_space.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_source_no_space.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, ver, tok, Expression, alt, altPrio} from "../combi";
+import {Version} from "../../../version";
+import {ParenLeftW, WParenRightW, At} from "../../1_lexer/tokens";
+import {SQLAliasField, Source, SimpleSource3} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLSourceNoSpace extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const paren = seq(tok(ParenLeftW), Source, tok(WParenRightW));
+ 
+    const at = ver(Version.v740sp05, seq(tok(At), altPrio(SimpleSource3, paren)));
+ 
+    return alt(SQLAliasField, SimpleSource3, at);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_source_simple.ts.html b/src/abap/2_statements/expressions/sql_source_simple.ts.html new file mode 100644 index 00000000000..a7cdf11228c --- /dev/null +++ b/src/abap/2_statements/expressions/sql_source_simple.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_source_simple.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_source_simple.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {alt, seq, ver, tok, Expression} from "../combi";
+import {Version} from "../../../version";
+import {WAt, ParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {Source, SimpleSource3} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+// todo, delete this expression, its the same as SQLSource?
+export class SQLSourceSimple extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const paren = seq(tok(ParenLeftW), Source, tok(WParenRightW));
+ 
+    const at = ver(Version.v740sp05, seq(tok(WAt), alt(SimpleSource3, paren)));
+ 
+    return alt(SimpleSource3, at);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_target.ts.html b/src/abap/2_statements/expressions/sql_target.ts.html new file mode 100644 index 00000000000..8505f043ccb --- /dev/null +++ b/src/abap/2_statements/expressions/sql_target.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_target.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_target.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, seq, ver, tok, opt, Expression} from "../combi";
+import {Version} from "../../../version";
+import {WAt, At} from "../../1_lexer/tokens";
+import {Target} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SQLTarget extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const n = ver(Version.v754, "NEW");
+    const at = ver(Version.v740sp05, seq(opt(n), altPrio(tok(WAt), tok(At)), Target));
+ 
+    return altPrio(at, Target);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/sql_up_to.ts.html b/src/abap/2_statements/expressions/sql_up_to.ts.html new file mode 100644 index 00000000000..53cd4445379 --- /dev/null +++ b/src/abap/2_statements/expressions/sql_up_to.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/sql_up_to.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions sql_up_to.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLSource} from "./sql_source";
+ 
+export class SQLUpTo extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const up = seq("UP TO", SQLSource, "ROWS");
+    return up;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/string_template.ts.html b/src/abap/2_statements/expressions/string_template.ts.html new file mode 100644 index 00000000000..0961279ef0e --- /dev/null +++ b/src/abap/2_statements/expressions/string_template.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/string_template.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions string_template.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +1x
import {tok, ver, seq, starPrio, altPrio, Expression} from "../combi";
+import * as Tokens from "../../1_lexer/tokens";
+import {Version} from "../../../version";
+import {StringTemplateSource} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class StringTemplate extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const nest = seq(tok(Tokens.StringTemplateBegin),
+                     StringTemplateSource,
+                     starPrio(seq(tok(Tokens.StringTemplateMiddle), StringTemplateSource)),
+                     tok(Tokens.StringTemplateEnd));
+ 
+    return ver(Version.v702, altPrio(nest, tok(Tokens.StringTemplate)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/string_template_formatting.ts.html b/src/abap/2_statements/expressions/string_template_formatting.ts.html new file mode 100644 index 00000000000..5465a194bb9 --- /dev/null +++ b/src/abap/2_statements/expressions/string_template_formatting.ts.html @@ -0,0 +1,265 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/string_template_formatting.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions string_template_formatting.ts

+
+ +
+ 100% + Statements + 61/61 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 61/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +611x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, per, altPrio, ver, Expression} from "../combi";
+import {Source} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+import {Dynamic} from "./dynamic";
+ 
+export class StringTemplateFormatting extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    // https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abapcompute_string_format_options.htm
+    const alphaOptions = altPrio("OUT", "RAW", "IN", Source);
+ 
+    const alignOptions = altPrio("LEFT", "RIGHT", "CENTER", Source);
+ 
+    const dateTimeOptions = altPrio("RAW", "ISO", "USER", "ENVIRONMENT", Source, Dynamic);
+ 
+    const timeStampOptions = altPrio("SPACE", "ISO", "USER", "ENVIRONMENT", Source);
+ 
+    const numberOptions = altPrio("RAW", "USER", "ENVIRONMENT", Source);
+ 
+    const signOptions = altPrio("LEFT", "LEFTPLUS", "LEFTSPACE", "RIGHT", "RIGHTPLUS", "RIGHTSPACE", Source);
+ 
+    const caseOptions = altPrio("RAW", "UPPER", "LOWER", Source, Dynamic);
+ 
+    const zeroXSDOptions = altPrio("YES", "NO", Source);
+ 
+    const styleOptions = altPrio("SIMPLE",
+                                 "SIGN_AS_POSTFIX",
+                                 "SCALE_PRESERVING",
+                                 "SCIENTIFIC",
+                                 "SCIENTIFIC_WITH_LEADING_ZERO",
+                                 "SCALE_PRESERVING_SCIENTIFIC",
+                                 "ENGINEERING",
+                                 Source);
+ 
+    const width = seq("WIDTH =", Source);
+    const align = seq("ALIGN =", alignOptions);
+    const timezone = seq("TIMEZONE =", Source);
+    const timestamp = seq("TIMESTAMP =", timeStampOptions);
+    const pad = seq("PAD =", Source);
+    const number = seq("NUMBER =", numberOptions);
+    const sign = seq("SIGN =", signOptions);
+    const decimals = seq("DECIMALS =", Source);
+    const alpha = ver(Version.v740sp02, seq("ALPHA =", alphaOptions));
+    const xsd = ver(Version.v740sp02, seq("XSD =", zeroXSDOptions));
+ 
+    const formatting = altPrio(seq("TIME =", dateTimeOptions),
+                               seq("DATE =", dateTimeOptions),
+                               seq("CASE =", caseOptions),
+                               seq("EXPONENT", Source),
+                               seq("ZERO =", zeroXSDOptions),
+                               xsd,
+                               seq("STYLE =", styleOptions),
+                               seq("CURRENCY =", Source),
+                               seq("COUNTRY =", Source),
+                               per(sign, number, decimals, width, pad, alpha, align),
+                               per(timezone, timestamp));
+ 
+    return formatting;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/string_template_source.ts.html b/src/abap/2_statements/expressions/string_template_source.ts.html new file mode 100644 index 00000000000..24551c132b3 --- /dev/null +++ b/src/abap/2_statements/expressions/string_template_source.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/string_template_source.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions string_template_source.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, optPrio} from "../combi";
+import {Source, StringTemplateFormatting} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class StringTemplateSource extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(Source, optPrio(StringTemplateFormatting));
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/super_class_name.ts.html b/src/abap/2_statements/expressions/super_class_name.ts.html new file mode 100644 index 00000000000..50b06713186 --- /dev/null +++ b/src/abap/2_statements/expressions/super_class_name.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/super_class_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions super_class_name.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression} from "../combi";
+import {ClassName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SuperClassName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return new ClassName();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/switch_body.ts.html b/src/abap/2_statements/expressions/switch_body.ts.html new file mode 100644 index 00000000000..7b4bb1995c8 --- /dev/null +++ b/src/abap/2_statements/expressions/switch_body.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/switch_body.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions switch_body.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, star, alt, opt, plus} from "../combi";
+import {Source, Throw, Let} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SwitchBody extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const or = seq("OR", Source);
+ 
+    const swhen = seq("WHEN", Source, star(or), "THEN", alt(Source, Throw));
+ 
+    return seq(
+      opt(Let),
+      Source,
+      plus(swhen),
+      opt(seq("ELSE", alt(Source, Throw))));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/table_body.ts.html b/src/abap/2_statements/expressions/table_body.ts.html new file mode 100644 index 00000000000..07351ba96e7 --- /dev/null +++ b/src/abap/2_statements/expressions/table_body.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/table_body.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions table_body.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, Expression} from "../combi";
+import {BracketLeft, BracketRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TableBody extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(tok(BracketLeft), tok(BracketRightW));
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/table_expression.ts.html b/src/abap/2_statements/expressions/table_expression.ts.html new file mode 100644 index 00000000000..630139e625d --- /dev/null +++ b/src/abap/2_statements/expressions/table_expression.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/table_expression.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions table_expression.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, opt, tok, alt, altPrio, optPrio, plus, ver, Expression} from "../combi";
+import {BracketLeftW, WBracketRight, WBracketRightW} from "../../1_lexer/tokens";
+import {Dynamic, Source, SimpleName, ComponentChainSimple} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TableExpression extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const fields = plus(seq(altPrio(ComponentChainSimple, Dynamic), "=", Source));
+    const key = seq("KEY", SimpleName);
+    const index = seq("INDEX", Source);
+    const ret = seq(tok(BracketLeftW),
+                    alt(Source, seq(optPrio(key), opt("COMPONENTS"), altPrio(fields, index))),
+                    altPrio(tok(WBracketRight), tok(WBracketRightW)));
+    return ver(Version.v740sp02, ret);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/target.ts.html b/src/abap/2_statements/expressions/target.ts.html new file mode 100644 index 00000000000..fdee91ed850 --- /dev/null +++ b/src/abap/2_statements/expressions/target.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/target.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions target.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +1x
import {seq, optPrio, tok, starPrio, altPrio, Expression} from "../combi";
+import {TargetField, TargetFieldSymbol, NewObject, InlineData, InlineFS, TableExpression, FieldOffset, FieldLength, TableBody, ClassName, Cast, ComponentName} from ".";
+import {InstanceArrow, StaticArrow, Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+import {AttributeName} from "./attribute_name";
+import {Dereference} from "./dereference";
+ 
+export class Target extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const attr = seq(tok(InstanceArrow), AttributeName);
+    const comp = seq(tok(Dash), ComponentName);
+ 
+    const something = starPrio(altPrio(Dereference, attr, comp, TableExpression));
+ 
+    const clas = seq(ClassName, tok(StaticArrow), AttributeName);
+    const start = altPrio(Cast, NewObject, clas, TargetField, TargetFieldSymbol);
+ 
+    const fields = seq(optPrio(FieldOffset), optPrio(FieldLength));
+ 
+    const optional = altPrio(TableBody, fields);
+ 
+    return altPrio(InlineData, InlineFS, seq(start, something, optional));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/target_field.ts.html b/src/abap/2_statements/expressions/target_field.ts.html new file mode 100644 index 00000000000..a3ac24a65c2 --- /dev/null +++ b/src/abap/2_statements/expressions/target_field.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/target_field.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions target_field.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression} from "../combi";
+import {Field} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TargetField extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return new Field();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/target_field_symbol.ts.html b/src/abap/2_statements/expressions/target_field_symbol.ts.html new file mode 100644 index 00000000000..2d80a5abd16 --- /dev/null +++ b/src/abap/2_statements/expressions/target_field_symbol.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/target_field_symbol.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions target_field_symbol.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression} from "../combi";
+import {FieldSymbol} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TargetFieldSymbol extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return new FieldSymbol();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/test_seam_name.ts.html b/src/abap/2_statements/expressions/test_seam_name.ts.html new file mode 100644 index 00000000000..37968b87264 --- /dev/null +++ b/src/abap/2_statements/expressions/test_seam_name.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/test_seam_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions test_seam_name.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, starPrio, tok, regex as reg, Expression} from "../combi";
+import {Dash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TestSeamName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq(reg(/^[\w%\$\*]+$/), starPrio(seq(tok(Dash), reg(/^[\w%\$\*]+$/))));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/text_element.ts.html b/src/abap/2_statements/expressions/text_element.ts.html new file mode 100644 index 00000000000..3f17ea9cb30 --- /dev/null +++ b/src/abap/2_statements/expressions/text_element.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/text_element.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions text_element.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, tok} from "../combi";
+import {Dash} from "../../1_lexer/tokens";
+import {TextElementKey} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TextElement extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("TEXT", tok(Dash), TextElementKey);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/text_element_key.ts.html b/src/abap/2_statements/expressions/text_element_key.ts.html new file mode 100644 index 00000000000..a6df1f59ddc --- /dev/null +++ b/src/abap/2_statements/expressions/text_element_key.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/text_element_key.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions text_element_key.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {Expression, regex as reg} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TextElementKey extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return reg(/^\w{3}$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/text_element_string.ts.html b/src/abap/2_statements/expressions/text_element_string.ts.html new file mode 100644 index 00000000000..f0bf86c847f --- /dev/null +++ b/src/abap/2_statements/expressions/text_element_string.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/text_element_string.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions text_element_string.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, regex as reg, Expression} from "../combi";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {TextElementKey} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TextElementString extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const text = seq(tok(ParenLeft), TextElementKey, tok(ParenRightW));
+    const stri = seq(reg(/^('.*')|(`.*`)$/), text);
+    return stri;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/throw.ts.html b/src/abap/2_statements/expressions/throw.ts.html new file mode 100644 index 00000000000..7929dd3f2a6 --- /dev/null +++ b/src/abap/2_statements/expressions/throw.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/throw.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions throw.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, opt, Expression, tok, alt, altPrio} from "../combi";
+import {ClassName, ParameterListS, Source} from ".";
+import {ParenLeft, ParenLeftW, ParenRightW, WParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Throw extends Expression {
+  public getRunnable(): IStatementRunnable {
+// todo, MESSAGE
+    return seq("THROW",
+               opt("RESUMABLE"),
+               ClassName,
+               altPrio(tok(ParenLeftW), tok(ParenLeft)),
+               opt(alt(Source, ParameterListS)),
+               altPrio(tok(WParenRightW), tok(ParenRightW)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/transporting_fields.ts.html b/src/abap/2_statements/expressions/transporting_fields.ts.html new file mode 100644 index 00000000000..6707fe691de --- /dev/null +++ b/src/abap/2_statements/expressions/transporting_fields.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/transporting_fields.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions transporting_fields.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, plus, failStar, alt, altPrio, Expression} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dynamic} from "./dynamic";
+import {FieldSub} from "./field_sub";
+ 
+export class TransportingFields extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const fields = plus(alt(seq("INTO", failStar()), FieldSub));
+    return altPrio(Dynamic, fields);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/type.ts.html b/src/abap/2_statements/expressions/type.ts.html new file mode 100644 index 00000000000..92f53332d29 --- /dev/null +++ b/src/abap/2_statements/expressions/type.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/type.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions type.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +1x
import {seq, optPrio, Expression, altPrio} from "../combi";
+import {TypeName, Default, FieldChain} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Type extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const typeType = seq(TypeName, optPrio(Default));
+ 
+    const like = altPrio(seq("LINE OF", FieldChain),
+                         seq("REF TO", FieldChain),
+                         FieldChain);
+ 
+    const type = altPrio(seq("LINE OF", typeType),
+                         seq("REF TO", typeType),
+                         typeType);
+ 
+    const ret = altPrio(seq("LIKE", like), seq("TYPE", type));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/type_name.ts.html b/src/abap/2_statements/expressions/type_name.ts.html new file mode 100644 index 00000000000..bbd229b25e0 --- /dev/null +++ b/src/abap/2_statements/expressions/type_name.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/type_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions type_name.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, alt, opt, tok, regex as reg, Expression, starPrio} from "../combi";
+import {StaticArrow, Dash, InstanceArrow} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+// todo, can this be replaced with one of the FieldChain expressions?
+ 
+export class TypeName extends Expression {
+ 
+  public getRunnable(): IStatementRunnable {
+    const name = reg(/^[\w~\/%$]+$/);
+    const cla = seq(name, alt(tok(StaticArrow), tok(InstanceArrow)));
+    const field = seq(tok(Dash), name);
+    return seq(opt(cla), name, starPrio(field));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/type_name_or_infer.ts.html b/src/abap/2_statements/expressions/type_name_or_infer.ts.html new file mode 100644 index 00000000000..b181d996796 --- /dev/null +++ b/src/abap/2_statements/expressions/type_name_or_infer.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/type_name_or_infer.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions type_name_or_infer.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +2x +2x +1x
import {altPrio, Expression} from "../combi";
+import {TypeName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TypeNameOrInfer extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return altPrio("#", TypeName);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/type_param.ts.html b/src/abap/2_statements/expressions/type_param.ts.html new file mode 100644 index 00000000000..7ef2ee89362 --- /dev/null +++ b/src/abap/2_statements/expressions/type_param.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/type_param.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions type_param.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, optPrio, alt, altPrio, Expression, opt} from "../combi";
+import {Default, FieldChain, TypeNameOrInfer} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TypeParam extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const table = seq(altPrio("STANDARD", "HASHED", "INDEX", "SORTED", "ANY"),
+                      "TABLE");
+ 
+    const foo = seq(optPrio(seq(table, "OF")), optPrio("REF TO"));
+ 
+    const typeLine = "LINE OF";
+ 
+    const ret = seq(alt(foo, typeLine),
+                    TypeNameOrInfer,
+                    opt(Default));
+ 
+    const like = seq("LIKE", opt("LINE OF"), FieldChain, optPrio(Default));
+ 
+    return alt(seq("TYPE", alt(table, ret)), like);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/type_structure.ts.html b/src/abap/2_statements/expressions/type_structure.ts.html new file mode 100644 index 00000000000..b848277b255 --- /dev/null +++ b/src/abap/2_statements/expressions/type_structure.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/type_structure.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions type_structure.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import {seq, Expression, altPrio} from "../combi";
+import {EventName, NamespaceSimpleName} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TypeStructure extends Expression {
+  public getRunnable(): IStatementRunnable {
+    // todo, add version,
+    const hier = seq("HIERARCHY", NamespaceSimpleName);
+    const evt = seq("EVENT", EventName);
+ 
+    return seq("TYPE STRUCTURE FOR", altPrio(hier, evt));
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/type_table.ts.html b/src/abap/2_statements/expressions/type_table.ts.html new file mode 100644 index 00000000000..fea10ef74ee --- /dev/null +++ b/src/abap/2_statements/expressions/type_table.ts.html @@ -0,0 +1,262 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/type_table.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions type_table.ts

+
+ +
+ 100% + Statements + 59/59 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 59/59 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +601x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +1x +1x + 
import {seq, opt, alt, per, Expression, altPrio, optPrio, plusPrio, plus, ver} from "../combi";
+import {Constant, TypeName, Integer} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {FieldChain} from "./field_chain";
+import {TypeTableKey} from "./type_table_key";
+import {Version} from "../../../version";
+ 
+export class TypeTable extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const header = "WITH HEADER LINE";
+    const initial = seq("INITIAL SIZE", Constant);
+ 
+    const generic = seq(opt(alt("STANDARD", "HASHED", "INDEX", "SORTED", "ANY")), "TABLE");
+ 
+    const normal1 = seq(opt(alt("STANDARD", "HASHED", "INDEX", "SORTED", "ANY")),
+                        "TABLE OF",
+                        optPrio("REF TO"),
+                        TypeName);
+ 
+    const likeType = seq(opt(alt("STANDARD", "HASHED", "INDEX", "SORTED", "ANY")),
+                         "TABLE OF",
+                         optPrio("REF TO"),
+                         opt(FieldChain),
+                         opt(per(header, initial, plusPrio(TypeTableKey))));
+ 
+    const rangeType = seq("RANGE OF", TypeName, optPrio(header), optPrio(initial));
+    const rangeLike = seq("RANGE OF", FieldChain, optPrio(header), optPrio(initial));
+ 
+    // a maximum of 15 secondary table keys can be defined
+    // "WITH" is not allowed as a field name in keys
+    const typetable = alt(generic, seq(normal1,
+                                       alt(opt(per(header, initial, plusPrio(TypeTableKey))),
+                                           seq(plus(TypeTableKey), optPrio(initial)))));
+ 
+    const occurs = seq("OCCURS", Integer);
+ 
+    const derived = ver(Version.v754, seq("TABLE FOR", altPrio(
+      "ACTION IMPORT",
+      "ACTION RESULT",
+      "CREATE",
+      "EVENT",
+      "FAILED",
+      "LOCK",
+      "READ RESULT",
+      "UPDATE",
+    ), TypeName));
+ 
+    const oldType = seq(opt("REF TO"), TypeName, alt(seq(occurs, opt(header)), header));
+    const oldLike = seq(opt("REF TO"), FieldChain, alt(seq(occurs, opt(header)), header));
+ 
+    const ret = altPrio(
+      seq(occurs, opt(header)),
+      seq("LIKE", alt(oldLike, likeType, rangeLike)),
+      seq("TYPE", alt(oldType, typetable, rangeType, derived)));
+ 
+    return ret;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/type_table_key.ts.html b/src/abap/2_statements/expressions/type_table_key.ts.html new file mode 100644 index 00000000000..e847eb3b07c --- /dev/null +++ b/src/abap/2_statements/expressions/type_table_key.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/type_table_key.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions type_table_key.ts

+
+ +
+ 100% + Statements + 30/30 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 30/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import {seq, opt, alt, ver, Expression, altPrio, plus, optPrio, failStar} from "../combi";
+import {FieldSub, Field} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TypeTableKey extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const uniqueness = alt("NON-UNIQUE", "UNIQUE");
+    const defaultKey = "DEFAULT KEY";
+    const emptyKey = ver(Version.v740sp02, "EMPTY KEY");
+ 
+    const components = plus(alt(seq("WITH", failStar()), FieldSub));
+ 
+    const further = seq(alt("WITHOUT", "WITH"), "FURTHER SECONDARY KEYS");
+ 
+    const key = seq("WITH",
+                    opt(uniqueness),
+                    altPrio(defaultKey, emptyKey,
+                            seq(opt(alt("SORTED", "HASHED")),
+                                "KEY",
+                                alt(seq(Field, "COMPONENTS", components),
+                                    components))),
+                    optPrio(further),
+                    optPrio("READ-ONLY"));
+ 
+    return key;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/value.ts.html b/src/abap/2_statements/expressions/value.ts.html new file mode 100644 index 00000000000..b40f81c839b --- /dev/null +++ b/src/abap/2_statements/expressions/value.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/value.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions value.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, alt, Expression} from "../combi";
+import {SimpleFieldChain, Constant} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Value extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const ret = seq("VALUE", alt(Constant, SimpleFieldChain, "IS INITIAL"));
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/value_body.ts.html b/src/abap/2_statements/expressions/value_body.ts.html new file mode 100644 index 00000000000..8e6b947af74 --- /dev/null +++ b/src/abap/2_statements/expressions/value_body.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/value_body.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions value_body.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, optPrio, altPrio, plusPrio, ver, star} from "../combi";
+import {Source, Let, For, FieldAssignment, ValueBodyLine} from ".";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ValueBody extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const base = seq("BASE", Source);
+ 
+    const strucOrTab = seq(optPrio(Let), optPrio(base), star(For), plusPrio(altPrio(FieldAssignment, ValueBodyLine)));
+ 
+    const tabdef = ver(Version.v740sp08, altPrio("OPTIONAL", seq("DEFAULT", Source)));
+ 
+    return optPrio(altPrio(strucOrTab, seq(Source, optPrio(tabdef))));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/value_body_line.ts.html b/src/abap/2_statements/expressions/value_body_line.ts.html new file mode 100644 index 00000000000..ba479741af5 --- /dev/null +++ b/src/abap/2_statements/expressions/value_body_line.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/value_body_line.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions value_body_line.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, tok, Expression, optPrio, altPrio, plusPrio} from "../combi";
+import {ParenRightW, WParenLeft, WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {Source, FieldAssignment} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+import {ValueBodyLines} from "./value_body_lines";
+ 
+export class ValueBodyLine extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    // missing spaces caught by rule "parser_missing_space"
+    const ret = seq(altPrio(tok(WParenLeftW), tok(WParenLeft)),
+                    optPrio(altPrio(plusPrio(FieldAssignment), ValueBodyLines, Source)),
+                    altPrio(tok(WParenRightW), tok(ParenRightW)));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/value_body_lines.ts.html b/src/abap/2_statements/expressions/value_body_lines.ts.html new file mode 100644 index 00000000000..970e1fa2de1 --- /dev/null +++ b/src/abap/2_statements/expressions/value_body_lines.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/value_body_lines.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions value_body_lines.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {seq, Expression, optPrio} from "../combi";
+import {Source} from ".";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ValueBodyLines extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const range = seq(optPrio(seq("FROM", Source)), optPrio(seq("TO", Source)));
+    const lines = seq("LINES OF", Source, range);
+    return lines;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/with_name.ts.html b/src/abap/2_statements/expressions/with_name.ts.html new file mode 100644 index 00000000000..f9ef75e2e70 --- /dev/null +++ b/src/abap/2_statements/expressions/with_name.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/with_name.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions with_name.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {WPlus} from "../../1_lexer/tokens";
+import {regex as reg, Expression, tok, seq} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class WithName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(tok(WPlus), reg(/^\w+$/));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/expressions/write_offset_length.ts.html b/src/abap/2_statements/expressions/write_offset_length.ts.html new file mode 100644 index 00000000000..1c429310dd5 --- /dev/null +++ b/src/abap/2_statements/expressions/write_offset_length.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/expressions/write_offset_length.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/expressions write_offset_length.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {regex as reg, Expression, opt, tok, alt, seq} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {ParenLeft, ParenRightW, WParenLeft, ParenRight} from "../../1_lexer/tokens";
+import {SimpleFieldChain2} from "./simple_field_chain2";
+ 
+export class WriteOffsetLength extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const post = seq(alt(SimpleFieldChain2, reg(/^[\d]+$/), reg(/^\*$/)), alt(tok(ParenRightW), tok(ParenRight)));
+    const wlength = seq(tok(WParenLeft), post);
+    const length = seq(tok(ParenLeft), post);
+ 
+    const complex = alt(wlength,
+                        seq(alt(SimpleFieldChain2, reg(/^\/?[\w\d]+$/), "/"), opt(length)));
+ 
+    const at = seq(opt("AT"), complex);
+ 
+    return at;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/index.html b/src/abap/2_statements/index.html new file mode 100644 index 00000000000..b78558bdb92 --- /dev/null +++ b/src/abap/2_statements/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/abap/2_statements + + + + + + + + + +
+
+

All files src/abap/2_statements

+
+ +
+ 84.82% + Statements + 1493/1760 +
+ + +
+ 94.25% + Branches + 328/348 +
+ + +
+ 56.02% + Functions + 107/191 +
+ + +
+ 84.82% + Lines + 1493/1760 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
combi.ts +
+
76.85%860/111992.3%156/16945.45%70/15476.85%860/1119
expand_macros.ts +
+
98.48%260/26493.5%72/77100%13/1398.48%260/264
result.ts +
+
100%47/47100%8/8100%7/7100%47/47
statement_parser.ts +
+
98.78%326/33097.87%92/94100%17/1798.78%326/330
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/result.ts.html b/src/abap/2_statements/result.ts.html new file mode 100644 index 00000000000..0db6c229f15 --- /dev/null +++ b/src/abap/2_statements/result.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for src/abap/2_statements/result.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements result.ts

+
+ +
+ 100% + Statements + 47/47 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 47/47 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +471x +1x +1x +1x +1x +1x +1x +1x +1x +1x +391062x +391062x +391062x +391062x +391062x +391062x +61077x +61077x +391062x +1x +1x +2087258x +2087258x +1x +1x +329985x +329985x +329985x +329985x +1x +1x +432663x +432663x +1x +1x +660751x +660751x +1x +1x +318118x +318118x +1x +1x +2995184x +2995184x +1x +1x
import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {ExpressionNode} from "../nodes/expression_node";
+import {TokenNode} from "../nodes/token_node";
+ 
+export class Result {
+  private readonly tokens: readonly AbstractToken[];
+  private readonly tokenIndex: number;
+  private nodes: (ExpressionNode | TokenNode)[] | undefined;
+ 
+  public constructor(tokens: readonly AbstractToken[], tokenIndex: number, nodes?: (ExpressionNode | TokenNode)[]) {
+// tokens: all tokens, from the tokenIndex = not yet matched
+// nodes: matched tokens
+    this.tokens = tokens;
+    this.tokenIndex = tokenIndex;
+    this.nodes = nodes;
+    if (this.nodes === undefined) {
+      this.nodes = [];
+    }
+  }
+ 
+  public peek(): AbstractToken {
+    return this.tokens[this.tokenIndex];
+  }
+ 
+  public shift(node: ExpressionNode | TokenNode): Result {
+    const cp = this.nodes!.slice();
+    cp.push(node);
+    return new Result(this.tokens, this.tokenIndex + 1, cp);
+  }
+ 
+  public popNode(): ExpressionNode | TokenNode | undefined {
+    return this.nodes!.pop();
+  }
+ 
+  public getNodes(): (ExpressionNode | TokenNode)[] {
+    return this.nodes!;
+  }
+ 
+  public setNodes(n: (ExpressionNode | TokenNode)[]): void {
+    this.nodes = n;
+  }
+ 
+  public remainingLength(): number {
+    return this.tokens.length - this.tokenIndex;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statement_parser.ts.html b/src/abap/2_statements/statement_parser.ts.html new file mode 100644 index 00000000000..04545fada36 --- /dev/null +++ b/src/abap/2_statements/statement_parser.ts.html @@ -0,0 +1,1072 @@ + + + + + + Code coverage report for src/abap/2_statements/statement_parser.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements statement_parser.ts

+
+ +
+ 98.78% + Statements + 326/330 +
+ + +
+ 97.87% + Branches + 92/94 +
+ + +
+ 100% + Functions + 17/17 +
+ + +
+ 98.78% + Lines + 326/330 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +3301x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +303x +303x +  +  +303x +310x +139x +310x +171x +171x +310x +303x +1x +1x +1x +28288x +28288x +2089x +2089x +28288x +167x +304x +304x +167x +26199x +26199x +1x +1x +1x +1x +1x +1x +1x +1x +7584x +7584x +7584x +7584x +1x +1x +25127x +25127x +25127x +25127x +1x +1x +7584x +7584x +1x +1x +25127x +25127x +25127x +3160x +3160x +25127x +147209x +147209x +25127x +25127x +25127x +1x +1x +1x +1x +1x +1x +1x +1x +7555x +1x +1x +7555x +7555x +7555x +1x +1x +1x +7555x +7555x +7555x +7555x +7555x +7584x +7584x +7584x +7584x +7555x +7555x +7584x +7584x +7584x +641x +641x +7584x +7584x +7555x +7555x +7555x +1x +1x +1x +646x +646x +646x +4737x +4737x +646x +646x +646x +1x +1x +1x +1x +1x +641x +641x +641x +2371x +2371x +685x +685x +685x +685x +685x +685x +624x +315x +3x +3x +312x +315x +27x +27x +27x +27x +315x +624x +685x +2371x +2371x +641x +641x +641x +1x +1x +624x +624x +624x +624x +624x +7097x +315x +315x +7097x +7097x +7097x +624x +624x +624x +1x +1x +7584x +7584x +7584x +25488x +25488x +25488x +25488x +13x +25488x +14x +14x +5x +14x +9x +9x +14x +25488x +7584x +7584x +1x +1x +1x +7584x +7584x +7584x +25407x +25407x +7584x +7584x +1x +1x +25719x +25719x +25719x +25719x +25719x +25719x +25719x +15x +15x +25719x +25424x +25300x +25424x +  +  +124x +1x +1x +25424x +25719x +25719x +25719x +1x +1x +25300x +25300x +25300x +25300x +25300x +129001x +129001x +69x +129001x +128932x +128932x +129001x +25300x +25300x +25300x +1x +1x +25300x +25300x +25300x +3x +3x +25297x +25300x +55191x +55191x +22306x +22306x +22306x +22306x +55191x +2991x +25300x +5570x +5570x +2073x +2073x +2073x +2073x +5570x +918x +918x +918x +1x +1x +1x +1x +1x +7584x +7584x +7584x +7584x +7584x +149677x +280x +280x +280x +149397x +149397x +149397x +149397x +149677x +49984x +23012x +23012x +23012x +23012x +49984x +1991x +1991x +26972x +1056x +1056x +1056x +1056x +24981x +2x +2x +49984x +149677x +7584x +7584x +124x +124x +7584x +1x
import * as Statements from "./statements";
+import * as Expressions from "./expressions";
+import * as Tokens from "../1_lexer/tokens";
+import {Version} from "../../version";
+import {IFile} from "../../files/_ifile";
+import {TokenNode, StatementNode} from "../nodes";
+import {ArtifactsABAP} from "../artifacts";
+import {Combi} from "./combi";
+import {Unknown, Empty, Comment, NativeSQL, IStatement} from "./statements/_statement";
+import {IStatementResult} from "./statement_result";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {IABAPLexerResult} from "../1_lexer/lexer_result";
+import {ExpandMacros} from "./expand_macros";
+import {Pragma} from "../1_lexer/tokens";
+import {IRegistry} from "../../_iregistry";
+import {IStatementRunnable} from "./statement_runnable";
+ 
+export const STATEMENT_MAX_TOKENS = 1000;
+ 
+class StatementMap {
+  // this also serves as container for statement matcher singletons,
+  private readonly map: {[index: string]: {statement: IStatement, matcher?: IStatementRunnable}[]};
+ 
+  public constructor() {
+    this.map = {};
+ 
+    for (const stat of ArtifactsABAP.getStatements()) {
+      const f = stat.getMatcher().first();
+      if (f.length === 0) {
+        throw new Error("StatementMap, first must have contents");
+      }
+      for (const first of f) {
+        if (this.map[first]) {
+          this.map[first].push({statement: stat});
+        } else {
+          this.map[first] = [{statement: stat}];
+        }
+      }
+    }
+  }
+ 
+  public lookup(str: string): readonly {statement: IStatement, matcher: IStatementRunnable}[] {
+    const res = this.map[str.toUpperCase()];
+    if (res === undefined) {
+      return [];
+    }
+    if (res[0].matcher === undefined) {
+      for (const r of res) {
+        r.matcher = r.statement.getMatcher();
+      }
+    }
+    return res as readonly {statement: IStatement, matcher: IStatementRunnable}[];
+  }
+}
+ 
+class WorkArea {
+  public readonly file: IFile;
+  public readonly tokens: readonly AbstractToken[];
+  public statements: StatementNode[];
+ 
+  public constructor(file: IFile, tokens: readonly AbstractToken[]) {
+    this.file = file;
+    this.tokens = tokens;
+    this.statements = [];
+  }
+ 
+  public addUnknown(pre: AbstractToken[], post: AbstractToken[], colon: AbstractToken | undefined) {
+    const st = new StatementNode(new Unknown(), colon);
+    st.setChildren(this.tokensToNodes(pre, post));
+    this.statements.push(st);
+  }
+ 
+  public toResult(): IStatementResult {
+    return {file: this.file, tokens: this.tokens, statements: this.statements};
+  }
+ 
+  private tokensToNodes(tokens1: AbstractToken[], tokens2: AbstractToken[]): TokenNode[] {
+    const ret: TokenNode[] = [];
+ 
+    for (const t of tokens1) {
+      ret.push(new TokenNode(t));
+    }
+    for (const t of tokens2) {
+      ret.push(new TokenNode(t));
+    }
+ 
+    return ret;
+  }
+}
+ 
+export class StatementParser {
+  private static map: StatementMap;
+  private readonly version: Version;
+  private readonly reg?: IRegistry;
+ 
+  public constructor(version: Version, reg?: IRegistry) {
+    if (!StatementParser.map) {
+      StatementParser.map = new StatementMap();
+    }
+    this.version = version;
+    this.reg = reg;
+  }
+ 
+  /** input is one full object */
+  public run(input: readonly IABAPLexerResult[], globalMacros: readonly string[]): IStatementResult[] {
+    const macros = new ExpandMacros(globalMacros, this.version, this.reg);
+ 
+    const wa = input.map(i => new WorkArea(i.file, i.tokens));
+ 
+    for (const w of wa) {
+      this.process(w);
+      this.categorize(w);
+      macros.find(w.statements, w.file);
+    }
+ 
+    for (const w of wa) {
+      const res = macros.handleMacros(w.statements, w.file);
+      w.statements = res.statements;
+      if (res.containsUnknown === true) {
+        this.lazyUnknown(w);
+      }
+      this.nativeSQL(w);
+    }
+ 
+    return wa.map(w => w.toResult());
+  }
+ 
+  // todo, refactor, remove method here and only have in WorkArea class
+  private tokensToNodes(tokens: readonly AbstractToken[]): TokenNode[] {
+    const ret: TokenNode[] = [];
+ 
+    for (const t of tokens) {
+      ret.push(new TokenNode(t));
+    }
+ 
+    return ret;
+  }
+ 
+// tries to split Unknown statements by newlines, when adding/writing a new statement
+// in an editor, adding the statement terminator is typically the last thing to do
+// note: this will not work if the second statement is a macro call, guess this is okay
+  private lazyUnknown(wa: WorkArea) {
+    const result: StatementNode[] = [];
+ 
+    for (let statement of wa.statements) {
+      // dont use CALL METHOD, when executing lazy, it easily gives a Move for the last statment if lazy logic is evaluated
+      if (statement.get() instanceof Unknown) {
+        const concat = statement.concatTokens().toUpperCase();
+        if (concat.startsWith("CALL METHOD ") === false
+            && concat.startsWith("RAISE EXCEPTION TYPE ") === false
+            && concat.startsWith("READ TABLE ") === false
+            && concat.startsWith("LOOP AT ") === false
+            && concat.startsWith("CALL FUNCTION ") === false) {
+          for (const {first, second} of this.buildSplits(statement.getTokens())) {
+            if (second.length === 1) {
+              continue; // probably punctuation
+            }
+            const s = this.categorizeStatement(new StatementNode(new Unknown()).setChildren(this.tokensToNodes(second)));
+            if (!(s.get() instanceof Unknown) && !(s.get() instanceof Empty)) {
+              result.push(new StatementNode(new Unknown()).setChildren(this.tokensToNodes(first)));
+              statement = s;
+              break;
+            }
+          }
+        }
+      }
+      result.push(statement);
+    }
+ 
+    wa.statements = result;
+  }
+ 
+  private buildSplits(tokens: readonly AbstractToken[]): {first: AbstractToken[], second: AbstractToken[]}[] {
+    const res: {first: AbstractToken[], second: AbstractToken[]}[] = [];
+    const before: AbstractToken[] = [];
+    let prevRow = tokens[0].getRow();
+ 
+    for (let i = 0; i < tokens.length; i++) {
+      if (tokens[i].getRow() !== prevRow) {
+        res.push({first: [...before], second: [...tokens].splice(i)});
+      }
+      prevRow = tokens[i].getRow();
+      before.push(tokens[i]);
+    }
+ 
+    return res;
+  }
+ 
+  private nativeSQL(wa: WorkArea) {
+    let sql = false;
+ 
+    for (let i = 0; i < wa.statements.length; i++) {
+      const statement = wa.statements[i];
+      const type = statement.get();
+      if (type instanceof Statements.ExecSQL
+          || (type instanceof Statements.MethodImplementation && statement.findDirectExpression(Expressions.Language))) {
+        sql = true;
+      } else if (sql === true) {
+        if (type instanceof Statements.EndExec
+            || type instanceof Statements.EndMethod) {
+          sql = false;
+        } else if (!(type instanceof Comment)) {
+          wa.statements[i] = new StatementNode(new NativeSQL()).setChildren(this.tokensToNodes(statement.getTokens()));
+        }
+      }
+    }
+ 
+  }
+ 
+// for each statement, run statement matchers to figure out which kind of statement it is
+  private categorize(wa: WorkArea) {
+    const result: StatementNode[] = [];
+ 
+    for (const statement of wa.statements) {
+      result.push(this.categorizeStatement(statement));
+    }
+    wa.statements = result;
+  }
+ 
+  private categorizeStatement(input: StatementNode) {
+    let statement = input;
+ 
+    const length = input.getChildren().length;
+    const lastToken = input.getLastToken();
+    const isPunctuation = lastToken instanceof Tokens.Punctuation;
+ 
+    if (length === 1 && isPunctuation) {
+      const tokens = statement.getTokens();
+      statement = new StatementNode(new Empty()).setChildren(this.tokensToNodes(tokens));
+    } else if (statement.get() instanceof Unknown) {
+      if (isPunctuation) {
+        statement = this.match(statement);
+      } else if (length > STATEMENT_MAX_TOKENS) {
+        // if the statement contains more than STATEMENT_MAX_TOKENS tokens, just give up
+        statement = input;
+      } else if (length === 1 && lastToken instanceof Pragma) {
+        statement = new StatementNode(new Empty(), undefined, [lastToken]);
+      }
+    }
+ 
+    return statement;
+  }
+ 
+  private removePragma(tokens: readonly AbstractToken[]): {tokens: AbstractToken[], pragmas: AbstractToken[]} {
+    const result: AbstractToken[] = [];
+    const pragmas: AbstractToken[] = [];
+ 
+    // skip the last token as it is the punctuation
+    for (let i = 0; i < tokens.length - 1; i++) {
+      const t = tokens[i];
+      if (t instanceof Tokens.Pragma) {
+        pragmas.push(t);
+      } else {
+        result.push(t);
+      }
+    }
+ 
+    return {tokens: result, pragmas: pragmas};
+  }
+ 
+  private match(statement: StatementNode): StatementNode {
+    const tokens = statement.getTokens();
+    const {tokens: filtered, pragmas} = this.removePragma(tokens);
+    if (filtered.length === 0) {
+      return new StatementNode(new Empty()).setChildren(this.tokensToNodes(tokens));
+    }
+ 
+    for (const st of StatementParser.map.lookup(filtered[0].getStr())) {
+      const match = Combi.run(st.matcher, filtered, this.version);
+      if (match) {
+        const last = tokens[tokens.length - 1];
+        match.push(new TokenNode(last));
+        return new StatementNode(st.statement, statement.getColon(), pragmas).setChildren(match);
+      }
+    }
+    // next try the statements without specific keywords
+    for (const st of StatementParser.map.lookup("")) {
+      const match = Combi.run(st.matcher, filtered, this.version);
+      if (match) {
+        const last = tokens[tokens.length - 1];
+        match.push(new TokenNode(last));
+        return new StatementNode(st.statement, statement.getColon(), pragmas).setChildren(match);
+      }
+    }
+ 
+    return statement;
+  }
+ 
+// takes care of splitting tokens into statements, also handles chained statements
+// statements are split by "," or "."
+// additional colons/chaining after the first colon are ignored
+  private process(wa: WorkArea) {
+    let add: AbstractToken[] = [];
+    let pre: AbstractToken[] = [];
+    let colon: AbstractToken | undefined = undefined;
+ 
+    for (const token of wa.tokens) {
+      if (token instanceof Tokens.Comment) {
+        wa.statements.push(new StatementNode(new Comment()).setChildren(this.tokensToNodes([token])));
+        continue;
+      }
+ 
+      add.push(token);
+ 
+      const str = token.getStr();
+      if (str.length === 1) {
+        if (str === ".") {
+          wa.addUnknown(pre, add, colon);
+          add = [];
+          pre = [];
+          colon = undefined;
+        } else if (str === "," && pre.length > 0) {
+          wa.addUnknown(pre, add, colon);
+          add = [];
+        } else if (str === ":" && colon === undefined) {
+          colon = token;
+          add.pop(); // do not add colon token to statement
+          pre.push(...add);
+          add = [];
+        } else if (str === ":") {
+          add.pop(); // do not add colon token to statement
+        }
+      }
+    }
+ 
+    if (add.length > 0) {
+      wa.addUnknown(pre, add, colon);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/_statement.ts.html b/src/abap/2_statements/statements/_statement.ts.html new file mode 100644 index 00000000000..31eaea0dd7f --- /dev/null +++ b/src/abap/2_statements/statements/_statement.ts.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/_statement.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements _statement.ts

+
+ +
+ 70.73% + Statements + 29/41 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 70.73% + Lines + 29/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +411x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +  +  +1x +1x +1x +1x +  +  +1x +1x +1x +1x +  +  +1x +1x +1x +1x +  +  +1x +1x +1x +1x +  +  +1x
import {IStatementRunnable} from "../statement_runnable";
+ 
+export interface IStatement {
+  getMatcher(): IStatementRunnable;
+}
+ 
+export class Unknown implements IStatement {
+  public getMatcher(): IStatementRunnable {
+    throw new Error("Unknown Statement, get_matcher");
+  }
+}
+ 
+export class Comment implements IStatement {
+  public getMatcher(): IStatementRunnable {
+    throw new Error("Comment Statement, get_matcher");
+  }
+}
+ 
+export class Empty implements IStatement {
+  public getMatcher(): IStatementRunnable {
+    throw new Error("Empty Statement, get_matcher");
+  }
+}
+ 
+export class MacroCall implements IStatement {
+  public getMatcher(): IStatementRunnable {
+    throw new Error("MacroCall Statement, get_matcher");
+  }
+}
+ 
+export class MacroContent implements IStatement {
+  public getMatcher(): IStatementRunnable {
+    throw new Error("MacroContent Statement, get_matcher");
+  }
+}
+ 
+export class NativeSQL implements IStatement {
+  public getMatcher(): IStatementRunnable {
+    throw new Error("NativeSQL Statement, get_matcher");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/add.ts.html b/src/abap/2_statements/statements/add.ts.html new file mode 100644 index 00000000000..f37b01114e1 --- /dev/null +++ b/src/abap/2_statements/statements/add.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/add.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements add.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, altPrio} from "../combi";
+import {Target, Source, FieldSub} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Add implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const to = seq("TO", Target);
+    const then = seq("THEN", FieldSub, "UNTIL", FieldSub, "GIVING", FieldSub);
+ 
+    const ret = seq("ADD", Source, altPrio(to, then));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/add_corresponding.ts.html b/src/abap/2_statements/statements/add_corresponding.ts.html new file mode 100644 index 00000000000..d9e2f4f420c --- /dev/null +++ b/src/abap/2_statements/statements/add_corresponding.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/add_corresponding.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements add_corresponding.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, verNot} from "../combi";
+import {Version} from "../../../version";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AddCorresponding implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("ADD-CORRESPONDING",
+                    Source,
+                    "TO",
+                    Target);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/aliases.ts.html b/src/abap/2_statements/statements/aliases.ts.html new file mode 100644 index 00000000000..087826921f4 --- /dev/null +++ b/src/abap/2_statements/statements/aliases.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/aliases.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements aliases.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Field, SimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Aliases implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("ALIASES",
+               SimpleName,
+               "FOR",
+               Field);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/append.ts.html b/src/abap/2_statements/statements/append.ts.html new file mode 100644 index 00000000000..32e0a2b5833 --- /dev/null +++ b/src/abap/2_statements/statements/append.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/append.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements append.ts

+
+ +
+ 100% + Statements + 29/29 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 29/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {opt, seq, alt, altPrio, optPrio, ver} from "../combi";
+import {Version} from "../../../version";
+import {FSTarget, Target, Field, Source, SimpleSource4} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Append implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const assigning = seq("ASSIGNING", FSTarget);
+    const reference = seq("REFERENCE INTO", Target);
+    const sorted = seq("SORTED BY", Field);
+ 
+    const fromIndex = seq("FROM", Source);
+    const toIndex = seq("TO", Source);
+    const toTarget = seq("TO", Target);
+ 
+    const src = alt(SimpleSource4, ver(Version.v740sp02, Source));
+ 
+    return seq("APPEND",
+               altPrio("INITIAL LINE", seq(optPrio("LINES OF"), src)),
+               optPrio(fromIndex),
+               opt(alt(seq(toIndex, toTarget), toTarget)),
+               opt(altPrio(assigning, reference)),
+               optPrio("CASTING"),
+               optPrio(sorted));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/assert.ts.html b/src/abap/2_statements/statements/assert.ts.html new file mode 100644 index 00000000000..e89b2cb5ed9 --- /dev/null +++ b/src/abap/2_statements/statements/assert.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/assert.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements assert.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, plus, optPrio} from "../combi";
+import {Source, NamespaceSimpleName, Cond} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Assert implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const fields = seq("FIELDS", plus(Source));
+    const subkey = seq("SUBKEY", Source);
+    const id = seq("ID", NamespaceSimpleName);
+ 
+    return seq("ASSERT",
+               optPrio(id),
+               optPrio(subkey),
+               opt(fields),
+               optPrio("CONDITION"),
+               Cond);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/assign.ts.html b/src/abap/2_statements/statements/assign.ts.html new file mode 100644 index 00000000000..607c45384ac --- /dev/null +++ b/src/abap/2_statements/statements/assign.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/assign.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements assign.ts

+
+ +
+ 100% + Statements + 32/32 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 32/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, per, optPrio, altPrio, ver} from "../combi";
+import {FSTarget, Target, Source, Dynamic, TypeName, AssignSource} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class Assign implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const type = seq("TYPE", altPrio(Dynamic, TypeName));
+    const like = seq("LIKE", altPrio(Dynamic, Source));
+    const handle = seq("TYPE HANDLE", Source);
+    const range = seq("RANGE", Source);
+    const decimals = seq("DECIMALS", Source);
+ 
+    const casting = seq("CASTING", opt(alt(like, handle, per(type, decimals))));
+    const obsoleteType = seq("TYPE", Source, optPrio(decimals));
+ 
+    const ret = seq("ASSIGN",
+                    opt(seq(Target, "INCREMENT")),
+                    AssignSource,
+                    "TO",
+                    FSTarget,
+                    opt(altPrio(casting, obsoleteType)),
+                    opt(range),
+                    opt(ver(Version.v757, "ELSE UNASSIGN")));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/assign_local_copy.ts.html b/src/abap/2_statements/statements/assign_local_copy.ts.html new file mode 100644 index 00000000000..119b5b9c768 --- /dev/null +++ b/src/abap/2_statements/statements/assign_local_copy.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/assign_local_copy.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements assign_local_copy.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, alt} from "../combi";
+import {TargetFieldSymbol, Source, Dynamic} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AssignLocalCopy implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const ret = seq("ASSIGN LOCAL COPY OF",
+                    opt(seq("INITIAL", opt("LINE OF"))),
+                    alt(Source, Dynamic),
+                    "TO",
+                    TargetFieldSymbol);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/at.ts.html b/src/abap/2_statements/statements/at.ts.html new file mode 100644 index 00000000000..21fbc17727e --- /dev/null +++ b/src/abap/2_statements/statements/at.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/at.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements at.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, regex, altPrio} from "../combi";
+import {SourceFieldSymbol, FieldSub, Dynamic, FieldLength, FieldOffset} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class At implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const field = alt(seq(FieldSub, opt(FieldOffset), opt(FieldLength)),
+                      Dynamic,
+                      SourceFieldSymbol);
+ 
+    const atNew = seq("NEW", field);
+    const atEnd = seq("END OF", field);
+    const group = regex(/^\w+$/);
+ 
+    const ret = seq("AT", altPrio(atNew, atEnd, group));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/at_first.ts.html b/src/abap/2_statements/statements/at_first.ts.html new file mode 100644 index 00000000000..8babfda329f --- /dev/null +++ b/src/abap/2_statements/statements/at_first.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/at_first.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements at_first.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AtFirst implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("AT FIRST");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/at_last.ts.html b/src/abap/2_statements/statements/at_last.ts.html new file mode 100644 index 00000000000..af413cdcc64 --- /dev/null +++ b/src/abap/2_statements/statements/at_last.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/at_last.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements at_last.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AtLast implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("AT LAST");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/at_line_selection.ts.html b/src/abap/2_statements/statements/at_line_selection.ts.html new file mode 100644 index 00000000000..cf26f7f397b --- /dev/null +++ b/src/abap/2_statements/statements/at_line_selection.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/at_line_selection.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements at_line_selection.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AtLineSelection implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "AT LINE-SELECTION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/at_selection_screen.ts.html b/src/abap/2_statements/statements/at_selection_screen.ts.html new file mode 100644 index 00000000000..70cdeb2a1de --- /dev/null +++ b/src/abap/2_statements/statements/at_selection_screen.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/at_selection_screen.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements at_selection_screen.ts

+
+ +
+ 100% + Statements + 32/32 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 32/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, opt, regex as reg} from "../combi";
+import {FieldSub, Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AtSelectionScreen implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const output = "OUTPUT";
+ 
+    const value = seq("ON VALUE-REQUEST FOR", FieldSub);
+ 
+    const exit = "ON EXIT-COMMAND";
+ 
+    const field = seq("ON", FieldSub);
+ 
+    const end = seq("ON END OF", Field);
+ 
+    const radio = seq("ON RADIOBUTTON GROUP", Field);
+ 
+    const block = seq("ON BLOCK", reg(/^\w+$/));
+ 
+    const help = seq("ON HELP-REQUEST FOR", FieldSub);
+ 
+    const ret = seq("AT SELECTION-SCREEN",
+                    opt(alt(output, value, radio, exit, field, end, help, block)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/at_user_command.ts.html b/src/abap/2_statements/statements/at_user_command.ts.html new file mode 100644 index 00000000000..420aa1e61b7 --- /dev/null +++ b/src/abap/2_statements/statements/at_user_command.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/at_user_command.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements at_user_command.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AtUserCommand implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "AT USER-COMMAND");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/authority_check.ts.html b/src/abap/2_statements/statements/authority_check.ts.html new file mode 100644 index 00000000000..639b0d052ec --- /dev/null +++ b/src/abap/2_statements/statements/authority_check.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/authority_check.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements authority_check.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, alt, plus} from "../combi";
+import {Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class AuthorityCheck implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const field = seq("FIELD", Source);
+ 
+    const id = seq("ID",
+                   Source,
+                   alt(field, "DUMMY"));
+ 
+    const ret = seq("AUTHORITY-CHECK OBJECT",
+                    Source,
+                    opt(seq("FOR USER", Source)),
+                    plus(id));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/back.ts.html b/src/abap/2_statements/statements/back.ts.html new file mode 100644 index 00000000000..8fcbd1d9b91 --- /dev/null +++ b/src/abap/2_statements/statements/back.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/back.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements back.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Back implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "BACK");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/break.ts.html b/src/abap/2_statements/statements/break.ts.html new file mode 100644 index 00000000000..0f81a0c8f7d --- /dev/null +++ b/src/abap/2_statements/statements/break.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/break.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements break.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, altPrio, optPrio} from "../combi";
+import {FieldSub, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Break implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const next = str("AT NEXT APPLICATION STATEMENT");
+ 
+    const ret = altPrio(seq("BREAK-POINT", optPrio(altPrio(next, Source))),
+                        seq("BREAK", FieldSub));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/break_id.ts.html b/src/abap/2_statements/statements/break_id.ts.html new file mode 100644 index 00000000000..545bc5c355a --- /dev/null +++ b/src/abap/2_statements/statements/break_id.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/break_id.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements break_id.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class BreakId implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const id = seq("ID", Field);
+ 
+    const ret = seq("BREAK-POINT", id);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call.ts.html b/src/abap/2_statements/statements/call.ts.html new file mode 100644 index 00000000000..22f2223c5cf --- /dev/null +++ b/src/abap/2_statements/statements/call.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, altPrio} from "../combi";
+import {MethodCallChain, MethodSource, MethodCallBody} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+// method call
+export class Call implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const call = seq("CALL METHOD", MethodSource, MethodCallBody);
+ 
+    return altPrio(call, MethodCallChain);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_badi.ts.html b/src/abap/2_statements/statements/call_badi.ts.html new file mode 100644 index 00000000000..846f9e62d6b --- /dev/null +++ b/src/abap/2_statements/statements/call_badi.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_badi.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_badi.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {MethodSource, MethodCallBody} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallBadi implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const call = seq("CALL",
+                     "BADI",
+                     MethodSource,
+                     MethodCallBody);
+ 
+    return verNot(Version.Cloud, call);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_database.ts.html b/src/abap/2_statements/statements/call_database.ts.html new file mode 100644 index 00000000000..22856b22017 --- /dev/null +++ b/src/abap/2_statements/statements/call_database.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_database.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_database.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, alt} from "../combi";
+import {Dynamic, Source, ParameterListS, ParameterListT, DatabaseConnection} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallDatabase implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const exporting = seq("EXPORTING", ParameterListS);
+    const importing = seq("IMPORTING", ParameterListT);
+    const expl = seq(opt(exporting), opt(importing));
+ 
+    const tab = seq("PARAMETER-TABLE", Source);
+ 
+    const ret = seq("CALL DATABASE PROCEDURE",
+                    Dynamic,
+                    opt(DatabaseConnection),
+                    alt(expl, tab));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_dialog.ts.html b/src/abap/2_statements/statements/call_dialog.ts.html new file mode 100644 index 00000000000..e956413a524 --- /dev/null +++ b/src/abap/2_statements/statements/call_dialog.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_dialog.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_dialog.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, plus, optPrio} from "../combi";
+import {Field, FieldSub, Constant, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallDialog implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const from = seq(FieldSub, optPrio(seq("FROM", Source)));
+    const exporting = seq("EXPORTING", plus(from));
+ 
+    const to = seq(Field, optPrio(seq("TO", Field)));
+    const importing = seq("IMPORTING", plus(to));
+ 
+    const ret = seq("CALL DIALOG",
+                    Constant,
+                    opt(exporting),
+                    opt(importing));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_function.ts.html b/src/abap/2_statements/statements/call_function.ts.html new file mode 100644 index 00000000000..4a70e6d4ba9 --- /dev/null +++ b/src/abap/2_statements/statements/call_function.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_function.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_function.ts

+
+ +
+ 100% + Statements + 34/34 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 34/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, opt, alt, per, altPrio} from "../combi";
+import {FormName, Source, FunctionParameters, FunctionName, Destination, SimpleSource2, MethodSource} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallFunction implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const starting = verNot(Version.Cloud, seq("STARTING NEW TASK", SimpleSource2));
+    const update = verNot(Version.Cloud, str("IN UPDATE TASK"));
+    const unit = seq("UNIT", Source);
+    const background = verNot(Version.Cloud, seq("IN BACKGROUND", altPrio("TASK", unit)));
+    const calling = seq("CALLING", MethodSource, "ON END OF TASK");
+    const performing = seq("PERFORMING", FormName, "ON END OF TASK");
+    const separate = str("AS SEPARATE UNIT");
+    const keeping = str("KEEPING LOGICAL UNIT OF WORK");
+ 
+    const options = per(starting, update, background, Destination, calling, performing, separate, keeping);
+ 
+    const dynamic = seq("PARAMETER-TABLE", Source,
+                        opt(seq("EXCEPTION-TABLE", Source)));
+ 
+    const call = seq("CALL",
+                     altPrio("FUNCTION", verNot(Version.Cloud, "CUSTOMER-FUNCTION")),
+                     FunctionName,
+                     opt(options),
+                     alt(FunctionParameters, dynamic));
+ 
+    return call;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_kernel.ts.html b/src/abap/2_statements/statements/call_kernel.ts.html new file mode 100644 index 00000000000..9ac485cab70 --- /dev/null +++ b/src/abap/2_statements/statements/call_kernel.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_kernel.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_kernel.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, altPrio, starPrio} from "../combi";
+import {Constant, Field, KernelId} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallKernel implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("CALL",
+                    altPrio(Constant, Field),
+                    starPrio(KernelId));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_ole.ts.html b/src/abap/2_statements/statements/call_ole.ts.html new file mode 100644 index 00000000000..750d2f15291 --- /dev/null +++ b/src/abap/2_statements/statements/call_ole.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_ole.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_ole.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Target, Source, OLEExporting} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallOLE implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const rc = seq("=", Target);
+ 
+    const ret = seq("CALL METHOD OF",
+                    Source,
+                    Source,
+                    opt(rc),
+                    opt("NO FLUSH"),
+                    opt("QUEUEONLY"),
+                    opt(OLEExporting));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_screen.ts.html b/src/abap/2_statements/statements/call_screen.ts.html new file mode 100644 index 00000000000..21d104f062b --- /dev/null +++ b/src/abap/2_statements/statements/call_screen.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_screen.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_screen.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, optPrio} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallScreen implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const starting = seq("STARTING AT", Source, Source);
+    const ending = seq("ENDING AT", Source, Source);
+ 
+    const ret = seq("CALL SCREEN", Source, optPrio(seq(starting, optPrio(ending))));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_selection_screen.ts.html b/src/abap/2_statements/statements/call_selection_screen.ts.html new file mode 100644 index 00000000000..26acea1f6f6 --- /dev/null +++ b/src/abap/2_statements/statements/call_selection_screen.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_selection_screen.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_selection_screen.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallSelectionScreen implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ending = seq("ENDING AT", Source, Source);
+    const starting = seq("STARTING AT", Source, Source);
+    const using = seq("USING SELECTION-SET", Source);
+ 
+    const at = seq(starting, opt(ending));
+ 
+    const ret = seq("CALL SELECTION-SCREEN", Source, opt(at), opt(using));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_transaction.ts.html b/src/abap/2_statements/statements/call_transaction.ts.html new file mode 100644 index 00000000000..843fd60e63d --- /dev/null +++ b/src/abap/2_statements/statements/call_transaction.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_transaction.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_transaction.ts

+
+ +
+ 100% + Statements + 31/31 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 31/31 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, altPrio, per, optPrio} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallTransaction implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const options = seq("OPTIONS FROM", Source);
+    const messages = seq("MESSAGES INTO", Target);
+ 
+    const auth = seq(altPrio("WITH", "WITHOUT"), "AUTHORITY-CHECK");
+ 
+    const perm = per(seq("UPDATE", Source),
+                     "AND SKIP FIRST SCREEN",
+                     options,
+                     messages,
+                     seq("MODE", Source));
+ 
+    const ret = seq("CALL TRANSACTION",
+                    Source,
+                    optPrio(auth),
+                    optPrio(seq("USING", Source)),
+                    opt(perm));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/call_transformation.ts.html b/src/abap/2_statements/statements/call_transformation.ts.html new file mode 100644 index 00000000000..6b3155e1e92 --- /dev/null +++ b/src/abap/2_statements/statements/call_transformation.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/call_transformation.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements call_transformation.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, per} from "../combi";
+import {Target, Dynamic, NamespaceSimpleName, CallTransformationParameters, CallTransformationOptions, SimpleSource3} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CallTransformation implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const options = seq("OPTIONS", CallTransformationOptions);
+ 
+    const parameters = seq("PARAMETERS", CallTransformationParameters);
+    const objects = seq("OBJECTS", CallTransformationParameters);
+ 
+    const source2 = seq("XML", SimpleSource3);
+    const source = seq("SOURCE", alt(CallTransformationParameters, source2));
+ 
+    const result2 = seq("XML", Target);
+    const result = seq("RESULT", alt(CallTransformationParameters, result2));
+ 
+    const call = seq("CALL TRANSFORMATION",
+                     alt(NamespaceSimpleName, Dynamic),
+                     per(options, parameters, objects, source, result));
+    return call;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/case.ts.html b/src/abap/2_statements/statements/case.ts.html new file mode 100644 index 00000000000..3de45e6b097 --- /dev/null +++ b/src/abap/2_statements/statements/case.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/case.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements case.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Case implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("CASE", Source);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/case_type.ts.html b/src/abap/2_statements/statements/case_type.ts.html new file mode 100644 index 00000000000..d9c923e31f7 --- /dev/null +++ b/src/abap/2_statements/statements/case_type.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/case_type.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements case_type.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver} from "../combi";
+import {Version} from "../../../version";
+import {Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CaseType implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return ver(Version.v750, seq("CASE TYPE OF", Source), Version.OpenABAP);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/catch.ts.html b/src/abap/2_statements/statements/catch.ts.html new file mode 100644 index 00000000000..6946f4597ef --- /dev/null +++ b/src/abap/2_statements/statements/catch.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/catch.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements catch.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {opt, seq, plus, optPrio} from "../combi";
+import {Target, ClassName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Catch implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("CATCH",
+               optPrio("BEFORE UNWIND"),
+               plus(ClassName),
+               opt(seq("INTO", Target)));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/catch_system_exceptions.ts.html b/src/abap/2_statements/statements/catch_system_exceptions.ts.html new file mode 100644 index 00000000000..889034c9259 --- /dev/null +++ b/src/abap/2_statements/statements/catch_system_exceptions.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/catch_system_exceptions.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements catch_system_exceptions.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, plus} from "../combi";
+import {Field, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CatchSystemExceptions implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("CATCH SYSTEM-EXCEPTIONS",
+                    plus(seq(Field, "=", Source)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/check.ts.html b/src/abap/2_statements/statements/check.ts.html new file mode 100644 index 00000000000..30825fb8a6d --- /dev/null +++ b/src/abap/2_statements/statements/check.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/check.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements check.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, altPrio} from "../combi";
+import {Cond, Field} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Check implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("CHECK", altPrio(Cond, Field));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/check_select_options.ts.html b/src/abap/2_statements/statements/check_select_options.ts.html new file mode 100644 index 00000000000..620dad1756d --- /dev/null +++ b/src/abap/2_statements/statements/check_select_options.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/check_select_options.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements check_select_options.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CheckSelectOptions implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = "CHECK SELECT-OPTIONS";
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/class_data.ts.html b/src/abap/2_statements/statements/class_data.ts.html new file mode 100644 index 00000000000..78b1a4459cb --- /dev/null +++ b/src/abap/2_statements/statements/class_data.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/class_data.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements class_data.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +5x +5x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {DataDefinition} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassData implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("CLASS-DATA", DataDefinition);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/class_data_begin.ts.html b/src/abap/2_statements/statements/class_data_begin.ts.html new file mode 100644 index 00000000000..dbfd0ad54ce --- /dev/null +++ b/src/abap/2_statements/statements/class_data_begin.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/class_data_begin.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements class_data_begin.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +1x +1x
import {IStatement} from "./_statement";
+import {seq, optPrio} from "../combi";
+import {Integer, NamespaceSimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassDataBegin implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const occurs = seq("OCCURS", Integer);
+ 
+    const structure = seq("BEGIN OF",
+                          optPrio("COMMON PART"),
+                          NamespaceSimpleName,
+                          optPrio("READ-ONLY"),
+                          optPrio(occurs));
+ 
+    return seq("CLASS-DATA", structure);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/class_data_end.ts.html b/src/abap/2_statements/statements/class_data_end.ts.html new file mode 100644 index 00000000000..98d359754e6 --- /dev/null +++ b/src/abap/2_statements/statements/class_data_end.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/class_data_end.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements class_data_end.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {seq, optPrio, altPrio} from "../combi";
+import {NamespaceSimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassDataEnd implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const common = seq("COMMON PART", optPrio(NamespaceSimpleName));
+ 
+    const structure = seq("END OF",
+                          altPrio(common, NamespaceSimpleName));
+ 
+    return seq("CLASS-DATA", structure);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/class_deferred.ts.html b/src/abap/2_statements/statements/class_deferred.ts.html new file mode 100644 index 00000000000..7bc635a997d --- /dev/null +++ b/src/abap/2_statements/statements/class_deferred.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/class_deferred.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements class_deferred.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {seq, optPrio} from "../combi";
+import {ClassName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassDeferred implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("CLASS", ClassName, "DEFINITION DEFERRED", optPrio("PUBLIC"));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/class_definition.ts.html b/src/abap/2_statements/statements/class_definition.ts.html new file mode 100644 index 00000000000..b92c19b7363 --- /dev/null +++ b/src/abap/2_statements/statements/class_definition.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/class_definition.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements class_definition.ts

+
+ +
+ 100% + Statements + 35/35 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 35/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {seq, per, ver, altPrio, optPrio} from "../combi";
+import {ClassName, SuperClassName, ClassGlobal, ClassFinal, ClassFriends, BehaviorDefinitionName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassDefinition implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const create = seq("CREATE", altPrio("PUBLIC", "PROTECTED", "PRIVATE"));
+ 
+    const level = altPrio("CRITICAL", "HARMLESS", "DANGEROUS");
+    const risk = seq("RISK LEVEL", level);
+ 
+    const time = altPrio("LONG", "MEDIUM", "SHORT");
+    const duration = seq("DURATION", time);
+ 
+    const blah = per(ClassGlobal,
+                     ClassFinal,
+                     "ABSTRACT",
+                     seq("INHERITING FROM", SuperClassName),
+                     create,
+                     "FOR TESTING",
+                     risk,
+                     "SHARED MEMORY ENABLED",
+                     duration,
+                     ver(Version.v754, seq("FOR BEHAVIOR OF", BehaviorDefinitionName)),
+                     ClassFriends);
+ 
+    const def = seq("DEFINITION", optPrio(blah));
+ 
+    return seq("CLASS", ClassName, def);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/class_definition_load.ts.html b/src/abap/2_statements/statements/class_definition_load.ts.html new file mode 100644 index 00000000000..045f1e3f035 --- /dev/null +++ b/src/abap/2_statements/statements/class_definition_load.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/class_definition_load.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements class_definition_load.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {ClassName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassDefinitionLoad implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("CLASS", ClassName, "DEFINITION LOAD");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/class_implementation.ts.html b/src/abap/2_statements/statements/class_implementation.ts.html new file mode 100644 index 00000000000..ba378827620 --- /dev/null +++ b/src/abap/2_statements/statements/class_implementation.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/class_implementation.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements class_implementation.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {ClassName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassImplementation implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("CLASS", ClassName, "IMPLEMENTATION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/class_local_friends.ts.html b/src/abap/2_statements/statements/class_local_friends.ts.html new file mode 100644 index 00000000000..ae8b0b00983 --- /dev/null +++ b/src/abap/2_statements/statements/class_local_friends.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/class_local_friends.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements class_local_friends.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {seq, plusPrio} from "../combi";
+import {ClassName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ClassLocalFriends implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("CLASS", ClassName, "DEFINITION LOCAL FRIENDS", plusPrio(ClassName));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/cleanup.ts.html b/src/abap/2_statements/statements/cleanup.ts.html new file mode 100644 index 00000000000..029f9c6c747 --- /dev/null +++ b/src/abap/2_statements/statements/cleanup.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/cleanup.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements cleanup.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Cleanup implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const into = seq("INTO", Target);
+ 
+    return seq("CLEANUP", opt(into));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/clear.ts.html b/src/abap/2_statements/statements/clear.ts.html new file mode 100644 index 00000000000..4698002efd0 --- /dev/null +++ b/src/abap/2_statements/statements/clear.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/clear.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements clear.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, altPrio, optPrio} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Clear implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const wit = seq("WITH", Source);
+ 
+    const mode = altPrio("IN CHARACTER MODE", "IN BYTE MODE");
+ 
+    return seq("CLEAR",
+               Target,
+               optPrio(wit),
+               optPrio(mode));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/close_cursor.ts.html b/src/abap/2_statements/statements/close_cursor.ts.html new file mode 100644 index 00000000000..2075b9ac239 --- /dev/null +++ b/src/abap/2_statements/statements/close_cursor.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/close_cursor.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements close_cursor.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {SQLSourceSimple} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CloseCursor implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("CLOSE CURSOR", SQLSourceSimple);
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/close_dataset.ts.html b/src/abap/2_statements/statements/close_dataset.ts.html new file mode 100644 index 00000000000..a17d11fc0f8 --- /dev/null +++ b/src/abap/2_statements/statements/close_dataset.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/close_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements close_dataset.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CloseDataset implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("CLOSE DATASET", Source);
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/collect.ts.html b/src/abap/2_statements/statements/collect.ts.html new file mode 100644 index 00000000000..a7a7a6da4a5 --- /dev/null +++ b/src/abap/2_statements/statements/collect.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/collect.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements collect.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {Target, Source, FSTarget} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Collect implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const into = seq("INTO", Target);
+    const assigning = seq("ASSIGNING", FSTarget);
+ 
+    return seq("COLLECT",
+               Source,
+               opt(into),
+               opt(assigning));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/commit.ts.html b/src/abap/2_statements/statements/commit.ts.html new file mode 100644 index 00000000000..ddb7f176b8b --- /dev/null +++ b/src/abap/2_statements/statements/commit.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/commit.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements commit.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, alt} from "../combi";
+import {DatabaseConnection} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Commit implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const work = seq("WORK", opt("AND WAIT"));
+ 
+    return seq("COMMIT", alt(work, DatabaseConnection));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/commit_entities.ts.html b/src/abap/2_statements/statements/commit_entities.ts.html new file mode 100644 index 00000000000..cab62b58f57 --- /dev/null +++ b/src/abap/2_statements/statements/commit_entities.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/commit_entities.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements commit_entities.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {optPrio, seq, star, ver} from "../combi";
+import {NamespaceSimpleName, Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class CommitEntities implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const s = seq("COMMIT ENTITIES",
+                  optPrio("IN SIMULATION MODE"),
+                  star(seq("RESPONSE OF", NamespaceSimpleName, "FAILED", Target, "REPORTED", Target)));
+    return ver(Version.v754, s);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/communication.ts.html b/src/abap/2_statements/statements/communication.ts.html new file mode 100644 index 00000000000..bac5a221a5c --- /dev/null +++ b/src/abap/2_statements/statements/communication.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/communication.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements communication.ts

+
+ +
+ 100% + Statements + 36/36 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 36/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +361x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, opt} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Communication implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const length = seq("LENGTH", Target);
+ 
+    const init = seq("INIT ID", Source, "DESTINATION", Target);
+    const allocate = seq("ALLOCATE ID", Source);
+    const send = seq("SEND ID", Source, "BUFFER", Target, opt(length));
+    const deallocate = seq("DEALLOCATE ID", Source);
+    const accept = seq("ACCEPT ID", Source);
+ 
+    const receive = seq("RECEIVE ID",
+                        Source,
+                        "BUFFER",
+                        Source,
+                        opt(length),
+                        "DATAINFO",
+                        Target,
+                        "STATUSINFO",
+                        Target,
+                        "RECEIVED",
+                        Target);
+ 
+    const ret = seq("COMMUNICATION",
+                    alt(init, allocate, send, deallocate, receive, accept));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/compute.ts.html b/src/abap/2_statements/statements/compute.ts.html new file mode 100644 index 00000000000..e7cd2430498 --- /dev/null +++ b/src/abap/2_statements/statements/compute.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/compute.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements compute.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Compute implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("COMPUTE",
+                    opt("EXACT"),
+                    Target,
+                    "=",
+                    Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/concatenate.ts.html b/src/abap/2_statements/statements/concatenate.ts.html new file mode 100644 index 00000000000..3d77032529a --- /dev/null +++ b/src/abap/2_statements/statements/concatenate.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/concatenate.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements concatenate.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {str, optPrio, seq, per, plus, altPrio} from "../combi";
+import {Target, SimpleSource3, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Concatenate implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const mode = seq("IN", altPrio("BYTE", "CHARACTER"), "MODE");
+    const blanks = str("RESPECTING BLANKS");
+    const sep = seq("SEPARATED BY", SimpleSource3);
+ 
+    const options = per(mode, blanks, sep);
+ 
+    const sourc = seq(SimpleSource3, plus(SimpleSource3));
+    const lines = seq("LINES OF", Source);
+ 
+    return seq("CONCATENATE",
+               altPrio(lines, sourc),
+               "INTO",
+               Target,
+               optPrio(options));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/condense.ts.html b/src/abap/2_statements/statements/condense.ts.html new file mode 100644 index 00000000000..9460633284e --- /dev/null +++ b/src/abap/2_statements/statements/condense.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/condense.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements condense.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Condense implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("CONDENSE",
+               Target,
+               opt("NO-GAPS"));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/constant.ts.html b/src/abap/2_statements/statements/constant.ts.html new file mode 100644 index 00000000000..a2a254180c7 --- /dev/null +++ b/src/abap/2_statements/statements/constant.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/constant.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements constant.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +18x +18x +18x +18x +18x +18x +18x +18x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, per, optPrio} from "../combi";
+import {Type, Value, Length, Decimals, ConstantFieldLength, DefinitionName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Constant implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const def = seq(DefinitionName,
+                    opt(ConstantFieldLength),
+                    per(Type, Value, Decimals, Length));
+ 
+    const ret = seq(alt("CONSTANT", "CONSTANTS"), def, optPrio("%_PREDEFINED"));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/constant_begin.ts.html b/src/abap/2_statements/statements/constant_begin.ts.html new file mode 100644 index 00000000000..2c2aeba41e7 --- /dev/null +++ b/src/abap/2_statements/statements/constant_begin.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/constant_begin.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements constant_begin.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +18x +18x +18x +1x +1x
import {IStatement} from "./_statement";
+import {seq, optPrio} from "../combi";
+import {DefinitionName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ConstantBegin implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("CONSTANTS BEGIN OF", DefinitionName, optPrio("%_PREDEFINED"));
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/constant_end.ts.html b/src/abap/2_statements/statements/constant_end.ts.html new file mode 100644 index 00000000000..85a0c054314 --- /dev/null +++ b/src/abap/2_statements/statements/constant_end.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/constant_end.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements constant_end.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {DefinitionName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ConstantEnd implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("CONSTANTS", "END", "OF", DefinitionName);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/contexts.ts.html b/src/abap/2_statements/statements/contexts.ts.html new file mode 100644 index 00000000000..4569c232388 --- /dev/null +++ b/src/abap/2_statements/statements/contexts.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/contexts.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements contexts.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Contexts implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("CONTEXTS",
+                    Field);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/continue.ts.html b/src/abap/2_statements/statements/continue.ts.html new file mode 100644 index 00000000000..3a2a0f6877b --- /dev/null +++ b/src/abap/2_statements/statements/continue.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/continue.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements continue.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Continue implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("CONTINUE");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/controls.ts.html b/src/abap/2_statements/statements/controls.ts.html new file mode 100644 index 00000000000..219a7b34c31 --- /dev/null +++ b/src/abap/2_statements/statements/controls.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/controls.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements controls.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt} from "../combi";
+import {Source, NamespaceSimpleName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Controls implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const tableview = seq("TABLEVIEW USING SCREEN", Source);
+    const type = seq("TYPE", alt(tableview, "TABSTRIP"));
+    const ret = seq("CONTROLS", NamespaceSimpleName, type);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/convert.ts.html b/src/abap/2_statements/statements/convert.ts.html new file mode 100644 index 00000000000..d167fce632f --- /dev/null +++ b/src/abap/2_statements/statements/convert.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/convert.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements convert.ts

+
+ +
+ 100% + Statements + 34/34 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 34/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, per} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Convert implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const intoTime = seq("TIME", Target);
+    const intoDate = seq("DATE", Target);
+    const into = seq("INTO", per(intoTime, intoDate));
+ 
+    const daylight = seq("DAYLIGHT SAVING TIME", Source);
+    const zone = seq("TIME ZONE", Source);
+ 
+    const time = seq("TIME STAMP",
+                     Source,
+                     per(zone, into, daylight));
+ 
+    const dat = seq("DATE", Source);
+    const tim = seq("TIME", Source);
+ 
+    const stamp = seq("INTO TIME STAMP", Target);
+    const invert = seq("INTO INVERTED-DATE", Target);
+ 
+    const date = seq(per(dat, tim),
+                     per(daylight, stamp, zone, invert));
+ 
+    const inv = seq("INVERTED-DATE", Source, "INTO DATE", Target);
+ 
+    return seq("CONVERT", alt(time, date, inv));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/convert_text.ts.html b/src/abap/2_statements/statements/convert_text.ts.html new file mode 100644 index 00000000000..f8cc925e45a --- /dev/null +++ b/src/abap/2_statements/statements/convert_text.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/convert_text.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements convert_text.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ConvertText implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("CONVERT TEXT",
+               Source,
+               "INTO SORTABLE CODE",
+               Target);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/create_data.ts.html b/src/abap/2_statements/statements/create_data.ts.html new file mode 100644 index 00000000000..977a53c1422 --- /dev/null +++ b/src/abap/2_statements/statements/create_data.ts.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/create_data.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements create_data.ts

+
+ +
+ 100% + Statements + 57/57 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 57/57 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +571x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, plus, ver} from "../combi";
+import {Target, Source, Dynamic, Field, TypeName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+// todo, similar to DATA or TYPES?
+export class CreateData implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const areaHandle = seq("AREA HANDLE", Source);
+    const typeHandle = seq("TYPE HANDLE", Source);
+ 
+    const type = seq(alt("TYPE",
+                         "TYPE REF TO",
+                         "TYPE TABLE OF",
+                         "TYPE TABLE OF REF TO",
+                         "TYPE SORTED TABLE OF",
+                         "TYPE HASHED TABLE OF",
+                         "TYPE STANDARD TABLE OF",
+                         "TYPE LINE OF"),
+                     alt(TypeName, Dynamic));
+ 
+    const like = seq(alt("LIKE",
+                         "LIKE HASHED TABLE OF",
+                         "LIKE LINE OF",
+                         "LIKE STANDARD TABLE OF",
+                         "LIKE SORTED TABLE OF",
+                         "LIKE TABLE OF"),
+                     alt(Source, Dynamic));
+ 
+    const length = seq("LENGTH", Source);
+    const initial = seq("INITIAL SIZE", Source);
+    const decimals = seq("DECIMALS", Source);
+    const uniq = alt("UNIQUE", "NON-UNIQUE");
+    const emptyKey = ver(Version.v740sp02, "EMPTY KEY");
+    const def = seq(opt(uniq), alt("DEFAULT KEY", emptyKey));
+ 
+    const kdef = seq(opt(uniq), "KEY", alt(plus(Field), Dynamic));
+ 
+    const key = seq("WITH", alt(def, kdef));
+ 
+    const specified = seq(alt(type, like),
+                          opt(key),
+                          opt(initial),
+                          opt(length),
+                          opt(decimals));
+ 
+    const ret = seq("CREATE DATA",
+                    Target,
+                    opt(alt(typeHandle, seq(opt(areaHandle), specified))));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/create_object.ts.html b/src/abap/2_statements/statements/create_object.ts.html new file mode 100644 index 00000000000..d67440ceee4 --- /dev/null +++ b/src/abap/2_statements/statements/create_object.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/create_object.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements create_object.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, optPrio, altPrio, per} from "../combi";
+import {Target, ParameterListS, ParameterListExceptions, Source, ClassName, Dynamic} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CreateObject implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const exporting = seq("EXPORTING", ParameterListS);
+    const exceptions = seq("EXCEPTIONS", ParameterListExceptions);
+    const ptable = seq("PARAMETER-TABLE", Source);
+    const etable = seq("EXCEPTION-TABLE", Source);
+    const area = seq("AREA HANDLE", Source);
+    const type = seq("TYPE", altPrio(ClassName, Dynamic));
+ 
+    const ret = seq("CREATE OBJECT",
+                    Target,
+                    optPrio(per(type, area)),
+                    optPrio(altPrio(exporting, ptable)),
+                    optPrio(altPrio(exceptions, etable)));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/create_ole.ts.html b/src/abap/2_statements/statements/create_ole.ts.html new file mode 100644 index 00000000000..90742d1c505 --- /dev/null +++ b/src/abap/2_statements/statements/create_ole.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/create_ole.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements create_ole.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class CreateOLE implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("CREATE OBJECT",
+                    Target,
+                    Source,
+                    opt("NO FLUSH"),
+                    opt("QUEUE-ONLY"));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/data.ts.html b/src/abap/2_statements/statements/data.ts.html new file mode 100644 index 00000000000..530b21ec98e --- /dev/null +++ b/src/abap/2_statements/statements/data.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/data.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements data.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +18x +18x +1x +1x
import {IStatement} from "./_statement";
+import {seq, optPrio} from "../combi";
+import {DataDefinition} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Data implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("DATA", DataDefinition, optPrio("%_PREDEFINED"));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/data_begin.ts.html b/src/abap/2_statements/statements/data_begin.ts.html new file mode 100644 index 00000000000..3cae5eaaa51 --- /dev/null +++ b/src/abap/2_statements/statements/data_begin.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/data_begin.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements data_begin.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +16x +16x +16x +16x +16x +16x +16x +16x +16x +16x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {Integer, DefinitionName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DataBegin implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const occurs = seq("OCCURS", Integer);
+ 
+    const structure = seq("BEGIN OF",
+                          opt("COMMON PART"),
+                          DefinitionName,
+                          opt("READ-ONLY"),
+                          opt(occurs));
+ 
+    return seq("DATA", structure);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/data_end.ts.html b/src/abap/2_statements/statements/data_end.ts.html new file mode 100644 index 00000000000..eac747f3611 --- /dev/null +++ b/src/abap/2_statements/statements/data_end.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/data_end.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements data_end.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {seq, optPrio, altPrio} from "../combi";
+import {DefinitionName, ComponentName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DataEnd implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const common = seq("COMMON PART", optPrio(DefinitionName));
+ 
+    const structure = seq("END OF",
+                          altPrio(common, DefinitionName));
+ 
+    const valid = seq("VALID BETWEEN", ComponentName, "AND", ComponentName);
+ 
+    return seq("DATA", structure, optPrio(valid));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/define.ts.html b/src/abap/2_statements/statements/define.ts.html new file mode 100644 index 00000000000..73b9f596d60 --- /dev/null +++ b/src/abap/2_statements/statements/define.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/define.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements define.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +21x +21x +21x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {MacroName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Define implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("DEFINE", MacroName);
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/delete_cluster.ts.html b/src/abap/2_statements/statements/delete_cluster.ts.html new file mode 100644 index 00000000000..31a513462ed --- /dev/null +++ b/src/abap/2_statements/statements/delete_cluster.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/delete_cluster.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements delete_cluster.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, tok, opt} from "../combi";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {Source, SimpleName, NamespaceSimpleName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DeleteCluster implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const client = seq("CLIENT", Source);
+ 
+    const ret = seq("DELETE FROM DATABASE",
+                    NamespaceSimpleName,
+                    tok(ParenLeft),
+                    SimpleName,
+                    tok(ParenRightW),
+                    opt(client),
+                    "ID",
+                    Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/delete_database.ts.html b/src/abap/2_statements/statements/delete_database.ts.html new file mode 100644 index 00000000000..45313c1584c --- /dev/null +++ b/src/abap/2_statements/statements/delete_database.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/delete_database.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements delete_database.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +1x +1x
import {IStatement} from "./_statement";
+import {seq, optPrio, opt, altPrio} from "../combi";
+import {Dynamic, SQLCond, DatabaseTable, SQLSourceSimple, DatabaseConnection} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLClient} from "../expressions/sql_client";
+ 
+export class DeleteDatabase implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const where = seq("WHERE", altPrio(SQLCond, Dynamic));
+ 
+    const from = seq("FROM", DatabaseTable, optPrio(SQLClient), optPrio(DatabaseConnection), opt(where));
+ 
+    const table = seq(DatabaseTable,
+                      optPrio(SQLClient),
+                      optPrio(DatabaseConnection),
+                      "FROM",
+                      opt("TABLE"),
+                      SQLSourceSimple);
+ 
+    const ret = seq("DELETE", altPrio(from, table));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/delete_dataset.ts.html b/src/abap/2_statements/statements/delete_dataset.ts.html new file mode 100644 index 00000000000..28ad309156f --- /dev/null +++ b/src/abap/2_statements/statements/delete_dataset.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/delete_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements delete_dataset.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DeleteDataset implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("DELETE DATASET", Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/delete_dynpro.ts.html b/src/abap/2_statements/statements/delete_dynpro.ts.html new file mode 100644 index 00000000000..a0d81280f3f --- /dev/null +++ b/src/abap/2_statements/statements/delete_dynpro.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/delete_dynpro.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements delete_dynpro.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DeleteDynpro implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("DELETE DYNPRO", Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/delete_internal.ts.html b/src/abap/2_statements/statements/delete_internal.ts.html new file mode 100644 index 00000000000..dcf258b568e --- /dev/null +++ b/src/abap/2_statements/statements/delete_internal.ts.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/delete_internal.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements delete_internal.ts

+
+ +
+ 100% + Statements + 44/44 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 44/44 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +441x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, optPrio, per, plus, altPrio} from "../combi";
+import {Target, Source, Dynamic, ComponentCompare, ComponentCond, SimpleName, FieldSub, FieldOffset, FieldLength} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DeleteInternal implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+// todo, is READ and DELETE similar? something can be reused?
+    const index = seq("INDEX", Source);
+ 
+    const keyName = altPrio(SimpleName, Dynamic);
+    const using = seq("USING KEY", keyName);
+ 
+    const from = optPrio(seq("FROM", Source));
+ 
+    const fromTo = seq(from,
+                       optPrio(seq("TO", Source)));
+ 
+    const where = seq("WHERE", alt(ComponentCond, Dynamic));
+ 
+    const key = seq("WITH TABLE KEY",
+                    opt(seq(keyName, "COMPONENTS")),
+                    plus(ComponentCompare));
+ 
+    const table = seq("TABLE",
+                      Target,
+                      alt(per(index, using), from, key));
+ 
+    const other = seq(Target,
+                      alt(per(index, using), fromTo, key), opt(where));
+ 
+    const f = seq(FieldSub, optPrio(FieldOffset), optPrio(FieldLength));
+ 
+    const adjacent = seq("ADJACENT DUPLICATES FROM",
+                         Target,
+                         optPrio(using),
+                         opt(seq("COMPARING", altPrio("ALL FIELDS", plus(altPrio(f, Dynamic))))),
+                         optPrio(using));
+ 
+    return seq("DELETE", alt(table, adjacent, other));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/delete_memory.ts.html b/src/abap/2_statements/statements/delete_memory.ts.html new file mode 100644 index 00000000000..1e9f84e8976 --- /dev/null +++ b/src/abap/2_statements/statements/delete_memory.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/delete_memory.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements delete_memory.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, optPrio} from "../combi";
+import {Source, Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DeleteMemory implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const memory = seq("MEMORY ID", Source);
+ 
+    const id = seq("ID", Source);
+    const client = seq("CLIENT", Source);
+    const shared = seq("SHARED MEMORY", Field, "(", Field, ")", optPrio(client), id);
+ 
+    const ret = seq("DELETE FROM", alt(memory, shared));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/delete_report.ts.html b/src/abap/2_statements/statements/delete_report.ts.html new file mode 100644 index 00000000000..83adf7a7098 --- /dev/null +++ b/src/abap/2_statements/statements/delete_report.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/delete_report.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements delete_report.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, optPrio} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DeleteReport implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const state = seq("STATE", Source);
+ 
+    const ret = seq("DELETE REPORT",
+                    Source,
+                    optPrio(state));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/delete_textpool.ts.html b/src/abap/2_statements/statements/delete_textpool.ts.html new file mode 100644 index 00000000000..e0140ea6273 --- /dev/null +++ b/src/abap/2_statements/statements/delete_textpool.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/delete_textpool.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements delete_textpool.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class DeleteTextpool implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const language = seq("LANGUAGE", Source);
+    const state = seq("STATE", Source);
+ 
+    const ret = seq("DELETE TEXTPOOL",
+                    Source,
+                    opt(language),
+                    opt(state));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/demand.ts.html b/src/abap/2_statements/statements/demand.ts.html new file mode 100644 index 00000000000..42b69d8ab4d --- /dev/null +++ b/src/abap/2_statements/statements/demand.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/demand.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements demand.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, plus} from "../combi";
+import {Target, Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Demand implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const field = seq(Field, "=", Target);
+ 
+    const messages = seq("MESSAGES INTO", Target);
+ 
+    const ret = seq("DEMAND",
+                    plus(field),
+                    "FROM CONTEXT",
+                    Field,
+                    opt(messages));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/describe.ts.html b/src/abap/2_statements/statements/describe.ts.html new file mode 100644 index 00000000000..708939be06a --- /dev/null +++ b/src/abap/2_statements/statements/describe.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/describe.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements describe.ts

+
+ +
+ 100% + Statements + 54/54 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 54/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, alt, per, altPrio} from "../combi";
+import {Target, Source, FieldChain} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Describe implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const tlines = seq("LINES", Target);
+    const kind = seq("KIND", Target);
+    const occurs = seq("OCCURS", Target);
+ 
+    const table = seq("TABLE",
+                      FieldChain,
+                      opt(per(tlines, kind, occurs)));
+ 
+    const mode = seq("IN", alt("BYTE", "CHARACTER"), "MODE");
+ 
+    const field = seq("FIELD",
+                      Source,
+                      per(seq("TYPE", Target),
+                          seq("COMPONENTS", Target),
+                          seq("LENGTH", Target, opt(mode)),
+                          seq("DECIMALS", Target),
+                          seq("HELP-ID", Target),
+                          seq("OUTPUT-LENGTH", Target),
+                          seq("EDIT MASK", Target),
+                          seq("INTO", Target)));
+ 
+    const distance = seq("DISTANCE BETWEEN",
+                         Source,
+                         "AND",
+                         Source,
+                         "INTO",
+                         Target,
+                         mode);
+ 
+    const lines = seq("NUMBER OF LINES", Target);
+    const line = seq("LINE", Source);
+    const page = seq("PAGE", Source);
+    const index = seq("INDEX", Source);
+    const top = seq("TOP-LINES", Target);
+    const lineSize = seq("LINE-SIZE", Target);
+    const first = seq("FIRST-LINE", Target);
+ 
+    const list = seq("LIST", per(lines, index, line, page, top, first, lineSize));
+ 
+    const ret = seq("DESCRIBE", altPrio(table, field, distance, list));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/detail.ts.html b/src/abap/2_statements/statements/detail.ts.html new file mode 100644 index 00000000000..87074f984f3 --- /dev/null +++ b/src/abap/2_statements/statements/detail.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/detail.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements detail.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +3x +3x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Detail implements IStatement {
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "DETAIL");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/divide.ts.html b/src/abap/2_statements/statements/divide.ts.html new file mode 100644 index 00000000000..6cde77f9ce3 --- /dev/null +++ b/src/abap/2_statements/statements/divide.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/divide.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements divide.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Divide implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("DIVIDE",
+                    Target,
+                    "BY",
+                    Source);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/do.ts.html b/src/abap/2_statements/statements/do.ts.html new file mode 100644 index 00000000000..4a5c8704636 --- /dev/null +++ b/src/abap/2_statements/statements/do.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/do.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements do.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {optPrio, seq, per, plus} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Do implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const range = seq("RANGE", Source);
+ 
+    const vary = seq("VARYING",
+                     Target,
+                     "FROM",
+                     Source,
+                     "NEXT",
+                     Source,
+                     optPrio(range));
+ 
+    const times = seq(Source, "TIMES");
+ 
+    return seq("DO", optPrio(per(plus(vary), times)));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/editor_call.ts.html b/src/abap/2_statements/statements/editor_call.ts.html new file mode 100644 index 00000000000..52f02152f27 --- /dev/null +++ b/src/abap/2_statements/statements/editor_call.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/editor_call.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements editor_call.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, per, optPrio} from "../combi";
+import {SimpleSource3, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EditorCall implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const title = seq("TITLE", SimpleSource3);
+ 
+    const options = per("DISPLAY-MODE", title);
+ 
+    const ret = seq("EDITOR-CALL FOR",
+                    optPrio("REPORT"),
+                    Source,
+                    optPrio(options));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/else.ts.html b/src/abap/2_statements/statements/else.ts.html new file mode 100644 index 00000000000..a51ebabdf70 --- /dev/null +++ b/src/abap/2_statements/statements/else.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/else.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements else.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Else implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ELSE");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/elseif.ts.html b/src/abap/2_statements/statements/elseif.ts.html new file mode 100644 index 00000000000..aa722b11437 --- /dev/null +++ b/src/abap/2_statements/statements/elseif.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/elseif.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements elseif.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Cond} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ElseIf implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("ELSEIF", Cond);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/end_enhancement.ts.html b/src/abap/2_statements/statements/end_enhancement.ts.html new file mode 100644 index 00000000000..9ae5ef6d9ce --- /dev/null +++ b/src/abap/2_statements/statements/end_enhancement.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/end_enhancement.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements end_enhancement.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndEnhancement implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "ENDENHANCEMENT");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/end_enhancement_section.ts.html b/src/abap/2_statements/statements/end_enhancement_section.ts.html new file mode 100644 index 00000000000..3e17af906ca --- /dev/null +++ b/src/abap/2_statements/statements/end_enhancement_section.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/end_enhancement_section.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements end_enhancement_section.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndEnhancementSection implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = str("END-ENHANCEMENT-SECTION");
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/end_of_page.ts.html b/src/abap/2_statements/statements/end_of_page.ts.html new file mode 100644 index 00000000000..3615005eea8 --- /dev/null +++ b/src/abap/2_statements/statements/end_of_page.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/end_of_page.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements end_of_page.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndOfPage implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "END-OF-PAGE");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/end_of_selection.ts.html b/src/abap/2_statements/statements/end_of_selection.ts.html new file mode 100644 index 00000000000..7077358917f --- /dev/null +++ b/src/abap/2_statements/statements/end_of_selection.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/end_of_selection.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements end_of_selection.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndOfSelection implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "END-OF-SELECTION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/end_test_injection.ts.html b/src/abap/2_statements/statements/end_test_injection.ts.html new file mode 100644 index 00000000000..91d1f7b7a64 --- /dev/null +++ b/src/abap/2_statements/statements/end_test_injection.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/end_test_injection.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements end_test_injection.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndTestInjection implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("END-TEST-INJECTION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/end_test_seam.ts.html b/src/abap/2_statements/statements/end_test_seam.ts.html new file mode 100644 index 00000000000..d1a8ccee757 --- /dev/null +++ b/src/abap/2_statements/statements/end_test_seam.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/end_test_seam.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements end_test_seam.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str, ver} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class EndTestSeam implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return ver(Version.v750, str("END-TEST-SEAM"));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endat.ts.html b/src/abap/2_statements/statements/endat.ts.html new file mode 100644 index 00000000000..77344ee77a9 --- /dev/null +++ b/src/abap/2_statements/statements/endat.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endat.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endat.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndAt implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = str("ENDAT");
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endcase.ts.html b/src/abap/2_statements/statements/endcase.ts.html new file mode 100644 index 00000000000..c8fe5ddb479 --- /dev/null +++ b/src/abap/2_statements/statements/endcase.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endcase.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endcase.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndCase implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDCASE");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endcatch.ts.html b/src/abap/2_statements/statements/endcatch.ts.html new file mode 100644 index 00000000000..1c551dc1028 --- /dev/null +++ b/src/abap/2_statements/statements/endcatch.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endcatch.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endcatch.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndCatch implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "ENDCATCH");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endclass.ts.html b/src/abap/2_statements/statements/endclass.ts.html new file mode 100644 index 00000000000..ae682bb266a --- /dev/null +++ b/src/abap/2_statements/statements/endclass.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endclass.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endclass.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndClass implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDCLASS");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/enddefine.ts.html b/src/abap/2_statements/statements/enddefine.ts.html new file mode 100644 index 00000000000..46735faa2aa --- /dev/null +++ b/src/abap/2_statements/statements/enddefine.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/enddefine.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements enddefine.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndOfDefinition implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "END-OF-DEFINITION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/enddo.ts.html b/src/abap/2_statements/statements/enddo.ts.html new file mode 100644 index 00000000000..b8f899d6a9d --- /dev/null +++ b/src/abap/2_statements/statements/enddo.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/enddo.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements enddo.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndDo implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDDO");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endexec.ts.html b/src/abap/2_statements/statements/endexec.ts.html new file mode 100644 index 00000000000..df8c72ce48e --- /dev/null +++ b/src/abap/2_statements/statements/endexec.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endexec.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endexec.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndExec implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "ENDEXEC");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endform.ts.html b/src/abap/2_statements/statements/endform.ts.html new file mode 100644 index 00000000000..d0ea8b5791d --- /dev/null +++ b/src/abap/2_statements/statements/endform.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endform.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endform.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndForm implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = str("ENDFORM");
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endfunction.ts.html b/src/abap/2_statements/statements/endfunction.ts.html new file mode 100644 index 00000000000..f5d9212ded4 --- /dev/null +++ b/src/abap/2_statements/statements/endfunction.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endfunction.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endfunction.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndFunction implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDFUNCTION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endif.ts.html b/src/abap/2_statements/statements/endif.ts.html new file mode 100644 index 00000000000..2a986451fb3 --- /dev/null +++ b/src/abap/2_statements/statements/endif.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endif.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endif.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndIf implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDIF");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endinterface.ts.html b/src/abap/2_statements/statements/endinterface.ts.html new file mode 100644 index 00000000000..0f549adc586 --- /dev/null +++ b/src/abap/2_statements/statements/endinterface.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endinterface.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endinterface.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndInterface implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDINTERFACE");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endloop.ts.html b/src/abap/2_statements/statements/endloop.ts.html new file mode 100644 index 00000000000..fd31d37d414 --- /dev/null +++ b/src/abap/2_statements/statements/endloop.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endloop.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endloop.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndLoop implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDLOOP");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endmethod.ts.html b/src/abap/2_statements/statements/endmethod.ts.html new file mode 100644 index 00000000000..892eab106da --- /dev/null +++ b/src/abap/2_statements/statements/endmethod.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endmethod.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endmethod.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndMethod implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDMETHOD");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endmodule.ts.html b/src/abap/2_statements/statements/endmodule.ts.html new file mode 100644 index 00000000000..68014182977 --- /dev/null +++ b/src/abap/2_statements/statements/endmodule.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endmodule.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endmodule.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndModule implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "ENDMODULE");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endon.ts.html b/src/abap/2_statements/statements/endon.ts.html new file mode 100644 index 00000000000..9565ed0e4f4 --- /dev/null +++ b/src/abap/2_statements/statements/endon.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endon.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endon.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndOn implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = str("ENDON");
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endprovide.ts.html b/src/abap/2_statements/statements/endprovide.ts.html new file mode 100644 index 00000000000..01eff8c9ae0 --- /dev/null +++ b/src/abap/2_statements/statements/endprovide.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endprovide.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endprovide.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndProvide implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = str("ENDPROVIDE");
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endselect.ts.html b/src/abap/2_statements/statements/endselect.ts.html new file mode 100644 index 00000000000..0312ec94018 --- /dev/null +++ b/src/abap/2_statements/statements/endselect.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endselect.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endselect.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndSelect implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDSELECT");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endtry.ts.html b/src/abap/2_statements/statements/endtry.ts.html new file mode 100644 index 00000000000..e46c7d418ba --- /dev/null +++ b/src/abap/2_statements/statements/endtry.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endtry.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endtry.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndTry implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDTRY");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endwhile.ts.html b/src/abap/2_statements/statements/endwhile.ts.html new file mode 100644 index 00000000000..8bb306862b1 --- /dev/null +++ b/src/abap/2_statements/statements/endwhile.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endwhile.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endwhile.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EndWhile implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("ENDWHILE");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/endwith.ts.html b/src/abap/2_statements/statements/endwith.ts.html new file mode 100644 index 00000000000..48768b3172c --- /dev/null +++ b/src/abap/2_statements/statements/endwith.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/endwith.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements endwith.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {ver} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class EndWith implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return ver(Version.v751, "ENDWITH");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/enhancement.ts.html b/src/abap/2_statements/statements/enhancement.ts.html new file mode 100644 index 00000000000..100b32423e9 --- /dev/null +++ b/src/abap/2_statements/statements/enhancement.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/enhancement.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements enhancement.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +15x +15x +15x +15x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, plus} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {NamespaceSimpleName} from "../expressions/namespace_simple_name";
+ 
+export class Enhancement implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("ENHANCEMENT", plus(NamespaceSimpleName));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/enhancement_point.ts.html b/src/abap/2_statements/statements/enhancement_point.ts.html new file mode 100644 index 00000000000..2777c675d0b --- /dev/null +++ b/src/abap/2_statements/statements/enhancement_point.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/enhancement_point.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements enhancement_point.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +15x +15x +15x +15x +15x +15x +15x +15x +15x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Field, FieldSub} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class EnhancementPoint implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("ENHANCEMENT-POINT",
+                    FieldSub,
+                    "SPOTS",
+                    Field,
+                    opt("STATIC"),
+                    opt("INCLUDE BOUND"));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/enhancement_section.ts.html b/src/abap/2_statements/statements/enhancement_section.ts.html new file mode 100644 index 00000000000..4d4bde43500 --- /dev/null +++ b/src/abap/2_statements/statements/enhancement_section.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/enhancement_section.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements enhancement_section.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, starPrio, tok} from "../combi";
+import {Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {Dash} from "../../1_lexer/tokens/dash";
+ 
+export class EnhancementSection implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("ENHANCEMENT-SECTION",
+                    seq(Field, starPrio(seq(tok(Dash), Field))),
+                    "SPOTS",
+                    Field,
+                    opt("STATIC"),
+                    opt("INCLUDE BOUND"));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/events.ts.html b/src/abap/2_statements/statements/events.ts.html new file mode 100644 index 00000000000..020e56d6ee0 --- /dev/null +++ b/src/abap/2_statements/statements/events.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/events.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements events.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {seq, plus, altPrio, optPrio} from "../combi";
+import {EventName, MethodParamOptional} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Events implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const exporting = seq("EXPORTING", plus(MethodParamOptional));
+ 
+    return seq(altPrio("CLASS-EVENTS", "EVENTS"), EventName, optPrio(exporting));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/exec_sql.ts.html b/src/abap/2_statements/statements/exec_sql.ts.html new file mode 100644 index 00000000000..f218bcc3a71 --- /dev/null +++ b/src/abap/2_statements/statements/exec_sql.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/exec_sql.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements exec_sql.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {SimpleName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ExecSQL implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const performing = seq("PERFORMING", SimpleName);
+ 
+    const ret = seq("EXEC SQL", opt(performing));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/exit.ts.html b/src/abap/2_statements/statements/exit.ts.html new file mode 100644 index 00000000000..63ba95a06fb --- /dev/null +++ b/src/abap/2_statements/statements/exit.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/exit.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements exit.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {alt, opt, seq} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Exit implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("EXIT", opt(alt("FROM SQL", "FROM STEP-LOOP")));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/export.ts.html b/src/abap/2_statements/statements/export.ts.html new file mode 100644 index 00000000000..a6373285292 --- /dev/null +++ b/src/abap/2_statements/statements/export.ts.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/export.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements export.ts

+
+ +
+ 100% + Statements + 40/40 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 40/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +411x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x + 
import {IStatement} from "./_statement";
+import {seq, alt, altPrio, opt, regex, per, plus, tok} from "../combi";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {Target, Source, Dynamic, ParameterS, FieldSub, NamespaceSimpleName, FieldSymbol} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+// todo, cloud, split?
+export class Export implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const from = seq("FROM", Source);
+    const client = seq("CLIENT", Source);
+    const id = seq("ID", Source);
+    const using = seq("USING", Source);
+ 
+    const cluster = seq(NamespaceSimpleName,
+                        tok(ParenLeft),
+                        regex(/^[\w$%\^]{2}$/),
+                        tok(ParenRightW));
+ 
+    const buffer = seq("DATA BUFFER", Target);
+    const memory = seq("MEMORY", opt(seq("ID", Source)));
+    const table = seq("INTERNAL TABLE", Target);
+    const shared = seq(alt("SHARED MEMORY", "SHARED BUFFER"), cluster, per(from, client, id));
+    const database = seq("DATABASE", cluster, per(from, client, id, using));
+ 
+    const target = alt(buffer, memory, database, table, shared);
+ 
+    const left = alt(FieldSub, FieldSymbol);
+ 
+    const source = alt(plus(altPrio(ParameterS, seq(left, from), left)),
+                       Dynamic);
+ 
+    const compression = seq("COMPRESSION", alt("ON", "OFF"));
+    const hint = seq("CODE PAGE HINT", Source);
+ 
+    return seq("EXPORT", source, "TO", target, opt(compression), opt(hint));
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/export_dynpro.ts.html b/src/abap/2_statements/statements/export_dynpro.ts.html new file mode 100644 index 00000000000..95ea89d83c9 --- /dev/null +++ b/src/abap/2_statements/statements/export_dynpro.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/export_dynpro.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements export_dynpro.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ExportDynpro implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("EXPORT DYNPRO",
+                    Source,
+                    Source,
+                    Source,
+                    Source,
+                    "ID",
+                    Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/extract.ts.html b/src/abap/2_statements/statements/extract.ts.html new file mode 100644 index 00000000000..bf41cc30156 --- /dev/null +++ b/src/abap/2_statements/statements/extract.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/extract.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements extract.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Extract implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("EXTRACT", opt(Field));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/fetch_next_cursor.ts.html b/src/abap/2_statements/statements/fetch_next_cursor.ts.html new file mode 100644 index 00000000000..800c1eb0499 --- /dev/null +++ b/src/abap/2_statements/statements/fetch_next_cursor.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/fetch_next_cursor.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements fetch_next_cursor.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, optPrio} from "../combi";
+import {SQLSourceSimple, SQLIntoTable, SQLIntoList} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {SQLIntoStructure} from "../expressions/sql_into_structure";
+ 
+export class FetchNextCursor implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const size = seq("PACKAGE SIZE", SQLSourceSimple);
+ 
+    const ret = seq("FETCH NEXT CURSOR",
+                    SQLSourceSimple,
+                    alt(SQLIntoStructure, SQLIntoTable, SQLIntoList),
+                    optPrio(size));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/field_group.ts.html b/src/abap/2_statements/statements/field_group.ts.html new file mode 100644 index 00000000000..e117c8dc866 --- /dev/null +++ b/src/abap/2_statements/statements/field_group.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/field_group.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements field_group.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, plus} from "../combi";
+import {Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FieldGroup implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("FIELD-GROUPS", plus(Field));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/fields.ts.html b/src/abap/2_statements/statements/fields.ts.html new file mode 100644 index 00000000000..f44beb5275a --- /dev/null +++ b/src/abap/2_statements/statements/fields.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/fields.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements fields.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {FieldSub} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Fields implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("FIELDS", FieldSub);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/fieldsymbol.ts.html b/src/abap/2_statements/statements/fieldsymbol.ts.html new file mode 100644 index 00000000000..d89f6d94071 --- /dev/null +++ b/src/abap/2_statements/statements/fieldsymbol.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/fieldsymbol.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements fieldsymbol.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt} from "../combi";
+import {FieldSymbol as Name, Type, TypeTable, TypeName, Field} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FieldSymbol implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const stru = seq("STRUCTURE", TypeName, "DEFAULT", Field);
+ 
+    return seq("FIELD-SYMBOLS",
+               Name,
+               opt(alt(Type, TypeTable, stru)));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/find.ts.html b/src/abap/2_statements/statements/find.ts.html new file mode 100644 index 00000000000..8bdb9b63e1d --- /dev/null +++ b/src/abap/2_statements/statements/find.ts.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/find.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements find.ts

+
+ +
+ 100% + Statements + 43/43 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 43/43 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +431x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, per, plus, optPrio, altPrio} from "../combi";
+import {Target, Source, FindType} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Find implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+// SUBMATCHES handling is a workaround
+    const options = per("IGNORING CASE",
+                        "RESPECTING CASE",
+                        "IN BYTE MODE",
+                        "IN CHARACTER MODE",
+                        seq("OF", Source),
+                        seq("FROM", Source),
+                        seq("TO", Source),
+                        seq("MATCH OFFSET", Target),
+                        seq("MATCH LINE", Target),
+                        seq("MATCH COUNT", Target),
+                        seq("MATCH LENGTH", Target),
+                        seq("LENGTH", Source),
+                        seq("RESULTS", Target),
+                        seq("SUBMATCHES", Target),
+                        seq("SUBMATCHES", Target, Target),
+                        seq("SUBMATCHES", plus(Target)));
+ 
+    const sectionLength = seq("SECTION LENGTH", Source, "OF");
+ 
+    const before = seq(optPrio(altPrio("TABLE", "SECTION OFFSET", sectionLength)),
+                       Source);
+ 
+    const ret = seq("FIND",
+                    opt(altPrio("FIRST OCCURRENCE OF", "ALL OCCURRENCES OF")),
+                    FindType,
+                    Source,
+                    "IN",
+                    before,
+                    opt(options));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/form.ts.html b/src/abap/2_statements/statements/form.ts.html new file mode 100644 index 00000000000..2e6096aa203 --- /dev/null +++ b/src/abap/2_statements/statements/form.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/form.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements form.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, alt} from "../combi";
+import {FormName, FormTables, FormUsing, FormChanging, FormRaising} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Form implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const parameters = seq(opt(FormTables),
+                           opt(FormUsing),
+                           opt(FormChanging),
+                           opt(FormRaising));
+ 
+    const ret = seq("FORM", FormName, alt("IMPLEMENTATION", parameters));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/form_definition.ts.html b/src/abap/2_statements/statements/form_definition.ts.html new file mode 100644 index 00000000000..b66b2b45629 --- /dev/null +++ b/src/abap/2_statements/statements/form_definition.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/form_definition.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements form_definition.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {FormName, FormTables, FormUsing, FormChanging, FormRaising} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FormDefinition implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("FORM",
+                    FormName,
+                    "DEFINITION",
+                    opt(FormTables),
+                    opt(FormUsing),
+                    opt(FormChanging),
+                    opt(FormRaising));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/format.ts.html b/src/abap/2_statements/statements/format.ts.html new file mode 100644 index 00000000000..3db5080be82 --- /dev/null +++ b/src/abap/2_statements/statements/format.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/format.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements format.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, per, seq, opt, altPrio} from "../combi";
+import {Source, Color} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Format implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const eq = seq("=", Source);
+    const value = altPrio(eq, "ON", "OFF");
+ 
+    const options = per("RESET",
+                        seq("INTENSIFIED", opt(value)),
+                        seq("INVERSE", opt(value)),
+                        seq("HOTSPOT", opt(value)),
+                        seq("FRAMES", value),
+                        seq("INPUT", value),
+                        Color);
+ 
+    const ret = seq("FORMAT", options);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/free.ts.html b/src/abap/2_statements/statements/free.ts.html new file mode 100644 index 00000000000..f782dd12982 --- /dev/null +++ b/src/abap/2_statements/statements/free.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/free.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements free.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Free implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("FREE", Target);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/free_memory.ts.html b/src/abap/2_statements/statements/free_memory.ts.html new file mode 100644 index 00000000000..5af8b59c151 --- /dev/null +++ b/src/abap/2_statements/statements/free_memory.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/free_memory.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements free_memory.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, optPrio} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FreeMemory implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("FREE MEMORY", optPrio(seq("ID", Source)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/free_object.ts.html b/src/abap/2_statements/statements/free_object.ts.html new file mode 100644 index 00000000000..b89bb7dc810 --- /dev/null +++ b/src/abap/2_statements/statements/free_object.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/free_object.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements free_object.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Target} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FreeObject implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("FREE OBJECT", Target, opt("NO FLUSH"));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/function_module.ts.html b/src/abap/2_statements/statements/function_module.ts.html new file mode 100644 index 00000000000..877ddc4ac5a --- /dev/null +++ b/src/abap/2_statements/statements/function_module.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/function_module.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements function_module.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Field} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FunctionModule implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("FUNCTION", Field);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/function_pool.ts.html b/src/abap/2_statements/statements/function_pool.ts.html new file mode 100644 index 00000000000..7b8d5a2457d --- /dev/null +++ b/src/abap/2_statements/statements/function_pool.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/function_pool.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements function_pool.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {str, seq, opt, per} from "../combi";
+import {Field, MessageClass, Integer} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class FunctionPool implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const message = seq("MESSAGE-ID", MessageClass);
+    const line = seq("LINE-SIZE", Integer);
+    const no = str("NO STANDARD PAGE HEADING");
+ 
+    return seq("FUNCTION-POOL",
+               Field,
+               opt(per(message, line, no)));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/generate_dynpro.ts.html b/src/abap/2_statements/statements/generate_dynpro.ts.html new file mode 100644 index 00000000000..db85605f1e4 --- /dev/null +++ b/src/abap/2_statements/statements/generate_dynpro.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/generate_dynpro.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements generate_dynpro.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, per} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GenerateDynpro implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const line = seq("LINE", Target);
+    const word = seq("WORD", Target);
+ 
+    const ret = seq("GENERATE DYNPRO",
+                    Source,
+                    Source,
+                    Source,
+                    Source,
+                    "ID",
+                    Source,
+                    "MESSAGE",
+                    Target,
+                    per(line, word));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/generate_report.ts.html b/src/abap/2_statements/statements/generate_report.ts.html new file mode 100644 index 00000000000..ff63d963de6 --- /dev/null +++ b/src/abap/2_statements/statements/generate_report.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/generate_report.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements generate_report.ts

+
+ +
+ 100% + Statements + 33/33 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 33/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, opt, per} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GenerateReport implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const without = str("WITHOUT SELECTION-SCREEN");
+    const message = seq("MESSAGE", Target);
+    const include = seq("INCLUDE", Target);
+    const line = seq("LINE", Target);
+    const word = seq("WORD", Target);
+    const offset = seq("OFFSET", Target);
+    const headers = str("WITH PRECOMPILED HEADERS");
+    const test = str("WITH TEST CODE");
+    const messageid = seq("MESSAGE-ID", Target);
+    const trace = seq("TRACE-FILE", Target);
+    const shortdumpid = seq("SHORTDUMP-ID", Target);
+    const directory = seq("DIRECTORY ENTRY", Target);
+ 
+    const options = per(without, message, include, trace, line, word, offset, headers, test, messageid, shortdumpid, directory);
+ 
+    const ret = seq("GENERATE REPORT",
+                    Source,
+                    opt(options));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/generate_subroutine.ts.html b/src/abap/2_statements/statements/generate_subroutine.ts.html new file mode 100644 index 00000000000..4b6b5fa60fc --- /dev/null +++ b/src/abap/2_statements/statements/generate_subroutine.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/generate_subroutine.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements generate_subroutine.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, per} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GenerateSubroutine implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const name = seq("NAME", Source);
+    const message = seq("MESSAGE", Target);
+    const messageid = seq("MESSAGE-ID", Target);
+    const line = seq("LINE", Target);
+    const word = seq("WORD", Target);
+    const offset = seq("OFFSET", Target);
+    const short = seq("SHORTDUMP-ID", Target);
+    const include = seq("INCLUDE", Target);
+ 
+    const ret = seq("GENERATE SUBROUTINE POOL",
+                    Source,
+                    per(name, message, line, word, include, offset, messageid, short));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get.ts.html b/src/abap/2_statements/statements/get.ts.html new file mode 100644 index 00000000000..0009987ecd5 --- /dev/null +++ b/src/abap/2_statements/statements/get.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, per, opt, plus} from "../combi";
+import {Target, Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Get implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const fields = seq("FIELDS", plus(Field));
+ 
+    const options = per("LATE", fields);
+ 
+    const ret = seq("GET",
+                    Target,
+                    opt(options));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_badi.ts.html b/src/abap/2_statements/statements/get_badi.ts.html new file mode 100644 index 00000000000..bfbda70c543 --- /dev/null +++ b/src/abap/2_statements/statements/get_badi.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_badi.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_badi.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Target, ParameterListS, Source, Dynamic} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetBadi implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const filters = seq("FILTERS", ParameterListS);
+    const context = seq("CONTEXT", Source);
+    const type = seq("TYPE", Dynamic);
+ 
+    const ret = seq("GET BADI",
+                    Target,
+                    opt(type),
+                    opt(filters),
+                    opt(context));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_bit.ts.html b/src/abap/2_statements/statements/get_bit.ts.html new file mode 100644 index 00000000000..efe845908d7 --- /dev/null +++ b/src/abap/2_statements/statements/get_bit.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_bit.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_bit.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetBit implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("GET BIT",
+                    Source,
+                    "OF",
+                    Source,
+                    "INTO",
+                    Target);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_cursor.ts.html b/src/abap/2_statements/statements/get_cursor.ts.html new file mode 100644 index 00000000000..ec7305a1784 --- /dev/null +++ b/src/abap/2_statements/statements/get_cursor.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_cursor.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_cursor.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, per, opt} from "../combi";
+import {Target} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetCursor implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const line = seq("LINE", Target);
+    const field = seq("FIELD", Target);
+    const offset = seq("OFFSET", Target);
+    const value = seq("VALUE", Target);
+    const length = seq("LENGTH", Target);
+    const area = seq("AREA", Target);
+ 
+    const ret = seq("GET CURSOR",
+                    per(line, opt("DISPLAY"), field, offset, value, length, area));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_dataset.ts.html b/src/abap/2_statements/statements/get_dataset.ts.html new file mode 100644 index 00000000000..fb96988751b --- /dev/null +++ b/src/abap/2_statements/statements/get_dataset.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_dataset.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, per} from "../combi";
+import {Target} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetDataset implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const position = seq("POSITION", Target);
+    const attr = seq("ATTRIBUTES", Target);
+ 
+    const ret = seq("GET DATASET",
+                    Target,
+                    opt(per(position, attr)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_locale.ts.html b/src/abap/2_statements/statements/get_locale.ts.html new file mode 100644 index 00000000000..5f17731b1ca --- /dev/null +++ b/src/abap/2_statements/statements/get_locale.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_locale.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_locale.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Target} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetLocale implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const country = seq("COUNTRY", Target);
+ 
+    const modifier = seq("MODIFIER", Target);
+ 
+    const ret = seq("GET LOCALE LANGUAGE",
+                    Target,
+                    country,
+                    modifier);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_parameter.ts.html b/src/abap/2_statements/statements/get_parameter.ts.html new file mode 100644 index 00000000000..e93265e4c74 --- /dev/null +++ b/src/abap/2_statements/statements/get_parameter.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_parameter.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_parameter.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetParameter implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("GET PARAMETER ID",
+                    Source,
+                    "FIELD",
+                    Target);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_permissions.ts.html b/src/abap/2_statements/statements/get_permissions.ts.html new file mode 100644 index 00000000000..d260a86ac78 --- /dev/null +++ b/src/abap/2_statements/statements/get_permissions.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_permissions.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_permissions.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver} from "../combi";
+import {SimpleName, Source, Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class GetPermissions implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const s = seq("GET PERMISSIONS ONLY GLOBAL AUTHORIZATION ENTITY",
+                  SimpleName,
+                  "REQUEST", Source,
+                  "RESULT", Target,
+                  "FAILED", Target,
+                  "REPORTED", Target);
+    return ver(Version.v754, s);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_pf_status.ts.html b/src/abap/2_statements/statements/get_pf_status.ts.html new file mode 100644 index 00000000000..5f53790f0a8 --- /dev/null +++ b/src/abap/2_statements/statements/get_pf_status.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_pf_status.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_pf_status.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetPFStatus implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const program = seq("PROGRAM", Source);
+    const excl = seq("EXCLUDING", Source);
+ 
+    const ret = seq("GET PF-STATUS",
+                    Target,
+                    opt(program),
+                    opt(excl));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_property.ts.html b/src/abap/2_statements/statements/get_property.ts.html new file mode 100644 index 00000000000..d8ea18e7407 --- /dev/null +++ b/src/abap/2_statements/statements/get_property.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_property.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_property.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source, FieldSub, OLEExporting} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetProperty implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const ret = seq("GET PROPERTY OF",
+                    FieldSub,
+                    Source,
+                    "=",
+                    Source,
+                    opt("NO FLUSH"),
+                    opt(OLEExporting));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_reference.ts.html b/src/abap/2_statements/statements/get_reference.ts.html new file mode 100644 index 00000000000..3d80f5d89a4 --- /dev/null +++ b/src/abap/2_statements/statements/get_reference.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_reference.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_reference.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetReference implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("GET REFERENCE OF",
+                    Source,
+                    "INTO",
+                    Target);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_run_time.ts.html b/src/abap/2_statements/statements/get_run_time.ts.html new file mode 100644 index 00000000000..41fa4146122 --- /dev/null +++ b/src/abap/2_statements/statements/get_run_time.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_run_time.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_run_time.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Target} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetRunTime implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("GET RUN TIME FIELD", Target);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/get_time.ts.html b/src/abap/2_statements/statements/get_time.ts.html new file mode 100644 index 00000000000..3a6084f0848 --- /dev/null +++ b/src/abap/2_statements/statements/get_time.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/get_time.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements get_time.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt} from "../combi";
+import {Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class GetTime implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const options = seq(alt("STAMP FIELD", "FIELD"), Target);
+ 
+    return seq("GET TIME", opt(options));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/hide.ts.html b/src/abap/2_statements/statements/hide.ts.html new file mode 100644 index 00000000000..88b573a8fa8 --- /dev/null +++ b/src/abap/2_statements/statements/hide.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/hide.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements hide.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Hide implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("HIDE", Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/if.ts.html b/src/abap/2_statements/statements/if.ts.html new file mode 100644 index 00000000000..2aa56fb3b36 --- /dev/null +++ b/src/abap/2_statements/statements/if.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/if.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements if.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Cond} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class If implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("IF", Cond);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/import.ts.html b/src/abap/2_statements/statements/import.ts.html new file mode 100644 index 00000000000..08d092f77eb --- /dev/null +++ b/src/abap/2_statements/statements/import.ts.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/import.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements import.ts

+
+ +
+ 100% + Statements + 51/51 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 51/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +521x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x + 
import {IStatement} from "./_statement";
+import {seq, opt, alt, regex, per, plus, tok} from "../combi";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {Target, Source, Dynamic, ComponentChainSimple, NamespaceSimpleName, FieldSymbol} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Import implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const dto = seq("TO", Target);
+    const client = seq("CLIENT", Source);
+    const id = seq("ID", Source);
+    const using = seq("USING", Source);
+ 
+    const cluster = seq(NamespaceSimpleName,
+                        tok(ParenLeft),
+                        regex(/^[\w$%\^]{2}$/),
+                        tok(ParenRightW));
+ 
+    const buffer = seq("DATA BUFFER", Source);
+    const memory = seq("MEMORY ID", Source);
+    const table = seq("INTERNAL TABLE", Source);
+    const shared = seq(alt("SHARED MEMORY", "SHARED BUFFER"), cluster, per(dto, client, id));
+    const database = seq("DATABASE", cluster, per(dto, client, id, using));
+ 
+    const source = alt(buffer, memory, database, table, shared);
+ 
+    const to = plus(seq(ComponentChainSimple, alt("TO", "INTO"), Target));
+ 
+    const toeq = plus(seq(alt(ComponentChainSimple, FieldSymbol), "=", Target));
+ 
+    const target = alt(toeq,
+                       to,
+                       Dynamic,
+                       plus(Target));
+ 
+    const options = per("ACCEPTING PADDING",
+                        "IGNORING CONVERSION ERRORS",
+                        "IN CHAR-TO-HEX MODE",
+                        "IGNORING STRUCTURE BOUNDARIES",
+                        "ACCEPTING TRUNCATION",
+                        seq("REPLACEMENT CHARACTER", Source),
+                        seq("CODE PAGE INTO", Source),
+                        seq("ENDIAN INTO", Source));
+ 
+    const ret = seq("IMPORT", target, "FROM", source, opt(options));
+ 
+    return ret;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/import_dynpro.ts.html b/src/abap/2_statements/statements/import_dynpro.ts.html new file mode 100644 index 00000000000..523be23b2a0 --- /dev/null +++ b/src/abap/2_statements/statements/import_dynpro.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/import_dynpro.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements import_dynpro.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ImportDynpro implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("IMPORT DYNPRO",
+                    Target,
+                    Target,
+                    Target,
+                    Target,
+                    "ID",
+                    Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/import_nametab.ts.html b/src/abap/2_statements/statements/import_nametab.ts.html new file mode 100644 index 00000000000..f3bfdcf8fc2 --- /dev/null +++ b/src/abap/2_statements/statements/import_nametab.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/import_nametab.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements import_nametab.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ImportNametab implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("IMPORT NAMETAB",
+                    Target,
+                    Target,
+                    "ID",
+                    Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/include.ts.html b/src/abap/2_statements/statements/include.ts.html new file mode 100644 index 00000000000..7ac05dffc0c --- /dev/null +++ b/src/abap/2_statements/statements/include.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/include.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements include.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +36x +36x +36x +36x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {IncludeName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Include implements IStatement {
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("INCLUDE", IncludeName, opt("IF FOUND"));
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/include_type.ts.html b/src/abap/2_statements/statements/include_type.ts.html new file mode 100644 index 00000000000..35f307050af --- /dev/null +++ b/src/abap/2_statements/statements/include_type.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/include_type.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements include_type.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +20x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, alt} from "../combi";
+import * as Expressions from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class IncludeType implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const tas = seq("AS", Expressions.Field);
+ 
+    const renaming = seq("RENAMING WITH SUFFIX", Expressions.ComponentName);
+ 
+    const ret = seq("INCLUDE",
+                    alt("TYPE", "STRUCTURE"),
+                    Expressions.TypeName,
+                    opt(tas),
+                    opt(renaming));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/index.html b/src/abap/2_statements/statements/index.html new file mode 100644 index 00000000000..2e17d51e4e6 --- /dev/null +++ b/src/abap/2_statements/statements/index.html @@ -0,0 +1,4676 @@ + + + + + + Code coverage report for src/abap/2_statements/statements + + + + + + + + + +
+
+

All files src/abap/2_statements/statements

+
+ +
+ 99.81% + Statements + 6504/6516 +
+ + +
+ 100% + Branches + 303/303 +
+ + +
+ 98.05% + Functions + 303/309 +
+ + +
+ 99.81% + Lines + 6504/6516 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_statement.ts +
+
70.73%29/41100%0/00%0/670.73%29/41
add.ts +
+
100%17/17100%1/1100%1/1100%17/17
add_corresponding.ts +
+
100%18/18100%1/1100%1/1100%18/18
aliases.ts +
+
100%15/15100%1/1100%1/1100%15/15
append.ts +
+
100%29/29100%1/1100%1/1100%29/29
assert.ts +
+
100%21/21100%1/1100%1/1100%21/21
assign.ts +
+
100%32/32100%1/1100%1/1100%32/32
assign_local_copy.ts +
+
100%20/20100%1/1100%1/1100%20/20
at.ts +
+
100%22/22100%1/1100%1/1100%22/22
at_first.ts +
+
100%11/11100%1/1100%1/1100%11/11
at_last.ts +
+
100%11/11100%1/1100%1/1100%11/11
at_line_selection.ts +
+
100%12/12100%1/1100%1/1100%12/12
at_selection_screen.ts +
+
100%32/32100%1/1100%1/1100%32/32
at_user_command.ts +
+
100%12/12100%1/1100%1/1100%12/12
authority_check.ts +
+
100%23/23100%1/1100%1/1100%23/23
back.ts +
+
100%12/12100%1/1100%1/1100%12/12
break.ts +
+
100%18/18100%1/1100%1/1100%18/18
break_id.ts +
+
100%17/17100%1/1100%1/1100%17/17
call.ts +
+
100%16/16100%1/1100%1/1100%16/16
call_badi.ts +
+
100%19/19100%1/1100%1/1100%19/19
call_database.ts +
+
100%24/24100%1/1100%1/1100%24/24
call_dialog.ts +
+
100%24/24100%1/1100%1/1100%24/24
call_function.ts +
+
100%34/34100%1/1100%1/1100%34/34
call_kernel.ts +
+
100%17/17100%1/1100%1/1100%17/17
call_ole.ts +
+
100%23/23100%1/1100%1/1100%23/23
call_screen.ts +
+
100%18/18100%1/1100%1/1100%18/18
call_selection_screen.ts +
+
100%21/21100%1/1100%1/1100%21/21
call_transaction.ts +
+
100%31/31100%1/1100%1/1100%31/31
call_transformation.ts +
+
100%26/26100%1/1100%1/1100%26/26
case.ts +
+
100%12/12100%1/1100%1/1100%12/12
case_type.ts +
+
100%13/13100%1/1100%1/1100%13/13
catch.ts +
+
100%15/15100%1/1100%1/1100%15/15
catch_system_exceptions.ts +
+
100%16/16100%1/1100%1/1100%16/16
check.ts +
+
100%14/14100%1/1100%1/1100%14/14
check_select_options.ts +
+
100%14/14100%1/1100%1/1100%14/14
class_data.ts +
+
100%12/12100%1/1100%1/1100%12/12
class_data_begin.ts +
+
100%21/21100%1/1100%1/1100%21/21
class_data_end.ts +
+
100%18/18100%1/1100%1/1100%18/18
class_deferred.ts +
+
100%12/12100%1/1100%1/1100%12/12
class_definition.ts +
+
100%35/35100%1/1100%1/1100%35/35
class_definition_load.ts +
+
100%12/12100%1/1100%1/1100%12/12
class_implementation.ts +
+
100%12/12100%1/1100%1/1100%12/12
class_local_friends.ts +
+
100%12/12100%1/1100%1/1100%12/12
cleanup.ts +
+
100%14/14100%1/1100%1/1100%14/14
clear.ts +
+
100%19/19100%1/1100%1/1100%19/19
close_cursor.ts +
+
100%14/14100%1/1100%1/1100%14/14
close_dataset.ts +
+
100%14/14100%1/1100%1/1100%14/14
collect.ts +
+
100%18/18100%1/1100%1/1100%18/18
commit.ts +
+
100%14/14100%1/1100%1/1100%14/14
commit_entities.ts +
+
100%16/16100%1/1100%1/1100%16/16
communication.ts +
+
100%36/36100%1/1100%1/1100%36/36
compute.ts +
+
100%19/19100%1/1100%1/1100%19/19
concatenate.ts +
+
100%25/25100%1/1100%1/1100%25/25
condense.ts +
+
100%14/14100%1/1100%1/1100%14/14
constant.ts +
+
100%18/18100%1/1100%1/1100%18/18
constant_begin.ts +
+
100%13/13100%1/1100%1/1100%13/13
constant_end.ts +
+
100%14/14100%1/1100%1/1100%14/14
contexts.ts +
+
100%16/16100%1/1100%1/1100%16/16
continue.ts +
+
100%11/11100%1/1100%1/1100%11/11
controls.ts +
+
100%17/17100%1/1100%1/1100%17/17
convert.ts +
+
100%34/34100%1/1100%1/1100%34/34
convert_text.ts +
+
100%15/15100%1/1100%1/1100%15/15
create_data.ts +
+
100%57/57100%1/1100%1/1100%57/57
create_object.ts +
+
100%25/25100%1/1100%1/1100%25/25
create_ole.ts +
+
100%19/19100%1/1100%1/1100%19/19
data.ts +
+
100%12/12100%1/1100%1/1100%12/12
data_begin.ts +
+
100%20/20100%1/1100%1/1100%20/20
data_end.ts +
+
100%19/19100%1/1100%1/1100%19/19
define.ts +
+
100%14/14100%1/1100%1/1100%14/14
delete_cluster.ts +
+
100%25/25100%1/1100%1/1100%25/25
delete_database.ts +
+
100%26/26100%1/1100%1/1100%26/26
delete_dataset.ts +
+
100%15/15100%1/1100%1/1100%15/15
delete_dynpro.ts +
+
100%15/15100%1/1100%1/1100%15/15
delete_internal.ts +
+
100%44/44100%1/1100%1/1100%44/44
delete_memory.ts +
+
100%21/21100%1/1100%1/1100%21/21
delete_report.ts +
+
100%19/19100%1/1100%1/1100%19/19
delete_textpool.ts +
+
100%21/21100%1/1100%1/1100%21/21
demand.ts +
+
100%23/23100%1/1100%1/1100%23/23
describe.ts +
+
100%54/54100%1/1100%1/1100%54/54
detail.ts +
+
100%10/10100%1/1100%1/1100%10/10
divide.ts +
+
100%17/17100%1/1100%1/1100%17/17
do.ts +
+
100%24/24100%1/1100%1/1100%24/24
editor_call.ts +
+
100%22/22100%1/1100%1/1100%22/22
else.ts +
+
100%11/11100%1/1100%1/1100%11/11
elseif.ts +
+
100%12/12100%1/1100%1/1100%12/12
end_enhancement.ts +
+
100%12/12100%1/1100%1/1100%12/12
end_enhancement_section.ts +
+
100%14/14100%1/1100%1/1100%14/14
end_of_page.ts +
+
100%12/12100%1/1100%1/1100%12/12
end_of_selection.ts +
+
100%12/12100%1/1100%1/1100%12/12
end_test_injection.ts +
+
100%11/11100%1/1100%1/1100%11/11
end_test_seam.ts +
+
100%12/12100%1/1100%1/1100%12/12
endat.ts +
+
100%12/12100%1/1100%1/1100%12/12
endcase.ts +
+
100%11/11100%1/1100%1/1100%11/11
endcatch.ts +
+
100%12/12100%1/1100%1/1100%12/12
endclass.ts +
+
100%11/11100%1/1100%1/1100%11/11
enddefine.ts +
+
100%12/12100%1/1100%1/1100%12/12
enddo.ts +
+
100%11/11100%1/1100%1/1100%11/11
endexec.ts +
+
100%12/12100%1/1100%1/1100%12/12
endform.ts +
+
100%13/13100%1/1100%1/1100%13/13
endfunction.ts +
+
100%11/11100%1/1100%1/1100%11/11
endif.ts +
+
100%11/11100%1/1100%1/1100%11/11
endinterface.ts +
+
100%11/11100%1/1100%1/1100%11/11
endloop.ts +
+
100%11/11100%1/1100%1/1100%11/11
endmethod.ts +
+
100%11/11100%1/1100%1/1100%11/11
endmodule.ts +
+
100%12/12100%1/1100%1/1100%12/12
endon.ts +
+
100%13/13100%1/1100%1/1100%13/13
endprovide.ts +
+
100%13/13100%1/1100%1/1100%13/13
endselect.ts +
+
100%11/11100%1/1100%1/1100%11/11
endtry.ts +
+
100%11/11100%1/1100%1/1100%11/11
endwhile.ts +
+
100%11/11100%1/1100%1/1100%11/11
endwith.ts +
+
100%12/12100%1/1100%1/1100%12/12
enhancement.ts +
+
100%15/15100%1/1100%1/1100%15/15
enhancement_point.ts +
+
100%20/20100%1/1100%1/1100%20/20
enhancement_section.ts +
+
100%21/21100%1/1100%1/1100%21/21
events.ts +
+
100%15/15100%1/1100%1/1100%15/15
exec_sql.ts +
+
100%17/17100%1/1100%1/1100%17/17
exit.ts +
+
100%11/11100%1/1100%1/1100%11/11
export.ts +
+
100%40/40100%1/1100%1/1100%40/40
export_dynpro.ts +
+
100%21/21100%1/1100%1/1100%21/21
extract.ts +
+
100%15/15100%1/1100%1/1100%15/15
fetch_next_cursor.ts +
+
100%21/21100%1/1100%1/1100%21/21
field_group.ts +
+
100%15/15100%1/1100%1/1100%15/15
fields.ts +
+
100%15/15100%1/1100%1/1100%15/15
fieldsymbol.ts +
+
100%16/16100%1/1100%1/1100%16/16
find.ts +
+
100%43/43100%1/1100%1/1100%43/43
form.ts +
+
100%19/19100%1/1100%1/1100%19/19
form_definition.ts +
+
100%20/20100%1/1100%1/1100%20/20
format.ts +
+
100%26/26100%1/1100%1/1100%26/26
free.ts +
+
100%14/14100%1/1100%1/1100%14/14
free_memory.ts +
+
100%15/15100%1/1100%1/1100%15/15
free_object.ts +
+
100%15/15100%1/1100%1/1100%15/15
function_module.ts +
+
100%12/12100%1/1100%1/1100%12/12
function_pool.ts +
+
100%18/18100%1/1100%1/1100%18/18
generate_dynpro.ts +
+
100%28/28100%1/1100%1/1100%28/28
generate_report.ts +
+
100%33/33100%1/1100%1/1100%33/33
generate_subroutine.ts +
+
100%26/26100%1/1100%1/1100%26/26
get.ts +
+
100%21/21100%1/1100%1/1100%21/21
get_badi.ts +
+
100%23/23100%1/1100%1/1100%23/23
get_bit.ts +
+
100%19/19100%1/1100%1/1100%19/19
get_cursor.ts +
+
100%23/23100%1/1100%1/1100%23/23
get_dataset.ts +
+
100%20/20100%1/1100%1/1100%20/20
get_locale.ts +
+
100%22/22100%1/1100%1/1100%22/22
get_parameter.ts +
+
100%18/18100%1/1100%1/1100%18/18
get_permissions.ts +
+
100%19/19100%1/1100%1/1100%19/19
get_pf_status.ts +
+
100%21/21100%1/1100%1/1100%21/21
get_property.ts +
+
100%22/22100%1/1100%1/1100%22/22
get_reference.ts +
+
100%17/17100%1/1100%1/1100%17/17
get_run_time.ts +
+
100%15/15100%1/1100%1/1100%15/15
get_time.ts +
+
100%14/14100%1/1100%1/1100%14/14
hide.ts +
+
100%15/15100%1/1100%1/1100%15/15
if.ts +
+
100%12/12100%1/1100%1/1100%12/12
import.ts +
+
100%51/51100%1/1100%1/1100%51/51
import_dynpro.ts +
+
100%21/21100%1/1100%1/1100%21/21
import_nametab.ts +
+
100%19/19100%1/1100%1/1100%19/19
include.ts +
+
100%12/12100%1/1100%1/1100%12/12
include_type.ts +
+
100%22/22100%1/1100%1/1100%22/22
index.ts +
+
100%307/307100%0/0100%0/0100%307/307
infotypes.ts +
+
100%18/18100%1/1100%1/1100%18/18
initialization.ts +
+
100%12/12100%1/1100%1/1100%12/12
insert_database.ts +
+
100%32/32100%1/1100%1/1100%32/32
insert_field_group.ts +
+
100%19/19100%1/1100%1/1100%19/19
insert_internal.ts +
+
100%40/40100%1/1100%1/1100%40/40
insert_report.ts +
+
100%28/28100%1/1100%1/1100%28/28
insert_textpool.ts +
+
100%23/23100%1/1100%1/1100%23/23
interface.ts +
+
100%14/14100%1/1100%1/1100%14/14
interface_def.ts +
+
100%26/26100%1/1100%1/1100%26/26
interface_deferred.ts +
+
100%15/15100%1/1100%1/1100%15/15
interface_load.ts +
+
100%14/14100%1/1100%1/1100%14/14
leave.ts +
+
100%28/28100%1/1100%1/1100%28/28
load_of_program.ts +
+
100%14/14100%1/1100%1/1100%14/14
load_report.ts +
+
100%20/20100%1/1100%1/1100%20/20
local.ts +
+
100%15/15100%1/1100%1/1100%15/15
log_point.ts +
+
100%22/22100%1/1100%1/1100%22/22
loop.ts +
+
100%35/35100%1/1100%1/1100%35/35
loop_at_screen.ts +
+
100%14/14100%1/1100%1/1100%14/14
message.ts +
+
100%39/39100%1/1100%1/1100%39/39
method_def.ts +
+
100%70/70100%1/1100%1/1100%70/70
method_implementation.ts +
+
100%27/27100%1/1100%1/1100%27/27
modify_database.ts +
+
100%17/17100%1/1100%1/1100%17/17
modify_entities.ts +
+
100%30/30100%1/1100%1/1100%30/30
modify_internal.ts +
+
100%32/32100%1/1100%1/1100%32/32
modify_line.ts +
+
100%37/37100%1/1100%1/1100%37/37
modify_screen.ts +
+
100%15/15100%1/1100%1/1100%15/15
module.ts +
+
100%17/17100%1/1100%1/1100%17/17
move.ts +
+
100%37/37100%1/1100%1/1100%37/37
move_corresponding.ts +
+
100%25/25100%1/1100%1/1100%25/25
multiply.ts +
+
100%17/17100%1/1100%1/1100%17/17
new_line.ts +
+
100%15/15100%1/1100%1/1100%15/15
new_page.ts +
+
100%50/50100%1/1100%1/1100%50/50
nodes.ts +
+
100%15/15100%1/1100%1/1100%15/15
on_change.ts +
+
100%17/17100%1/1100%1/1100%17/17
open_cursor.ts +
+
100%19/19100%1/1100%1/1100%19/19
open_dataset.ts +
+
100%37/37100%1/1100%1/1100%37/37
overlay.ts +
+
100%20/20100%1/1100%1/1100%20/20
pack.ts +
+
100%15/15100%1/1100%1/1100%15/15
parameter.ts +
+
100%48/48100%1/1100%1/1100%48/48
perform.ts +
+
100%40/40100%1/1100%1/1100%40/40
position.ts +
+
100%15/15100%1/1100%1/1100%15/15
print_control.ts +
+
100%18/18100%1/1100%1/1100%18/18
private.ts +
+
100%11/11100%1/1100%1/1100%11/11
program.ts +
+
100%21/21100%1/1100%1/1100%21/21
protected.ts +
+
100%11/11100%1/1100%1/1100%11/11
provide.ts +
+
100%38/38100%1/1100%1/1100%38/38
public.ts +
+
100%11/11100%1/1100%1/1100%11/11
put.ts +
+
100%15/15100%1/1100%1/1100%15/15
raise.ts +
+
100%37/37100%1/1100%1/1100%37/37
raise_entity_event.ts +
+
100%12/12100%1/1100%1/1100%12/12
raise_event.ts +
+
100%14/14100%1/1100%1/1100%14/14
ranges.ts +
+
100%21/21100%1/1100%1/1100%21/21
read_dataset.ts +
+
100%21/21100%1/1100%1/1100%21/21
read_entities.ts +
+
100%27/27100%1/1100%1/1100%27/27
read_line.ts +
+
100%29/29100%1/1100%1/1100%29/29
read_report.ts +
+
100%21/21100%1/1100%1/1100%21/21
read_table.ts +
+
100%40/40100%1/1100%1/1100%40/40
read_textpool.ts +
+
100%21/21100%1/1100%1/1100%21/21
receive.ts +
+
100%18/18100%1/1100%1/1100%18/18
refresh.ts +
+
100%17/17100%1/1100%1/1100%17/17
refresh_control.ts +
+
100%18/18100%1/1100%1/1100%18/18
reject.ts +
+
100%15/15100%1/1100%1/1100%15/15
replace.ts +
+
100%44/44100%1/1100%1/1100%44/44
report.ts +
+
100%25/25100%1/1100%1/1100%25/25
reserve.ts +
+
100%15/15100%1/1100%1/1100%15/15
resume.ts +
+
100%11/11100%1/1100%1/1100%11/11
retry.ts +
+
100%12/12100%1/1100%1/1100%12/12
return.ts +
+
100%13/13100%1/1100%1/1100%13/13
rollback.ts +
+
100%12/12100%1/1100%1/1100%12/12
rollback_entities.ts +
+
100%13/13100%1/1100%1/1100%13/13
scan.ts +
+
100%71/71100%1/1100%1/1100%71/71
scroll_list.ts +
+
100%28/28100%1/1100%1/1100%28/28
search.ts +
+
100%25/25100%1/1100%1/1100%25/25
select.ts +
+
100%14/14100%1/1100%1/1100%14/14
select_loop.ts +
+
100%11/11100%1/1100%1/1100%11/11
selectionscreen.ts +
+
100%119/119100%1/1100%1/1100%119/119
selectoption.ts +
+
100%52/52100%1/1100%1/1100%52/52
set_bit.ts +
+
100%18/18100%1/1100%1/1100%18/18
set_blank.ts +
+
100%16/16100%1/1100%1/1100%16/16
set_country.ts +
+
100%15/15100%1/1100%1/1100%15/15
set_cursor.ts +
+
100%18/18100%1/1100%1/1100%18/18
set_dataset.ts +
+
100%14/14100%1/1100%1/1100%14/14
set_extended_check.ts +
+
100%14/14100%1/1100%1/1100%14/14
set_handler.ts +
+
100%21/21100%1/1100%1/1100%21/21
set_language.ts +
+
100%15/15100%1/1100%1/1100%15/15
set_left.ts +
+
100%14/14100%1/1100%1/1100%14/14
set_locale.ts +
+
100%22/22100%1/1100%1/1100%22/22
set_locks.ts +
+
100%20/20100%1/1100%1/1100%20/20
set_margin.ts +
+
100%17/17100%1/1100%1/1100%17/17
set_parameter.ts +
+
100%18/18100%1/1100%1/1100%18/18
set_pf_status.ts +
+
100%23/23100%1/1100%1/1100%23/23
set_property.ts +
+
100%21/21100%1/1100%1/1100%21/21
set_run_time.ts +
+
100%18/18100%1/1100%1/1100%18/18
set_screen.ts +
+
100%14/14100%1/1100%1/1100%14/14
set_titlebar.ts +
+
100%19/19100%1/1100%1/1100%19/19
set_update_task.ts +
+
100%10/10100%1/1100%1/1100%10/10
set_user_command.ts +
+
100%15/15100%1/1100%1/1100%15/15
shift.ts +
+
100%22/22100%1/1100%1/1100%22/22
skip.ts +
+
100%17/17100%1/1100%1/1100%17/17
sort.ts +
+
100%26/26100%1/1100%1/1100%26/26
sort_dataset.ts +
+
100%23/23100%1/1100%1/1100%23/23
split.ts +
+
100%18/18100%1/1100%1/1100%18/18
start_of_selection.ts +
+
100%12/12100%1/1100%1/1100%12/12
static.ts +
+
100%20/20100%1/1100%1/1100%20/20
static_begin.ts +
+
100%19/19100%1/1100%1/1100%19/19
static_end.ts +
+
100%16/16100%1/1100%1/1100%16/16
stop.ts +
+
100%12/12100%1/1100%1/1100%12/12
submit.ts +
+
100%67/67100%1/1100%1/1100%67/67
subtract.ts +
+
100%17/17100%1/1100%1/1100%17/17
subtract_corresponding.ts +
+
100%18/18100%1/1100%1/1100%18/18
sum.ts +
+
100%12/12100%1/1100%1/1100%12/12
summary.ts +
+
100%12/12100%1/1100%1/1100%12/12
supply.ts +
+
100%20/20100%1/1100%1/1100%20/20
suppress_dialog.ts +
+
100%14/14100%1/1100%1/1100%14/14
syntax_check.ts +
+
100%54/54100%1/1100%1/1100%54/54
system_call.ts +
+
100%21/21100%1/1100%1/1100%21/21
tables.ts +
+
100%15/15100%1/1100%1/1100%15/15
test_injection.ts +
+
100%12/12100%1/1100%1/1100%12/12
test_seam.ts +
+
100%13/13100%1/1100%1/1100%13/13
top_of_page.ts +
+
100%14/14100%1/1100%1/1100%14/14
transfer.ts +
+
100%22/22100%1/1100%1/1100%22/22
translate.ts +
+
100%20/20100%1/1100%1/1100%20/20
truncate_dataset.ts +
+
100%13/13100%1/1100%1/1100%13/13
try.ts +
+
100%11/11100%1/1100%1/1100%11/11
type.ts +
+
100%24/24100%1/1100%1/1100%24/24
type_begin.ts +
+
100%16/16100%1/1100%1/1100%16/16
type_end.ts +
+
100%14/14100%1/1100%1/1100%14/14
type_enum.ts +
+
100%17/17100%1/1100%1/1100%17/17
type_enum_begin.ts +
+
100%21/21100%1/1100%1/1100%21/21
type_enum_end.ts +
+
100%17/17100%1/1100%1/1100%17/17
type_mesh.ts +
+
100%21/21100%1/1100%1/1100%21/21
type_mesh_begin.ts +
+
100%14/14100%1/1100%1/1100%14/14
type_mesh_end.ts +
+
100%14/14100%1/1100%1/1100%14/14
type_pool.ts +
+
100%17/17100%1/1100%1/1100%17/17
type_pools.ts +
+
100%17/17100%1/1100%1/1100%17/17
uline.ts +
+
100%15/15100%1/1100%1/1100%15/15
unassign.ts +
+
100%12/12100%1/1100%1/1100%12/12
unpack.ts +
+
100%18/18100%1/1100%1/1100%18/18
update_database.ts +
+
100%28/28100%1/1100%1/1100%28/28
wait.ts +
+
100%25/25100%1/1100%1/1100%25/25
when.ts +
+
100%14/14100%1/1100%1/1100%14/14
when_others.ts +
+
100%11/11100%1/1100%1/1100%11/11
when_type.ts +
+
100%17/17100%1/1100%1/1100%17/17
while.ts +
+
100%14/14100%1/1100%1/1100%14/14
window.ts +
+
100%20/20100%1/1100%1/1100%20/20
with.ts +
+
100%15/15100%1/1100%1/1100%15/15
with_loop.ts +
+
100%15/15100%1/1100%1/1100%15/15
write.ts +
+
100%65/65100%1/1100%1/1100%65/65
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/index.ts.html b/src/abap/2_statements/statements/index.ts.html new file mode 100644 index 00000000000..b262fbdc146 --- /dev/null +++ b/src/abap/2_statements/statements/index.ts.html @@ -0,0 +1,1003 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/index.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements index.ts

+
+ +
+ 100% + Statements + 307/307 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 307/307 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +3071x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
// do not include statement.ts in this file.
+// this file only contains "real" statements
+// sequence of exports is optimized for parsing and precedence
+// see statement.ts for Unknown, Empty, Macro and Comment statements
+export * from "./data";
+export * from "./report";
+export * from "./write";
+export * from "./endmethod";
+export * from "./method_implementation";
+export * from "./endform";
+export * from "./form";
+export * from "./import_nametab";
+export * from "./check_select_options";
+export * from "./call_badi";
+export * from "./class_data";
+export * from "./class_data_begin";
+export * from "./class_data_end";
+export * from "./select_loop";
+export * from "./do";
+export * from "./break_id";
+export * from "./interface_deferred";
+export * from "./while";
+export * from "./loop_at_screen";
+export * from "./loop";
+export * from "./check";
+export * from "./endprovide";
+export * from "./if";
+export * from "./convert_text";
+export * from "./log_point";
+export * from "./window";
+export * from "./endif";
+export * from "./type_enum";
+export * from "./type_enum_begin";
+export * from "./type_enum_end";
+export * from "./set_run_time";
+export * from "./field_group";
+export * from "./print_control";
+export * from "./extract";
+export * from "./sum";
+export * from "./end_of_page";
+export * from "./generate_report";
+export * from "./elseif";
+export * from "./else";
+export * from "./perform";
+export * from "./append";
+export * from "./clear";
+export * from "./concatenate";
+export * from "./enddo";
+export * from "./endclass";
+export * from "./try";
+export * from "./endtry";
+export * from "./assert";
+export * from "./return";
+export * from "./endwhile";
+export * from "./constant";
+export * from "./catch";
+export * from "./infotypes";
+export * from "./message";
+export * from "./read_table";
+export * from "./endloop";
+export * from "./case";
+export * from "./create_object";
+export * from "./select";
+export * from "./call";
+export * from "./class_local_friends";
+export * from "./class_deferred";
+export * from "./fieldsymbol";
+export * from "./class_definition";
+export * from "./class_implementation";
+export * from "./translate";
+export * from "./exit";
+export * from "./endcase";
+export * from "./constant_begin";
+export * from "./constant_end";
+export * from "./when_others";
+export * from "./when";
+export * from "./continue";
+export * from "./assign";
+export * from "./get_badi";
+export * from "./suppress_dialog";
+export * from "./type";
+export * from "./hide";
+export * from "./get_locale";
+export * from "./set_locale";
+export * from "./commit";
+export * from "./modify_screen";
+export * from "./commit_entities";
+export * from "./modify_entities";
+export * from "./read_entities";
+export * from "./rollback_entities";
+export * from "./summary";
+export * from "./on_change";
+export * from "./at_user_command";
+export * from "./position";
+export * from "./resume";
+export * from "./stop";
+export * from "./get_pf_status";
+export * from "./delete_report";
+export * from "./controls";
+export * from "./at_line_selection";
+export * from "./new_page";
+export * from "./set_dataset";
+export * from "./get_property";
+export * from "./scroll_list";
+export * from "./load_of_program";
+export * from "./top_of_page";
+export * from "./truncate_dataset";
+export * from "./set_update_task";
+export * from "./set_user_command";
+export * from "./rollback";
+export * from "./delete_internal";
+export * from "./delete_database";
+export * from "./delete_dataset";
+export * from "./free_memory";
+export * from "./catch_system_exceptions";
+export * from "./endcatch";
+export * from "./assign_local_copy";
+export * from "./set_extended_check";
+export * from "./split";
+export * from "./new_line";
+export * from "./free_object";
+export * from "./sort";
+export * from "./replace";
+export * from "./with_loop";
+export * from "./with";
+export * from "./endwith";
+export * from "./condense";
+export * from "./insert_internal";
+export * from "./insert_database";
+export * from "./insert_field_group";
+export * from "./update_database";
+export * from "./modify_database";
+export * from "./modify_internal";
+export * from "./raise";
+export * from "./define";
+export * from "./enddefine";
+export * from "./find";
+export * from "./move";
+export * from "./move_corresponding";
+export * from "./get_time";
+export * from "./enhancement_point";
+export * from "./enhancement_section";
+export * from "./end_enhancement_section";
+export * from "./set_handler";
+export * from "./set_left";
+export * from "./pack";
+export * from "./case_type";
+export * from "./when_type";
+export * from "./exec_sql";
+export * from "./open_cursor";
+export * from "./communication";
+export * from "./generate_subroutine";
+export * from "./reject";
+export * from "./load_report";
+export * from "./private";
+export * from "./system_call";
+export * from "./set_language";
+export * from "./call_dialog";
+export * from "./protected";
+export * from "./public";
+export * from "./nodes";
+export * from "./demand";
+export * from "./supply";
+export * from "./fields";
+export * from "./delete_cluster";
+export * from "./set_margin";
+export * from "./call_database";
+export * from "./contexts";
+export * from "./interface";
+export * from "./endinterface";
+export * from "./parameter";
+export * from "./include";
+export * from "./collect";
+export * from "./ranges";
+export * from "./events";
+export * from "./receive";
+export * from "./back";
+export * from "./add_corresponding";
+export * from "./subtract_corresponding";
+export * from "./static_begin";
+export * from "./static_end";
+export * from "./get_dataset";
+export * from "./tables";
+export * from "./local";
+export * from "./add";
+export * from "./describe";
+export * from "./submit";
+export * from "./scan";
+export * from "./export";
+export * from "./import";
+export * from "./at_first";
+export * from "./at_last";
+export * from "./at";
+export * from "./put";
+export * from "./endat";
+export * from "./endselect";
+export * from "./refresh";
+export * from "./shift";
+export * from "./type_mesh";
+export * from "./transfer";
+export * from "./subtract";
+export * from "./unassign";
+export * from "./open_dataset";
+export * from "./close_dataset";
+export * from "./interface_load";
+export * from "./close_cursor";
+export * from "./leave";
+export * from "./class_definition_load";
+export * from "./initialization";
+export * from "./start_of_selection";
+export * from "./set_blank";
+export * from "./export_dynpro";
+export * from "./end_of_selection";
+export * from "./search";
+export * from "./modify_line";
+export * from "./selectionscreen";
+export * from "./free";
+export * from "./endon";
+export * from "./fetch_next_cursor";
+export * from "./reserve";
+export * from "./raise_entity_event";
+export * from "./refresh_control";
+export * from "./delete_dynpro";
+export * from "./generate_dynpro";
+export * from "./detail";
+export * from "./editor_call";
+export * from "./break";
+export * from "./delete_textpool";
+export * from "./get";
+export * from "./selectoption";
+export * from "./convert";
+export * from "./static";
+export * from "./compute";
+export * from "./multiply";
+export * from "./divide";
+export * from "./format";
+export * from "./syntax_check";
+export * from "./aliases";
+export * from "./method_def";
+export * from "./type_mesh_begin";
+export * from "./type_mesh_end";
+export * from "./interface_def";
+export * from "./at_selection_screen";
+export * from "./include_type";
+export * from "./import_dynpro";
+export * from "./call_function";
+export * from "./call_selection_screen";
+export * from "./call_transformation";
+export * from "./read_line";
+export * from "./read_textpool";
+export * from "./read_report";
+export * from "./read_dataset";
+export * from "./get_bit";
+export * from "./get_reference";
+export * from "./insert_report";
+export * from "./insert_textpool";
+export * from "./set_bit";
+export * from "./get_run_time";
+export * from "./get_parameter";
+export * from "./create_data";
+export * from "./set_country";
+export * from "./function_module";
+export * from "./type_pools";
+export * from "./type_pool";
+export * from "./wait";
+export * from "./overlay";
+export * from "./set_screen";
+export * from "./set_cursor";
+export * from "./call_screen";
+export * from "./set_pf_status";
+export * from "./set_titlebar";
+export * from "./program";
+export * from "./function_pool";
+export * from "./module";
+export * from "./endmodule";
+export * from "./endfunction";
+export * from "./retry";
+export * from "./authority_check";
+export * from "./set_parameter";
+export * from "./get_cursor";
+export * from "./call_kernel";
+export * from "./call_transaction";
+export * from "./unpack";
+export * from "./skip";
+export * from "./uline";
+export * from "./data_begin";
+export * from "./data_end";
+export * from "./type_begin";
+export * from "./type_end";
+export * from "./raise_event";
+export * from "./cleanup";
+export * from "./create_ole";
+export * from "./call_ole";
+export * from "./set_property";
+export * from "./test_injection";
+export * from "./end_test_injection";
+export * from "./test_seam";
+export * from "./end_test_seam";
+export * from "./delete_memory";
+export * from "./provide";
+export * from "./endexec";
+export * from "./sort_dataset";
+export * from "./get_permissions";
+export * from "./set_locks";
+export * from "./enhancement";
+export * from "./end_enhancement";
+export * from "./form_definition";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/infotypes.ts.html b/src/abap/2_statements/statements/infotypes.ts.html new file mode 100644 index 00000000000..30e33e8225c --- /dev/null +++ b/src/abap/2_statements/statements/infotypes.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/infotypes.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements infotypes.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, optPrio} from "../combi";
+import {Constant, Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Infotypes implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const occurs = seq("OCCURS", Constant);
+    const name = seq("NAME", Field);
+ 
+    const ret = seq("INFOTYPES", Constant, optPrio(occurs), optPrio(name));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/initialization.ts.html b/src/abap/2_statements/statements/initialization.ts.html new file mode 100644 index 00000000000..cf2cf722f9f --- /dev/null +++ b/src/abap/2_statements/statements/initialization.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/initialization.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements initialization.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Initialization implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "INITIALIZATION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/insert_database.ts.html b/src/abap/2_statements/statements/insert_database.ts.html new file mode 100644 index 00000000000..9334e4e5932 --- /dev/null +++ b/src/abap/2_statements/statements/insert_database.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/insert_database.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements insert_database.ts

+
+ +
+ 100% + Statements + 32/32 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 32/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, tok} from "../combi";
+import {DatabaseTable, SQLSource, Select, DatabaseConnection, SQLClient} from "../expressions";
+import {WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InsertDatabase implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const sub = seq(tok(WParenLeftW), Select, tok(WParenRightW));
+ 
+    const f = seq(opt(SQLClient),
+                  opt(DatabaseConnection),
+                  "FROM",
+                  opt("TABLE"),
+                  alt(SQLSource, sub),
+                  opt("ACCEPTING DUPLICATE KEYS"));
+ 
+    const from = seq(DatabaseTable,
+                     opt(alt(f, SQLClient, DatabaseConnection)));
+ 
+    const into = seq("INTO",
+                     DatabaseTable,
+                     opt(SQLClient),
+                     opt(DatabaseConnection),
+                     "VALUES",
+                     SQLSource);
+ 
+    return seq("INSERT", alt(from, into));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/insert_field_group.ts.html b/src/abap/2_statements/statements/insert_field_group.ts.html new file mode 100644 index 00000000000..6d668d30be6 --- /dev/null +++ b/src/abap/2_statements/statements/insert_field_group.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/insert_field_group.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements insert_field_group.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, ver, plus} from "../combi";
+import {Version} from "../../../version";
+import {Target, Source, SimpleSource1} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InsertFieldGroup implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const into = seq("INTO", Target);
+ 
+    const src = alt(ver(Version.v740sp02, plus(Source)), plus(SimpleSource1));
+ 
+    const ret = seq("INSERT", src, into);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/insert_internal.ts.html b/src/abap/2_statements/statements/insert_internal.ts.html new file mode 100644 index 00000000000..c2b1f849982 --- /dev/null +++ b/src/abap/2_statements/statements/insert_internal.ts.html @@ -0,0 +1,202 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/insert_internal.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements insert_internal.ts

+
+ +
+ 100% + Statements + 40/40 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 40/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +401x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {str, seq, opt, per, ver, altPrio, alt} from "../combi";
+import {Version} from "../../../version";
+import {FSTarget, Target, Source, Dynamic, SimpleSource4} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InsertInternal implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const target = altPrio(Source, Dynamic);
+    const assigning = seq("ASSIGNING", FSTarget);
+    const ref = seq("REFERENCE INTO", Target);
+    const index = seq("INDEX", Source);
+    const initial = str("INITIAL LINE");
+    const into = seq("INTO", Target);
+    const intoTable = seq("INTO TABLE", Target, opt(alt(ref, assigning)));
+ 
+    const to = seq("TO", Source);
+    const from = seq("FROM", Source);
+    const fromTo = opt(per(from, to));
+ 
+    const foo = alt(intoTable,
+                    seq(into, opt(per(index, alt(ref, assigning)))),
+                    per(index, alt(ref, assigning)));
+ 
+    const lines = seq("LINES OF",
+                      target,
+                      opt(fromTo));
+ 
+    const src = alt(SimpleSource4, ver(Version.v740sp02, Source));
+ 
+    const tab = seq("TABLE", Source);
+ 
+    const ret = seq("INSERT",
+                    altPrio(tab, seq(altPrio(initial, lines, src), foo)));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/insert_report.ts.html b/src/abap/2_statements/statements/insert_report.ts.html new file mode 100644 index 00000000000..9fa3f5d54bf --- /dev/null +++ b/src/abap/2_statements/statements/insert_report.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/insert_report.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements insert_report.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, per, ver} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InsertReport implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const options = per(seq("STATE", Source),
+                        seq("EXTENSION TYPE", Source),
+                        seq("DIRECTORY ENTRY", Source),
+                        seq("UNICODE ENABLING", Source),
+                        seq("PROGRAM TYPE", Source),
+                        ver(Version.v750, seq("VERSION", Source)),
+                        seq("FIXED-POINT ARITHMETIC", Source),
+                        "KEEPING DIRECTORY ENTRY");
+ 
+    const ret = seq("INSERT REPORT",
+                    Source,
+                    "FROM",
+                    Source,
+                    opt(options));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/insert_textpool.ts.html b/src/abap/2_statements/statements/insert_textpool.ts.html new file mode 100644 index 00000000000..bcf9872a8ad --- /dev/null +++ b/src/abap/2_statements/statements/insert_textpool.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/insert_textpool.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements insert_textpool.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InsertTextpool implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const state = seq("STATE", Source);
+    const language = seq("LANGUAGE", Source);
+ 
+    const ret = seq("INSERT TEXTPOOL",
+                    Source,
+                    "FROM",
+                    Source,
+                    opt(language),
+                    opt(state));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/interface.ts.html b/src/abap/2_statements/statements/interface.ts.html new file mode 100644 index 00000000000..dc13991dbc2 --- /dev/null +++ b/src/abap/2_statements/statements/interface.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/interface.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements interface.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {ClassGlobal, InterfaceName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Interface implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("INTERFACE",
+               InterfaceName,
+               opt(ClassGlobal));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/interface_def.ts.html b/src/abap/2_statements/statements/interface_def.ts.html new file mode 100644 index 00000000000..2cc5fb650bb --- /dev/null +++ b/src/abap/2_statements/statements/interface_def.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/interface_def.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements interface_def.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {Version} from "../../../version";
+import {seq, opt, alt, ver, plus} from "../combi";
+import {Source, InterfaceName, AttributeName, AbstractMethods, FinalMethods} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InterfaceDef implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const val = seq(AttributeName, "=", Source);
+ 
+    const dataValues = seq("DATA VALUES", plus(val));
+ 
+    const options = alt(AbstractMethods,
+                        FinalMethods,
+                        "ALL METHODS ABSTRACT",
+                        "ALL METHODS FINAL",
+                        ver(Version.v740sp02, "PARTIALLY IMPLEMENTED"));
+ 
+    return seq("INTERFACES",
+               InterfaceName,
+               opt(options),
+               opt(dataValues));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/interface_deferred.ts.html b/src/abap/2_statements/statements/interface_deferred.ts.html new file mode 100644 index 00000000000..1c8002a54b8 --- /dev/null +++ b/src/abap/2_statements/statements/interface_deferred.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/interface_deferred.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements interface_deferred.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {InterfaceName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InterfaceDeferred implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("INTERFACE",
+               InterfaceName,
+               "DEFERRED",
+               opt("PUBLIC"));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/interface_load.ts.html b/src/abap/2_statements/statements/interface_load.ts.html new file mode 100644 index 00000000000..08ae0947c61 --- /dev/null +++ b/src/abap/2_statements/statements/interface_load.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/interface_load.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements interface_load.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {InterfaceName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class InterfaceLoad implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("INTERFACE",
+               InterfaceName,
+               "LOAD");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/leave.ts.html b/src/abap/2_statements/statements/leave.ts.html new file mode 100644 index 00000000000..0e20c5d2403 --- /dev/null +++ b/src/abap/2_statements/statements/leave.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/leave.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements leave.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, opt} from "../combi";
+import {Source, AndReturn} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Leave implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const retu = seq(AndReturn, "TO SCREEN", Source);
+ 
+    const transaction = seq("TO TRANSACTION",
+                            Source,
+                            opt("AND SKIP FIRST SCREEN"));
+ 
+    const ret = seq("LEAVE",
+                    opt(alt("TO CURRENT TRANSACTION",
+                            seq(opt("TO"), "LIST-PROCESSING", opt(retu)),
+                            "LIST-PROCESSING",
+                            "SCREEN",
+                            transaction,
+                            "PROGRAM",
+                            seq("TO SCREEN", Source))));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/load_of_program.ts.html b/src/abap/2_statements/statements/load_of_program.ts.html new file mode 100644 index 00000000000..ae3abededef --- /dev/null +++ b/src/abap/2_statements/statements/load_of_program.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/load_of_program.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements load_of_program.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class LoadOfProgram implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = str("LOAD-OF-PROGRAM");
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/load_report.ts.html b/src/abap/2_statements/statements/load_report.ts.html new file mode 100644 index 00000000000..70185854a74 --- /dev/null +++ b/src/abap/2_statements/statements/load_report.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/load_report.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements load_report.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class LoadReport implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("LOAD REPORT",
+                    Source,
+                    "PART",
+                    Source,
+                    "INTO",
+                    Target);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/local.ts.html b/src/abap/2_statements/statements/local.ts.html new file mode 100644 index 00000000000..2a522de7e9c --- /dev/null +++ b/src/abap/2_statements/statements/local.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/local.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements local.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {FieldSub, TableBody} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Local implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("LOCAL", FieldSub, opt(TableBody));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/log_point.ts.html b/src/abap/2_statements/statements/log_point.ts.html new file mode 100644 index 00000000000..d1ea2347e97 --- /dev/null +++ b/src/abap/2_statements/statements/log_point.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/log_point.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements log_point.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, plus} from "../combi";
+import {Source, NamespaceSimpleName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class LogPoint implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const subkey = seq("SUBKEY", Source);
+ 
+    const fields = seq("FIELDS", plus(Source));
+ 
+    const ret = seq("LOG-POINT ID",
+                    NamespaceSimpleName,
+                    opt(subkey),
+                    opt(fields));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/loop.ts.html b/src/abap/2_statements/statements/loop.ts.html new file mode 100644 index 00000000000..c9366c9cb9d --- /dev/null +++ b/src/abap/2_statements/statements/loop.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/loop.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements loop.ts

+
+ +
+ 100% + Statements + 35/35 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 35/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, ver, altPrio, per, failCombinator} from "../combi";
+import {ComponentCond, Dynamic, Source, SimpleName, LoopTarget} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {SimpleSource2} from "../expressions/simple_source2";
+import {LoopGroupBy} from "../expressions/loop_group_by";
+ 
+export class Loop implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const where = seq("WHERE", alt(ComponentCond, Dynamic));
+ 
+    const group = ver(Version.v740sp08, seq("GROUP BY", LoopGroupBy));
+ 
+    const step = ver(Version.v757, seq("STEP", Source));
+ 
+    const from = seq("FROM", Source);
+ 
+    const to = seq("TO", Source);
+ 
+    const usingKey = seq("USING KEY", altPrio(SimpleName, Dynamic));
+ 
+    const options = per(LoopTarget, from, to, where, usingKey, group, step);
+ 
+    const at = seq("AT",
+                   opt(seq("SCREEN", failCombinator())),
+                   opt(ver(Version.v740sp08, "GROUP")),
+                   alt(SimpleSource2, ver(Version.v740sp02, Source)),
+                   opt(options));
+ 
+    return seq("LOOP", opt(at));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/loop_at_screen.ts.html b/src/abap/2_statements/statements/loop_at_screen.ts.html new file mode 100644 index 00000000000..d450f123277 --- /dev/null +++ b/src/abap/2_statements/statements/loop_at_screen.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/loop_at_screen.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements loop_at_screen.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {opt, seq, verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {Target} from "../expressions";
+ 
+export class LoopAtScreen implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const l = seq("LOOP AT SCREEN", opt(seq("INTO", Target)));
+    return verNot(Version.Cloud, l);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/message.ts.html b/src/abap/2_statements/statements/message.ts.html new file mode 100644 index 00000000000..7d97be223b5 --- /dev/null +++ b/src/abap/2_statements/statements/message.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/message.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements message.ts

+
+ +
+ 100% + Statements + 39/39 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 39/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +391x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, alt, per, optPrio, altPrio, ver, verNot} from "../combi";
+import {Target, Source, ExceptionName, MessageSource, SimpleSource3} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class Message implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const s = alt(ver(Version.v740sp02, Source), SimpleSource3);
+    const like = seq("DISPLAY LIKE", Source);
+    const into = seq("INTO", Target);
+    const raising = seq("RAISING", ExceptionName);
+ 
+    const options = per(like, into, raising);
+ 
+    const type = seq("TYPE", Source);
+ 
+    const sou = altPrio(options, s);
+    const sourc = alt(sou,
+                      seq(s, sou),
+                      seq(s, s, sou),
+                      seq(s, s, s, options));
+ 
+    const mwith = seq("WITH", s, opt(sourc));
+ 
+    const foo = seq(MessageSource, opt(options), opt(mwith));
+    const text = seq(s, type, optPrio(like), optPrio(raising));
+ 
+    const cloud1 = seq(opt(seq("WITH", Source, opt(Source), opt(Source), opt(Source))), altPrio(into, raising));
+    const cloud2 = seq(altPrio(into, raising), opt(seq("WITH", Source, opt(Source), opt(Source), opt(Source))));
+    const cloud = seq(MessageSource, alt(cloud1, cloud2));
+ 
+    const ret = seq("MESSAGE", altPrio(verNot(Version.Cloud, foo), verNot(Version.Cloud, text), ver(Version.Cloud, cloud)));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/method_def.ts.html b/src/abap/2_statements/statements/method_def.ts.html new file mode 100644 index 00000000000..7c0a98e5fe9 --- /dev/null +++ b/src/abap/2_statements/statements/method_def.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/method_def.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements method_def.ts

+
+ +
+ 100% + Statements + 70/70 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 70/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x
import {Version} from "../../../version";
+import {IStatement} from "./_statement";
+import {seq, alt, altPrio, ver, regex as reg, optPrio} from "../combi";
+import {MethodDefChanging, MethodDefReturning, Redefinition, MethodName, MethodDefExporting, MethodDefImporting, EventHandler, Abstract, MethodDefRaising, MethodDefExceptions, MethodParamName, NamespaceSimpleName, TypeName, EntityAssociation} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodDef implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const def = ver(Version.v740sp08, seq("DEFAULT", altPrio("FAIL", "IGNORE")));
+ 
+    const parameters = seq(optPrio(altPrio("FINAL", def, Abstract)),
+                           optPrio(MethodDefImporting),
+                           optPrio(MethodDefExporting),
+                           optPrio(MethodDefChanging),
+                           optPrio(MethodDefReturning),
+                           optPrio(altPrio(MethodDefRaising, MethodDefExceptions)));
+ 
+    const testing = seq(optPrio(Abstract), "FOR TESTING", optPrio(altPrio(MethodDefRaising, MethodDefExceptions)));
+ 
+// todo, this is only from version something
+    const tableFunction = seq("TABLE FUNCTION", reg(/^\w+?$/));
+// todo, this is only from version something
+    const ddl = "DDL OBJECT OPTIONS CDS SESSION CLIENT REQUIRED";
+ 
+    const result = seq("RESULT", MethodParamName);
+    const link = seq("LINK", MethodParamName);
+    const full = seq("FULL", MethodParamName);
+ 
+    const modify = alt(
+      seq("FOR ACTION", TypeName, optPrio(result)),
+      seq("FOR CREATE", alt(TypeName, EntityAssociation)),
+      seq("FOR DELETE", TypeName),
+      seq("FOR UPDATE", TypeName));
+ 
+    const behavior = altPrio(
+      seq("VALIDATE ON SAVE IMPORTING", MethodParamName, "FOR", TypeName),
+      seq("MODIFY IMPORTING", MethodParamName, modify),
+      seq("READ IMPORTING", MethodParamName, "FOR READ", alt(TypeName, EntityAssociation), optPrio(full), result, optPrio(link)),
+      seq("FEATURES IMPORTING", MethodParamName, "REQUEST", NamespaceSimpleName, "FOR", NamespaceSimpleName, result),
+      seq("BEHAVIOR IMPORTING", MethodParamName, "FOR CREATE", TypeName, MethodParamName, "FOR UPDATE", TypeName, MethodParamName, "FOR DELETE", TypeName),
+      seq("BEHAVIOR IMPORTING", MethodParamName, "FOR READ", TypeName, result),
+      seq(alt("BEHAVIOR", "LOCK"), "IMPORTING", MethodParamName, "FOR LOCK", TypeName),
+      seq("DETERMINE", alt("ON MODIFY", "ON SAVE"), "IMPORTING", MethodParamName, "FOR", TypeName),
+      seq("GLOBAL AUTHORIZATION IMPORTING REQUEST", MethodParamName, "FOR", TypeName, result),
+      seq("INSTANCE AUTHORIZATION IMPORTING", MethodParamName, "REQUEST", MethodParamName, "FOR", TypeName, result),
+    );
+ 
+// todo, this is only from version something
+    const amdp = seq(
+      "AMDP OPTIONS CDS SESSION CLIENT CURRENT",
+      optPrio(MethodDefImporting),
+      optPrio(MethodDefExporting),
+      optPrio(MethodDefRaising));
+ 
+    const ret = seq(altPrio("CLASS-METHODS", "METHODS"),
+                    MethodName,
+                    alt(seq(optPrio(Abstract), EventHandler),
+                        parameters,
+                        testing,
+                        seq("FOR", alt(tableFunction, ddl, behavior)),
+                        amdp,
+                        "NOT AT END OF MODE",
+                        optPrio(Redefinition)));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/method_implementation.ts.html b/src/abap/2_statements/statements/method_implementation.ts.html new file mode 100644 index 00000000000..d5bb4ddd7ce --- /dev/null +++ b/src/abap/2_statements/statements/method_implementation.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/method_implementation.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements method_implementation.ts

+
+ +
+ 100% + Statements + 27/27 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 27/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +271x +1x +1x +1x +1x +1x +1x +1x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, optPrio, alt, plus, altPrio, regex as reg} from "../combi";
+import {MethodName, Language, SimpleFieldChain} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MethodImplementation implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const name = reg(/[\w~]+/);
+ 
+    const kernel = seq("KERNEL MODULE",
+                       plus(name),
+                       optPrio(altPrio("FAIL", "IGNORE")));
+ 
+    const using = seq("USING", plus(SimpleFieldChain));
+ 
+    const database = seq("DATABASE", alt("PROCEDURE", "FUNCTION", "GRAPH WORKSPACE"), "FOR HDB",
+                         Language,
+                         opt("OPTIONS READ-ONLY"),
+                         opt(using));
+ 
+    const by = seq("BY", alt(kernel, database));
+ 
+    return seq("METHOD", MethodName, optPrio(by));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/modify_database.ts.html b/src/abap/2_statements/statements/modify_database.ts.html new file mode 100644 index 00000000000..6d842d4a52d --- /dev/null +++ b/src/abap/2_statements/statements/modify_database.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/modify_database.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements modify_database.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, per} from "../combi";
+import {DatabaseTable, SQLSource, DatabaseConnection, SQLClient} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ModifyDatabase implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const from = seq("FROM", opt("TABLE"), SQLSource);
+ 
+    const options = per(DatabaseConnection, from, SQLClient);
+ 
+    return seq("MODIFY", DatabaseTable, options);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/modify_entities.ts.html b/src/abap/2_statements/statements/modify_entities.ts.html new file mode 100644 index 00000000000..6ea64e0996b --- /dev/null +++ b/src/abap/2_statements/statements/modify_entities.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/modify_entities.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements modify_entities.ts

+
+ +
+ 100% + Statements + 30/30 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 30/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +301x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {alt, opt, optPrio, per, plus, seq, ver} from "../combi";
+import {NamespaceSimpleName, SimpleName, Source, Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class ModifyEntities implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const fieldsWith = seq("FIELDS (", plus(SimpleName), ") WITH", Source);
+    const operation = alt(
+      seq("UPDATE SET FIELDS WITH", Source),
+      seq("CREATE SET FIELDS WITH", Source),
+      seq("UPDATE", fieldsWith),
+      seq("DELETE FROM", Source),
+      seq("EXECUTE", SimpleName, "FROM", Source),
+      seq("CREATE", optPrio("AUTO FILL CID"), fieldsWith));
+ 
+    const s = seq("MODIFY ENTITIES OF", NamespaceSimpleName,
+                  opt("IN LOCAL MODE"),
+                  "ENTITY", SimpleName,
+                  operation,
+                  per(seq("FAILED", Target),
+                      seq("RESULT", Target),
+                      seq("MAPPED", Target),
+                      seq("REPORTED", Target)));
+    return ver(Version.v754, s);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/modify_internal.ts.html b/src/abap/2_statements/statements/modify_internal.ts.html new file mode 100644 index 00000000000..7e55101ed7b --- /dev/null +++ b/src/abap/2_statements/statements/modify_internal.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/modify_internal.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements modify_internal.ts

+
+ +
+ 100% + Statements + 32/32 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 32/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, alt, per, plus} from "../combi";
+import {FSTarget, Target, Source, Dynamic, ComponentCond, ComponentChainSimple, SimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ModifyInternal implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const index = seq("INDEX", Source);
+    const from = seq("FROM", Source);
+    const transporting = seq("TRANSPORTING", plus(alt(ComponentChainSimple, Dynamic)));
+ 
+    const where = seq("WHERE", ComponentCond);
+    const assigning = seq("ASSIGNING", FSTarget);
+    const using = seq("USING KEY", SimpleName);
+    const additions = per(where, assigning, using);
+ 
+    const target = alt(Target, Dynamic);
+ 
+    const options = alt(
+      per(index, transporting),
+      seq(from, opt(per(index, transporting))),
+      seq(per(index, transporting), from, opt(per(index, transporting))));
+ 
+    const long = seq("MODIFY", opt("TABLE"), target, opt(options), opt(additions));
+ 
+    const simple = seq("MODIFY TABLE", target, from, opt(using));
+ 
+    return alt(long, simple);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/modify_line.ts.html b/src/abap/2_statements/statements/modify_line.ts.html new file mode 100644 index 00000000000..7eb0d2ae689 --- /dev/null +++ b/src/abap/2_statements/statements/modify_line.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/modify_line.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements modify_line.ts

+
+ +
+ 100% + Statements + 37/37 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 37/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, alt, opt, per, plus, optPrio, altPrio} from "../combi";
+import {Source, Color} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ModifyLine implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const form = seq(alt("INVERSE", "INPUT"),
+                     "=",
+                     Source);
+ 
+    const from = seq("FROM", Source);
+    const value = seq("FIELD VALUE", plus(seq(Source, optPrio(from))));
+    const format = seq("FIELD FORMAT", Source, opt(form));
+    const lineValue = seq("LINE VALUE FROM", Source);
+    const index = seq("INDEX", Source);
+    const page = seq("OF PAGE", Source);
+    const ocp = str("OF CURRENT PAGE");
+    const lineFormat = seq("LINE FORMAT",
+                           alt("INPUT OFF", "INVERSE", "RESET", "INTENSIFIED"));
+    const onOff = alt("ON", "OFF");
+    const intensified = seq("INTENSIFIED", onOff);
+ 
+    const options = per(index, value, format, page, lineFormat, lineValue, ocp, intensified, Color);
+ 
+    const ret = seq("MODIFY",
+                    altPrio("CURRENT LINE",
+                            seq("LINE", Source)),
+                    opt(options));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/modify_screen.ts.html b/src/abap/2_statements/statements/modify_screen.ts.html new file mode 100644 index 00000000000..c6168710188 --- /dev/null +++ b/src/abap/2_statements/statements/modify_screen.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/modify_screen.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements modify_screen.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ModifyScreen implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("MODIFY SCREEN", opt(seq("FROM", Source)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/module.ts.html b/src/abap/2_statements/statements/module.ts.html new file mode 100644 index 00000000000..c0996ddf8dd --- /dev/null +++ b/src/abap/2_statements/statements/module.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/module.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements module.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, opt} from "../combi";
+import {FormName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Module implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("MODULE",
+                    FormName,
+                    opt(alt("INPUT", "OUTPUT")));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/move.ts.html b/src/abap/2_statements/statements/move.ts.html new file mode 100644 index 00000000000..69747359c10 --- /dev/null +++ b/src/abap/2_statements/statements/move.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/move.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements move.ts

+
+ +
+ 100% + Statements + 37/37 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 37/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, tok, ver, seq, alt, altPrio, star} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {WPlus, WDash} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Move implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const mov = verNot(Version.Cloud, "MOVE");
+ 
+    const move = seq(mov,
+                     altPrio(
+                       seq("EXACT", Source, "TO", Target),
+                       seq(Source, altPrio("?TO", "TO"), Target)));
+ 
+ 
+    const calcAssign = ver(Version.v754,
+                           alt(seq(tok(WPlus), "="),
+                               seq(tok(WDash), "="),
+                               "/=",
+                               "*=",
+                               "&&="));
+ 
+    const chained = seq("=", star(seq(Target, "=")));
+ 
+    const equals = altPrio(altPrio(chained, "?="), calcAssign);
+ 
+// todo, move "?=" to CAST?
+    const eq = seq(Target, equals, Source);
+ 
+    return altPrio(move, eq);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/move_corresponding.ts.html b/src/abap/2_statements/statements/move_corresponding.ts.html new file mode 100644 index 00000000000..de0dfb65b6a --- /dev/null +++ b/src/abap/2_statements/statements/move_corresponding.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/move_corresponding.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements move_corresponding.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {ver, seq, optPrio} from "../combi";
+import {Source, SimpleTarget} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class MoveCorresponding implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const keeping = ver(Version.v740sp05, "KEEPING TARGET LINES");
+    const expanding = ver(Version.v740sp05, "EXPANDING NESTED TABLES");
+ 
+    const move = seq("MOVE-CORRESPONDING",
+                     optPrio("EXACT"),
+                     Source,
+                     "TO",
+// inline defintions not possible in this position,
+                     SimpleTarget,
+                     optPrio(expanding),
+                     optPrio(keeping));
+ 
+    return move;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/multiply.ts.html b/src/abap/2_statements/statements/multiply.ts.html new file mode 100644 index 00000000000..7d7578e3da5 --- /dev/null +++ b/src/abap/2_statements/statements/multiply.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/multiply.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements multiply.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Multiply implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("MULTIPLY",
+                    Target,
+                    "BY",
+                    Source);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/new_line.ts.html b/src/abap/2_statements/statements/new_line.ts.html new file mode 100644 index 00000000000..002afa29c43 --- /dev/null +++ b/src/abap/2_statements/statements/new_line.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/new_line.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements new_line.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, alt} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class NewLine implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("NEW-LINE",
+                    opt(alt("SCROLLING", "NO-SCROLLING")));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/new_page.ts.html b/src/abap/2_statements/statements/new_page.ts.html new file mode 100644 index 00000000000..d8487fa0035 --- /dev/null +++ b/src/abap/2_statements/statements/new_page.ts.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/new_page.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements new_page.ts

+
+ +
+ 100% + Statements + 50/50 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 50/50 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +501x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, per, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class NewPage implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const line = seq("LINE-SIZE", Source);
+    const print = seq("PRINT", alt("OFF", "ON"));
+    const parameters = seq("PARAMETERS", Source);
+    const destination = seq("DESTINATION", Source);
+    const archive = seq("ARCHIVE PARAMETERS", Source);
+    const lineCount = seq("LINE-COUNT", Source);
+    const coverText = seq("COVER TEXT", Source);
+    const coverPage = seq("SAP COVER PAGE", Source);
+    const immediately = seq("IMMEDIATELY", Source);
+    const keep = seq("KEEP IN SPOOL", Source);
+    const layout = seq("LAYOUT", Source);
+    const listAuth = seq("LIST AUTHORITY", Source);
+    const dataset = seq("LIST DATASET", Source);
+    const name = seq("LIST NAME", Source);
+    const newList = seq("NEW LIST IDENTIFICATION", Source);
+ 
+    const ret = seq("NEW-PAGE",
+                    opt(per(print,
+                            alt("NO-TITLE", "WITH-TITLE"),
+                            alt("NO-HEADING", "WITH-HEADING"),
+                            "NO DIALOG",
+                            parameters,
+                            listAuth,
+                            immediately,
+                            dataset,
+                            coverPage,
+                            newList,
+                            keep,
+                            name,
+                            layout,
+                            destination,
+                            coverText,
+                            archive,
+                            "NEW-SECTION",
+                            lineCount,
+                            line)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/nodes.ts.html b/src/abap/2_statements/statements/nodes.ts.html new file mode 100644 index 00000000000..392f56018aa --- /dev/null +++ b/src/abap/2_statements/statements/nodes.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/nodes.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements nodes.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Nodes implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("NODES", Field);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/on_change.ts.html b/src/abap/2_statements/statements/on_change.ts.html new file mode 100644 index 00000000000..acaff2cca38 --- /dev/null +++ b/src/abap/2_statements/statements/on_change.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/on_change.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements on_change.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, star} from "../combi";
+import {Target} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class OnChange implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const or = seq("OR", Target);
+ 
+    const ret = seq("ON CHANGE OF", Target, star(or));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/open_cursor.ts.html b/src/abap/2_statements/statements/open_cursor.ts.html new file mode 100644 index 00000000000..23022b9b56d --- /dev/null +++ b/src/abap/2_statements/statements/open_cursor.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/open_cursor.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements open_cursor.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, optPrio} from "../combi";
+import {Select, SQLTarget} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class OpenCursor implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("OPEN CURSOR",
+                    optPrio("WITH HOLD"),
+                    SQLTarget,
+                    "FOR",
+                    Select);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/open_dataset.ts.html b/src/abap/2_statements/statements/open_dataset.ts.html new file mode 100644 index 00000000000..4a3d664fc71 --- /dev/null +++ b/src/abap/2_statements/statements/open_dataset.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/open_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements open_dataset.ts

+
+ +
+ 100% + Statements + 37/37 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 37/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, altPrio, per, opt} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class OpenDataset implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const mode = seq("IN",
+                     opt("LEGACY"),
+                     altPrio("BINARY MODE", "TEXT MODE"));
+ 
+    const code = seq("CODE PAGE", Source);
+ 
+    const direction = seq("FOR", altPrio("OUTPUT", "INPUT", "UPDATE", "APPENDING"));
+    const encoding = seq("ENCODING", altPrio("DEFAULT", "UTF-8", "NON-UNICODE"));
+    const pos = seq("AT POSITION", Source);
+    const message = seq("MESSAGE", Target);
+    const ignoring = str("IGNORING CONVERSION ERRORS");
+    const replacement = seq("REPLACEMENT CHARACTER", Source);
+    const bom = str("SKIPPING BYTE-ORDER MARK");
+    const wbom = str("WITH BYTE-ORDER MARK");
+    const type = seq("TYPE", Source);
+    const filter = seq("FILTER", Source);
+    const linetype = altPrio("SMART", "NATIVE", "UNIX");
+    const feed = seq("WITH", linetype, "LINEFEED");
+    const windows = str("WITH WINDOWS LINEFEED");
+ 
+    const ret = seq("OPEN DATASET",
+                    Source,
+                    per(direction, type, mode, wbom, replacement, filter, encoding, pos, message, ignoring, bom, code, feed, windows));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/overlay.ts.html b/src/abap/2_statements/statements/overlay.ts.html new file mode 100644 index 00000000000..1a96f8bfd0a --- /dev/null +++ b/src/abap/2_statements/statements/overlay.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/overlay.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements overlay.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Overlay implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const only = seq("ONLY", Source);
+ 
+    const ret = seq("OVERLAY",
+                    Target,
+                    "WITH",
+                    Source,
+                    opt(only));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/pack.ts.html b/src/abap/2_statements/statements/pack.ts.html new file mode 100644 index 00000000000..76f2a6f8ebf --- /dev/null +++ b/src/abap/2_statements/statements/pack.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/pack.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements pack.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Pack implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("PACK", Source, "TO", Target);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/parameter.ts.html b/src/abap/2_statements/statements/parameter.ts.html new file mode 100644 index 00000000000..00b2396f39b --- /dev/null +++ b/src/abap/2_statements/statements/parameter.ts.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/parameter.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements parameter.ts

+
+ +
+ 100% + Statements + 48/48 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 48/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +481x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, opt, altPrio, per, regex as reg} from "../combi";
+import {Source, Constant, FieldChain, Dynamic, Field, FieldLength, FieldSub, RadioGroupName, Modif, TypeName, SimpleSource1} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Parameter implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const para = altPrio("PARAMETER", "PARAMETERS");
+    const def = seq("DEFAULT", altPrio(Constant, FieldChain));
+    const radio = seq("RADIOBUTTON GROUP", RadioGroupName);
+    const type = seq(altPrio("TYPE", "LIKE"), altPrio(TypeName, Dynamic));
+    const memory = seq("MEMORY ID", SimpleSource1);
+    const listbox = str("AS LISTBOX");
+    const cmd = seq("USER-COMMAND", reg(/^\w+$/));
+    const modif = seq("MODIF ID", Modif);
+    const visible = seq("VISIBLE LENGTH", Constant);
+    const length = seq("LENGTH", Constant);
+    const match = seq("MATCHCODE OBJECT", Field);
+    const decimals = seq("DECIMALS", Source);
+ 
+    const perm = per(type,
+                     def,
+                     "OBLIGATORY",
+                     match,
+                     cmd,
+                     length,
+                     decimals,
+                     radio,
+                     memory,
+                     modif,
+                     listbox,
+                     visible,
+                     "VALUE CHECK",
+                     "NO-DISPLAY",
+                     "AS CHECKBOX",
+                     "LOWER CASE");
+ 
+    const ret = seq(para,
+                    FieldSub,
+                    opt(FieldLength),
+                    opt(perm));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/perform.ts.html b/src/abap/2_statements/statements/perform.ts.html new file mode 100644 index 00000000000..2b57a2c8d33 --- /dev/null +++ b/src/abap/2_statements/statements/perform.ts.html @@ -0,0 +1,202 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/perform.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements perform.ts

+
+ +
+ 100% + Statements + 40/40 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 40/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +401x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, opt, alt, tok} from "../combi";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import * as Expressions from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {PerformTables, PerformUsing, PerformChanging} from "../expressions";
+ 
+export class Perform implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const level = seq("LEVEL", Expressions.Source);
+    const commit = alt(seq("ON COMMIT", opt(level)),
+                       "ON ROLLBACK");
+ 
+    const short = verNot(Version.Cloud, seq(Expressions.FormName,
+                                            tok(ParenLeft),
+                                            Expressions.IncludeName,
+                                            tok(ParenRightW)));
+ 
+    const program = seq("IN PROGRAM", opt(alt(Expressions.Dynamic, Expressions.IncludeName)));
+ 
+    const found = str("IF FOUND");
+ 
+    const full = seq(alt(Expressions.FormName, Expressions.Dynamic),
+                     opt(verNot(Version.Cloud, program)));
+ 
+    const ret = seq("PERFORM",
+                    alt(short, full),
+                    opt(found),
+                    opt(PerformTables),
+                    opt(PerformUsing),
+                    opt(PerformChanging),
+                    opt(found),
+                    opt(commit));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/position.ts.html b/src/abap/2_statements/statements/position.ts.html new file mode 100644 index 00000000000..ba3fb12bd0a --- /dev/null +++ b/src/abap/2_statements/statements/position.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/position.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements position.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Position implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("POSITION", Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/print_control.ts.html b/src/abap/2_statements/statements/print_control.ts.html new file mode 100644 index 00000000000..c14dc12d48f --- /dev/null +++ b/src/abap/2_statements/statements/print_control.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/print_control.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements print_control.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, alt, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class PrintControl implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const index = seq("INDEX-LINE", Source);
+    const func = seq("FUNCTION", Source);
+ 
+    const ret = seq("PRINT-CONTROL", alt(index, func));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/private.ts.html b/src/abap/2_statements/statements/private.ts.html new file mode 100644 index 00000000000..d2bfdf17f10 --- /dev/null +++ b/src/abap/2_statements/statements/private.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/private.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements private.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Private implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("PRIVATE SECTION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/program.ts.html b/src/abap/2_statements/statements/program.ts.html new file mode 100644 index 00000000000..24a65deb0b6 --- /dev/null +++ b/src/abap/2_statements/statements/program.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/program.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements program.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, opt, per, optPrio} from "../combi";
+import {Source, ReportName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Program implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const message = seq("MESSAGE-ID", Source);
+    const size = seq("LINE-SIZE", Source);
+    const heading = str("NO STANDARD PAGE HEADING");
+    const line = seq("LINE-COUNT", Source);
+    const options = per(message, size, heading, line);
+ 
+    const ret = seq("PROGRAM", optPrio(ReportName), opt(options));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/protected.ts.html b/src/abap/2_statements/statements/protected.ts.html new file mode 100644 index 00000000000..d757e271573 --- /dev/null +++ b/src/abap/2_statements/statements/protected.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/protected.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements protected.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Protected implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("PROTECTED SECTION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/provide.ts.html b/src/abap/2_statements/statements/provide.ts.html new file mode 100644 index 00000000000..982fe5f4bd9 --- /dev/null +++ b/src/abap/2_statements/statements/provide.ts.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/provide.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements provide.ts

+
+ +
+ 100% + Statements + 38/38 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 38/38 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +381x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, plus, altPrio} from "../combi";
+import {Field, Source, Target, SimpleSource3} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Provide implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const list = plus(altPrio("*", Field));
+ 
+    const fields = seq("FIELDS",
+                       list,
+                       "FROM",
+                       Source,
+                       "INTO",
+                       Target,
+                       "VALID",
+                       Field,
+                       "BOUNDS",
+                       Field,
+                       "AND",
+                       Field);
+ 
+    const fieldList = altPrio(seq(list, "FROM", Source), list);
+ 
+    const ret = seq("PROVIDE",
+                    altPrio(plus(fields), plus(fieldList)),
+                    "BETWEEN",
+                    SimpleSource3,
+                    "AND",
+                    SimpleSource3);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/public.ts.html b/src/abap/2_statements/statements/public.ts.html new file mode 100644 index 00000000000..8c452df086d --- /dev/null +++ b/src/abap/2_statements/statements/public.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/public.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements public.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Public implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("PUBLIC SECTION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/put.ts.html b/src/abap/2_statements/statements/put.ts.html new file mode 100644 index 00000000000..cdf5faebc6f --- /dev/null +++ b/src/abap/2_statements/statements/put.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/put.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements put.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Version} from "../../../version";
+import {Field} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Put implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("PUT", Field);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/raise.ts.html b/src/abap/2_statements/statements/raise.ts.html new file mode 100644 index 00000000000..7525f1eb062 --- /dev/null +++ b/src/abap/2_statements/statements/raise.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/raise.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements raise.ts

+
+ +
+ 100% + Statements + 37/37 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 37/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, ver, optPrio, altPrio} from "../combi";
+import {Version} from "../../../version";
+import {Source, ParameterListS, ClassName, MessageSource, SimpleSource2, RaiseWith, MessageNumber, ExceptionName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Raise implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const mess = seq("MESSAGE",
+                     MessageSource,
+                     opt(RaiseWith));
+ 
+    const messid = seq("MESSAGE ID",
+                       Source,
+                       "NUMBER",
+                       altPrio(MessageNumber, Source),
+                       optPrio(RaiseWith));
+ 
+    const exporting = seq("EXPORTING", ParameterListS);
+ 
+    const from = seq("TYPE",
+                     ClassName,
+                     opt(alt(ver(Version.v750, alt(mess, messid)), ver(Version.v752, "USING MESSAGE"))),
+                     optPrio(exporting));
+ 
+    const pre = altPrio(seq(optPrio("RESUMABLE"), "EXCEPTION"), "SHORTDUMP");
+ 
+    const clas = seq(pre,
+                     altPrio(from, ver(Version.v752, Source), SimpleSource2));
+ 
+    const ret = seq("RAISE", altPrio(clas, ExceptionName));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/raise_entity_event.ts.html b/src/abap/2_statements/statements/raise_entity_event.ts.html new file mode 100644 index 00000000000..b1238a7a560 --- /dev/null +++ b/src/abap/2_statements/statements/raise_entity_event.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/raise_entity_event.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements raise_entity_event.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {EventName, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class RaiseEntityEvent implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("RAISE ENTITY EVENT", EventName, "FROM", Source);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/raise_event.ts.html b/src/abap/2_statements/statements/raise_event.ts.html new file mode 100644 index 00000000000..cf7f2f7a0c6 --- /dev/null +++ b/src/abap/2_statements/statements/raise_event.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/raise_event.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements raise_event.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {ParameterListS, EventName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class RaiseEvent implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const exporting = seq("EXPORTING", ParameterListS);
+ 
+    return seq("RAISE EVENT", EventName, opt(exporting));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/ranges.ts.html b/src/abap/2_statements/statements/ranges.ts.html new file mode 100644 index 00000000000..e0c9e3bd196 --- /dev/null +++ b/src/abap/2_statements/statements/ranges.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/ranges.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements ranges.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source, SimpleName, FieldSub} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Ranges implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const occurs = seq("OCCURS", Source);
+ 
+    const ret = seq("RANGES",
+                    SimpleName,
+                    "FOR",
+                    FieldSub,
+                    opt(occurs));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/read_dataset.ts.html b/src/abap/2_statements/statements/read_dataset.ts.html new file mode 100644 index 00000000000..1ba7ebd9db4 --- /dev/null +++ b/src/abap/2_statements/statements/read_dataset.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/read_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements read_dataset.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ReadDataset implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("READ DATASET",
+                    Source,
+                    "INTO",
+                    Target,
+                    opt(seq("MAXIMUM LENGTH", Source)),
+                    opt(seq("ACTUAL LENGTH", Target)),
+                    opt(seq("LENGTH", Target)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/read_entities.ts.html b/src/abap/2_statements/statements/read_entities.ts.html new file mode 100644 index 00000000000..f12ab063a84 --- /dev/null +++ b/src/abap/2_statements/statements/read_entities.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/read_entities.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements read_entities.ts

+
+ +
+ 100% + Statements + 27/27 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 27/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +271x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver, tok, plus, alt, optPrio, opt} from "../combi";
+import {AssociationName, NamespaceSimpleName, SimpleName, Source, Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+import {WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+ 
+export class ReadEntities implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const from = seq("FROM", Source);
+    const fields = seq("FIELDS", tok(WParenLeftW), plus(SimpleName), tok(WParenRightW), "WITH", Source);
+    const all = seq("ALL FIELDS WITH", Source);
+ 
+    const s = seq("READ ENTITIES OF", NamespaceSimpleName,
+                  opt("IN LOCAL MODE"),
+                  "ENTITY", SimpleName,
+                  opt(seq("BY", AssociationName)),
+                  alt(fields, from, all),
+                  "RESULT", Target,
+                  optPrio(seq("LINK", Target)),
+                  optPrio(seq("FAILED", Target)),
+                  optPrio(seq("REPORTED", Target)));
+    return ver(Version.v754, s);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/read_line.ts.html b/src/abap/2_statements/statements/read_line.ts.html new file mode 100644 index 00000000000..548b94cbe2b --- /dev/null +++ b/src/abap/2_statements/statements/read_line.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/read_line.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements read_line.ts

+
+ +
+ 100% + Statements + 29/29 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 29/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, per, opt, alt, plus} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ReadLine implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const val = seq("LINE VALUE INTO", Target);
+ 
+    const fields = seq(Target, opt(seq("INTO", Target)));
+ 
+    const field = seq("FIELD VALUE", plus(fields));
+ 
+    const index = seq("INDEX", Source);
+ 
+    const page = seq("OF PAGE", Source);
+ 
+    const current = str("OF CURRENT PAGE");
+ 
+    const ret = seq("READ",
+                    alt("CURRENT LINE", seq("LINE", Source)),
+                    opt(per(val, index, field, page, current)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/read_report.ts.html b/src/abap/2_statements/statements/read_report.ts.html new file mode 100644 index 00000000000..6402ab54d7f --- /dev/null +++ b/src/abap/2_statements/statements/read_report.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/read_report.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements read_report.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, per} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ReadReport implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const state = seq("STATE", Source);
+    const into = seq("INTO", Target);
+    const maximum = seq("MAXIMUM WIDTH INTO", Target);
+ 
+    const ret = seq("READ REPORT",
+                    Source,
+                    per(state, into, maximum));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/read_table.ts.html b/src/abap/2_statements/statements/read_table.ts.html new file mode 100644 index 00000000000..ae1fd1219bd --- /dev/null +++ b/src/abap/2_statements/statements/read_table.ts.html @@ -0,0 +1,202 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/read_table.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements read_table.ts

+
+ +
+ 100% + Statements + 40/40 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 40/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +401x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, altPrio, optPrio, plus, per, ver} from "../combi";
+import {Field, Source, Dynamic, FieldSub, ComponentCompareSimple, ReadTableTarget, SimpleSource2} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+import {TransportingFields} from "../expressions/transporting_fields";
+ 
+export class ReadTable implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const comparing = seq("COMPARING", alt(plus(FieldSub), Dynamic));
+ 
+    const index = seq("INDEX", Source);
+ 
+    const components = seq(alt(Field, Dynamic), "COMPONENTS", ComponentCompareSimple);
+ 
+    const key = seq(altPrio("WITH KEY", "WITH TABLE KEY"),
+                    alt(ComponentCompareSimple,
+                        components,
+                        seq(optPrio("="), Source)));
+ 
+    const using = seq("USING KEY", alt(Field, Dynamic));
+ 
+    const from = seq("FROM", Source);
+ 
+    const perm = per(alt(index, key, from),
+                     ReadTableTarget,
+                     using,
+                     comparing,
+                     "CASTING",
+                     "TRANSPORTING ALL FIELDS",
+                     seq("TRANSPORTING", TransportingFields),
+                     "BINARY SEARCH");
+ 
+    return seq("READ TABLE",
+               alt(SimpleSource2, ver(Version.v740sp02, Source)),
+               opt(perm));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/read_textpool.ts.html b/src/abap/2_statements/statements/read_textpool.ts.html new file mode 100644 index 00000000000..d095e866aaa --- /dev/null +++ b/src/abap/2_statements/statements/read_textpool.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/read_textpool.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements read_textpool.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, per} from "../combi";
+import {SimpleTarget, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ReadTextpool implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const language = seq("LANGUAGE", Source);
+    const into = seq("INTO", SimpleTarget);
+    const state = seq("STATE", Source);
+ 
+    const ret = seq("READ TEXTPOOL",
+                    Source,
+                    per(into, language, state));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/receive.ts.html b/src/abap/2_statements/statements/receive.ts.html new file mode 100644 index 00000000000..2ae034917c1 --- /dev/null +++ b/src/abap/2_statements/statements/receive.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/receive.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements receive.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {ReceiveParameters, FunctionName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Receive implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("RECEIVE RESULTS FROM FUNCTION",
+                    FunctionName,
+                    opt("KEEPING TASK"),
+                    ReceiveParameters);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/refresh.ts.html b/src/abap/2_statements/statements/refresh.ts.html new file mode 100644 index 00000000000..68e07935dcd --- /dev/null +++ b/src/abap/2_statements/statements/refresh.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/refresh.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements refresh.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, optPrio} from "../combi";
+import {Target, DatabaseTable} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Refresh implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const from = seq("FROM TABLE", DatabaseTable);
+ 
+    const ret = seq("REFRESH", Target, optPrio(from));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/refresh_control.ts.html b/src/abap/2_statements/statements/refresh_control.ts.html new file mode 100644 index 00000000000..bd188d9f0c3 --- /dev/null +++ b/src/abap/2_statements/statements/refresh_control.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/refresh_control.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements refresh_control.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class RefreshControl implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("REFRESH CONTROL",
+                    Source,
+                    "FROM SCREEN",
+                    Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/reject.ts.html b/src/abap/2_statements/statements/reject.ts.html new file mode 100644 index 00000000000..d2a321880f3 --- /dev/null +++ b/src/abap/2_statements/statements/reject.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/reject.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements reject.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Reject implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("REJECT", opt(Source));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/replace.ts.html b/src/abap/2_statements/statements/replace.ts.html new file mode 100644 index 00000000000..defc23b7f9e --- /dev/null +++ b/src/abap/2_statements/statements/replace.ts.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/replace.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements replace.ts

+
+ +
+ 100% + Statements + 44/44 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 44/44 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +441x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt, per, altPrio} from "../combi";
+import {Target, Source, FindType} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Replace implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const length = seq("LENGTH", Source);
+    const offset = seq("OFFSET", Source);
+ 
+    const section = seq(opt("IN"),
+                        "SECTION",
+                        per(offset, length),
+                        "OF",
+                        Target);
+ 
+    const source = seq(opt("OF"), FindType, Source);
+ 
+    const cas = altPrio("IGNORING CASE", "RESPECTING CASE");
+ 
+    const repl = seq("REPLACEMENT COUNT", Target);
+    const replo = seq("REPLACEMENT OFFSET", Target);
+    const repll = seq("REPLACEMENT LENGTH", Target);
+    const repli = seq("REPLACEMENT LINE", Target);
+ 
+    const occ = altPrio("ALL OCCURRENCES",
+                        "ALL OCCURENCES",
+                        "FIRST OCCURENCE",
+                        "FIRST OCCURRENCE");
+ 
+    const mode = alt("IN CHARACTER MODE",
+                     "IN BYTE MODE");
+ 
+    const wit = seq("WITH", Source);
+    const into = seq("INTO", Target);
+ 
+    return seq("REPLACE",
+               per(section, seq(opt(occ), source)),
+               opt(seq("IN", opt("TABLE"), Target)),
+               opt(per(wit, into, cas, mode, repl, replo, repll, repli, length)));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/report.ts.html b/src/abap/2_statements/statements/report.ts.html new file mode 100644 index 00000000000..2552f51c8c6 --- /dev/null +++ b/src/abap/2_statements/statements/report.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/report.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements report.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, opt, per, tok} from "../combi";
+import {Integer, MessageClass, Field, ReportName} from "../expressions";
+import {Version} from "../../../version";
+import {ParenLeft, ParenRightW} from "../../1_lexer/tokens";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Report implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const more = seq(tok(ParenLeft), Integer, tok(ParenRightW));
+    const heading = str("NO STANDARD PAGE HEADING");
+    const size = seq("LINE-SIZE", Integer);
+    const count = seq("LINE-COUNT", Integer, opt(more));
+    const message = seq("MESSAGE-ID", MessageClass);
+    const database = seq("USING DATABASE", Field);
+ 
+    const ret = seq("REPORT",
+                    opt(ReportName),
+                    opt(per(heading, size, count, database, message)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/reserve.ts.html b/src/abap/2_statements/statements/reserve.ts.html new file mode 100644 index 00000000000..57d20bfe962 --- /dev/null +++ b/src/abap/2_statements/statements/reserve.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/reserve.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements reserve.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Reserve implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("RESERVE", Source, "LINES");
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/resume.ts.html b/src/abap/2_statements/statements/resume.ts.html new file mode 100644 index 00000000000..efc984e665c --- /dev/null +++ b/src/abap/2_statements/statements/resume.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/resume.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements resume.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Resume implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("RESUME");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/retry.ts.html b/src/abap/2_statements/statements/retry.ts.html new file mode 100644 index 00000000000..0fe0ad7d6e1 --- /dev/null +++ b/src/abap/2_statements/statements/retry.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/retry.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements retry.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {ver} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class Retry implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return ver(Version.v702, "RETRY");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/return.ts.html b/src/abap/2_statements/statements/return.ts.html new file mode 100644 index 00000000000..403a095d42d --- /dev/null +++ b/src/abap/2_statements/statements/return.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/return.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements return.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {optPrio, seq, str, ver} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+import {Source} from "../expressions";
+ 
+export class Return implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq(str("RETURN"), optPrio(ver(Version.v758, Source)));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/rollback.ts.html b/src/abap/2_statements/statements/rollback.ts.html new file mode 100644 index 00000000000..627e1fd4254 --- /dev/null +++ b/src/abap/2_statements/statements/rollback.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/rollback.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements rollback.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, altPrio} from "../combi";
+import {DatabaseConnection} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Rollback implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("ROLLBACK", altPrio("WORK", DatabaseConnection));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/rollback_entities.ts.html b/src/abap/2_statements/statements/rollback_entities.ts.html new file mode 100644 index 00000000000..0c4d61de434 --- /dev/null +++ b/src/abap/2_statements/statements/rollback_entities.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/rollback_entities.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements rollback_entities.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {ver} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class RollbackEntities implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const s = "ROLLBACK ENTITIES";
+    return ver(Version.v754, s);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/scan.ts.html b/src/abap/2_statements/statements/scan.ts.html new file mode 100644 index 00000000000..0f6d1893800 --- /dev/null +++ b/src/abap/2_statements/statements/scan.ts.html @@ -0,0 +1,295 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/scan.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements scan.ts

+
+ +
+ 100% + Statements + 71/71 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 71/71 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +711x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, per} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Scan implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const tokens = seq("TOKENS INTO", Target);
+    const word = seq("WORD INTO", Target);
+    const line = seq("LINE INTO", Target);
+    const statements = seq("STATEMENTS INTO", Target);
+    const levels = seq("LEVELS INTO", Target);
+    const structures = seq("STRUCTURES INTO", Target);
+    const include = seq("INCLUDE INTO", Target);
+    const offset = seq("OFFSET INTO", Target);
+    const enh = seq("ENHANCEMENTS INTO", Target);
+    const enhO = seq("ENHANCEMENT OPTIONS INTO", Target);
+    const keywords = seq("KEYWORDS FROM", Source);
+    const pragmas = seq("WITH PRAGMAS", Source);
+    const overflow = seq("OVERFLOW INTO", Target);
+    const message = seq("MESSAGE INTO", Target);
+    const includeProgram = seq("INCLUDE PROGRAM FROM", Source);
+    const frame = seq("FRAME PROGRAM FROM", Source);
+    const program = seq("PROGRAM FROM", Source);
+    const from = seq("FROM", Source);
+    const to = seq("TO", Source);
+    const replacing = seq("REPLACING", Source);
+    const id = seq("ID", Source, "TABLE", Source);
+ 
+    const ret = seq("SCAN ABAP-SOURCE",
+                    Source,
+                    per(tokens,
+                        levels,
+                        from,
+                        to,
+                        statements,
+                        structures,
+                        keywords,
+                        word,
+                        line,
+                        offset,
+                        overflow,
+                        message,
+                        includeProgram,
+                        include,
+                        frame,
+                        enhO,
+                        enh,
+                        program,
+                        replacing,
+                        "WITH ANALYSIS",
+                        "WITH COMMENTS",
+                        "WITH TYPE-POOLS",
+                        "WITH INCLUDES",
+                        "WITHOUT TRMAC",
+                        "WITH DECLARATIONS",
+                        "WITH BLOCKS",
+                        "PRESERVING IDENTIFIER ESCAPING",
+                        "WITH LIST TOKENIZATION",
+                        "WITH EXPLICIT ENHANCEMENTS",
+                        "WITH IMPLICIT ENHANCEMENTS",
+                        "WITH INACTIVE ENHANCEMENTS",
+                        pragmas,
+                        id));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/scroll_list.ts.html b/src/abap/2_statements/statements/scroll_list.ts.html new file mode 100644 index 00000000000..bbe0bf74b79 --- /dev/null +++ b/src/abap/2_statements/statements/scroll_list.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/scroll_list.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements scroll_list.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, per} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class ScrollList implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const index = seq("INDEX", Source);
+    const line = seq("LINE", Source);
+    const column = seq("TO COLUMN", Source);
+ 
+    const to = seq("TO",
+                   alt("FIRST PAGE",
+                       "LAST PAGE",
+                       seq("PAGE", Source)));
+ 
+    const ret = seq("SCROLL LIST",
+                    per(index,
+                        alt(to, "BACKWARD", "FORWARD"),
+                        column,
+                        line));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/search.ts.html b/src/abap/2_statements/statements/search.ts.html new file mode 100644 index 00000000000..1923a2428e5 --- /dev/null +++ b/src/abap/2_statements/statements/search.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/search.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements search.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, opt, per, altPrio} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Search implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const starting = seq("STARTING AT", Source);
+    const ending = seq("ENDING AT", Source);
+    const mark = str("AND MARK");
+ 
+    const mode = altPrio("IN BYTE MODE", "IN CHARACTER MODE");
+ 
+    const ret = seq("SEARCH",
+                    Source,
+                    "FOR",
+                    Source,
+                    opt(per(mode, starting, ending, mark)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/select.ts.html b/src/abap/2_statements/statements/select.ts.html new file mode 100644 index 00000000000..ed5fb1ec88e --- /dev/null +++ b/src/abap/2_statements/statements/select.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/select.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements select.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver, starPrio, optPrio, altPrio} from "../combi";
+import {Select as eSelect} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class Select implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const union = ver(Version.v750, seq("UNION", optPrio(altPrio("DISTINCT", "ALL")), eSelect));
+    return seq(eSelect, starPrio(union));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/select_loop.ts.html b/src/abap/2_statements/statements/select_loop.ts.html new file mode 100644 index 00000000000..a26aaf65e6e --- /dev/null +++ b/src/abap/2_statements/statements/select_loop.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/select_loop.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements select_loop.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {SelectLoop as eSelectLoop} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SelectLoop implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return new eSelectLoop();
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/selectionscreen.ts.html b/src/abap/2_statements/statements/selectionscreen.ts.html new file mode 100644 index 00000000000..cb1ccec6ecc --- /dev/null +++ b/src/abap/2_statements/statements/selectionscreen.ts.html @@ -0,0 +1,442 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/selectionscreen.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements selectionscreen.ts

+
+ +
+ 100% + Statements + 119/119 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 119/119 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +1201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x + 
import {IStatement} from "./_statement";
+import {verNot, str, seq, altPrio, optPrio, alt, opt, per, regex as reg, tok} from "../combi";
+import {ParenLeft, WParenLeft, ParenRightW, ParenRight} from "../../1_lexer/tokens";
+import {Integer, Source, Field, Modif, Constant, InlineField, TextElement, BlockName} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SelectionScreen implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const beginBlock = seq("BEGIN OF BLOCK",
+                           BlockName,
+                           optPrio("WITH FRAME"),
+                           optPrio(seq("TITLE", alt(InlineField, TextElement))),
+                           optPrio("NO INTERVALS"));
+    const endBlock = seq("END OF BLOCK", BlockName);
+ 
+    const nesting = seq("NESTING LEVEL", Source);
+ 
+    const scrOptions = per(seq("AS", alt("WINDOW", "SUBSCREEN")),
+                           seq("TITLE", alt(InlineField, TextElement)),
+                           "NO INTERVALS",
+                           nesting);
+ 
+    const beginScreen = seq("BEGIN OF SCREEN",
+                            Integer,
+                            opt(scrOptions));
+ 
+    const endScreen = seq("END OF SCREEN", Integer);
+ 
+    const beginLine = str("BEGIN OF LINE");
+    const endLine = str("END OF LINE");
+ 
+    const modif = seq("MODIF ID", Modif);
+ 
+    const visible = seq("VISIBLE LENGTH", reg(/^\d+$/));
+ 
+    const commentOpt = per(seq("FOR FIELD", Field), modif, visible);
+ 
+    const position = seq(opt(reg(/^\/?[\d\w]+$/)),
+                         altPrio(tok(ParenLeft), tok(WParenLeft)),
+                         Integer,
+                         altPrio(tok(ParenRightW), tok(ParenRight)));
+ 
+    const comment = seq("COMMENT",
+                        position,
+                        opt(alt(InlineField, TextElement)),
+                        opt(commentOpt));
+ 
+    const command = seq("USER-COMMAND", alt(Field, Constant));
+ 
+    const push = seq("PUSHBUTTON",
+                     position,
+                     alt(InlineField, TextElement),
+                     command,
+                     opt(modif),
+                     opt(visible));
+ 
+    const prog = seq("PROGRAM", Field);
+    const def = seq("DEFAULT", opt(prog), "SCREEN", Integer);
+ 
+    const tab = seq("TAB",
+                    tok(WParenLeft),
+                    Integer,
+                    tok(ParenRightW),
+                    alt(InlineField, TextElement),
+                    command,
+                    opt(def),
+                    opt(modif));
+ 
+    const func = seq("FUNCTION KEY", Integer);
+ 
+    const skip = seq("SKIP", opt(Integer));
+ 
+    const posSymbols = altPrio("POS_LOW", "POS_HIGH");
+ 
+    // number between 1 and 83
+    const posIntegers = reg(/^(0?[1-9]|[1234567][0-9]|8[0-3])$/);
+ 
+    const pos = seq("POSITION",
+                    altPrio(posIntegers, posSymbols));
+ 
+    const incl = seq("INCLUDE BLOCKS", BlockName);
+ 
+    const tabbed = seq("BEGIN OF TABBED BLOCK",
+                       InlineField,
+                       "FOR",
+                       Integer,
+                       "LINES",
+                       optPrio("NO INTERVALS"));
+ 
+    const uline = seq("ULINE", opt(position));
+ 
+    const param = seq("INCLUDE PARAMETERS", Field);
+    const iso = seq("INCLUDE SELECT-OPTIONS", Field);
+ 
+    const ret = seq("SELECTION-SCREEN",
+                    altPrio(comment,
+                            func,
+                            skip,
+                            pos,
+                            incl,
+                            iso,
+                            push,
+                            tab,
+                            uline,
+                            beginBlock,
+                            tabbed,
+                            endBlock,
+                            beginLine,
+                            endLine,
+                            param,
+                            beginScreen,
+                            endScreen));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/selectoption.ts.html b/src/abap/2_statements/statements/selectoption.ts.html new file mode 100644 index 00000000000..834335cd97c --- /dev/null +++ b/src/abap/2_statements/statements/selectoption.ts.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/selectoption.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements selectoption.ts

+
+ +
+ 100% + Statements + 52/52 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 52/52 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +521x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, alt, per} from "../combi";
+import {Source, FieldChain, Constant, Field, Modif, Dynamic, SimpleSource1, FieldSub} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SelectOption implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const sourc = alt(Constant, FieldChain);
+ 
+    const to = seq("TO", sourc);
+ 
+    const def = seq("DEFAULT",
+                    sourc,
+                    opt(to));
+ 
+    const option = seq("OPTION", alt("CP", Field));
+    const sign = seq("SIGN", Field);
+ 
+    const memory = seq("MEMORY ID", SimpleSource1);
+ 
+    const match = seq("MATCHCODE OBJECT", Field);
+ 
+    const modif = seq("MODIF ID", Modif);
+ 
+    const visible = seq("VISIBLE LENGTH", Source);
+ 
+    const options = per(def,
+                        option,
+                        sign,
+                        memory,
+                        match,
+                        visible,
+                        modif,
+                        "NO DATABASE SELECTION",
+                        "LOWER CASE",
+                        "NO-EXTENSION",
+                        "NO INTERVALS",
+                        "NO-DISPLAY",
+                        "OBLIGATORY");
+ 
+    const ret = seq("SELECT-OPTIONS",
+                    FieldSub,
+                    "FOR",
+                    alt(FieldChain, Dynamic),
+                    opt(options));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_bit.ts.html b/src/abap/2_statements/statements/set_bit.ts.html new file mode 100644 index 00000000000..fce8ebdaf65 --- /dev/null +++ b/src/abap/2_statements/statements/set_bit.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_bit.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_bit.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetBit implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET BIT",
+                    Source,
+                    "OF",
+                    Target,
+                    opt(seq("TO", Source)));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_blank.ts.html b/src/abap/2_statements/statements/set_blank.ts.html new file mode 100644 index 00000000000..4401d2c2365 --- /dev/null +++ b/src/abap/2_statements/statements/set_blank.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_blank.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_blank.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, alt, seq} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetBlank implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const onOff = alt("ON", "OFF");
+ 
+    const ret = seq("SET BLANK LINES", onOff);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_country.ts.html b/src/abap/2_statements/statements/set_country.ts.html new file mode 100644 index 00000000000..9574d9772cb --- /dev/null +++ b/src/abap/2_statements/statements/set_country.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_country.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_country.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetCountry implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET COUNTRY", Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_cursor.ts.html b/src/abap/2_statements/statements/set_cursor.ts.html new file mode 100644 index 00000000000..73df1b580a2 --- /dev/null +++ b/src/abap/2_statements/statements/set_cursor.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_cursor.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_cursor.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, per, altPrio} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetCursor implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const line = seq("LINE", Source);
+    const offset = seq("OFFSET", Source);
+    const field = seq("FIELD", Source);
+    const pos = seq(Source, Source);
+    const ret = seq("SET CURSOR", altPrio(per(field, offset, line), pos));
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_dataset.ts.html b/src/abap/2_statements/statements/set_dataset.ts.html new file mode 100644 index 00000000000..99a353e153f --- /dev/null +++ b/src/abap/2_statements/statements/set_dataset.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_dataset.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetDataset implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET DATASET", Source, "POSITION", alt(Source, "END OF FILE"));
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_extended_check.ts.html b/src/abap/2_statements/statements/set_extended_check.ts.html new file mode 100644 index 00000000000..c93a3f41502 --- /dev/null +++ b/src/abap/2_statements/statements/set_extended_check.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_extended_check.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_extended_check.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetExtendedCheck implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET EXTENDED CHECK", alt("OFF", "ON"));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_handler.ts.html b/src/abap/2_statements/statements/set_handler.ts.html new file mode 100644 index 00000000000..f415315b302 --- /dev/null +++ b/src/abap/2_statements/statements/set_handler.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_handler.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_handler.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, optPrio, altPrio, plus} from "../combi";
+import {Source, MethodSource} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetHandler implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const activation = seq("ACTIVATION", Source);
+ 
+    const fo = seq("FOR", altPrio("ALL INSTANCES", Source));
+ 
+    const ret = seq("SET HANDLER",
+                    plus(MethodSource),
+                    optPrio(fo),
+                    optPrio(activation));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_language.ts.html b/src/abap/2_statements/statements/set_language.ts.html new file mode 100644 index 00000000000..180d5f8d814 --- /dev/null +++ b/src/abap/2_statements/statements/set_language.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_language.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_language.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetLanguage implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET LANGUAGE", Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_left.ts.html b/src/abap/2_statements/statements/set_left.ts.html new file mode 100644 index 00000000000..62008aa6e8c --- /dev/null +++ b/src/abap/2_statements/statements/set_left.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_left.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_left.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, opt, seq} from "../combi";
+import {Version} from "../../../version";
+import {Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetLeft implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const column = seq("COLUMN", Source);
+    return verNot(Version.Cloud, seq("SET LEFT SCROLL-BOUNDARY", opt(column)));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_locale.ts.html b/src/abap/2_statements/statements/set_locale.ts.html new file mode 100644 index 00000000000..3bcef91da85 --- /dev/null +++ b/src/abap/2_statements/statements/set_locale.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_locale.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_locale.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetLocale implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const country = seq("COUNTRY", Source);
+ 
+    const modifier = seq("MODIFIER", Source);
+ 
+    const ret = seq("SET LOCALE LANGUAGE",
+                    Source,
+                    opt(country),
+                    opt(modifier));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_locks.ts.html b/src/abap/2_statements/statements/set_locks.ts.html new file mode 100644 index 00000000000..6f8b6a3e7c7 --- /dev/null +++ b/src/abap/2_statements/statements/set_locks.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_locks.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_locks.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver} from "../combi";
+import {SimpleName, Source, Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class SetLocks implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const s = seq("SET LOCKS OF",
+                  SimpleName,
+                  "ENTITY",
+                  SimpleName,
+                  "FROM", Source,
+                  "FAILED", Target,
+                  "REPORTED", Target);
+    return ver(Version.v754, s);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_margin.ts.html b/src/abap/2_statements/statements/set_margin.ts.html new file mode 100644 index 00000000000..153d31a5bd9 --- /dev/null +++ b/src/abap/2_statements/statements/set_margin.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_margin.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_margin.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetMargin implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET MARGIN",
+                    Source,
+                    opt(Source));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_parameter.ts.html b/src/abap/2_statements/statements/set_parameter.ts.html new file mode 100644 index 00000000000..a958ba55613 --- /dev/null +++ b/src/abap/2_statements/statements/set_parameter.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_parameter.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_parameter.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetParameter implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET PARAMETER ID",
+                    Source,
+                    "FIELD",
+                    Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_pf_status.ts.html b/src/abap/2_statements/statements/set_pf_status.ts.html new file mode 100644 index 00000000000..5c9093cb633 --- /dev/null +++ b/src/abap/2_statements/statements/set_pf_status.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_pf_status.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_pf_status.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, per} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetPFStatus implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const program = seq("OF PROGRAM", Source);
+ 
+    const options = per(program,
+                        "IMMEDIATELY",
+                        seq("EXCLUDING", Source));
+ 
+    const ret = seq("SET PF-STATUS",
+                    Source,
+                    opt(options));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_property.ts.html b/src/abap/2_statements/statements/set_property.ts.html new file mode 100644 index 00000000000..7cf81b6c6b9 --- /dev/null +++ b/src/abap/2_statements/statements/set_property.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_property.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_property.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, optPrio, opt, alt} from "../combi";
+import {Source, Constant, Field, OLEExporting} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetProperty implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET PROPERTY OF",
+                    Source,
+                    alt(Constant, Field),
+                    "=",
+                    Source,
+                    optPrio("NO FLUSH"),
+                    opt(OLEExporting));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_run_time.ts.html b/src/abap/2_statements/statements/set_run_time.ts.html new file mode 100644 index 00000000000..0ee845b243f --- /dev/null +++ b/src/abap/2_statements/statements/set_run_time.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_run_time.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_run_time.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetRunTime implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const clock = seq("CLOCK RESOLUTION", alt("LOW", "HIGH"));
+ 
+    const analyzer = seq("ANALYZER", alt("ON", "OFF"));
+ 
+    const ret = seq("SET RUN TIME", alt(clock, analyzer));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_screen.ts.html b/src/abap/2_statements/statements/set_screen.ts.html new file mode 100644 index 00000000000..36cd3487525 --- /dev/null +++ b/src/abap/2_statements/statements/set_screen.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_screen.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_screen.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetScreen implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET SCREEN", Source);
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_titlebar.ts.html b/src/abap/2_statements/statements/set_titlebar.ts.html new file mode 100644 index 00000000000..d095a4569e7 --- /dev/null +++ b/src/abap/2_statements/statements/set_titlebar.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_titlebar.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_titlebar.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, plus} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetTitlebar implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const wit = seq("WITH", plus(Source));
+ 
+    const program = seq("OF PROGRAM", Source);
+ 
+    const ret = seq("SET TITLEBAR", Source, opt(program), opt(wit));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_update_task.ts.html b/src/abap/2_statements/statements/set_update_task.ts.html new file mode 100644 index 00000000000..581783cc107 --- /dev/null +++ b/src/abap/2_statements/statements/set_update_task.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_update_task.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_update_task.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +3x +3x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetUpdateTask implements IStatement {
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "SET UPDATE TASK LOCAL");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/set_user_command.ts.html b/src/abap/2_statements/statements/set_user_command.ts.html new file mode 100644 index 00000000000..18cb4da89ac --- /dev/null +++ b/src/abap/2_statements/statements/set_user_command.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/set_user_command.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements set_user_command.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SetUserCommand implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SET USER-COMMAND", Source);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/shift.ts.html b/src/abap/2_statements/statements/shift.ts.html new file mode 100644 index 00000000000..0d519f4c931 --- /dev/null +++ b/src/abap/2_statements/statements/shift.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/shift.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements shift.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, altPrio, optPrio, per} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Shift implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const deleting = seq("DELETING", altPrio("LEADING", "TRAILING"), Source);
+    const up = seq("UP TO", Source);
+    const mode = seq("IN", altPrio("CHARACTER", "BYTE"), "MODE");
+    const dir = altPrio("LEFT", "RIGHT");
+    const by = seq("BY", Source, optPrio("PLACES"));
+ 
+    const options = per(deleting, up, mode, dir, by, "CIRCULAR");
+ 
+    return seq("SHIFT",
+               Target,
+               opt(options));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/skip.ts.html b/src/abap/2_statements/statements/skip.ts.html new file mode 100644 index 00000000000..70eec399329 --- /dev/null +++ b/src/abap/2_statements/statements/skip.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/skip.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements skip.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Skip implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SKIP",
+                    opt("TO LINE"),
+                    opt(Source));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/sort.ts.html b/src/abap/2_statements/statements/sort.ts.html new file mode 100644 index 00000000000..b2df84d10e9 --- /dev/null +++ b/src/abap/2_statements/statements/sort.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/sort.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements sort.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, per, altPrio, opt, plus, optPrio} from "../combi";
+import {Target, Dynamic, ComponentChain, SourceFieldSymbol} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Sort implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const order = altPrio("ASCENDING", "DESCENDING");
+ 
+    const sel = alt(ComponentChain, Dynamic, SourceFieldSymbol);
+ 
+    const text = "AS TEXT";
+ 
+    const fields = plus(seq(sel, optPrio(text), optPrio(order), optPrio(text)));
+ 
+    const by = seq("BY", fields);
+ 
+    const normal = seq(Target, opt(per(order, by, "STABLE", text)));
+ 
+    const target = altPrio(text, normal);
+ 
+    return seq("SORT", target);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/sort_dataset.ts.html b/src/abap/2_statements/statements/sort_dataset.ts.html new file mode 100644 index 00000000000..c97139aa9d0 --- /dev/null +++ b/src/abap/2_statements/statements/sort_dataset.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/sort_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements sort_dataset.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, opt, plus, optPrio} from "../combi";
+import {SourceFieldSymbol, FieldSub, Dynamic} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SortDataset implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const order = alt("ASCENDING", "DESCENDING");
+ 
+    const sel = alt(FieldSub, SourceFieldSymbol, Dynamic);
+ 
+    const fields = plus(seq(sel, optPrio(order)));
+ 
+    const by = seq("BY", fields);
+ 
+    const ret = seq("SORT", opt(by));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/split.ts.html b/src/abap/2_statements/statements/split.ts.html new file mode 100644 index 00000000000..8ea96fb9c1a --- /dev/null +++ b/src/abap/2_statements/statements/split.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/split.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements split.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, altPrio, plus, alt, opt} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Split implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const mode = seq("IN", alt("CHARACTER", "BYTE"), "MODE");
+ 
+    const into = altPrio(seq("TABLE", Target, opt(mode)), seq(plus(Target), opt(mode)));
+ 
+    const ret = seq("SPLIT", Source, "AT", Source, "INTO", into);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/start_of_selection.ts.html b/src/abap/2_statements/statements/start_of_selection.ts.html new file mode 100644 index 00000000000..918b51d792c --- /dev/null +++ b/src/abap/2_statements/statements/start_of_selection.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/start_of_selection.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements start_of_selection.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class StartOfSelection implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "START-OF-SELECTION");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/static.ts.html b/src/abap/2_statements/statements/static.ts.html new file mode 100644 index 00000000000..a32d60f002e --- /dev/null +++ b/src/abap/2_statements/statements/static.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/static.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements static.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, per, alt} from "../combi";
+import * as Expressions from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Static implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const p = opt(per(Expressions.Type, Expressions.Value, Expressions.Length, Expressions.Decimals));
+ 
+    const type = seq(opt(Expressions.ConstantFieldLength), p);
+ 
+    const ret = seq(alt("STATIC", "STATICS"),
+                    Expressions.DefinitionName,
+                    alt(type, Expressions.TypeTable));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/static_begin.ts.html b/src/abap/2_statements/statements/static_begin.ts.html new file mode 100644 index 00000000000..d9728ba26cc --- /dev/null +++ b/src/abap/2_statements/statements/static_begin.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/static_begin.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements static_begin.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, opt} from "../combi";
+import {Integer, DefinitionName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class StaticBegin implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const occurs = seq("OCCURS", Integer);
+ 
+    const ret = seq(alt("STATIC", "STATICS"),
+                    "BEGIN OF",
+                    DefinitionName,
+                    opt(occurs));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/static_end.ts.html b/src/abap/2_statements/statements/static_end.ts.html new file mode 100644 index 00000000000..6427709a956 --- /dev/null +++ b/src/abap/2_statements/statements/static_end.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/static_end.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements static_end.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt} from "../combi";
+import {DefinitionName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class StaticEnd implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq(alt("STATIC", "STATICS"),
+                    "END OF",
+                    DefinitionName);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/stop.ts.html b/src/abap/2_statements/statements/stop.ts.html new file mode 100644 index 00000000000..639f8a2b72c --- /dev/null +++ b/src/abap/2_statements/statements/stop.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/stop.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements stop.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Stop implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "STOP");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/submit.ts.html b/src/abap/2_statements/statements/submit.ts.html new file mode 100644 index 00000000000..aa6010fcb47 --- /dev/null +++ b/src/abap/2_statements/statements/submit.ts.html @@ -0,0 +1,283 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/submit.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements submit.ts

+
+ +
+ 100% + Statements + 67/67 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 67/67 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +671x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str, seq, opt, per, alt, plus, optPrio} from "../combi";
+import {Source, NamespaceSimpleName, Dynamic, AndReturn, FieldSub} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Submit implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const sign = seq("SIGN", Source);
+    const eq = alt("=", "EQ", "IN", "NE", "CP", "GE", "LE", "INCL");
+    const compare = seq(eq, Source);
+    const between = seq("BETWEEN", Source, "AND", Source);
+    const selectionTable = seq("WITH SELECTION-TABLE", Source);
+    const awith = seq("WITH", FieldSub, alt(compare, between), optPrio(sign));
+    const prog = alt(NamespaceSimpleName, Dynamic);
+    const job = seq("VIA JOB", Source, "NUMBER", Source);
+    const exporting = str("EXPORTING LIST TO MEMORY");
+    const spool = seq("SPOOL PARAMETERS", Source);
+    const archive = seq("ARCHIVE PARAMETERS", Source);
+    const lineSize = seq("LINE-SIZE", Source);
+    const lineCount = seq("LINE-COUNT", Source);
+    const user = seq("USER", Source);
+    const sset = seq("USING SELECTION-SET", Source);
+    const ssetp = seq("USING SELECTION-SETS OF PROGRAM", Source);
+    const uss = seq("USING SELECTION-SCREEN", Source);
+    const free = seq("WITH FREE SELECTIONS", Source);
+    const newList = seq("NEW LIST IDENTIFICATION", Source);
+    const layout = seq("LAYOUT", Source);
+    const cover = seq("SAP COVER PAGE", Source);
+ 
+    const keep = seq("KEEP IN SPOOL", Source);
+    const imm = seq("IMMEDIATELY", Source);
+    const dest = seq("DESTINATION", Source);
+    const language = seq("LANGUAGE", Source);
+ 
+    const perm = per(plus(awith),
+                     selectionTable,
+                     spool,
+                     lineSize,
+                     lineCount,
+                     archive,
+                     user,
+                     sset,
+                     ssetp,
+                     keep,
+                     cover,
+                     imm,
+                     layout,
+                     dest,
+                     language,
+                     free,
+                     newList,
+                     uss,
+                     "TO SAP-SPOOL",
+                     "WITHOUT SPOOL DYNPRO",
+                     "VIA SELECTION-SCREEN",
+                     exporting,
+                     AndReturn,
+                     job);
+ 
+    const ret = seq("SUBMIT", prog, opt(perm));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/subtract.ts.html b/src/abap/2_statements/statements/subtract.ts.html new file mode 100644 index 00000000000..9a6d5cca00c --- /dev/null +++ b/src/abap/2_statements/statements/subtract.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/subtract.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements subtract.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Subtract implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SUBTRACT",
+                    Source,
+                    "FROM",
+                    Target);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/subtract_corresponding.ts.html b/src/abap/2_statements/statements/subtract_corresponding.ts.html new file mode 100644 index 00000000000..9b623bce3d6 --- /dev/null +++ b/src/abap/2_statements/statements/subtract_corresponding.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/subtract_corresponding.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements subtract_corresponding.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SubtractCorresponding implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("SUBTRACT-CORRESPONDING",
+                    Source,
+                    "FROM",
+                    Target);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/sum.ts.html b/src/abap/2_statements/statements/sum.ts.html new file mode 100644 index 00000000000..838bf898a07 --- /dev/null +++ b/src/abap/2_statements/statements/sum.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/sum.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements sum.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Sum implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "SUM");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/summary.ts.html b/src/abap/2_statements/statements/summary.ts.html new file mode 100644 index 00000000000..c4f5b259a19 --- /dev/null +++ b/src/abap/2_statements/statements/summary.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/summary.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements summary.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Summary implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, "SUMMARY");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/supply.ts.html b/src/abap/2_statements/statements/supply.ts.html new file mode 100644 index 00000000000..b374c631854 --- /dev/null +++ b/src/abap/2_statements/statements/supply.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/supply.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements supply.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, plus} from "../combi";
+import {Source, Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Supply implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const field = seq(Field, "=", Source);
+ 
+    const ret = seq("SUPPLY",
+                    plus(field),
+                    "TO CONTEXT",
+                    Field);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/suppress_dialog.ts.html b/src/abap/2_statements/statements/suppress_dialog.ts.html new file mode 100644 index 00000000000..cf568df71f1 --- /dev/null +++ b/src/abap/2_statements/statements/suppress_dialog.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/suppress_dialog.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements suppress_dialog.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, str} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SuppressDialog implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = str("SUPPRESS DIALOG");
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/syntax_check.ts.html b/src/abap/2_statements/statements/syntax_check.ts.html new file mode 100644 index 00000000000..cabe58df200 --- /dev/null +++ b/src/abap/2_statements/statements/syntax_check.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/syntax_check.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements syntax_check.ts

+
+ +
+ 100% + Statements + 54/54 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 54/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, alt, per, plus, optPrio} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class SyntaxCheck implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const program = seq("PROGRAM", Source);
+    const offset = seq("OFFSET", Target);
+    const frame = seq("FRAME ENTRY", Target);
+    const include = seq("INCLUDE", Target);
+    const trace = seq("TRACE-TABLE", Target);
+    const line = seq("LINE", Target);
+    const word = seq("WORD", Target);
+    const messageId = seq("MESSAGE-ID", Target);
+    const message = seq("MESSAGE", Target);
+    const id = seq("ID", Source, "TABLE", Target);
+    const replacing = seq("REPLACING", Target);
+    const directory = seq("DIRECTORY ENTRY", Source);
+    const dump = seq("SHORTDUMP-ID", Source);
+    const filter = seq("FILTER", Source);
+ 
+    const syntax = seq(optPrio("PROGRAM"),
+                       Source,
+                       per(message,
+                           line,
+                           word,
+                           offset,
+                           program,
+                           replacing,
+                           directory,
+                           frame,
+                           include,
+                           messageId,
+                           trace,
+                           dump,
+                           filter,
+                           plus(id)));
+ 
+    const dynpro = seq("DYNPRO",
+                       Source,
+                       Source,
+                       Source,
+                       Source,
+                       per(message, line, word, offset, messageId, trace));
+ 
+    const ret = seq("SYNTAX-CHECK FOR", alt(syntax, dynpro));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/system_call.ts.html b/src/abap/2_statements/statements/system_call.ts.html new file mode 100644 index 00000000000..947b945ac72 --- /dev/null +++ b/src/abap/2_statements/statements/system_call.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/system_call.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements system_call.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, regex as reg, plus, altPrio} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+ 
+export class SystemCall implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const anyy = reg(/^.+$/);
+ 
+    const objmgr = seq("OBJMGR CLONE", Source, "TO", Target);
+    const did = seq(anyy, "DID", Source, "PARAMETERS", Source, Source, Source);
+ 
+    const ret = seq("SYSTEM-CALL", altPrio(objmgr, did, plus(anyy)));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/tables.ts.html b/src/abap/2_statements/statements/tables.ts.html new file mode 100644 index 00000000000..1c574351775 --- /dev/null +++ b/src/abap/2_statements/statements/tables.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/tables.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements tables.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Field} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Tables implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("TABLES", Field);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/test_injection.ts.html b/src/abap/2_statements/statements/test_injection.ts.html new file mode 100644 index 00000000000..17bf61929de --- /dev/null +++ b/src/abap/2_statements/statements/test_injection.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/test_injection.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements test_injection.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {TestSeamName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TestInjection implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("TEST-INJECTION", TestSeamName);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/test_seam.ts.html b/src/abap/2_statements/statements/test_seam.ts.html new file mode 100644 index 00000000000..ad0aa701855 --- /dev/null +++ b/src/abap/2_statements/statements/test_seam.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/test_seam.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements test_seam.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver} from "../combi";
+import {TestSeamName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class TestSeam implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return ver(Version.v750, seq("TEST-SEAM", TestSeamName));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/top_of_page.ts.html b/src/abap/2_statements/statements/top_of_page.ts.html new file mode 100644 index 00000000000..0b8526e50ad --- /dev/null +++ b/src/abap/2_statements/statements/top_of_page.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/top_of_page.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements top_of_page.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, opt, seq} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TopOfPage implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("TOP-OF-PAGE", opt("DURING LINE-SELECTION"));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/transfer.ts.html b/src/abap/2_statements/statements/transfer.ts.html new file mode 100644 index 00000000000..32de0f96e00 --- /dev/null +++ b/src/abap/2_statements/statements/transfer.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/transfer.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements transfer.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Transfer implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const length = seq("LENGTH", Source);
+ 
+    const ret = seq("TRANSFER",
+                    Source,
+                    "TO",
+                    Source,
+                    opt(length),
+                    opt("NO END OF LINE"));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/translate.ts.html b/src/abap/2_statements/statements/translate.ts.html new file mode 100644 index 00000000000..ea8c2bf15c7 --- /dev/null +++ b/src/abap/2_statements/statements/translate.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/translate.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements translate.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, altPrio} from "../combi";
+import {Target, Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Translate implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const cas = seq("TO",
+                    altPrio("UPPER", "LOWER"),
+                    "CASE");
+ 
+    const using = seq("USING", Source);
+ 
+    return seq("TRANSLATE",
+               Target,
+               altPrio(cas, using));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/truncate_dataset.ts.html b/src/abap/2_statements/statements/truncate_dataset.ts.html new file mode 100644 index 00000000000..82ccb7357e2 --- /dev/null +++ b/src/abap/2_statements/statements/truncate_dataset.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/truncate_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements truncate_dataset.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {seq, verNot} from "../combi";
+import {Source} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class TruncateDataset implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return verNot(Version.Cloud, seq("TRUNCATE DATASET", Source, "AT CURRENT POSITION"));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/try.ts.html b/src/abap/2_statements/statements/try.ts.html new file mode 100644 index 00000000000..41067a0853e --- /dev/null +++ b/src/abap/2_statements/statements/try.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/try.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements try.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Try implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("TRY");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type.ts.html b/src/abap/2_statements/statements/type.ts.html new file mode 100644 index 00000000000..217105b2edb --- /dev/null +++ b/src/abap/2_statements/statements/type.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +25x +25x +25x +25x +25x +25x +25x +25x +25x +25x +25x +25x +25x +1x +1x
import {IStatement} from "./_statement";
+import {seq, alt, per, opt, ver} from "../combi";
+import * as Expressions from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Type implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const simple = per(Expressions.Type, Expressions.Decimals, Expressions.Length);
+ 
+    const def = seq(Expressions.NamespaceSimpleName,
+                    opt(Expressions.ConstantFieldLength),
+                    opt(alt(simple, Expressions.TypeTable, Expressions.TypeStructure)));
+ 
+// todo, BOXED is only allowed with structures inside structures?
+    const boxed = ver(Version.v702, "BOXED");
+ 
+    const ret = seq("TYPES", def, opt(boxed));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_begin.ts.html b/src/abap/2_statements/statements/type_begin.ts.html new file mode 100644 index 00000000000..b6d1b99063b --- /dev/null +++ b/src/abap/2_statements/statements/type_begin.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_begin.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_begin.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +21x +21x +21x +21x +21x +1x +1x
import {IStatement} from "./_statement";
+import {optPrio, seq, verNot} from "../combi";
+import {NamespaceSimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class TypeBegin implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const ret = seq("TYPES", "BEGIN OF", NamespaceSimpleName, optPrio(verNot(Version.Cloud, "%_FINAL")));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_end.ts.html b/src/abap/2_statements/statements/type_end.ts.html new file mode 100644 index 00000000000..a75d46e5ed3 --- /dev/null +++ b/src/abap/2_statements/statements/type_end.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_end.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_end.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {NamespaceSimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class TypeEnd implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("TYPES", "END OF", NamespaceSimpleName);
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_enum.ts.html b/src/abap/2_statements/statements/type_enum.ts.html new file mode 100644 index 00000000000..70e181f01c2 --- /dev/null +++ b/src/abap/2_statements/statements/type_enum.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_enum.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_enum.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver} from "../combi";
+import {Value, NamespaceSimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class TypeEnum implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+// it is also possible to define without Value, this is covered by normal type
+    const ret = ver(Version.v751, seq("TYPES", NamespaceSimpleName, Value));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_enum_begin.ts.html b/src/abap/2_statements/statements/type_enum_begin.ts.html new file mode 100644 index 00000000000..9b330095825 --- /dev/null +++ b/src/abap/2_statements/statements/type_enum_begin.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_enum_begin.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_enum_begin.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {opt, seq, ver} from "../combi";
+import {NamespaceSimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class TypeEnumBegin implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const structure = seq("STRUCTURE", NamespaceSimpleName);
+ 
+    const base = seq("BASE TYPE", NamespaceSimpleName);
+ 
+    const em = seq("ENUM", NamespaceSimpleName, opt(structure), opt(base));
+ 
+    const ret = ver(Version.v751, seq("TYPES", "BEGIN OF", em));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_enum_end.ts.html b/src/abap/2_statements/statements/type_enum_end.ts.html new file mode 100644 index 00000000000..5b9140e9c03 --- /dev/null +++ b/src/abap/2_statements/statements/type_enum_end.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_enum_end.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_enum_end.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {opt, seq, ver} from "../combi";
+import {NamespaceSimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class TypeEnumEnd implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const structure = seq("STRUCTURE", NamespaceSimpleName);
+ 
+    const ret = ver(Version.v751, seq("TYPES", "END OF", "ENUM", NamespaceSimpleName, opt(structure)));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_mesh.ts.html b/src/abap/2_statements/statements/type_mesh.ts.html new file mode 100644 index 00000000000..6c31ca9e9ea --- /dev/null +++ b/src/abap/2_statements/statements/type_mesh.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_mesh.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_mesh.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {opt, plus, seq, star, ver} from "../combi";
+import {NamespaceSimpleName, TypeName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class TypeMesh implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const on = seq("ON", NamespaceSimpleName, "=", NamespaceSimpleName, star(seq("AND", NamespaceSimpleName, "=", NamespaceSimpleName)));
+ 
+    const using = seq("USING KEY", NamespaceSimpleName);
+ 
+    const association = seq("ASSOCIATION", NamespaceSimpleName, "TO", NamespaceSimpleName, plus(on));
+ 
+    const ret = ver(Version.v751, seq("TYPES", NamespaceSimpleName, "TYPE", opt("REF TO"), TypeName, plus(association), opt(using)));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_mesh_begin.ts.html b/src/abap/2_statements/statements/type_mesh_begin.ts.html new file mode 100644 index 00000000000..59b03a10f0f --- /dev/null +++ b/src/abap/2_statements/statements/type_mesh_begin.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_mesh_begin.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_mesh_begin.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver} from "../combi";
+import {NamespaceSimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class TypeMeshBegin implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = ver(Version.v740sp05, seq("TYPES", "BEGIN OF MESH", NamespaceSimpleName));
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_mesh_end.ts.html b/src/abap/2_statements/statements/type_mesh_end.ts.html new file mode 100644 index 00000000000..c934a8b0c0c --- /dev/null +++ b/src/abap/2_statements/statements/type_mesh_end.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_mesh_end.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_mesh_end.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver} from "../combi";
+import {NamespaceSimpleName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {Version} from "../../../version";
+ 
+export class TypeMeshEnd implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = ver(Version.v740sp05, seq("TYPES", "END OF MESH", NamespaceSimpleName));
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_pool.ts.html b/src/abap/2_statements/statements/type_pool.ts.html new file mode 100644 index 00000000000..09d8ff404a9 --- /dev/null +++ b/src/abap/2_statements/statements/type_pool.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_pool.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_pool.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, regex as reg} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+// type pool definition
+export class TypePool implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const fieldName = reg(/^\w+$/);
+ 
+    const ret = seq("TYPE-POOL", fieldName);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/type_pools.ts.html b/src/abap/2_statements/statements/type_pools.ts.html new file mode 100644 index 00000000000..baee8d030bc --- /dev/null +++ b/src/abap/2_statements/statements/type_pools.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/type_pools.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements type_pools.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +21x +21x +21x +21x +21x +21x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, regex as reg} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+// type pool usage
+export class TypePools implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const fieldName = reg(/^\w+$/);
+ 
+    const ret = seq("TYPE-POOLS", fieldName);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/uline.ts.html b/src/abap/2_statements/statements/uline.ts.html new file mode 100644 index 00000000000..ef213a60e7a --- /dev/null +++ b/src/abap/2_statements/statements/uline.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/uline.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements uline.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, optPrio} from "../combi";
+import {WriteOffsetLength} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Uline implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("ULINE", optPrio(WriteOffsetLength), optPrio("NO-GAP"));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/unassign.ts.html b/src/abap/2_statements/statements/unassign.ts.html new file mode 100644 index 00000000000..a597b870459 --- /dev/null +++ b/src/abap/2_statements/statements/unassign.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/unassign.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements unassign.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq} from "../combi";
+import {TargetFieldSymbol} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Unassign implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return seq("UNASSIGN", TargetFieldSymbol);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/unpack.ts.html b/src/abap/2_statements/statements/unpack.ts.html new file mode 100644 index 00000000000..76f365edfc3 --- /dev/null +++ b/src/abap/2_statements/statements/unpack.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/unpack.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements unpack.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq} from "../combi";
+import {Target, Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Unpack implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ret = seq("UNPACK",
+                    Source,
+                    "TO",
+                    Target);
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/update_database.ts.html b/src/abap/2_statements/statements/update_database.ts.html new file mode 100644 index 00000000000..c19f18dee99 --- /dev/null +++ b/src/abap/2_statements/statements/update_database.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/update_database.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements update_database.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, alt, star} from "../combi";
+import {SQLSource, DatabaseTable, Dynamic, SQLFieldAndValue, SQLCond, DatabaseConnection, SQLClient} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class UpdateDatabase implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const parameters = seq(SQLFieldAndValue, star(seq(opt(","), SQLFieldAndValue)));
+ 
+    const set = seq("SET",
+                    alt(parameters, Dynamic),
+                    opt(seq("WHERE", SQLCond)));
+ 
+    const fromTable = seq("FROM",
+                          opt("TABLE"),
+                          SQLSource);
+ 
+    const ret = seq("UPDATE",
+                    DatabaseTable,
+                    opt(SQLClient),
+                    opt(DatabaseConnection),
+                    opt(alt(fromTable, set)));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/wait.ts.html b/src/abap/2_statements/statements/wait.ts.html new file mode 100644 index 00000000000..d013609eaf3 --- /dev/null +++ b/src/abap/2_statements/statements/wait.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/wait.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements wait.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt, per, alt, ver} from "../combi";
+import {Version} from "../../../version";
+import {Source, Cond} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Wait implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const up = seq("UP TO", Source, "SECONDS");
+ 
+    const channels = "MESSAGING CHANNELS";
+    const push = ver(Version.v750, "PUSH CHANNELS", Version.OpenABAP);
+    const tasks = "ASYNCHRONOUS TASKS";
+ 
+    const type = seq("FOR", per(channels, push, tasks));
+ 
+    const until = seq(opt(type), "UNTIL", Cond, opt(up));
+ 
+    const ret = seq("WAIT", alt(until, up));
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/when.ts.html b/src/abap/2_statements/statements/when.ts.html new file mode 100644 index 00000000000..71e076a05c1 --- /dev/null +++ b/src/abap/2_statements/statements/when.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/when.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements when.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, starPrio} from "../combi";
+import {Source, Or} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class When implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const sourc = seq(Source, starPrio(Or));
+ 
+    return seq("WHEN", sourc);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/when_others.ts.html b/src/abap/2_statements/statements/when_others.ts.html new file mode 100644 index 00000000000..70decd43e5e --- /dev/null +++ b/src/abap/2_statements/statements/when_others.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/when_others.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements when_others.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x
import {IStatement} from "./_statement";
+import {str} from "../combi";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class WhenOthers implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    return str("WHEN OTHERS");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/when_type.ts.html b/src/abap/2_statements/statements/when_type.ts.html new file mode 100644 index 00000000000..353c8b96659 --- /dev/null +++ b/src/abap/2_statements/statements/when_type.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/when_type.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements when_type.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver, optPrio} from "../combi";
+import {ClassName, Target} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class WhenType implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const into = seq("INTO", Target);
+ 
+    const type = seq(ClassName, optPrio(into));
+ 
+    return ver(Version.v750, seq("WHEN TYPE", type), Version.OpenABAP);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/while.ts.html b/src/abap/2_statements/statements/while.ts.html new file mode 100644 index 00000000000..a0098a7d6ba --- /dev/null +++ b/src/abap/2_statements/statements/while.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/while.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements while.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, opt} from "../combi";
+import {Cond, Source, Target} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class While implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const vary = seq("VARY", Target, "FROM", Source, "NEXT", Source);
+ 
+    return seq("WHILE", Cond, opt(vary));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/window.ts.html b/src/abap/2_statements/statements/window.ts.html new file mode 100644 index 00000000000..448985d9551 --- /dev/null +++ b/src/abap/2_statements/statements/window.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/window.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements window.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt} from "../combi";
+import {Source} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Window implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const ending = seq("ENDING AT", Source, Source);
+ 
+    const ret = seq("WINDOW STARTING AT",
+                    Source,
+                    Source,
+                    opt(ending));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/with.ts.html b/src/abap/2_statements/statements/with.ts.html new file mode 100644 index 00000000000..6ffab38fa74 --- /dev/null +++ b/src/abap/2_statements/statements/with.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/with.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements with.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {seq, ver, plus, tok} from "../combi";
+import {Version} from "../../../version";
+import {Select, SelectLoop, WithName} from "../expressions";
+import {IStatementRunnable} from "../statement_runnable";
+import {WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+ 
+export class With implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const as = seq(WithName, "AS", tok(WParenLeftW), SelectLoop, tok(WParenRightW));
+    return ver(Version.v751, seq("WITH", plus(as), Select));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/with_loop.ts.html b/src/abap/2_statements/statements/with_loop.ts.html new file mode 100644 index 00000000000..a6cc0c50cfe --- /dev/null +++ b/src/abap/2_statements/statements/with_loop.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/with_loop.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements with_loop.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {plus, seq, tok, ver} from "../combi";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+import {WParenLeftW, WParenRightW} from "../../1_lexer/tokens";
+import {SelectLoop, WithName} from "../expressions";
+ 
+export class WithLoop implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+    const as = seq(WithName, "AS", tok(WParenLeftW), SelectLoop, tok(WParenRightW));
+    return ver(Version.v751, seq("WITH", plus(as), SelectLoop));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/2_statements/statements/write.ts.html b/src/abap/2_statements/statements/write.ts.html new file mode 100644 index 00000000000..1dba70ada28 --- /dev/null +++ b/src/abap/2_statements/statements/write.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/abap/2_statements/statements/write.ts + + + + + + + + + +
+
+

All files / src/abap/2_statements/statements write.ts

+
+ +
+ 100% + Statements + 65/65 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 65/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +651x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IStatement} from "./_statement";
+import {verNot, seq, opt, alt, per, altPrio} from "../combi";
+import {Target, Source, Dynamic, FieldSub, Color, WriteOffsetLength} from "../expressions";
+import {Version} from "../../../version";
+import {IStatementRunnable} from "../statement_runnable";
+ 
+export class Write implements IStatement {
+ 
+  public getMatcher(): IStatementRunnable {
+ 
+    const mask = seq("USING",
+                     altPrio("NO EDIT MASK",
+                             seq("EDIT MASK", Source)));
+ 
+    const onOff = alt(altPrio("ON", "OFF"), seq("=", FieldSub));
+ 
+    const dateFormat = altPrio("DD/MM/YY",
+                               "MM/DD/YY",
+                               "DD/MM/YYYY",
+                               "MM/DD/YYYY",
+                               "DDMMYY",
+                               "MMDDYY",
+                               "YYMMDD");
+ 
+    const as = seq("AS", altPrio("LINE", "ICON", "CHECKBOX", "SYMBOL"));
+ 
+    const to = seq("TO", Target);
+    const options = per(mask,
+                        to,
+                        seq("EXPONENT", Source),
+                        "NO-GROUPING",
+                        "NO-ZERO",
+                        "CENTERED",
+                        seq("INPUT", opt(onOff)),
+                        "NO-GAP",
+                        "LEFT-JUSTIFIED",
+                        as,
+                        seq("FRAMES", onOff),
+                        seq("HOTSPOT", opt(onOff)),
+                        "RIGHT-JUSTIFIED",
+                        seq("TIME ZONE", Source),
+                        seq("UNDER", Source),
+                        seq("STYLE", Source),
+                        seq("ROUND", Source),
+                        seq("QUICKINFO", Source),
+                        "ENVIRONMENT TIME FORMAT",
+                        dateFormat,
+                        seq("UNIT", Source),
+                        seq("INTENSIFIED", opt(onOff)),
+                        seq("INDEX", Source),
+                        seq("DECIMALS", Source),
+                        seq("INVERSE", opt(onOff)),
+                        Color,
+                        seq("CURRENCY", Source),
+                        "NO-SIGN");
+ 
+    const ret = seq("WRITE", alt("AT /",
+                                 seq(opt(WriteOffsetLength),
+                                     altPrio(Source, Dynamic, "/"),
+                                     opt(options))));
+ 
+    return verNot(Version.Cloud, ret);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/index.html b/src/abap/3_structures/index.html new file mode 100644 index 00000000000..a41b5f87d4e --- /dev/null +++ b/src/abap/3_structures/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/abap/3_structures + + + + + + + + + +
+
+

All files src/abap/3_structures

+
+ +
+ 100% + Statements + 66/66 +
+ + +
+ 100% + Branches + 17/17 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 66/66 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
structure_parser.ts +
+
100%66/66100%17/17100%3/3100%66/66
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structure_parser.ts.html b/src/abap/3_structures/structure_parser.ts.html new file mode 100644 index 00000000000..c6ba0b79bb0 --- /dev/null +++ b/src/abap/3_structures/structure_parser.ts.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/abap/3_structures/structure_parser.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures structure_parser.ts

+
+ +
+ 100% + Statements + 66/66 +
+ + +
+ 100% + Branches + 17/17 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 66/66 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +661x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7513x +7513x +7513x +7513x +25336x +25336x +963x +963x +24373x +24373x +7513x +7513x +7513x +1x +1x +1x +1x +7513x +7513x +377x +7513x +84x +7136x +7052x +7052x +7052x +7513x +1x +1x +7513x +7513x +3x +3x +7513x +7513x +7513x +390x +390x +390x +7513x +190x +190x +190x +190x +190x +6933x +6933x +6933x +1x +1x
import {Unknown, Empty, Comment as StatementComment} from "../2_statements/statements/_statement";
+import {IStructure} from "./structures/_structure";
+import * as Structures from "./structures";
+import {Issue} from "../../issue";
+import {StructureNode, StatementNode} from "../nodes";
+import {Position} from "../../position";
+import {IStructureResult} from "./structure_result";
+import {IStatementResult} from "../2_statements/statement_result";
+import {IFile} from "../../files/_ifile";
+import {Severity} from "../../severity";
+import {IStructureRunnable} from "./structures/_structure_runnable";
+ 
+export class StructureParser {
+  private static readonly singletons: {[index: string]: IStructureRunnable} = {};
+ 
+  public static run(input: IStatementResult): IStructureResult {
+    const structure = this.findStructureForFile(input.file.getFilename());
+ 
+    const filtered: StatementNode[] = [];
+    for (const s of input.statements) {
+      const get = s.get();
+      if (get instanceof StatementComment || get instanceof Empty || get instanceof Unknown) {
+        continue;
+      }
+      filtered.push(s);
+    }
+ 
+    return this.runFile(structure, input.file, filtered);
+  }
+ 
+//////////////////
+ 
+  private static findStructureForFile(filename: string): IStructure {
+// todo, not sure this is the right place for this logic
+    if (filename.endsWith(".clas.abap")) {
+      return new Structures.ClassGlobal();
+    } else if (filename.endsWith(".intf.abap")) {
+      return new Structures.InterfaceGlobal();
+    } else {
+// todo, add a special structure for TYPE-POOLS
+      return new Structures.Any();
+    }
+  }
+ 
+  private static runFile(structure: IStructure, file: IFile, statements: StatementNode[]): {issues: Issue[], node?: StructureNode} {
+    const parent = new StructureNode(structure);
+    if (this.singletons[structure.constructor.name] === undefined) {
+      this.singletons[structure.constructor.name] = structure.getMatcher();
+    }
+    const result = this.singletons[structure.constructor.name].run(statements, parent);
+ 
+    if (result.error) {
+      const issue = Issue.atPosition(file, new Position(1, 1), result.errorDescription, "structure", Severity.Error);
+      return {issues: [issue], node: undefined};
+    }
+    if (result.unmatched.length > 0) {
+      const statement = result.unmatched[0];
+      const descr = "Unexpected " + statement.get().constructor.name.toUpperCase();
+      const issue = Issue.atPosition(file, statement.getStart(), descr, "structure", Severity.Error);
+      return {issues: [issue], node: undefined};
+    }
+ 
+    return {issues: [], node: parent};
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/_combi.ts.html b/src/abap/3_structures/structures/_combi.ts.html new file mode 100644 index 00000000000..67824fa7bde --- /dev/null +++ b/src/abap/3_structures/structures/_combi.ts.html @@ -0,0 +1,1249 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/_combi.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures _combi.ts

+
+ +
+ 91.77% + Statements + 357/389 +
+ + +
+ 97.43% + Branches + 76/78 +
+ + +
+ 67.5% + Functions + 27/40 +
+ + +
+ 91.77% + Lines + 357/389 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +3891x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +162x +  +  +162x +162x +1x +1x +  +  +  +1x +1x +  +  +1x +1x +157x +157x +1x +1x +16010x +16010x +16010x +37596x +37596x +7355x +7355x +7355x +7355x +7355x +7355x +7355x +7355x +30241x +37596x +30235x +37596x +6x +6x +6x +6x +30241x +30241x +30241x +8655x +8655x +8655x +8655x +8655x +8655x +8655x +8655x +1x +1x +1x +1x +1x +1x +1x +1x +1x +58x +  +  +58x +58x +1x +1x +32904x +32904x +57x +57x +653x +679x +245x +679x +434x +434x +679x +653x +57x +32904x +1x +1x +15x +15x +1x +1x +  +  +  +1x +1x +  +  +1x +1x +32904x +32904x +32904x +32904x +32904x +1x +1x +1x +1x +1x +1x +1x +1x +32903x +32903x +32904x +27074x +27074x +14518x +14518x +27074x +361x +361x +361x +27074x +18385x +32904x +21963x +21963x +11462x +11462x +21963x +264x +264x +264x +21963x +6923x +32904x +6298x +6298x +6298x +6298x +6298x +6298x +6298x +32904x +625x +625x +625x +625x +625x +625x +625x +625x +32904x +1x +1x +1x +1x +1x +1x +121x +121x +1x +1x +  +  +1x +1x +  +  +1x +1x +9623x +9623x +9623x +9623x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +115x +115x +1x +1x +  +  +1x +1x +  +  +1x +1x +17340x +17340x +17340x +34494x +7011x +7011x +7011x +7011x +7011x +7011x +7011x +7011x +27483x +27483x +27483x +34494x +10329x +361x +361x +361x +361x +361x +361x +361x +10329x +9968x +9968x +9968x +9968x +9968x +9968x +9968x +9968x +10329x +17154x +34494x +17150x +34494x +4x +4x +4x +4x +17154x +17154x +17154x +17340x +1x +1x +7x +7x +1x +1x +1x +1x +1x +1x +1x +48x +48x +1x +1x +  +  +1x +1x +  +  +1x +1x +167x +167x +167x +1x +1x +31088x +48x +48x +48x +48x +31088x +1x +1x +30921x +30921x +30921x +30921x +11738x +30921x +19183x +19183x +30921x +30921x +1x +1x +1x +1x +1x +1x +811x +811x +1x +1x +631x +631x +14x +14x +617x +617x +1x +1x +  +  +1x +1x +  +  +1x +1x +31237x +31237x +1x +1x +55494x +567x +567x +567x +567x +567x +567x +567x +55494x +24257x +24257x +24257x +24257x +24257x +24257x +24257x +24257x +54927x +30670x +30670x +30670x +30670x +30670x +30670x +30670x +30670x +55494x +1x +1x +46x +46x +46x +1x +58x +58x +58x +1x +116x +116x +116x +1x +121x +121x +121x +1x +115x +115x +115x +1x +811x +811x +811x +1x +1x +317x +317x +48x +48x +317x +317x
import {IStructure} from "./_structure";
+import {StructureNode, StatementNode} from "../../nodes";
+import {INode} from "../../nodes/_inode";
+import {IStatement, MacroCall, NativeSQL} from "../../2_statements/statements/_statement";
+import {IStructureRunnable} from "./_structure_runnable";
+import {IMatch} from "./_match";
+ 
+class Sequence implements IStructureRunnable {
+  private readonly list: IStructureRunnable[];
+ 
+  public constructor(list: IStructureRunnable[]) {
+    if (list.length < 2) {
+      throw new Error("Sequence, length error");
+    }
+    this.list = list;
+  }
+ 
+  public toRailroad() {
+    const children = this.list.map((e) => { return e.toRailroad(); });
+    return "Railroad.Sequence(" + children.join() + ")";
+  }
+ 
+  public getUsing(): string[] {
+    return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, [] as string[]);
+  }
+ 
+  public first() {
+    return this.list[0].first();
+  }
+ 
+  public run(statements: StatementNode[], parent: INode): IMatch {
+    let inn = statements;
+    let out: StatementNode[] = [];
+    for (const i of this.list) {
+      const match = i.run(inn, parent);
+      if (match.error) {
+        return {
+          matched: [],
+          unmatched: statements,
+          error: true,
+          errorDescription: match.errorDescription,
+          errorMatched: out.length,
+        };
+      }
+ 
+      if (match.matched.length < 100) {
+        out.push(...match.matched);
+      } else {
+        // avoid using the spread operator, it might trigger "Maximum call stack size exceeded"
+        // when the number of matched elements is very large
+        out = out.concat(match.matched);
+      }
+ 
+      inn = match.unmatched;
+    }
+    return {
+      matched: out,
+      unmatched: inn,
+      error: false,
+      errorDescription: "",
+      errorMatched: 0,
+    };
+  }
+}
+ 
+// Note that the Alternative does not nessesarily return the first in the alternative
+// as a map is used for better performance
+class Alternative implements IStructureRunnable {
+  private readonly list: IStructureRunnable[];
+  private map: {[index: string]: IStructureRunnable[]};
+ 
+  public constructor(list: IStructureRunnable[]) {
+    if (list.length < 2) {
+      throw new Error("Alternative, length error");
+    }
+    this.list = list;
+  }
+ 
+  private setupMap() {
+    // dont call from constructor, it will cause infinite loop
+    if (this.map === undefined) {
+      this.map = {};
+      for (const i of this.list) {
+        for (const first of i.first()) {
+          if (this.map[first]) {
+            this.map[first].push(i);
+          } else {
+            this.map[first] = [i];
+          }
+        }
+      }
+    }
+  }
+ 
+  public first() {
+    return [""];
+  }
+ 
+  public toRailroad() {
+    const children = this.list.map((e) => { return e.toRailroad(); });
+    return "Railroad.Choice(0, " + children.join() + ")";
+  }
+ 
+  public getUsing() {
+    return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, [] as string[]);
+  }
+ 
+  public run(statements: StatementNode[], parent: INode): IMatch {
+    this.setupMap();
+    let count = 0;
+    let countError = "";
+ 
+    if (statements.length === 0) {
+      return {
+        matched: [],
+        unmatched: statements,
+        error: true,
+        errorDescription: countError,
+        errorMatched: count,
+      };
+    }
+ 
+    const token = statements[0].getFirstToken().getStr().toUpperCase();
+    for (const i of this.map[token] || []) {
+      const match = i.run(statements, parent);
+      if (match.error === false) {
+        return match;
+      }
+      if (match.errorMatched > count) {
+        countError = match.errorDescription;
+        count = match.errorMatched;
+      }
+    }
+ 
+    for (const i of this.map[""] || []) {
+      const match = i.run(statements, parent);
+      if (match.error === false) {
+        return match;
+      }
+      if (match.errorMatched > count) {
+        countError = match.errorDescription;
+        count = match.errorMatched;
+      }
+    }
+ 
+    if (count === 0) {
+      return {
+        matched: [],
+        unmatched: statements,
+        error: true,
+        errorDescription: "Unexpected code structure",
+        errorMatched: count,
+      };
+    } else {
+      return {
+        matched: [],
+        unmatched: statements,
+        error: true,
+        errorDescription: countError,
+        errorMatched: count,
+      };
+    }
+  }
+}
+ 
+class Optional implements IStructureRunnable {
+  private readonly obj: IStructureRunnable;
+ 
+  public constructor(obj: IStructureRunnable) {
+    this.obj = obj;
+  }
+ 
+  public toRailroad() {
+    return "Railroad.Optional(" + this.obj.toRailroad() + ")";
+  }
+ 
+  public getUsing() {
+    return this.obj.getUsing();
+  }
+ 
+  public run(statements: StatementNode[], parent: INode): IMatch {
+    const ret = this.obj.run(statements, parent);
+    ret.error = false;
+    return ret;
+  }
+ 
+  public first() {
+    return [""];
+  }
+}
+ 
+class Star implements IStructureRunnable {
+  private readonly obj: IStructureRunnable;
+ 
+  public constructor(obj: IStructureRunnable) {
+    this.obj = obj;
+  }
+ 
+  public toRailroad() {
+    return "Railroad.ZeroOrMore(" + this.obj.toRailroad() + ")";
+  }
+ 
+  public getUsing() {
+    return this.obj.getUsing();
+  }
+ 
+  public run(statements: StatementNode[], parent: INode): IMatch {
+    let inn = statements;
+    let out: StatementNode[] = [];
+    while (true) {
+      if (inn.length === 0) {
+        return {
+          matched: out,
+          unmatched: inn,
+          error: false,
+          errorDescription: "",
+          errorMatched: 0,
+        };
+      }
+ 
+      const match = this.obj.run(inn, parent);
+ 
+      if (match.error === true) {
+        if (match.errorMatched > 0) {
+          return {
+            matched: out,
+            unmatched: inn,
+            error: true,
+            errorDescription: match.errorDescription,
+            errorMatched: match.errorMatched,
+          };
+        } else {
+          return {
+            matched: out,
+            unmatched: inn,
+            error: false,
+            errorDescription: "",
+            errorMatched: 0,
+          };
+        }
+      }
+ 
+      if (match.matched.length < 100) {
+        out.push(...match.matched);
+      } else {
+        // avoid using the spread operator, it might trigger "Maximum call stack size exceeded"
+        // when the number of matched elements is very large
+        out = out.concat(match.matched);
+      }
+ 
+      inn = match.unmatched;
+    }
+  }
+ 
+  public first() {
+    return [""];
+  }
+}
+ 
+class SubStructure implements IStructureRunnable {
+  private readonly s: IStructure;
+  private matcher: IStructureRunnable;
+ 
+  public constructor(s: IStructure) {
+    this.s = s;
+  }
+ 
+  public toRailroad() {
+    return "Railroad.NonTerminal('" + this.s.constructor.name + "', {href: '#/structure/" + this.s.constructor.name + "'})";
+  }
+ 
+  public getUsing() {
+    return ["structure/" + this.s.constructor.name];
+  }
+ 
+  public first() {
+    this.setupMatcher();
+    return this.matcher.first();
+  }
+ 
+  private setupMatcher() {
+    if (this.matcher === undefined) {
+      // SubStructures are singletons, so the getMatcher can be saved, its expensive to create
+      // dont move this to the constructor, as it might trigger infinite recursion
+      this.matcher = this.s.getMatcher();
+    }
+  }
+ 
+  public run(statements: StatementNode[], parent: INode): IMatch {
+    const nparent = new StructureNode(this.s);
+    this.setupMatcher();
+    const ret = this.matcher.run(statements, nparent);
+    if (ret.matched.length === 0) {
+      ret.error = true;
+    } else {
+      parent.addChild(nparent);
+    }
+    return ret;
+  }
+}
+ 
+class SubStatement implements IStructureRunnable {
+  private readonly obj: new () => IStatement;
+ 
+  public constructor(obj: new () => IStatement) {
+    this.obj = obj;
+  }
+ 
+  public first() {
+    const o = new this.obj();
+    if (o instanceof MacroCall || o instanceof NativeSQL) {
+      return [""];
+    }
+    return o.getMatcher().first();
+  }
+ 
+  public toRailroad() {
+    return "Railroad.Terminal('" + this.className() + "', {href: '#/statement/" + this.className() + "'})";
+  }
+ 
+  public getUsing() {
+    return ["statement/" + this.className()];
+  }
+ 
+  private className() {
+    return this.obj.name;
+  }
+ 
+  public run(statements: StatementNode[], parent: INode): IMatch {
+    if (statements.length === 0) {
+      return {
+        matched: [],
+        unmatched: [],
+        error: true,
+        errorDescription: "Expected " + this.className().toUpperCase(),
+        errorMatched: 0,
+      };
+    } else if (statements[0].get() instanceof this.obj) {
+      parent.addChild(statements[0]);
+      return {
+        matched: [statements[0]],
+        unmatched: statements.splice(1),
+        error: false,
+        errorDescription: "",
+        errorMatched: 0,
+      };
+    } else {
+      return {
+        matched: [],
+        unmatched: statements,
+        error: true,
+        errorDescription: "Expected " + this.className().toUpperCase(),
+        errorMatched: 0,
+      };
+    }
+  }
+}
+ 
+export function seq(first: IStructureRunnable, ...rest: IStructureRunnable[]): IStructureRunnable {
+  return new Sequence([first].concat(rest));
+}
+ 
+export function alt(first: IStructureRunnable, ...rest: IStructureRunnable[]): IStructureRunnable {
+  return new Alternative([first].concat(rest));
+}
+ 
+export function beginEnd(begin: IStructureRunnable, body: IStructureRunnable, end: IStructureRunnable): IStructureRunnable {
+  return new Sequence([begin, body, end]);
+}
+ 
+export function opt(o: IStructureRunnable): IStructureRunnable {
+  return new Optional(o);
+}
+ 
+export function star(s: IStructureRunnable): IStructureRunnable {
+  return new Star(s);
+}
+ 
+export function sta(s: new () => IStatement): IStructureRunnable {
+  return new SubStatement(s);
+}
+ 
+const singletons: {[index: string]: SubStructure} = {};
+export function sub(s: new () => IStructure): IStructureRunnable {
+  if (singletons[s.name] === undefined) {
+    singletons[s.name] = new SubStructure(new s());
+  }
+  return singletons[s.name];
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/any.ts.html b/src/abap/3_structures/structures/any.ts.html new file mode 100644 index 00000000000..79e9195d194 --- /dev/null +++ b/src/abap/3_structures/structures/any.ts.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/any.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures any.ts

+
+ +
+ 100% + Statements + 44/44 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 44/44 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +441x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +1x +1x
import {star, sub, alt, sta} from "./_combi";
+import * as Structures from ".";
+import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Any implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+ 
+    return star(alt(sta(Statements.ClassLocalFriends),
+                    sta(Statements.ClassDeferred),
+                    sta(Statements.Report),
+                    sta(Statements.Program),
+                    sta(Statements.Parameter),
+                    sta(Statements.CheckSelectOptions),
+                    sta(Statements.Get),
+                    sta(Statements.Initialization),
+                    sta(Statements.InterfaceDeferred),
+                    sta(Statements.SelectionScreen),
+                    sta(Statements.SelectOption),
+                    sta(Statements.AtSelectionScreen),
+                    sta(Statements.AtLineSelection),
+                    sta(Statements.AtUserCommand),
+                    sta(Statements.StartOfSelection),
+                    sta(Statements.EndOfSelection),
+                    sta(Statements.LoadOfProgram),
+                    sta(Statements.TopOfPage),
+                    sta(Statements.EndOfPage),
+                    sta(Statements.Controls),
+                    sta(Statements.TypePools),
+                    sta(Statements.TypePool),
+                    sta(Statements.FunctionPool),
+                    sub(Structures.Normal),
+                    sub(Structures.Form),
+                    sub(Structures.Module),
+                    sub(Structures.FunctionModule),
+                    sub(Structures.Interface),
+                    sub(Structures.ClassDefinition),
+                    sub(Structures.ClassImplementation)));
+ 
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/at.ts.html b/src/abap/3_structures/structures/at.ts.html new file mode 100644 index 00000000000..e6be91ddd30 --- /dev/null +++ b/src/abap/3_structures/structures/at.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/at.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures at.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class At implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.At),
+                    opt(sub(Body)),
+                    sta(Statements.EndAt));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/at_first.ts.html b/src/abap/3_structures/structures/at_first.ts.html new file mode 100644 index 00000000000..f05a8ab81bb --- /dev/null +++ b/src/abap/3_structures/structures/at_first.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/at_first.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures at_first.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class AtFirst implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.AtFirst),
+                    opt(sub(Body)),
+                    sta(Statements.EndAt));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/at_last.ts.html b/src/abap/3_structures/structures/at_last.ts.html new file mode 100644 index 00000000000..99fb819dcd6 --- /dev/null +++ b/src/abap/3_structures/structures/at_last.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/at_last.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures at_last.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class AtLast implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.AtLast),
+                    opt(sub(Body)),
+                    sta(Statements.EndAt));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/body.ts.html b/src/abap/3_structures/structures/body.ts.html new file mode 100644 index 00000000000..6ab707184cb --- /dev/null +++ b/src/abap/3_structures/structures/body.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/body.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures body.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IStructure} from "./_structure";
+import {star, sub} from "./_combi";
+import {Normal} from "./normal";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Body implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+// todo, this should be a "plus" instead, however its not implemented yet
+    return star(sub(Normal));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/case.ts.html b/src/abap/3_structures/structures/case.ts.html new file mode 100644 index 00000000000..79dea0c004a --- /dev/null +++ b/src/abap/3_structures/structures/case.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/case.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures case.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +8x +8x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, beginEnd, sub, alt} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {When} from "./when";
+import {MacroCall} from "../../2_statements/statements/_statement";
+ 
+export class Case implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.Case),
+                    star(alt(sub(When), sta(MacroCall), sta(Statements.Include))),
+                    sta(Statements.EndCase));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/case_type.ts.html b/src/abap/3_structures/structures/case_type.ts.html new file mode 100644 index 00000000000..075a1b2e569 --- /dev/null +++ b/src/abap/3_structures/structures/case_type.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/case_type.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures case_type.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, alt, beginEnd, sub} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {WhenType} from "./when_type";
+ 
+export class CaseType implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.CaseType),
+                    star(alt(sub(WhenType), sta(Statements.Data))),
+                    sta(Statements.EndCase));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/catch.ts.html b/src/abap/3_structures/structures/catch.ts.html new file mode 100644 index 00000000000..e54a3725aab --- /dev/null +++ b/src/abap/3_structures/structures/catch.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/catch.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures catch.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {sta, seq, sub, opt} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Catch implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const cat = seq(sta(Statements.Catch), opt(sub(Body)));
+ 
+    return cat;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/catch_system_exceptions.ts.html b/src/abap/3_structures/structures/catch_system_exceptions.ts.html new file mode 100644 index 00000000000..0bf9b30a431 --- /dev/null +++ b/src/abap/3_structures/structures/catch_system_exceptions.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/catch_system_exceptions.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures catch_system_exceptions.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class CatchSystemExceptions implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.CatchSystemExceptions),
+                    opt(sub(Body)),
+                    sta(Statements.EndCatch));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/class_data.ts.html b/src/abap/3_structures/structures/class_data.ts.html new file mode 100644 index 00000000000..f60c83afb5e --- /dev/null +++ b/src/abap/3_structures/structures/class_data.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/class_data.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures class_data.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, beginEnd, alt, sub} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class ClassData implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.ClassDataBegin),
+                    star(alt(sta(Statements.ClassData), sub(ClassData))),
+                    sta(Statements.ClassDataEnd));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/class_definition.ts.html b/src/abap/3_structures/structures/class_definition.ts.html new file mode 100644 index 00000000000..52a7c5abd49 --- /dev/null +++ b/src/abap/3_structures/structures/class_definition.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/class_definition.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures class_definition.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {seq, opt, star, beginEnd, sta, sub} from "./_combi";
+import {IStructure} from "./_structure";
+import {PrivateSection} from "./private_section";
+import {ProtectedSection} from "./protected_section";
+import {PublicSection} from "./public_section";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class ClassDefinition implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const body = seq(
+      opt(sta(Statements.SetExtendedCheck)),
+      star(sta(Statements.TypePools)),
+      opt(sub(PublicSection)),
+      star(sta(Statements.Include)),
+      opt(sub(ProtectedSection)),
+      opt(sub(PrivateSection)),
+      opt(sta(Statements.SetExtendedCheck)));
+ 
+    return beginEnd(sta(Statements.ClassDefinition), body, sta(Statements.EndClass));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/class_global.ts.html b/src/abap/3_structures/structures/class_global.ts.html new file mode 100644 index 00000000000..b31fd0552ea --- /dev/null +++ b/src/abap/3_structures/structures/class_global.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/class_global.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures class_global.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +9x +9x +9x +9x +1x +1x
import * as Structures from ".";
+import {IStructure} from "./_structure";
+import * as Statements from "../../2_statements/statements";
+import {seq, sub, star, sta} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class ClassGlobal implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return seq(star(sta(Statements.TypePools)),
+               sub(Structures.ClassDefinition),
+               sub(Structures.ClassImplementation));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/class_implementation.ts.html b/src/abap/3_structures/structures/class_implementation.ts.html new file mode 100644 index 00000000000..0867e273a2a --- /dev/null +++ b/src/abap/3_structures/structures/class_implementation.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/class_implementation.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures class_implementation.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +6x +6x +6x +6x +6x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import * as Structures from ".";
+import {star, sta, alt, beginEnd, sub} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class ClassImplementation implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+// the DEFINE statement is allowed between local method implementations, but not global?
+    const body = star(alt(sub(Structures.Define), sta(Statements.Include), sub(Structures.Method)));
+ 
+    return beginEnd(sta(Statements.ClassImplementation),
+                    body,
+                    sta(Statements.EndClass));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/cleanup.ts.html b/src/abap/3_structures/structures/cleanup.ts.html new file mode 100644 index 00000000000..fea0daa95f8 --- /dev/null +++ b/src/abap/3_structures/structures/cleanup.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/cleanup.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures cleanup.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {sta, seq, opt, sub} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {Body} from "./body";
+ 
+export class Cleanup implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const cleanup = seq(sta(Statements.Cleanup), opt(sub(Body)));
+    return cleanup;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/constants.ts.html b/src/abap/3_structures/structures/constants.ts.html new file mode 100644 index 00000000000..bebb0d5bde3 --- /dev/null +++ b/src/abap/3_structures/structures/constants.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/constants.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures constants.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, beginEnd, sub, alt} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Constants implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.ConstantBegin),
+                    star(alt(sta(Statements.Constant),
+                             sta(Statements.Include),
+                             sub(Constants))),
+                    sta(Statements.ConstantEnd));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/data.ts.html b/src/abap/3_structures/structures/data.ts.html new file mode 100644 index 00000000000..fca9b42d50d --- /dev/null +++ b/src/abap/3_structures/structures/data.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/data.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures data.ts

+
+ +
+ 100% + Statements + 30/30 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 30/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +301x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +12x +12x +12x +12x +12x +12x +12x +12x +12x +12x +12x +12x +12x +12x +12x +12x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, beginEnd, alt, sub} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {Enhancement} from "./enhancement";
+import {Constants} from "./constants";
+import {Types} from "./types";
+import {Define} from "./define";
+ 
+export class Data implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.DataBegin),
+                    star(alt(sta(Statements.Data),
+                             sub(Data),
+                             sta(Statements.Include),
+                             sta(Statements.Ranges),
+                             sta(Statements.Constant),
+                             sub(Constants),
+                             sta(Statements.Type),
+                             sub(Types),
+                             sub(Enhancement),
+                             sub(Define),
+                             sta(Statements.IncludeType),
+                             sta(Statements.TypePools),
+                             sta(Statements.EnhancementPoint))),
+                    sta(Statements.DataEnd));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/define.ts.html b/src/abap/3_structures/structures/define.ts.html new file mode 100644 index 00000000000..f1edc4691cf --- /dev/null +++ b/src/abap/3_structures/structures/define.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/define.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures define.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {MacroContent} from "../../2_statements/statements/_statement";
+import {IStructure} from "./_structure";
+import {star, sta, beginEnd} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Define implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.Define),
+                    star(sta(MacroContent)),
+                    sta(Statements.EndOfDefinition));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/do.ts.html b/src/abap/3_structures/structures/do.ts.html new file mode 100644 index 00000000000..14874be26a7 --- /dev/null +++ b/src/abap/3_structures/structures/do.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/do.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures do.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +6x +6x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Do implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.Do),
+                    opt(sub(Body)),
+                    sta(Statements.EndDo));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/else.ts.html b/src/abap/3_structures/structures/else.ts.html new file mode 100644 index 00000000000..5ae794ad4cc --- /dev/null +++ b/src/abap/3_structures/structures/else.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/else.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures else.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IStructure} from "./_structure";
+import {opt, seq, sta, sub} from "./_combi";
+import * as Statements from "../../2_statements/statements";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Else implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const body = opt(sub(Body));
+    const elseif = seq(sta(Statements.Else), body);
+    return elseif;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/elseif.ts.html b/src/abap/3_structures/structures/elseif.ts.html new file mode 100644 index 00000000000..1030f8e8fa7 --- /dev/null +++ b/src/abap/3_structures/structures/elseif.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/elseif.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures elseif.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IStructure} from "./_structure";
+import {opt, seq, sta, sub} from "./_combi";
+import * as Statements from "../../2_statements/statements";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class ElseIf implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const body = opt(sub(Body));
+    const elseif = seq(sta(Statements.ElseIf), body);
+    return elseif;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/enhancement.ts.html b/src/abap/3_structures/structures/enhancement.ts.html new file mode 100644 index 00000000000..025d49cf8b0 --- /dev/null +++ b/src/abap/3_structures/structures/enhancement.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/enhancement.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures enhancement.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, sub, beginEnd} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {Body} from "./body";
+ 
+export class Enhancement implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.Enhancement),
+                    opt(sub(Body)),
+                    sta(Statements.EndEnhancement));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/enhancement_section.ts.html b/src/abap/3_structures/structures/enhancement_section.ts.html new file mode 100644 index 00000000000..ec4d0cfce2f --- /dev/null +++ b/src/abap/3_structures/structures/enhancement_section.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/enhancement_section.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures enhancement_section.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, sub, beginEnd} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {Body} from "./body";
+ 
+export class EnhancementSection implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.EnhancementSection),
+                    opt(sub(Body)),
+                    sta(Statements.EndEnhancementSection));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/exec_sql.ts.html b/src/abap/3_structures/structures/exec_sql.ts.html new file mode 100644 index 00000000000..5ebf42e6004 --- /dev/null +++ b/src/abap/3_structures/structures/exec_sql.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/exec_sql.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures exec_sql.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {NativeSQL} from "../../2_statements/statements/_statement";
+import {star, sta, beginEnd} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class ExecSQL implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.ExecSQL),
+                    star(sta(NativeSQL)),
+                    sta(Statements.EndExec));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/form.ts.html b/src/abap/3_structures/structures/form.ts.html new file mode 100644 index 00000000000..2ddd4cdfab5 --- /dev/null +++ b/src/abap/3_structures/structures/form.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/form.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures form.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Form implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.Form),
+                    opt(sub(Body)),
+                    sta(Statements.EndForm));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/function_module.ts.html b/src/abap/3_structures/structures/function_module.ts.html new file mode 100644 index 00000000000..6b5399935de --- /dev/null +++ b/src/abap/3_structures/structures/function_module.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/function_module.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures function_module.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class FunctionModule implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.FunctionModule),
+                    opt(sub(Body)),
+                    sta(Statements.EndFunction));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/if.ts.html b/src/abap/3_structures/structures/if.ts.html new file mode 100644 index 00000000000..4cfc4bd0af3 --- /dev/null +++ b/src/abap/3_structures/structures/if.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/if.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures if.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +8x +8x +8x +8x +8x +8x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, opt, seq, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {ElseIf} from "./elseif";
+import {Else} from "./else";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class If implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const contents = seq(opt(sub(Body)),
+                         star(sub(ElseIf)),
+                         opt(sub(Else)));
+ 
+    return beginEnd(sta(Statements.If),
+                    contents,
+                    sta(Statements.EndIf));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/index.html b/src/abap/3_structures/structures/index.html new file mode 100644 index 00000000000..f541a14e6e2 --- /dev/null +++ b/src/abap/3_structures/structures/index.html @@ -0,0 +1,896 @@ + + + + + + Code coverage report for src/abap/3_structures/structures + + + + + + + + + +
+
+

All files src/abap/3_structures/structures

+
+ +
+ 97.87% + Statements + 1473/1505 +
+ + +
+ 98.44% + Branches + 127/129 +
+ + +
+ 85.71% + Functions + 78/91 +
+ + +
+ 97.87% + Lines + 1473/1505 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_combi.ts +
+
91.77%357/38997.43%76/7867.5%27/4091.77%357/389
any.ts +
+
100%44/44100%1/1100%1/1100%44/44
at.ts +
+
100%15/15100%1/1100%1/1100%15/15
at_first.ts +
+
100%15/15100%1/1100%1/1100%15/15
at_last.ts +
+
100%15/15100%1/1100%1/1100%15/15
body.ts +
+
100%13/13100%1/1100%1/1100%13/13
case.ts +
+
100%16/16100%1/1100%1/1100%16/16
case_type.ts +
+
100%15/15100%1/1100%1/1100%15/15
catch.ts +
+
100%15/15100%1/1100%1/1100%15/15
catch_system_exceptions.ts +
+
100%15/15100%1/1100%1/1100%15/15
class_data.ts +
+
100%14/14100%1/1100%1/1100%14/14
class_definition.ts +
+
100%24/24100%1/1100%1/1100%24/24
class_global.ts +
+
100%15/15100%1/1100%1/1100%15/15
class_implementation.ts +
+
100%18/18100%1/1100%1/1100%18/18
cleanup.ts +
+
100%14/14100%1/1100%1/1100%14/14
constants.ts +
+
100%16/16100%1/1100%1/1100%16/16
data.ts +
+
100%30/30100%1/1100%1/1100%30/30
define.ts +
+
100%15/15100%1/1100%1/1100%15/15
do.ts +
+
100%15/15100%1/1100%1/1100%15/15
else.ts +
+
100%15/15100%1/1100%1/1100%15/15
elseif.ts +
+
100%15/15100%1/1100%1/1100%15/15
enhancement.ts +
+
100%15/15100%1/1100%1/1100%15/15
enhancement_section.ts +
+
100%15/15100%1/1100%1/1100%15/15
exec_sql.ts +
+
100%15/15100%1/1100%1/1100%15/15
form.ts +
+
100%15/15100%1/1100%1/1100%15/15
function_module.ts +
+
100%15/15100%1/1100%1/1100%15/15
if.ts +
+
100%21/21100%1/1100%1/1100%21/21
index.ts +
+
100%51/51100%0/0100%0/0100%51/51
interface.ts +
+
100%17/17100%1/1100%1/1100%17/17
interface_global.ts +
+
100%15/15100%1/1100%1/1100%15/15
loop.ts +
+
100%17/17100%1/1100%1/1100%17/17
loop_at_screen.ts +
+
100%15/15100%1/1100%1/1100%15/15
method.ts +
+
100%16/16100%1/1100%1/1100%16/16
module.ts +
+
100%15/15100%1/1100%1/1100%15/15
normal.ts +
+
100%239/239100%1/1100%1/1100%239/239
on_change.ts +
+
100%15/15100%1/1100%1/1100%15/15
private_section.ts +
+
100%11/11100%1/1100%1/1100%11/11
protected_section.ts +
+
100%11/11100%1/1100%1/1100%11/11
provide.ts +
+
100%15/15100%1/1100%1/1100%15/15
public_section.ts +
+
100%11/11100%1/1100%1/1100%11/11
section_section.ts +
+
100%33/33100%1/1100%1/1100%33/33
select.ts +
+
100%15/15100%1/1100%1/1100%15/15
statics.ts +
+
100%14/14100%1/1100%1/1100%14/14
test_injection.ts +
+
100%15/15100%1/1100%1/1100%15/15
test_seam.ts +
+
100%15/15100%1/1100%1/1100%15/15
try.ts +
+
100%19/19100%1/1100%1/1100%19/19
type_enum.ts +
+
100%14/14100%1/1100%1/1100%14/14
type_mesh.ts +
+
100%14/14100%1/1100%1/1100%14/14
types.ts +
+
100%19/19100%1/1100%1/1100%19/19
when.ts +
+
100%15/15100%1/1100%1/1100%15/15
when_type.ts +
+
100%15/15100%1/1100%1/1100%15/15
while.ts +
+
100%15/15100%1/1100%1/1100%15/15
with.ts +
+
100%15/15100%1/1100%1/1100%15/15
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/index.ts.html b/src/abap/3_structures/structures/index.ts.html new file mode 100644 index 00000000000..94ca3e58802 --- /dev/null +++ b/src/abap/3_structures/structures/index.ts.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/index.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures index.ts

+
+ +
+ 100% + Statements + 51/51 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 51/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +511x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
export * from "./any";
+export * from "./at";
+export * from "./at_first";
+export * from "./at_last";
+export * from "./body";
+export * from "./case_type";
+export * from "./case";
+export * from "./catch_system_exceptions";
+export * from "./catch";
+export * from "./class_data";
+export * from "./class_definition";
+export * from "./class_global";
+export * from "./class_implementation";
+export * from "./cleanup";
+export * from "./constants";
+export * from "./data";
+export * from "./define";
+export * from "./do";
+export * from "./type_mesh";
+export * from "./else";
+export * from "./elseif";
+export * from "./enhancement_section";
+export * from "./enhancement";
+export * from "./exec_sql";
+export * from "./form";
+export * from "./function_module";
+export * from "./if";
+export * from "./interface_global";
+export * from "./interface";
+export * from "./loop_at_screen";
+export * from "./loop";
+export * from "./method";
+export * from "./module";
+export * from "./normal";
+export * from "./on_change";
+export * from "./private_section";
+export * from "./protected_section";
+export * from "./provide";
+export * from "./public_section";
+export * from "./section_section";
+export * from "./select";
+export * from "./statics";
+export * from "./test_injection";
+export * from "./test_seam";
+export * from "./try";
+export * from "./type_enum";
+export * from "./types";
+export * from "./when_type";
+export * from "./when";
+export * from "./while";
+export * from "./with";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/interface.ts.html b/src/abap/3_structures/structures/interface.ts.html new file mode 100644 index 00000000000..dd68b37fb2c --- /dev/null +++ b/src/abap/3_structures/structures/interface.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/interface.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures interface.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {star, beginEnd, sta, sub} from "./_combi";
+import {IStructure} from "./_structure";
+import {SectionContents} from "./section_section";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Interface implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const intf = beginEnd(sta(Statements.Interface),
+                          star(sub(SectionContents)),
+                          sta(Statements.EndInterface));
+ 
+    return intf;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/interface_global.ts.html b/src/abap/3_structures/structures/interface_global.ts.html new file mode 100644 index 00000000000..424b8bddf52 --- /dev/null +++ b/src/abap/3_structures/structures/interface_global.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/interface_global.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures interface_global.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import * as Structures from ".";
+import {IStructure} from "./_structure";
+import * as Statements from "../../2_statements/statements";
+import {seq, sub, star, sta} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class InterfaceGlobal implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return seq(star(sta(Statements.TypePools)),
+               star(sta(Statements.InterfaceLoad)),
+               sub(Structures.Interface));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/loop.ts.html b/src/abap/3_structures/structures/loop.ts.html new file mode 100644 index 00000000000..2a961ddcd4b --- /dev/null +++ b/src/abap/3_structures/structures/loop.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/loop.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures loop.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, beginEnd, sub, alt} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {Body, OnChange} from ".";
+ 
+export class Loop implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const body = alt(sub(Body), sub(OnChange));
+ 
+    return beginEnd(sta(Statements.Loop),
+                    star(body),
+                    sta(Statements.EndLoop));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/loop_at_screen.ts.html b/src/abap/3_structures/structures/loop_at_screen.ts.html new file mode 100644 index 00000000000..b2b6a554ec6 --- /dev/null +++ b/src/abap/3_structures/structures/loop_at_screen.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/loop_at_screen.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures loop_at_screen.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {sta, beginEnd, sub, opt} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {Body} from ".";
+ 
+export class LoopAtScreen implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.LoopAtScreen),
+                    opt(sub(Body)),
+                    sta(Statements.EndLoop));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/method.ts.html b/src/abap/3_structures/structures/method.ts.html new file mode 100644 index 00000000000..337edf536e2 --- /dev/null +++ b/src/abap/3_structures/structures/method.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/method.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures method.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub, alt, star} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {NativeSQL} from "../../2_statements/statements/_statement";
+import {Body} from "./body";
+ 
+export class Method implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.MethodImplementation),
+                    opt(alt(sub(Body), star(sta(NativeSQL)))),
+                    sta(Statements.EndMethod));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/module.ts.html b/src/abap/3_structures/structures/module.ts.html new file mode 100644 index 00000000000..191bcafd258 --- /dev/null +++ b/src/abap/3_structures/structures/module.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/module.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures module.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Module implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.Module),
+                    opt(sub(Body)),
+                    sta(Statements.EndModule));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/normal.ts.html b/src/abap/3_structures/structures/normal.ts.html new file mode 100644 index 00000000000..faa7718ffc5 --- /dev/null +++ b/src/abap/3_structures/structures/normal.ts.html @@ -0,0 +1,799 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/normal.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures normal.ts

+
+ +
+ 100% + Statements + 239/239 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 239/239 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +2391x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Structures from ".";
+import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {alt, sta, sub} from "./_combi";
+import {MacroCall} from "../../2_statements/statements/_statement";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Normal implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+// note that the sequence of alternatives here influences performance
+    return alt(sta(Statements.Move),
+               sta(Statements.Call),
+               sta(Statements.Data),
+               sub(Structures.If),
+               sta(Statements.Clear),
+               sta(Statements.FieldSymbol),
+               sta(Statements.CreateObject),
+               sta(Statements.CallFunction),
+               sta(MacroCall),
+               sub(Structures.LoopAtScreen),
+               sub(Structures.Loop),
+               sta(Statements.Append),
+               sub(Structures.Try),
+               sta(Statements.ReadTable),
+               sta(Statements.Assert),
+               sta(Statements.Return),
+               sta(Statements.Select),
+               sta(Statements.Assign),
+               sta(Statements.InsertInternal),
+               sta(Statements.DeleteInternal),
+               sta(Statements.Concatenate),
+               sub(Structures.Case),
+               sub(Structures.CaseType),
+               sub(Structures.Enhancement),
+               sub(Structures.EnhancementSection),
+ 
+               sta(Statements.AddCorresponding),
+               sta(Statements.Add),
+               sta(Statements.AssignLocalCopy),
+               sta(Statements.AuthorityCheck),
+               sta(Statements.Back),
+               sta(Statements.Break),
+               sta(Statements.BreakId),
+               sta(Statements.CallDatabase),
+               sta(Statements.CallDialog),
+               sta(Statements.CallKernel),
+               sta(Statements.CallOLE),
+               sta(Statements.CallScreen),
+               sta(Statements.ModifyScreen),
+               sta(Statements.CallSelectionScreen),
+               sta(Statements.CallTransaction),
+               sta(Statements.CallTransformation),
+               sta(Statements.Check),
+               sta(Statements.ClassDefinitionLoad),
+               sta(Statements.CloseCursor),
+               sta(Statements.CloseDataset),
+               sta(Statements.Collect),
+               sta(Statements.Commit),
+               sta(Statements.Communication),
+               sta(Statements.Compute),
+               sta(Statements.CallBadi),
+               sta(Statements.Condense),
+               sta(Statements.Constant),
+               sta(Statements.Contexts),
+               sta(Statements.Continue),
+               sta(Statements.ConvertText),
+               sta(Statements.Convert),
+               sta(Statements.CreateData),
+               sta(Statements.CreateOLE),
+               sta(Statements.DeleteCluster),
+               sta(Statements.DeleteDatabase),
+               sta(Statements.DeleteDataset),
+               sta(Statements.DeleteDynpro),
+               sta(Statements.DeleteMemory),
+               sta(Statements.DeleteReport),
+               sta(Statements.DeleteTextpool),
+               sta(Statements.Demand),
+               sta(Statements.Describe),
+               sta(Statements.Detail),
+               sta(Statements.Divide),
+               sta(Statements.EditorCall),
+               sta(Statements.EnhancementPoint),
+               sta(Statements.Exit),
+               sta(Statements.ExportDynpro),
+               sta(Statements.Export),
+               sta(Statements.Extract),
+               sta(Statements.FetchNextCursor),
+               sta(Statements.FieldGroup),
+               sta(Statements.Fields),
+               sta(Statements.Find),
+               sta(Statements.Format),
+               sta(Statements.FreeMemory),
+               sta(Statements.FreeObject),
+               sta(Statements.Free),
+               sta(Statements.GenerateDynpro),
+               sta(Statements.GenerateReport),
+               sta(Statements.GenerateSubroutine),
+               sta(Statements.GetBadi),
+               sta(Statements.GetBit),
+               sta(Statements.GetCursor),
+               sta(Statements.GetDataset),
+               sta(Statements.GetLocale),
+               sta(Statements.GetParameter),
+               sta(Statements.GetPFStatus),
+               sta(Statements.GetProperty),
+               sta(Statements.GetReference),
+               sta(Statements.GetRunTime),
+               sta(Statements.GetTime),
+               sta(Statements.Hide),
+               sta(Statements.Nodes),
+               sta(Statements.ImportDynpro),
+               sta(Statements.ImportNametab),
+               sta(Statements.MoveCorresponding),
+               sta(Statements.Import),
+               sta(Statements.Infotypes),
+               sta(Statements.Include), // include does not have to be at top level
+               sta(Statements.InsertDatabase),
+               sta(Statements.InsertReport),
+               sta(Statements.InsertTextpool),
+               sta(Statements.InsertFieldGroup),
+               sta(Statements.InterfaceLoad),
+               sta(Statements.Leave),
+               sta(Statements.LoadReport),
+               sta(Statements.Local),
+               sta(Statements.With),
+               sta(Statements.LogPoint),
+               sta(Statements.Message),
+               sta(Statements.ModifyLine),
+               sta(Statements.ModifyDatabase),
+               sta(Statements.ModifyInternal),
+               sta(Statements.Multiply),
+               sta(Statements.NewLine),
+               sta(Statements.NewPage),
+               sta(Statements.OpenCursor),
+               sta(Statements.OpenDataset),
+               sta(Statements.Overlay),
+               sta(Statements.Pack),
+               sta(Statements.Perform),
+               sta(Statements.FormDefinition),
+               sta(Statements.Position),
+               sta(Statements.Put),
+               sta(Statements.PrintControl),
+               sta(Statements.RaiseEvent),
+               sta(Statements.RaiseEntityEvent),
+               sta(Statements.Raise),
+               sta(Statements.Ranges),
+               sta(Statements.ReadDataset),
+               sta(Statements.ReadLine),
+               sta(Statements.ReadReport),
+               sta(Statements.ReadTextpool),
+               sta(Statements.Receive),
+               sta(Statements.RefreshControl),
+               sta(Statements.Refresh),
+               sta(Statements.Reject),
+               sta(Statements.Replace),
+               sta(Statements.Reserve),
+               sta(Statements.Resume),
+               sta(Statements.Retry),
+               sta(Statements.Rollback),
+               sta(Statements.Scan),
+               sta(Statements.ScrollList),
+               sta(Statements.Search),
+               sta(Statements.SetBit),
+               sta(Statements.SetBlank),
+               sta(Statements.SetCountry),
+               sta(Statements.SetCursor),
+               sta(Statements.SetDataset),
+               sta(Statements.SetExtendedCheck),
+               sta(Statements.SetHandler),
+               sta(Statements.SetLanguage),
+               sta(Statements.SetLeft),
+               sta(Statements.SetLocale),
+               sta(Statements.SetMargin),
+               sta(Statements.SetParameter),
+               sta(Statements.SetPFStatus),
+               sta(Statements.SetProperty),
+               sta(Statements.SetRunTime),
+               sta(Statements.SetScreen),
+               sta(Statements.SetTitlebar),
+               sta(Statements.SetUserCommand),
+               sta(Statements.SetUpdateTask),
+               sta(Statements.Shift),
+               sta(Statements.Skip),
+               sta(Statements.SortDataset),
+               sta(Statements.Sort),
+               sta(Statements.Static),
+               sta(Statements.Split),
+               sta(Statements.Stop),
+               sta(Statements.Submit),
+               sta(Statements.Summary),
+               sta(Statements.SubtractCorresponding),
+               sta(Statements.Subtract),
+               sta(Statements.SuppressDialog),
+               sta(Statements.Supply),
+               sta(Statements.Sum),
+               sta(Statements.SyntaxCheck),
+               sta(Statements.SystemCall),
+               sta(Statements.Tables),
+               sta(Statements.Transfer),
+               sta(Statements.Translate),
+               sta(Statements.Type),
+               sta(Statements.TypePools),
+               sta(Statements.Uline),
+               sta(Statements.Unassign),
+               sta(Statements.Unpack),
+               sta(Statements.UpdateDatabase),
+               sta(Statements.Wait),
+               sta(Statements.Window),
+               sta(Statements.Write),
+               sta(Statements.CommitEntities),
+               sta(Statements.GetPermissions),
+               sta(Statements.SetLocks),
+               sta(Statements.ModifyEntities),
+               sta(Statements.ReadEntities),
+               sta(Statements.RollbackEntities),
+ 
+               sub(Structures.Define),
+               sub(Structures.TestInjection),
+               sub(Structures.TestSeam),
+               sub(Structures.TypeMesh),
+               sub(Structures.Provide),
+               sub(Structures.CatchSystemExceptions),
+               sub(Structures.At),
+               sub(Structures.AtFirst),
+               sub(Structures.AtLast),
+               sub(Structures.Constants),
+               sub(Structures.Types),
+               sub(Structures.Statics),
+               sub(Structures.Select),
+               sub(Structures.Data),
+               sub(Structures.TypeEnum),
+               sub(Structures.While),
+               sub(Structures.With),
+               sub(Structures.Do),
+               sub(Structures.ExecSQL));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/on_change.ts.html b/src/abap/3_structures/structures/on_change.ts.html new file mode 100644 index 00000000000..f3a4ec63fae --- /dev/null +++ b/src/abap/3_structures/structures/on_change.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/on_change.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures on_change.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class OnChange implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.OnChange),
+                    opt(sub(Body)),
+                    sta(Statements.EndOn));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/private_section.ts.html b/src/abap/3_structures/structures/private_section.ts.html new file mode 100644 index 00000000000..617575c1e16 --- /dev/null +++ b/src/abap/3_structures/structures/private_section.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/private_section.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures private_section.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IStructure} from "./_structure";
+import * as Statements from "../../2_statements/statements";
+import {seq, sta, sub, opt} from "./_combi";
+import {SectionContents} from "./section_section";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class PrivateSection implements IStructure {
+  public getMatcher(): IStructureRunnable {
+    return seq(sta(Statements.Private), opt(sub(SectionContents)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/protected_section.ts.html b/src/abap/3_structures/structures/protected_section.ts.html new file mode 100644 index 00000000000..35a471285b6 --- /dev/null +++ b/src/abap/3_structures/structures/protected_section.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/protected_section.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures protected_section.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IStructure} from "./_structure";
+import * as Statements from "../../2_statements/statements";
+import {seq, sta, sub, opt} from "./_combi";
+import {SectionContents} from "./section_section";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class ProtectedSection implements IStructure {
+  public getMatcher(): IStructureRunnable {
+    return seq(sta(Statements.Protected), opt(sub(SectionContents)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/provide.ts.html b/src/abap/3_structures/structures/provide.ts.html new file mode 100644 index 00000000000..99827b124a5 --- /dev/null +++ b/src/abap/3_structures/structures/provide.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/provide.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures provide.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {Body} from "./body";
+ 
+export class Provide implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.Provide),
+                    opt(sub(Body)),
+                    sta(Statements.EndProvide));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/public_section.ts.html b/src/abap/3_structures/structures/public_section.ts.html new file mode 100644 index 00000000000..b5d69f84f51 --- /dev/null +++ b/src/abap/3_structures/structures/public_section.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/public_section.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures public_section.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IStructure} from "./_structure";
+import * as Statements from "../../2_statements/statements";
+import {seq, sta, sub, opt} from "./_combi";
+import {SectionContents} from "./section_section";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class PublicSection implements IStructure {
+  public getMatcher(): IStructureRunnable {
+    return seq(sta(Statements.Public), opt(sub(SectionContents)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/section_section.ts.html b/src/abap/3_structures/structures/section_section.ts.html new file mode 100644 index 00000000000..e7d6c669cfe --- /dev/null +++ b/src/abap/3_structures/structures/section_section.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/section_section.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures section_section.ts

+
+ +
+ 100% + Statements + 33/33 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 33/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IStructure} from "./_structure";
+import * as Statements from "../../2_statements/statements";
+import {star, alt, sta, sub} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {Types} from "./types";
+import {Constants} from "./constants";
+import {TypeEnum} from "./type_enum";
+import {ClassData} from "./class_data";
+import {Data} from "./data";
+import {TypeMesh} from ".";
+ 
+export class SectionContents implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return star(alt(sta(Statements.MethodDef),
+                    sta(Statements.InterfaceDef),
+                    sta(Statements.Data),
+                    sta(Statements.ClassData),
+                    sta(Statements.Events),
+                    sta(Statements.Constant),
+                    sta(Statements.Aliases),
+                    sta(Statements.TypePools),
+                    sta(Statements.InterfaceLoad),
+                    sta(Statements.ClassDefinitionLoad),
+                    sub(Types),
+                    sub(Constants),
+                    sub(TypeEnum),
+                    sub(TypeMesh),
+                    sub(Data),
+                    sub(ClassData),
+                    sta(Statements.Type)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/select.ts.html b/src/abap/3_structures/structures/select.ts.html new file mode 100644 index 00000000000..222c5660fa7 --- /dev/null +++ b/src/abap/3_structures/structures/select.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/select.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures select.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Select implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.SelectLoop),
+                    opt(sub(Body)),
+                    sta(Statements.EndSelect));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/statics.ts.html b/src/abap/3_structures/structures/statics.ts.html new file mode 100644 index 00000000000..bbaabd7fbc6 --- /dev/null +++ b/src/abap/3_structures/structures/statics.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/statics.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures statics.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, beginEnd, alt} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class Statics implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.StaticBegin),
+                    star(alt(sta(Statements.Static), sta(Statements.IncludeType))),
+                    sta(Statements.StaticEnd));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/test_injection.ts.html b/src/abap/3_structures/structures/test_injection.ts.html new file mode 100644 index 00000000000..39ed98f0d77 --- /dev/null +++ b/src/abap/3_structures/structures/test_injection.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/test_injection.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures test_injection.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class TestInjection implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.TestInjection),
+                    opt(sub(Body)),
+                    sta(Statements.EndTestInjection));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/test_seam.ts.html b/src/abap/3_structures/structures/test_seam.ts.html new file mode 100644 index 00000000000..f87ca43fd90 --- /dev/null +++ b/src/abap/3_structures/structures/test_seam.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/test_seam.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures test_seam.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class TestSeam implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.TestSeam),
+                    opt(sub(Body)),
+                    sta(Statements.EndTestSeam));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/try.ts.html b/src/abap/3_structures/structures/try.ts.html new file mode 100644 index 00000000000..e7b2b6caa53 --- /dev/null +++ b/src/abap/3_structures/structures/try.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/try.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures try.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, beginEnd, seq, opt, sub} from "./_combi";
+import {Catch} from "./catch";
+import {IStructureRunnable} from "./_structure_runnable";
+import {Body} from "./body";
+import {Cleanup} from "./cleanup";
+ 
+export class Try implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const block = seq(opt(sub(Body)), star(sub(Catch)), opt(sub(Cleanup)));
+ 
+    return beginEnd(sta(Statements.Try),
+                    block,
+                    sta(Statements.EndTry));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/type_enum.ts.html b/src/abap/3_structures/structures/type_enum.ts.html new file mode 100644 index 00000000000..f1cdd92bbba --- /dev/null +++ b/src/abap/3_structures/structures/type_enum.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/type_enum.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures type_enum.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, alt, beginEnd} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class TypeEnum implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.TypeEnumBegin),
+                    star(alt(sta(Statements.TypeEnum), sta(Statements.Type))),
+                    sta(Statements.TypeEnumEnd));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/type_mesh.ts.html b/src/abap/3_structures/structures/type_mesh.ts.html new file mode 100644 index 00000000000..d742e84304f --- /dev/null +++ b/src/abap/3_structures/structures/type_mesh.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/type_mesh.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures type_mesh.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, beginEnd, alt} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class TypeMesh implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.TypeMeshBegin),
+                    star(alt(sta(Statements.TypeMesh), sta(Statements.Type))),
+                    sta(Statements.TypeMeshEnd));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/types.ts.html b/src/abap/3_structures/structures/types.ts.html new file mode 100644 index 00000000000..0130f83082a --- /dev/null +++ b/src/abap/3_structures/structures/types.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/types.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures types.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +5x +5x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {star, sta, alt, sub, beginEnd} from "./_combi";
+import {IStructureRunnable} from "./_structure_runnable";
+import {MacroCall} from "../../2_statements/statements/_statement";
+ 
+export class Types implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.TypeBegin),
+                    star(alt(sta(Statements.Type),
+                             sub(Types),
+                             sta(MacroCall),
+                             sta(Statements.Include),
+                             sta(Statements.IncludeType))),
+                    sta(Statements.TypeEnd));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/when.ts.html b/src/abap/3_structures/structures/when.ts.html new file mode 100644 index 00000000000..26a495239e2 --- /dev/null +++ b/src/abap/3_structures/structures/when.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/when.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures when.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, seq, sub, alt} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class When implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const when = seq(alt(sta(Statements.When), sta(Statements.WhenOthers)), opt(sub(Body)));
+ 
+    return when;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/when_type.ts.html b/src/abap/3_structures/structures/when_type.ts.html new file mode 100644 index 00000000000..4da3c95b73b --- /dev/null +++ b/src/abap/3_structures/structures/when_type.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/when_type.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures when_type.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, seq, sub, alt} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class WhenType implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    const when = seq(alt(sta(Statements.WhenType), sta(Statements.WhenOthers)), opt(sub(Body)));
+ 
+    return when;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/while.ts.html b/src/abap/3_structures/structures/while.ts.html new file mode 100644 index 00000000000..e6567a0173a --- /dev/null +++ b/src/abap/3_structures/structures/while.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/while.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures while.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class While implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.While),
+                    opt(sub(Body)),
+                    sta(Statements.EndWhile));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/3_structures/structures/with.ts.html b/src/abap/3_structures/structures/with.ts.html new file mode 100644 index 00000000000..a2fabdae73e --- /dev/null +++ b/src/abap/3_structures/structures/with.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/3_structures/structures/with.ts + + + + + + + + + +
+
+

All files / src/abap/3_structures/structures with.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x
import * as Statements from "../../2_statements/statements";
+import {IStructure} from "./_structure";
+import {opt, sta, beginEnd, sub} from "./_combi";
+import {Body} from "./body";
+import {IStructureRunnable} from "./_structure_runnable";
+ 
+export class With implements IStructure {
+ 
+  public getMatcher(): IStructureRunnable {
+    return beginEnd(sta(Statements.WithLoop),
+                    opt(sub(Body)),
+                    sta(Statements.EndWith));
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/4_file_information/_abap_file_information.ts.html b/src/abap/4_file_information/_abap_file_information.ts.html new file mode 100644 index 00000000000..639ddc7afad --- /dev/null +++ b/src/abap/4_file_information/_abap_file_information.ts.html @@ -0,0 +1,457 @@ + + + + + + Code coverage report for src/abap/4_file_information/_abap_file_information.ts + + + + + + + + + +
+
+

All files / src/abap/4_file_information _abap_file_information.ts

+
+ +
+ 100% + Statements + 125/125 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 125/125 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +1251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Identifier} from "./_identifier";
+import {Visibility} from "./visibility";
+ 
+// Only helper functions to get data from single file, no type information
+ 
+export enum AttributeLevel {
+  Instance = "instance",
+  Static = "static",
+  Constant = "constant",
+}
+ 
+export enum MethodParameterDirection {
+  Importing = "importing",
+  Exporting = "exporting",
+  Changing = "changing",
+  Returning = "returning",
+}
+ 
+export interface InfoAttribute {
+  name: string,
+  identifier: Identifier,
+  level: AttributeLevel,
+  readOnly: boolean,
+  visibility: Visibility,
+}
+ 
+export interface InfoMethodParameter {
+  name: string,
+  identifier: Identifier,
+  direction: MethodParameterDirection,
+}
+ 
+export interface InfoMethodDefinition {
+  name: string,
+  identifier: Identifier,
+// todo, level, Instance or Static
+  isRedefinition: boolean,
+  isEventHandler: boolean,
+  isForTesting: boolean,
+  isAbstract: boolean,
+  visibility: Visibility,
+  parameters: InfoMethodParameter[],
+  exceptions: string[],
+}
+ 
+export interface InfoInterfaceDefinition {
+  name: string,
+  identifier: Identifier;
+  isLocal: boolean;
+  isGlobal: boolean;
+  interfaces: readonly InfoImplementing[];
+  methods: readonly InfoMethodDefinition[];
+  aliases: readonly InfoAlias[],
+  constants: readonly InfoConstant[],
+// todo, constants
+// todo, types
+  attributes: readonly InfoAttribute[];
+}
+ 
+export interface InfoConstant {
+  identifier: Identifier;
+  name: string,
+  typeName: string,
+  visibility: Visibility,
+  value: string
+}
+ 
+export interface InfoAlias {
+  name: string,
+  identifier: Identifier;
+  visibility: Visibility,
+  component: string
+}
+ 
+export interface InfoImplementing {
+  name: string,
+  partial: boolean,
+  allAbstract: boolean,
+  abstractMethods: string[],
+  finalMethods: string[],
+}
+ 
+export enum Duration {
+  short = "SHORT",
+  medium = "MEDIUM",
+  long = "LONG",
+}
+ 
+export enum RiskLevel {
+  harmless = "HARMLESS",
+  critical = "CRITICAL",
+  dangerous = "DANGEROUS",
+}
+ 
+export interface InfoClassDefinition extends InfoInterfaceDefinition {
+  superClassName: string | undefined;
+  isAbstract: boolean;
+  isFinal: boolean;
+  interfaces: readonly InfoImplementing[];
+  isForTesting: boolean;
+  duration: Duration | undefined,
+  riskLevel: RiskLevel | undefined,
+  isSharedMemory: boolean;
+}
+ 
+export interface InfoClassImplementation {
+  name: string,
+  identifier: Identifier;
+  methods: readonly Identifier[];
+}
+ 
+export interface InfoFormDefinition {
+  name: string,
+  identifier: Identifier;
+}
+ 
+export interface IABAPFileInformation {
+  listInterfaceDefinitions(): readonly InfoInterfaceDefinition[];
+  getInterfaceDefinitionByName(name: string): InfoInterfaceDefinition | undefined;
+  listClassDefinitions(): readonly InfoClassDefinition[];
+  getClassDefinitionByName(name: string): InfoClassDefinition | undefined;
+  listFormDefinitions(): readonly InfoFormDefinition[];
+  listClassImplementations(): readonly InfoClassImplementation[];
+  getClassImplementationByName(name: string): InfoClassImplementation | undefined;
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/4_file_information/_identifier.ts.html b/src/abap/4_file_information/_identifier.ts.html new file mode 100644 index 00000000000..7871dceaa40 --- /dev/null +++ b/src/abap/4_file_information/_identifier.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/abap/4_file_information/_identifier.ts + + + + + + + + + +
+
+

All files / src/abap/4_file_information _identifier.ts

+
+ +
+ 100% + Statements + 45/45 +
+ + +
+ 100% + Branches + 9/9 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 45/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +451x +1x +1x +1x +1x +1x +1x +1x +68295x +68295x +68295x +1x +1x +317258x +317258x +317258x +317258x +19x +19x +317258x +317258x +317258x +1x +1x +1018x +1018x +1018x +1018x +1x +1x +1158x +1158x +1x +1x +3463x +3463x +1x +1x +3639x +3639x +1x +1x +721x +721x +1x
import {Position} from "../../position";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+ 
+export class Identifier {
+  private readonly token: AbstractToken;
+  protected readonly filename: string;
+ 
+  public constructor(token: AbstractToken, filename: string) {
+    this.token = token;
+    this.filename = filename;
+  }
+ 
+  public getName() {
+    let name = this.token.getStr();
+ 
+    // todo, should this be handled in the parser instead?
+    if (name.substr(0, 1) === "!") {
+      name = name.substr(1);
+    }
+ 
+    return name;
+  }
+ 
+  public equals(id: Identifier): boolean {
+    // note how the boolean condition is evalulated lazily
+    return id.getStart().equals(this.getStart())
+      && id.getFilename() === this.getFilename();
+  }
+ 
+  public getToken(): AbstractToken {
+    return this.token;
+  }
+ 
+  public getFilename(): string {
+    return this.filename;
+  }
+ 
+  public getStart(): Position {
+    return this.token.getStart();
+  }
+ 
+  public getEnd(): Position {
+    return this.token.getEnd();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/4_file_information/abap_file_information.ts.html b/src/abap/4_file_information/abap_file_information.ts.html new file mode 100644 index 00000000000..d9ffee61f2d --- /dev/null +++ b/src/abap/4_file_information/abap_file_information.ts.html @@ -0,0 +1,1345 @@ + + + + + + Code coverage report for src/abap/4_file_information/abap_file_information.ts + + + + + + + + + +
+
+

All files / src/abap/4_file_information abap_file_information.ts

+
+ +
+ 97.14% + Statements + 409/421 +
+ + +
+ 81.72% + Branches + 76/93 +
+ + +
+ 100% + Functions + 17/17 +
+ + +
+ 97.14% + Lines + 409/421 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +4211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7513x +7513x +7513x +7513x +7513x +7513x +7513x +1x +1x +689x +689x +1x +1x +1996x +1996x +1x +1x +81x +81x +88x +79x +79x +88x +2x +2x +1x +1x +4658x +4658x +1x +1x +1027x +1027x +1002x +983x +983x +1002x +44x +44x +1x +1x +156x +156x +161x +142x +142x +161x +14x +14x +1x +1x +271x +271x +1x +1x +1x +1x +7513x +580x +580x +6933x +6933x +6933x +6933x +7513x +1038x +1038x +658x +658x +658x +658x +658x +1038x +1038x +1038x +1038x +1038x +1038x +1038x +1038x +6933x +7513x +329x +329x +329x +329x +329x +329x +329x +329x +329x +6933x +1x +1x +6933x +290x +290x +  +  +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +290x +6933x +1x +1x +6933x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1x +1133x +  +1132x +5x +5x +1133x +1133x +1133x +6x +1133x +  +1127x +  +  +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +1133x +6933x +1x +1x +1x +1x +1423x +1423x +114x +114x +114x +1x +1x +1x +1x +114x +114x +114x +114x +  +  +  +  +114x +114x +114x +114x +114x +114x +114x +114x +114x +114x +114x +114x +114x +1423x +1423x +1x +1x +3689x +2492x +2492x +1197x +1197x +3689x +30x +30x +30x +30x +30x +30x +30x +30x +30x +30x +1197x +1197x +1197x +1x +1x +3689x +2492x +2492x +1197x +1197x +3689x +112x +112x +112x +112x +112x +112x +112x +112x +112x +112x +112x +112x +112x +112x +112x +112x +1197x +1197x +1197x +1x +1x +3689x +2492x +2492x +1197x +1197x +3689x +91x +91x +1106x +1106x +3689x +181x +181x +181x +181x +181x +181x +181x +181x +181x +3689x +23x +23x +23x +23x +23x +23x +23x +23x +23x +3689x +106x +106x +106x +106x +106x +106x +106x +106x +106x +1106x +1106x +1106x +1x +1x +3689x +2492x +2492x +1197x +1197x +3689x +793x +793x +  +  +793x +793x +793x +793x +793x +793x +793x +793x +793x +793x +793x +793x +793x +793x +793x +1197x +1197x +1x +1x +1x +793x +793x +793x +793x +282x +300x +300x +300x +300x +300x +300x +300x +300x +300x +282x +793x +793x +793x +21x +22x +22x +22x +22x +22x +22x +22x +22x +22x +21x +793x +793x +793x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +793x +793x +793x +133x +133x +133x +133x +133x +133x +133x +133x +133x +793x +793x +793x +1x +1x
import * as Structures from "../3_structures/structures";
+import * as Expressions from "../2_statements/expressions";
+import * as Statements from "../2_statements/statements";
+import {IABAPFileInformation, InfoClassImplementation, InfoClassDefinition, InfoMethodDefinition, InfoInterfaceDefinition, InfoAttribute, InfoAlias, AttributeLevel, InfoMethodParameter, MethodParameterDirection, InfoFormDefinition, InfoImplementing, InfoConstant, Duration, RiskLevel} from "./_abap_file_information";
+import {StructureNode, StatementNode} from "../nodes";
+import {Identifier} from "./_identifier";
+import * as Tokens from "../1_lexer/tokens";
+import {Visibility} from "./visibility";
+ 
+export class ABAPFileInformation implements IABAPFileInformation {
+  private readonly interfaces: InfoInterfaceDefinition[];
+  private readonly classes: InfoClassDefinition[];
+  private readonly forms: InfoFormDefinition[];
+  private readonly implementations: InfoClassImplementation[];
+  private readonly filename: string;
+ 
+  public constructor(structure: StructureNode | undefined, filename: string) {
+    this.forms = [];
+    this.implementations = [];
+    this.interfaces = [];
+    this.classes = [];
+    this.filename = filename;
+    this.parse(structure);
+  }
+ 
+  public listClassImplementations(): readonly InfoClassImplementation[] {
+    return this.implementations;
+  }
+ 
+  public listInterfaceDefinitions(): readonly InfoInterfaceDefinition[] {
+    return this.interfaces;
+  }
+ 
+  public getInterfaceDefinitionByName(name: string): InfoInterfaceDefinition | undefined {
+    const upper = name.toUpperCase();
+    for (const i of this.listInterfaceDefinitions()) {
+      if (i.identifier.getName().toUpperCase() === upper) {
+        return i;
+      }
+    }
+    return undefined;
+  }
+ 
+  public listClassDefinitions(): readonly InfoClassDefinition[] {
+    return this.classes;
+  }
+ 
+  public getClassDefinitionByName(name: string): InfoClassDefinition | undefined {
+    const upper = name.toUpperCase();
+    for (const d of this.listClassDefinitions()) {
+      if (d.identifier.getName().toUpperCase() === upper) {
+        return d;
+      }
+    }
+    return undefined;
+  }
+ 
+  public getClassImplementationByName(name: string): InfoClassImplementation | undefined {
+    const upper = name.toUpperCase();
+    for (const impl of this.listClassImplementations()) {
+      if (impl.identifier.getName().toUpperCase() === upper) {
+        return impl;
+      }
+    }
+    return undefined;
+  }
+ 
+  public listFormDefinitions(): InfoFormDefinition[] {
+    return this.forms;
+  }
+ 
+  ///////////////////////
+ 
+  private parse(structure: StructureNode | undefined): void {
+    if (structure === undefined) {
+      return;
+    }
+ 
+    this.parseClasses(structure);
+    this.parseInterfaces(structure);
+ 
+    for (const found of structure.findAllStructures(Structures.ClassImplementation)) {
+      const methods = [];
+      for (const method of found.findAllStructures(Structures.Method)) {
+        const methodName = method.findFirstExpression(Expressions.MethodName)?.getFirstToken();
+        if (methodName) {
+          methods.push(new Identifier(methodName, this.filename));
+        }
+      }
+ 
+      const name = found.findFirstStatement(Statements.ClassImplementation)!.findFirstExpression(Expressions.ClassName)!.getFirstToken();
+      this.implementations.push({
+        name: name.getStr(),
+        identifier: new Identifier(name, this.filename),
+        methods,
+      });
+    }
+ 
+    for (const statement of structure.findAllStructures(Structures.Form)) {
+      // FORMs can contain a dash in the name
+      const pos = statement.findFirstExpression(Expressions.FormName)!.getFirstToken().getStart();
+      const name = statement.findFirstExpression(Expressions.FormName)!.concatTokens();
+      const nameToken = new Tokens.Identifier(pos, name);
+      this.forms.push({
+        name: nameToken.getStr(),
+        identifier: new Identifier(nameToken, this.filename),
+      });
+    }
+  }
+ 
+  private parseInterfaces(structure: StructureNode) {
+    for (const found of structure.findDirectStructures(Structures.Interface)) {
+      const i = found.findFirstStatement(Statements.Interface);
+      if (i === undefined) {
+        throw new Error("Interface expected, parseInterfaces");
+      }
+      const interfaceName = i.findDirectExpression(Expressions.InterfaceName)!.getFirstToken();
+      const methods = this.parseMethodDefinition(found, Visibility.Public);
+      const attributes = this.parseAttributes(found, Visibility.Public);
+      const aliases = this.parseAliases(found, Visibility.Public);
+      const constants = this.parseConstants(found, Visibility.Public);
+      const g = i.findDirectExpression(Expressions.ClassGlobal);
+ 
+      this.interfaces.push({
+        name: interfaceName.getStr(),
+        identifier: new Identifier(interfaceName, this.filename),
+        isLocal: g === undefined,
+        isGlobal: g !== undefined,
+        interfaces: this.getImplementing(found),
+        aliases,
+        methods,
+        constants,
+        attributes,
+      });
+    }
+  }
+ 
+  private parseClasses(structure: StructureNode) {
+    for (const found of structure.findAllStructures(Structures.ClassDefinition)) {
+      const className = found.findFirstStatement(Statements.ClassDefinition)!.findFirstExpression(Expressions.ClassName)!.getFirstToken();
+ 
+      const methods = this.parseMethodDefinition(found.findFirstStructure(Structures.PublicSection), Visibility.Public);
+      methods.push(...this.parseMethodDefinition(found.findFirstStructure(Structures.ProtectedSection), Visibility.Protected));
+      methods.push(...this.parseMethodDefinition(found.findFirstStructure(Structures.PrivateSection), Visibility.Private));
+ 
+      const attributes = this.parseAttributes(found.findFirstStructure(Structures.PublicSection), Visibility.Public);
+      attributes.push(...this.parseAttributes(found.findFirstStructure(Structures.ProtectedSection), Visibility.Protected));
+      attributes.push(...this.parseAttributes(found.findFirstStructure(Structures.PrivateSection), Visibility.Private));
+ 
+      const aliases = this.parseAliases(found.findFirstStructure(Structures.PublicSection), Visibility.Public);
+      aliases.push(...this.parseAliases(found.findFirstStructure(Structures.ProtectedSection), Visibility.Protected));
+      aliases.push(...this.parseAliases(found.findFirstStructure(Structures.PrivateSection), Visibility.Private));
+ 
+      const constants = this.parseConstants(found.findFirstStructure(Structures.PublicSection), Visibility.Public);
+      constants.push(...this.parseConstants(found.findFirstStructure(Structures.ProtectedSection), Visibility.Protected));
+      constants.push(...this.parseConstants(found.findFirstStructure(Structures.PrivateSection), Visibility.Private));
+ 
+      const superClassName = found.findFirstExpression(Expressions.SuperClassName)?.getFirstToken().getStr();
+      const containsGlobal = found.findFirstExpression(Expressions.ClassGlobal);
+      const cdef = found.findFirstStatement(Statements.ClassDefinition);
+      const concat = cdef?.concatTokens().toUpperCase() || "";
+ 
+      let riskLevel: RiskLevel | undefined;
+      if (concat.includes("RISK LEVEL CRITICAL")) {
+        riskLevel = RiskLevel.critical;
+      } else if (concat.includes("RISK LEVEL DANGEROUS")) {
+        riskLevel = RiskLevel.dangerous;
+      } else if (concat.includes("RISK LEVEL HARMLESS")) {
+        riskLevel = RiskLevel.harmless;
+      }
+ 
+      let duration: Duration | undefined;
+      if (concat.includes("DURATION SHORT")) {
+        duration = Duration.short;
+      } else if (concat.includes("DURATION LONG")) {
+        duration = Duration.long;
+      } else if (concat.includes("DURATION MEDIUM")) {
+        duration = Duration.medium;
+      }
+ 
+      this.classes.push({
+        name: className.getStr(),
+        identifier: new Identifier(className, this.filename),
+        isLocal: containsGlobal === undefined,
+        isGlobal: containsGlobal !== undefined,
+        methods,
+        superClassName,
+        interfaces: this.getImplementing(found),
+        isForTesting: concat.includes(" FOR TESTING"),
+        duration,
+        riskLevel,
+        isAbstract: cdef?.findDirectTokenByText("ABSTRACT") !== undefined,
+        isSharedMemory: concat.includes(" SHARED MEMORY ENABLED"),
+        isFinal: found.findFirstExpression(Expressions.ClassFinal) !== undefined,
+        aliases,
+        attributes,
+        constants,
+      });
+    }
+  }
+ 
+  ///////////////////
+ 
+  private getImplementing(input: StructureNode): InfoImplementing[] {
+    const ret: InfoImplementing[] = [];
+    for (const node of input.findAllStatements(Statements.InterfaceDef)) {
+      const abstract = node.findDirectExpression(Expressions.AbstractMethods);
+      const abstractMethods: string[] = [];
+      if (abstract) {
+        for (const m of abstract.findDirectExpressions(Expressions.MethodName)) {
+          abstractMethods.push(m.concatTokens().toUpperCase());
+        }
+      }
+ 
+      const final = node.findDirectExpression(Expressions.FinalMethods);
+      const finalMethods: string[] = [];
+      if (final) {
+        for (const m of final.findDirectExpressions(Expressions.MethodName)) {
+          finalMethods.push(m.concatTokens().toUpperCase());
+        }
+      }
+ 
+      const concat = node.concatTokens().toUpperCase();
+      const allAbstract = concat.includes(" ALL METHODS ABSTRACT");
+      const partial = concat.includes(" PARTIALLY IMPLEMENTED");
+      const name = node.findFirstExpression(Expressions.InterfaceName)!.getFirstToken().getStr().toUpperCase();
+      ret.push({
+        name,
+        partial,
+        allAbstract,
+        abstractMethods,
+        finalMethods,
+      });
+    }
+    return ret;
+  }
+ 
+  private parseAliases(node: StructureNode | undefined, visibility: Visibility): InfoAlias[] {
+    if (node === undefined) {
+      return [];
+    }
+ 
+    const ret: InfoAlias[] = [];
+    for (const a of node.findAllStatements(Statements.Aliases)) {
+      const name = a.findFirstExpression(Expressions.SimpleName)!.getFirstToken();
+      const comp = a.findFirstExpression(Expressions.Field)!.getFirstToken();
+ 
+      ret.push({
+        name: name.getStr(),
+        identifier: new Identifier(name, this.filename),
+        visibility,
+        component: comp.getStr(),
+      });
+    }
+ 
+    return ret;
+  }
+ 
+  private parseConstants(node: StructureNode | undefined, visibility: Visibility): InfoConstant[] {
+    if (node === undefined) {
+      return [];
+    }
+ 
+    const results: InfoConstant[] = [];
+    for (const constant of node.findAllStatements(Statements.Constant)) {
+      const name = constant.findFirstExpression(Expressions.DefinitionName)!.getFirstToken();
+      const typeName = constant.findFirstExpression(Expressions.TypeName);
+ 
+      // VALUE `const_value` -> `const_value`
+      const literal = constant.findFirstExpression(Expressions.Value)?.getTokens()[1].getStr() ?? "``";
+      // `const_value` -> const_value
+      const value = literal.slice(1, literal?.length - 1);
+ 
+      results.push({
+        name: name!.getStr(),
+        typeName: typeName ? typeName.getFirstToken().getStr() : "",
+        value: value,
+        identifier: new Identifier(name, this.filename),
+        visibility,
+      });
+    }
+ 
+    return results;
+  }
+ 
+  private parseAttributes(node: StructureNode | undefined, visibility: Visibility): InfoAttribute[] {
+    if (node === undefined) {
+      return [];
+    }
+ 
+    const contents = node.findFirstStructure(Structures.SectionContents);
+    if (contents === undefined) {
+      return [];
+    }
+ 
+    const ret: InfoAttribute[] = [];
+    for (const d of contents.findDirectStatements(Statements.Data)) {
+      const name = d.findFirstExpression(Expressions.DefinitionName)!.getFirstToken();
+      ret.push({
+        name: name.getStr(),
+        identifier: new Identifier(name, this.filename),
+        level: AttributeLevel.Instance,
+        readOnly: d.concatTokens().toUpperCase().includes(" READ-ONLY"),
+        visibility,
+      });
+    }
+    for (const d of contents.findDirectStatements(Statements.ClassData)) {
+      const name = d.findFirstExpression(Expressions.DefinitionName)!.getFirstToken();
+      ret.push({
+        name: name.getStr(),
+        identifier: new Identifier(name, this.filename),
+        level: AttributeLevel.Static,
+        readOnly: d.concatTokens().toUpperCase().includes(" READ-ONLY"),
+        visibility,
+      });
+    }
+    for (const d of contents.findDirectStatements(Statements.Constant)) {
+      const name = d.findFirstExpression(Expressions.DefinitionName)!.getFirstToken();
+      ret.push({
+        name: name.getStr(),
+        identifier: new Identifier(name, this.filename),
+        level: AttributeLevel.Constant,
+        readOnly: true,
+        visibility,
+      });
+    }
+ 
+    return ret;
+  }
+ 
+  private parseMethodDefinition(node: StructureNode | undefined, visibility: Visibility): InfoMethodDefinition[] {
+    if (node === undefined) {
+      return [];
+    }
+ 
+    const methods: InfoMethodDefinition[] = [];
+    for (const def of node.findAllStatements(Statements.MethodDef)) {
+      const methodName = def.findDirectExpression(Expressions.MethodName)?.getFirstToken();
+      if (methodName === undefined) {
+        continue;
+      }
+ 
+      const parameters = this.parseMethodParameters(def);
+ 
+      methods.push({
+        name: methodName.getStr(),
+        identifier: new Identifier(methodName, this.filename),
+        isRedefinition: def.findDirectExpression(Expressions.Redefinition) !== undefined,
+        isForTesting: def.concatTokens().toUpperCase().includes(" FOR TESTING"),
+        isAbstract: def.findDirectExpression(Expressions.Abstract) !== undefined,
+        isEventHandler: def.findDirectExpression(Expressions.EventHandler) !== undefined,
+        visibility,
+        parameters,
+        exceptions: [], // todo
+      });
+    }
+    return methods;
+  }
+ 
+  // todo, refactor this method, it is too long
+  private parseMethodParameters(node: StatementNode): InfoMethodParameter[] {
+    const ret: InfoMethodParameter[] = [];
+ 
+    const importing = node.findFirstExpression(Expressions.MethodDefImporting);
+    if (importing) {
+      for (const param of importing.findAllExpressions(Expressions.MethodParam)) {
+        const name = param.findDirectExpression(Expressions.MethodParamName)?.getFirstToken();
+        if (name) {
+          ret.push({
+            name: name.getStr().replace("!", ""),
+            identifier: new Identifier(name, this.filename),
+            direction: MethodParameterDirection.Importing,
+          });
+        }
+      }
+    }
+ 
+    const exporting = node.findFirstExpression(Expressions.MethodDefExporting);
+    if (exporting) {
+      for (const param of exporting.findAllExpressions(Expressions.MethodParam)) {
+        const name = param.findDirectExpression(Expressions.MethodParamName)?.getFirstToken();
+        if (name) {
+          ret.push({
+            name: name.getStr().replace("!", ""),
+            identifier: new Identifier(name, this.filename),
+            direction: MethodParameterDirection.Exporting,
+          });
+        }
+      }
+    }
+ 
+    const changing = node.findFirstExpression(Expressions.MethodDefChanging);
+    if (changing) {
+      for (const param of changing.findAllExpressions(Expressions.MethodParam)) {
+        const name = param.findDirectExpression(Expressions.MethodParamName)?.getFirstToken();
+        if (name) {
+          ret.push({
+            name: name.getStr().replace("!", ""),
+            identifier: new Identifier(name, this.filename),
+            direction: MethodParameterDirection.Changing,
+          });
+        }
+      }
+    }
+ 
+    const returning = node.findFirstExpression(Expressions.MethodDefReturning);
+    if (returning) {
+      const name = returning.findDirectExpression(Expressions.MethodParamName)?.getFirstToken();
+      if (name) {
+        ret.push({
+          name: name.getStr().replace("!", ""),
+          identifier: new Identifier(name, this.filename),
+          direction: MethodParameterDirection.Returning,
+        });
+      }
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/4_file_information/index.html b/src/abap/4_file_information/index.html new file mode 100644 index 00000000000..6d838d14700 --- /dev/null +++ b/src/abap/4_file_information/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/abap/4_file_information + + + + + + + + + +
+
+

All files src/abap/4_file_information

+
+ +
+ 97.98% + Statements + 584/596 +
+ + +
+ 84.11% + Branches + 90/107 +
+ + +
+ 100% + Functions + 24/24 +
+ + +
+ 97.98% + Lines + 584/596 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_abap_file_information.ts +
+
100%125/125100%4/4100%0/0100%125/125
_identifier.ts +
+
100%45/45100%9/9100%7/7100%45/45
abap_file_information.ts +
+
97.14%409/42181.72%76/93100%17/1797.14%409/421
visibility.ts +
+
100%5/5100%1/1100%0/0100%5/5
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/4_file_information/visibility.ts.html b/src/abap/4_file_information/visibility.ts.html new file mode 100644 index 00000000000..4d73baf5fad --- /dev/null +++ b/src/abap/4_file_information/visibility.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/abap/4_file_information/visibility.ts + + + + + + + + + +
+
+

All files / src/abap/4_file_information visibility.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +51x +1x +1x +1x +1x
export enum Visibility {
+  Private = 1,
+  Protected,
+  Public,
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/_builtin.ts.html b/src/abap/5_syntax/_builtin.ts.html new file mode 100644 index 00000000000..f92b5718f00 --- /dev/null +++ b/src/abap/5_syntax/_builtin.ts.html @@ -0,0 +1,4102 @@ + + + + + + Code coverage report for src/abap/5_syntax/_builtin.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax _builtin.ts

+
+ +
+ 97.9% + Statements + 1311/1339 +
+ + +
+ 85.71% + Branches + 30/35 +
+ + +
+ 66.66% + Functions + 18/27 +
+ + +
+ 97.9% + Lines + 1311/1339 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +13401x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +17x +17x +17x +17x +1x +1x +75x +75x +76x +76x +76x +75x +75x +1x +1x +  +  +1x +1x +  +  +1x +1x +159x +159x +162x +162x +162x +159x +180x +180x +180x +45x +45x +1x +1x +66x +  +  +66x +66x +66x +66x +  +  +1x +1x +2x +2x +1x +1x +2x +2x +1x +1x +2x +2x +1x +1x +77x +77x +77x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +374x +374x +1x +1x +  +  +1x +1x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +9535x +100x +83x +83x +17x +17x +17x +17x +17x +17x +9535x +9535x +148x +  +  +148x +148x +148x +48x +48x +100x +100x +100x +9535x +9535x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +9535x +9535x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9535x +9535x +9173x +9173x +9173x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9173x +9173x +9173x +9173x +2x +2x +2x +9173x +9173x +9173x +9535x +9535x +9535x +9535x +1x +1x +1x +9535x +9535x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9174x +9535x +9535x +24x +24x +2x +2x +24x +2x +2x +24x +24x +9535x +9535x + 
/* eslint-disable max-len */
+import {TypedIdentifier, IdentifierMeta} from "../types/_typed_identifier";
+import {VoidType, CharacterType, StructureType, IStructureComponent, IntegerType, NumericType, DateType, TimeType, StringType, FloatType, XStringType, TableType, AnyType, UTCLongType, CLikeType, TableKeyType, HexType, PackedType, XSequenceType} from "../types/basic";
+import {Identifier as TokenIdentifier} from "../1_lexer/tokens";
+import {Position} from "../../position";
+import {AbstractType} from "../types/basic/_abstract_type";
+import {IMethodDefinition} from "../types/_method_definition";
+import {Visibility} from "../4_file_information/visibility";
+import {Identifier} from "../4_file_information/_identifier";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {IMethodParameters} from "../types/_method_parameters";
+import {Version} from "../../version";
+ 
+interface IBuiltinMethod {
+  counter: number,
+  mandatory?: {[key: string]: AbstractType},
+  optional?: {[key: string]: AbstractType},
+  version?: Version,
+  predicate?: boolean,
+  return: AbstractType;
+  cache?: BuiltInMethod | undefined;
+}
+ 
+export class BuiltInMethod extends Identifier implements IMethodDefinition, IMethodParameters {
+  private readonly method: IBuiltinMethod;
+  private readonly row: number;
+ 
+  public constructor(token: AbstractToken, filename: string, method: IBuiltinMethod, row: number) {
+    super(token, filename);
+    this.method = method;
+    this.row = row;
+  }
+ 
+  public getRequiredParameters(): readonly TypedIdentifier[] {
+    const ret: TypedIdentifier[] = [];
+    for (const i in this.method.mandatory) {
+      const id = new TokenIdentifier(new Position(this.row, 1), i);
+      ret.push(new TypedIdentifier(id, BuiltIn.filename, this.method.mandatory[i]));
+    }
+    return ret;
+  }
+ 
+  public getOptional(): readonly string[] {
+    throw new Error("BuiltInMethod->Method not implemented");
+  }
+ 
+  public getAll(): readonly TypedIdentifier[] {
+    throw new Error("BuiltInMethod->getAll, Method not implemented");
+  }
+ 
+  public getImporting(): readonly TypedIdentifier[] {
+    const ret: TypedIdentifier[] = [];
+    for (const i in this.method.mandatory) {
+      const id = new TokenIdentifier(new Position(this.row, 1), i);
+      ret.push(new TypedIdentifier(id, BuiltIn.filename, this.method.mandatory[i]));
+    }
+    for (const i in this.method.optional) {
+      const id = new TokenIdentifier(new Position(this.row, 1), i);
+      ret.push(new TypedIdentifier(id, BuiltIn.filename, this.method.optional[i]));
+    }
+    return ret;
+  }
+ 
+  public getDefaultImporting(): string | undefined {
+    if (this.method.mandatory === undefined) {
+      return undefined;
+    }
+    const keys = Object.keys(this.method.mandatory);
+    if (keys.length === 1) {
+      return keys[0].toUpperCase();
+    }
+    return undefined;
+  }
+ 
+  public getExporting(): readonly TypedIdentifier[] {
+    return [];
+  }
+ 
+  public getRaising(): readonly string[] {
+    return [];
+  }
+ 
+  public getChanging(): readonly TypedIdentifier[] {
+    return [];
+  }
+ 
+  public getReturning(): TypedIdentifier | undefined {
+    const id = new TokenIdentifier(new Position(this.row, 1), "ret");
+    return new TypedIdentifier(id, BuiltIn.filename, this.method.return);
+  }
+ 
+  public getExceptions(): readonly string[] {
+    return [];
+  }
+ 
+  public getVisibility(): Visibility {
+    return Visibility.Public;
+  }
+ 
+  public isRedefinition(): boolean {
+    return false;
+  }
+ 
+  public isAbstract(): boolean {
+    return false;
+  }
+ 
+  public isStatic(): boolean {
+    return false;
+  }
+ 
+  public isEventHandler(): boolean {
+    return false;
+  }
+ 
+  public getParameters(): IMethodParameters {
+    return this;
+  }
+ 
+  public getParameterDefault(_parameter: string) {
+    return undefined;
+  }
+}
+ 
+export class BuiltIn {
+  public static readonly filename = "_builtin.prog.abap";
+  private static counter = 1;
+  private static readonly getCache: TypedIdentifier[] = [];
+ 
+  // todo: "pcre" vs "regex", only one of these parameters are allowed
+  // todo: "pcre", only possible from 755
+  public static readonly methods: {[name: string]: IBuiltinMethod} = {
+    "ABS": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "ACOS": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "ASIN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "ATAN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "BIT-SET": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": IntegerType.get(),
+      },
+      return: new XStringType(),
+      version: Version.v702,
+    },
+ 
+    "BOOLC": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "BOOLX": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "bool": CLikeType.get(),
+      },
+      optional: {
+        "bit": IntegerType.get(),
+      },
+      return: new XStringType(),
+      version: Version.v702,
+    },
+ 
+    "CEIL": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "CHAR_OFF": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+        "add": IntegerType.get(),
+      },
+      optional: {
+        "off": IntegerType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "CHARLEN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "CMAX": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val1": CLikeType.get(),
+        "val2": CLikeType.get(),
+      },
+      optional: {
+        "val3": CLikeType.get(),
+        "val4": CLikeType.get(),
+        "val5": CLikeType.get(),
+        "val6": CLikeType.get(),
+        "val7": CLikeType.get(),
+        "val9": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "CMIN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val1": CLikeType.get(),
+        "val2": CLikeType.get(),
+      },
+      optional: {
+        "val3": CLikeType.get(),
+        "val4": CLikeType.get(),
+        "val5": CLikeType.get(),
+        "val6": CLikeType.get(),
+        "val7": CLikeType.get(),
+        "val9": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "CONCAT_LINES_OF": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "table": new TableType(new AnyType(), {withHeader: false, keyType: TableKeyType.default}),
+      },
+      optional: {
+        "sep": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "CONDENSE": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "del": CLikeType.get(),
+        "from": CLikeType.get(),
+        "to": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "CONTAINS": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "start": CLikeType.get(),
+        "end": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: new CharacterType(1),
+      predicate: true,
+      version: Version.v702,
+    },
+ 
+    "CONTAINS_ANY_NOT_OF": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "start": CLikeType.get(),
+        "end": CLikeType.get(),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      predicate: true,
+      return: new CharacterType(1), version: Version.v702,
+    },
+ 
+    "CONTAINS_ANY_OF": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "start": CLikeType.get(),
+        "end": CLikeType.get(),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: new CharacterType(1),
+      predicate: true,
+      version: Version.v702,
+    },
+ 
+    "COS": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "COSH": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "COUNT": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "COUNT_ANY_NOT_OF": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "COUNT_ANY_OF": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "DBMAXLEN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "DISTANCE": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val1": CLikeType.get(),
+        "val2": CLikeType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "ESCAPE": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+        "format": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "EXP": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "FIND": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "FIND_ANY_NOT_OF": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "FIND_ANY_OF": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "FIND_END": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "FLOOR": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "FRAC": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "FROM_MIXED": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get()},
+      optional: {
+        "case": new CharacterType(1),
+        "sep": IntegerType.get(),
+        "min": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "INSERT": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+        "sub": CLikeType.get(),
+      },
+      optional: {
+        "off": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "IPOW": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "base": new FloatType(),
+        "exp": new FloatType(),
+      },
+      return: IntegerType.get(),
+      version: Version.v740sp02,
+    },
+ 
+    "LINE_EXISTS": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new AnyType(),
+      },
+      return: new CharacterType(1),
+      predicate: true,
+      version: Version.v740sp02,
+    },
+ 
+    "LINE_INDEX": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new AnyType(),
+      },
+      return: IntegerType.get(),
+      version: Version.v740sp02,
+    },
+ 
+    "LINES": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new TableType(new AnyType(), {withHeader: false, keyType: TableKeyType.default}),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "LOG": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "LOG10": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "MATCH": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      }, optional: {
+        "case": new CharacterType(1),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "MATCHES": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "case": new CharacterType(1),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+      },
+      return: new CharacterType(1),
+      predicate: true,
+      version: Version.v702,
+    },
+ 
+    "NMAX": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val1": CLikeType.get(),
+        "val2": CLikeType.get(),
+      },
+      optional: {
+        "val3": CLikeType.get(),
+        "val4": CLikeType.get(),
+        "val5": CLikeType.get(),
+        "val6": CLikeType.get(),
+        "val7": CLikeType.get(),
+        "val8": CLikeType.get(),
+        "val9": CLikeType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "NMIN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val1": CLikeType.get(),
+        "val2": CLikeType.get(),
+      },
+      optional: {
+        "val3": CLikeType.get(),
+        "val4": CLikeType.get(),
+        "val5": CLikeType.get(),
+        "val6": CLikeType.get(),
+        "val7": CLikeType.get(),
+        "val8": CLikeType.get(),
+        "val9": CLikeType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "NUMOFCHAR": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "REPEAT": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+        "occ": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "REPLACE": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+        "with": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "RESCALE": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      optional: {
+        "dec": IntegerType.get(),
+        "prec": IntegerType.get(),
+        "mode": IntegerType.get(),
+      },
+      return: new FloatType(),
+      version: Version.v702,
+    },
+ 
+    "REVERSE": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "ROUND": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      optional: {
+        "dec": IntegerType.get(),
+        "prec": IntegerType.get(),
+        "mode": IntegerType.get(),
+      },
+      return: IntegerType.get(),
+      version: Version.v702,
+    },
+ 
+    "SEGMENT": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+        "index": IntegerType.get(),
+      },
+      optional: {
+        "sep": CLikeType.get(),
+        "space": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "SHIFT_LEFT": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional:
+      {
+        "sub": CLikeType.get(),
+        "places": IntegerType.get(),
+        "circular": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "SHIFT_RIGHT": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "places": IntegerType.get(),
+        "circular": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "SIGN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "SIN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "SINH": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "SQRT": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "STRLEN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "SUBSTRING": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "off": IntegerType.get(),
+        "len": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "SUBSTRING_AFTER": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "SUBSTRING_BEFORE": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "SUBSTRING_FROM": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "SUBSTRING_TO": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional: {
+        "sub": CLikeType.get(),
+        "regex": CLikeType.get(),
+        "pcre": CLikeType.get(),
+        "case": new CharacterType(1),
+        "len": IntegerType.get(),
+        "occ": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "TAN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "TANH": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: new FloatType(),
+    },
+ 
+    "TO_LOWER": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "TO_MIXED": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      optional:
+      {
+        "case": new CharacterType(1),
+        "sep": CLikeType.get(),
+        "min": IntegerType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "TO_UPPER": {
+      counter: BuiltIn.counter++,
+      mandatory: {"val": CLikeType.get()},
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "TRANSLATE": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+        "from": CLikeType.get(),
+        "to": CLikeType.get(),
+      },
+      return: StringType.get(),
+      version: Version.v702,
+    },
+ 
+    "TRUNC": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new FloatType(),
+      },
+      return: IntegerType.get(),
+    },
+ 
+    "UTCLONG_ADD": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new UTCLongType(),
+      },
+      optional: {
+        "days": IntegerType.get(),
+        "hour": IntegerType.get(),
+        "minutes": IntegerType.get(),
+        "seconds": new FloatType(),
+      },
+      return: new UTCLongType(),
+      version: Version.v754,
+    },
+ 
+    "UTCLONG_CURRENT": {
+      counter: BuiltIn.counter++,
+      return: new UTCLongType(),
+      version: Version.v754,
+    },
+ 
+    "UTCLONG_DIFF": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "high": new UTCLongType(),
+        "low": new UTCLongType(),
+      },
+      return: new FloatType(),
+      version: Version.v754,
+    },
+ 
+    "XSDBOOL": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": CLikeType.get(),
+      },
+      return: new CharacterType(1),
+      version: Version.v740sp08,
+    },
+ 
+    "XSTRLEN": {
+      counter: BuiltIn.counter++,
+      mandatory: {
+        "val": new XSequenceType(),
+      },
+      return: IntegerType.get(),
+    },
+  };
+ 
+  private row = 1;
+ 
+  private buildDefinition(method: IBuiltinMethod, name: string): IMethodDefinition {
+    if (method.cache) {
+      return method.cache;
+    }
+ 
+    const token = new TokenIdentifier(new Position(1, 1), name);
+    const result = new BuiltInMethod(token, BuiltIn.filename, method, method.counter);
+    method.cache = result;
+    return result;
+  }
+ 
+  public searchBuiltin(name: string | undefined): IMethodDefinition | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    const def = BuiltIn.methods[name.toUpperCase()];
+    if (def === undefined) {
+      return undefined;
+    }
+ 
+    return this.buildDefinition(def, name);
+  }
+ 
+  public isPredicate(name: string | undefined): boolean | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    const def = BuiltIn.methods[name.toUpperCase()];
+    if (def === undefined) {
+      return undefined;
+    }
+ 
+    return def.predicate;
+  }
+ 
+  public getTypes(): TypedIdentifier[] {
+    const ret: TypedIdentifier[] = this.buildSY();
+ 
+    {
+      const id = new TokenIdentifier(new Position(1, 1), "abap_bool");
+      ret.push(new TypedIdentifier(id, BuiltIn.filename, new CharacterType(1, {qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL"})));
+    }
+ 
+    {
+      const id = new TokenIdentifier(new Position(1, 1), "cursor");
+      ret.push(new TypedIdentifier(id, BuiltIn.filename, IntegerType.get({qualifiedName: "CURSOR", ddicName: "CURSOR"})));
+    }
+ 
+    return ret;
+  }
+ 
+  public get(extras: string[]): TypedIdentifier[] {
+    const ret: TypedIdentifier[] = [];
+ 
+    if (BuiltIn.getCache.length === 0) {
+      BuiltIn.getCache.push(...this.buildSY());
+ 
+      BuiltIn.getCache.push(this.buildVariable("screen"));
+ 
+      BuiltIn.getCache.push(this.buildConstant("%_ENDIAN"));
+      BuiltIn.getCache.push(this.buildConstant("%_CHARSIZE"));
+ 
+      BuiltIn.getCache.push(this.buildConstant("%_BACKSPACE", new CharacterType(1), "\b"));
+      BuiltIn.getCache.push(this.buildConstant("%_CR_LF", new CharacterType(2), "\r\n"));
+      BuiltIn.getCache.push(this.buildConstant("%_FORMFEED", new CharacterType(1), "\f"));
+      BuiltIn.getCache.push(this.buildConstant("%_HORIZONTAL_TAB", new CharacterType(1), "\t"));
+      BuiltIn.getCache.push(this.buildConstant("%_MAXCHAR", new CharacterType(1), Buffer.from("FDFF", "hex").toString()));
+      BuiltIn.getCache.push(this.buildConstant("%_MINCHAR", new CharacterType(1), Buffer.from("0000", "hex").toString()));
+      BuiltIn.getCache.push(this.buildConstant("%_NEWLINE", new CharacterType(1), "\n"));
+      BuiltIn.getCache.push(this.buildConstant("%_VERTICAL_TAB", new CharacterType(1), "\v"));
+ 
+      BuiltIn.getCache.push(this.buildConstant("abap_false", new CharacterType(1, {qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL"}), "' '"));
+      BuiltIn.getCache.push(this.buildConstant("abap_true", new CharacterType(1, {qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL"}), "'X'"));
+      BuiltIn.getCache.push(this.buildConstant("abap_undefined", new CharacterType(1, {qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL"}), "'-'"));
+      BuiltIn.getCache.push(this.buildConstant("abap_off", new CharacterType(1, {qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL"}), "' '"));
+      BuiltIn.getCache.push(this.buildConstant("abap_on", new CharacterType(1, {qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL"}), "'X'"));
+ 
+      BuiltIn.getCache.push(this.buildConstant("col_background", IntegerType.get(), "0"));
+      BuiltIn.getCache.push(this.buildConstant("col_heading", IntegerType.get(), "1"));
+      BuiltIn.getCache.push(this.buildConstant("col_key", IntegerType.get(), "4"));
+      BuiltIn.getCache.push(this.buildConstant("col_negative", IntegerType.get(), "6"));
+      BuiltIn.getCache.push(this.buildConstant("col_group", IntegerType.get(), "7"));
+      BuiltIn.getCache.push(this.buildConstant("col_normal", IntegerType.get(), "2"));
+      BuiltIn.getCache.push(this.buildConstant("col_positive", IntegerType.get(), "5"));
+      BuiltIn.getCache.push(this.buildConstant("col_total", IntegerType.get(), "3"));
+ 
+      BuiltIn.getCache.push(this.buildConstant("space", new CharacterType(1, {derivedFromConstant: true}), "' '"));
+    }
+ 
+    ret.push(...BuiltIn.getCache);
+ 
+    for (const e of extras) {
+      const id = new TokenIdentifier(new Position(this.row++, 1), e);
+      ret.push(new TypedIdentifier(id, BuiltIn.filename, new VoidType(e), [IdentifierMeta.ReadOnly, IdentifierMeta.BuiltIn], "'?'"));
+    }
+ 
+    return ret;
+  }
+ 
+  /////////////////////////////
+ 
+  private buildVariable(name: string) {
+    const id = new TokenIdentifier(new Position(this.row++, 1), name);
+    return new TypedIdentifier(id, BuiltIn.filename, new VoidType(name), [IdentifierMeta.BuiltIn]);
+  }
+ 
+  private buildSY(): TypedIdentifier[] {
+    const components: IStructureComponent[] = [];
+    // NOTE: fields must be in correct sequence for the syntax check
+    components.push({name: "index", type: IntegerType.get()});
+    components.push({name: "pagno", type: IntegerType.get()});
+    components.push({name: "tabix", type: IntegerType.get()});
+    components.push({name: "tfill", type: IntegerType.get()});
+    components.push({name: "tlopc", type: IntegerType.get()});
+    components.push({name: "tmaxl", type: IntegerType.get()});
+    components.push({name: "toccu", type: IntegerType.get()});
+    components.push({name: "ttabc", type: IntegerType.get()});
+    components.push({name: "tstis", type: IntegerType.get()});
+    components.push({name: "ttabi", type: IntegerType.get()});
+    components.push({name: "dbcnt", type: IntegerType.get()});
+    components.push({name: "fdpos", type: IntegerType.get()});
+    components.push({name: "colno", type: IntegerType.get()});
+    components.push({name: "linct", type: IntegerType.get()});
+    components.push({name: "linno", type: IntegerType.get()});
+    components.push({name: "linsz", type: IntegerType.get()});
+    components.push({name: "pagct", type: IntegerType.get()});
+    components.push({name: "macol", type: IntegerType.get()});
+    components.push({name: "marow", type: IntegerType.get()});
+    components.push({name: "tleng", type: IntegerType.get()});
+    components.push({name: "sfoff", type: IntegerType.get()});
+    components.push({name: "willi", type: IntegerType.get()});
+    components.push({name: "lilli", type: IntegerType.get()});
+    components.push({name: "subrc", type: IntegerType.get()});
+    components.push({name: "fleng", type: IntegerType.get()});
+    components.push({name: "cucol", type: IntegerType.get()});
+    components.push({name: "curow", type: IntegerType.get()});
+    components.push({name: "lsind", type: IntegerType.get()});
+    components.push({name: "listi", type: IntegerType.get()});
+    components.push({name: "stepl", type: IntegerType.get()});
+    components.push({name: "tpagi", type: IntegerType.get()});
+    components.push({name: "winx1", type: IntegerType.get()});
+    components.push({name: "winy1", type: IntegerType.get()});
+    components.push({name: "winx2", type: IntegerType.get()});
+    components.push({name: "winy2", type: IntegerType.get()});
+    components.push({name: "winco", type: IntegerType.get()});
+    components.push({name: "winro", type: IntegerType.get()});
+    components.push({name: "windi", type: IntegerType.get()});
+    components.push({name: "srows", type: IntegerType.get()});
+    components.push({name: "scols", type: IntegerType.get()});
+    components.push({name: "loopc", type: IntegerType.get()});
+    components.push({name: "folen", type: IntegerType.get()});
+    components.push({name: "fodec", type: IntegerType.get()});
+    components.push({name: "tzone", type: IntegerType.get()});
+    components.push({name: "dayst", type: new CharacterType(1)});
+    components.push({name: "ftype", type: new CharacterType(1)});
+    components.push({name: "appli", type: new HexType(2)});
+    components.push({name: "fdayw", type: new AnyType()});
+    components.push({name: "ccurs", type: new PackedType(5, 0)});
+    components.push({name: "ccurt", type: new PackedType(5, 0)});
+    components.push({name: "debug", type: new CharacterType(1)});
+    components.push({name: "ctype", type: new CharacterType(1)});
+    components.push({name: "input", type: new CharacterType(1, {qualifiedName: "sy-input"})});
+    components.push({name: "langu", type: new CharacterType(1, {qualifiedName: "sy-langu", conversionExit: "ISOLA"})});
+    components.push({name: "modno", type: IntegerType.get()});
+    components.push({name: "batch", type: new CharacterType(1, {qualifiedName: "sy-batch"})});
+    components.push({name: "binpt", type: new CharacterType(1, {qualifiedName: "sy-binpt"})});
+    components.push({name: "calld", type: new CharacterType(1, {qualifiedName: "sy-calld"})});
+    components.push({name: "dynnr", type: new CharacterType(4, {qualifiedName: "sy-dynnr"})});
+    components.push({name: "dyngr", type: new CharacterType(4, {qualifiedName: "sy-dyngr"})});
+    components.push({name: "newpa", type: new CharacterType(1)});
+    components.push({name: "pri40", type: new CharacterType(1)});
+    components.push({name: "rstrt", type: new CharacterType(1)});
+    components.push({name: "wtitl", type: new CharacterType(1, {qualifiedName: "sy-wtitl"})});
+    components.push({name: "cpage", type: IntegerType.get()});
+    components.push({name: "dbnam", type: new CharacterType(20, {qualifiedName: "sy-dbnam"})});
+    components.push({name: "mandt", type: new CharacterType(3, {qualifiedName: "sy-mandt"})});
+    components.push({name: "prefx", type: new CharacterType(3)});
+    components.push({name: "fmkey", type: new CharacterType(3)});
+    components.push({name: "pexpi", type: new NumericType(1)});
+    components.push({name: "prini", type: new NumericType(1)});
+    components.push({name: "primm", type: new CharacterType(1)});
+    components.push({name: "prrel", type: new CharacterType(1)});
+    components.push({name: "playo", type: new CharacterType(5)});
+    components.push({name: "prbig", type: new CharacterType(1)});
+    components.push({name: "playp", type: new CharacterType(1)});
+    components.push({name: "prnew", type: new CharacterType(1)});
+    components.push({name: "prlog", type: new CharacterType(1)});
+    components.push({name: "pdest", type: new CharacterType(4, {qualifiedName: "sy-pdest"})});
+    components.push({name: "plist", type: new CharacterType(12)});
+    components.push({name: "pauth", type: new NumericType(2)});
+    components.push({name: "prdsn", type: new CharacterType(6)});
+    components.push({name: "pnwpa", type: new CharacterType(1)});
+    components.push({name: "callr", type: new CharacterType(8, {qualifiedName: "sy-callr"})});
+    components.push({name: "repi2", type: new CharacterType(40)});
+    components.push({name: "rtitl", type: new CharacterType(70)});
+    components.push({name: "prrec", type: new CharacterType(12)});
+    components.push({name: "prtxt", type: new CharacterType(68)});
+    components.push({name: "prabt", type: new CharacterType(12)});
+    components.push({name: "lpass", type: new CharacterType(4)});
+    components.push({name: "nrpag", type: new CharacterType(1)});
+    components.push({name: "paart", type: new CharacterType(16)});
+    components.push({name: "prcop", type: new NumericType(3)});
+    components.push({name: "batzs", type: new CharacterType(1)});
+    components.push({name: "bspld", type: new CharacterType(1)});
+    components.push({name: "brep4", type: new CharacterType(4)});
+    components.push({name: "batzo", type: new CharacterType(1)});
+    components.push({name: "batzd", type: new CharacterType(1)});
+    components.push({name: "batzw", type: new CharacterType(1)});
+    components.push({name: "batzm", type: new CharacterType(1)});
+    components.push({name: "ctabl", type: new CharacterType(4)});
+    components.push({name: "dbsys", type: new CharacterType(10, {qualifiedName: "sy-dbsys"})});
+    components.push({name: "dcsys", type: new CharacterType(4)});
+    components.push({name: "macdb", type: new CharacterType(4)});
+    components.push({name: "sysid", type: new CharacterType(8, {qualifiedName: "sy-sysid"})});
+    components.push({name: "opsys", type: new CharacterType(10, {qualifiedName: "sy-opsys"})});
+    components.push({name: "pfkey", type: new CharacterType(20, {qualifiedName: "sy-pfkey"})});
+    components.push({name: "saprl", type: new CharacterType(4, {qualifiedName: "sy-saprl"})});
+    components.push({name: "tcode", type: new CharacterType(20, {qualifiedName: "sy-tcode"})});
+    components.push({name: "ucomm", type: new CharacterType(70, {qualifiedName: "sy-ucomm"})});
+    components.push({name: "cfwae", type: new CharacterType(5)});
+    components.push({name: "chwae", type: new CharacterType(5)});
+    components.push({name: "spono", type: new CharacterType(10, {qualifiedName: "sy-spono"})});
+    components.push({name: "sponr", type: new NumericType(10)});
+    components.push({name: "waers", type: new CharacterType(5)});
+    components.push({name: "cdate", type: new DateType()});
+    components.push({name: "datum", type: new DateType()});
+    components.push({name: "slset", type: new CharacterType(14, {qualifiedName: "sy-slset"})});
+    components.push({name: "subty", type: new HexType(1)});
+    components.push({name: "subcs", type: new CharacterType(1)});
+    components.push({name: "group", type: new CharacterType(1)});
+    components.push({name: "ffile", type: new CharacterType(8)});
+    components.push({name: "uzeit", type: new TimeType()});
+    components.push({name: "dsnam", type: new CharacterType(8)});
+    components.push({name: "tabid", type: new CharacterType(8)});
+    components.push({name: "tfdsn", type: new CharacterType(8)});
+    components.push({name: "uname", type: new CharacterType(12, {qualifiedName: "sy-uname"})});
+    components.push({name: "lstat", type: new CharacterType(16)});
+    components.push({name: "abcde", type: new CharacterType(26, {qualifiedName: "sy-abcde"})});
+    components.push({name: "marky", type: new CharacterType(1)});
+    components.push({name: "sfnam", type: new CharacterType(30)});
+    components.push({name: "tname", type: new CharacterType(30)});
+    components.push({name: "msgli", type: new CharacterType(60, {qualifiedName: "sy-msgli"})});
+    components.push({name: "title", type: new CharacterType(70, {qualifiedName: "sy-title"})});
+    components.push({name: "entry", type: new CharacterType(72)});
+    components.push({name: "lisel", type: new CharacterType(255, {qualifiedName: "sy-lisel"})});
+    components.push({name: "uline", type: new CharacterType(255, {qualifiedName: "sy-uline"})});
+    components.push({name: "xcode", type: new CharacterType(70)});
+    components.push({name: "cprog", type: new CharacterType(40, {qualifiedName: "sy-cprog"})});
+    components.push({name: "xprog", type: new CharacterType(40)});
+    components.push({name: "xform", type: new CharacterType(30)});
+    components.push({name: "ldbpg", type: new CharacterType(40, {qualifiedName: "sy-ldbpg"})});
+    components.push({name: "tvar0", type: new CharacterType(20, {qualifiedName: "sy-tvar0"})});
+    components.push({name: "tvar1", type: new CharacterType(20, {qualifiedName: "sy-tvar1"})});
+    components.push({name: "tvar2", type: new CharacterType(20, {qualifiedName: "sy-tvar2"})});
+    components.push({name: "tvar3", type: new CharacterType(20, {qualifiedName: "sy-tvar3"})});
+    components.push({name: "tvar4", type: new CharacterType(20, {qualifiedName: "sy-tvar4"})});
+    components.push({name: "tvar5", type: new CharacterType(20, {qualifiedName: "sy-tvar5"})});
+    components.push({name: "tvar6", type: new CharacterType(20, {qualifiedName: "sy-tvar6"})});
+    components.push({name: "tvar7", type: new CharacterType(20, {qualifiedName: "sy-tvar7"})});
+    components.push({name: "tvar8", type: new CharacterType(20, {qualifiedName: "sy-tvar8"})});
+    components.push({name: "tvar9", type: new CharacterType(20, {qualifiedName: "sy-tvar9"})});
+    components.push({name: "msgid", type: new CharacterType(20, {qualifiedName: "sy-msgid"})});
+    components.push({name: "msgty", type: new CharacterType(1, {qualifiedName: "sy-msgty"})});
+    components.push({name: "msgno", type: new NumericType(3, "sy-msgno")});
+    components.push({name: "msgv1", type: new CharacterType(50, {qualifiedName: "sy-msgv1"})});
+    components.push({name: "msgv2", type: new CharacterType(50, {qualifiedName: "sy-msgv2"})});
+    components.push({name: "msgv3", type: new CharacterType(50, {qualifiedName: "sy-msgv3"})});
+    components.push({name: "msgv4", type: new CharacterType(50, {qualifiedName: "sy-msgv4"})});
+    components.push({name: "oncom", type: new CharacterType(1)});
+    components.push({name: "vline", type: new CharacterType(1, {qualifiedName: "sy-vline"})});
+    components.push({name: "winsl", type: new CharacterType(79)});
+    components.push({name: "staco", type: IntegerType.get()});
+    components.push({name: "staro", type: IntegerType.get()});
+    components.push({name: "datar", type: new CharacterType(1, {qualifiedName: "sy-datar"})});
+    components.push({name: "host", type: new CharacterType(32, {qualifiedName: "sy-host"})});
+    components.push({name: "locdb", type: new CharacterType(1)});
+    components.push({name: "locop", type: new CharacterType(1)});
+    components.push({name: "datlo", type: new DateType()});
+    components.push({name: "timlo", type: new TimeType()});
+    components.push({name: "zonlo", type: new CharacterType(6, {qualifiedName: "sy-zonlo"})});
+ 
+    const type = new StructureType(components);
+ 
+    const id1 = new TokenIdentifier(new Position(this.row++, 1), "sy");
+    const sy = new TypedIdentifier(id1, BuiltIn.filename, type, [IdentifierMeta.ReadOnly, IdentifierMeta.BuiltIn]);
+ 
+    const id2 = new TokenIdentifier(new Position(this.row++, 1), "syst");
+    const syst = new TypedIdentifier(id2, BuiltIn.filename, type, [IdentifierMeta.ReadOnly, IdentifierMeta.BuiltIn]);
+ 
+    // https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abennews-610-system.htm
+    const id3 = new TokenIdentifier(new Position(this.row++, 1), "sy-repid");
+    const syrepid = new TypedIdentifier(id3, BuiltIn.filename, new CharacterType(40, {qualifiedName: "sy-repid"}), [IdentifierMeta.ReadOnly, IdentifierMeta.BuiltIn]);
+ 
+    return [sy, syst, syrepid];
+  }
+ 
+  private buildConstant(name: string, type?: AbstractType, value?: string): TypedIdentifier {
+    const id = new TokenIdentifier(new Position(this.row++, 1), name);
+    if (type === undefined) {
+      type = new VoidType(name);
+    }
+    if (value === undefined) {
+      value = "'?'";
+    }
+    return new TypedIdentifier(id, BuiltIn.filename, type, [IdentifierMeta.ReadOnly, IdentifierMeta.BuiltIn], value);
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/_current_scope.ts.html b/src/abap/5_syntax/_current_scope.ts.html new file mode 100644 index 00000000000..5d1f9b208ec --- /dev/null +++ b/src/abap/5_syntax/_current_scope.ts.html @@ -0,0 +1,1726 @@ + + + + + + Code coverage report for src/abap/5_syntax/_current_scope.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax _current_scope.ts

+
+ +
+ 87.56% + Statements + 479/547 +
+ + +
+ 71.65% + Branches + 134/187 +
+ + +
+ 100% + Functions + 45/45 +
+ + +
+ 87.56% + Lines + 479/547 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +5481x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +9173x +1x +1x +9173x +9173x +9173x +9173x +45865x +45865x +9173x +1x +1x +9173x +9173x +9173x +9173x +1x +1x +1x +1x +51x +51x +1x +1x +25x +25x +1x +1x +46686x +  +  +46686x +46686x +1x +1x +46705x +  +  +46705x +  +  +46705x +46705x +2x +46705x +2x +2x +46701x +46701x +1x +1x +81x +  +  +81x +81x +1x +1x +81x +  +  +81x +  +  +81x +81x +  +  +81x +81x +1x +1x +1215x +  +  +1215x +1215x +1x +1x +1214x +1214x +1x +1x +188x +  +  +188x +188x +1x +1x +271x +  +  +271x +271x +  +  +271x +271x +1x +1x +261992x +  +  +261992x +261992x +4x +4x +261992x +2x +2x +261986x +261986x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +  +1x +  +  +1x +1x +1x +1x +261927x +  +  +261927x +261927x +1x +1x +5x +  +  +5x +5x +1x +1x +396x +43x +43x +396x +1x +1x +12050x +257246x +257246x +12050x +1x +1x +6967x +6967x +6967x +6967x +6967x +6967x +6967x +  +  +6967x +6967x +6967x +1578x +1606x +1606x +6967x +5389x +5389x +6967x +1x +1x +3x +3x +1x +1x +1x +1x +1x +  +  +1x +  +  +  +  +  +1x +1x +1x +1x +780x +117x +117x +663x +780x +495x +495x +168x +780x +77x +77x +91x +91x +1x +1x +70x +70x +1x +1x +1x +1x +1x +  +69x +69x +1x +1x +399x +  +  +399x +399x +399x +337x +399x +45x +45x +399x +399x +399x +139x +4x +4x +139x +139x +260x +260x +399x +30x +30x +230x +399x +399x +40x +2x +2x +40x +40x +190x +190x +399x +13x +13x +177x +399x +399x +5x +5x +5x +3x +3x +5x +2x +2x +5x +5x +5x +172x +172x +172x +1x +1x +1x +1x +1x +4512x +598x +598x +3914x +4512x +4512x +1987x +1987x +1927x +1927x +4512x +1706x +1706x +221x +221x +221x +1x +1x +858x +  +  +858x +858x +858x +489x +489x +369x +369x +858x +  +  +  +369x +369x +858x +368x +368x +1x +858x +858x +858x +858x +858x +1x +1x +420x +  +  +420x +420x +420x +420x +237x +237x +183x +183x +420x +1x +1x +1x +182x +420x +42x +42x +42x +42x +140x +140x +420x +134x +134x +6x +420x +420x +420x +420x +420x +1x +1x +1x +648x +  +  +648x +648x +648x +360x +360x +288x +288x +648x +149x +149x +139x +139x +139x +1x +1x +15x +15x +1x +1x +1290x +  +  +1290x +1290x +1x +1x +15x +  +  +15x +15x +1x +1x +4184x +  +  +4184x +4184x +3326x +3326x +858x +858x +1x +1x +1x +1x +4279x +4279x +1x +1x +419x +419x +1x +1x +31x +31x +1x +1x +422x +422x +1x +1x +1661x +  +  +1661x +1661x +1x +1x +3496x +  +  +3496x +3496x +1x +1x +24386x +24386x +24386x +24386x +24386x +9173x +9173x +24386x +15213x +15213x +15213x +15213x +24386x +1x +1x +308703x +308703x +321874x +321874x +321874x +321874x +932x +932x +320942x +320942x +307771x +307771x +1x +1x +827x +827x +1x +1x +828x +828x +1x +1x +7x +7x +7x +1x +1x +6x +6x +1x +1x +10664x +10664x +10664x +10664x +  +  +10664x +10664x +10664x +10664x +10664x +10664x +1x + 
import {TypedIdentifier} from "../types/_typed_identifier";
+import {BuiltIn} from "./_builtin";
+import {DDIC} from "../../ddic";
+import {Position} from "../../position";
+import {SpaghettiScope, SpaghettiScopeNode} from "./spaghetti_scope";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {Identifier} from "../4_file_information/_identifier";
+import {ScopeType} from "./_scope_type";
+import {IRegistry} from "../../_iregistry";
+import {IClassDefinition} from "../types/_class_definition";
+import {IInterfaceDefinition} from "../types/_interface_definition";
+import {IFormDefinition} from "../types/_form_definition";
+import {IScopeIdentifier} from "./_spaghetti_scope";
+import {ReferenceType, IReferenceExtras} from "./_reference";
+ 
+import {IObject} from "../../objects/_iobject";
+import {Class} from "../../objects/class";
+import {Interface} from "../../objects/interface";
+import {EnhancementSpot} from "../../objects/enhancement_spot";
+import {TypePool} from "../../objects/type_pool";
+import {SyntaxLogic} from "./syntax";
+import {IDDICReferences} from "../../_iddic_references";
+import {FunctionGroup} from "../../objects";
+import {IMSAGReferences} from "../../_imsag_references";
+ 
+export class CurrentScope {
+  protected readonly reg: IRegistry;
+  protected current: SpaghettiScopeNode | undefined;
+  protected allowHeaderUse: string | undefined;
+  protected parentObj: IObject;
+ 
+  public static buildDefault(reg: IRegistry, obj: IObject): CurrentScope {
+    const s = new CurrentScope(reg, obj);
+ 
+    s.push(ScopeType.BuiltIn, ScopeType.BuiltIn, new Position(1, 1), BuiltIn.filename);
+    this.addBuiltIn(s, reg.getConfig().getSyntaxSetttings().globalConstants!);
+ 
+    let name: string = ScopeType.Global;
+    if (obj) {
+      name = name + "_" + obj.getName();
+    }
+ 
+    s.push(ScopeType.Global, name, new Position(1, 1), name);
+ 
+    return s;
+  }
+ 
+  private static addBuiltIn(s: CurrentScope, extras: string[]) {
+    const b = new BuiltIn();
+    const builtin = b.get(extras);
+    s.addList(builtin);
+    for (const t of b.getTypes()) {
+      s.addType(t);
+    }
+  }
+ 
+  private constructor(reg: IRegistry, obj: IObject) {
+    this.current = undefined;
+    this.parentObj = obj;
+    this.reg = reg;
+  }
+ 
+///////////////////////////
+ 
+  public getVersion() {
+    return this.reg.getConfig().getVersion();
+  }
+ 
+  public getRegistry(): IRegistry {
+    return this.reg;
+  }
+ 
+  public addType(type: TypedIdentifier | undefined) {
+    if (type === undefined) {
+      return;
+    }
+    this.addTypeNamed(type.getName(), type);
+  }
+ 
+  public addTypeNamed(name: string, type: TypedIdentifier | undefined) {
+    if (type === undefined) {
+      return;
+    }
+    if (this.current === undefined) {
+      return;
+    }
+    const upper = name.toUpperCase();
+    if (this.current.getData().types[upper] !== undefined) {
+      throw new Error(`Type name "${name}" already defined`);
+    } else if (this.isOO() && this.current.getData().vars[upper] !== undefined) {
+      throw new Error(`"${name}" already defined`);
+    }
+    this.current.getData().types[upper] = type;
+  }
+ 
+  public addExtraLikeType(type: TypedIdentifier | undefined) {
+    if (type === undefined) {
+      return;
+    }
+    this.addExtraLikeTypeNamed(type.getName(), type);
+  }
+ 
+  public addExtraLikeTypeNamed(name: string, type: TypedIdentifier | undefined) {
+    if (type === undefined) {
+      return;
+    }
+    if (this.current === undefined) {
+      return;
+    }
+    const upper = name.toUpperCase();
+    if (this.current.getData().extraLikeTypes[upper] !== undefined) {
+      throw new Error(`Type name "${name}" already defined`);
+    }
+    this.current.getData().extraLikeTypes[upper] = type;
+  }
+ 
+  public addClassDefinition(c: IClassDefinition) {
+    if (this.current === undefined) {
+      return;
+    }
+    const name = c.getName().toUpperCase();
+    if (this.current.getData().cdefs[name] !== undefined) {
+      throw new Error(`Class "${name}" already defined`);
+    }
+    this.current.getData().cdefs[name] = c;
+  }
+ 
+  public addFormDefinitions(f: readonly IFormDefinition[]) {
+    if (this.current === undefined) {
+      return;
+    }
+    this.current.getData().forms.push(...f);
+  }
+ 
+  public addInterfaceDefinition(i: IInterfaceDefinition) {
+    if (this.current === undefined) {
+      return;
+    }
+    const name = i.getName().toUpperCase();
+    if (this.current.getData().cdefs[name] !== undefined) {
+      throw new Error(`Interface "${name}" already defined`);
+    }
+    this.current.getData().idefs[name] = i;
+  }
+ 
+  public addNamedIdentifier(name: string, identifier: TypedIdentifier) {
+    if (this.current === undefined) {
+      return;
+    }
+    const upper = name.toUpperCase();
+    if (this.current.getData().vars[upper] !== undefined) {
+      // console.dir(new Error().stack);
+      throw new Error(`Variable name "${name}" already defined`);
+    } else if (this.isOO() && this.current.getData().types[upper] !== undefined) {
+      throw new Error(`"${name}" already defined`);
+    }
+    this.current.getData().vars[upper] = identifier;
+  }
+ 
+  public addNamedIdentifierToParent(name: string, identifier: TypedIdentifier) {
+    if (this.current === undefined) {
+      return;
+    }
+    const parent = this.current.getParent();
+    if (parent === undefined) {
+      return;
+    }
+ 
+    const upper = name.toUpperCase();
+    if (parent.getData().vars[upper] !== undefined) {
+      throw new Error(`Variable name "${name}" already defined`);
+    } else if (this.isOO() && parent.getData().types[upper] !== undefined) {
+      throw new Error(`"${name}" already defined`);
+    }
+    parent.getData().vars[upper] = identifier;
+  }
+ 
+  public addIdentifier(identifier: TypedIdentifier | undefined) {
+    if (identifier === undefined) {
+      return;
+    }
+    this.addNamedIdentifier(identifier.getName(), identifier);
+  }
+ 
+  public addDeferred(token: AbstractToken | undefined, type: "CLAS" | "INTF") {
+    if (token === undefined) {
+      return;
+    }
+    this.current!.getData().deferred[token.getStr().toUpperCase()] = {token, ooType: type};
+  }
+ 
+  public addListPrefix(identifiers: readonly TypedIdentifier[], prefix: string) {
+    for (const id of identifiers) {
+      this.addNamedIdentifier(prefix + id.getName(), id);
+    }
+  }
+ 
+  public addList(identifiers: readonly TypedIdentifier[]) {
+    for (const id of identifiers) {
+      this.addIdentifier(id);
+    }
+  }
+ 
+  public addReference(
+    usage: AbstractToken | undefined,
+    referencing: Identifier | undefined,
+    type: ReferenceType | ReferenceType[] | undefined,
+    filename: string,
+    extra?: IReferenceExtras) {
+ 
+    if (usage === undefined || type === undefined) {
+      return;
+    }
+ 
+    const position = new Identifier(usage, filename);
+    if (Array.isArray(type)) {
+      for (const t of type) {
+        this.current?.getData().references.push({position, resolved: referencing, referenceType: t, extra});
+      }
+    } else {
+      this.current?.getData().references.push({position, resolved: referencing, referenceType: type, extra});
+    }
+  }
+ 
+  public addSQLConversion(fieldName: string, message: string, token: AbstractToken) {
+    this.current?.getData().sqlConversion.push({fieldName, message, token});
+  }
+ 
+///////////////////////////
+ 
+  public findFunctionModule(name: string | undefined) {
+    if (name === undefined) {
+      return undefined;
+    }
+    for (const fugr of this.reg.getObjectsByType("FUGR")) {
+      const func = (fugr as FunctionGroup).getModule(name);
+      if (func !== undefined) {
+        return func;
+      }
+    }
+    return undefined;
+  }
+ 
+  public findObjectDefinition(name: string | undefined): IClassDefinition | IInterfaceDefinition | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+    const clas = this.findClassDefinition(name);
+    if (clas) {
+      return clas;
+    }
+    const intf = this.findInterfaceDefinition(name);
+    if (intf) {
+      return intf;
+    }
+    return undefined;
+  }
+ 
+  public isBadiDef(name: string): boolean {
+    const upper = name.toUpperCase();
+    for (const enhs of this.reg.getObjectsByType("ENHS")) {
+      for (const def of (enhs as EnhancementSpot).listBadiDefinitions()) {
+        if (def.name.toUpperCase() === upper) {
+          return true;
+        }
+      }
+    }
+    return false;
+  }
+ 
+  public existsObject(name: string | undefined): {id: Identifier | undefined, ooType?: IReferenceExtras["ooType"], RTTIName?: string} | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    let prefixRTTI = "";
+    if (this.parentObj.getType() === "PROG") {
+      prefixRTTI = "\\PROGRAM=" + this.parentObj.getName();
+    } else if (this.parentObj.getType() === "CLAS") {
+      prefixRTTI = "\\CLASS-POOL=" + this.parentObj.getName();
+    }
+ 
+    const findLocalClass = this.current?.findClassDefinition(name);
+    if (findLocalClass) {
+      if (findLocalClass.isGlobal() === true) {
+        prefixRTTI = "";
+      }
+      return {id: findLocalClass, ooType: "CLAS", RTTIName: prefixRTTI + "\\CLASS=" + findLocalClass.getName()};
+    }
+ 
+    const globalClas = this.reg.getObject("CLAS", name);
+    if (globalClas) {
+      return {id: globalClas.getIdentifier(), ooType: "CLAS", RTTIName: "\\CLASS=" + globalClas.getName()};
+    }
+ 
+    const findLocalInterface = this.current?.findInterfaceDefinition(name);
+    if (findLocalInterface) {
+      if (findLocalInterface.isGlobal() === true) {
+        prefixRTTI = "";
+      }
+      return {id: findLocalInterface, ooType: "INTF", RTTIName: prefixRTTI + "\\INTERFACE=" + findLocalInterface.getName()};
+    }
+ 
+    const globalIntf = this.reg.getObject("INTF", name);
+    if (globalIntf) {
+      return {id: globalIntf.getIdentifier(), ooType: "INTF", RTTIName: "\\INTERFACE=" + globalIntf.getName()};
+    }
+ 
+    const def = this.current?.findDeferred(name);
+    if (def !== undefined) {
+      let rttiName = prefixRTTI;
+      switch (def.ooType) {
+        case "INTF":
+          rttiName = rttiName + "\\INTERFACE=" + name;
+          break;
+        default:
+          rttiName = rttiName + "\\CLASS=" + name;
+          break;
+      }
+      return {id: def.id, ooType: def.ooType, RTTIName: rttiName};
+    }
+ 
+    return undefined;
+  }
+ 
+///////////////////////////
+ 
+  /** Lookup class in local and global scope */
+  public findClassDefinition(name: string | undefined): IClassDefinition | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    const clocal = this.current?.findClassDefinition(name);
+    if (clocal) {
+      return clocal;
+    }
+ 
+    const cglobal = this.reg.getObject("CLAS", name) as Class | undefined;
+    if (cglobal) {
+      return cglobal.getDefinition();
+    }
+ 
+    return undefined;
+  }
+ 
+  public findTypePoolConstant(name: string | undefined): TypedIdentifier | undefined {
+    if (name === undefined || name.includes("_") === undefined) {
+      return undefined;
+    }
+ 
+    const typePoolName = name.split("_")[0];
+    if (typePoolName.length <= 1 || typePoolName.length > 5) {
+      return undefined;
+    }
+ 
+    if (this.parentObj.getType() === "TYPE"
+        && this.parentObj.getName().toUpperCase() === typePoolName.toUpperCase()) {
+// dont recurse into itself
+      return undefined;
+    }
+ 
+    const typePool = this.reg.getObject("TYPE", typePoolName) as TypePool | undefined;
+    if (typePool === undefined) {
+      return undefined;
+    }
+ 
+    const spag = new SyntaxLogic(this.reg, typePool).run().spaghetti.getFirstChild()?.getFirstChild();
+ 
+    const found = spag?.findVariable(name);
+    return found;
+  }
+ 
+  public findTypePoolType(name: string): TypedIdentifier | undefined {
+    if (name.includes("_") === undefined) {
+      return undefined;
+    }
+ 
+    const typePoolName = name.split("_")[0];
+ 
+    if (typePoolName.length <= 2 || typePoolName.length > 5) {
+      return undefined;
+    }
+ 
+    if (this.parentObj.getType() === "TYPE"
+        && this.parentObj.getName().toUpperCase() === typePoolName.toUpperCase()) {
+// dont recurse into itself
+      return undefined;
+    }
+ 
+    if (new DDIC(this.reg).lookupNoVoid(name) !== undefined) {
+      // this is tricky, it should not do recursion when parsing the type pool itself,
+      // think about DTEL ABAP_ENCOD vs TYPE ABAP
+      return undefined;
+    }
+ 
+    const typePool = this.reg.getObject("TYPE", typePoolName) as TypePool | undefined;
+    if (typePool === undefined) {
+      return undefined;
+    }
+ 
+    const spag = new SyntaxLogic(this.reg, typePool).run().spaghetti.getFirstChild()?.getFirstChild();
+ 
+    const found = spag?.findType(name);
+    return found;
+  }
+ 
+  /** Lookup interface in local and global scope */
+  public findInterfaceDefinition(name: string | undefined): IInterfaceDefinition | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    const ilocal = this.current?.findInterfaceDefinition(name);
+    if (ilocal) {
+      return ilocal;
+    }
+ 
+    const iglobal = this.reg.getObject("INTF", name) as Interface | undefined;
+    if (iglobal) {
+      return iglobal.getDefinition();
+    }
+ 
+    return undefined;
+  }
+ 
+  public findFormDefinition(name: string): IFormDefinition | undefined {
+    return this.current?.findFormDefinition(name);
+  }
+ 
+  public findType(name: string | undefined): TypedIdentifier | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+    return this.current?.findType(name);
+  }
+ 
+  public findExtraLikeType(name: string | undefined): TypedIdentifier | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+    return this.current?.findExtraLikeType(name);
+  }
+ 
+  public findVariable(name: string | undefined): TypedIdentifier | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+    const found = this.current?.findVariable(name);
+    if (found) {
+      return found;
+    }
+    return this.findTypePoolConstant(name);
+  }
+ 
+///////////////////////////
+ 
+  public getDDIC(): DDIC {
+    return new DDIC(this.reg);
+  }
+ 
+  public getDDICReferences(): IDDICReferences {
+    return this.reg.getDDICReferences();
+  }
+ 
+  public getMSAGReferences(): IMSAGReferences {
+    return this.reg.getMSAGReferences();
+  }
+ 
+  public getParentObj(): IObject {
+    return this.parentObj;
+  }
+ 
+  public getName(): string {
+    if (this.current === undefined) {
+      throw new Error("error, getName");
+    }
+    return this.current.getIdentifier().sname;
+  }
+ 
+  public getType(): ScopeType {
+    if (this.current === undefined) {
+      throw new Error("error, getType");
+    }
+    return this.current.getIdentifier().stype;
+  }
+ 
+  public push(stype: ScopeType, sname: string, start: Position, filename: string): void {
+    const identifier: IScopeIdentifier = {stype, sname, start, filename, end: undefined};
+ 
+//    console.dir("push scope, " + stype);
+ 
+    if (this.current === undefined) {
+      // the top node
+      this.current = new SpaghettiScopeNode(identifier, undefined);
+    } else {
+      const parent = this.current;
+      this.current = new SpaghettiScopeNode(identifier, parent);
+      parent.addChild(this.current);
+    }
+  }
+ 
+  public isOO(): boolean {
+    let curr = this.current;
+    while (curr !== undefined) {
+      const stype = curr.getIdentifier().stype;
+      if (stype === ScopeType.ClassDefinition
+//          || stype === ScopeType.ClassImplementation
+          || stype === ScopeType.Interface) {
+        return true;
+      }
+      curr = curr.getParent();
+    }
+    return false;
+  }
+ 
+  public isGlobalOO(): boolean {
+    return this.parentObj.getType() === "INTF" || this.parentObj.getType() === "CLAS";
+  }
+ 
+  public isTypePool(): boolean {
+    return this.current?.getIdentifier().filename.endsWith(".type.abap") === true || false;
+  }
+ 
+  public setAllowHeaderUse(name: string) {
+// workaround for SELECT FOR ALL ENTRIES
+    this.allowHeaderUse = name;
+  }
+ 
+  public isAllowHeaderUse(name: string) {
+    return name.toUpperCase() === this.allowHeaderUse?.toUpperCase();
+  }
+ 
+  public pop(end: Position): SpaghettiScope {
+//    console.dir("pop scope, " + this.current?.getIdentifier().stype);
+ 
+    this.allowHeaderUse = undefined;
+    if (this.current === undefined) {
+      throw new Error("something wrong, top scope popped");
+    }
+    this.current.setEnd(end);
+ 
+    const current = this.current;
+    this.current = this.current.getParent();
+    return new SpaghettiScope(current);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/_object_oriented.ts.html b/src/abap/5_syntax/_object_oriented.ts.html new file mode 100644 index 00000000000..82f31660caf --- /dev/null +++ b/src/abap/5_syntax/_object_oriented.ts.html @@ -0,0 +1,1282 @@ + + + + + + Code coverage report for src/abap/5_syntax/_object_oriented.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax _object_oriented.ts

+
+ +
+ 93.23% + Statements + 372/399 +
+ + +
+ 86.99% + Branches + 107/123 +
+ + +
+ 100% + Functions + 18/18 +
+ + +
+ 93.23% + Lines + 372/399 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +4001x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9758x +9758x +1x +1x +161x +161x +29x +29x +132x +132x +161x +16x +16x +16x +132x +132x +132x +132x +132x +161x +20x +8x +8x +12x +12x +12x +12x +132x +132x +1x +1x +981x +15x +15x +15x +14x +14x +6x +6x +14x +15x +981x +981x +234x +234x +234x +234x +234x +981x +1x +1x +36x +36x +36x +36x +35x +35x +35x +34x +34x +35x +1x +1x +1x +1x +1x +1x +134x +134x +134x +11x +9x +9x +9x +8x +8x +9x +11x +126x +126x +1x +1x +750x +750x +  +  +750x +750x +  +  +750x +750x +1x +1x +509x +509x +509x +66x +66x +66x +66x +66x +509x +509x +509x +25x +25x +25x +  +  +25x +509x +509x +509x +1x +1x +16x +16x +16x +16x +8x +8x +8x +8x +16x +7x +7x +1x +16x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +1x +1x +1x +82x +82x +82x +82x +  +  +82x +82x +82x +46x +42x +42x +46x +40x +82x +3x +3x +3x +3x +2x +2x +3x +3x +38x +82x +4x +4x +4x +4x +4x +34x +34x +82x +2x +2x +32x +32x +32x +1x +1x +1x +77x +77x +77x +77x +  +  +77x +77x +77x +75x +75x +2x +77x +  +  +  +  +  +2x +2x +77x +1x +1x +1x +1x +1x +1x +1x +1x +38x +38x +38x +38x +  +  +38x +38x +38x +20x +20x +20x +20x +18x +38x +1x +1x +1x +1x +1x +1x +1x +1x +17x +38x +2x +2x +2x +2x +2x +15x +15x +38x +  +  +15x +15x +15x +1x +1x +1x +934x +934x +934x +934x +117x +117x +817x +817x +934x +656x +656x +161x +161x +934x +28x +28x +1x +1x +28x +160x +160x +934x +27x +27x +27x +27x +27x +934x +133x +133x +7x +7x +133x +126x +126x +934x +46x +46x +80x +80x +80x +1x +1x +823x +768x +661x +5x +661x +656x +656x +661x +768x +162x +162x +1x +1x +5x +5x +6x +6x +6x +4x +4x +2x +2x +1x +1x +1x +1x +816x +816x +84x +84x +732x +732x +1x +1x +1961x +1961x +1961x +1x +1x +1x +1961x +1961x +1961x +1961x +736x +736x +22x +20x +20x +20x +22x +736x +2x +2x +2x +2x +736x +26x +24x +24x +26x +652x +652x +652x +1877x +1877x +1877x +1x +1x +1x +2529x +2529x +149x +149x +2529x +2529x +1x +1x + 
import * as Statements from "../2_statements/statements";
+import * as Expressions from "../2_statements/expressions";
+import {StatementNode} from "../nodes";
+import {CurrentScope} from "./_current_scope";
+import {IClassDefinition} from "../types/_class_definition";
+import {IMethodDefinition} from "../types/_method_definition";
+import {IInterfaceDefinition} from "../types/_interface_definition";
+import {ClassAttribute} from "../types/class_attribute";
+import {ClassConstant} from "../types/class_constant";
+import {IEventDefinition} from "../types/_event_definition";
+import {TypedIdentifier} from "../types/_typed_identifier";
+import {Visibility} from "../4_file_information/visibility";
+ 
+// todo, think some of the public methods can be made private
+// todo: changet this class to static? for performance
+export class ObjectOriented {
+  private readonly scope: CurrentScope;
+ 
+  public constructor(scope: CurrentScope) {
+    this.scope = scope;
+  }
+ 
+  private fromInterfaceByName(name: string, ignore: string[]): string[] {
+    const idef = this.scope.findInterfaceDefinition(name);
+    if (idef === undefined || ignore.includes(name.toUpperCase())) {
+      return [];
+    }
+    const ret: string[] = [name.toUpperCase()];
+ 
+    for (const t of idef.getTypeDefinitions().getAll()) {
+      const n = name + "~" + t.type.getName();
+      this.scope.addTypeNamed(n, t.type);
+    }
+ 
+    this.scope.addListPrefix(idef.getAttributes().getConstants(), name + "~");
+    this.scope.addListPrefix(idef.getAttributes().getStatic(), name + "~");
+    this.scope.addListPrefix(idef.getAttributes().getInstance(), name + "~");
+ 
+    for (const i of idef.getImplementing()) {
+      if (ignore.includes(i.name.toUpperCase())) {
+        continue;
+      }
+      ret.push(...this.fromInterfaceByName(i.name, ignore));
+      ignore.push(i.name.toUpperCase());
+      ret.push(i.name.toUpperCase());
+    }
+    return ret;
+  }
+ 
+  public addAliasedAttributes(classDefinition: IClassDefinition): void {
+    for (const alias of classDefinition.getAliases()) {
+      const comp = alias.getComponent();
+      const idef = this.scope.findInterfaceDefinition(comp.split("~")[0]);
+      if (idef) {
+        const found = idef.getAttributes()!.findByName(comp.split("~")[1]);
+        if (found) {
+          this.scope.addNamedIdentifier(alias.getName(), found);
+        }
+      }
+    }
+    const superName = classDefinition.getSuperClass();
+    if (superName !== undefined) {
+      const def = this.scope.findClassDefinition(superName);
+      if (def) {
+        this.addAliasedAttributes(def);
+      }
+    }
+  }
+ 
+  private findMethodInInterface(interfaceName: string, methodName: string):
+  {method: IMethodDefinition, def: IInterfaceDefinition} | undefined {
+ 
+    const idef = this.scope.findInterfaceDefinition(interfaceName);
+    if (idef) {
+      const methods = idef.getMethodDefinitions().getAll();
+      for (const method of methods) {
+        if (method.getName().toUpperCase() === methodName.toUpperCase()) {
+          return {method, def: idef};
+        }
+      }
+      return this.findMethodViaAlias(methodName, idef);
+    }
+    return undefined;
+  }
+ 
+  private findMethodViaAlias(methodName: string, def: IClassDefinition | IInterfaceDefinition):
+  {method: IMethodDefinition, def: IInterfaceDefinition} | undefined {
+ 
+    for (const a of def.getAliases()) {
+      if (a.getName().toUpperCase() === methodName.toUpperCase()) {
+        const comp = a.getComponent();
+        const res = this.findMethodInInterface(comp.split("~")[0], comp.split("~")[1]);
+        if (res) {
+          return res;
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+  public findClassName(node: StatementNode): string {
+    if (!(node.get() instanceof Statements.ClassImplementation
+        || node.get() instanceof Statements.ClassDefinition)) {
+      throw new Error("findClassName, unexpected node type");
+    }
+    const className = node.findFirstExpression(Expressions.ClassName);
+    if (className === undefined) {
+      throw new Error("findClassName, unexpected node type");
+    }
+    return className.getFirstToken().getStr();
+  }
+ 
+  public findInterfaces(cd: IClassDefinition | IInterfaceDefinition): readonly {name: string, partial: boolean}[] {
+    const ret = [...cd.getImplementing()];
+ 
+    for (const r of ret) {
+      const nested = this.scope.findInterfaceDefinition(r.name)?.getImplementing();
+      if (nested) {
+        ret.push(...nested);
+      }
+    }
+ 
+    const sup = cd.getSuperClass();
+    if (sup) {
+      try {
+        ret.push(...this.findInterfaces(this.findSuperDefinition(sup)));
+      } catch {
+// ignore errors, they will show up as variable not found anyhow
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  public searchEvent(
+    def: IClassDefinition | IInterfaceDefinition | undefined,
+    name: string | undefined): IEventDefinition | undefined {
+ 
+    if (def === undefined || name === undefined) {
+      return undefined;
+    }
+ 
+    const found = def.getEvents().find(e => e.getName().toUpperCase() === name?.toUpperCase());
+    if (found) {
+      return found;
+    }
+ 
+    for (const a of def.getAliases() || []) {
+      if (a.getName().toUpperCase() === name.toUpperCase()) {
+        const comp = a.getComponent();
+        const res = this.searchEvent(this.scope.findObjectDefinition(comp.split("~")[0]), comp.split("~")[1]);
+        if (res) {
+          return res;
+        }
+      }
+    }
+
+    const sup = def.getSuperClass();
+    if (sup) {
+      return this.searchEvent(this.findSuperDefinition(sup), name);
+    }
+
+    return undefined;
+  }
+ 
+  // search in via super class, interfaces and aliases
+  public searchAttributeName(
+    def: IClassDefinition | IInterfaceDefinition | undefined,
+    name: string | undefined): ClassAttribute | undefined {
+ 
+    if (def === undefined || name === undefined) {
+      return undefined;
+    }
+ 
+    const upper = name.toUpperCase();
+    for (const a of def.getAttributes().getAll()) {
+      if (a.getName().toUpperCase() === upper) {
+        return a;
+      }
+    }
+ 
+    for (const a of def.getAliases() || []) {
+      if (a.getName().toUpperCase() === upper) {
+        const comp = a.getComponent();
+        const res = this.searchAttributeName(this.scope.findObjectDefinition(comp.split("~")[0]), comp.split("~")[1]);
+        if (res) {
+          return res;
+        }
+      }
+    }
+ 
+    if (name.includes("~")) {
+      const interfaceName = upper.split("~")[0];
+      if (def.getImplementing().some((a) => a.name.toUpperCase() === interfaceName)) {
+        return this.searchAttributeName(this.scope.findInterfaceDefinition(interfaceName), name.split("~")[1]);
+      }
+    }
+ 
+    const sup = def.getSuperClass();
+    if (sup) {
+      return this.searchAttributeName(this.findSuperDefinition(sup), name);
+    }
+ 
+    return undefined;
+  }
+ 
+  // search in via super class, interfaces and aliases
+  public searchTypeName(
+    def: IClassDefinition | IInterfaceDefinition | undefined,
+    name: string | undefined): TypedIdentifier | undefined {
+ 
+    if (def === undefined || name === undefined) {
+      return undefined;
+    }
+ 
+    const search = def.getTypeDefinitions().getByName(name);
+    if (search) {
+      return search;
+    }
+ 
+    if (name.includes("~")) {
+      const interfaceName = name.split("~")[0];
+      if (def.getImplementing().some((a) => a.name.toUpperCase() === interfaceName.toUpperCase())) {
+        return this.searchTypeName(this.scope.findInterfaceDefinition(interfaceName), name.split("~")[1]);
+      }
+    }
+ 
+    const sup = def.getSuperClass();
+    if (sup) {
+      return this.searchTypeName(this.findSuperDefinition(sup), name);
+    }
+ 
+    return undefined;
+  }
+ 
+  // search in via super class, interfaces and aliases
+  public searchConstantName(
+    def: IClassDefinition | IInterfaceDefinition | undefined,
+    name: string | undefined): ClassConstant | undefined {
+ 
+    if (def === undefined || name === undefined) {
+      return undefined;
+    }
+ 
+    const upper = name.toUpperCase();
+    for (const a of def.getAttributes().getConstants()) {
+      if (a.getName().toUpperCase() === upper) {
+        return a;
+      }
+    }
+ 
+    for (const a of def.getAliases()) {
+      if (a.getName().toUpperCase() === upper) {
+        const comp = a.getComponent();
+        const res = this.searchConstantName(this.scope.findObjectDefinition(comp.split("~")[0]), comp.split("~")[1]);
+        if (res) {
+          return res;
+        }
+      }
+    }
+ 
+    if (name.includes("~")) {
+      const interfaceName = upper.split("~")[0];
+      if (def.getImplementing().some((a) => a.name.toUpperCase() === interfaceName)) {
+        return this.searchConstantName(this.scope.findInterfaceDefinition(interfaceName), name.split("~")[1]);
+      }
+    }
+ 
+    const sup = def.getSuperClass();
+    if (sup) {
+      return this.searchConstantName(this.findSuperDefinition(sup), name);
+    }
+ 
+    return undefined;
+  }
+ 
+  // search in via super class, interfaces and aliases
+  public searchMethodName(
+    def: IClassDefinition | IInterfaceDefinition | undefined,
+    name: string | undefined): {method: IMethodDefinition | undefined, def: IClassDefinition | IInterfaceDefinition | undefined} {
+ 
+    if (def === undefined || name === undefined) {
+      return {method: undefined, def: undefined};
+    }
+ 
+    const methodDefinition = this.findMethod(def, name);
+    if (methodDefinition) {
+      return {method: methodDefinition, def};
+    }
+ 
+    let interfaceName: string | undefined = undefined;
+    if (name.includes("~")) {
+      interfaceName = name.split("~")[0];
+      if (interfaceName && this.findInterfaces(def).some(i => i.name.toUpperCase() === interfaceName?.toUpperCase()) === false) {
+        return {method: undefined, def: undefined};
+      }
+    }
+ 
+// todo, this is not completely correct? hmm, why? visibility?
+    if (methodDefinition === undefined && interfaceName) {
+      name = name.split("~")[1];
+      const found = this.findMethodInInterface(interfaceName, name);
+      if (found) {
+        return found;
+      }
+    } else if (methodDefinition === undefined) {
+      const found = this.findMethodViaAlias(name, def);
+      if (found) {
+        return found;
+      }
+    }
+ 
+    const sup = def.getSuperClass();
+    if (methodDefinition === undefined && sup) {
+      return this.searchMethodName(this.findSuperDefinition(sup), name);
+    }
+ 
+    return {method: undefined, def: undefined};
+  }
+ 
+  public findMethod(def: IClassDefinition | IInterfaceDefinition, methodName: string): IMethodDefinition | undefined {
+    for (const method of def.getMethodDefinitions().getAll()) {
+      if (method.getName().toUpperCase() === methodName.toUpperCase()) {
+        if (method.isRedefinition()) {
+          return this.findMethodInSuper(def, methodName);
+        } else {
+          return method;
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+  private findMethodInSuper(child: IClassDefinition | IInterfaceDefinition, methodName: string): IMethodDefinition | undefined {
+    let sup = child.getSuperClass();
+    while (sup !== undefined) {
+      const cdef = this.findSuperDefinition(sup);
+      const found = this.findMethod(cdef, methodName);
+      if (found) {
+        return found;
+      }
+      sup = cdef.getSuperClass();
+    }
+    return undefined;
+  }
+ 
+  private findSuperDefinition(name: string): IClassDefinition {
+    const csup = this.scope.findClassDefinition(name);
+    if (csup === undefined) {
+      throw new Error("Super class \"" + name + "\" not found or contains errors");
+    }
+    return csup;
+  }
+ 
+  public fromSuperClassesAndInterfaces(child: IClassDefinition) {
+    const implemented = this.fromSuperClasses(child);
+    this.fromInterfaces(child, implemented);
+  }
+ 
+  // returns list of interfaces implemented
+  private fromSuperClasses(child: IClassDefinition): string[] {
+    let sup = child.getSuperClass();
+    const ignore: string[] = [];
+ 
+    while (sup !== undefined) {
+      const cdef = this.findSuperDefinition(sup);
+      for (const a of cdef.getAttributes().getAll()) {
+        if (a.getVisibility() !== Visibility.Private) {
+          this.scope.addIdentifier(a);
+// todo, handle scope and instance vs static
+        }
+      }
+      for (const c of cdef.getAttributes().getConstants()) {
+        if (c.getVisibility() !== Visibility.Private) {
+          this.scope.addIdentifier(c);
+        }
+      }
+      for (const t of cdef.getTypeDefinitions().getAll()) {
+        if (t.visibility !== Visibility.Private) {
+          this.scope.addType(t.type);
+        }
+      }
+      ignore.push(...this.fromInterfaces(cdef, ignore));
+      sup = cdef.getSuperClass();
+    }
+ 
+    return ignore;
+  }
+ 
+  // returns list of interfaces implemented
+  private fromInterfaces(classDefinition: IClassDefinition, skip?: string[]): string[] {
+    const ignore: string[] = [];
+    for (const i of classDefinition.getImplementing()) {
+      ignore.push(...this.fromInterfaceByName(i.name, ignore.concat(skip || [])));
+    }
+    return ignore;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/_procedural.ts.html b/src/abap/5_syntax/_procedural.ts.html new file mode 100644 index 00000000000..fae973a76d7 --- /dev/null +++ b/src/abap/5_syntax/_procedural.ts.html @@ -0,0 +1,673 @@ + + + + + + Code coverage report for src/abap/5_syntax/_procedural.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax _procedural.ts

+
+ +
+ 88.83% + Statements + 175/197 +
+ + +
+ 74.07% + Branches + 40/54 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 88.83% + Lines + 175/197 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +1971x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6592x +6592x +6592x +1x +1x +2057x +2057x +2047x +2047x +2047x +2047x +2047x +2047x +188x +188x +2047x +2057x +2057x +2057x +10x +10x +2047x +2047x +2057x +31x +31x +21x +21x +31x +2047x +1x +1x +64x +64x +64x +64x +  +  +64x +64x +64x +64x +42x +42x +22x +22x +42x +42x +42x +64x +18x +18x +24x +24x +24x +24x +24x +24x +4x +4x +24x +24x +20x +20x +20x +1x +1x +7x +  +  +7x +7x +7x +7x +7x +7x +7x +  +  +7x +7x +7x +7x +7x +8x +8x +  +8x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +7x +7x +8x +8x +1x +  +1x +1x +1x +1x +8x +8x +1x +1x +1x +  +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +  +  +  +  +  +  +  +8x +8x +5x +5x +3x +3x +5x +2x +2x +1x +1x +2x +5x +1x +1x +1x +1x +1x +5x +8x +8x +  +  +8x +8x +1x +1x +1x +8x +7x +7x +7x +7x +8x +7x +1x +1x
import * as Expressions from "../2_statements/expressions";
+import * as Statements from "../2_statements/statements";
+import * as Structures from "../3_structures/structures";
+import {StatementNode} from "../nodes";
+import {ABAPObject} from "../../objects/_abap_object";
+import {FormDefinition, FunctionModuleParameterDirection} from "../types";
+import {CurrentScope} from "./_current_scope";
+import {ScopeType} from "./_scope_type";
+import {FunctionGroup} from "../../objects";
+import {IRegistry} from "../../_iregistry";
+import {TypedIdentifier} from "../types/_typed_identifier";
+import {TableType, UnknownType, AnyType, VoidType, StructureType, TableKeyType} from "../types/basic";
+import {DDIC} from "../../ddic";
+import {AbstractType} from "../types/basic/_abstract_type";
+import {ABAPFile} from "../abap_file";
+import {ObjectOriented} from "./_object_oriented";
+import {ReferenceType} from "./_reference";
+ 
+export class Procedural {
+  private readonly scope: CurrentScope;
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry, scope: CurrentScope) {
+    this.scope = scope;
+    this.reg = reg;
+  }
+ 
+  public addAllFormDefinitions(file: ABAPFile, obj: ABAPObject) {
+    const structure = file.getStructure();
+    if (structure) {
+      const input = {
+        scope: CurrentScope.buildDefault(this.reg, obj),
+        filename: file.getFilename(),
+        issues: [],
+      };
+      for (const found of structure.findAllStructures(Structures.Form)) {
+        this.scope.addFormDefinitions([new FormDefinition(found, input)]);
+      }
+    }
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return;
+    }
+ 
+    const includes = stru.findAllStatements(Statements.Include);
+    for (const node of includes) {
+      const found = this.findInclude(node, obj);
+      if (found) {
+        this.addAllFormDefinitions(found, obj);
+      }
+    }
+  }
+ 
+  public findInclude(node: StatementNode, obj: ABAPObject): ABAPFile | undefined {
+// assumption: no cyclic includes, includes not found are reported by rule "check_include"
+// todo: how to make sure code is not duplicated here and in rule "check_include" / include graph?
+    const expr = node.findFirstExpression(Expressions.IncludeName);
+    if (expr === undefined) {
+      return undefined;
+    }
+    const name = expr.getFirstToken().getStr();
+ 
+    // look in the current function group
+    if (obj instanceof FunctionGroup) {
+      const incl = obj.getInclude(name);
+      if (incl !== undefined) {
+        return incl;
+      }
+    }
+ 
+    const prog = this.reg.getObject("PROG", name) as ABAPObject | undefined;
+    if (prog !== undefined) {
+      return prog.getABAPFiles()[0];
+    }
+ 
+    // todo, this is slow, try determining the FUGR name from the include name
+    for (const fugr of this.reg.getObjectsByType("FUGR")) {
+      if (fugr instanceof FunctionGroup) {
+        const found = fugr.getInclude(name);
+        if (found) {
+          return found;
+        }
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  public findFunctionScope(obj: ABAPObject, node: StatementNode, filename: string) {
+    if (!(obj instanceof FunctionGroup)) {
+      throw new Error("findFunctionScope, expected function group input");
+    }
+ 
+    const nameToken = node.findFirstExpression(Expressions.Field)!.getFirstToken();
+    const name = nameToken.getStr();
+    this.scope.push(ScopeType.FunctionModule, name, node.getFirstToken().getStart(), filename);
+ 
+    const definition = obj.getModule(name);
+    if (definition === undefined) {
+      throw new Error("Function module definition \"" + name + "\" not found");
+    }
+ 
+    const ddic = new DDIC(this.reg);
+ 
+    const allNames = new Set<string>();
+    for (const param of definition.getParameters()) {
+      let found: AbstractType | undefined = undefined;
+      if (param.type === undefined || param.type === "") {
+        found = new AnyType();
+      } else if (param.type.includes("=>")) {
+        // then its a type from global INTF or CLAS
+        const [clas, name] = param.type.split("=>");
+        const def = this.scope.findObjectDefinition(clas);
+        if (def) {
+          const type = def.getTypeDefinitions().getByName(name);
+          if (type) {
+            this.scope.addReference(nameToken, type, ReferenceType.TypeReference, filename);
+            found = type.getType();
+          }
+        }
+      }
+      if (found === undefined) {
+        found = ddic.lookup(param.type!).type;
+      }
+ 
+      if (param.direction === FunctionModuleParameterDirection.tables) {
+        if (found instanceof TableType) {
+          found = new TableType(found.getRowType(), {withHeader: true, keyType: TableKeyType.default});
+        } else {
+          found = new TableType(found, {withHeader: true, keyType: TableKeyType.default});
+        }
+      }
+ 
+      if ((found instanceof UnknownType || found instanceof VoidType) && param.type?.includes("-")) {
+        const [name, field] = param.type.split("-");
+        const f = ddic.lookupTableOrView(name).type;
+        if (f && f instanceof StructureType) {
+          const c = f.getComponentByName(field);
+          if (c) {
+            found = c;
+          }
+        }
+        if (found === undefined || found instanceof UnknownType || found instanceof VoidType) {
+          const f = this.scope.findType(name)?.getType();
+          if (f && f instanceof StructureType) {
+            const c = f.getComponentByName(field);
+            if (c) {
+              found = c;
+            }
+          }
+        }
+      } else if ((found instanceof UnknownType || found instanceof VoidType) && param.type?.includes("=>")) {
+        const [name, field] = param.type.split("=>");
+        const def = this.scope.findObjectDefinition(name);
+        const c = new ObjectOriented(this.scope).searchTypeName(def, field);
+        if (c) {
+          found = c.getType();
+        }
+      }
+ 
+      if ((found instanceof UnknownType || found instanceof VoidType) && param.type) {
+        const f = ddic.lookupBuiltinType(param.type);
+        if (f) {
+          found = f;
+        }
+        if (found === undefined || found instanceof UnknownType || found instanceof VoidType) {
+          const f = this.scope.findType(param.type)?.getType();
+          if (f) {
+            found = f;
+          }
+        }
+        if (found === undefined || found instanceof UnknownType || found instanceof VoidType) {
+          const f = this.scope.findTypePoolType(param.type)?.getType();
+          if (f) {
+            found = f;
+          }
+        }
+      }
+ 
+      if (found instanceof UnknownType && new DDIC(this.reg).inErrorNamespace(param.type) === false) {
+        found = new VoidType(param.type);
+      }
+ 
+      if (allNames.has(param.name.toUpperCase())) {
+        // yea, IMPORTING and EXPORTING can have the same name
+        // workaround to avoid false postivies, can be improved
+        continue;
+      } else {
+        const type = new TypedIdentifier(nameToken, filename, found);
+        this.scope.addNamedIdentifier(param.name, type);
+        allNames.add(param.name.toUpperCase());
+      }
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/_reference.ts.html b/src/abap/5_syntax/_reference.ts.html new file mode 100644 index 00000000000..0fa1bcbb89c --- /dev/null +++ b/src/abap/5_syntax/_reference.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/abap/5_syntax/_reference.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax _reference.ts

+
+ +
+ 100% + Statements + 39/39 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 39/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +391x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Identifier} from "../4_file_information/_identifier";
+ 
+export enum ReferenceType {
+  /** for classes and interface references */
+  ObjectOrientedReference = "Object",
+  ObjectOrientedVoidReference = "Object (Void)",
+  ObjectOrientedUnknownReference = "Object (Unknown)",
+ 
+  TableReference = "Table",
+  TableVoidReference = "Table (Void)",
+ 
+  MethodReference = "Method",
+  BuiltinMethodReference = "Builtin Method",
+  MethodImplementationReference = "Method Implementation",
+ 
+  TypeReference = "Type",
+  BuiltinTypeReference = "Builtin Type",
+  VoidType = "Type (Void)",
+  InferredType = "Inferred Type",
+ 
+  FormReference = "Form",
+//  FormVoidReference = "Form (void)",
+ 
+  DataReadReference = "Read From",
+  DataWriteReference = "Write To",
+}
+ 
+ 
+export interface IReferenceExtras {
+  ooName?: string,
+  ooType?: "CLAS" | "INTF" | "Void",
+}
+ 
+export interface IReference {
+  position: Identifier,
+  resolved: Identifier | undefined,
+  referenceType: ReferenceType,
+  extra?: IReferenceExtras,
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/_scope_type.ts.html b/src/abap/5_syntax/_scope_type.ts.html new file mode 100644 index 00000000000..07556f71ba0 --- /dev/null +++ b/src/abap/5_syntax/_scope_type.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/5_syntax/_scope_type.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax _scope_type.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
export enum ScopeType {
+  BuiltIn = "_builtin",
+  Dummy = "_dummy",
+  Global = "_global",
+  Program = "_program",
+  TypePool = "_type_pool",
+  FunctionGroup = "_function_group",
+ 
+  ClassDefinition = "class_definition",
+  Interface = "interface",
+  ClassImplementation = "class_implementation",
+  Form = "form",
+  FunctionModule = "function",
+  Method = "method",
+  MethodInstance = "method_instance",
+  MethodDefinition = "method_definition",
+  For = "for",
+  Let = "let",
+  OpenSQL = "open_sql",
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/_syntax_input.ts.html b/src/abap/5_syntax/_syntax_input.ts.html new file mode 100644 index 00000000000..3c2f37e2235 --- /dev/null +++ b/src/abap/5_syntax/_syntax_input.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/5_syntax/_syntax_input.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax _syntax_input.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +482x +482x +482x
import {Issue} from "../../issue";
+import {Severity} from "../../severity";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {CurrentScope} from "./_current_scope";
+ 
+export const CheckSyntaxKey = "check_syntax";
+ 
+// note: these typically doesnt change during the traversal
+// so nothing to garbage collect
+export type SyntaxInput = {
+  scope: CurrentScope,
+  filename: string,
+  issues: Issue[],
+};
+ 
+export function syntaxIssue(input: SyntaxInput, token: AbstractToken, message: string) {
+  return Issue.atTokenFilename(input.filename, token, message, CheckSyntaxKey, Severity.Error);
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/_type_utils.ts.html b/src/abap/5_syntax/_type_utils.ts.html new file mode 100644 index 00000000000..2e998193a5d --- /dev/null +++ b/src/abap/5_syntax/_type_utils.ts.html @@ -0,0 +1,1528 @@ + + + + + + Code coverage report for src/abap/5_syntax/_type_utils.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax _type_utils.ts

+
+ +
+ 84.64% + Statements + 408/482 +
+ + +
+ 90.93% + Branches + 271/298 +
+ + +
+ 91.66% + Functions + 11/12 +
+ + +
+ 84.64% + Lines + 408/482 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +4821x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1964x +1964x +1x +1x +33x +  +33x +1x +2x +  +  +2x +1x +33x +2x +32x +30x +30x +30x +30x +30x +30x +30x +30x +30x +30x +30x +30x +30x +27x +27x +3x +3x +1x +1x +446x +  +446x +2x +446x +15x +23x +1x +1x +23x +14x +444x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +429x +418x +418x +11x +11x +1x +1x +21x +  +21x +  +  +  +  +  +  +21x +1x +21x +20x +20x +20x +20x +20x +20x +13x +13x +7x +7x +1x +1x +45x +45x +45x +45x +45x +45x +45x +39x +39x +6x +6x +6x +6x +45x +1x +1x +1x +1x +  +  +1x +6x +45x +1x +1x +1x +1x +  +  +1x +6x +45x +3x +  +  +3x +3x +2x +2x +3x +3x +3x +3x +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x +16x +16x +16x +1x +1x +208x +275x +72x +72x +275x +136x +136x +1x +1x +1x +2x +  +  +2x +1x +1x +1x +1x +588x +588x +588x +588x +588x +588x +588x +588x +2x +2x +586x +588x +46x +46x +540x +588x +152x +128x +3x +3x +125x +152x +3x +1x +1x +2x +24x +8x +7x +7x +1x +1x +588x +10x +6x +  +  +6x +10x +3x +4x +1x +  +  +1x +1x +388x +63x +  +63x +2x +1x +1x +1x +63x +61x +1x +61x +3x +1x +1x +2x +2x +57x +378x +59x +50x +50x +50x +1x +1x +50x +262x +1x +1x +262x +48x +59x +1x +9x +8x +8x +6x +6x +2x +315x +2x +2x +2x +256x +141x +1x +141x +5x +2x +2x +3x +3x +254x +1x +1x +1x +113x +2x +2x +2x +2x +2x +2x +2x +112x +12x +12x +12x +12x +12x +2x +2x +110x +7x +7x +7x +7x +7x +5x +5x +98x +32x +26x +32x +6x +6x +  +  +32x +225x +225x +1x +1x +1347x +1347x +1347x +1347x +1347x +129x +3x +3x +126x +129x +129x +129x +4x +129x +120x +120x +120x +3x +120x +  +  +117x +120x +22x +1x +22x +21x +1x +1x +120x +95x +  +  +  +  +  +  +  +115x +115x +2x +1347x +45x +1218x +1173x +13x +13x +13x +13x +13x +13x +10x +10x +3x +1173x +15x +15x +15x +15x +15x +14x +14x +1x +1160x +93x +  +93x +93x +93x +93x +1x +93x +78x +1x +1x +77x +92x +2x +14x +1x +12x +3x +11x +6x +6x +2x +1145x +1052x +1052x +757x +2x +757x +755x +755x +5x +755x +750x +750x +750x +5x +5x +745x +1052x +2x +2x +2x +2x +2x +293x +293x +293x +1x
import {ClassDefinition, InterfaceDefinition} from "../types";
+import {AnyType, CharacterType, CLikeType, CSequenceType, DataReference, DataType, DateType, DecFloat16Type, DecFloat34Type, DecFloatType, FloatingPointType, FloatType, GenericObjectReferenceType, HexType, Integer8Type, IntegerType, NumericGenericType, NumericType, ObjectReferenceType, PackedType, SimpleType, StringType, StructureType, TableType, TimeType, UnknownType, VoidType, XGenericType, XSequenceType, XStringType} from "../types/basic";
+import {AbstractType} from "../types/basic/_abstract_type";
+import {CGenericType} from "../types/basic/cgeneric_type";
+import {CurrentScope} from "./_current_scope";
+ 
+// todo: refactor to static? for performance
+export class TypeUtils {
+  // scope is needed to determine class hieraracy for typing
+  private readonly scope: CurrentScope;
+ 
+  public constructor(scope: CurrentScope) {
+    this.scope = scope;
+  }
+ 
+  public isCharLikeStrict(type: AbstractType | undefined): boolean {
+    if (type === undefined) {
+      return false;
+    } else if (type instanceof StructureType) {
+      for (const c of type.getComponents()) {
+        if (this.isCharLikeStrict(c.type) === false) {
+          return false;
+        }
+      }
+      return true;
+    } else if (type instanceof TableType && type.isWithHeader()) {
+      return this.isCharLikeStrict(type.getRowType());
+    } else if (type instanceof StringType
+        || type instanceof AnyType
+        || type instanceof DataType
+        || type instanceof CharacterType
+        || type instanceof SimpleType
+        || type instanceof CGenericType
+        || type instanceof CLikeType
+        || type instanceof DateType
+        || type instanceof CSequenceType
+        || type instanceof NumericGenericType
+        || type instanceof NumericType
+        || type instanceof TimeType
+        || type instanceof UnknownType
+        || type instanceof VoidType) {
+      return true;
+    }
+    return false;
+  }
+ 
+  public isCharLike(type: AbstractType | undefined): boolean {
+    if (type === undefined) {
+      return false;
+    } else if (type instanceof TableType && type.isWithHeader()) {
+      return this.isCharLike(type.getRowType());
+    } else if (type instanceof StructureType) {
+      for (const c of type.getComponents()) {
+        if (this.isCharLike(c.type) === false) {
+          return false;
+        }
+      }
+      return true;
+    } else if (type instanceof StringType
+        || type instanceof CharacterType
+        || type instanceof VoidType
+        || type instanceof AnyType
+        || type instanceof UnknownType
+        || type instanceof NumericType
+        || type instanceof IntegerType
+        || type instanceof Integer8Type
+        || type instanceof SimpleType
+        || type instanceof FloatType
+        || type instanceof FloatingPointType
+        || type instanceof DecFloatType
+        || type instanceof DecFloat16Type
+        || type instanceof DecFloat34Type
+        || type instanceof NumericGenericType
+        || type instanceof CSequenceType
+        || type instanceof CGenericType
+        || type instanceof DateType
+        || type instanceof DataType
+        || type instanceof CLikeType
+        || type instanceof PackedType
+        || type instanceof TimeType) {
+      return true;
+    }
+    return false;
+  }
+ 
+  public isHexLike(type: AbstractType | undefined): boolean {
+    if (type === undefined) {
+      return false;
+    } else if (type instanceof StructureType) {
+      for (const c of type.getComponents()) {
+        if (this.isHexLike(c.type) === false) {
+          return false;
+        }
+      }
+      return true;
+    } else if (type instanceof TableType && type.isWithHeader()) {
+      return this.isHexLike(type.getRowType());
+    } else if (type instanceof XStringType
+        || type instanceof HexType
+        || type instanceof VoidType
+        || type instanceof XGenericType
+        || type instanceof XSequenceType
+        || type instanceof AnyType
+        || type instanceof UnknownType) {
+      return true;
+    }
+    return false;
+  }
+ 
+  public isOOAssignable(source: ObjectReferenceType, target: ObjectReferenceType): boolean {
+    let sid = source.getIdentifier();
+    let tid = target.getIdentifier();
+ 
+    const tname = tid.getName().toUpperCase();
+    const sname = sid.getName().toUpperCase();
+ 
+    if (tname === sname) {
+      return true;
+    }
+/*
+    console.dir(sid);
+    console.dir(tid);
+*/
+    if (!(sid instanceof ClassDefinition || sid instanceof InterfaceDefinition)) {
+      const found = this.scope.findObjectDefinition(sid.getName());
+      if (found) {
+        sid = found;
+      } else {
+        return false;
+      }
+    }
+ 
+    if (!(tid instanceof ClassDefinition || tid instanceof InterfaceDefinition)) {
+      const found = this.scope.findObjectDefinition(tid.getName());
+      if (found) {
+        tid = found;
+      } else {
+        return false;
+      }
+    }
+ 
+    if (sid instanceof ClassDefinition && tid instanceof ClassDefinition) {
+      if (sname === tname) {
+        return true;
+      }
+      const slist = this.listAllSupers(sid);
+      if (slist.indexOf(tname) >= 0) {
+        return true;
+      }
+    } else if (sid instanceof ClassDefinition && tid instanceof InterfaceDefinition) {
+      if (sid.getImplementing().some(i => i.name === tname) ) {
+        return true;
+      }
+      const slist = this.listAllInterfaces(sid);
+      if (slist.indexOf(tname) >= 0) {
+        return true;
+      }
+    } else if (sid instanceof InterfaceDefinition && tid instanceof InterfaceDefinition) {
+      if (sname === tname) {
+        return true;
+      }
+      if (sid.getImplementing().some(i => i.name === tname) ) {
+        return true;
+      }
+      const slist = this.listAllInterfaces(sid);
+      if (slist.indexOf(tname) >= 0) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  private listAllInterfaces(cdef: ClassDefinition | InterfaceDefinition): string[] {
+    const ret = new Set<string>();
+    const stack: string[] = [];
+
+    // initialize
+    cdef.getImplementing().forEach(i => stack.push(i.name));
+    if (cdef instanceof ClassDefinition) {
+      const supers = this.listAllSupers(cdef);
+      for (const s of supers) {
+        this.scope.findClassDefinition(s)?.getImplementing().forEach(i => stack.push(i.name));
+      }
+    }
+
+    // main loop
+    while (stack.length > 0) {
+      const intf = stack.pop()!.toUpperCase();
+      ret.add(intf);
+
+      const idef = this.scope.findInterfaceDefinition(intf);
+      idef?.getImplementing().forEach(i => stack.push(i.name));
+    }
+
+    return Array.from(ret.values());
+  }
+ 
+  private listAllSupers(cdef: ClassDefinition): string[] {
+    const ret: string[] = [];
+    let sup = cdef.getSuperClass();
+    while (sup !== undefined) {
+      ret.push(sup?.toUpperCase());
+      sup = this.scope.findClassDefinition(sup)?.getSuperClass()?.toUpperCase();
+    }
+    return ret;
+  }
+ 
+  public isCastable(_source: AbstractType | undefined, _target: AbstractType | undefined): boolean {
+// todo
+    return true;
+  }
+ 
+  private structureContainsString(structure: StructureType): boolean {
+    for (const c of structure.getComponents()) {
+      if (c.type instanceof StringType) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  private structureContainsVoid(structure: StructureType): boolean {
+    for (const c of structure.getComponents()) {
+      if (c.type instanceof VoidType) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  public isAssignableStrict(source: AbstractType | undefined,
+                            target: AbstractType | undefined,
+                            calculated: boolean = false): boolean {
+/*
+    console.dir(source);
+    console.dir(target);
+    console.dir(calculated);
+*/
+    if (calculated && source instanceof StringType && target instanceof XStringType) {
+      return false;
+    }
+ 
+    if (calculated) {
+      return this.isAssignable(source, target);
+    }
+ 
+    if (source instanceof CharacterType) {
+      if (target instanceof CharacterType) {
+        if (source.getAbstractTypeData()?.derivedFromConstant === true) {
+          return source.getLength() <= target.getLength();
+        }
+        return source.getLength() === target.getLength();
+      } else if (target instanceof IntegerType) {
+        if (source.getAbstractTypeData()?.derivedFromConstant === true) {
+          return true;
+        }
+        return false;
+      } else if (target instanceof StringType) {
+        if (source.getAbstractTypeData()?.derivedFromConstant === true) {
+          return true;
+        }
+        return false;
+      }
+    } else if (source instanceof HexType) {
+      if (target instanceof HexType) {
+        if (source.getAbstractTypeData()?.derivedFromConstant === true) {
+          return source.getLength() <= target.getLength();
+        }
+        return source.getLength() === target.getLength();
+      } else if (target instanceof XStringType) {
+        return false;
+      } else if (target instanceof IntegerType || target instanceof Integer8Type) {
+        if (source.getAbstractTypeData()?.derivedFromConstant === true) {
+          return true;
+        }
+        return false;
+      }
+    } else if (source instanceof StringType) {
+      if (target instanceof StructureType && this.structureContainsString(target)) {
+        return false;
+      } else if (target instanceof IntegerType) {
+        if (source.getAbstractTypeData()?.derivedFromConstant === true) {
+          return true;
+        }
+        return false;
+      } else if (target instanceof CGenericType
+          || target instanceof GenericObjectReferenceType) {
+        return false;
+      } else if (target instanceof XSequenceType || target instanceof XStringType) {
+        if (source.getAbstractTypeData()?.derivedFromConstant === true) {
+          return true;
+        }
+        return false;
+      }
+      return true;
+    } else if (source instanceof StructureType) {
+      if (target instanceof StructureType) {
+        const sourceComponents = source.getComponents();
+        const targetComponents = target.getComponents();
+        if (sourceComponents.length !== targetComponents.length) {
+          return false;
+        }
+        for (let i = 0; i < sourceComponents.length; i++) {
+          if (this.isAssignableStrict(sourceComponents[i].type, targetComponents[i].type) === false) {
+            return false;
+          }
+        }
+        return true;
+      } else if (target instanceof CLikeType) {
+        return this.isCharLikeStrict(source);
+      } else if (target instanceof VoidType
+          || target instanceof AnyType
+          || target instanceof DataType) {
+        return true;
+      }
+      return false;
+    } else if (source instanceof Integer8Type) {
+      if (target instanceof IntegerType || target instanceof StringType) {
+        return false;
+      }
+    } else if (source instanceof IntegerType) {
+      if (target instanceof StringType) {
+        return false;
+      } else if (target instanceof Integer8Type || target instanceof PackedType) {
+        if (source.getAbstractTypeData()?.derivedFromConstant === true) {
+          return true;
+        }
+        return false;
+      }
+    } else if (source instanceof FloatType) {
+      if (target instanceof IntegerType) {
+        return false;
+      }
+    } else if (source instanceof GenericObjectReferenceType) {
+      if (target instanceof ObjectReferenceType
+          || target instanceof StringType
+          || target instanceof CharacterType
+          || target instanceof TableType
+          || target instanceof CLikeType) {
+        return false;
+      }
+    } else if (source instanceof ObjectReferenceType) {
+      if (target instanceof XSequenceType
+          || target instanceof IntegerType
+          || target instanceof StructureType
+          || target instanceof TableType
+          || target instanceof XStringType) {
+        return false;
+      }
+    } else if (source instanceof XStringType) {
+      if (target instanceof CLikeType
+          || target instanceof IntegerType
+          || target instanceof StringType
+          || target instanceof ObjectReferenceType
+          || target instanceof HexType) {
+        return false;
+      }
+    } else if (source instanceof TableType) {
+      if (target instanceof TableType) {
+        return this.isAssignableStrict(source.getRowType(), target.getRowType());
+      } else if (target instanceof UnknownType
+          || target instanceof AnyType
+          || target instanceof VoidType) {
+        return true;
+      }
+    }
+    return this.isAssignable(source, target);
+  }
+ 
+  public isAssignable(source: AbstractType | undefined, target: AbstractType | undefined): boolean {
+/*
+    console.dir(source);
+    console.dir(target);
+*/
+    if (target instanceof TableType) {
+      if (target.isWithHeader()) {
+        return this.isAssignable(source, target.getRowType());
+      }
+      if (source instanceof VoidType
+          || source instanceof AnyType
+          || source instanceof DataType
+          || source instanceof UnknownType) {
+        return true;
+      } else if (source instanceof TableType) {
+        const targetRowType = target.getRowType();
+        const sourceRowType = source.getRowType();
+        if (targetRowType instanceof VoidType || targetRowType instanceof AnyType || targetRowType instanceof UnknownType) {
+          return true;
+        } else if (sourceRowType instanceof VoidType || sourceRowType instanceof AnyType || sourceRowType instanceof UnknownType) {
+          return true;
+        }
+        if (targetRowType instanceof StructureType
+            && this.structureContainsString(targetRowType)) {
+          if (!(sourceRowType instanceof StructureType)) {
+            return false;
+          } else if (!(this.structureContainsString(sourceRowType))
+              && this.structureContainsVoid(sourceRowType) === false) {
+            return false;
+          }
+        } else if (sourceRowType instanceof StructureType
+            && this.structureContainsString(sourceRowType)) {
+          if (!(targetRowType instanceof StructureType)) {
+            return false;
+          } else if (!(this.structureContainsString(targetRowType))
+          && this.structureContainsVoid(targetRowType) === false) {
+            return false;
+          }
+        }
+        return true;
+      }
+      return false;
+    } else if (target instanceof ObjectReferenceType && source instanceof ObjectReferenceType) {
+      return this.isOOAssignable(source, target);
+    } else if (target instanceof ObjectReferenceType
+        || target instanceof GenericObjectReferenceType) {
+      if (source instanceof ObjectReferenceType
+          || source instanceof GenericObjectReferenceType
+          || source instanceof VoidType
+          || source instanceof DataType
+          || source instanceof AnyType
+          || source instanceof UnknownType) {
+        return true;
+      }
+      return false;
+    } else if (target instanceof DataReference) {
+      if (source instanceof DataReference
+          || source instanceof VoidType
+          || source instanceof DataType
+          || source instanceof AnyType
+          || source instanceof UnknownType) {
+        return true;
+      }
+      return false;
+    } else if (target instanceof StructureType) {
+      if (source instanceof TableType && source.isWithHeader()) {
+        return this.isAssignable(source.getRowType(), target);
+      } else if (source instanceof VoidType
+          || source instanceof AnyType
+          || source instanceof DataType
+          || source instanceof UnknownType) {
+        return true;
+      } else if (source instanceof StructureType) {
+        if (this.structureContainsString(target) && !this.structureContainsString(source)) {
+          return false;
+        }
+        return true;
+      } else if (target.containsVoid() === true) {
+        return true;
+      } else if (source instanceof StringType && this.structureContainsString(target)) {
+        return false;
+      } else if (source instanceof IntegerType) {
+        return false;
+      } else if (this.isCharLike(target) && this.isCharLike(source)) {
+        return true;
+      }
+      return false;
+    } else if (target instanceof IntegerType
+        || target instanceof CharacterType
+        || target instanceof StringType) {
+      if (source instanceof TableType && source.isWithHeader() === false) {
+        return false;
+      } else if ((target instanceof StringType || target instanceof CharacterType)
+          && source instanceof StructureType
+          && this.isCharLike(source)) {
+        return true;
+      } else if (source instanceof DataReference
+          || source instanceof ObjectReferenceType
+          || source instanceof StructureType
+          || source instanceof GenericObjectReferenceType) {
+        return false;
+      }
+      return true;
+    } else if (target instanceof SimpleType) {
+      if (source instanceof ObjectReferenceType
+          || source instanceof TableType) {
+        return false;
+      }
+    }
+ 
+    return true;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/assert_error.ts.html b/src/abap/5_syntax/assert_error.ts.html new file mode 100644 index 00000000000..59fb7a31f94 --- /dev/null +++ b/src/abap/5_syntax/assert_error.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/abap/5_syntax/assert_error.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax assert_error.ts

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +31x +1x +1x
export class AssertError extends Error {
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/basic_types.ts.html b/src/abap/5_syntax/basic_types.ts.html new file mode 100644 index 00000000000..929549b6255 --- /dev/null +++ b/src/abap/5_syntax/basic_types.ts.html @@ -0,0 +1,3052 @@ + + + + + + Code coverage report for src/abap/5_syntax/basic_types.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax basic_types.ts

+
+ +
+ 89.39% + Statements + 885/990 +
+ + +
+ 83.25% + Branches + 348/418 +
+ + +
+ 100% + Functions + 16/16 +
+ + +
+ 89.39% + Lines + 885/990 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +9901x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4288x +4288x +1x +1x +133x +133x +15x +15x +118x +118x +133x +49x +49x +69x +133x +8x +8x +8x +8x +8x +8x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x +3x +3x +3x +3x +8x +5x +5x +5x +5x +5x +8x +133x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x +2x +2x +2x +2x +2x +2x +59x +59x +133x +133x +1x +1x +58x +58x +133x +29x +29x +29x +29x +133x +  +  +29x +29x +29x +1x +1x +201x +  +  +201x +201x +201x +1x +1x +201x +  +  +201x +  +  +201x +  +  +201x +201x +201x +201x +  +  +201x +201x +201x +20x +201x +181x +181x +181x +181x +181x +125x +125x +125x +181x +181x +181x +181x +15x +15x +15x +181x +181x +167x +167x +181x +181x +14x +14x +181x +181x +10x +10x +10x +171x +181x +83x +83x +83x +41x +1x +1x +83x +2x +2x +2x +42x +40x +3x +3x +40x +39x +39x +  +  +40x +  +  +40x +83x +170x +181x +10x +181x +160x +160x +2x +160x +158x +158x +  +  +181x +180x +201x +1x +1x +179x +179x +179x +1x +1x +520x +520x +520x +520x +520x +5x +5x +520x +520x +1x +1x +3373x +3373x +3373x +42x +42x +3331x +3331x +3373x +169x +169x +3162x +3162x +3162x +3373x +2168x +2168x +993x +993x +3373x +640x +640x +640x +4x +4x +4x +4x +4x +4x +640x +640x +640x +640x +353x +3373x +3373x +2x +2x +2x +351x +351x +351x +351x +351x +351x +  +351x +248x +248x +351x +351x +351x +  +  +  +1x +1x +2611x +2611x +1783x +1783x +2611x +  +  +2611x +2611x +3x +3x +2611x +2611x +2611x +828x +8x +828x +820x +820x +820x +398x +398x +820x +2611x +  +  +2611x +2611x +2611x +2609x +2609x +  +  +  +1x +1x +539x +539x +539x +539x +  +  +539x +539x +539x +539x +539x +539x +479x +539x +60x +21x +60x +39x +7x +7x +539x +539x +539x +539x +539x +539x +539x +539x +539x +539x +539x +539x +539x +539x +537x +32x +32x +539x +2x +2x +539x +539x +539x +8x +8x +8x +  +  +8x +8x +8x +8x +8x +8x +8x +8x +8x +10x +10x +8x +8x +8x +539x +539x +539x +58x +539x +314x +314x +539x +539x +539x +539x +539x +539x +539x +539x +539x +539x +539x +539x +539x +22x +22x +22x +22x +539x +517x +517x +517x +480x +480x +480x +480x +517x +37x +37x +37x +5x +5x +5x +5x +37x +32x +32x +32x +32x +  +32x +11x +11x +11x +  +  +11x +11x +11x +11x +11x +11x +11x +11x +32x +2x +2x +2x +  +  +2x +2x +2x +2x +2x +2x +2x +2x +21x +19x +  +  +  +  +  +  +  +  +  +  +19x +19x +19x +19x +1x +1x +3257x +3257x +3257x +3257x +621x +621x +3257x +262x +262x +1x +1x +262x +3257x +230x +230x +3257x +3257x +3257x +1x +1x +3257x +209x +209x +3257x +3257x +3257x +77x +77x +77x +77x +3x +3x +77x +1x +1x +77x +77x +77x +77x +  +77x +65x +77x +11x +12x +1x +1x +3257x +7x +7x +7x +  +  +7x +3180x +3173x +3173x +3173x +3173x +15x +3173x +105x +105x +10x +10x +105x +6x +6x +105x +3x +3x +105x +1x +1x +105x +105x +105x +2x +2x +3158x +2x +2x +2x +  +  +2x +2x +2x +  +  +  +  +  +  +3053x +308x +3051x +2743x +2743x +2743x +2743x +11x +2743x +5x +2x +5x +1x +3x +2x +2x +5x +2740x +2743x +42x +42x +42x +42x +11x +11x +11x +11x +11x +42x +42x +42x +1x +1x +42x +2743x +2743x +3153x +3153x +3153x +1x +1x +1x +1x +2846x +  +2846x +14x +14x +2832x +2832x +1x +1x +1x +3331x +3331x +3331x +82x +82x +82x +2x +2x +2x +3331x +3162x +3162x +167x +167x +167x +3331x +93x +93x +93x +3331x +9x +9x +9x +9x +167x +167x +167x +3331x +93x +93x +93x +93x +93x +93x +93x +4x +4x +4x +  +  +4x +4x +4x +4x +93x +89x +89x +89x +9x +9x +9x +9x +89x +13x +13x +89x +89x +89x +89x +89x +89x +89x +89x +89x +1x +1x +66x +89x +89x +64x +64x +89x +3331x +9x +9x +9x +9x +9x +9x +9x +2x +2x +2x +2x +  +  +2x +9x +9x +9x +9x +9x +9x +9x +9x +9x +  +  +9x +9x +9x +9x +9x +  +  +9x +  +  +  +  +74x +65x +65x +65x +37x +37x +1x +1x +1x +37x +37x +36x +36x +36x +36x +36x +  +36x +36x +36x +36x +37x +65x +28x +28x +65x +  +  +65x +27x +27x +65x +  +  +65x +117x +117x +3331x +47x +47x +1x +47x +  +  +46x +47x +1x +1x +45x +45x +115x +115x +115x +1x +1x +22x +22x +  +  +22x +22x +22x +22x +22x +9x +9x +9x +7x +7x +9x +1x +1x +2x +22x +13x +13x +13x +1x +1x +1x +1x +1x +1x +1x +1x +  +13x +12x +12x +6x +1x +6x +1x +5x +4x +4x +4x +4x +4x +6x +6x +12x +12x +12x +12x +6x +6x +6x +6x +5x +6x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +22x +1x +1x +330x +  +  +330x +330x +330x +328x +40x +40x +288x +328x +179x +179x +179x +179x +179x +328x +111x +111x +330x +41x +330x +  +  +70x +330x +1x +1x +69x +330x +51x +51x +51x +18x +18x +18x +1x +1x +227x +227x +4x +4x +223x +227x +4x +4x +219x +219x +227x +201x +201x +2x +2x +2x +6x +2x +6x +4x +4x +6x +2x +201x +199x +199x +201x +18x +18x +18x +18x +18x +  +  +  +1x +1x +2742x +2742x +5x +5x +2737x +2737x +1x +1x +2743x +2743x +2743x +2743x +1x +1x +2742x +2743x +133x +133x +133x +133x +  +  +  +  +  +  +133x +2609x +2743x +2375x +2375x +234x +234x +2743x +228x +228x +6x +6x +2743x +2x +2x +4x +4x +4x +4x +4x +4x +  +  +  +1x +1x +367x +1x +1x +366x +367x +1x +367x +1x +1x +366x +366x +366x +1x +1x
/* eslint-disable default-case */
+import {TypedIdentifier} from "../types/_typed_identifier";
+import {StatementNode, ExpressionNode} from "../nodes";
+import * as Expressions from "../2_statements/expressions";
+import * as Statements from "../2_statements/statements";
+import * as Types from "../types/basic";
+import {AbstractType} from "../types/basic/_abstract_type";
+import {ScopeType} from "./_scope_type";
+import {ObjectOriented} from "./_object_oriented";
+import {ClassConstant} from "../types/class_constant";
+import {Identifier as TokenIdentifier} from "../1_lexer/tokens/identifier";
+import {ReferenceType} from "./_reference";
+import {CharacterType, ITableKey, ObjectReferenceType, StructureType, TableAccessType, TableType, VoidType} from "../types/basic";
+import {FieldChain} from "./expressions/field_chain";
+import {ClassDefinition, InterfaceDefinition} from "../types";
+import {Field, FieldSub, TypeTableKey} from "../2_statements/expressions";
+import {BuiltIn} from "./_builtin";
+import {Position} from "../../position";
+import {SyntaxInput} from "./_syntax_input";
+ 
+export class BasicTypes {
+  private readonly input: SyntaxInput;
+ 
+  public constructor(input: SyntaxInput) {
+    this.input = input;
+  }
+ 
+  public lookupQualifiedName(name: string | undefined): TypedIdentifier | undefined {
+// argh, todo, rewrite this entire method, more argh, again argh
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    const found = this.input.scope.findType(name);
+    if (found) {
+      return found;
+    }
+ 
+    if (name.includes("=>")) {
+      const split = name.split("=>");
+      const ooName = split[0];
+      const typeName = split[1];
+      const oo = this.input.scope.findObjectDefinition(ooName);
+      if (oo) {
+        if (typeName.includes("-")) {
+          const split = typeName.split("-");
+          const subTypeName = split[0];
+          const fieldName = split[1];
+          const stru = oo.getTypeDefinitions().getByName(subTypeName);
+          const struType = stru?.getType();
+          if (stru && struType instanceof StructureType) {
+            let f = struType.getComponentByName(fieldName);
+            if (split[2] && f instanceof StructureType) {
+              f = f.getComponentByName(split[2]);
+            }
+            if (f) {
+              return new TypedIdentifier(stru.getToken(), stru.getFilename(), f);
+            }
+          }
+        } else {
+          const f = oo.getTypeDefinitions().getByName(typeName);
+          if (f) {
+            return f;
+          }
+        }
+      }
+    } else if (name.includes("-")) {
+      const split = name.split("-");
+      const typeName = split[0];
+      const fieldName = split[1];
+      const type = this.input.scope.findType(typeName);
+      if (type) {
+        const stru = type.getType();
+        if (stru instanceof StructureType) {
+          let f = stru.getComponentByName(fieldName);
+          if (split[2] && f instanceof StructureType) {
+            f = f.getComponentByName(split[2]);
+          }
+          if (f) {
+            return new TypedIdentifier(type.getToken(), type.getFilename(), f);
+          }
+        }
+      }
+    }
+ 
+    const lookup = this.input.scope.getDDIC().lookupNoVoid(name);
+    const id = lookup?.object?.getIdentifier();
+    if (id && lookup?.type) {
+      return new TypedIdentifier(id.getToken(), id.getFilename(), lookup.type);
+    }
+ 
+    const builtin = this.input.scope.getDDIC().lookupBuiltinType(name);
+    if (builtin) {
+      return new TypedIdentifier(new TokenIdentifier(new Position(1, 1), name), BuiltIn.filename, builtin);
+    }
+ 
+    const type = this.input.scope.findTypePoolType(name);
+    if (type) {
+      return type;
+    }
+ 
+    return undefined;
+  }
+ 
+  public resolveLikeName(node: ExpressionNode | StatementNode | undefined, headerLogic = true): AbstractType | undefined {
+    if (node === undefined) {
+      return undefined;
+    }
+ 
+    let chain = node.findFirstExpression(Expressions.FieldChain);
+    if (chain === undefined) {
+      chain = node.findFirstExpression(Expressions.TypeName);
+    }
+    if (chain === undefined) {
+      chain = node.findFirstExpression(Expressions.FieldSub);
+    }
+    if (chain === undefined) {
+      chain = node.findFirstExpression(Expressions.SimpleFieldChain);
+    }
+    if (chain === undefined) {
+      throw new Error("resolveLikeName, chain undefined");
+    }
+    const fullName = chain.concatTokens();
+    let children = [...chain.getChildren()];
+ 
+    if (children.length === 0) {
+      return new Types.UnknownType("Type error, could not resolve \"" + fullName + "\", resolveLikeName1");
+    }
+ 
+    let type: AbstractType | undefined = undefined;
+    if (children[1] && ( children[1].getFirstToken().getStr() === "=>" || children[1].getFirstToken().getStr() === "->")) {
+      type = new FieldChain().runSyntax(chain, this.input, ReferenceType.TypeReference);
+    } else {
+      const name = children.shift()!.getFirstToken().getStr();
+      let found = this.input.scope.findVariable(name);
+ 
+      const full = this.input.scope.findVariable(fullName); // workaround for eg "sy-repid"
+      if (full) {
+        children = [];
+        found = full;
+      }
+ 
+      type = found?.getType();
+ 
+      if (found === undefined) {
+        found = this.input.scope.findExtraLikeType(name);
+        type = found?.getType();
+      }
+ 
+      if (found) {
+        this.input.scope.addReference(chain?.getFirstToken(), found, ReferenceType.TypeReference, this.input.filename);
+      }
+ 
+      if (type === undefined) {
+        type = this.input.scope.getDDIC().lookupNoVoid(name)?.type;
+      }
+ 
+      if (type === undefined && this.input.scope.isOO() === false && this.input.scope.getDDIC().inErrorNamespace(name) === false) {
+        this.input.scope.addReference(chain.getChildren()[0].getFirstToken(), undefined, ReferenceType.VoidType, this.input.filename);
+        return new Types.VoidType(name);
+      }
+ 
+      while (children.length > 0) {
+        const child = children.shift()!;
+ 
+        if (child.getFirstToken().getStr() === "-") {
+          if (type instanceof Types.VoidType) {
+            return type;
+          }
+        } else if (child.concatTokens() === "[]") {
+          if (type instanceof Types.TableType) {
+            type = new TableType(type.getRowType(), {withHeader: false, keyType: Types.TableKeyType.default});
+          }
+        } else { // field name
+          if (type instanceof Types.TableType) {
+            type = type.getRowType();
+          }
+          if (type instanceof Types.StructureType) {
+            type = type.getComponentByName(child.getFirstToken().getStr());
+            if (type === undefined) {
+              return new Types.UnknownType("Type error, field not part of structure " + fullName);
+            }
+          } else if (!(type instanceof Types.VoidType)) {
+            return new Types.UnknownType("Type error, field not part of structure " + fullName);
+          }
+        }
+      }
+ 
+      if (type instanceof Types.VoidType) {
+        return type;
+      } else if (type instanceof TableType
+          && type.isWithHeader()
+          && headerLogic === true) {
+        type = type.getRowType();
+      } else if (type instanceof Types.TableType
+          && type.isWithHeader() === true
+          && type.getRowType() instanceof Types.VoidType) {
+        return type.getRowType();
+      }
+    }
+ 
+    if (!type) {
+      return new Types.UnknownType("Type error, could not resolve \"" + fullName + "\", resolveLikeName2");
+    }
+ 
+    return type;
+  }
+ 
+  private cloneType(type: AbstractType, qualifiedName?: string): AbstractType {
+    // nested types(containing "-") will inherit the qualified names if possible
+    // todo, this needs to be extended to all AbstractTypes instead of just CharacterType
+    if (type instanceof CharacterType
+        && qualifiedName
+        && qualifiedName.includes("-") === false) {
+      type = type.cloneType({qualifiedName});
+    }
+    return type;
+  }
+ 
+  public resolveTypeName(typeName: ExpressionNode | undefined,
+                         length?: number, decimals?: number, qualifiedName?: string): AbstractType | undefined {
+ 
+    if (typeName === undefined) {
+      return undefined;
+    }
+ 
+    const chain = this.resolveTypeChain(typeName);
+    if (chain) {
+      return this.cloneType(chain, qualifiedName);
+    }
+ 
+    const chainText = typeName.concatTokens().toUpperCase();
+    const f = this.input.scope.getDDIC().lookupBuiltinType(chainText, length, decimals, qualifiedName);
+    if (f !== undefined) {
+      return f;
+    }
+ 
+    const typ = this.input.scope.findType(chainText);
+    if (typ) {
+      const token = typeName.getFirstToken();
+ 
+      if (chainText.includes("~")) {
+        const name = chainText.split("~")[0];
+        const idef = this.input.scope.findInterfaceDefinition(name);
+        if (idef) {
+          this.input.scope.addReference(token, idef, ReferenceType.ObjectOrientedReference, this.input.filename, {ooType: "INTF", ooName: name});
+        }
+      }
+ 
+      this.input.scope.addReference(token, typ, ReferenceType.TypeReference, this.input.filename);
+      return typ.getType();
+    }
+ 
+    const type = this.input.scope.findTypePoolType(chainText)?.getType();
+    if (type) {
+//      this.scope.addReference(typeName.getFirstToken(), type, ReferenceType.TypeReference, this.filename);
+      return type;
+    }
+ 
+    const ddic = this.input.scope.getDDIC().lookup(chainText);
+    if (ddic) {
+      this.input.scope.getDDICReferences().addUsing(this.input.scope.getParentObj(),
+                                                    {object: ddic.object, token: typeName.getFirstToken(), filename: this.input.filename});
+      if (ddic.type instanceof TypedIdentifier) {
+        this.input.scope.addReference(typeName.getFirstToken(), ddic.type, ReferenceType.TypeReference, this.input.filename);
+      } else if (ddic.type instanceof VoidType) {
+        this.input.scope.addReference(typeName.getFirstToken(), undefined, ReferenceType.VoidType, this.input.filename);
+      }
+ 
+      return this.cloneType(ddic.type, qualifiedName);
+    }
+
+    return undefined;
+  }
+ 
+  public simpleType(node: StatementNode | ExpressionNode, qualifiedNamePrefix?: string): TypedIdentifier | undefined {
+    let nameExpr = node.findFirstExpression(Expressions.NamespaceSimpleName);
+    if (nameExpr === undefined) {
+      nameExpr = node.findFirstExpression(Expressions.DefinitionName);
+    }
+    if (nameExpr === undefined) {
+      return undefined;
+    }
+    let name = nameExpr.getFirstToken();
+    if (nameExpr.countTokens() > 1) { // workaround for names with dashes
+      name = new TokenIdentifier(name.getStart(), nameExpr.concatTokens());
+    }
+ 
+    let qualifiedName: string | undefined = undefined;
+    if (node.get() instanceof Statements.Type) {
+      if (this.input.scope.isTypePool() === true) {
+        qualifiedName = name.getStr();
+      } else {
+        qualifiedName = ( qualifiedNamePrefix || "" ) + name.getStr();
+        if (this.input.scope.getType() === ScopeType.ClassDefinition
+            || this.input.scope.getType() === ScopeType.Interface) {
+          qualifiedName = this.input.scope.getName() + "=>" + qualifiedName;
+        }
+      }
+    } else if (qualifiedNamePrefix) {
+      qualifiedName = qualifiedNamePrefix + qualifiedName;
+    }
+ 
+    const found = this.parseType(node, qualifiedName);
+    if (found) {
+      return new TypedIdentifier(name, this.input.filename, found);
+    }
+
+    return undefined;
+  }
+ 
+  public parseTable(node: ExpressionNode | StatementNode, name?: string): AbstractType | undefined {
+    const typename = node.findFirstExpression(Expressions.TypeName);
+ 
+    const text = node.findFirstExpression(Expressions.TypeTable)?.concatTokens().toUpperCase();
+    if (text === undefined) {
+      return undefined;
+    }
+ 
+    let type: Types.TableAccessType | undefined = undefined;
+    if (text.startsWith("TYPE STANDARD TABLE ")
+        || text.startsWith("TYPE TABLE ")
+        || text.startsWith("LIKE TABLE ")
+        || text.startsWith("LIKE STANDARD TABLE ")) {
+      type = TableAccessType.standard;
+    } else if (text.startsWith("TYPE SORTED TABLE ")
+        || text.startsWith("LIKE SORTED TABLE ")) {
+      type = TableAccessType.sorted;
+    } else if (text.startsWith("TYPE HASHED TABLE ")
+        || text.startsWith("LIKE HASHED TABLE ")) {
+      type = TableAccessType.hashed;
+    }
+ 
+    const typeTableKeys = node.findAllExpressions(TypeTableKey);
+ 
+    const firstKey = typeTableKeys[0];
+    const isNamed = firstKey?.findDirectExpression(Field) !== undefined
+      && firstKey?.findDirectExpression(Field)?.concatTokens().toUpperCase() !== "PRIMARY_KEY";
+    const primaryKey: ITableKey = {
+      name: "primary_key",
+      type: type || TableAccessType.standard,
+      isUnique: isNamed ? false : firstKey?.concatTokens().toUpperCase().includes("WITH UNIQUE ") === true,
+      keyFields: [],
+    };
+    let start = 1;
+    if (isNamed === false) {
+      for (const k of firstKey?.findDirectExpressions(FieldSub) || []) {
+        primaryKey.keyFields.push(k.concatTokens().toUpperCase());
+      }
+    } else {
+      start = 0;
+    }
+ 
+    const secondaryKeys: ITableKey[] = [];
+    for (let i = start; i < typeTableKeys.length; i++) {
+      const row = typeTableKeys[i];
+      const name = row.findDirectExpression(Field)?.concatTokens();
+      if (name === undefined) {
+        continue;
+      }
+ 
+      const secondary: ITableKey = {
+        name: name,
+        type: row.findDirectTokenByText("SORTED") ? TableAccessType.sorted : TableAccessType.hashed,
+        isUnique: row?.concatTokens().toUpperCase().includes("WITH UNIQUE ") === true,
+        keyFields: [],
+      };
+ 
+      for (const k of row?.findDirectExpressions(FieldSub) || []) {
+        secondary.keyFields.push(k.concatTokens().toUpperCase());
+      }
+ 
+      secondaryKeys.push(secondary);
+    }
+ 
+    let keyType = Types.TableKeyType.user;
+    if (text.includes(" EMPTY KEY")) {
+      keyType = Types.TableKeyType.empty;
+    } else if (text.includes(" DEFAULT KEY")) {
+      keyType = Types.TableKeyType.default;
+    }
+ 
+    const options: Types.ITableOptions = {
+      withHeader: text.includes(" WITH HEADER LINE"),
+      keyType: keyType,
+      primaryKey: primaryKey,
+      secondary: secondaryKeys,
+    };
+ 
+    let found: AbstractType | undefined = undefined;
+    if (text.startsWith("TYPE TABLE OF REF TO ")
+        || text.startsWith("TYPE STANDARD TABLE OF REF TO ")
+        || text.startsWith("TYPE SORTED TABLE OF REF TO ")
+        || text.startsWith("TYPE HASHED TABLE OF REF TO ")) {
+      found = this.resolveTypeRef(typename);
+      if (found) {
+        return new Types.TableType(found, options, name);
+      }
+    } else if (text.startsWith("TYPE TABLE OF ")
+        || text.startsWith("TYPE STANDARD TABLE OF ")
+        || text.startsWith("TYPE SORTED TABLE OF ")
+        || text.startsWith("TYPE HASHED TABLE OF ")) {
+      found = this.resolveTypeName(typename);
+      if (found) {
+        return new Types.TableType(found, options, name);
+      }
+    } else if (text.startsWith("LIKE TABLE OF ")
+        || text.startsWith("LIKE STANDARD TABLE OF ")
+        || text.startsWith("LIKE SORTED TABLE OF ")
+        || text.startsWith("LIKE HASHED TABLE OF ")) {
+      found = this.resolveLikeName(node);
+      if (found) {
+        return new Types.TableType(found, options, name);
+      }
+    } else if (text === "TYPE STANDARD TABLE"
+        || text === "TYPE SORTED TABLE"
+        || text === "TYPE HASHED TABLE"
+        || text === "TYPE INDEX TABLE"
+        || text === "TYPE ANY TABLE") {
+      return new Types.TableType(new Types.AnyType(), options);
+    } else if (text.startsWith("TYPE RANGE OF ")) {
+      const sub = node.findFirstExpression(Expressions.TypeName);
+      found = this.resolveTypeName(sub);
+      if (found === undefined) {
+        return new Types.UnknownType("TYPE RANGE OF, could not resolve type");
+      }
+      const structure = new Types.StructureType([
+        {name: "sign", type: new Types.CharacterType(1)},
+        {name: "option", type: new Types.CharacterType(2)},
+        {name: "low", type: found},
+        {name: "high", type: found},
+      ]);
+      options.primaryKey!.type = TableAccessType.standard;
+      return new Types.TableType(structure, options, name);
+    } else if (text.startsWith("LIKE RANGE OF ")) {
+      const sub = node.findFirstExpression(Expressions.FieldChain);
+      found = this.resolveLikeName(sub);
+      if (found === undefined) {
+        return new Types.UnknownType("LIKE RANGE OF, could not resolve type");
+      }
+      const structure = new Types.StructureType([
+        {name: "sign", type: new Types.CharacterType(1)},
+        {name: "option", type: new Types.CharacterType(2)},
+        {name: "low", type: found},
+        {name: "high", type: found},
+      ], name);
+      options.primaryKey!.type = TableAccessType.standard;
+      return new Types.TableType(structure, options);
+    } else if (typename && (text.startsWith("TYPE TABLE FOR CREATE ")
+        || text.startsWith("TYPE TABLE FOR UPDATE "))) {
+      const name = typename.concatTokens();
+      const type = this.input.scope.getDDIC().lookupDDLS(name)?.type;
+      if (type) {
+        return new Types.TableType(new VoidType("RapTodo"), options);
+      } else if (this.input.scope.getDDIC().inErrorNamespace(name)) {
+        return new Types.UnknownType(`DDLS ${name} not found`);
+      } else {
+        return new Types.VoidType(name);
+      }
+    }
+ 
+    // fallback to old style syntax, OCCURS etc
+    return this.parseType(node, name);
+  }
+ 
+  public parseType(node: ExpressionNode | StatementNode, qualifiedName?: string): AbstractType | undefined {
+    const typeName = node.findFirstExpression(Expressions.TypeName);
+ 
+    let text = node.findFirstExpression(Expressions.Type)?.concatTokens().toUpperCase();
+    if (text === undefined) {
+      text = node.findFirstExpression(Expressions.TypeParam)?.concatTokens().toUpperCase();
+    }
+    if (text === undefined) {
+      text = node.findFirstExpression(Expressions.TypeTable)?.concatTokens().toUpperCase();
+      if (text?.startsWith("TYPE") === false && text?.startsWith("LIKE") === false) {
+        text = "TYPE";
+      }
+    }
+    if (text === undefined) {
+      text = node.findFirstExpression(Expressions.FormParamType)?.concatTokens().toUpperCase();
+    }
+    if (text === undefined
+        && node.get() instanceof Statements.Parameter
+        && node.findDirectTokenByText("LIKE")) {
+      text = "LIKE " + typeName?.concatTokens();
+    }
+    if (text === undefined) {
+      text = "TYPE";
+    }
+ 
+    let found: AbstractType | undefined = undefined;
+    if (text.startsWith("LIKE LINE OF ")) {
+      const name = node.findFirstExpression(Expressions.FieldChain)?.concatTokens();
+ 
+      let e = node.findFirstExpression(Expressions.Type);
+      if (e === undefined) {
+        e = node.findFirstExpression(Expressions.FormParamType);
+      }
+      if (e === undefined) {
+        e = node.findFirstExpression(Expressions.FieldChain);
+      }
+ 
+      const type = this.resolveLikeName(e, false);
+ 
+      if (type === undefined) {
+        return new Types.UnknownType("Type error, could not resolve \"" + name + "\", parseType");
+      } else if (type instanceof Types.TableType) {
+        return type.getRowType();
+      } else if (type instanceof Types.VoidType) {
+        return type;
+      } else {
+        return new Types.UnknownType("Type error, not a table type " + name);
+      }
+    } else if (text.startsWith("LIKE REF TO ")) {
+      const name = node.findFirstExpression(Expressions.FieldChain)?.concatTokens();
+      const type = this.resolveLikeName(node.findFirstExpression(Expressions.Type), false);
+      if (type === undefined) {
+        return new Types.UnknownType("Type error, could not resolve \"" + name + "\", parseType");
+      }
+      return new Types.DataReference(type, name);
+    } else if (text === "TYPE STANDARD TABLE"
+        || text === "TYPE SORTED TABLE"
+        || text === "TYPE HASHED TABLE"
+        || text === "TYPE INDEX TABLE"
+        || text === "TYPE ANY TABLE") {
+      return new Types.TableType(new Types.AnyType(), {withHeader: node.concatTokens().toUpperCase().includes("WITH HEADER LINE"), keyType: Types.TableKeyType.default});
+    } else if (text.startsWith("LIKE ")) {
+      let sub = node.findFirstExpression(Expressions.Type);
+      if (sub === undefined) {
+        sub = node.findFirstExpression(Expressions.FormParamType);
+      }
+      if (sub === undefined) {
+        sub = node.findFirstExpression(Expressions.TypeParam);
+      }
+      if (sub === undefined) {
+        sub = node.findFirstExpression(Expressions.FieldChain);
+      }
+      if (sub === undefined) {
+        sub = node.findFirstExpression(Expressions.TypeName);
+      }
+      found = this.resolveLikeName(sub);
+ 
+      if (found && this.isOccurs(node)) {
+        found = new Types.TableType(found, {withHeader: text.includes("WITH HEADER LINE"), keyType: Types.TableKeyType.default}, qualifiedName);
+      }
+    } else if (text.startsWith("TYPE LINE OF ")) {
+      const sub = node.findFirstExpression(Expressions.TypeName);
+      found = this.resolveTypeName(sub);
+      if (found instanceof TypedIdentifier) {
+        found = found.getType();
+      }
+      if (found instanceof Types.TableType) {
+        return found.getRowType();
+      } else if (found instanceof Types.VoidType) {
+        return found;
+      } else if (found instanceof Types.UnknownType) {
+        return new Types.UnknownType("TYPE LINE OF, unknown type, " + found.getError());
+      } else {
+        return new Types.UnknownType("TYPE LINE OF, unexpected type, " + found?.constructor.name);
+      }
+    } else if (text.startsWith("TYPE REF TO ")) {
+      found = this.resolveTypeRef(typeName);
+    } else if (text.startsWith("TYPE")) {
+      found = this.resolveTypeName(typeName, this.findLength(node), this.findDecimals(node), qualifiedName);
+ 
+      const concat = node.concatTokens().toUpperCase();
+      if (found && this.isOccurs(node)) {
+        found = new Types.TableType(found, {withHeader: concat.includes(" WITH HEADER LINE"), keyType: Types.TableKeyType.default}, qualifiedName);
+      } else if (found && concat.includes(" WITH HEADER LINE")) {
+        if (found instanceof Types.VoidType) {
+          found = new Types.TableType(found, {withHeader: true, keyType: Types.TableKeyType.default});
+        } else if (!(found instanceof Types.TableType)) {
+          throw new Error("WITH HEADER LINE can only be used with internal table");
+        } else {
+          found = new Types.TableType(found.getRowType(), {withHeader: true, keyType: Types.TableKeyType.default});
+        }
+      }
+ 
+      if (found === undefined && typeName === undefined) {
+        let length = 1;
+ 
+        const len = node.findDirectExpression(Expressions.ConstantFieldLength);
+        if (len) {
+          const int = len.findDirectExpression(Expressions.Integer);
+          if (int) {
+            length = parseInt(int.concatTokens(), 10);
+          }
+        }
+ 
+        found = new Types.CharacterType(length, {qualifiedName: qualifiedName}); // fallback
+        if (this.isOccurs(node)) {
+          found = new Types.TableType(found, {withHeader: concat.includes(" WITH HEADER LINE"), keyType: Types.TableKeyType.default}, qualifiedName);
+        }
+      }
+ 
+    }
+ 
+    return found;
+  }
+ 
+/////////////////////
+ 
+  private isOccurs(node: ExpressionNode | StatementNode): boolean {
+    if (node.findDirectTokenByText("OCCURS")) {
+      return true;
+    } else if (node.findFirstExpression(Expressions.TypeTable)?.findDirectTokenByText("OCCURS")) {
+      return true;
+    }
+    return false;
+  }
+ 
+  // todo, rewrite this method
+  private resolveTypeChain(expr: ExpressionNode): AbstractType | undefined {
+ 
+    const chainText = expr.concatTokens().toUpperCase();
+    if (chainText.includes("-")) {
+      // workaround for stuff like "sy-repid"
+      const built = this.input.scope.findType(chainText);
+      if (built) {
+        this.input.scope.addReference(expr.getFirstToken(), built, ReferenceType.TypeReference, this.input.filename);
+        return built.getType();
+      }
+    } else if (chainText.includes("=>") === false && chainText.includes("-") === false) {
+      return undefined;
+    }
+ 
+    let className: string | undefined;
+    let rest = chainText;
+    if (chainText.includes("=>")) {
+      const split = chainText.split("=>");
+      className = split[0];
+      rest = split[1];
+    } else if (chainText.includes("->")) {
+      const split = chainText.split("->");
+      className = split[0];
+      rest = split[1];
+    }
+    const subs = rest.split("-");
+    let foundType: AbstractType | undefined = undefined;
+ 
+    if (className && chainText.includes("=>")) {
+      const split = chainText.split("=>");
+      const className = split[0];
+ 
+    // the prefix might be itself
+      if ((this.input.scope.getType() === ScopeType.Interface
+          || this.input.scope.getType() === ScopeType.ClassDefinition)
+          && this.input.scope.getName().toUpperCase() === className.toUpperCase()) {
+        const foundId = this.input.scope.findType(subs[0]);
+        foundType = foundId?.getType();
+        if (foundType === undefined) {
+          return new Types.UnknownType("Could not resolve type " + chainText);
+        }
+        const token = expr.getChildren()[2]?.getFirstToken();
+        if (token) {
+          this.input.scope.addReference(token, foundId, ReferenceType.TypeReference, this.input.filename);
+        }
+      } else {
+    // lookup in local and global scope
+        const obj = this.input.scope.findObjectDefinition(className);
+        if (obj === undefined && this.input.scope.getDDIC().inErrorNamespace(className) === false) {
+          this.input.scope.addReference(
+            expr.getFirstToken(), undefined,
+            ReferenceType.ObjectOrientedVoidReference, this.input.filename, {ooName: className.toUpperCase()});
+          return new Types.VoidType(className);
+        } else if (obj === undefined) {
+          return new Types.UnknownType("Could not resolve top " + className + ", resolveTypeChain");
+        }
+        const type = obj instanceof ClassDefinition ? "CLAS" : "INTF";
+ 
+        this.input.scope.addReference(
+          expr.getFirstToken(), obj, ReferenceType.ObjectOrientedReference, this.input.filename,
+          {ooType: type, ooName: className});
+ 
+        const byName = new ObjectOriented(this.input.scope).searchTypeName(obj, subs[0]);
+        foundType = byName?.getType();
+        if (byName === undefined || foundType === undefined) {
+          return new Types.UnknownType(subs[0] + " not found in class or interface");
+        }
+ 
+        const token = expr.getChildren()[2]?.getFirstToken();
+        if (token) {
+          this.input.scope.addReference(token, byName, ReferenceType.TypeReference, this.input.filename);
+        }
+      }
+    } else if (className && chainText.includes("->")) {
+      const varVar = this.input.scope.findVariable(className);
+      const foo = varVar?.getType();
+      if (foo instanceof ObjectReferenceType) {
+        const typeName = subs[0];
+        let id = foo.getIdentifier();
+ 
+        if (!(id instanceof ClassDefinition || id instanceof InterfaceDefinition)) {
+          const found = this.input.scope.findObjectDefinition(foo.getIdentifierName());
+          if (found) {
+            id = found;
+          } else {
+            return new Types.UnknownType(foo.getIdentifierName() + " not found in scope");
+          }
+        }
+ 
+        if (id instanceof ClassDefinition || id instanceof InterfaceDefinition) {
+          const type = id instanceof ClassDefinition ? "CLAS" : "INTF";
+          this.input.scope.addReference(
+            expr.getFirstToken(), id, ReferenceType.ObjectOrientedReference, this.input.filename,
+            {ooType: type, ooName: id.getName()});
+          const byName = new ObjectOriented(this.input.scope).searchTypeName(id, typeName);
+          foundType = byName?.getType();
+          if (byName === undefined || foundType === undefined) {
+            return new Types.UnknownType(typeName + " not found in class or interface");
+          }
+          const token = expr.getChildren()[2]?.getFirstToken();
+          if (token) {
+            this.input.scope.addReference(token, byName, ReferenceType.TypeReference, this.input.filename);
+          }
+        } else {
+          return new Types.UnknownType("Not an object reference, " + className + ", " + id.constructor.name);
+        }
+      } else if (foo === undefined) {
+        return new Types.UnknownType(className + " not found in scope");
+      } else {
+        return new Types.UnknownType("Not an object reference, " + className + ", " + foo.constructor.name);
+      }
+    } else {
+      const found = this.input.scope.findType(subs[0]);
+      foundType = found?.getType();
+      if (foundType === undefined) {
+        const typePoolType = this.input.scope.findTypePoolType(subs[0])?.getType();
+        if (typePoolType) {
+//          this.scope.addReference(typeName.getFirstToken(), typePoolType, ReferenceType.TypeReference, this.filename);
+          foundType = typePoolType;
+        }
+ 
+        if (foundType === undefined) {
+          const f = this.input.scope.getDDIC().lookupTableOrView(subs[0]);
+          this.input.scope.getDDICReferences().addUsing(
+            this.input.scope.getParentObj(),
+            {object: f.object, filename: this.input.filename, token: expr.getFirstToken()});
+          if (f.type instanceof TypedIdentifier) {
+            foundType = f.type.getType();
+          } else {
+            foundType = f.type;
+          }
+        }
+ 
+      } else {
+        this.input.scope.addReference(expr.getFirstToken(), found, ReferenceType.TypeReference, this.input.filename);
+      }
+      if (foundType === undefined && this.input.scope.getDDIC().inErrorNamespace(subs[0]) === false) {
+        this.input.scope.addReference(expr.getFirstToken(), undefined, ReferenceType.VoidType, this.input.filename);
+        return new Types.VoidType(subs[0]);
+      } else if (foundType instanceof Types.VoidType) {
+        this.input.scope.addReference(expr.getFirstToken(), undefined, ReferenceType.VoidType, this.input.filename);
+        return foundType;
+      } else if (foundType === undefined) {
+        return new Types.UnknownType("Unknown type " + subs[0]);
+      }
+    }
+ 
+    subs.shift();
+    while (subs.length > 0) {
+      if (foundType instanceof Types.UnknownType
+          || foundType instanceof Types.VoidType) {
+        return foundType;
+      } else if (!(foundType instanceof Types.StructureType)) {
+        return new Types.UnknownType("Not a structured type");
+      }
+      foundType = foundType.getComponentByName(subs[0]);
+      if (foundType === undefined) {
+        return new Types.UnknownType(`Field "${subs[0]}" not found in structure`);
+      }
+      subs.shift();
+    }
+ 
+    return foundType;
+  }
+ 
+  private resolveConstantValue(expr: ExpressionNode): string | undefined {
+// todo: rewrite this method
+    if (!(expr.get() instanceof Expressions.SimpleFieldChain)) {
+      throw new Error("resolveConstantValue");
+    }
+ 
+    const firstNode = expr.getFirstChild()!;
+    const firstToken = firstNode.getFirstToken();
+    const firstName = firstToken.getStr();
+    if (firstNode.get() instanceof Expressions.Field) {
+      const found = this.input.scope.findVariable(firstName);
+      const val = found?.getValue();
+      if (typeof val === "string") {
+        this.input.scope.addReference(firstToken, found, ReferenceType.DataReadReference, this.input.filename);
+        return val;
+      } else if (found?.getType() instanceof StructureType) {
+        this.input.scope.addReference(firstToken, found, ReferenceType.DataReadReference, this.input.filename);
+      }
+      return undefined;
+    } else if (firstNode.get() instanceof Expressions.ClassName
+        && firstName.toLowerCase() === this.input.scope.getName().toLowerCase()
+        && (this.input.scope.getType() === ScopeType.Interface
+        || this.input.scope.getType() === ScopeType.ClassDefinition)) {
+      const children = expr.getChildren();
+      const token = children[2]?.getFirstToken();
+      const found = this.input.scope.findVariable(token.getStr());
+      const val = found?.getValue();
+      if (typeof val === "string") {
+        this.input.scope.addReference(firstToken, found, ReferenceType.DataReadReference, this.input.filename);
+        return val;
+      }
+      return undefined;
+    } else if (firstNode.get() instanceof Expressions.ClassName) {
+      const obj = this.input.scope.findObjectDefinition(firstName);
+      if (obj === undefined) {
+        if (this.input.scope.existsObject(firstName) !== undefined) {
+          return undefined;
+        } else if (this.input.scope.getDDIC().inErrorNamespace(firstName) === true) {
+          throw new Error("resolveConstantValue, not found: " + firstName);
+        } else {
+          this.input.scope.addReference(
+            firstNode.getFirstToken(), undefined,
+            ReferenceType.ObjectOrientedVoidReference, this.input.filename, {ooName: firstName.toUpperCase()});
+          return undefined;
+        }
+      }
+      const children = expr.getChildren();
+      const token = children[2]?.getFirstToken();
+      const attr = token.getStr();
+      const c = new ObjectOriented(this.input.scope).searchConstantName(obj, attr);
+      if (c instanceof ClassConstant) {
+        this.input.scope.addReference(firstToken, obj, ReferenceType.ObjectOrientedReference, this.input.filename);
+        this.input.scope.addReference(token, c, ReferenceType.DataReadReference, this.input.filename);
+        const val = c.getValue();
+        if (typeof val === "string") {
+          return val;
+        } else if (typeof val === "object" && children[4]) {
+          const name = children[4].getFirstToken().getStr();
+          if (val[name] !== undefined) {
+            return val[name];
+          }
+        }
+        return undefined;
+      }
+      throw new Error("resolveConstantValue, constant not found " + attr);
+
+    } else {
+      throw new Error("resolveConstantValue, unexpected structure");
+    }
+  }
+ 
+  private resolveTypeRef(chain: ExpressionNode | undefined): AbstractType | undefined {
+    if (chain === undefined) {
+      return undefined;
+    }
+ 
+    const name = chain.getFirstToken().getStr();
+    if (chain.getChildren().length === 1) {
+      if (name.toUpperCase() === "OBJECT") {
+        return new Types.GenericObjectReferenceType();
+      }
+      const search = this.input.scope.existsObject(name);
+      if (search?.id) {
+        this.input.scope.addReference(
+          chain.getFirstToken(), search.id, ReferenceType.ObjectOrientedReference, this.input.filename,
+          {ooType: search.ooType, ooName: name});
+        return new Types.ObjectReferenceType(search.id, {qualifiedName: name, RTTIName: search.RTTIName});
+      }
+    }
+ 
+    const found = this.resolveTypeName(chain);
+    if (found && !(found instanceof Types.UnknownType) && !(found instanceof Types.VoidType)) {
+      return new Types.DataReference(found);
+    } else if (chain.concatTokens().toUpperCase() === "DATA") {
+      return new Types.DataReference(new Types.DataType());
+    }
+ 
+    if (this.input.scope.isBadiDef(name) === true) {
+      return new Types.VoidType(name);
+    }
+ 
+    if (this.input.scope.getDDIC()?.inErrorNamespace(name) === false) {
+//      this.scope.addReference(chain.getFirstToken(), undefined, ReferenceType.VoidType, this.filename);
+      return new Types.VoidType(name);
+    }
+ 
+    return new Types.UnknownType("REF, unable to resolve " + name);
+  }
+ 
+  public findValue(node: StatementNode | ExpressionNode): string | undefined {
+    const val = node.findFirstExpression(Expressions.Value);
+    if (val === undefined) {
+      throw new Error("VALUE missing in expression");
+    }
+ 
+    if (val.concatTokens().toUpperCase() === "VALUE IS INITIAL") {
+      return undefined;
+    }
+ 
+    const constant = val.findFirstExpression(Expressions.Constant);
+    if (constant) {
+      const conc = val.findFirstExpression(Expressions.ConcatenatedConstant);
+      if (conc) {
+        const first = conc.getFirstToken().getStr().substring(0, 1);
+        let result = "";
+        for (const token of conc.getAllTokens()) {
+          if (token.getStr() === "&") {
+            continue;
+          } else {
+            result += token.getStr().substring(1, token.getStr().length - 1);
+          }
+        }
+        return first + result + first;
+      } else {
+        return constant.concatTokens();
+      }
+    }
+ 
+    const chain = val.findFirstExpression(Expressions.SimpleFieldChain);
+    if (chain) {
+      return this.resolveConstantValue(chain);
+    }
+
+    throw new Error("findValue, unexpected");
+  }
+ 
+  private findDecimals(node: StatementNode | ExpressionNode): number | undefined {
+    const dec = node.findDirectExpression(Expressions.Decimals)?.findDirectExpression(Expressions.Integer)?.concatTokens();
+    if (dec) {
+      return parseInt(dec, 10);
+    }
+    return undefined;
+  }
+ 
+  private findLength(node: StatementNode | ExpressionNode): number | undefined {
+    const val = node.findFirstExpression(Expressions.Length);
+    const flen = node.findFirstExpression(Expressions.ConstantFieldLength);
+ 
+    if (val && flen) {
+      throw new Error("Only specify length once");
+    }
+ 
+    if (flen) {
+      const cintExpr = flen.findFirstExpression(Expressions.Integer);
+      if (cintExpr) {
+        return this.parseInt(cintExpr.concatTokens());
+      }
+
+      const cchain = flen.findFirstExpression(Expressions.SimpleFieldChain);
+      if (cchain) {
+        const val = this.resolveConstantValue(cchain);
+        return this.parseInt(val);
+      }
+    }
+ 
+    if (val === undefined) {
+      return 1;
+    }
+ 
+    const intExpr = val.findFirstExpression(Expressions.Integer);
+    if (intExpr) {
+      return this.parseInt(intExpr.concatTokens());
+    }
+ 
+    const strExpr = val.findFirstExpression(Expressions.ConstantString);
+    if (strExpr) {
+      return this.parseInt(strExpr.concatTokens());
+    }
+ 
+    const chain = val.findFirstExpression(Expressions.SimpleFieldChain);
+    if (chain) {
+      const val = this.resolveConstantValue(chain);
+      return this.parseInt(val);
+    }
+
+    throw new Error("Unexpected, findLength");
+  }
+ 
+  private parseInt(text: string | undefined): number | undefined {
+    if (text === undefined) {
+      return undefined;
+    }
+ 
+    if (text.startsWith("'")) {
+      text = text.split("'")[1];
+    } else if (text.startsWith("`")) {
+      text = text.split("`")[1];
+    }
+ 
+    return parseInt(text, 10);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/attribute_chain.ts.html b/src/abap/5_syntax/expressions/attribute_chain.ts.html new file mode 100644 index 00000000000..ae3969b40fd --- /dev/null +++ b/src/abap/5_syntax/expressions/attribute_chain.ts.html @@ -0,0 +1,262 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/attribute_chain.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions attribute_chain.ts

+
+ +
+ 71.66% + Statements + 43/60 +
+ + +
+ 14.28% + Branches + 1/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 71.66% + Lines + 43/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +601x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +  +4x +  +  +  +4x +4x +4x +4x +  +  +  +4x +4x +4x +  +  +  +  +4x +4x +4x +4x +4x +4x +  +  +4x +  +  +  +  +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x
import {INode} from "../../nodes/_inode";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {VoidType} from "../../types/basic/void_type";
+import {ObjectReferenceType} from "../../types/basic/object_reference_type";
+import {ObjectOriented} from "../_object_oriented";
+import {ReferenceType} from "../_reference";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {AttributeName} from "../../2_statements/expressions";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class AttributeChain {
+  public runSyntax(
+    inputContext: AbstractType | undefined,
+    node: INode,
+    input: SyntaxInput,
+    type: ReferenceType[]): AbstractType | undefined {
+ 
+    if (inputContext instanceof VoidType) {
+      return inputContext;
+    } else if (!(inputContext instanceof ObjectReferenceType)) {
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), "Not an object reference(AttributeChain)"));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    const children = node.getChildren().slice();
+    const first = children[0];
+    if (!(first.get() instanceof AttributeName)) {
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), "AttributeChain, unexpected first child"));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    const def = input.scope.findObjectDefinition(inputContext.getIdentifierName());
+    if (def === undefined) {
+      const message = "Definition for \"" + inputContext.getIdentifierName() + "\" not found in scope(AttributeChain)";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+    const nameToken = first.getFirstToken();
+    const name = nameToken.getStr();
+    const helper = new ObjectOriented(input.scope);
+ 
+    let context: TypedIdentifier | undefined = helper.searchAttributeName(def, name);
+    if (context === undefined) {
+      context = helper.searchConstantName(def, name);
+    }
+    if (context === undefined) {
+      const message = "Attribute or constant \"" + name + "\" not found in \"" + def.getName() + "\"";
+      input.issues.push(syntaxIssue(input, nameToken, message));
+      return new VoidType(CheckSyntaxKey);
+    }
+    for (const t of type) {
+      input.scope.addReference(nameToken, context, t, input.filename);
+    }
+ 
+// todo, loop, handle ArrowOrDash, ComponentName, TableExpression
+ 
+    return context.getType();
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/attribute_name.ts.html b/src/abap/5_syntax/expressions/attribute_name.ts.html new file mode 100644 index 00000000000..82fc63c17dd --- /dev/null +++ b/src/abap/5_syntax/expressions/attribute_name.ts.html @@ -0,0 +1,337 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/attribute_name.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions attribute_name.ts

+
+ +
+ 88.23% + Statements + 75/85 +
+ + +
+ 86.36% + Branches + 19/22 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 88.23% + Lines + 75/85 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +851x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +128x +128x +128x +128x +128x +128x +128x +38x +38x +90x +90x +90x +90x +90x +128x +65x +65x +2x +2x +2x +2x +63x +63x +63x +65x +29x +29x +65x +15x +15x +  +  +15x +15x +48x +48x +48x +65x +3x +3x +3x +3x +3x +48x +128x +25x +25x +25x +1x +1x +25x +  +  +  +  +24x +25x +1x +1x +1x +1x +25x +  +  +  +  +71x +71x +71x +1x +1x
import {INode} from "../../nodes/_inode";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {VoidType} from "../../types/basic/void_type";
+import {StructureType} from "../../types/basic/structure_type";
+import {ObjectReferenceType} from "../../types/basic/object_reference_type";
+import {ObjectOriented} from "../_object_oriented";
+import {DataReference} from "../../types/basic/data_reference_type";
+import {ReferenceType} from "../_reference";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {AnyType} from "../../types/basic";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class AttributeName {
+  public runSyntax(
+    context: AbstractType | undefined,
+    node: INode,
+    input: SyntaxInput,
+    type?: ReferenceType | ReferenceType[] | undefined,
+    error = true): AbstractType | undefined {
+ 
+    if (context instanceof VoidType) {
+      return context;
+    }
+ 
+    const helper = new ObjectOriented(input.scope);
+ 
+    let ret: AbstractType | undefined = undefined;
+ 
+    if (context instanceof ObjectReferenceType) {
+      const def = input.scope.findObjectDefinition(context.getIdentifierName());
+      if (def === undefined) {
+        const message = "Definition for \"" + context.getIdentifierName() + "\" not found in scope(AttributeName)";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+      const token = node.getFirstToken();
+      const name = token.getStr();
+      let found: TypedIdentifier | undefined = helper.searchAttributeName(def, name);
+      if (found === undefined) {
+        found = helper.searchConstantName(def, name);
+      }
+      if (found === undefined) {
+        const message = "Attribute or constant \"" + name + "\" not found in \"" + def.getName() + "\"";
+        if (error === true) {
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        }
+        return new VoidType(CheckSyntaxKey);
+      }
+      if (type) {
+        input.scope.addReference(token, found, type, input.filename);
+      }
+      if (found && name.includes("~")) {
+        const idef = input.scope.findInterfaceDefinition(name.split("~")[0]);
+        if (idef) {
+          input.scope.addReference(token, idef, ReferenceType.ObjectOrientedReference, input.filename);
+        }
+      }
+      ret = found.getType();
+    } else if (context instanceof DataReference) {
+      const sub = context.getType();
+      const name = node.getFirstToken().getStr();
+      if (name === "*" || sub instanceof VoidType || sub instanceof AnyType) {
+        return sub;
+      }
+      if (!(sub instanceof StructureType)) {
+        const message = "Data reference not structured";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+      ret = sub.getComponentByName(name);
+      if (ret === undefined) {
+        const message = "Component \"" + name + "\" not found in data reference structure";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+    } else {
+      const message = "Not an object reference, attribute name";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/cast.ts.html b/src/abap/5_syntax/expressions/cast.ts.html new file mode 100644 index 00000000000..c5d99ca610b --- /dev/null +++ b/src/abap/5_syntax/expressions/cast.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/cast.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions cast.ts

+
+ +
+ 70% + Statements + 49/70 +
+ + +
+ 63.63% + Branches + 14/22 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 70% + Lines + 49/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +12x +12x +  +  +  +  +12x +12x +12x +12x +12x +12x +12x +  +  +  +12x +2x +12x +  +  +  +  +12x +12x +10x +10x +10x +8x +8x +4x +4x +4x +10x +2x +2x +10x +  +10x +1x +10x +  +  +  +  +  +10x +11x +11x +12x +  +  +  +  +11x +11x +11x +1x
import {ExpressionNode} from "../../nodes";
+import {DataReference, GenericObjectReferenceType, ObjectReferenceType, UnknownType, VoidType} from "../../types/basic";
+import * as Expressions from "../../2_statements/expressions";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {Source} from "./source";
+import {TypeUtils} from "../_type_utils";
+import {BasicTypes} from "../basic_types";
+import {ReferenceType} from "../_reference";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Cast {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, targetType: AbstractType | undefined): AbstractType {
+    const sourceNode = node.findDirectExpression(Expressions.Source);
+    if (sourceNode === undefined) {
+      const message = "Cast, source node not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    const sourceType = new Source().runSyntax(sourceNode, input);
+    let tt: AbstractType | undefined = undefined;
+ 
+    const typeExpression = node.findDirectExpression(Expressions.TypeNameOrInfer);
+    const typeName = typeExpression?.concatTokens();
+    if (typeName === undefined) {
+      const message = "Cast, child TypeNameOrInfer not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    } else if (typeName === "#" && targetType) {
+      tt = targetType;
+    } else if (typeName === "#") {
+      const message = "Cast, todo, infer type";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    if (tt === undefined && typeExpression) {
+      const basic = new BasicTypes(input);
+      tt = basic.parseType(typeExpression);
+      if (tt === undefined || tt instanceof VoidType || tt instanceof UnknownType) {
+        const found = input.scope.findObjectDefinition(typeName);
+        if (found) {
+          tt = new ObjectReferenceType(found, {qualifiedName: typeName});
+          input.scope.addReference(typeExpression.getFirstToken(), found, ReferenceType.ObjectOrientedReference, input.filename);
+        }
+      } else {
+        tt = new DataReference(tt, typeName);
+      }
+      if (tt === undefined && input.scope.getDDIC().inErrorNamespace(typeName) === false) {
+        tt = new VoidType(typeName);
+      } else if (typeName.toUpperCase() === "OBJECT") {
+        return new GenericObjectReferenceType();
+      } else if (tt === undefined) {
+        // todo, this should be an UnknownType instead?
+        const message = "Type \"" + typeName + "\" not found in scope, Cast";
+        input.issues.push(syntaxIssue(input, typeExpression.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+    }
+    new Source().addIfInferred(node, input, tt);
+ 
+    if (new TypeUtils(input.scope).isCastable(sourceType, tt) === false) {
+      const message = "Cast, incompatible types";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    return tt!;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/compare.ts.html b/src/abap/5_syntax/expressions/compare.ts.html new file mode 100644 index 00000000000..c59ee477435 --- /dev/null +++ b/src/abap/5_syntax/expressions/compare.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/compare.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions compare.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +221x +221x +397x +397x +221x +221x +1x +1x +221x +221x +17x +17x +221x +221x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {Source} from "./source";
+import {MethodCallChain} from "./method_call_chain";
+import {SourceFieldSymbol} from "./source_field_symbol";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Compare {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): void {
+ 
+    for (const t of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(t, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.SourceFieldSymbol)) {
+      new SourceFieldSymbol().runSyntax(t, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.MethodCallChain)) {
+      new MethodCallChain().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/component_chain.ts.html b/src/abap/5_syntax/expressions/component_chain.ts.html new file mode 100644 index 00000000000..efe2cada1b9 --- /dev/null +++ b/src/abap/5_syntax/expressions/component_chain.ts.html @@ -0,0 +1,388 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/component_chain.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions component_chain.ts

+
+ +
+ 81.37% + Statements + 83/102 +
+ + +
+ 81.25% + Branches + 26/32 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 81.37% + Lines + 83/102 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +1021x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +88x +88x +88x +18x +18x +70x +70x +88x +86x +10x +10x +76x +76x +86x +24x +86x +8x +8x +  +  +  +  +  +  +8x +  +  +  +  +  +8x +8x +  +  +  +  +8x +52x +44x +44x +44x +2x +2x +1x +1x +2x +43x +44x +36x +36x +2x +2x +2x +2x +44x +6x +6x +6x +  +  +  +  +6x +6x +6x +6x +6x +6x +2x +2x +2x +6x +4x +4x +4x +4x +4x +7x +1x +1x +1x +1x +44x +86x +55x +55x +55x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {VoidType} from "../../types/basic/void_type";
+import {StructureType} from "../../types/basic/structure_type";
+import {ExpressionNode} from "../../nodes";
+import {DataReference, ObjectReferenceType, UnknownType} from "../../types/basic";
+import {ClassDefinition} from "../../types";
+import {IReferenceExtras, ReferenceType} from "../_reference";
+import {ObjectOriented} from "../_object_oriented";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class ComponentChain {
+  public runSyntax(context: AbstractType | undefined, node: ExpressionNode,
+                   input: SyntaxInput): AbstractType | undefined {
+ 
+    if (context === undefined) {
+      return undefined;
+    }
+ 
+    const children = node.getChildren();
+    for (let i = 0; i < children.length; i++) {
+      if (context instanceof VoidType || context instanceof UnknownType) {
+        return context;
+      }
+ 
+      const child = children[i];
+      if (i === 0 && child.concatTokens().toUpperCase() === "TABLE_LINE") {
+        continue;
+      } else if (child.get() instanceof Expressions.ArrowOrDash) {
+        const concat = child.concatTokens();
+        if (concat === "-") {
+          if (!(context instanceof StructureType)) {
+            const message = "ComponentChain, not a structure";
+            input.issues.push(syntaxIssue(input, child.getFirstToken(), message));
+            return new VoidType(CheckSyntaxKey);
+
+          }
+        } else if (concat === "=>") {
+          if (!(context instanceof ObjectReferenceType)) {
+            const message = "ComponentChain, not a reference";
+            input.issues.push(syntaxIssue(input, child.getFirstToken(), message));
+            return new VoidType(CheckSyntaxKey);
+          }
+        } else if (concat === "->") {
+          if (!(context instanceof ObjectReferenceType) && !(context instanceof DataReference)) {
+            const message = "ComponentChain, not a reference";
+            input.issues.push(syntaxIssue(input, child.getFirstToken(), message));
+            return new VoidType(CheckSyntaxKey);
+          }
+        }
+      } else if (child.get() instanceof Expressions.ComponentName) {
+        const name = child.concatTokens();
+ 
+        if (context instanceof DataReference) {
+          context = context.getType();
+          if (name === "*") {
+            continue;
+          }
+        }
+ 
+        if (context instanceof StructureType) {
+          context = context.getComponentByName(name);
+          if (context === undefined) {
+            const message = "Component \"" + name + "\" not found in structure";
+            input.issues.push(syntaxIssue(input, child.getFirstToken(), message));
+            return new VoidType(CheckSyntaxKey);
+          }
+        } else if (context instanceof ObjectReferenceType) {
+          const id = context.getIdentifier();
+          const def = input.scope.findObjectDefinition(id.getName());
+          if (def === undefined) {
+            const message = id.getName() + " not found in scope";
+            input.issues.push(syntaxIssue(input, child.getFirstToken(), message));
+            return new VoidType(CheckSyntaxKey);
+          }
+ 
+          const helper = new ObjectOriented(input.scope);
+          const found = helper.searchAttributeName(def, name);
+ 
+          context = found?.getType();
+          if (context === undefined) {
+            const message = "Attribute \"" + name + "\" not found";
+            input.issues.push(syntaxIssue(input, child.getFirstToken(), message));
+            return new VoidType(CheckSyntaxKey);
+          } else {
+            const extra: IReferenceExtras = {
+              ooName: id.getName(),
+              ooType: id instanceof ClassDefinition ? "CLAS" : "INTF"};
+            input.scope.addReference(child.getFirstToken(), found, ReferenceType.DataWriteReference, input.filename, extra);
+          }
+        } else {
+          const message = "ComponentChain, not a structure, " + context?.constructor.name;
+          input.issues.push(syntaxIssue(input, child.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+      }
+    }
+ 
+    return context;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/component_compare.ts.html b/src/abap/5_syntax/expressions/component_compare.ts.html new file mode 100644 index 00000000000..089f960f621 --- /dev/null +++ b/src/abap/5_syntax/expressions/component_compare.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/component_compare.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions component_compare.ts

+
+ +
+ 84.61% + Statements + 22/26 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 84.61% + Lines + 22/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +1x +33x +33x +33x +  +  +  +  +33x +33x +33x +33x +31x +31x +33x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {ComponentChain} from "./component_chain";
+import {Source} from "./source";
+ 
+export class ComponentCompare {
+ 
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, type?: AbstractType): void {
+ 
+    const chain = node.findDirectExpression(Expressions.ComponentChainSimple);
+    if (chain === undefined) {
+      const message = "ComponentCompare, chain not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    new ComponentChain().runSyntax(type, chain, input);
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/component_compare_simple.ts.html b/src/abap/5_syntax/expressions/component_compare_simple.ts.html new file mode 100644 index 00000000000..02659aa5a90 --- /dev/null +++ b/src/abap/5_syntax/expressions/component_compare_simple.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/component_compare_simple.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions component_compare_simple.ts

+
+ +
+ 85.71% + Statements + 30/35 +
+ + +
+ 75% + Branches + 6/8 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 85.71% + Lines + 30/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +49x +49x +156x +104x +52x +52x +  +52x +52x +52x +1x +1x +1x +1x +52x +  +  +  +  +104x +156x +48x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {TypeUtils} from "../_type_utils";
+import {ComponentChain} from "./component_chain";
+import {Source} from "./source";
+ 
+export class ComponentCompareSimple {
+ 
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, rowType: AbstractType): void {
+    let targetType: AbstractType | undefined = undefined;
+    for (const c of node.getChildren()) {
+      if (c instanceof ExpressionNode) {
+        if (c.get() instanceof Expressions.ComponentChainSimple) {
+          targetType = new ComponentChain().runSyntax(rowType, c, input);
+        } else if (c.get() instanceof Expressions.Dynamic) {
+          targetType = undefined;
+        } else if (c.get() instanceof Expressions.Source) {
+          const sourceType = new Source().runSyntax(c, input, targetType);
+          if (targetType && new TypeUtils(input.scope).isAssignable(sourceType, targetType) === false) {
+            const message = "ComponentCompareSimple, incompatible types";
+            input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+            return;
+          }
+        } else {
+          const message = "ComponentCompareSimple, unexpected node";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      }
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/component_cond.ts.html b/src/abap/5_syntax/expressions/component_cond.ts.html new file mode 100644 index 00000000000..5a04637e633 --- /dev/null +++ b/src/abap/5_syntax/expressions/component_cond.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/component_cond.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions component_cond.ts

+
+ +
+ 79.16% + Statements + 19/24 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 79.16% + Lines + 19/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +16x +16x +  +  +  +  +  +16x +16x +18x +18x +16x +16x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput} from "../_syntax_input";
+import {ComponentCompare} from "./component_compare";
+ 
+export class ComponentCond {
+ 
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, type?: AbstractType): void {
+ 
+    for (const t of node.findDirectExpressions(Expressions.ComponentCondSub)) {
+      const c = t.findDirectExpression(Expressions.ComponentCond);
+      if (c) {
+        new ComponentCond().runSyntax(c, input, type);
+      }
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.ComponentCompare)) {
+      new ComponentCompare().runSyntax(t, input, type);
+    }
+ 
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/component_name.ts.html b/src/abap/5_syntax/expressions/component_name.ts.html new file mode 100644 index 00000000000..ed1c7281161 --- /dev/null +++ b/src/abap/5_syntax/expressions/component_name.ts.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/component_name.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions component_name.ts

+
+ +
+ 79.54% + Statements + 35/44 +
+ + +
+ 66.66% + Branches + 8/12 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 79.54% + Lines + 35/44 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +441x +1x +1x +1x +1x +1x +1x +382x +78x +78x +304x +304x +304x +304x +382x +301x +301x +3x +3x +3x +298x +298x +3x +382x +3x +3x +  +3x +  +3x +3x +3x +  +  +  +3x +3x +3x +  +  +  +  +1x +1x
import {INode} from "../../nodes/_inode";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import * as Basic from "../../types/basic";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class ComponentName {
+  public runSyntax(context: AbstractType | undefined, node: INode, input: SyntaxInput): AbstractType | undefined {
+    if (context instanceof Basic.VoidType) {
+      return context;
+    }
+ 
+    const nameToken = node.getFirstToken();
+    const name = nameToken.getStr();
+ 
+    if (context instanceof Basic.StructureType) {
+      const ret = context.getComponentByName(name);
+      if (ret === undefined) {
+        input.issues.push(syntaxIssue(input, nameToken, "Component \"" + name + "\" not found in structure"));
+        return new Basic.VoidType(CheckSyntaxKey);
+      }
+      return ret;
+    }
+ 
+    if (context instanceof Basic.TableType && context.isWithHeader() === true) {
+      const rowType = context.getRowType();
+      if (rowType instanceof Basic.VoidType) {
+        return context;
+      } else if (name.toUpperCase() === "TABLE_LINE") {
+        return rowType;
+      } else if (rowType instanceof Basic.StructureType) {
+        const ret = rowType.getComponentByName(name);
+        if (ret === undefined) {
+          input.issues.push(syntaxIssue(input, nameToken, "Component \"" + name + "\" not found in structure"));
+          return new Basic.VoidType(CheckSyntaxKey);
+        }
+        return ret;
+      }
+    }
+
+    input.issues.push(syntaxIssue(input, nameToken, "Not a structure, ComponentName, \"" + name + "\""));
+    return new Basic.VoidType(CheckSyntaxKey);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/cond.ts.html b/src/abap/5_syntax/expressions/cond.ts.html new file mode 100644 index 00000000000..c69d9a72419 --- /dev/null +++ b/src/abap/5_syntax/expressions/cond.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/cond.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions cond.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +206x +1x +1x +1x +1x +1x +206x +206x +221x +221x +206x +206x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {SyntaxInput} from "../_syntax_input";
+import {Compare} from "./compare";
+ 
+export class Cond {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): void {
+    for (const t of node.findDirectExpressions(Expressions.CondSub)) {
+      const c = t.findDirectExpression(Expressions.Cond);
+      if (c) {
+        new Cond().runSyntax(c, input);
+      }
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Compare)) {
+      new Compare().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/cond_body.ts.html b/src/abap/5_syntax/expressions/cond_body.ts.html new file mode 100644 index 00000000000..06182800fe7 --- /dev/null +++ b/src/abap/5_syntax/expressions/cond_body.ts.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/cond_body.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions cond_body.ts

+
+ +
+ 95.34% + Statements + 41/43 +
+ + +
+ 87.5% + Branches + 7/8 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 95.34% + Lines + 41/43 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +431x +1x +1x +1x +1x +1x +1x +1x +1x +1x +32x +32x +32x +32x +  +  +32x +32x +32x +32x +10x +10x +32x +32x +34x +34x +32x +32x +32x +57x +30x +57x +27x +27x +57x +32x +32x +10x +10x +32x +32x +32x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {Let} from "./let";
+import {Cond} from "./cond";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CondBody {
+  public runSyntax(
+    node: ExpressionNode | undefined,
+    input: SyntaxInput): AbstractType | undefined {
+ 
+    if (node === undefined) {
+      return undefined;
+    }
+ 
+    let scoped = false;
+    const l = node.findDirectExpression(Expressions.Let);
+    if (l) {
+      scoped = new Let().runSyntax(l, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Cond)) {
+      new Cond().runSyntax(s, input);
+    }
+ 
+    let type: AbstractType | undefined = undefined;
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      if (type === undefined) {
+        type = new Source().runSyntax(s, input);
+      } else {
+        new Source().runSyntax(s, input);
+      }
+    }
+ 
+    if (scoped === true) {
+      input.scope.pop(node.getLastToken().getEnd());
+    }
+ 
+    return type;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/constant.ts.html b/src/abap/5_syntax/expressions/constant.ts.html new file mode 100644 index 00000000000..fa873ec7b2d --- /dev/null +++ b/src/abap/5_syntax/expressions/constant.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/constant.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions constant.ts

+
+ +
+ 92.3% + Statements + 24/26 +
+ + +
+ 85.71% + Branches + 6/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 92.3% + Lines + 24/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1096x +1096x +673x +673x +423x +423x +1096x +415x +415x +6x +6x +415x +1096x +8x +8x +  +  +1096x +1x
import {ExpressionNode} from "../../nodes";
+import {CharacterType, IntegerType, StringType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {Integer} from "../../2_statements/expressions";
+ 
+export class Constant {
+  public runSyntax(node: ExpressionNode): AbstractType {
+    // todo: ConcatenatedConstant is not used?
+    if (node.findDirectExpression(Integer)) {
+      return IntegerType.get({derivedFromConstant: true});
+    }
+ 
+    const first = node.getFirstToken().getStr();
+    if (first.startsWith("'")) {
+      let len = first.length - 2;
+      if (len <= 0) {
+        len = 1;
+      }
+      return new CharacterType(len, {derivedFromConstant: true});
+    } else if (first.startsWith("`")) {
+      return StringType.get({derivedFromConstant: true});
+    } else {
+      return StringType.get();
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/conv_body.ts.html b/src/abap/5_syntax/expressions/conv_body.ts.html new file mode 100644 index 00000000000..899bd3c4bca --- /dev/null +++ b/src/abap/5_syntax/expressions/conv_body.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/conv_body.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions conv_body.ts

+
+ +
+ 74.19% + Statements + 23/31 +
+ + +
+ 25% + Branches + 1/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 74.19% + Lines + 23/31 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20x +20x +20x +  +  +20x +20x +20x +  +  +  +  +20x +20x +20x +  +  +20x +20x +20x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {Let} from "./let";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {VoidType} from "../../types/basic";
+ 
+export class ConvBody {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): AbstractType | undefined {
+    let scoped = false;
+    const l = node.findDirectExpression(Expressions.Let);
+    if (l) {
+      scoped = new Let().runSyntax(l, input);
+    }
+ 
+    const s = node.findDirectExpression(Expressions.Source);
+    if (s === undefined) {
+      const message = "ConvBody, no source found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+    const sourceType = new Source().runSyntax(s, input);
+ 
+    if (scoped === true) {
+      input.scope.pop(node.getLastToken().getEnd());
+    }
+ 
+    return sourceType;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/corresponding_body.ts.html b/src/abap/5_syntax/expressions/corresponding_body.ts.html new file mode 100644 index 00000000000..c4fa520ad16 --- /dev/null +++ b/src/abap/5_syntax/expressions/corresponding_body.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/corresponding_body.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions corresponding_body.ts

+
+ +
+ 85.71% + Statements + 24/28 +
+ + +
+ 66.66% + Branches + 4/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 85.71% + Lines + 24/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +11x +11x +11x +11x +11x +  +  +11x +11x +11x +15x +15x +15x +  +  +15x +11x +11x +11x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CorrespondingBody {
+  public runSyntax(
+    node: ExpressionNode | undefined,
+    input: SyntaxInput,
+    targetType: AbstractType | undefined): AbstractType | undefined {
+ 
+    if (node === undefined) {
+      return targetType;
+    }
+ 
+    let type: AbstractType | undefined = undefined;
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      if (type === undefined) {
+        type = new Source().runSyntax(s, input);
+      } else {
+        new Source().runSyntax(s, input);
+      }
+    }
+ 
+    return targetType ? targetType : type;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/data_definition.ts.html b/src/abap/5_syntax/expressions/data_definition.ts.html new file mode 100644 index 00000000000..8e0ea475830 --- /dev/null +++ b/src/abap/5_syntax/expressions/data_definition.ts.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/data_definition.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions data_definition.ts

+
+ +
+ 81.81% + Statements + 36/44 +
+ + +
+ 91.66% + Branches + 11/12 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 81.81% + Lines + 36/44 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +441x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1979x +1979x +395x +395x +1584x +1584x +1584x +1979x +28x +28x +1584x +1584x +1584x +1979x +1x +1x +1583x +1583x +1979x +1581x +27x +1581x +1554x +1554x +1581x +  +  +  +  +  +  +  +  +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {UnknownType, VoidType} from "../../types/basic";
+import {BasicTypes} from "../basic_types";
+import {TypeTable} from "./type_table";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class DataDefinition {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): TypedIdentifier | undefined {
+    const tt = node.findFirstExpression(Expressions.TypeTable);
+    if (tt) {
+      return new TypeTable().runSyntax(node, input);
+    }
+ 
+    const valueNode = node.findFirstExpression(Expressions.Value);
+    let value: string | undefined = undefined;
+    if (valueNode) {
+      value = new BasicTypes(input).findValue(node);
+    }
+ 
+    const name = node.findFirstExpression(Expressions.DefinitionName);
+    const typeStructure = node.findFirstExpression(Expressions.TypeStructure);
+    if (typeStructure && name) {
+      return new TypedIdentifier(name.getFirstToken(), input.filename, new VoidType("DataDefinition, TypeStructure"));
+    }
+ 
+    const bfound = new BasicTypes(input).simpleType(node);
+    if (bfound) {
+      if (value) {
+        return new TypedIdentifier(bfound.getToken(), input.filename, bfound.getType(), bfound.getMeta(), value);
+      } else {
+        return bfound;
+      }
+    }
+
+    if (name) {
+      console.dir("undef");
+      return new TypedIdentifier(name.getFirstToken(), input.filename, new UnknownType("DataDefinition, fallback"));
+    }
+
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/database_table.ts.html b/src/abap/5_syntax/expressions/database_table.ts.html new file mode 100644 index 00000000000..50582bd69cd --- /dev/null +++ b/src/abap/5_syntax/expressions/database_table.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/database_table.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions database_table.ts

+
+ +
+ 100% + Statements + 30/30 +
+ + +
+ 100% + Branches + 9/9 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 30/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +301x +1x +1x +1x +1x +1x +1x +1x +1x +140x +140x +140x +10x +10x +10x +130x +130x +140x +14x +14x +140x +97x +116x +19x +19x +19x +130x +130x +130x +1x
import {DataDefinition, Table, View} from "../../../objects";
+import {ExpressionNode} from "../../nodes";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export type DatabaseTableSource = Table | DataDefinition | View | undefined;
+ 
+export class DatabaseTable {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): DatabaseTableSource {
+    const token = node.getFirstToken();
+    const name = token.getStr();
+    if (name === "(") {
+      // dynamic
+      return undefined;
+    }
+ 
+    const found = input.scope.getDDIC().lookupTableOrView2(name);
+    if (found === undefined && input.scope.getDDIC().inErrorNamespace(name) === true) {
+      const message = "Database table or view \"" + name + "\" not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+    } else if (found === undefined) {
+      input.scope.addReference(token, undefined, ReferenceType.TableVoidReference, input.filename);
+    } else {
+      input.scope.addReference(token, found.getIdentifier(), ReferenceType.TableReference, input.filename);
+      input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), {object: found, token: token, filename: input.filename});
+    }
+ 
+    return found;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/default.ts.html b/src/abap/5_syntax/expressions/default.ts.html new file mode 100644 index 00000000000..e939223e3db --- /dev/null +++ b/src/abap/5_syntax/expressions/default.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/default.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions default.ts

+
+ +
+ 86.95% + Statements + 20/23 +
+ + +
+ 75% + Branches + 3/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 86.95% + Lines + 20/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +12x +12x +12x +11x +11x +1x +1x +1x +1x +1x +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {FieldChain} from "./field_chain";
+import {ReferenceType} from "../_reference";
+import {Constant} from "./constant";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Default {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput) {
+ 
+    const chain = node.findDirectExpression(Expressions.FieldChain);
+    if (chain) {
+      return new FieldChain().runSyntax(chain, input, ReferenceType.DataReadReference);
+    }
+ 
+    const constant = node.findDirectExpression(Expressions.Constant);
+    if (constant) {
+      return new Constant().runSyntax(constant);
+    }
+
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/dereference.ts.html b/src/abap/5_syntax/expressions/dereference.ts.html new file mode 100644 index 00000000000..32c0f28efd2 --- /dev/null +++ b/src/abap/5_syntax/expressions/dereference.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/dereference.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions dereference.ts

+
+ +
+ 83.33% + Statements + 20/24 +
+ + +
+ 88.88% + Branches + 8/9 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 83.33% + Lines + 20/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +13x +13x +13x +13x +13x +4x +4x +9x +13x +  +  +  +  +9x +9x +9x +1x
import {INode} from "../../nodes/_inode";
+import {AnyType, DataReference, DataType, UnknownType, VoidType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Dereference {
+  public runSyntax(node: INode, type: AbstractType | undefined, input: SyntaxInput): AbstractType | undefined {
+    if (type instanceof VoidType
+        || type instanceof AnyType
+        || type instanceof DataType
+        || type === undefined
+        || type instanceof UnknownType) {
+      return type;
+    }
+ 
+    if (!(type instanceof DataReference)) {
+      const message = "Not a data reference, cannot be dereferenced";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    return type.getType();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/dynamic.ts.html b/src/abap/5_syntax/expressions/dynamic.ts.html new file mode 100644 index 00000000000..44be300b5a8 --- /dev/null +++ b/src/abap/5_syntax/expressions/dynamic.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/dynamic.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions dynamic.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +48x +48x +48x +29x +29x +48x +48x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {FieldChain} from "./field_chain";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Dynamic {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput) {
+ 
+    const chain = node.findDirectExpression(Expressions.FieldChain);
+    if (chain) {
+      new FieldChain().runSyntax(chain, input, ReferenceType.DataReadReference);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/field_assignment.ts.html b/src/abap/5_syntax/expressions/field_assignment.ts.html new file mode 100644 index 00000000000..526c6016545 --- /dev/null +++ b/src/abap/5_syntax/expressions/field_assignment.ts.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/field_assignment.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions field_assignment.ts

+
+ +
+ 84.31% + Statements + 43/51 +
+ + +
+ 84.61% + Branches + 11/13 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 84.31% + Lines + 43/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +511x +1x +1x +1x +1x +1x +1x +1x +1x +1x +95x +95x +95x +95x +95x +95x +  +  +  +  +95x +95x +95x +  +  +  +  +95x +95x +95x +71x +71x +73x +73x +72x +72x +2x +2x +2x +2x +72x +73x +69x +95x +8x +8x +93x +93x +93x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode, StatementNode} from "../../nodes";
+import {StructureType, VoidType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {Source} from "./source";
+ 
+export class FieldAssignment {
+ 
+  public runSyntax(
+    node: ExpressionNode | StatementNode,
+    input: SyntaxInput,
+    targetType: AbstractType | undefined): void {
+ 
+    const fieldSub = node.findDirectExpression(Expressions.FieldSub);
+    if (fieldSub === undefined) {
+      const message = "FieldAssignment, FieldSub node not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const s = node.findDirectExpression(Expressions.Source);
+    if (s === undefined) {
+      const message = "FieldAssignment, Source node not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    let type: AbstractType | undefined = undefined;
+    if (targetType instanceof StructureType) {
+      let context: AbstractType | undefined = targetType;
+      for (const c of fieldSub.getChildren()) {
+        const text = c.concatTokens();
+        if (text !== "-" && context instanceof StructureType) {
+          context = context.getComponentByName(text);
+          if (context === undefined && targetType.containsVoid() === false) {
+            const message = `field ${text} does not exist in structure`;
+            input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+            return;
+          }
+        }
+      }
+      type = context;
+    } else if (targetType instanceof VoidType) {
+      type = targetType;
+    }
+ 
+    new Source().runSyntax(s, input, type);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/field_chain.ts.html b/src/abap/5_syntax/expressions/field_chain.ts.html new file mode 100644 index 00000000000..172baa34819 --- /dev/null +++ b/src/abap/5_syntax/expressions/field_chain.ts.html @@ -0,0 +1,622 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/field_chain.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions field_chain.ts

+
+ +
+ 86.66% + Statements + 156/180 +
+ + +
+ 88.15% + Branches + 67/76 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 86.66% + Lines + 156/180 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +1801x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1928x +1928x +1928x +1928x +1928x +1928x +215x +215x +215x +215x +215x +215x +2x +2x +2x +2x +2x +2x +215x +1926x +1926x +1926x +1926x +1926x +1928x +796x +796x +  +  +796x +796x +1x +1x +1x +796x +249x +  +  +  +249x +249x +249x +6x +6x +6x +8x +8x +6x +6x +6x +6x +1x +1x +6x +  +  +  +  +6x +  +  +  +  +6x +795x +55x +55x +55x +  +  +  +  +546x +6x +491x +249x +10x +10x +249x +485x +236x +46x +1x +1x +1x +1x +45x +46x +31x +31x +236x +101x +190x +19x +19x +7x +2x +7x +2x +2x +7x +89x +20x +20x +13x +3x +13x +2x +2x +13x +20x +796x +796x +1924x +1924x +1924x +1x +1x +1x +1x +1926x +1926x +1926x +1926x +1926x +  +  +1926x +1926x +1926x +79x +1926x +1847x +1801x +1847x +46x +46x +46x +  +  +46x +46x +25x +25x +46x +17x +17x +17x +21x +4x +4x +4x +4x +46x +  +  +  +1x +1x
import {ExpressionNode} from "../../nodes";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {INode} from "../../nodes/_inode";
+import * as Expressions from "../../2_statements/expressions";
+import {Dash, DashW, InstanceArrow} from "../../1_lexer/tokens";
+import {StructureType, ObjectReferenceType, VoidType, DataReference, TableType, UnknownType, GenericObjectReferenceType, CharacterType, HexType} from "../../types/basic";
+import {ComponentName} from "./component_name";
+import {AttributeName} from "./attribute_name";
+import {ReferenceType} from "../_reference";
+import {FieldOffset} from "./field_offset";
+import {FieldLength} from "./field_length";
+import {TableExpression} from "./table_expression";
+import {Dereference as DereferenceExpression} from "../../2_statements/expressions";
+import {Dereference} from "./dereference";
+import {SourceFieldSymbol} from "./source_field_symbol";
+import {SourceField} from "./source_field";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class FieldChain {
+ 
+  public runSyntax(
+    node: ExpressionNode,
+    input: SyntaxInput,
+    refType?: ReferenceType | ReferenceType[] | undefined): AbstractType | undefined {
+ 
+    if (node.getFirstChild()?.get() instanceof Expressions.SourceField
+        && node.findDirectExpression(Expressions.ComponentName)) {
+      // workaround for names with dashes, eg. "sy-repid"
+      const concat = node.concatTokens();
+      const offset = node.findDirectExpression(Expressions.FieldOffset)?.concatTokens() || "";
+      const length = node.findDirectExpression(Expressions.FieldLength)?.concatTokens() || "";
+      const found = input.scope.findVariable(concat.replace(offset, "").replace(length, ""));
+      if (found) {
+        if (refType) {
+          input.scope.addReference(node.getFirstToken(), found, refType, input.filename);
+        }
+        // this is not completely correct, but will work, dashes in names is a mess anyhow
+        return found.getType();
+      }
+    }
+ 
+    let context: AbstractType | undefined = undefined;
+    const children = node.getChildren();
+    context = this.findTop(children[0], input, refType);
+ 
+    for (let i = 1; i < children.length; i++) {
+      const current = children[i];
+      if (current === undefined) {
+        break;
+      }
+ 
+      if (current.get() instanceof DashW) {
+        const message = "Ending with dash";
+        input.issues.push(syntaxIssue(input, current.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      } else if (current.get() instanceof Dash) {
+        if (context instanceof UnknownType) {
+          const message = "Not a structure, type unknown, FieldChain";
+          input.issues.push(syntaxIssue(input, current.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        } else if (!(context instanceof StructureType)
+            && !(context instanceof TableType && context.isWithHeader())
+            && !(context instanceof VoidType)) {
+          if (context instanceof TableType && context.isWithHeader() === false) {
+            let contextName = "";
+            for (let j = 0; j < i; j++) {
+              contextName += children[j].concatTokens();
+            }
+            if (input.scope.isAllowHeaderUse(contextName)) {
+              // FOR ALL ENTRIES workaround
+              context = context.getRowType();
+              if (!(context instanceof StructureType) && !(context instanceof VoidType)) {
+                context = new StructureType([{name: "TABLE_LINE", type: context}]);
+              }
+            } else {
+              const message = "Table without header, cannot access fields, " + contextName;
+              input.issues.push(syntaxIssue(input, current.getFirstToken(), message));
+              return new VoidType(CheckSyntaxKey);
+            }
+          } else {
+            const message = "Not a structure, FieldChain";
+            input.issues.push(syntaxIssue(input, current.getFirstToken(), message));
+            return new VoidType(CheckSyntaxKey);
+          }
+        }
+      } else if (current.get() instanceof InstanceArrow) {
+        if (!(context instanceof ObjectReferenceType)
+            && !(context instanceof DataReference)
+            && !(context instanceof VoidType)) {
+          const message = "Not an object reference, field chain";
+          input.issues.push(syntaxIssue(input, current.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+      } else if (current.get() instanceof DereferenceExpression) {
+        context = new Dereference().runSyntax(current, context, input);
+      } else if (current.get() instanceof Expressions.ComponentName) {
+        if (context instanceof TableType && context.isWithHeader()) {
+          context = context.getRowType();
+        }
+        context = new ComponentName().runSyntax(context, current, input);
+      } else if (current instanceof ExpressionNode
+          && current.get() instanceof Expressions.TableExpression) {
+        if (!(context instanceof TableType) && !(context instanceof VoidType)) {
+          const message = "Table expression, expected table";
+          input.issues.push(syntaxIssue(input, current.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+        new TableExpression().runSyntax(current, input);
+        if (!(context instanceof VoidType)) {
+          context = context.getRowType();
+        }
+      } else if (current.get() instanceof Expressions.AttributeName) {
+        context = new AttributeName().runSyntax(context, current, input, refType);
+      } else if (current.get() instanceof Expressions.FieldOffset && current instanceof ExpressionNode) {
+        const offset = new FieldOffset().runSyntax(current, input);
+        if (offset) {
+          if (context instanceof CharacterType) {
+            context = new CharacterType(context.getLength() - offset);
+          } else if (context instanceof HexType) {
+            context = new HexType(context.getLength() - offset);
+          }
+        }
+      } else if (current.get() instanceof Expressions.FieldLength && current instanceof ExpressionNode) {
+        const length = new FieldLength().runSyntax(current, input);
+        if (length) {
+          if (context instanceof CharacterType) {
+            context = new CharacterType(length);
+          } else if (context instanceof HexType) {
+            context = new HexType(length);
+          }
+        }
+      }
+ 
+    }
+ 
+    return context;
+  }
+ 
+  ////////////////
+ 
+  private findTop(
+    node: INode | undefined,
+    input: SyntaxInput,
+    type: ReferenceType | ReferenceType[] | undefined): AbstractType | undefined {
+ 
+    if (node === undefined) {
+      return undefined;
+    }
+ 
+    if (node instanceof ExpressionNode
+        && node.get() instanceof Expressions.SourceFieldSymbol) {
+      return new SourceFieldSymbol().runSyntax(node, input);
+    } else if (node instanceof ExpressionNode
+        && node.get() instanceof Expressions.SourceField) {
+      return new SourceField().runSyntax(node, input, type);
+    } else if (node.get() instanceof Expressions.ClassName) {
+      const classTok = node.getFirstToken();
+      const classNam = classTok.getStr();
+      if (classNam.toUpperCase() === "OBJECT") {
+        return new GenericObjectReferenceType();
+      }
+      const found = input.scope.existsObject(classNam);
+      if (found?.id) {
+        input.scope.addReference(classTok, found.id, ReferenceType.ObjectOrientedReference, input.filename);
+        return new ObjectReferenceType(found.id);
+      } else if (input.scope.getDDIC().inErrorNamespace(classNam) === false) {
+        input.scope.addReference(classTok, undefined,
+                                 ReferenceType.ObjectOrientedVoidReference, input.filename, {ooName: classNam.toUpperCase()});
+        return new VoidType(classNam);
+      } else {
+        const message = "Unknown class " + classNam;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+    }
+
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/field_length.ts.html b/src/abap/5_syntax/expressions/field_length.ts.html new file mode 100644 index 00000000000..ac534303442 --- /dev/null +++ b/src/abap/5_syntax/expressions/field_length.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/field_length.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions field_length.ts

+
+ +
+ 91.66% + Statements + 22/24 +
+ + +
+ 75% + Branches + 3/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 91.66% + Lines + 22/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +24x +24x +24x +8x +8x +24x +16x +16x +16x +  +  +16x +16x +24x +24x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput} from "../_syntax_input";
+import {FieldChain} from "./field_chain";
+ 
+export class FieldLength {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): number | undefined {
+ 
+    const field = node.findDirectExpression(Expressions.SimpleFieldChain2);
+    if (field) {
+      new FieldChain().runSyntax(field, input, ReferenceType.DataReadReference);
+      return undefined;
+    } else {
+      const children = node.getChildren();
+      const num = children[children.length - 2];
+      if (num.getLastToken().getStr() === "*") {
+        return undefined;
+      }
+      return parseInt(num.getLastToken().getStr(), 10);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/field_offset.ts.html b/src/abap/5_syntax/expressions/field_offset.ts.html new file mode 100644 index 00000000000..7c5ae081953 --- /dev/null +++ b/src/abap/5_syntax/expressions/field_offset.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/field_offset.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions field_offset.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +22x +22x +22x +13x +13x +22x +9x +9x +22x +22x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput} from "../_syntax_input";
+import {FieldChain} from "./field_chain";
+ 
+export class FieldOffset {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): number | undefined {
+ 
+    const field = node.findDirectExpression(Expressions.SimpleFieldChain2);
+    if (field) {
+      new FieldChain().runSyntax(field, input, ReferenceType.DataReadReference);
+      return undefined;
+    } else {
+      return parseInt(node.getLastToken().getStr(), 10);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/filter_body.ts.html b/src/abap/5_syntax/expressions/filter_body.ts.html new file mode 100644 index 00000000000..fe3769f791e --- /dev/null +++ b/src/abap/5_syntax/expressions/filter_body.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/filter_body.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions filter_body.ts

+
+ +
+ 85.71% + Statements + 24/28 +
+ + +
+ 25% + Branches + 1/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 85.71% + Lines + 24/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +  +  +5x +5x +5x +5x +5x +5x +  +  +5x +5x +5x +5x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class FilterBody {
+  public runSyntax(
+    node: ExpressionNode | undefined,
+    input: SyntaxInput,
+    targetType: AbstractType | undefined): AbstractType | undefined {
+ 
+    if (node === undefined) {
+      return targetType;
+    }
+ 
+    let type: AbstractType | undefined = undefined;
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      if (type === undefined) {
+        type = new Source().runSyntax(s, input);
+      } else {
+        new Source().runSyntax(s, input);
+      }
+    }
+ 
+    return type ? type : targetType;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/for.ts.html b/src/abap/5_syntax/expressions/for.ts.html new file mode 100644 index 00000000000..fa3ede34f79 --- /dev/null +++ b/src/abap/5_syntax/expressions/for.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/for.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions for.ts

+
+ +
+ 100% + Statements + 65/65 +
+ + +
+ 100% + Branches + 20/20 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 65/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +651x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +76x +76x +76x +76x +76x +76x +76x +76x +76x +76x +76x +76x +76x +76x +76x +76x +45x +45x +75x +76x +24x +24x +75x +76x +7x +7x +7x +7x +7x +75x +76x +14x +14x +75x +76x +2x +2x +75x +76x +24x +24x +75x +76x +4x +4x +75x +75x +75x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode, StatementNode} from "../../nodes";
+import {InlineFieldDefinition} from "./inline_field_definition";
+import {Source} from "./source";
+import {InlineLoopDefinition} from "./inline_loop_definition";
+import {ScopeType} from "../_scope_type";
+import {ComponentCond} from "./component_cond";
+import {Cond} from "./cond";
+import {VoidType} from "../../types/basic";
+import {IdentifierMeta, TypedIdentifier} from "../../types/_typed_identifier";
+import {ReferenceType} from "../_reference";
+import {Let} from "./let";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class For {
+  public runSyntax(node: ExpressionNode | StatementNode, input: SyntaxInput): boolean {
+    let scoped = false;
+    const inlineLoop = node.findDirectExpressions(Expressions.InlineLoopDefinition);
+    const inlineField = node.findDirectExpressions(Expressions.InlineFieldDefinition);
+    const groupsToken = node.findExpressionAfterToken("GROUPS")?.getFirstToken();
+    const lett = node.findDirectExpression(Expressions.Let);
+    const addScope = inlineLoop.length > 0
+      || inlineField.length > 0
+      || lett !== undefined
+      || groupsToken !== undefined;
+    if (addScope) {
+      // this scope is popped in parent expressions
+      input.scope.push(ScopeType.For, "FOR", node.getFirstToken().getStart(), input.filename);
+      scoped = true;
+    }
+ 
+    for (const s of inlineLoop) {
+      new InlineLoopDefinition().runSyntax(s, input);
+    }
+ 
+    for (const f of inlineField) {
+      new InlineFieldDefinition().runSyntax(f, input);
+    }
+ 
+    if (groupsToken !== undefined) {
+      const type = new VoidType("todoGroupBy");
+      const identifier = new TypedIdentifier(groupsToken, input.filename, type, [IdentifierMeta.InlineDefinition]);
+      input.scope.addIdentifier(identifier);
+      input.scope.addReference(groupsToken, identifier, ReferenceType.DataWriteReference, input.filename);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.ComponentCond)) {
+      new ComponentCond().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Cond)) {
+      new Cond().runSyntax(s, input);
+    }
+ 
+    if (lett) {
+      new Let().runSyntax(lett, input, true);
+    }
+ 
+    return scoped;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/form_param.ts.html b/src/abap/5_syntax/expressions/form_param.ts.html new file mode 100644 index 00000000000..ab358680db7 --- /dev/null +++ b/src/abap/5_syntax/expressions/form_param.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/form_param.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions form_param.ts

+
+ +
+ 80% + Statements + 36/45 +
+ + +
+ 71.42% + Branches + 10/14 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 80% + Lines + 36/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +451x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +50x +50x +50x +10x +10x +10x +10x +10x +10x +8x +8x +10x +  +  +10x +10x +40x +50x +20x +20x +20x +20x +20x +50x +20x +20x +  +  +  +  +  +  +  +1x
import {ExpressionNode} from "../../nodes";
+import {TypedIdentifier, IdentifierMeta} from "../../types/_typed_identifier";
+import {AnyType, UnknownType} from "../../types/basic";
+import {FormParamName, SimpleFieldChain} from "../../2_statements/expressions";
+import {BasicTypes} from "../basic_types";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class FormParam {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): TypedIdentifier {
+    const nameToken = node.findFirstExpression(FormParamName)?.getFirstToken();
+ 
+    if (node.findDirectTokenByText("STRUCTURE") && nameToken) {
+      // STRUCTURES typing
+      const typeName = node.findDirectExpression(SimpleFieldChain)?.getFirstToken().getStr();
+      let type: AbstractType | TypedIdentifier | undefined = undefined;
+      if (typeName) {
+        type = input.scope.findType(typeName)?.getType();
+        if (type === undefined) {
+          type = input.scope.getDDIC().lookupTableOrView(typeName).type;
+        }
+      } else {
+        type = new UnknownType("todo, FORM STRUCTURES typing");
+      }
+      return new TypedIdentifier(nameToken, input.filename, type, [IdentifierMeta.FormParameter]);
+    }
+ 
+    if (node.getChildren().length === 1 && nameToken) {
+      // untyped FORM parameter
+      return new TypedIdentifier(nameToken, input.filename, new AnyType(), [IdentifierMeta.FormParameter]);
+    }
+ 
+    const bfound = new BasicTypes(input).parseType(node);
+    if (nameToken && bfound) {
+      return new TypedIdentifier(nameToken, input.filename, bfound, [IdentifierMeta.FormParameter]);
+    }
+
+    if (nameToken) {
+      return new TypedIdentifier(nameToken, input.filename, new UnknownType("FormParam, todo"), [IdentifierMeta.FormParameter]);
+    }
+
+    throw new AssertError("FormParam, unexpected node");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/fstarget.ts.html b/src/abap/5_syntax/expressions/fstarget.ts.html new file mode 100644 index 00000000000..19cb299da86 --- /dev/null +++ b/src/abap/5_syntax/expressions/fstarget.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/fstarget.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions fstarget.ts

+
+ +
+ 100% + Statements + 29/29 +
+ + +
+ 71.42% + Branches + 5/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 29/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +101x +101x +101x +62x +62x +101x +101x +101x +39x +39x +39x +4x +4x +4x +4x +35x +35x +101x +101x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {InlineFS} from "./inline_fs";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class FSTarget {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, type: AbstractType | undefined): void {
+ 
+    const inlinefs = node?.findDirectExpression(Expressions.InlineFS);
+    if (inlinefs) {
+      new InlineFS().runSyntax(inlinefs, input, type);
+    }
+ 
+    const target = node?.findDirectExpression(Expressions.TargetFieldSymbol);
+    if (target) {
+      const token = target.getFirstToken();
+      const found = input.scope.findVariable(token.getStr());
+      if (found === undefined) {
+        const message = `"${token.getStr()}" not found, FSTarget`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      input.scope.addReference(token, found, ReferenceType.DataWriteReference, input.filename);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/index.html b/src/abap/5_syntax/expressions/index.html new file mode 100644 index 00000000000..6c237899d24 --- /dev/null +++ b/src/abap/5_syntax/expressions/index.html @@ -0,0 +1,1046 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions + + + + + + + + + +
+
+

All files src/abap/5_syntax/expressions

+
+ +
+ 88.41% + Statements + 3388/3832 +
+ + +
+ 81.69% + Branches + 973/1191 +
+ + +
+ 100% + Functions + 86/86 +
+ + +
+ 88.41% + Lines + 3388/3832 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
attribute_chain.ts +
+
71.66%43/6014.28%1/7100%1/171.66%43/60
attribute_name.ts +
+
88.23%75/8586.36%19/22100%1/188.23%75/85
cast.ts +
+
70%49/7063.63%14/22100%1/170%49/70
compare.ts +
+
100%24/24100%4/4100%1/1100%24/24
component_chain.ts +
+
81.37%83/10281.25%26/32100%1/181.37%83/102
component_compare.ts +
+
84.61%22/2666.66%2/3100%1/184.61%22/26
component_compare_simple.ts +
+
85.71%30/3575%6/8100%1/185.71%30/35
component_cond.ts +
+
79.16%19/2466.66%2/3100%1/179.16%19/24
component_name.ts +
+
79.54%35/4466.66%8/12100%1/179.54%35/44
cond.ts +
+
100%20/20100%3/3100%1/1100%20/20
cond_body.ts +
+
95.34%41/4387.5%7/8100%1/195.34%41/43
constant.ts +
+
92.3%24/2685.71%6/7100%1/192.3%24/26
conv_body.ts +
+
74.19%23/3125%1/4100%1/174.19%23/31
corresponding_body.ts +
+
85.71%24/2866.66%4/6100%1/185.71%24/28
data_definition.ts +
+
81.81%36/4491.66%11/12100%1/181.81%36/44
database_table.ts +
+
100%30/30100%9/9100%1/1100%30/30
default.ts +
+
86.95%20/2375%3/4100%1/186.95%20/23
dereference.ts +
+
83.33%20/2488.88%8/9100%1/183.33%20/24
dynamic.ts +
+
100%16/16100%2/2100%1/1100%16/16
field_assignment.ts +
+
84.31%43/5184.61%11/13100%1/184.31%43/51
field_chain.ts +
+
86.66%156/18088.15%67/76100%2/286.66%156/180
field_length.ts +
+
91.66%22/2475%3/4100%1/191.66%22/24
field_offset.ts +
+
100%19/19100%3/3100%1/1100%19/19
filter_body.ts +
+
85.71%24/2825%1/4100%1/185.71%24/28
for.ts +
+
100%65/65100%20/20100%1/1100%65/65
form_param.ts +
+
80%36/4571.42%10/14100%1/180%36/45
fstarget.ts +
+
100%29/2971.42%5/7100%1/1100%29/29
inline_data.ts +
+
83.33%25/3075%6/8100%1/183.33%25/30
inline_field_definition.ts +
+
92.45%49/5366.66%6/9100%1/192.45%49/53
inline_fs.ts +
+
78.26%18/2333.33%1/3100%1/178.26%18/23
inline_loop_definition.ts +
+
82.45%47/5780%12/15100%1/182.45%47/57
let.ts +
+
91.3%21/2375%3/4100%1/191.3%21/23
loop_group_by.ts +
+
93.75%30/3283.33%5/6100%1/193.75%30/32
message_source.ts +
+
100%34/3468.42%13/19100%1/1100%34/34
method_call_body.ts +
+
100%29/29100%4/4100%1/1100%29/29
method_call_chain.ts +
+
95%133/14088.57%62/70100%2/295%133/140
method_call_param.ts +
+
79.38%77/9784.37%27/32100%1/179.38%77/97
method_def_returning.ts +
+
81.81%27/3333.33%2/6100%1/181.81%27/33
method_param.ts +
+
82.6%38/4666.66%8/12100%1/182.6%38/46
method_parameters.ts +
+
80.27%232/28965.11%56/86100%9/980.27%232/289
method_source.ts +
+
84.84%140/16577.77%49/63100%2/284.84%140/165
new_object.ts +
+
92.71%140/15185.45%47/55100%3/392.71%140/151
raise_with.ts +
+
100%12/12100%2/2100%1/1100%12/12
reduce_body.ts +
+
92.3%72/7866.66%8/12100%1/192.3%72/78
reduce_next.ts +
+
90.47%19/2175%3/4100%1/190.47%19/21
select.ts +
+
86.03%228/26584.88%73/86100%5/586.03%228/265
select_loop.ts +
+
100%10/10100%1/1100%1/1100%10/10
source.ts +
+
97.03%327/33793.18%123/132100%5/597.03%327/337
source_field.ts +
+
100%33/33100%5/5100%1/1100%33/33
source_field_symbol.ts +
+
100%19/19100%3/3100%1/1100%19/19
sql_compare.ts +
+
92.13%82/8975%30/40100%2/292.13%82/89
sql_for_all_entries.ts +
+
86.66%26/3080%4/5100%1/186.66%26/30
sql_from.ts +
+
100%25/25100%4/4100%1/1100%25/25
sql_in.ts +
+
100%36/36100%7/7100%1/1100%36/36
sql_order_by.ts +
+
100%15/15100%2/2100%1/1100%15/15
sql_source.ts +
+
100%19/19100%5/5100%1/1100%19/19
string_template.ts +
+
90.38%47/5288.88%24/27100%1/190.38%47/52
switch_body.ts +
+
80.64%25/3157.14%4/7100%1/180.64%25/31
table_expression.ts +
+
87.5%14/1666.66%2/3100%1/187.5%14/16
target.ts +
+
85.08%154/18180.51%62/77100%2/285.08%154/181
type_table.ts +
+
91.11%41/4583.33%10/12100%1/191.11%41/45
type_table_key.ts +
+
100%23/23100%8/8100%1/1100%23/23
value_body.ts +
+
95.87%93/9792.3%36/39100%1/195.87%93/97
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/inline_data.ts.html b/src/abap/5_syntax/expressions/inline_data.ts.html new file mode 100644 index 00000000000..277d0faa28c --- /dev/null +++ b/src/abap/5_syntax/expressions/inline_data.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/inline_data.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions inline_data.ts

+
+ +
+ 83.33% + Statements + 25/30 +
+ + +
+ 75% + Branches + 6/8 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 83.33% + Lines + 25/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +301x +1x +1x +1x +1x +1x +1x +1x +1x +1x +410x +410x +410x +2x +410x +1x +1x +1x +1x +409x +409x +409x +410x +  +  +  +  +  +410x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {TypedIdentifier, IdentifierMeta} from "../../types/_typed_identifier";
+import {CGenericType, CLikeType, CSequenceType, StringType, UnknownType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class InlineData {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, type: AbstractType | undefined): void {
+    const token = node.findFirstExpression(Expressions.TargetField)?.getFirstToken();
+    if (token && type) {
+      if (type instanceof CSequenceType || type instanceof CLikeType) {
+        type = StringType.get();
+      } else if (type instanceof CGenericType) {
+        const message = "InlineData, generic type C cannot be used for inferred type";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      const identifier = new TypedIdentifier(token, input.filename, type, [IdentifierMeta.InlineDefinition]);
+      input.scope.addIdentifier(identifier);
+      input.scope.addReference(token, identifier, ReferenceType.DataWriteReference, input.filename);
+    } else if (token) {
+      const message = "InlineData, could not determine type for \"" + token.getStr() + "\"";
+      const identifier = new TypedIdentifier(token, input.filename, new UnknownType(message), [IdentifierMeta.InlineDefinition]);
+      input.scope.addIdentifier(identifier);
+      input.scope.addReference(token, identifier, ReferenceType.DataWriteReference, input.filename);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/inline_field_definition.ts.html b/src/abap/5_syntax/expressions/inline_field_definition.ts.html new file mode 100644 index 00000000000..b7af728ba61 --- /dev/null +++ b/src/abap/5_syntax/expressions/inline_field_definition.ts.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/inline_field_definition.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions inline_field_definition.ts

+
+ +
+ 92.45% + Statements + 49/53 +
+ + +
+ 66.66% + Branches + 6/9 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 92.45% + Lines + 49/53 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +531x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +101x +101x +101x +101x +101x +101x +101x +101x +  +  +101x +101x +101x +99x +99x +101x +101x +2x +2x +101x +47x +47x +101x +  +  +101x +101x +101x +1x +1x +1x +1x +100x +100x +100x +100x +100x +100x +100x +1x
import {ExpressionNode, StatementNode} from "../../nodes";
+import {TypedIdentifier, IdentifierMeta} from "../../types/_typed_identifier";
+import {Source} from "./source";
+import * as Expressions from "../../2_statements/expressions";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {BasicTypes} from "../basic_types";
+import {UnknownType} from "../../types/basic/unknown_type";
+import {ReferenceType} from "../_reference";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {VoidType} from "../../types/basic";
+ 
+export class InlineFieldDefinition {
+  public runSyntax(
+    node: ExpressionNode | StatementNode,
+    input: SyntaxInput,
+    targetType?: AbstractType): AbstractType | undefined {
+ 
+    let type: AbstractType | undefined = undefined;
+ 
+    const field = node.findDirectExpression(Expressions.Field)?.getFirstToken();
+    if (field === undefined) {
+      return undefined;
+    }
+ 
+    const source = node.findDirectExpression(Expressions.Source);
+    if (source) {
+      type = new Source().runSyntax(source, input);
+    }
+    const typeName = node.findDirectExpression(Expressions.TypeName);
+    if (typeName) {
+      type = new BasicTypes(input).parseType(typeName);
+    }
+    if (targetType !== undefined) {
+      type = targetType;
+    }
+    if (type === undefined) {
+      type = new UnknownType("InlineFieldDefinition, fallback");
+    }
+ 
+    const name = field.getStr();
+    if (input.scope.findVariable(name) !== undefined) {
+      const message = `Variable ${name} already defined`;
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    const identifier = new TypedIdentifier(field, input.filename, type, [IdentifierMeta.InlineDefinition]);
+    input.scope.addReference(field, identifier, ReferenceType.DataWriteReference, input.filename);
+    input.scope.addIdentifier(identifier);
+ 
+    return type;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/inline_fs.ts.html b/src/abap/5_syntax/expressions/inline_fs.ts.html new file mode 100644 index 00000000000..d1fbbe2e3b5 --- /dev/null +++ b/src/abap/5_syntax/expressions/inline_fs.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/inline_fs.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions inline_fs.ts

+
+ +
+ 78.26% + Statements + 18/23 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 78.26% + Lines + 18/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +1x +66x +66x +66x +66x +66x +66x +  +  +  +  +  +66x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {TypedIdentifier, IdentifierMeta} from "../../types/_typed_identifier";
+import {UnknownType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class InlineFS {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, type: AbstractType | undefined): void {
+    const token = node.findFirstExpression(Expressions.TargetFieldSymbol)?.getFirstToken();
+    if (token && type) {
+      const identifier = new TypedIdentifier(token, input.filename, type, [IdentifierMeta.InlineDefinition]);
+      input.scope.addIdentifier(identifier);
+      input.scope.addReference(token, identifier, ReferenceType.DataWriteReference, input.filename);
+    } else if (token) {
+      const message = "InlineFS, could not determine type for \"" + token.getStr() + "\"";
+      const identifier = new TypedIdentifier(token, input.filename, new UnknownType(message), [IdentifierMeta.InlineDefinition]);
+      input.scope.addIdentifier(identifier);
+      input.scope.addReference(token, identifier, ReferenceType.DataWriteReference, input.filename);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/inline_loop_definition.ts.html b/src/abap/5_syntax/expressions/inline_loop_definition.ts.html new file mode 100644 index 00000000000..060c25971a5 --- /dev/null +++ b/src/abap/5_syntax/expressions/inline_loop_definition.ts.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/inline_loop_definition.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions inline_loop_definition.ts

+
+ +
+ 82.45% + Statements + 47/57 +
+ + +
+ 80% + Branches + 12/15 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 82.45% + Lines + 47/57 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +571x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +45x +  +  +45x +45x +45x +5x +5x +45x +45x +45x +45x +45x +45x +39x +45x +5x +6x +  +  +  +  +45x +45x +45x +1x +45x +  +  +  +  +45x +45x +45x +45x +45x +45x +45x +45x +4x +4x +4x +4x +45x +45x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {Source} from "./source";
+import {IntegerType, TableType, UnknownType, VoidType} from "../../types/basic";
+import {IdentifierMeta, TypedIdentifier} from "../../types/_typed_identifier";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class InlineLoopDefinition {
+  public runSyntax(node: ExpressionNode | undefined, input: SyntaxInput): void {
+    if (node === undefined) {
+      return;
+    }
+ 
+    let target = node.findDirectExpression(Expressions.TargetField);
+    if (target === undefined) {
+      target = node.findDirectExpression(Expressions.TargetFieldSymbol);
+    }
+    const source = node.findDirectExpression(Expressions.Source);
+ 
+    if (source && target) {
+      const sourceType = new Source().runSyntax(source, input);
+      let rowType: AbstractType | undefined = undefined;
+      if (sourceType instanceof TableType) {
+        rowType = sourceType.getRowType();
+      } else if (sourceType instanceof VoidType) {
+        rowType = sourceType;
+      } else if (sourceType instanceof UnknownType) {
+        const message = "Unknown type, " + sourceType.getError();
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      if (rowType === undefined
+          && node.concatTokens().toUpperCase().includes(" IN GROUP ")
+          && sourceType !== undefined) {
+        rowType = sourceType;
+      } else if (rowType === undefined) {
+        const message = "InlineLoopDefinition, not a table type";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      const identifier = new TypedIdentifier(target.getFirstToken(), input.filename, rowType, [IdentifierMeta.InlineDefinition]);
+      input.scope.addReference(target.getFirstToken(), identifier, ReferenceType.DataWriteReference, input.filename);
+      input.scope.addReference(target.getFirstToken(), identifier, ReferenceType.DataReadReference, input.filename);
+      input.scope.addIdentifier(identifier);
+    }
+ 
+    const index = node.findExpressionAfterToken("INTO");
+    if (index && index.get() instanceof Expressions.TargetField) {
+      const identifier = new TypedIdentifier(index.getFirstToken(), input.filename, IntegerType.get(), [IdentifierMeta.InlineDefinition]);
+      input.scope.addReference(index.getFirstToken(), identifier, ReferenceType.DataWriteReference, input.filename);
+      input.scope.addIdentifier(identifier);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/let.ts.html b/src/abap/5_syntax/expressions/let.ts.html new file mode 100644 index 00000000000..6cf5cec4353 --- /dev/null +++ b/src/abap/5_syntax/expressions/let.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/let.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions let.ts

+
+ +
+ 91.3% + Statements + 21/23 +
+ + +
+ 75% + Branches + 3/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 91.3% + Lines + 21/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +26x +  +  +26x +26x +22x +22x +26x +26x +30x +30x +26x +26x +26x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {InlineFieldDefinition} from "./inline_field_definition";
+import {ScopeType} from "../_scope_type";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Let {
+  public runSyntax(node: ExpressionNode | undefined, input: SyntaxInput, skipScope = false): boolean {
+    if (node === undefined) {
+      return false;
+    }
+ 
+    if (skipScope !== true) {
+      input.scope.push(ScopeType.Let, "LET", node.getFirstToken().getStart(), input.filename);
+    }
+ 
+    for (const f of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {
+      new InlineFieldDefinition().runSyntax(f, input);
+    }
+ 
+    return true;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/loop_group_by.ts.html b/src/abap/5_syntax/expressions/loop_group_by.ts.html new file mode 100644 index 00000000000..1ac808c66ab --- /dev/null +++ b/src/abap/5_syntax/expressions/loop_group_by.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/loop_group_by.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions loop_group_by.ts

+
+ +
+ 93.75% + Statements + 30/32 +
+ + +
+ 83.33% + Branches + 5/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 93.75% + Lines + 30/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20x +20x +12x +12x +12x +12x +  +  +12x +20x +7x +7x +20x +20x +18x +15x +15x +18x +20x +20x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {VoidType} from "../../types/basic";
+import {ComponentCompare} from "./component_compare";
+import {InlineData} from "./inline_data";
+import {FSTarget} from "./fstarget";
+import {Target} from "./target";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class LoopGroupBy {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): void {
+ 
+    for (const t of node.findAllExpressions(Expressions.Target)) {
+      const inline = t.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, new VoidType("todoGroupBy"));
+      } else {
+        new Target().runSyntax(t, input);
+      }
+    }
+    for (const t of node.findAllExpressions(Expressions.FSTarget)) {
+      new FSTarget().runSyntax(t, input, new VoidType("todoGroupBy"));
+    }
+ 
+    for (const c of node.findDirectExpressions(Expressions.LoopGroupByComponent)) {
+      for (const t of c.findDirectExpressions(Expressions.ComponentCompareSingle)) {
+        new ComponentCompare().runSyntax(t, input);
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/message_source.ts.html b/src/abap/5_syntax/expressions/message_source.ts.html new file mode 100644 index 00000000000..aa5b2d4ef21 --- /dev/null +++ b/src/abap/5_syntax/expressions/message_source.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/message_source.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions message_source.ts

+
+ +
+ 100% + Statements + 34/34 +
+ + +
+ 68.42% + Branches + 13/19 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 34/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +1x +29x +20x +20x +29x +29x +7x +7x +7x +6x +6x +5x +5x +6x +7x +6x +6x +6x +29x +22x +22x +22x +22x +21x +21x +22x +29x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class MessageSource {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput) {
+    for (const f of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(f, input);
+    }
+ 
+    if (node.getFirstToken().getStr().toUpperCase() === "ID") {
+      const id = node.findExpressionAfterToken("ID")?.concatTokens();
+      let number = node.findDirectExpression(Expressions.MessageNumber)?.concatTokens();
+      if (number === undefined) {
+        const num = node.findExpressionAfterToken("NUMBER")?.concatTokens();
+        if (num?.startsWith("'")) {
+          number = num.substring(1, num.length - 1).toUpperCase();
+        }
+      }
+      if (id?.startsWith("'") && number) {
+        const messageClass = id.substring(1, id.length - 1).toUpperCase();
+        input.scope.getMSAGReferences().addUsing(input.filename, node.getFirstToken(), messageClass, number);
+      }
+    } else {
+      const typeAndNumber = node.findDirectExpression(Expressions.MessageTypeAndNumber)?.concatTokens();
+      const messageNumber = typeAndNumber?.substring(1);
+      const messageClass = node.findDirectExpression(Expressions.MessageClass)?.concatTokens().toUpperCase();
+      if (messageNumber && messageClass) {
+        input.scope.getMSAGReferences().addUsing(input.filename, node.getFirstToken(), messageClass, messageNumber);
+      }
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/method_call_body.ts.html b/src/abap/5_syntax/expressions/method_call_body.ts.html new file mode 100644 index 00000000000..4daa1b8e20b --- /dev/null +++ b/src/abap/5_syntax/expressions/method_call_body.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/method_call_body.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions method_call_body.ts

+
+ +
+ 100% + Statements + 29/29 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 29/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +13x +13x +8x +8x +13x +13x +13x +4x +4x +13x +13x +13x +1x +1x +13x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {MethodParameters} from "./method_parameters";
+import {IMethodDefinition} from "../../types/_method_definition";
+import {VoidType} from "../../types/basic/void_type";
+import {Source} from "./source";
+import {MethodCallParam} from "./method_call_param";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class MethodCallBody {
+ 
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, method: IMethodDefinition | VoidType): void {
+    const parameters = node.findDirectExpression(Expressions.MethodParameters);
+    if (parameters) {
+      new MethodParameters().runSyntax(parameters, input, method);
+    }
+ 
+    const param = node.findDirectExpression(Expressions.MethodCallParam);
+    if (param) {
+      new MethodCallParam().runSyntax(param, input, method);
+    }
+ 
+    // for PARAMETER-TABLE and EXCEPTION-TABLE
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/method_call_chain.ts.html b/src/abap/5_syntax/expressions/method_call_chain.ts.html new file mode 100644 index 00000000000..801c2c680d7 --- /dev/null +++ b/src/abap/5_syntax/expressions/method_call_chain.ts.html @@ -0,0 +1,502 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/method_call_chain.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions method_call_chain.ts

+
+ +
+ 95% + Statements + 133/140 +
+ + +
+ 88.57% + Branches + 62/70 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 95% + Lines + 133/140 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +1401x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +396x +396x +396x +396x +396x +396x +396x +396x +396x +  +  +  +  +396x +396x +396x +175x +175x +396x +396x +396x +485x +485x +  +  +485x +485x +329x +329x +329x +329x +329x +329x +329x +329x +80x +80x +75x +75x +329x +249x +1x +1x +1x +1x +248x +249x +249x +249x +249x +329x +8x +8x +8x +8x +8x +8x +328x +329x +2x +329x +8x +8x +8x +326x +279x +279x +279x +320x +320x +329x +279x +329x +39x +39x +485x +  +156x +1x +1x +476x +476x +476x +387x +387x +387x +1x +1x +1x +1x +396x +97x +97x +97x +97x +20x +20x +20x +97x +3x +3x +3x +3x +74x +74x +396x +40x +299x +74x +259x +10x +185x +175x +175x +98x +98x +175x +77x +77x +1x +1x
import {ExpressionNode, TokenNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {VoidType, ObjectReferenceType} from "../../types/basic";
+import {FieldChain} from "./field_chain";
+import {INode} from "../../nodes/_inode";
+import {ObjectOriented} from "../_object_oriented";
+import {NewObject} from "./new_object";
+import {Cast} from "./cast";
+import {BuiltIn} from "../_builtin";
+import {MethodCallParam} from "./method_call_param";
+import {IReferenceExtras, ReferenceType} from "../_reference";
+import {ComponentName} from "./component_name";
+import {AttributeName} from "./attribute_name";
+import {ClassDefinition} from "../../types/class_definition";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class MethodCallChain {
+  public runSyntax(
+    node: ExpressionNode,
+    input: SyntaxInput,
+    targetType?: AbstractType): AbstractType | undefined {
+ 
+    const helper = new ObjectOriented(input.scope);
+    const children = node.getChildren().slice();
+ 
+    const first = children.shift();
+    if (first === undefined) {
+      const message = "MethodCallChain, first child expected";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    let context: AbstractType | undefined = this.findTop(first, input, targetType);
+    if (first.get() instanceof Expressions.MethodCall) {
+      children.unshift(first);
+    }
+ 
+    let previous: ExpressionNode | TokenNode | undefined = undefined;
+    while (children.length > 0) {
+      const current = children.shift();
+      if (current === undefined) {
+        break;
+      }
+ 
+      if (current instanceof ExpressionNode && current.get() instanceof Expressions.MethodCall) {
+        // for built-in methods set className to undefined
+        const className = context instanceof ObjectReferenceType ? context.getIdentifierName() : undefined;
+        const methodToken = current.findDirectExpression(Expressions.MethodName)?.getFirstToken();
+        const methodName = methodToken?.getStr();
+        const def = input.scope.findObjectDefinition(className);
+        // eslint-disable-next-line prefer-const
+        let {method, def: foundDef} = helper.searchMethodName(def, methodName);
+        if (method === undefined && current === first) {
+          method = new BuiltIn().searchBuiltin(methodName?.toUpperCase());
+          if (method) {
+            input.scope.addReference(methodToken, method, ReferenceType.BuiltinMethodReference, input.filename);
+          }
+        } else {
+          if (previous && previous.getFirstToken().getStr() === "=>" && method?.isStatic() === false) {
+            const message = "Method \"" + methodName + "\" not static";
+            input.issues.push(syntaxIssue(input, methodToken!, message));
+            return new VoidType(CheckSyntaxKey);
+          }
+          const extra: IReferenceExtras = {
+            ooName: foundDef?.getName(),
+            ooType: foundDef instanceof ClassDefinition ? "CLAS" : "INTF"};
+          input.scope.addReference(methodToken, method, ReferenceType.MethodReference, input.filename, extra);
+        }
+        if (methodName?.includes("~")) {
+          const name = methodName.split("~")[0];
+          const idef = input.scope.findInterfaceDefinition(name);
+          if (idef) {
+            input.scope.addReference(methodToken, idef, ReferenceType.ObjectOrientedReference, input.filename);
+          }
+        }
+ 
+        if (method === undefined && methodName?.toUpperCase() === "CONSTRUCTOR") {
+          context = undefined; // todo, this is a workaround, constructors always exists
+        } else if (method === undefined && !(context instanceof VoidType)) {
+          const message = "Method \"" + methodName + "\" not found, methodCallChain";
+          input.issues.push(syntaxIssue(input, methodToken!, message));
+          return new VoidType(CheckSyntaxKey);
+        } else if (method) {
+          const ret = method.getParameters().getReturning()?.getType();
+          context = ret;
+        }
+ 
+        const param = current.findDirectExpression(Expressions.MethodCallParam);
+        if (param && method) {
+          new MethodCallParam().runSyntax(param, input, method);
+        } else if (param && context instanceof VoidType) {
+          new MethodCallParam().runSyntax(param, input, context);
+        }
+      } else if (current instanceof ExpressionNode && current.get() instanceof Expressions.ComponentName) {
+        context = new ComponentName().runSyntax(context, current, input);
+      } else if (current instanceof ExpressionNode && current.get() instanceof Expressions.AttributeName) {
+        context = new AttributeName().runSyntax(context, current, input);
+      }
+ 
+      previous = current;
+    }
+ 
+    return context;
+  }
+ 
+//////////////////////////////////////
+ 
+  private findTop(first: INode, input: SyntaxInput, targetType: AbstractType | undefined): AbstractType | undefined {
+    if (first.get() instanceof Expressions.ClassName) {
+      const token = first.getFirstToken();
+      const className = token.getStr();
+      const classDefinition = input.scope.findObjectDefinition(className);
+      if (classDefinition === undefined && input.scope.getDDIC().inErrorNamespace(className) === false) {
+        const extra: IReferenceExtras = {ooName: className, ooType: "Void"};
+        input.scope.addReference(token, undefined, ReferenceType.ObjectOrientedVoidReference, input.filename, extra);
+        return new VoidType(className);
+      } else if (classDefinition === undefined) {
+        const message = "Class " + className + " not found";
+        input.issues.push(syntaxIssue(input, first.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+      input.scope.addReference(first.getFirstToken(), classDefinition, ReferenceType.ObjectOrientedReference, input.filename);
+      return new ObjectReferenceType(classDefinition);
+    } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.FieldChain) {
+      return new FieldChain().runSyntax(first, input, ReferenceType.DataReadReference);
+    } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.NewObject) {
+      return new NewObject().runSyntax(first, input, targetType);
+    } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.Cast) {
+      return new Cast().runSyntax(first, input, targetType);
+    } else {
+      const meType = input.scope.findVariable("me")?.getType();
+      if (meType) {
+        return meType;
+      }
+    }
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/method_call_param.ts.html b/src/abap/5_syntax/expressions/method_call_param.ts.html new file mode 100644 index 00000000000..ad2d3b6c471 --- /dev/null +++ b/src/abap/5_syntax/expressions/method_call_param.ts.html @@ -0,0 +1,373 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/method_call_param.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions method_call_param.ts

+
+ +
+ 79.38% + Statements + 77/97 +
+ + +
+ 84.37% + Branches + 27/32 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 79.38% + Lines + 77/97 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +971x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +322x +  +  +  +  +322x +322x +322x +  +  +  +  +322x +322x +322x +322x +105x +81x +81x +3x +3x +3x +3x +81x +322x +217x +217x +166x +158x +1x +1x +1x +158x +1x +1x +1x +1x +158x +164x +166x +156x +156x +  +  +  +  +156x +157x +156x +156x +156x +157x +166x +8x +8x +164x +166x +163x +163x +164x +164x +166x +166x +166x +  +  +  +166x +38x +38x +38x +38x +217x +37x +51x +14x +14x +  +  +  +  +  +322x +1x
import {ExpressionNode} from "../../nodes";
+import {StringType, VoidType} from "../../types/basic";
+import * as Expressions from "../../2_statements/expressions";
+import {IMethodDefinition} from "../../types/_method_definition";
+import {MethodParameters} from "./method_parameters";
+import {WParenRight, WParenRightW} from "../../1_lexer/tokens";
+import {Source} from "./source";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class MethodCallParam {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, method: IMethodDefinition | VoidType): void {
+    if (!(node.get() instanceof Expressions.MethodCallParam)) {
+      const message = "MethodCallParam, unexpected input";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const children = node.getChildren();
+    if (children.length < 2 || children.length > 3) {
+      const message = "MethodCallParam, unexpected child length";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const child = children[1];
+ 
+    if (child.get() instanceof WParenRight || child.get() instanceof WParenRightW) {
+      if (!(method instanceof VoidType)) {
+        const required = method.getParameters().getRequiredParameters();
+        if (required.length > 0) {
+          const message = "Parameter \"" + required[0].getName() + "\" must be supplied";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      }
+    } else if (child instanceof ExpressionNode
+        && (child.get() instanceof Expressions.Source
+        || child.get() instanceof Expressions.ConstantString)) {
+      if (!(method instanceof VoidType)) {
+        if (method.getParameters().getImporting().length === 0) {
+          const message = "Method \"" + method.getName() + "\" has no importing parameters";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        } else if (method.getParameters().getRequiredParameters().length > 1) {
+          const message = "Method \"" + method.getName() + "\" has more than one importing or changing parameter";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      }
+      let targetType: AbstractType | undefined = undefined;
+      if (!(method instanceof VoidType)) {
+        const name = method.getParameters().getDefaultImporting();
+        if (name === undefined) {
+          const message = "No default importing parameter";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+        for (const i of method.getParameters().getImporting()) {
+          if (i.getName().toUpperCase() === name) {
+            targetType = i.getType();
+            break;
+          }
+        }
+      } else {
+        targetType = method;
+      }
+      let sourceType: AbstractType | undefined = StringType.get();
+      if (child.get() instanceof Expressions.Source) {
+        sourceType = new Source().runSyntax(child, input, targetType);
+      }
+ 
+      const calculated = child.findFirstExpression(Expressions.MethodCallChain) !== undefined
+        || child.findFirstExpression(Expressions.StringTemplate) !== undefined
+        || child.findFirstExpression(Expressions.ArithOperator) !== undefined;
+      if (sourceType === undefined) {
+        const message = "No source type determined, method source";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      } else if (new TypeUtils(input.scope).isAssignableStrict(sourceType, targetType, calculated) === false) {
+        const message = "Method parameter type not compatible";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    } else if (child instanceof ExpressionNode && child.get() instanceof Expressions.ParameterListS) {
+      new MethodParameters().checkExporting(child, input, method);
+    } else if (child.get() instanceof Expressions.MethodParameters) {
+      new MethodParameters().runSyntax(child, input, method);
+    } else {
+//      console.dir(child);
+      const message = "MethodCallParam, unexpected child";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/method_def_returning.ts.html b/src/abap/5_syntax/expressions/method_def_returning.ts.html new file mode 100644 index 00000000000..937504435d9 --- /dev/null +++ b/src/abap/5_syntax/expressions/method_def_returning.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/method_def_returning.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions method_def_returning.ts

+
+ +
+ 81.81% + Statements + 27/33 +
+ + +
+ 33.33% + Branches + 2/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 81.81% + Lines + 27/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +1x +1x +1x +1x +1x +1x +1x +1x +82x +82x +  +  +82x +82x +82x +  +  +82x +82x +82x +82x +2x +2x +82x +82x +82x +82x +  +  +82x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {TypedIdentifier, IdentifierMeta} from "../../types/_typed_identifier";
+import {UnknownType} from "../../types/basic";
+import {BasicTypes} from "../basic_types";
+import {SyntaxInput} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class MethodDefReturning {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, meta: IdentifierMeta[]): TypedIdentifier {
+    const name = node.findDirectExpression(Expressions.MethodParamName);
+    if (name === undefined) {
+      throw new AssertError("method_parameter.ts, todo, handle pass by value and reference");
+    }
+ 
+    const type = node.findDirectExpression(Expressions.TypeParam);
+    if (type === undefined) {
+      throw new AssertError("method_parameter.ts, unexpected structure");
+    }
+ 
+    let found = new BasicTypes(input).parseType(type);
+ 
+    if (found?.isGeneric() === true) {
+      found = new UnknownType("RETURNING parameter must be fully specified");
+    }
+ 
+    if (found) {
+      return new TypedIdentifier(name.getFirstToken(), input.filename, found, meta);
+    } else {
+      return new TypedIdentifier(name.getFirstToken(), input.filename, new UnknownType("method param, todo"), meta);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/method_param.ts.html b/src/abap/5_syntax/expressions/method_param.ts.html new file mode 100644 index 00000000000..995546d6a5e --- /dev/null +++ b/src/abap/5_syntax/expressions/method_param.ts.html @@ -0,0 +1,220 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/method_param.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions method_param.ts

+
+ +
+ 82.6% + Statements + 38/46 +
+ + +
+ 66.66% + Branches + 8/12 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 82.6% + Lines + 38/46 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +461x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +293x +293x +  +  +293x +293x +293x +  +  +293x +293x +293x +12x +12x +12x +  +  +12x +293x +293x +293x +14x +293x +2x +2x +277x +277x +277x +277x +293x +  +  +293x +1x
import {ExpressionNode} from "../../nodes";
+import {TypedIdentifier, IdentifierMeta} from "../../types/_typed_identifier";
+import {UnknownType, XGenericType} from "../../types/basic";
+import {BasicTypes} from "../basic_types";
+import * as Expressions from "../../2_statements/expressions";
+import {Default} from "./default";
+import {CGenericType} from "../../types/basic/cgeneric_type";
+import {SyntaxInput} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class MethodParam {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, meta: IdentifierMeta[]): TypedIdentifier {
+    const name = node.findDirectExpression(Expressions.MethodParamName);
+    if (name === undefined) {
+      throw new AssertError("MethodParam, todo, handle pass by value and reference");
+    }
+ 
+    const type = node.findDirectExpression(Expressions.TypeParam);
+    if (type === undefined) {
+      throw new AssertError("MethodParam, unexpected structure");
+    }
+ 
+    const def = type.findDirectExpression(Expressions.Default);
+    if (def) {
+      try {
+        new Default().runSyntax(def, input);
+      } catch (e) {
+        return new TypedIdentifier(name.getFirstToken(), input.filename, new UnknownType(e.toString()), meta);
+      }
+    }
+ 
+    const concat = type.concatTokens().toUpperCase();
+    if (concat === "TYPE C" || concat.startsWith("TYPE C ")) {
+      return new TypedIdentifier(name.getFirstToken(), input.filename, new CGenericType(), meta);
+    } else if (concat === "TYPE X" || concat.startsWith("TYPE X ")) {
+      return new TypedIdentifier(name.getFirstToken(), input.filename, new XGenericType(), meta);
+    }
+ 
+    const found = new BasicTypes(input).parseType(type);
+    if (found) {
+      return new TypedIdentifier(name.getFirstToken(), input.filename, found, meta);
+    } else {
+      return new TypedIdentifier(name.getFirstToken(), input.filename, new UnknownType("method param, todo"), meta);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/method_parameters.ts.html b/src/abap/5_syntax/expressions/method_parameters.ts.html new file mode 100644 index 00000000000..7cd70295b5a --- /dev/null +++ b/src/abap/5_syntax/expressions/method_parameters.ts.html @@ -0,0 +1,949 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/method_parameters.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions method_parameters.ts

+
+ +
+ 80.27% + Statements + 232/289 +
+ + +
+ 65.11% + Branches + 56/86 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 80.27% + Lines + 232/289 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +2891x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +62x +62x +62x +62x +62x +22x +  +  +22x +22x +22x +5x +22x +17x +17x +22x +22x +26x +26x +26x +7x +7x +26x +6x +6x +26x +9x +9x +26x +4x +4x +26x +  +  +26x +  +26x +26x +22x +22x +22x +62x +62x +62x +62x +4x +4x +4x +  +  +  +4x +  +  +  +  +4x +4x +4x +4x +1x +4x +3x +3x +  +  +  +  +3x +4x +62x +62x +6x +6x +6x +1x +6x +5x +5x +  +  +  +  +5x +5x +6x +6x +6x +1x +6x +  +  +  +5x +  +  +  +  +6x +6x +62x +62x +9x +9x +1x +1x +1x +1x +8x +8x +9x +1x +9x +7x +7x +  +  +  +  +7x +7x +8x +9x +  +  +  +  +8x +9x +9x +8x +62x +62x +47x +47x +47x +47x +9x +9x +38x +38x +47x +32x +32x +38x +47x +48x +48x +48x +48x +48x +2x +2x +2x +48x +1x +1x +1x +1x +45x +45x +35x +47x +30x +30x +47x +62x +62x +52x +3x +3x +3x +52x +62x +62x +47x +47x +47x +47x +47x +  +47x +  +  +47x +47x +47x +47x +60x +  +  +60x +60x +60x +  +  +60x +60x +60x +  +  +60x +60x +60x +48x +134x +46x +46x +134x +48x +60x +60x +60x +4x +4x +4x +  +  +  +  +4x +60x +60x +60x +47x +47x +47x +62x +62x +15x +15x +15x +15x +  +15x +  +  +15x +15x +15x +15x +15x +  +  +15x +15x +15x +  +  +15x +15x +15x +  +  +15x +15x +15x +15x +15x +15x +15x +15x +62x +62x
import {VoidType} from "../../types/basic";
+import * as Expressions from "../../2_statements/expressions";
+import {IMethodDefinition} from "../../types/_method_definition";
+import {ExpressionNode} from "../../nodes";
+import {InlineData} from "./inline_data";
+import {Target} from "./target";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {INode} from "../../nodes/_inode";
+import {Source} from "./source";
+import {TypeUtils} from "../_type_utils";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+interface IListItemT {
+  name: string;
+  target: ExpressionNode;
+  targetType: AbstractType | undefined;
+}
+ 
+interface IListItemS {
+  name: string;
+  source: ExpressionNode;
+  sourceType: AbstractType | undefined;
+}
+ 
+export class MethodParameters {
+ 
+  private requiredParameters: Set<string> | undefined = undefined;
+ 
+  public runSyntax(node: INode, input: SyntaxInput, method: IMethodDefinition | VoidType): void {
+    if (!(node.get() instanceof Expressions.MethodParameters)) {
+      throw new AssertError("MethodParameters, unexpected input");
+    }
+ 
+    const children = node.getChildren().slice();
+    if (method instanceof VoidType) {
+      this.requiredParameters = new Set();
+    } else {
+      this.requiredParameters = new Set(method.getParameters().getRequiredParameters().map(i => i.getName().toUpperCase()));
+    }
+ 
+    while (children.length > 0) {
+      const name = children.shift()?.getFirstToken().getStr().toUpperCase();
+      switch (name) {
+        case "EXPORTING":
+          this.checkExporting(children.shift()!, input, method, false);
+          break;
+        case "IMPORTING":
+          this.checkImporting(children.shift()!, input, method);
+          break;
+        case "CHANGING":
+          this.checkChanging(children.shift()!, input, method);
+          break;
+        case "RECEIVING":
+          this.checkReceiving(children.shift()!, input, method);
+          break;
+        case "EXCEPTIONS":
+          children.shift(); // todo, old style exceptions
+          break;
+        default:
+          throw new AssertError("MethodParameters, unexpected token, " + name);
+      }
+    }
+ 
+    this.reportErrors(node, input);
+  }
+ 
+///////////////////////
+ 
+  private checkReceiving(node: INode, input: SyntaxInput, method: IMethodDefinition | VoidType) {
+ 
+    const type = method instanceof VoidType ? method : method.getParameters().getReturning()?.getType();
+    if (type === undefined) {
+      const message = "Method does not have a returning parameter";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    } else if (!(node instanceof ExpressionNode)) {
+      const message = "checkReceiving, not an expression node";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const target = node.findDirectExpression(Expressions.Target);
+    const inline = target?.findDirectExpression(Expressions.InlineData);
+    if (inline) {
+      new InlineData().runSyntax(inline, input, type);
+    } else if (target) {
+      const targetType = new Target().runSyntax(target, input);
+      if (targetType && new TypeUtils(input.scope).isAssignable(type, targetType) === false) {
+        const message = "Method returning value not type compatible";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+  }
+ 
+  private checkImporting(node: INode, input: SyntaxInput, method: IMethodDefinition | VoidType) {
+    for (const item of this.parameterListT(node, input)) {
+      let parameterType: AbstractType | undefined = undefined;
+      if (method instanceof VoidType) {
+        parameterType = method;
+      } else {
+        const parameter = method.getParameters().getExporting().find(p => p.getName().toUpperCase() === item.name);
+        if (parameter === undefined) {
+          const message = "Method exporting parameter \"" + item.name + "\" does not exist";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+        parameterType = parameter.getType();
+      }
+ 
+      const inline = item.target.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, parameterType);
+      } else if (item.targetType === undefined) {
+        const message = "Could not determine target type";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      } else if (item.targetType && new TypeUtils(input.scope).isAssignable(parameterType, item.targetType) === false) {
+        const message = "Method parameter type not compatible, " + item.name;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+  }
+ 
+  private checkChanging(node: INode, input: SyntaxInput, method: IMethodDefinition | VoidType) {
+    for (const item of this.parameterListT(node, input)) {
+      if (item.target.findFirstExpression(Expressions.InlineData) !== undefined) {
+        const message = "CHANGING cannot be inlined";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+ 
+      let parameterType: AbstractType | undefined = undefined;
+      if (method instanceof VoidType) {
+        parameterType = method;
+      } else {
+        const parameter = method.getParameters().getChanging().find(p => p.getName().toUpperCase() === item.name);
+        if (parameter === undefined) {
+          const message = "Method changing parameter \"" + item.name + "\" does not exist";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+        parameterType = parameter.getType();
+      }
+ 
+      if (item.targetType && new TypeUtils(input.scope).isAssignable(parameterType, item.targetType) === false) {
+        const message = "Method parameter type not compatible, " + item.name;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+ 
+      this.requiredParameters?.delete(item.name);
+    }
+  }
+ 
+  public checkExporting(node: INode, input: SyntaxInput,
+                        method: IMethodDefinition | VoidType, errors = true): void {
+ 
+    const items = this.parameterListS(node, input, method);
+    if (method instanceof VoidType) {
+      return;
+    }
+ 
+    const allImporting = method.getParameters().getImporting();
+    if (this.requiredParameters === undefined) {
+      this.requiredParameters = new Set(method.getParameters().getRequiredParameters().map(i => i.getName().toUpperCase()));
+    }
+ 
+    for (const item of items) {
+      const parameter = allImporting.find(p => p.getName().toUpperCase() === item.name);
+      const calculated = item.source.findFirstExpression(Expressions.MethodCallChain) !== undefined
+        || item.source.findFirstExpression(Expressions.StringTemplate) !== undefined
+        || item.source.findFirstExpression(Expressions.ArithOperator) !== undefined;
+      if (parameter === undefined) {
+        const message = "Method importing parameter \"" + item.name + "\" does not exist";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      } else if (new TypeUtils(input.scope).isAssignableStrict(item.sourceType, parameter.getType(), calculated) === false) {
+        const message = "Method parameter type not compatible, " + item.name;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      this.requiredParameters.delete(item.name);
+    }
+ 
+    if (errors === true) {
+      this.reportErrors(node, input);
+    }
+  }
+ 
+  private reportErrors(node: INode, input: SyntaxInput) {
+    for (const r of this.requiredParameters?.values() || []) {
+      const message = `method parameter "${r}" must be supplied`;
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+    }
+  }
+ 
+  private parameterListS(
+    node: INode | undefined,
+    input: SyntaxInput,
+    method: IMethodDefinition | VoidType): IListItemS[] {
+ 
+    if (node === undefined) {
+      return [];
+    } else if (!(node.get() instanceof Expressions.ParameterListS)) {
+      throw new AssertError("parameterListS, unexpected node");
+    }
+ 
+    const ret: IListItemS[] = [];
+ 
+    for (const c of node.getChildren()) {
+      if (!(c.get() instanceof Expressions.ParameterS) || !(c instanceof ExpressionNode)) {
+        throw new AssertError("parameterListS, unexpected node, child");
+      }
+ 
+      const name = c.findDirectExpression(Expressions.ParameterName)?.getFirstToken().getStr().toUpperCase();
+      if (name === undefined) {
+        throw new AssertError("parameterListS, no name determined");
+      }
+ 
+      const source = c.findDirectExpression(Expressions.Source);
+      if (source === undefined) {
+        throw new AssertError("parameterListS, no source found");
+      }
+ 
+      let targetType: AbstractType | undefined = undefined;
+      if (!(method instanceof VoidType)) {
+        for (const i of method.getParameters().getImporting()) {
+          if (i.getName().toUpperCase() === name) {
+            targetType = i.getType();
+          }
+        }
+      }
+      let sourceType = new Source().runSyntax(source, input, targetType);
+ 
+      if (sourceType === undefined) {
+        if (method instanceof VoidType) {
+          sourceType = method;
+        } else {
+          const message = "No source type determined for parameter " + name + " input";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          sourceType = new VoidType(CheckSyntaxKey);
+        }
+      }
+ 
+      ret.push({name, source, sourceType});
+    }
+ 
+    return ret;
+  }
+ 
+  private parameterListT(
+    node: INode | undefined,
+    input: SyntaxInput): IListItemT[] {
+ 
+    if (node === undefined) {
+      return [];
+    } else if (!(node.get() instanceof Expressions.ParameterListT)) {
+      throw new AssertError("parameterListT, unexpected node");
+    }
+ 
+    const ret: IListItemT[] = [];
+ 
+    for (const c of node.getChildren()) {
+      if (!(c.get() instanceof Expressions.ParameterT) || !(c instanceof ExpressionNode)) {
+        throw new AssertError("parameterListT, unexpected node, child");
+      }
+ 
+      const name = c.findDirectExpression(Expressions.ParameterName)?.getFirstToken().getStr().toUpperCase();
+      if (name === undefined) {
+        throw new AssertError("parameterListT, no name determined");
+      }
+ 
+      const target = c.findDirectExpression(Expressions.Target);
+      if (target === undefined) {
+        throw new AssertError("parameterListT, no target found");
+      }
+ 
+      const targetType = new Target().runSyntax(target, input);
+ 
+      ret.push({name, target, targetType});
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/method_source.ts.html b/src/abap/5_syntax/expressions/method_source.ts.html new file mode 100644 index 00000000000..9f1819f2f9f --- /dev/null +++ b/src/abap/5_syntax/expressions/method_source.ts.html @@ -0,0 +1,577 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/method_source.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions method_source.ts

+
+ +
+ 84.84% + Statements + 140/165 +
+ + +
+ 77.77% + Branches + 49/63 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 84.84% + Lines + 140/165 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +1651x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +28x +28x +28x +28x +28x +28x +  +  +28x +28x +28x +3x +3x +3x +28x +28x +28x +28x +28x +2x +2x +1x +1x +1x +1x +2x +27x +28x +9x +9x +9x +18x +28x +39x +39x +  +  +39x +39x +  +  +  +  +  +  +  +  +  +39x +39x +18x +18x +39x +21x +19x +19x +19x +19x +19x +4x +4x +4x +19x +15x +15x +19x +19x +19x +19x +19x +19x +19x +19x +1x +19x +3x +3x +3x +14x +11x +11x +11x +11x +11x +11x +11x +19x +21x +  +  +  +  +2x +2x +2x +2x +39x +15x +28x +  +  +  +28x +  +  +  +  +15x +15x +15x +1x +1x +1x +1x +28x +10x +10x +10x +10x +10x +2x +2x +2x +10x +1x +1x +1x +1x +7x +7x +28x +10x +18x +  +8x +5x +5x +5x +3x +3x +3x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {Dynamic} from "./dynamic";
+import {ObjectReferenceType, StructureType, TableType, UnknownType, VoidType} from "../../types/basic";
+import {IReferenceExtras, ReferenceType} from "../_reference";
+import {ObjectOriented} from "../_object_oriented";
+import {IMethodDefinition} from "../../types/_method_definition";
+import {INode} from "../../nodes/_inode";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SourceFieldSymbol} from "./source_field_symbol";
+import {SourceField} from "./source_field";
+import {Dash, InstanceArrow, StaticArrow} from "../../1_lexer/tokens";
+import {AttributeName} from "./attribute_name";
+import {ComponentName} from "./component_name";
+import {ClassDefinition} from "../../types";
+import {Version} from "../../../version";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class MethodSource {
+ 
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): IMethodDefinition | VoidType | undefined {
+ 
+    const helper = new ObjectOriented(input.scope);
+    const children = node.getChildren().slice();
+ 
+    const first = children.shift();
+    if (first === undefined) {
+      throw new AssertError("MethodSource, first child expected");
+    }
+ 
+    let context: AbstractType | IMethodDefinition | undefined = this.findTop(first, input, children);
+    if (context === undefined) {
+      context = input.scope.findVariable("me")?.getType();
+      children.unshift(first);
+    }
+ 
+    if (input.scope.getVersion() === Version.Cloud
+        && first.get() instanceof Expressions.Dynamic
+        && first instanceof ExpressionNode
+        && children[0]?.concatTokens() === "=>") {
+      const name = first.findDirectExpression(Expressions.Constant)?.concatTokens().replace(/'/g, "").replace(/`/g, "");
+      if (name !== undefined && input.scope.findClassDefinition(name) === undefined) {
+        const message = `Class "${name}" not found/released`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+    }
+ 
+    if (context instanceof VoidType) {
+      // todo, if there are more dynamic with variables, the references for the variables are not added?
+      return context;
+    }
+ 
+    while (children.length > 0) {
+      const current = children.shift();
+      if (current === undefined) {
+        break;
+      }
+ 
+      if (current.get() instanceof Dash) {
+        if (context instanceof UnknownType) {
+          const message = "Not a structure, type unknown, MethodSource";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        } else if (!(context instanceof StructureType)) {
+          const message = "Not a structure, MethodSource";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+      } else if (current.get() instanceof InstanceArrow
+          || current.get() instanceof StaticArrow) {
+// todo, handling static vs instance
+ 
+      } else if (current.get() instanceof Expressions.AttributeName
+          || current.get() instanceof Expressions.SourceField) {
+ 
+        if (context instanceof AbstractType) {
+          const attr = new AttributeName().runSyntax(context, current, input, ReferenceType.DataReadReference, false);
+          const isSyntaxError = attr instanceof VoidType && attr.getVoided() === CheckSyntaxKey;
+          if (isSyntaxError === false) {
+            context = attr;
+            continue;
+          }
+        }
+ 
+        // try looking for method name
+        const className = context instanceof ObjectReferenceType ? context.getIdentifierName() : undefined;
+        const methodToken = current.getFirstToken();
+        const methodName = methodToken?.getStr();
+        const def = input.scope.findObjectDefinition(className);
+        // eslint-disable-next-line prefer-const
+        let {method, def: foundDef} = helper.searchMethodName(def, methodName);
+ 
+        if (method === undefined && methodName?.toUpperCase() === "CONSTRUCTOR") {
+          context = new VoidType("CONSTRUCTOR"); // todo, this is a workaround, constructors always exists
+        } else if (method === undefined && !(context instanceof VoidType)) {
+          const message = "Method or attribute \"" + methodName + "\" not found, MethodSource";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        } else if (method) {
+          const extra: IReferenceExtras = {
+            ooName: foundDef?.getName(),
+            ooType: foundDef instanceof ClassDefinition ? "CLAS" : "INTF"};
+          input.scope.addReference(methodToken, method, ReferenceType.MethodReference, input.filename, extra);
+ 
+          context = method;
+        }
+ 
+      } else if (current.get() instanceof Expressions.ComponentName && context instanceof AbstractType) {
+        if (context instanceof TableType && context.isWithHeader()) {
+          context = context.getRowType();
+        }
+        context = new ComponentName().runSyntax(context, current, input);
+      } else if (current instanceof ExpressionNode && current.get() instanceof Expressions.Dynamic) {
+        new Dynamic().runSyntax(current, input);
+        context = new VoidType("Dynamic");
+      }
+    }
+ 
+    if (context instanceof AbstractType && !(context instanceof VoidType)) {
+      const message = "Not a method, MethodSource";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    } else if (context === undefined) {
+      const message = "Not found, MethodSource";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    return context;
+  }
+ 
+//////////////////////////////////////
+ 
+  private findTop(first: INode, input: SyntaxInput, children: any[]): AbstractType | undefined {
+    if (first.get() instanceof Expressions.ClassName) {
+      // todo, refactor this part to new expression handler,
+      const token = first.getFirstToken();
+      const className = token.getStr();
+      const classDefinition = input.scope.findObjectDefinition(className);
+      if (classDefinition === undefined && input.scope.getDDIC().inErrorNamespace(className) === false) {
+        const extra: IReferenceExtras = {ooName: className, ooType: "Void"};
+        input.scope.addReference(token, undefined, ReferenceType.ObjectOrientedVoidReference, input.filename, extra);
+        return new VoidType(className);
+      } else if (classDefinition === undefined) {
+        const message = "Class " + className + " not found";
+        input.issues.push(syntaxIssue(input, first.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+      input.scope.addReference(first.getFirstToken(), classDefinition, ReferenceType.ObjectOrientedReference, input.filename);
+      return new ObjectReferenceType(classDefinition);
+    } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.SourceField && children.length > 0) {
+      return new SourceField().runSyntax(first, input, ReferenceType.DataReadReference);
+    } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.SourceFieldSymbol) {
+      return new SourceFieldSymbol().runSyntax(first, input);
+    } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.Dynamic) {
+      new Dynamic().runSyntax(first, input);
+      return new VoidType("Dynamic");
+    }
+ 
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/new_object.ts.html b/src/abap/5_syntax/expressions/new_object.ts.html new file mode 100644 index 00000000000..13e6e4543e7 --- /dev/null +++ b/src/abap/5_syntax/expressions/new_object.ts.html @@ -0,0 +1,535 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/new_object.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions new_object.ts

+
+ +
+ 92.71% + Statements + 140/151 +
+ + +
+ 85.45% + Branches + 47/55 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 92.71% + Lines + 140/151 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +1511x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +74x +74x +74x +74x +74x +74x +74x +  +74x +23x +23x +22x +23x +1x +1x +1x +1x +1x +1x +1x +22x +22x +23x +1x +1x +1x +1x +74x +11x +51x +  +  +72x +74x +40x +40x +20x +20x +20x +20x +1x +1x +1x +1x +19x +19x +40x +71x +74x +20x +20x +20x +4x +20x +4x +16x +12x +12x +  +  +  +  +20x +71x +74x +40x +74x +31x +10x +10x +31x +71x +74x +4x +4x +4x +4x +67x +67x +67x +1x +1x +40x +40x +40x +40x +40x +40x +40x +40x +40x +40x +7x +7x +7x +1x +1x +1x +1x +6x +7x +1x +1x +1x +1x +40x +1x +1x +  +  +  +  +1x +33x +1x +1x +1x +1x +40x +1x +1x +7x +7x +1x +1x +6x +6x +6x +6x +6x +6x +6x +6x +1x +1x
import {ExpressionNode} from "../../nodes";
+import {ObjectReferenceType, VoidType, DataReference, UnknownType} from "../../types/basic";
+import * as Expressions from "../../2_statements/expressions";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {ReferenceType} from "../_reference";
+import {Source} from "./source";
+import {ObjectOriented} from "../_object_oriented";
+import {IMethodDefinition} from "../../types/_method_definition";
+import {MethodParameters} from "./method_parameters";
+import {BasicTypes} from "../basic_types";
+import {TypeUtils} from "../_type_utils";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class NewObject {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, targetType: AbstractType | undefined): AbstractType {
+    let ret: AbstractType | undefined = undefined;
+ 
+    const typeExpr = node.findDirectExpression(Expressions.TypeNameOrInfer);
+    const typeToken = typeExpr?.getFirstToken();
+    const typeName = typeExpr?.concatTokens();
+ 
+    if (typeName === undefined) {
+      throw new AssertError("NewObject, child TypeNameOrInfer not found");
+    } else if (typeName === "#" && targetType && targetType instanceof ObjectReferenceType) {
+      const clas = input.scope.findClassDefinition(targetType.getIdentifierName());
+      if (clas) {
+        input.scope.addReference(typeToken, clas, ReferenceType.InferredType, input.filename);
+      } else {
+        const intf = input.scope.findInterfaceDefinition(targetType.getIdentifierName());
+        if (intf) {
+          const message = intf.getName() + " is an interface, cannot be instantiated";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+      }
+      ret = targetType;
+ 
+      if (clas?.isAbstract() === true) {
+        const message = clas.getName() + " is abstract, cannot be instantiated";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+    } else if (typeName === "#" && targetType) {
+      ret = targetType;
+    } else if (typeName === "#") {
+      throw new AssertError("NewObject, todo, infer type");
+    }
+ 
+    if (ret === undefined) {
+      const objDefinition = input.scope.findObjectDefinition(typeName);
+      if (objDefinition) {
+        input.scope.addReference(typeToken, objDefinition, ReferenceType.ObjectOrientedReference, input.filename);
+        const objref = new ObjectReferenceType(objDefinition);
+        const clas = input.scope.findClassDefinition(objref.getIdentifierName());
+        if (clas?.isAbstract() === true) {
+          const message = clas.getName() + " is abstract, cannot be instantiated";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+        ret = objref;
+      }
+    }
+ 
+    if (ret === undefined) {
+      const basic = new BasicTypes(input);
+      const type = basic.resolveTypeName(typeExpr);
+      if (type instanceof UnknownType) {
+        ret = type;
+      } else if (type && !(type instanceof VoidType)) {
+        ret = new DataReference(type);
+      } else if (type instanceof VoidType) {
+        ret = type;
+      } else {
+        const message = "Type \"" + typeName + "\" not found in scope, NewObject";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+    }
+ 
+    if (ret instanceof ObjectReferenceType) {
+      this.parameters(node, ret, input);
+    } else {
+      for (const s of node.findAllExpressions(Expressions.Source)) {
+        new Source().runSyntax(s, input, ret);
+      }
+    }
+ 
+    if (ret instanceof UnknownType && input.scope.getDDIC().inErrorNamespace(typeName) === true) {
+      const message = "Class or type \"" + typeName + "\" not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    return ret;
+  }
+ 
+  private parameters(node: ExpressionNode, obj: ObjectReferenceType, input: SyntaxInput) {
+    const name = obj.getIdentifier().getName();
+    const def = input.scope.findObjectDefinition(name);
+    const helper = new ObjectOriented(input.scope);
+    // eslint-disable-next-line prefer-const
+    let {method} = helper.searchMethodName(def, "CONSTRUCTOR");
+    const requiredParameters = method?.getParameters().getRequiredParameters() || [];
+ 
+    const source = node.findDirectExpression(Expressions.Source);
+    const parameters = node.findDirectExpression(Expressions.ParameterListS);
+    if (source) {
+      // single unnamed parameter
+      const type = this.defaultImportingType(method);
+      if (type === undefined) {
+        const message = "NewObject, no default importing parameter found for constructor, " + name;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      const sourceType = new Source().runSyntax(source, input, type);
+      if (new TypeUtils(input.scope).isAssignableStrict(sourceType, type) === false) {
+        const message = `NEW parameter type not compatible`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    } else if (parameters) {
+      // parameters with names
+      if (method === undefined) {
+        const message = "NewObject, no parameters for constructor found, " + name;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      new MethodParameters().checkExporting(parameters, input, method);
+    } else if (requiredParameters.length > 0) {
+      const message = `constructor parameter "${requiredParameters[0].getName()}" must be supplied, ` + name;
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+  }
+ 
+  private defaultImportingType(method: IMethodDefinition | undefined) {
+    let targetType: AbstractType | undefined = undefined;
+    if (method === undefined) {
+      return undefined;
+    }
+    const name = method.getParameters().getDefaultImporting();
+    for (const i of method.getParameters().getImporting()) {
+      if (i.getName().toUpperCase() === name) {
+        targetType = i.getType();
+      }
+    }
+    return targetType;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/raise_with.ts.html b/src/abap/5_syntax/expressions/raise_with.ts.html new file mode 100644 index 00000000000..53e14bf3dbb --- /dev/null +++ b/src/abap/5_syntax/expressions/raise_with.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/raise_with.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions raise_with.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class RaiseWith {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput) {
+    for (const f of node.findDirectExpressions(Expressions.SimpleSource1)) {
+      new Source().runSyntax(f, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/reduce_body.ts.html b/src/abap/5_syntax/expressions/reduce_body.ts.html new file mode 100644 index 00000000000..16535085804 --- /dev/null +++ b/src/abap/5_syntax/expressions/reduce_body.ts.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/reduce_body.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions reduce_body.ts

+
+ +
+ 92.3% + Statements + 72/78 +
+ + +
+ 66.66% + Branches + 8/12 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 92.3% + Lines + 72/78 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +781x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +41x +41x +41x +41x +41x +  +  +41x +41x +41x +41x +3x +3x +41x +41x +41x +47x +38x +38x +38x +47x +47x +47x +47x +45x +45x +47x +47x +47x +41x +41x +47x +41x +41x +41x +42x +42x +42x +42x +42x +41x +41x +  +  +41x +41x +41x +41x +41x +41x +41x +41x +41x +41x +42x +42x +41x +41x +41x +41x +  +  +41x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {For} from "./for";
+import {Source} from "./source";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {InlineFieldDefinition} from "./inline_field_definition";
+import {UnknownType} from "../../types/basic/unknown_type";
+import {ReduceNext} from "./reduce_next";
+import {Let} from "./let";
+import {ScopeType} from "../_scope_type";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ReduceBody {
+  public runSyntax(
+    node: ExpressionNode | undefined,
+    input: SyntaxInput,
+    targetType: AbstractType | undefined): AbstractType | undefined {
+ 
+    if (node === undefined) {
+      return;
+    }
+ 
+    let scoped = false;
+    const letNode = node.findDirectExpression(Expressions.Let);
+    if (letNode) {
+      scoped = new Let().runSyntax(letNode, input);
+    }
+ 
+    let first: AbstractType | undefined = undefined;
+    for (const i of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {
+      if (scoped === false) {
+        input.scope.push(ScopeType.Let, "LET", node.getFirstToken().getStart(), input.filename);
+        scoped = true;
+      }
+ 
+      let foundType = targetType;
+      const source = i.findDirectExpression(Expressions.Source);
+      if (source) {
+        foundType = new Source().runSyntax(source, input, targetType);
+      }
+ 
+      const found = new InlineFieldDefinition().runSyntax(i, input, foundType);
+      if (found && first === undefined) {
+        first = found;
+      }
+    }
+ 
+    let forScopes = 0;
+    for (const forNode of node.findDirectExpressions(Expressions.For) || []) {
+      const scoped = new For().runSyntax(forNode, input);
+      if (scoped === true) {
+        forScopes++;
+      }
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.ReduceNext)) {
+      new ReduceNext().runSyntax(s, input);
+    }
+ 
+    if (scoped === true) {
+      input.scope.pop(node.getLastToken().getEnd());
+    }
+ 
+    for (let i = 0; i < forScopes; i++) {
+      input.scope.pop(node.getLastToken().getEnd());
+    }
+ 
+    if (first) {
+      return first;
+    } else {
+      return new UnknownType("todo, ReduceBody");
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/reduce_next.ts.html b/src/abap/5_syntax/expressions/reduce_next.ts.html new file mode 100644 index 00000000000..0798f7ebac2 --- /dev/null +++ b/src/abap/5_syntax/expressions/reduce_next.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/reduce_next.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions reduce_next.ts

+
+ +
+ 90.47% + Statements + 19/21 +
+ + +
+ 75% + Branches + 3/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 90.47% + Lines + 19/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +41x +  +  +41x +41x +47x +47x +41x +41x +47x +47x +41x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {Target} from "./target";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ReduceNext {
+  public runSyntax(node: ExpressionNode | undefined, input: SyntaxInput): void {
+    if (node === undefined) {
+      return;
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.SimpleTarget)) {
+      new Target().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/select.ts.html b/src/abap/5_syntax/expressions/select.ts.html new file mode 100644 index 00000000000..da8d22b64bf --- /dev/null +++ b/src/abap/5_syntax/expressions/select.ts.html @@ -0,0 +1,877 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/select.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions select.ts

+
+ +
+ 86.03% + Statements + 228/265 +
+ + +
+ 84.88% + Branches + 73/86 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 86.03% + Lines + 228/265 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +2651x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +120x +120x +120x +120x +120x +1x +1x +1x +1x +119x +119x +119x +120x +1x +1x +1x +1x +118x +118x +118x +118x +118x +118x +120x +9x +9x +9x +118x +120x +113x +113x +118x +118x +118x +120x +120x +120x +9x +9x +9x +4x +4x +4x +4x +2x +2x +2x +2x +2x +2x +4x +4x +9x +116x +116x +120x +1x +1x +120x +10x +10x +10x +10x +120x +9x +9x +9x +9x +116x +120x +75x +75x +116x +120x +5x +5x +116x +120x +9x +9x +120x +1x +1x +118x +118x +42x +42x +20x +20x +42x +118x +118x +118x +61x +29x +29x +29x +61x +118x +118x +118x +5x +5x +5x +  +  +  +  +5x +5x +10x +10x +10x +10x +10x +2x +  +  +  +  +2x +2x +2x +2x +2x +2x +2x +2x +  +  +  +  +  +  +  +  +2x +2x +2x +2x +2x +10x +5x +118x +1x +1x +118x +4x +4x +114x +114x +118x +98x +98x +98x +16x +16x +118x +  +  +118x +  +  +  +  +16x +16x +16x +12x +12x +4x +16x +  +  +  +  +16x +16x +1x +1x +20x +1x +1x +19x +20x +18x +18x +18x +1x +20x +  +  +1x +20x +  +  +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +  +  +  +1x +1x +119x +119x +119x +119x +119x +17x +17x +119x +119x +2x +2x +119x +119x +52x +52x +52x +  +  +52x +52x +119x +119x +92x +92x +119x +119x +119x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {CurrentScope} from "../_current_scope";
+import {IStructureComponent, StructureType, TableKeyType, TableType, UnknownType, VoidType} from "../../types/basic";
+import {InlineData} from "./inline_data";
+import {Target} from "./target";
+import {SQLFrom} from "./sql_from";
+import {SQLForAllEntries} from "./sql_for_all_entries";
+import {ScopeType} from "../_scope_type";
+import {SQLSource} from "./sql_source";
+import {SQLCompare} from "./sql_compare";
+import {DatabaseTableSource} from "./database_table";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SQLOrderBy} from "./sql_order_by";
+import {Dynamic} from "./dynamic";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+type FieldList = {code: string, as: string, expression: ExpressionNode}[];
+const isSimple = /^\w+$/;
+ 
+export class Select {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, skipImplicitInto = false): void {
+    const token = node.getFirstToken();
+ 
+    const from = node.findDirectExpression(Expressions.SQLFrom);
+    const dbSources = from ? new SQLFrom().runSyntax(from, input) : [];
+    if (from === undefined) {
+      const message = `Missing FROM`;
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const fields = this.findFields(node, input);
+    if (fields.length === 0
+        && node.findDirectExpression(Expressions.SQLFieldListLoop) === undefined) {
+      const message = `fields missing`;
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    this.checkFields(fields, dbSources, input, node);
+ 
+    this.handleInto(node, input, fields, dbSources);
+ 
+    const fae = node.findDirectExpression(Expressions.SQLForAllEntries);
+    if (fae) {
+      input.scope.push(ScopeType.OpenSQL, "SELECT", token.getStart(), input.filename);
+      new SQLForAllEntries().runSyntax(fae, input);
+    }
+ 
+    for (const t of node.findAllExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+    // check implicit into, the target field is implict equal to the table name
+    if (skipImplicitInto === false
+        && node.findDirectExpression(Expressions.SQLIntoTable) === undefined
+        && node.findDirectExpression(Expressions.SQLIntoList) === undefined
+        && node.findDirectExpression(Expressions.SQLIntoStructure) === undefined) {
+      const fields = node.findFirstExpression(Expressions.SQLAggregation)?.concatTokens();
+      const c = new RegExp(/^count\(\s*\*\s*\)$/, "i");
+      if (fields === undefined || c.test(fields) === false) {
+        const nameToken = from?.findDirectExpression(Expressions.SQLFromSource);
+        if (nameToken) {
+          const found = input.scope.findVariable(nameToken.concatTokens());
+          if (found) {
+            input.scope.addReference(nameToken.getFirstToken(), found, ReferenceType.DataWriteReference, input.filename);
+          } else {
+            const message = `Target variable ${nameToken.concatTokens()} not found in scope`;
+            input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+            return;
+          }
+        }
+      }
+    }
+ 
+    // OFFSET
+    for (const s of node.findDirectExpressions(Expressions.SQLSource)) {
+      new SQLSource().runSyntax(s, input);
+    }
+    for (const up of node.findDirectExpressions(Expressions.SQLUpTo)) {
+      for (const s of up.findDirectExpressions(Expressions.SQLSource)) {
+        new SQLSource().runSyntax(s, input);
+      }
+    }
+    for (const fae of node.findDirectExpressions(Expressions.SQLForAllEntries)) {
+      for (const s of fae.findDirectExpressions(Expressions.SQLSource)) {
+        new SQLSource().runSyntax(s, input);
+      }
+    }
+ 
+    for (const s of node.findAllExpressions(Expressions.SQLCompare)) {
+      new SQLCompare().runSyntax(s, input, dbSources);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.SQLOrderBy)) {
+      new SQLOrderBy().runSyntax(s, input);
+    }
+ 
+    if (input.scope.getType() === ScopeType.OpenSQL) {
+      input.scope.pop(node.getLastToken().getEnd());
+    }
+  }
+ 
+  private handleInto(node: ExpressionNode, input: SyntaxInput, fields: FieldList, dbSources: DatabaseTableSource[]) {
+    const intoTable = node.findDirectExpression(Expressions.SQLIntoTable);
+    if (intoTable) {
+      const inline = intoTable.findFirstExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, this.buildTableType(fields, dbSources, input.scope));
+      }
+    }
+ 
+    const intoStructure = node.findDirectExpression(Expressions.SQLIntoStructure);
+    if (intoStructure) {
+      for (const inline of intoStructure.findAllExpressions(Expressions.InlineData)) {
+        // todo, for now these are voided
+        new InlineData().runSyntax(inline, input, new VoidType("SELECT_todo"));
+      }
+    }
+ 
+    const intoList = node.findDirectExpression(Expressions.SQLIntoList);
+    if (intoList) {
+      const isDynamic = fields.length === 1 && fields[0].expression.findDirectExpression(Expressions.Dynamic) !== undefined;
+      const targets = intoList.findDirectExpressions(Expressions.SQLTarget);
+      if (targets.length !== fields.length && isDynamic !== true) {
+        const message = `number of fields selected vs list does not match`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+ 
+      for (let i = 0; i < targets.length; i++) {
+        const target = targets[i];
+        const field = fields[i];
+ 
+        const inline = target.findFirstExpression(Expressions.InlineData);
+        if (inline) {
+          if (isDynamic) {
+            const message = `dynamic field list, inlining not possible`;
+            input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+            return;
+          }
+ 
+          let type: AbstractType = new VoidType("SELECT_todo");
+ 
+          if (isSimple.test(field.code)) {
+            for (const dbSource of dbSources) {
+              if (dbSource === undefined) {
+                continue;
+              }
+              const dbType = dbSource.parseType(input.scope.getRegistry());
+              if (dbType instanceof StructureType) {
+                const found = dbType.getComponentByName(field.code);
+                if (found) {
+                  type = found;
+                  break;
+                }
+              }
+            }
+          }
+ 
+          new InlineData().runSyntax(inline, input, type);
+        }
+      }
+    }
+  }
+ 
+  private checkFields(fields: FieldList, dbSources: DatabaseTableSource[], input: SyntaxInput, node: ExpressionNode) {
+    if (dbSources.length > 1) {
+      return;
+    }
+ 
+    const first = dbSources[0];
+    if (first === undefined) {
+      // then its voided
+      return;
+    }
+ 
+    const type = first.parseType(input.scope.getRegistry());
+    if (type instanceof VoidType || type instanceof UnknownType) {
+      return;
+    }
+    if (!(type instanceof StructureType)) {
+      const message = "checkFields, expected structure, " + type.constructor.name;
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    for (const field of fields) {
+      if (field.code === "*") {
+        continue;
+      }
+ 
+      if (isSimple.test(field.code) && type.getComponentByName(field.code) === undefined) {
+        const message = `checkFields, field ${field.code} not found`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+  }
+ 
+  private buildTableType(fields: FieldList, dbSources: DatabaseTableSource[], scope: CurrentScope) {
+    if (dbSources.length !== 1) {
+      return new VoidType("SELECT_todo");
+    }
+ 
+    if (dbSources[0] === undefined) {
+      // then its a voided table
+      return new VoidType("SELECT_todo");
+    }
+    const dbType = dbSources[0].parseType(scope.getRegistry());
+    if (!(dbType instanceof StructureType)) {
+      return new VoidType("SELECT_todo");
+    }
+ 
+    if (fields.length === 1 && fields[0].code === "*") {
+      return new TableType(dbType, {withHeader: false, keyType: TableKeyType.default}, undefined);
+    }
+ 
+    const allFieldsSimple = fields.every(f => isSimple.test(f.code));
+    if (allFieldsSimple === true) {
+      const components: IStructureComponent[] = [];
+      for (const field of fields) {
+        const type = dbType.getComponentByName(field.code);
+        if (type === undefined) {
+          return new VoidType("SELECT_todo");
+        }
+        components.push({name: field.code, type});
+      }
+      return new TableType(new StructureType(components), {withHeader: false, keyType: TableKeyType.default}, undefined);
+    }
+
+    return new VoidType("SELECT_todo");
+  }
+ 
+  private findFields(node: ExpressionNode, input: SyntaxInput): FieldList {
+    let expr: ExpressionNode | undefined = undefined;
+    const ret = [];
+ 
+    expr = node.findFirstExpression(Expressions.SQLFieldList);
+    if (expr === undefined) {
+      expr = node.findDirectExpression(Expressions.SQLFieldListLoop);
+    }
+ 
+    if (expr?.getFirstChild()?.get() instanceof Expressions.Dynamic) {
+      new Dynamic().runSyntax(expr.getFirstChild() as ExpressionNode, input);
+    }
+ 
+    for (const field of expr?.findDirectExpressionsMulti([Expressions.SQLField, Expressions.SQLFieldName]) || []) {
+      let code = field.concatTokens().toUpperCase();
+      const as = field.findDirectExpression(Expressions.SQLAsName)?.concatTokens() || "";
+      if (as !== "") {
+        code = code.replace(" AS " + as, "");
+      }
+      ret.push({code, as, expression: field});
+    }
+ 
+    if (ret.length === 0 && expr) {
+      ret.push({code: expr.concatTokens(), as: "", expression: expr});
+    }
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/select_loop.ts.html b/src/abap/5_syntax/expressions/select_loop.ts.html new file mode 100644 index 00000000000..d7522584215 --- /dev/null +++ b/src/abap/5_syntax/expressions/select_loop.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/select_loop.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions select_loop.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +16x +16x +16x +1x
import {ExpressionNode} from "../../nodes";
+import {SyntaxInput} from "../_syntax_input";
+import {Select} from "./select";
+ 
+export class SelectLoop {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): void {
+    // try using the other Select, they should look very much the same
+    new Select().runSyntax(node, input);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/source.ts.html b/src/abap/5_syntax/expressions/source.ts.html new file mode 100644 index 00000000000..d9533b1e840 --- /dev/null +++ b/src/abap/5_syntax/expressions/source.ts.html @@ -0,0 +1,1093 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/source.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions source.ts

+
+ +
+ 97.03% + Statements + 327/337 +
+ + +
+ 93.18% + Branches + 123/132 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.03% + Lines + 327/337 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +3371x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3580x +3580x +3580x +3580x +3580x +3580x +4x +4x +3576x +3576x +3576x +3576x +3580x +319x +319x +319x +319x +319x +319x +319x +5x +319x +9x +9x +9x +9x +9x +9x +319x +11x +11x +11x +11x +11x +11x +319x +41x +41x +41x +41x +2x +41x +39x +39x +41x +41x +319x +10x +10x +10x +10x +5x +5x +5x +5x +10x +10x +319x +32x +32x +32x +32x +10x +32x +22x +22x +32x +32x +32x +32x +32x +32x +32x +319x +20x +20x +20x +20x +1x +1x +1x +1x +19x +19x +19x +319x +7x +7x +7x +7x +5x +7x +2x +2x +7x +319x +5x +5x +5x +5x +2x +5x +3x +3x +5x +5x +4x +5x +1x +1x +5x +319x +11x +11x +11x +11x +11x +11x +319x +1x +319x +167x +167x +167x +167x +32x +167x +134x +134x +167x +167x +319x +  +319x +3580x +  +  +3262x +3262x +3262x +3262x +3580x +36x +36x +3262x +3262x +3262x +3580x +3544x +180x +180x +3x +3x +3x +3x +3544x +1803x +3364x +179x +1561x +128x +128x +1382x +1095x +1095x +1254x +7x +159x +3x +152x +86x +2x +2x +86x +86x +6x +6x +6x +149x +4x +4x +3541x +3544x +11x +11x +11x +11x +11x +11x +5x +5x +5x +5x +11x +1x +1x +6x +6x +3536x +3536x +3544x +3254x +3254x +3544x +3254x +3580x +40x +40x +3214x +3214x +3214x +1x +1x +1x +1x +32x +32x +2x +2x +32x +1x +1x +1223x +5x +1223x +1218x +1218x +1223x +1x +1x +295x +295x +295x +295x +295x +295x +295x +295x +295x +295x +133x +133x +89x +133x +3x +3x +3x +3x +3x +44x +8x +8x +8x +8x +133x +295x +295x +1x +1x +294x +294x +294x +294x +294x +294x +294x +294x +294x +294x +  +294x +105x +105x +189x +294x +138x +138x +2x +  +  +2x +2x +2x +2x +2x +138x +  +  +  +  +136x +136x +51x +51x +51x +1x +1x
import {ExpressionNode, TokenNode} from "../../nodes";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import * as Expressions from "../../2_statements/expressions";
+import {MethodCallChain} from "./method_call_chain";
+import {UnknownType} from "../../types/basic/unknown_type";
+import {FieldChain} from "./field_chain";
+import {VoidType, StringType, CharacterType, DataReference, ObjectReferenceType, FloatType, IntegerType, XSequenceType, XStringType, HexType, XGenericType} from "../../types/basic";
+import {Constant} from "./constant";
+import {BasicTypes} from "../basic_types";
+import {ComponentChain} from "./component_chain";
+import {StringTemplate} from "./string_template";
+import {ValueBody} from "./value_body";
+import {Cond} from "./cond";
+import {ReduceBody} from "./reduce_body";
+import {ReferenceType} from "../_reference";
+import {SwitchBody} from "./switch_body";
+import {CondBody} from "./cond_body";
+import {ConvBody} from "./conv_body";
+import {FilterBody} from "./filter_body";
+import {CorrespondingBody} from "./corresponding_body";
+import {BuiltIn} from "../_builtin";
+import {AttributeChain} from "./attribute_chain";
+import {Dereference} from "./dereference";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {TypeUtils} from "../_type_utils";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+/*
+* Type interference, valid scenarios:
+* typed = VALUE #( ... ).         right hand side must follow left hand type
+* DATA(bar) = VALUE type( ... ).  left gets the type of rigthand
+* typed = VALUE type( ... ).      types must match and be compatible???
+************* ERRORS *********
+* VALUE #( ... ).                 syntax error
+* DATA(bar) = VALUE #( ... ).     give error, no type can be derived
+*/
+ 
+export class Source {
+  public runSyntax(
+    node: ExpressionNode | undefined,
+    input: SyntaxInput,
+    targetType?: AbstractType,
+    writeReference = false): AbstractType | undefined {
+ 
+    if (node === undefined) {
+      return undefined;
+    }
+ 
+    const children = node.getChildren().slice();
+    let first = children.shift();
+ 
+    if (first instanceof TokenNode) {
+      const token = first.getFirstToken();
+      const tok = token.getStr().toUpperCase();
+      switch (tok) {
+        case "(":
+        case "-":
+        case "+":
+        case "BIT":
+          break;
+        case "BOOLC":
+        {
+          const method = new BuiltIn().searchBuiltin(tok);
+          input.scope.addReference(token, method, ReferenceType.BuiltinMethodReference, input.filename);
+          new Cond().runSyntax(node.findDirectExpression(Expressions.Cond)!, input);
+          return StringType.get();
+        }
+        case "XSDBOOL":
+        {
+          const method = new BuiltIn().searchBuiltin(tok);
+          input.scope.addReference(token, method, ReferenceType.BuiltinMethodReference, input.filename);
+          new Cond().runSyntax(node.findDirectExpression(Expressions.Cond)!, input);
+          return new CharacterType(1, {qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL"});
+        }
+        case "REDUCE":
+        {
+          const foundType = this.determineType(node, input, targetType);
+          const bodyType = new ReduceBody().runSyntax(node.findDirectExpression(Expressions.ReduceBody), input, foundType);
+          if (foundType === undefined || foundType.isGeneric()) {
+            this.addIfInferred(node, input, bodyType);
+          } else {
+            this.addIfInferred(node, input, foundType);
+          }
+          return foundType ? foundType : bodyType;
+        }
+        case "SWITCH":
+        {
+          const foundType = this.determineType(node, input, targetType);
+          const bodyType = new SwitchBody().runSyntax(node.findDirectExpression(Expressions.SwitchBody), input);
+          if (foundType === undefined || foundType.isGeneric()) {
+            this.addIfInferred(node, input, bodyType);
+          } else {
+            this.addIfInferred(node, input, foundType);
+          }
+          return foundType ? foundType : bodyType;
+        }
+        case "COND":
+        {
+          const foundType = this.determineType(node, input, targetType);
+          const bodyType = new CondBody().runSyntax(node.findDirectExpression(Expressions.CondBody), input);
+          if (foundType === undefined || foundType.isGeneric()) {
+            this.addIfInferred(node, input, bodyType);
+          } else {
+            this.addIfInferred(node, input, foundType);
+          }
+          children.shift();
+          children.shift();
+          children.shift();
+          children.shift();
+          this.traverseRemainingChildren(children, input);
+          return foundType ? foundType : bodyType;
+        }
+        case "CONV":
+        {
+          const foundType = this.determineType(node, input, targetType);
+          const bodyType = new ConvBody().runSyntax(node.findDirectExpression(Expressions.ConvBody)!, input);
+          if (new TypeUtils(input.scope).isAssignable(foundType, bodyType) === false) {
+            const message = "CONV: Types not compatible";
+            input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+            return new VoidType(CheckSyntaxKey);
+          }
+          this.addIfInferred(node, input, foundType);
+          return foundType;
+        }
+        case "REF":
+        {
+          const foundType = this.determineType(node, input, targetType);
+          const s = new Source().runSyntax(node.findDirectExpression(Expressions.Source), input);
+          if (foundType === undefined && s) {
+            return new DataReference(s);
+          } else {
+            return foundType;
+          }
+        }
+        case "FILTER":
+        {
+          const foundType = this.determineType(node, input, targetType);
+          const bodyType = new FilterBody().runSyntax(node.findDirectExpression(Expressions.FilterBody), input, foundType);
+          if (foundType === undefined || foundType.isGeneric()) {
+            this.addIfInferred(node, input, bodyType);
+          } else {
+            this.addIfInferred(node, input, foundType);
+          }
+ 
+          if (foundType && !(foundType instanceof UnknownType)) {
+            return foundType;
+          } else {
+            return bodyType;
+          }
+        }
+        case "CORRESPONDING":
+        {
+          const foundType = this.determineType(node, input, targetType);
+          new CorrespondingBody().runSyntax(node.findDirectExpression(Expressions.CorrespondingBody), input, foundType);
+          this.addIfInferred(node, input, foundType);
+          return foundType;
+        }
+        case "EXACT":
+          return this.determineType(node, input, targetType);
+        case "VALUE":
+        {
+          const foundType = this.determineType(node, input, targetType);
+          const bodyType = new ValueBody().runSyntax(node.findDirectExpression(Expressions.ValueBody), input, foundType);
+          if (foundType === undefined || foundType.isGeneric()) {
+            this.addIfInferred(node, input, bodyType);
+          } else {
+            this.addIfInferred(node, input, foundType);
+          }
+          return foundType ? foundType : bodyType;
+        }
+        default:
+          return new UnknownType("todo, Source type " + tok);
+      }
+    } else if (first === undefined || !(first instanceof ExpressionNode)) {
+      return undefined;
+    }
+ 
+    let context: AbstractType | undefined = new UnknownType("todo, Source type");
+ 
+    const type = [ReferenceType.DataReadReference];
+    if (writeReference) {
+      type.push(ReferenceType.DataWriteReference);
+    }
+ 
+    let hexExpected = false;
+    let hexNext = false;
+    while (children.length >= 0) {
+      if (first instanceof ExpressionNode && first.get() instanceof Expressions.MethodCallChain) {
+        context = new MethodCallChain().runSyntax(first, input, targetType);
+        if (context === undefined) {
+          const message = "Method has no RETURNING value";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+      } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.FieldChain) {
+        context = new FieldChain().runSyntax(first, input, type);
+      } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.StringTemplate) {
+        context = new StringTemplate().runSyntax(first, input);
+      } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.Source) {
+        const found = new Source().runSyntax(first, input);
+        context = this.infer(context, found);
+      } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.Constant) {
+        const found = new Constant().runSyntax(first);
+        context = this.infer(context, found);
+      } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.Dereference) {
+        context = new Dereference().runSyntax(first, context, input);
+      } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.ComponentChain) {
+        context = new ComponentChain().runSyntax(context, first, input);
+      } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.ArithOperator) {
+        if (first.concatTokens() === "**") {
+          context = new FloatType();
+        }
+        const operator = first.concatTokens().toUpperCase();
+        if (operator === "BIT-OR" || operator === "BIT-AND" || operator === "BIT-XOR") {
+          hexExpected = true;
+          hexNext = true;
+        }
+      } else if (first instanceof ExpressionNode && first.get() instanceof Expressions.AttributeChain) {
+        context = new AttributeChain().runSyntax(context, first, input, type);
+      }
+ 
+      if (hexExpected === true) {
+        if (!(context instanceof VoidType)
+            && !(context instanceof XStringType)
+            && !(context instanceof HexType)
+            && !(context instanceof XGenericType)
+            && !(context instanceof XSequenceType)
+            && !(context instanceof UnknownType)) {
+          const message = "Operator only valid for XSTRING or HEX";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+        if (hexNext === false) {
+          hexExpected = false;
+        }
+        hexNext = false;
+      }
+ 
+      first = children.shift();
+      if (first === undefined) {
+        break;
+      }
+    }
+ 
+    if (node.findDirectTokenByText("&&")) {
+      return StringType.get();
+    }
+ 
+    return context;
+  }
+ 
+////////////////////////////////
+ 
+  private traverseRemainingChildren(children: (ExpressionNode | TokenNode)[], input: SyntaxInput) {
+    const last = children[children.length - 1];
+    if (last && last.get() instanceof Expressions.Source) {
+      new Source().runSyntax(last as ExpressionNode, input);
+    }
+  }
+ 
+  private infer(context: AbstractType | undefined, found: AbstractType | undefined) {
+    if (context instanceof FloatType && found instanceof IntegerType) {
+      return context;
+    } else {
+      return found;
+    }
+  }
+ 
+  public addIfInferred(
+    node: ExpressionNode,
+    input: SyntaxInput,
+    inferredType: AbstractType | undefined): void {
+ 
+    const basic = new BasicTypes(input);
+    const typeExpression = node.findFirstExpression(Expressions.TypeNameOrInfer);
+    const typeToken = typeExpression?.getFirstToken();
+    const typeName = typeToken?.getStr();
+ 
+    if (typeName === "#" && inferredType && typeToken) {
+      const found = basic.lookupQualifiedName(inferredType.getQualifiedName());
+      if (found) {
+        input.scope.addReference(typeToken, found, ReferenceType.InferredType, input.filename);
+      } else if (inferredType instanceof ObjectReferenceType) {
+        const def = input.scope.findObjectDefinition(inferredType.getQualifiedName());
+        if (def) {
+          const tid = new TypedIdentifier(typeToken, input.filename, inferredType);
+          input.scope.addReference(typeToken, tid, ReferenceType.InferredType, input.filename);
+        }
+      } else if (inferredType instanceof CharacterType) {
+        // character is bit special it does not have a qualified name eg "TYPE c LENGTH 6"
+        const tid = new TypedIdentifier(typeToken, input.filename, inferredType);
+        input.scope.addReference(typeToken, tid, ReferenceType.InferredType, input.filename);
+      }
+    }
+ 
+  }
+ 
+  private determineType(
+    node: ExpressionNode,
+    input: SyntaxInput,
+    targetType: AbstractType | undefined): AbstractType | undefined {
+ 
+    const basic = new BasicTypes(input);
+    const typeExpression = node.findFirstExpression(Expressions.TypeNameOrInfer);
+    const typeToken = typeExpression?.getFirstToken();
+    const typeName = typeToken?.getStr();
+ 
+    if (typeExpression === undefined) {
+      throw new AssertError("determineType, child TypeNameOrInfer not found");
+    } else if (typeName === "#" && targetType) {
+      return targetType;
+    }
+ 
+    if (typeName !== "#" && typeToken) {
+      const found = basic.parseType(typeExpression);
+      if (found && found instanceof UnknownType) {
+        if (input.scope.getDDIC().inErrorNamespace(typeName) === false) {
+          input.scope.addReference(typeToken, undefined, ReferenceType.VoidType, input.filename);
+          return new VoidType(typeName);
+        } else {
+          const tid = new TypedIdentifier(typeToken, input.filename, found);
+          input.scope.addReference(typeToken, tid, ReferenceType.TypeReference, input.filename);
+          return found;
+        }
+      } else if (found === undefined) {
+        const message = "Type \"" + typeName + "\" not found in scope, VALUE";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+      return found;
+    }
+ 
+    return targetType;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/source_field.ts.html b/src/abap/5_syntax/expressions/source_field.ts.html new file mode 100644 index 00000000000..2664e3e2bba --- /dev/null +++ b/src/abap/5_syntax/expressions/source_field.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/source_field.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions source_field.ts

+
+ +
+ 100% + Statements + 33/33 +
+ + +
+ 100% + Branches + 5/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 33/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +1x +1x +1x +1x +1x +1x +1811x +1811x +1811x +1811x +1811x +1811x +157x +157x +157x +157x +157x +157x +1654x +1654x +1654x +1654x +1811x +4x +4x +4x +4x +4x +1654x +1654x +1x
import {ExpressionNode} from "../../nodes";
+import {VoidType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {ReferenceType} from "../_reference";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class SourceField {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput, type?: ReferenceType | ReferenceType[],
+                   error = true): AbstractType | undefined {
+    const token = node.getFirstToken();
+    const name = token.getStr();
+ 
+    const found = input.scope.findVariable(name);
+    if (found === undefined) {
+      const message = "\"" + name + "\" not found, findTop";
+      if (error === true) {
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      }
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    if (type) {
+      input.scope.addReference(token, found, type, input.filename);
+    }
+    if (name.includes("~")) {
+      const idef = input.scope.findInterfaceDefinition(name.split("~")[0]);
+      if (idef) {
+        input.scope.addReference(token, idef, ReferenceType.ObjectOrientedReference, input.filename);
+      }
+    }
+    return found.getType();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/source_field_symbol.ts.html b/src/abap/5_syntax/expressions/source_field_symbol.ts.html new file mode 100644 index 00000000000..e135c0deb36 --- /dev/null +++ b/src/abap/5_syntax/expressions/source_field_symbol.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/source_field_symbol.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions source_field_symbol.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +80x +80x +80x +2x +2x +2x +2x +78x +78x +78x +1x
import {ExpressionNode} from "../../nodes";
+import {VoidType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {ReferenceType} from "../_reference";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class SourceFieldSymbol {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): AbstractType {
+    const token = node.getFirstToken();
+    const found = input.scope.findVariable(token.getStr());
+    if (found === undefined) {
+      const message = "\"" + node.getFirstToken().getStr() + "\" not found, SourceFieldSymbol";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+    input.scope.addReference(token, found, ReferenceType.DataReadReference, input.filename);
+    return found.getType();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/sql_compare.ts.html b/src/abap/5_syntax/expressions/sql_compare.ts.html new file mode 100644 index 00000000000..0b793467e62 --- /dev/null +++ b/src/abap/5_syntax/expressions/sql_compare.ts.html @@ -0,0 +1,349 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/sql_compare.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions sql_compare.ts

+
+ +
+ 92.13% + Statements + 82/89 +
+ + +
+ 75% + Branches + 30/40 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 92.13% + Lines + 82/89 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +891x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +75x +75x +75x +75x +75x +3x +3x +3x +72x +75x +  +  +72x +75x +65x +83x +65x +65x +65x +83x +65x +65x +65x +72x +72x +75x +7x +7x +72x +75x +75x +56x +56x +56x +56x +56x +56x +1x +56x +55x +  +55x +55x +  +55x +55x +  +55x +55x +55x +2x +55x +53x +53x +  +  +56x +3x +3x +56x +75x +1x +1x +56x +59x +59x +8x +8x +59x +48x +48x +1x +1x
import {AbstractToken} from "../../1_lexer/tokens/abstract_token";
+import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode, StatementNode} from "../../nodes";
+import {CharacterType, IntegerType, NumericType, StructureType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {CurrentScope} from "../_current_scope";
+import {SyntaxInput} from "../_syntax_input";
+import {DatabaseTableSource} from "./database_table";
+import {Dynamic} from "./dynamic";
+import {Source} from "./source";
+import {SQLIn} from "./sql_in";
+import {SQLSource} from "./sql_source";
+ 
+export class SQLCompare {
+ 
+  public runSyntax(node: ExpressionNode | StatementNode, input: SyntaxInput, tables: DatabaseTableSource[]): void {
+ 
+    let sourceType: AbstractType | undefined;
+    let token: AbstractToken | undefined;
+ 
+    if (node.getFirstChild()?.get() instanceof Expressions.Dynamic) {
+      new Dynamic().runSyntax(node.getFirstChild() as ExpressionNode, input);
+      return;
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.SimpleSource3)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.SQLSource)) {
+      for (const child of s.getChildren()) {
+        if (child instanceof ExpressionNode) {
+          token = child.getFirstToken();
+          break;
+        }
+      }
+ 
+      sourceType = new SQLSource().runSyntax(s, input);
+    }
+ 
+    const sqlin = node.findDirectExpression(Expressions.SQLIn);
+    if (sqlin) {
+      new SQLIn().runSyntax(sqlin, input);
+    }
+ 
+    const fieldName = node.findDirectExpression(Expressions.SQLFieldName)?.concatTokens();
+    if (fieldName && sourceType && token) {
+// check compatibility for rule sql_value_conversion
+      const targetType = this.findType(fieldName, tables, input.scope);
+ 
+      let message = "";
+      if (sourceType instanceof IntegerType
+          && targetType instanceof CharacterType) {
+        message = "Integer to CHAR conversion";
+      } else if (sourceType instanceof IntegerType
+          && targetType instanceof NumericType) {
+        message = "Integer to NUMC conversion";
+      } else if (sourceType instanceof NumericType
+          && targetType instanceof IntegerType) {
+        message = "NUMC to Integer conversion";
+      } else if (sourceType instanceof CharacterType
+          && targetType instanceof IntegerType) {
+        message = "CHAR to Integer conversion";
+      } else if (sourceType instanceof CharacterType
+          && targetType instanceof CharacterType
+          && sourceType.getLength() > targetType.getLength()) {
+        message = "Source field longer than database field, CHAR -> CHAR";
+      } else if (sourceType instanceof NumericType
+          && targetType instanceof NumericType
+          && sourceType.getLength() > targetType.getLength()) {
+        message = "Source field longer than database field, NUMC -> NUMC";
+      }
+      if (message !== "") {
+        input.scope.addSQLConversion(fieldName, message, token);
+      }
+    }
+  }
+ 
+  private findType(fieldName: string, tables: DatabaseTableSource[], scope: CurrentScope): AbstractType | undefined {
+    for (const t of tables) {
+      const type = t?.parseType(scope.getRegistry());
+      if (type instanceof StructureType) {
+        return type.getComponentByName(fieldName);
+      }
+    }
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/sql_for_all_entries.ts.html b/src/abap/5_syntax/expressions/sql_for_all_entries.ts.html new file mode 100644 index 00000000000..2f9ca50807e --- /dev/null +++ b/src/abap/5_syntax/expressions/sql_for_all_entries.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/sql_for_all_entries.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions sql_for_all_entries.ts

+
+ +
+ 86.66% + Statements + 26/30 +
+ + +
+ 80% + Branches + 4/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 86.66% + Lines + 26/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +301x +1x +1x +1x +1x +1x +1x +1x +1x +9x +9x +9x +9x +9x +9x +9x +2x +2x +9x +  +  +  +  +7x +7x +7x +7x +9x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {Source} from "./source";
+import {VoidType, TableType} from "../../types/basic";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class SQLForAllEntries {
+ 
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): void {
+    let s = node.findFirstExpression(Expressions.Source);
+    if (s === undefined) {
+      s = node.findFirstExpression(Expressions.SimpleSource3);
+    }
+    if (s) {
+      const type = new Source().runSyntax(s, input);
+      if (type instanceof VoidType) {
+        return;
+      }
+      if (!(type instanceof TableType)) {
+        const message = "FAE parameter must be table type";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+ 
+      const name = s.concatTokens().replace("[]", "");
+      input.scope.setAllowHeaderUse(name);
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/sql_from.ts.html b/src/abap/5_syntax/expressions/sql_from.ts.html new file mode 100644 index 00000000000..f39ed4a4be3 --- /dev/null +++ b/src/abap/5_syntax/expressions/sql_from.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/sql_from.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions sql_from.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +119x +119x +119x +125x +7x +7x +125x +125x +125x +124x +124x +125x +119x +119x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode, StatementNode} from "../../nodes";
+import {Dynamic} from "./dynamic";
+import {DatabaseTable, DatabaseTableSource} from "./database_table";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SQLFrom {
+ 
+  public runSyntax(node: ExpressionNode | StatementNode, input: SyntaxInput): DatabaseTableSource[] {
+    const ret: DatabaseTableSource[] = [];
+    const fromList = node.findAllExpressions(Expressions.SQLFromSource);
+    for (const from of fromList) {
+      for (const d of from.findAllExpressions(Expressions.Dynamic)) {
+        new Dynamic().runSyntax(d, input);
+      }
+ 
+      const dbtab = from.findFirstExpression(Expressions.DatabaseTable);
+      if (dbtab !== undefined) {
+        ret.push(new DatabaseTable().runSyntax(dbtab, input));
+      }
+    }
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/sql_in.ts.html b/src/abap/5_syntax/expressions/sql_in.ts.html new file mode 100644 index 00000000000..1c329697407 --- /dev/null +++ b/src/abap/5_syntax/expressions/sql_in.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/sql_in.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions sql_in.ts

+
+ +
+ 100% + Statements + 36/36 +
+ + +
+ 100% + Branches + 7/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 36/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +361x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +2x +2x +2x +2x +2x +2x +2x +1x +1x +1x +1x +2x +1x +1x +5x +7x +2x +2x +5x +5x +5x +5x +5x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode, StatementNode} from "../../nodes";
+import {TableType, UnknownType, VoidType} from "../../types/basic";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {SQLSource} from "./sql_source";
+ 
+export class SQLIn {
+ 
+  public runSyntax(node: ExpressionNode | StatementNode, input: SyntaxInput): void {
+ 
+    if (node.getChildren().length === 2) {
+      const insource = node.findFirstExpression(Expressions.SQLSource);
+      if (insource) {
+        const intype = new SQLSource().runSyntax(insource, input);
+        if (intype &&
+            !(intype instanceof VoidType) &&
+            !(intype instanceof UnknownType) &&
+            !(intype instanceof TableType)) {
+          const message = "IN, not a table";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      }
+      return;
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.SQLSource)) {
+      new SQLSource().runSyntax(s, input);
+    }
+    for (const s of node.findDirectExpressions(Expressions.SQLSourceNoSpace)) {
+      new SQLSource().runSyntax(s, input);
+    }
+ 
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/sql_order_by.ts.html b/src/abap/5_syntax/expressions/sql_order_by.ts.html new file mode 100644 index 00000000000..c11ea47ced7 --- /dev/null +++ b/src/abap/5_syntax/expressions/sql_order_by.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/sql_order_by.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions sql_order_by.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +5x +5x +2x +2x +5x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode, StatementNode} from "../../nodes";
+import {SyntaxInput} from "../_syntax_input";
+import {Dynamic} from "./dynamic";
+ 
+export class SQLOrderBy {
+ 
+  public runSyntax(node: ExpressionNode | StatementNode, input: SyntaxInput): void {
+    const dyn = node.findDirectExpression(Expressions.Dynamic);
+    if (dyn) {
+      new Dynamic().runSyntax(dyn, input);
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/sql_source.ts.html b/src/abap/5_syntax/expressions/sql_source.ts.html new file mode 100644 index 00000000000..9ebe23249bb --- /dev/null +++ b/src/abap/5_syntax/expressions/sql_source.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/sql_source.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions sql_source.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 5/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +94x +1x +1x +94x +84x +84x +9x +9x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode, StatementNode} from "../../nodes";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput} from "../_syntax_input";
+import {Source} from "./source";
+ 
+export class SQLSource {
+ 
+  public runSyntax(node: ExpressionNode | StatementNode, input: SyntaxInput): AbstractType | undefined {
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      return new Source().runSyntax(s, input);
+    }
+    for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
+      return new Source().runSyntax(s, input);
+    }
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/string_template.ts.html b/src/abap/5_syntax/expressions/string_template.ts.html new file mode 100644 index 00000000000..ac9a581dcb4 --- /dev/null +++ b/src/abap/5_syntax/expressions/string_template.ts.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/string_template.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions string_template.ts

+
+ +
+ 90.38% + Statements + 47/52 +
+ + +
+ 88.88% + Branches + 24/27 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 90.38% + Lines + 47/52 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +521x +1x +1x +1x +1x +1x +1x +1x +1x +1x +179x +179x +179x +179x +49x +49x +49x +  +  +  +49x +49x +3x +3x +3x +3x +46x +46x +49x +49x +  +  +46x +46x +49x +49x +49x +49x +49x +49x +49x +49x +49x +1x +1x +1x +1x +49x +175x +175x +175x +1x
import {ExpressionNode} from "../../nodes";
+import {AnyType, CLikeType, CharacterType, NumericGenericType, NumericType, StringType, StructureType, UnknownType, VoidType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {TypeUtils} from "../_type_utils";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class StringTemplate {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): AbstractType {
+    const typeUtils = new TypeUtils(input.scope);
+    const ret = StringType.get();
+ 
+    for (const templateSource of node.findAllExpressions(Expressions.StringTemplateSource)) {
+      const s = templateSource.findDirectExpression(Expressions.Source);
+      const type = new Source().runSyntax(s, input, ret);
+      if (type === undefined) {
+        const message = "No target type determined";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      } else if ((typeUtils.isCharLike(type) === false && typeUtils.isHexLike(type) === false)
+          || type instanceof StructureType) {
+        const message = "String template, not character like, " + type.constructor.name;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+ 
+      const format = templateSource.findDirectExpression(Expressions.StringTemplateFormatting);
+      const formatConcat = format?.concatTokens();
+      for (const formatSource of format?.findAllExpressions(Expressions.Source) || []) {
+        new Source().runSyntax(formatSource, input);
+      }
+ 
+      if (format
+          && formatConcat?.includes("ALPHA = ")
+          && !(type instanceof UnknownType)
+          && !(type instanceof VoidType)
+          && !(type instanceof StringType)
+          && !(type instanceof CLikeType)
+          && !(type instanceof CharacterType)
+          && !(type instanceof NumericGenericType)
+          && !(type instanceof NumericType)
+          && !(type instanceof AnyType)) {
+        const message = "Cannot apply ALPHA to this type";
+        input.issues.push(syntaxIssue(input, format.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+    }
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/switch_body.ts.html b/src/abap/5_syntax/expressions/switch_body.ts.html new file mode 100644 index 00000000000..ac4c22f4bca --- /dev/null +++ b/src/abap/5_syntax/expressions/switch_body.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/switch_body.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions switch_body.ts

+
+ +
+ 80.64% + Statements + 25/31 +
+ + +
+ 57.14% + Branches + 4/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 80.64% + Lines + 25/31 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +1x +1x +1x +1x +1x +1x +1x +10x +  +  +10x +10x +10x +  +  +  +  +10x +10x +10x +49x +10x +10x +39x +39x +10x +10x +10x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {VoidType} from "../../types/basic";
+ 
+export class SwitchBody {
+  public runSyntax(node: ExpressionNode | undefined, input: SyntaxInput): AbstractType | undefined {
+    if (node === undefined) {
+      return;
+    }
+ 
+    const thenSource = node.findExpressionAfterToken("THEN");
+    if (!(thenSource?.get() instanceof Expressions.Source)) {
+      const message = "SwitchBody, unexpected";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+    const type = new Source().runSyntax(thenSource, input);
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      if (s === thenSource) {
+        continue;
+      }
+      new Source().runSyntax(s, input);
+    }
+ 
+    return type;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/table_expression.ts.html b/src/abap/5_syntax/expressions/table_expression.ts.html new file mode 100644 index 00000000000..4722fa9822b --- /dev/null +++ b/src/abap/5_syntax/expressions/table_expression.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/table_expression.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions table_expression.ts

+
+ +
+ 87.5% + Statements + 14/16 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 87.5% + Lines + 14/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +48x +  +  +48x +48x +54x +54x +48x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {Source} from "./source";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class TableExpression {
+  public runSyntax(node: ExpressionNode | undefined, input: SyntaxInput) {
+    if (node === undefined) {
+      return;
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/target.ts.html b/src/abap/5_syntax/expressions/target.ts.html new file mode 100644 index 00000000000..e5b5a82638c --- /dev/null +++ b/src/abap/5_syntax/expressions/target.ts.html @@ -0,0 +1,625 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/target.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions target.ts

+
+ +
+ 85.08% + Statements + 154/181 +
+ + +
+ 80.51% + Branches + 62/77 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 85.08% + Lines + 154/181 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +1811x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1324x +1324x +1324x +156x +156x +156x +1x +1x +1x +156x +1323x +1323x +1323x +1324x +  +  +1323x +1323x +1324x +68x +68x +68x +68x +1255x +1324x +308x +308x +  +  +308x +308x +133x +  +  +  +133x +133x +133x +133x +  +  +  +  +308x +12x +12x +12x +8x +8x +8x +8x +175x +3x +  +  +  +  +3x +3x +2x +2x +163x +133x +160x +3x +3x +3x +3x +  +  +  +  +3x +2x +2x +27x +24x +3x +  +  +  +  +3x +3x +3x +3x +24x +7x +7x +7x +308x +1247x +1247x +1324x +5x +2x +2x +2x +2x +3x +3x +1245x +1245x +1324x +6x +2x +2x +2x +2x +4x +4x +1243x +1243x +1243x +1x +1x +1x +1x +1323x +  +  +1323x +1323x +1323x +1323x +1323x +1323x +1206x +1206x +1138x +1138x +1206x +2x +2x +2x +2x +2x +1206x +1323x +3x +3x +2x +2x +3x +1x +1x +1x +  +  +117x +2x +2x +1x +1x +1x +1x +1x +1x +112x +112x +112x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode} from "../../nodes";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {UnknownType} from "../../types/basic/unknown_type";
+import {INode} from "../../nodes/_inode";
+import {Dash, InstanceArrow} from "../../1_lexer/tokens";
+import {StructureType, ObjectReferenceType, VoidType, DataReference, TableType, XStringType, StringType} from "../../types/basic";
+import {ComponentName} from "./component_name";
+import {AttributeName} from "./attribute_name";
+import {FieldOffset} from "./field_offset";
+import {ReferenceType} from "../_reference";
+import {TableExpression} from "./table_expression";
+import {Dereference} from "../../2_statements/expressions";
+import {FieldLength} from "./field_length";
+import {Cast} from "./cast";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Target {
+  public runSyntax(node: ExpressionNode, input: SyntaxInput): AbstractType | undefined {
+ 
+    const concat = node.concatTokens();
+    if (concat.includes("-")) {
+      // workaround for names with dashes
+      const found = input.scope.findVariable(concat);
+      if (found) {
+        input.scope.addReference(node.getFirstToken(), found, ReferenceType.DataWriteReference, input.filename);
+        return found.getType();
+      }
+    }
+ 
+    const children = node.getChildren().slice();
+    const first = children.shift();
+    if (first === undefined || !(first instanceof ExpressionNode)) {
+      return undefined;
+    }
+ 
+    let context = this.findTop(first, input);
+    if (context === undefined) {
+      const message = `"${first.getFirstToken().getStr()}" not found, Target`;
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    while (children.length > 0) {
+      const current = children.shift();
+      if (current === undefined) {
+        break;
+      }
+ 
+      if (current.get() instanceof Dash) {
+        if (context instanceof UnknownType) {
+          const message = "Not a structure, type unknown, target";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        } else if (!(context instanceof StructureType)
+            && !(context instanceof TableType && context.isWithHeader() && context.getRowType() instanceof StructureType)
+            && !(context instanceof TableType && context.isWithHeader() && context.getRowType() instanceof VoidType)
+            && !(context instanceof VoidType)) {
+          const message = "Not a structure, target";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+      } else if (current.get() instanceof InstanceArrow) {
+        if (!(context instanceof ObjectReferenceType)
+            && !(context instanceof DataReference)
+            && !(context instanceof VoidType)) {
+          const message = "Not an object reference, target";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+      } else if (current.get() instanceof Dereference) {
+        if (!(context instanceof DataReference) && !(context instanceof VoidType)) {
+          const message = "Not an object reference, target";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+ 
+        if (!(context instanceof VoidType)) {
+          context = context.getType();
+        }
+      } else if (current.get() instanceof Expressions.ComponentName) {
+        context = new ComponentName().runSyntax(context, current, input);
+      } else if (current.get() instanceof Expressions.TableBody) {
+        if (!(context instanceof TableType)
+            && !(context instanceof VoidType)
+            && !(context instanceof UnknownType)
+            && !(context instanceof UnknownType)) {
+          const message = "Not a internal table, \"[]\"";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+        if (context instanceof TableType && context.isWithHeader()) {
+          context = new TableType(context.getRowType(), {...context.getOptions(), withHeader: false});
+        }
+      } else if (current instanceof ExpressionNode
+          && current.get() instanceof Expressions.TableExpression) {
+        if (!(context instanceof TableType) && !(context instanceof VoidType)) {
+          const message = "Table expression, expected table";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+        new TableExpression().runSyntax(current, input);
+        if (!(context instanceof VoidType)) {
+          context = context.getRowType();
+        }
+      } else if (current.get() instanceof Expressions.AttributeName) {
+        const type = children.length === 0 ? ReferenceType.DataWriteReference : ReferenceType.DataReadReference;
+        context = new AttributeName().runSyntax(context, current, input, type);
+      }
+    }
+ 
+    const offset = node.findDirectExpression(Expressions.FieldOffset);
+    if (offset) {
+      if (context instanceof XStringType || context instanceof StringType) {
+        const message = "xstring/string offset/length in writer position not possible";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+      new FieldOffset().runSyntax(offset, input);
+    }
+ 
+    const length = node.findDirectExpression(Expressions.FieldLength);
+    if (length) {
+      if (context instanceof XStringType || context instanceof StringType) {
+        const message = "xstring/string offset/length in writer position not possible";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+      new FieldLength().runSyntax(length, input);
+    }
+ 
+    return context;
+  }
+ 
+/////////////////////////////////
+ 
+  private findTop(node: INode | undefined, input: SyntaxInput): AbstractType | undefined {
+    if (node === undefined) {
+      return undefined;
+    }
+ 
+    const token = node.getFirstToken();
+    const name = token.getStr();
+ 
+    if (node.get() instanceof Expressions.TargetField
+        || node.get() instanceof Expressions.TargetFieldSymbol) {
+      const found = input.scope.findVariable(name);
+      if (found) {
+        input.scope.addReference(token, found, ReferenceType.DataWriteReference, input.filename);
+      }
+      if (name.includes("~")) {
+        const idef = input.scope.findInterfaceDefinition(name.split("~")[0]);
+        if (idef) {
+          input.scope.addReference(token, idef, ReferenceType.ObjectOrientedReference, input.filename);
+        }
+      }
+      return found?.getType();
+    } else if (node.get() instanceof Expressions.ClassName) {
+      const found = input.scope.findObjectDefinition(name);
+      if (found) {
+        input.scope.addReference(token, found, ReferenceType.ObjectOrientedReference, input.filename);
+        return new ObjectReferenceType(found);
+      } else if (input.scope.getDDIC().inErrorNamespace(name) === false) {
+        input.scope.addReference(token, undefined, ReferenceType.ObjectOrientedVoidReference, input.filename, {ooName: name, ooType: "CLAS"});
+        return new VoidType(name);
+      } else {
+        return new UnknownType(name + " unknown, Target");
+      }
+    } else if (node.get() instanceof Expressions.Cast && node instanceof ExpressionNode) {
+      const ret = new Cast().runSyntax(node, input, undefined);
+      if (ret instanceof UnknownType) {
+        const message = "CAST, uknown type";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+      return ret;
+    }
+ 
+    return new UnknownType("unknown target type");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/type_table.ts.html b/src/abap/5_syntax/expressions/type_table.ts.html new file mode 100644 index 00000000000..3f9896e0664 --- /dev/null +++ b/src/abap/5_syntax/expressions/type_table.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/type_table.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions type_table.ts

+
+ +
+ 91.11% + Statements + 41/45 +
+ + +
+ 83.33% + Branches + 10/12 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 91.11% + Lines + 41/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +451x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +539x +539x +539x +144x +144x +539x +  +  +539x +539x +539x +539x +144x +144x +144x +41x +41x +144x +539x +539x +539x +  +  +537x +539x +408x +408x +2x +2x +408x +537x +537x +537x +1x
import {ExpressionNode, StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {BasicTypes} from "../basic_types";
+import * as Expressions from "../../2_statements/expressions";
+import {UnknownType} from "../../types/basic";
+import {ScopeType} from "../_scope_type";
+import {TypeTableKey} from "./type_table_key";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class TypeTable {
+  public runSyntax(node: ExpressionNode | StatementNode, input: SyntaxInput, qualifiedNamePrefix?: string): TypedIdentifier | undefined {
+    // todo, input is currently the statement, but should be the expression?
+    let nameExpr = node.findFirstExpression(Expressions.DefinitionName);
+    if (nameExpr === undefined) {
+      nameExpr = node.findFirstExpression(Expressions.NamespaceSimpleName);
+    }
+    if (nameExpr === undefined) {
+      return undefined;
+    }
+    const name = nameExpr.getFirstToken();
+ 
+    let qualifiedName = qualifiedNamePrefix || "";
+    if (node.getFirstToken().getStr().toUpperCase() === "TYPES") {
+      qualifiedName = qualifiedName + name.getStr();
+      if (input.scope.getType() === ScopeType.ClassDefinition
+          || input.scope.getType() === ScopeType.Interface) {
+        qualifiedName = input.scope.getName() + "=>" + qualifiedName;
+      }
+    }
+ 
+    let type = new BasicTypes(input).parseTable(node, qualifiedName);
+    if (type === undefined) {
+      return new TypedIdentifier(name, input.filename, new UnknownType("TableType, fallback"));
+    }
+ 
+    for (const tt of node.findAllExpressions(Expressions.TypeTableKey)) {
+      const error = new TypeTableKey().runSyntax(tt, type);
+      if (error) {
+        type = error;
+      }
+    }
+ 
+    return new TypedIdentifier(name, input.filename, type);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/type_table_key.ts.html b/src/abap/5_syntax/expressions/type_table_key.ts.html new file mode 100644 index 00000000000..f9880cf866a --- /dev/null +++ b/src/abap/5_syntax/expressions/type_table_key.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/type_table_key.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions type_table_key.ts

+
+ +
+ 100% + Statements + 23/23 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 23/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +408x +408x +408x +174x +31x +31x +31x +31x +2x +2x +31x +172x +408x +406x +406x +1x
import {ExpressionNode} from "../../nodes";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import * as Expressions from "../../2_statements/expressions";
+import {StructureType, TableType, UnknownType} from "../../types/basic";
+ 
+export class TypeTableKey {
+  public runSyntax(node: ExpressionNode, type: AbstractType) {
+    if (type instanceof TableType) {
+      const rowType = type.getRowType();
+      if (rowType instanceof StructureType) {
+        for (const c of node.findAllExpressions(Expressions.FieldSub)) {
+          const concat = c.concatTokens().replace(/^!/, "");
+          if (concat.includes("-") === false // todo, properly check sub fields
+              && rowType.getComponentByName(concat) === undefined
+              && concat.toUpperCase() !== "TABLE_LINE") {
+            return new UnknownType(`Field ${concat} not part of structure`);
+          }
+        }
+      }
+    }
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/expressions/value_body.ts.html b/src/abap/5_syntax/expressions/value_body.ts.html new file mode 100644 index 00000000000..4842e41e0a7 --- /dev/null +++ b/src/abap/5_syntax/expressions/value_body.ts.html @@ -0,0 +1,373 @@ + + + + + + Code coverage report for src/abap/5_syntax/expressions/value_body.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/expressions value_body.ts

+
+ +
+ 95.87% + Statements + 93/97 +
+ + +
+ 92.3% + Branches + 36/39 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 95.87% + Lines + 93/97 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +971x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +167x +167x +167x +167x +167x +52x +52x +115x +115x +115x +167x +9x +9x +115x +115x +167x +34x +34x +33x +33x +34x +114x +114x +167x +48x +48x +48x +48x +48x +1x +1x +1x +1x +47x +47x +48x +113x +113x +167x +26x +26x +113x +167x +76x +76x +76x +76x +76x +  +  +  +  +76x +76x +58x +58x +76x +76x +4x +5x +5x +5x +4x +76x +47x +47x +76x +39x +39x +76x +113x +167x +9x +9x +113x +167x +33x +33x +113x +167x +1x +1x +167x +167x +1x
import {ExpressionNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {For} from "./for";
+import {Source} from "./source";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {Let} from "./let";
+import {FieldAssignment} from "./field_assignment";
+import {AnyType, TableType, UnknownType, VoidType} from "../../types/basic";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class ValueBody {
+  public runSyntax(
+    node: ExpressionNode | undefined,
+    input: SyntaxInput,
+    targetType: AbstractType | undefined): AbstractType | undefined {
+ 
+    if (node === undefined) {
+      return targetType;
+    }
+ 
+    let letScoped = false;
+    const letNode = node.findDirectExpression(Expressions.Let);
+    if (letNode) {
+      letScoped = new Let().runSyntax(letNode, input);
+    }
+ 
+    let forScopes = 0;
+    for (const forNode of node.findDirectExpressions(Expressions.For) || []) {
+      const scoped = new For().runSyntax(forNode, input);
+      if (scoped === true) {
+        forScopes++;
+      }
+    }
+ 
+    const fields = new Set<string>();
+    for (const s of node.findDirectExpressions(Expressions.FieldAssignment)) {
+      new FieldAssignment().runSyntax(s, input, targetType);
+ 
+      const fieldname = s.findDirectExpression(Expressions.FieldSub)?.concatTokens().toUpperCase();
+      if (fieldname) {
+        if (fields.has(fieldname)) {
+          const message = "Duplicate field assignment";
+          input.issues.push(syntaxIssue(input, s.getFirstToken(), message));
+          return new VoidType(CheckSyntaxKey);
+        }
+        fields.add(fieldname);
+      }
+    }
+ 
+    let type: AbstractType | undefined = undefined; // todo, this is only correct if there is a single source in the body
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      type = new Source().runSyntax(s, input, type);
+    }
+ 
+    for (const foo of node.findDirectExpressions(Expressions.ValueBodyLine)) {
+      if (!(targetType instanceof TableType)
+          && !(targetType instanceof UnknownType)
+          && !(targetType instanceof AnyType)
+          && targetType !== undefined
+          && !(targetType instanceof VoidType)) {
+        const message = "Value, not a table type";
+        input.issues.push(syntaxIssue(input, foo.getFirstToken(), message));
+        return new VoidType(CheckSyntaxKey);
+      }
+      let rowType: AbstractType | undefined = targetType;
+      if (targetType instanceof TableType) {
+        rowType = targetType.getRowType();
+      }
+ 
+      for (const l of foo.findDirectExpressions(Expressions.ValueBodyLines)) {
+        for (const s of l.findDirectExpressions(Expressions.Source)) {
+// LINES OF ?? todo, pass type,
+          new Source().runSyntax(s, input);
+        }
+      }
+      for (const s of foo.findDirectExpressions(Expressions.FieldAssignment)) {
+        new FieldAssignment().runSyntax(s, input, rowType);
+      }
+      for (const s of foo.findDirectExpressions(Expressions.Source)) {
+        new Source().runSyntax(s, input, rowType);
+      }
+    }
+ 
+    if (letScoped === true) {
+      input.scope.pop(node.getLastToken().getEnd());
+    }
+ 
+    for (let i = 0; i < forScopes; i++) {
+      input.scope.pop(node.getLastToken().getEnd());
+    }
+ 
+    if (targetType?.isGeneric() && type) {
+      return type;
+    }
+    return targetType ? targetType : type;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/global_definitions/find_global_definitions.ts.html b/src/abap/5_syntax/global_definitions/find_global_definitions.ts.html new file mode 100644 index 00000000000..4ddbf037c38 --- /dev/null +++ b/src/abap/5_syntax/global_definitions/find_global_definitions.ts.html @@ -0,0 +1,574 @@ + + + + + + Code coverage report for src/abap/5_syntax/global_definitions/find_global_definitions.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/global_definitions find_global_definitions.ts

+
+ +
+ 97.56% + Statements + 160/164 +
+ + +
+ 90.32% + Branches + 56/62 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.56% + Lines + 160/164 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +1641x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7517x +7517x +1x +1x +7516x +7516x +7516x +7516x +7516x +7516x +7918x +475x +7918x +7443x +7443x +7443x +7443x +7443x +264x +264x +7918x +7516x +7516x +7516x +7516x +7516x +7628x +7628x +7628x +7628x +630x +630x +630x +630x +240x +240x +630x +630x +7628x +7628x +7628x +7628x +7516x +7516x +112x +112x +7516x +1x +1x +1x +1x +631x +631x +179x +179x +452x +452x +631x +61x +61x +631x +80x +80x +631x +92x +92x +452x +631x +126x +66x +66x +126x +631x +3x +1x +1x +3x +452x +452x +452x +1x +1x +411x +98x +411x +17x +313x +2x +296x +48x +48x +92x +92x +48x +48x +246x +246x +1x +1x +630x +630x +14x +14x +14x +616x +630x +630x +82x +82x +82x +534x +534x +534x +534x +534x +534x +534x +630x +84x +84x +84x +84x +84x +84x +4x +4x +84x +  +  +630x +450x +450x +450x +450x +450x +450x +79x +79x +450x +  +  +450x +630x +1x
import {IRegistry} from "../../../_iregistry";
+import {InterfaceDefinition} from "../../types/interface_definition";
+import {ClassDefinition} from "../../types/class_definition";
+import {CurrentScope} from "../_current_scope";
+import * as Structures from "../../3_structures/structures";
+import {Interface} from "../../../objects/interface";
+import {Class} from "../../../objects/class";
+import * as BasicTypes from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {IProgress} from "../../../progress";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {AuthorizationCheckField, DataElement, LockObject, Table, TableType, View} from "../../../objects";
+ 
+// todo: rewrite all of this to use a graph based deterministic approach instead
+ 
+// this makes sure to cache global interface and class definitions in the corresponding object
+export class FindGlobalDefinitions {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public run(progress?: IProgress) {
+    const MAX_PASSES = 10;
+    let lastPass = Number.MAX_SAFE_INTEGER;
+ 
+    // the setDirty method in the objects clears the definitions
+    let candidates: (Class | Interface)[] = [];
+    for (const o of this.reg.getObjects()) {
+      if ((o instanceof Interface || o instanceof Class) && o.getDefinition() === undefined) {
+        candidates.push(o);
+      } else if (o instanceof DataElement
+          || o instanceof View
+          || o instanceof TableType
+          || o instanceof LockObject
+          || o instanceof AuthorizationCheckField
+          || o instanceof Table) {
+        o.parseType(this.reg); // make sure the references are set after parsing finishes
+      }
+    }
+    // make sure the sequence is always the same, disregarding the sequence they were added to the registry
+    // this will hopefully make it easier to debug
+    candidates.sort((a, b) => {return a.getName().localeCompare(b.getName());});
+ 
+    for (let i = 1; i <= MAX_PASSES; i++) {
+      progress?.set(candidates.length, "Global OO types, pass " + i);
+      let thisPass = 0;
+      const next: (Class | Interface)[] = [];
+      for (const o of candidates) {
+        progress?.tickSync("Global OO types(pass " + i + "), next pass: " + next.length);
+        this.update(o);
+        const untypedCount = this.countUntyped(o);
+        if (untypedCount > 0) {
+          next.push(o);
+        }
+        thisPass = thisPass + untypedCount;
+      }
+ 
+      candidates = next;
+ 
+      if (lastPass === thisPass || thisPass === 0) {
+        break;
+      }
+      lastPass = thisPass;
+    }
+  }
+ 
+/////////////////////////////
+ 
+  public countUntyped(obj: Interface | Class): number {
+    const def = obj.getDefinition();
+    if (def === undefined) {
+      return 1;
+    }
+ 
+    let count = 0;
+    for (const t of def.getTypeDefinitions().getAll()) {
+      count = count + this.count(t.type.getType());
+    }
+    for (const a of def.getAttributes().getAll()) {
+      count = count + this.count(a.getType());
+    }
+    for (const a of def.getAttributes().getConstants()) {
+      count = count + this.count(a.getType());
+    }
+ 
+    for (const m of def.getMethodDefinitions().getAll()) {
+      for (const p of m.getParameters().getAll()) {
+        count = count + this.count(p.getType());
+      }
+    }
+    for (const e of def.getEvents() || []) {
+      for (const p of e.getParameters()) {
+        count = count + this.count(p.getType());
+      }
+    }
+ 
+    return count;
+  }
+ 
+  private count(type: TypedIdentifier | AbstractType): number {
+    if (type instanceof BasicTypes.UnknownType || type instanceof BasicTypes.VoidType) {
+      return 1;
+    } else if (type instanceof BasicTypes.TableType) {
+      return this.count(type.getRowType());
+    } else if (type instanceof BasicTypes.DataReference) {
+      return this.count(type.getType());
+    } else if (type instanceof BasicTypes.StructureType) {
+      let count = 0;
+      for (const c of type.getComponents()) {
+        count = count + this.count(c.type);
+      }
+      return count;
+    }
+    return 0;
+  }
+ 
+  private update(obj: Interface | Class) {
+    const file = obj.getMainABAPFile();
+    if (file === undefined) {
+      obj.setDefinition(undefined);
+      return;
+    }
+ 
+    const struc = file?.getStructure();
+    if (struc === undefined) {
+      obj.setDefinition(undefined);
+      return;
+    }
+ 
+    const input = {
+      filename: file.getFilename(),
+      scope: CurrentScope.buildDefault(this.reg, obj),
+      issues: [],
+    };
+ 
+    if (obj instanceof Interface) {
+      const found = struc.findFirstStructure(Structures.Interface);
+      if (found) {
+        try {
+          const def = new InterfaceDefinition(found, input);
+          obj.setDefinition(def);
+        } catch {
+          obj.setDefinition(undefined);
+        }
+      } else {
+        obj.setDefinition(undefined);
+      }
+    } else {
+      const found = struc.findFirstStructure(Structures.ClassDefinition);
+      if (found) {
+        try {
+          const def = new ClassDefinition(found, input);
+          obj.setDefinition(def);
+        } catch {
+          obj.setDefinition(undefined);
+        }
+      } else {
+        obj.setDefinition(undefined);
+      }
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/global_definitions/index.html b/src/abap/5_syntax/global_definitions/index.html new file mode 100644 index 00000000000..fe1d3c58a50 --- /dev/null +++ b/src/abap/5_syntax/global_definitions/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/abap/5_syntax/global_definitions + + + + + + + + + +
+
+

All files src/abap/5_syntax/global_definitions

+
+ +
+ 97.56% + Statements + 160/164 +
+ + +
+ 90.32% + Branches + 56/62 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.56% + Lines + 160/164 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
find_global_definitions.ts +
+
97.56%160/16490.32%56/62100%5/597.56%160/164
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/index.html b/src/abap/5_syntax/index.html new file mode 100644 index 00000000000..e3f3df40212 --- /dev/null +++ b/src/abap/5_syntax/index.html @@ -0,0 +1,281 @@ + + + + + + Code coverage report for src/abap/5_syntax + + + + + + + + + +
+
+

All files src/abap/5_syntax

+
+ +
+ 93.18% + Statements + 4580/4915 +
+ + +
+ 85.4% + Branches + 1106/1295 +
+ + +
+ 93.86% + Functions + 153/163 +
+ + +
+ 93.18% + Lines + 4580/4915 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_builtin.ts +
+
97.9%1311/133985.71%30/3566.66%18/2797.9%1311/1339
_current_scope.ts +
+
87.56%479/54771.65%134/187100%45/4587.56%479/547
_object_oriented.ts +
+
93.23%372/39986.99%107/123100%18/1893.23%372/399
_procedural.ts +
+
88.83%175/19774.07%40/54100%4/488.83%175/197
_reference.ts +
+
100%39/39100%1/1100%0/0100%39/39
_scope_type.ts +
+
100%20/20100%1/1100%0/0100%20/20
_syntax_input.ts +
+
100%18/18100%1/1100%1/1100%18/18
_type_utils.ts +
+
84.64%408/48290.93%271/29891.66%11/1284.64%408/482
assert_error.ts +
+
100%3/3100%0/0100%0/0100%3/3
basic_types.ts +
+
89.39%885/99083.25%348/418100%16/1689.39%885/990
spaghetti_scope.ts +
+
97.58%363/37297.05%99/102100%32/3297.58%363/372
syntax.ts +
+
99.6%507/50998.66%74/75100%8/899.6%507/509
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/spaghetti_scope.ts.html b/src/abap/5_syntax/spaghetti_scope.ts.html new file mode 100644 index 00000000000..3374a97d7b0 --- /dev/null +++ b/src/abap/5_syntax/spaghetti_scope.ts.html @@ -0,0 +1,1198 @@ + + + + + + Code coverage report for src/abap/5_syntax/spaghetti_scope.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax spaghetti_scope.ts

+
+ +
+ 97.58% + Statements + 363/372 +
+ + +
+ 97.05% + Branches + 99/102 +
+ + +
+ 100% + Functions + 32/32 +
+ + +
+ 97.58% + Lines + 363/372 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +3721x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +24386x +24386x +24386x +24386x +24386x +24386x +24386x +24386x +24386x +24386x +24386x +24386x +1x +1x +672066x +672066x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +24386x +24386x +24386x +24386x +24386x +1x +1x +356731x +356731x +1x +1x +15213x +15213x +1x +1x +19575x +19575x +1x +1x +60x +60x +1x +1x +354992x +354992x +1x +1x +8143x +  +  +8143x +8143x +1x +1x +10664x +10664x +1x +1x +177x +177x +177x +549x +549x +5x +5x +5x +5x +5x +544x +544x +172x +172x +172x +1x +1x +4484x +4484x +4484x +4484x +11444x +11444x +2176x +2176x +9268x +9268x +2308x +2308x +2308x +1x +1x +77x +77x +77x +77x +286x +286x +286x +77x +77x +77x +1x +1x +77x +77x +77x +77x +286x +286x +286x +77x +77x +77x +1x +1x +15x +15x +15x +15x +36x +14x +13x +13x +14x +23x +23x +2x +2x +2x +1x +1x +1009x +1009x +1009x +1009x +2860x +2860x +420x +420x +2440x +2440x +589x +589x +589x +1x +1x +2033x +2033x +2033x +2033x +5638x +5638x +760x +760x +4878x +4878x +1273x +1273x +1273x +1x +1x +15x +15x +15x +15x +43x +43x +1x +1x +42x +42x +14x +14x +14x +1x +1x +5470x +5470x +5470x +5470x +10690x +10690x +3816x +3816x +6874x +6874x +1654x +1654x +1654x +1x +1x +5x +8x +8x +3x +3x +3x +3x +8x +2x +2x +2x +1x +1x +14x +20x +20x +20x +7x +7x +20x +7x +7x +7x +1x +1x +3x +7x +7x +2x +2x +7x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +1x +1x +1x +1x +  +  +  +1x +1x +1x +1x +1x +1x +1x +10664x +10664x +1x +1x +1x +3x +3x +3x +9x +3x +3x +3x +3x +3x +3x +3x +9x +3x +3x +3x +1x +1x +3x +3x +3x +17x +11x +11x +3x +3x +11x +11x +17x +3x +3x +3x +1x +1x +2x +2x +2x +6x +2x +4x +3x +3x +4x +2x +6x +2x +2x +2x +1x +1x +1902x +  +  +1902x +1902x +1x +1x +7x +7x +1x +1x +9253x +9253x +1x +1x +1x +1x +8x +8x +8x +8x +32x +32x +32x +32x +8x +8x +8x +1x +1x +8058x +8058x +1420x +1420x +6638x +6638x +8058x +6156x +6156x +4688x +4688x +6156x +1950x +1950x +8058x +1899x +1899x +51x +51x +51x +1x +1x
import {Position} from "../../position";
+import {TypedIdentifier} from "../types/_typed_identifier";
+import {Identifier} from "../4_file_information/_identifier";
+import {IClassDefinition} from "../types/_class_definition";
+import {IInterfaceDefinition} from "../types/_interface_definition";
+import {IFormDefinition} from "../types/_form_definition";
+import {IScopeData, IScopeIdentifier, IScopeVariable, ISpaghettiScopeNode, ISpaghettiScope} from "./_spaghetti_scope";
+import {ReferenceType} from "./_reference";
+import {AssertError} from "./assert_error";
+ 
+abstract class ScopeData {
+  private readonly data: IScopeData;
+ 
+  public constructor() {
+    this.data = {
+      vars: {},
+      cdefs: {},
+      idefs: {},
+      forms: [], // todo, refactor to object
+      types: {},
+      extraLikeTypes: {},
+      deferred: {},
+      references: [],
+      sqlConversion: [],
+    };
+  }
+ 
+  public getData(): IScopeData {
+    return this.data;
+  }
+}
+ 
+export class SpaghettiScopeNode extends ScopeData implements ISpaghettiScopeNode {
+  private readonly identifier: IScopeIdentifier;
+  private readonly children: SpaghettiScopeNode[];
+  private readonly parent: SpaghettiScopeNode | undefined;
+  public [Symbol.for("debug.description")](){
+    return `SpaghettiSN ${this.identifier.sname} ${this.identifier.stype}`;
+  }
+  public constructor(identifier: IScopeIdentifier, parent: SpaghettiScopeNode | undefined) {
+    super();
+    this.identifier = identifier;
+    this.parent = parent;
+    this.children = [];
+  }
+ 
+  public getParent(): SpaghettiScopeNode | undefined {
+    return this.parent;
+  }
+ 
+  public addChild(node: SpaghettiScopeNode) {
+    this.children.push(node);
+  }
+ 
+  public getChildren(): SpaghettiScopeNode[] {
+    return this.children;
+  }
+ 
+  public getFirstChild(): SpaghettiScopeNode | undefined {
+    return this.children[0];
+  }
+ 
+  public getIdentifier(): IScopeIdentifier {
+    return this.identifier;
+  }
+ 
+  public calcCoverage(): {start: Position, end: Position} {
+    if (this.identifier.end === undefined) {
+      throw new AssertError("internal error, caclCoverage");
+    }
+    return {start: this.identifier.start, end: this.identifier.end};
+  }
+ 
+  public setEnd(end: Position): void {
+    this.identifier.end = end;
+  }
+ 
+  public findDeferred(name: string): {id: Identifier | undefined, ooType: "CLAS" | "INTF"} | undefined {
+    let search: SpaghettiScopeNode | undefined = this;
+ 
+    while (search !== undefined) {
+      const found = search.getData().deferred[name.toUpperCase()];
+      if (found) {
+        return {
+          id: new Identifier(found.token, search.identifier.filename),
+          ooType: found.ooType,
+        };
+      }
+      search = search.getParent();
+    }
+ 
+    return undefined;
+  }
+ 
+  public findClassDefinition(name: string): IClassDefinition | undefined {
+    let search: SpaghettiScopeNode | undefined = this;
+ 
+    const upper = name.toUpperCase();
+    while (search !== undefined) {
+      const c = search.getData().cdefs[upper];
+      if (c !== undefined) {
+        return c;
+      }
+      search = search.getParent();
+    }
+ 
+    return undefined;
+  }
+ 
+  public listClassDefinitions(): IClassDefinition[] {
+    let search: SpaghettiScopeNode | undefined = this;
+    const ret: IClassDefinition[] = [];
+ 
+    while (search !== undefined) {
+      ret.push(...Object.values(search.getData().cdefs));
+      search = search.getParent();
+    }
+ 
+    return ret;
+  }
+ 
+  public listInterfaceDefinitions(): IInterfaceDefinition[] {
+    let search: SpaghettiScopeNode | undefined = this;
+    const ret: IInterfaceDefinition[] = [];
+ 
+    while (search !== undefined) {
+      ret.push(...Object.values(search.getData().idefs));
+      search = search.getParent();
+    }
+ 
+    return ret;
+  }
+ 
+  public findFormDefinition(name: string): IFormDefinition | undefined {
+    let search: SpaghettiScopeNode | undefined = this;
+ 
+    const upper = name.toUpperCase();
+    while (search !== undefined) {
+      for (const form of search.getData().forms) {
+        if (form.getName().toUpperCase() === upper) {
+          return form;
+        }
+      }
+      search = search.getParent();
+    }
+ 
+    return undefined;
+  }
+ 
+  public findInterfaceDefinition(name: string): IInterfaceDefinition | undefined {
+    let search: SpaghettiScopeNode | undefined = this;
+ 
+    const upper = name.toUpperCase();
+    while (search !== undefined) {
+      const idef = search.getData().idefs[upper];
+      if (idef) {
+        return idef;
+      }
+      search = search.getParent();
+    }
+ 
+    return undefined;
+  }
+ 
+  public findType(name: string): TypedIdentifier | undefined {
+    let search: SpaghettiScopeNode | undefined = this;
+ 
+    const upper = name.toUpperCase();
+    while (search !== undefined) {
+      const found = search.getData().types[upper];
+      if (found) {
+        return found;
+      }
+      search = search.getParent();
+    }
+ 
+    return undefined;
+  }
+ 
+  public findExtraLikeType(name: string): TypedIdentifier | undefined {
+    let search: SpaghettiScopeNode | undefined = this;
+ 
+    const upper = name.toUpperCase();
+    while (search !== undefined) {
+      const data = search.getData();
+      if (data.extraLikeTypes[upper]) {
+        return data.extraLikeTypes[upper];
+      }
+      search = search.getParent();
+    }
+ 
+    return undefined;
+  }
+ 
+  public findVariable(name: string): TypedIdentifier | undefined {
+    let search: SpaghettiScopeNode | undefined = this;
+ 
+    const upper = name.toUpperCase();
+    while (search !== undefined) {
+      const data = search.getData();
+      if (data.vars[upper]) {
+        return data.vars[upper];
+      }
+      search = search.getParent();
+    }
+ 
+    return undefined;
+  }
+ 
+  public findWriteReference(pos: Position): TypedIdentifier | undefined {
+    for (const r of this.getData().references) {
+      if (r.referenceType === ReferenceType.DataWriteReference
+          && r.position.getStart().equals(pos)) {
+        if (r.resolved instanceof TypedIdentifier) {
+          return r.resolved;
+        }
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  public findTableReference(pos: Position): string | undefined {
+    for (const r of this.getData().references) {
+      if (r.referenceType === ReferenceType.TableReference
+          && r.position.getStart().equals(pos)
+          && r.resolved) {
+        return r.resolved.getName();
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  public findTableVoidReference(pos: Position): boolean {
+    for (const r of this.getData().references) {
+      if (r.referenceType === ReferenceType.TableVoidReference
+          && r.position.getStart().equals(pos)) {
+        return true;
+      }
+    }
+ 
+    return false;
+  }
+ 
+  // this method is used in the transpiler
+  public findScopeForVariable(name: string): IScopeIdentifier | undefined {
+    let search: SpaghettiScopeNode | undefined = this;
+    const upper = name.toUpperCase();
+ 
+    while (search !== undefined) {
+      if (search.getData().vars[upper] !== undefined) {
+        return search.getIdentifier();
+      }
+      search = search.getParent();
+    }
+
+    return undefined;
+  }
+ 
+}
+ 
+export class SpaghettiScope implements ISpaghettiScope {
+  private readonly node: SpaghettiScopeNode;
+ 
+  public constructor(top: SpaghettiScopeNode) {
+    this.node = top;
+  }
+ 
+  // list variable definitions across all nodes
+  public listDefinitions(filename: string): IScopeVariable[] {
+    const ret: IScopeVariable[] = [];
+ 
+    for (const n of this.allNodes()) {
+      if (n.getIdentifier().filename === filename) {
+        const vars = n.getData().vars;
+        for (const v in vars) {
+          if (vars[v].getFilename() === filename) {
+            ret.push({name: v, identifier: vars[v]});
+          }
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  public listReadPositions(filename: string): Identifier[] {
+    const ret: Identifier[] = [];
+ 
+    for (const n of this.allNodes()) {
+      if (n.getIdentifier().filename === filename) {
+        for (const v of n.getData().references) {
+          if (v.referenceType === ReferenceType.DataReadReference && v.position.getFilename() === filename) {
+            ret.push(v.position);
+          }
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  public listWritePositions(filename: string): Identifier[] {
+    const ret: Identifier[] = [];
+ 
+    for (const n of this.allNodes()) {
+      if (n.getIdentifier().filename === filename) {
+        for (const v of n.getData().references) {
+          if (v.referenceType === ReferenceType.DataWriteReference && v.position.getFilename() === filename) {
+            ret.push(v.position);
+          }
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  public lookupPosition(p: Position | undefined, filename: string | undefined): SpaghettiScopeNode | undefined {
+    if (p === undefined || filename === undefined) {
+      return undefined;
+    }
+    return this.lookupPositionTraverse(p, filename, this.node);
+  }
+ 
+  public getFirstChild() {
+    return this.node.getFirstChild();
+  }
+ 
+  public getTop(): SpaghettiScopeNode {
+    return this.node;
+  }
+ 
+/////////////////////////////
+ 
+  private allNodes(): SpaghettiScopeNode[] {
+    const ret: SpaghettiScopeNode[] = [];
+    const stack: SpaghettiScopeNode[] = [this.node];
+ 
+    while (stack.length > 0) {
+      const current = stack.pop()!;
+      ret.push(current);
+      stack.push(...current.getChildren());
+    }
+ 
+    return ret;
+  }
+ 
+  private lookupPositionTraverse(p: Position, filename: string, node: SpaghettiScopeNode): SpaghettiScopeNode | undefined {
+    const coverage = node.calcCoverage();
+    if (node.getIdentifier().filename === filename && p.isBetween(coverage.start, coverage.end) === false) {
+      return undefined;
+    }
+ 
+    // possible optimization: binary search the nodes
+    for (const c of node.getChildren()) {
+      const result = this.lookupPositionTraverse(p, filename, c);
+      if (result !== undefined) {
+        return result;
+      }
+    }
+ 
+    if (node.getIdentifier().filename === filename
+        && p.isBetween(coverage.start, coverage.end)) {
+      return node;
+    }
+ 
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/add.ts.html b/src/abap/5_syntax/statements/add.ts.html new file mode 100644 index 00000000000..a2df1a6ecc7 --- /dev/null +++ b/src/abap/5_syntax/statements/add.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/add.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements add.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Add implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/add_corresponding.ts.html b/src/abap/5_syntax/statements/add_corresponding.ts.html new file mode 100644 index 00000000000..4910796652b --- /dev/null +++ b/src/abap/5_syntax/statements/add_corresponding.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/add_corresponding.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements add_corresponding.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class AddCorresponding implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/append.ts.html b/src/abap/5_syntax/statements/append.ts.html new file mode 100644 index 00000000000..3a911526487 --- /dev/null +++ b/src/abap/5_syntax/statements/append.ts.html @@ -0,0 +1,382 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/append.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements append.ts

+
+ +
+ 82% + Statements + 82/100 +
+ + +
+ 77.41% + Branches + 24/31 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 82% + Lines + 82/100 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +1001x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +92x +92x +92x +92x +92x +92x +92x +92x +92x +92x +6x +  +  +  +  +6x +6x +6x +92x +92x +92x +3x +  +  +  +  +3x +3x +3x +92x +92x +92x +38x +38x +92x +64x +64x +64x +64x +  +  +  +  +64x +64x +64x +62x +64x +1x +1x +64x +64x +64x +6x +6x +5x +5x +6x +6x +6x +6x +  +  +  +  +64x +58x +1x +1x +1x +1x +58x +64x +91x +91x +92x +1x +1x +91x +92x +  +  +92x +92x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {DataReference, TableType, VoidType} from "../../types/basic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {FSTarget} from "../expressions/fstarget";
+import {StatementSyntax} from "../_statement_syntax";
+import {InlineData} from "../expressions/inline_data";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+// todo: issue error for short APPEND if the source is without header line
+export class Append implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    let targetType: AbstractType | undefined = undefined;
+ 
+    const target = node.findDirectExpression(Expressions.Target);
+    if (target) {
+      targetType = new Target().runSyntax(target, input);
+    }
+ 
+    const fsTarget = node.findExpressionAfterToken("ASSIGNING");
+    if (fsTarget && fsTarget.get() instanceof Expressions.FSTarget) {
+      if (!(targetType instanceof TableType) && !(targetType instanceof VoidType)) {
+        const message = "APPEND to non table type";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      const rowType = targetType instanceof TableType ? targetType.getRowType() : targetType;
+      new FSTarget().runSyntax(fsTarget, input, rowType);
+    }
+ 
+    const dataTarget = node.findExpressionAfterToken("INTO");
+    if (dataTarget && node.concatTokens().toUpperCase().includes(" REFERENCE INTO DATA(")) {
+      if (!(targetType instanceof TableType) && !(targetType instanceof VoidType)) {
+        const message = "APPEND to non table type";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      const rowType = targetType instanceof TableType ? targetType.getRowType() : targetType;
+      new InlineData().runSyntax(dataTarget, input, new DataReference(rowType));
+    }
+ 
+    let source = node.findDirectExpression(Expressions.SimpleSource4);
+    if (source === undefined) {
+      source = node.findDirectExpression(Expressions.Source);
+    }
+    if (source) {
+      if (targetType !== undefined
+          && !(targetType instanceof TableType)
+          && dataTarget !== target
+          && !(targetType instanceof VoidType)) {
+        const message = "Append, target not a table type";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+ 
+      let rowType: AbstractType | undefined = undefined;
+      if (targetType instanceof TableType) {
+        rowType = targetType.getRowType();
+      } else if (targetType instanceof VoidType) {
+        rowType = targetType;
+      }
+      let sourceType = new Source().runSyntax(source, input, rowType);
+ 
+      if (node.findDirectTokenByText("LINES")) {
+        // hmm, checking only the row types are compatible will not check the table type, e.g. sorted or hashed
+        if (sourceType instanceof TableType) {
+          sourceType = sourceType.getRowType();
+        }
+        if (targetType instanceof TableType) {
+          targetType = targetType.getRowType();
+        }
+        if (new TypeUtils(input.scope).isAssignable(sourceType, targetType) === false) {
+          const message = "Incompatible types";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      } else {
+        if (new TypeUtils(input.scope).isAssignable(sourceType, rowType) === false) {
+          const message = "Incompatible types";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      }
+    }
+ 
+    const from = node.findExpressionAfterToken("FROM");
+    if (from && from.get() instanceof Expressions.Source) {
+      new Source().runSyntax(from, input);
+    }
+    const to = node.findExpressionAfterToken("TO");
+    if (to && to.get() instanceof Expressions.Source) {
+      new Source().runSyntax(to, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/assert.ts.html b/src/abap/5_syntax/statements/assert.ts.html new file mode 100644 index 00000000000..48da725b62a --- /dev/null +++ b/src/abap/5_syntax/statements/assert.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/assert.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements assert.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +8x +8x +8x +8x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Cond} from "../expressions/cond";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Assert implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findDirectExpressions(Expressions.Cond)) {
+      new Cond().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/assign.ts.html b/src/abap/5_syntax/statements/assign.ts.html new file mode 100644 index 00000000000..b05a7d16c21 --- /dev/null +++ b/src/abap/5_syntax/statements/assign.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/assign.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements assign.ts

+
+ +
+ 94.28% + Statements + 66/70 +
+ + +
+ 60.97% + Branches + 25/41 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 94.28% + Lines + 66/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +33x +33x +33x +33x +33x +33x +33x +33x +33x +4x +4x +4x +  +  +  +  +4x +33x +29x +29x +33x +33x +33x +8x +8x +8x +1x +1x +1x +1x +8x +32x +33x +9x +9x +33x +10x +10x +32x +32x +32x +32x +7x +32x +25x +25x +32x +32x +33x +28x +27x +27x +1x +1x +32x +32x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode, StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {FSTarget} from "../expressions/fstarget";
+import {AnyType, CharacterType, VoidType} from "../../types/basic";
+import {StatementSyntax} from "../_statement_syntax";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {Dynamic} from "../expressions/dynamic";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Assign implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const assignSource = node.findDirectExpression(Expressions.AssignSource);
+    const sources: ExpressionNode[] = assignSource?.findDirectExpressionsMulti([Expressions.Source, Expressions.SimpleSource3]) || [];
+    const theSource = sources[sources.length - 1];
+ 
+    let sourceType: AbstractType | undefined = undefined;
+    const firstAssign = assignSource?.getChildren()[0];
+    const secondAssign = assignSource?.getChildren()[1];
+    const thirdAssign = assignSource?.getChildren()[2];
+    if (secondAssign?.concatTokens() === "=>" && firstAssign && thirdAssign?.get() instanceof Expressions.Dynamic) {
+      const name = firstAssign.concatTokens();
+      const found = input.scope.findClassDefinition(name) || input.scope.findVariable(name);
+      if (found === undefined && input.scope.getDDIC().inErrorNamespace(name) && name.startsWith("(") === false) {
+        const message = name + " not found, dynamic";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      sourceType = new VoidType("Dynamic");
+    } else {
+      sourceType = new Source().runSyntax(theSource, input);
+    }
+ 
+    if (assignSource?.getChildren().length === 5
+        && assignSource?.getFirstChild()?.concatTokens().toUpperCase() === "COMPONENT") {
+      const componentSource = sources[sources.length - 2];
+      const componentType = new Source().runSyntax(componentSource, input);
+      if (new TypeUtils(input.scope).isAssignable(componentType, new CharacterType(30)) === false) {
+        const message = "component name must be charlike";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    if (sourceType === undefined || assignSource?.findDirectExpression(Expressions.Dynamic)) {
+      sourceType = new AnyType();
+    }
+    for (const d of assignSource?.findAllExpressions(Expressions.Dynamic) || []) {
+      new Dynamic().runSyntax(d, input);
+    }
+ 
+    const target = node.findDirectExpression(Expressions.FSTarget);
+    if (target) {
+      if (assignSource?.getFirstChild()?.concatTokens().toUpperCase() === "COMPONENT") {
+        new FSTarget().runSyntax(target, input, new AnyType());
+      } else {
+        new FSTarget().runSyntax(target, input, sourceType);
+      }
+    }
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      if (s === theSource) {
+        continue;
+      }
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/authority_check.ts.html b/src/abap/5_syntax/statements/authority_check.ts.html new file mode 100644 index 00000000000..66b78b5906f --- /dev/null +++ b/src/abap/5_syntax/statements/authority_check.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/authority_check.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements authority_check.ts

+
+ +
+ 60% + Statements + 9/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 60% + Lines + 9/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class AuthorityCheck implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/call.ts.html b/src/abap/5_syntax/statements/call.ts.html new file mode 100644 index 00000000000..4aa2d06163a --- /dev/null +++ b/src/abap/5_syntax/statements/call.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/call.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements call.ts

+
+ +
+ 88.23% + Statements + 30/34 +
+ + +
+ 71.42% + Branches + 5/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 88.23% + Lines + 30/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +1x +1x +1x +1x +225x +225x +225x +199x +199x +199x +199x +26x +26x +225x +  +  +  +  +26x +26x +26x +225x +13x +13x +13x +225x +225x +1x
import {ExpressionNode, StatementNode} from "../../nodes";
+import {MethodCallChain} from "../expressions/method_call_chain";
+import {MethodSource} from "../expressions/method_source";
+import {MethodCallBody} from "../expressions/method_call_body";
+import {VoidType} from "../../types/basic/void_type";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Call implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const children = node.getChildren();
+ 
+    if (children.length === 2) {
+      const first = children[0] as ExpressionNode;
+      new MethodCallChain().runSyntax(first, input);
+      return;
+    }
+ 
+    const methodSource = children[2] as ExpressionNode;
+    if (methodSource === undefined) {
+      const message = "Call, child MethodSource not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+    const methodDef = new MethodSource().runSyntax(methodSource, input);
+ 
+    const body = children[3];
+    if (body instanceof ExpressionNode) {
+      // todo, resolve the method definition above and pass, if possible, in case of dynamic pass void
+      new MethodCallBody().runSyntax(body, input, methodDef || new VoidType("CallTODO"));
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/call_badi.ts.html b/src/abap/5_syntax/statements/call_badi.ts.html new file mode 100644 index 00000000000..18138e1e181 --- /dev/null +++ b/src/abap/5_syntax/statements/call_badi.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/call_badi.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements call_badi.ts

+
+ +
+ 84% + Statements + 21/25 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 84% + Lines + 21/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {Dynamic} from "../expressions/dynamic";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CallBadi implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findAllExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+    for (const d of node.findAllExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(d, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/call_function.ts.html b/src/abap/5_syntax/statements/call_function.ts.html new file mode 100644 index 00000000000..6d4a68d302b --- /dev/null +++ b/src/abap/5_syntax/statements/call_function.ts.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/call_function.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements call_function.ts

+
+ +
+ 95.34% + Statements + 41/43 +
+ + +
+ 76.92% + Branches + 10/13 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 95.34% + Lines + 41/43 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +431x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +14x +14x +14x +14x +14x +1x +14x +13x +1x +1x +1x +1x +1x +1x +1x +13x +13x +13x +13x +13x +14x +  +  +14x +9x +9x +14x +1x +1x +13x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {FieldChain} from "../expressions/field_chain";
+import {ReferenceType} from "../_reference";
+import {StatementSyntax} from "../_statement_syntax";
+import {Version} from "../../../version";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class CallFunction implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    // todo, lots of work here, similar to receive.ts
+ 
+    const name = node.findFirstExpression(Expressions.FunctionName);
+    const chain = name?.findFirstExpression(Expressions.FieldChain);
+    if (chain) {
+      new FieldChain().runSyntax(chain, input, ReferenceType.DataReadReference);
+    } else if (input.scope.getVersion() === Version.Cloud
+        && node.findDirectExpression(Expressions.Destination) === undefined) {
+      const functionName = name?.concatTokens().replace(/'/g, "");
+      if (input.scope.findFunctionModule(functionName) === undefined) {
+        const message = `Function module "${functionName}" not found/released`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    // just recurse
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const t of node.findAllExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+    for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/call_kernel.ts.html b/src/abap/5_syntax/statements/call_kernel.ts.html new file mode 100644 index 00000000000..b09fe168075 --- /dev/null +++ b/src/abap/5_syntax/statements/call_kernel.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/call_kernel.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements call_kernel.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CallKernel implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/call_transaction.ts.html b/src/abap/5_syntax/statements/call_transaction.ts.html new file mode 100644 index 00000000000..a9faa1ed35b --- /dev/null +++ b/src/abap/5_syntax/statements/call_transaction.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/call_transaction.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements call_transaction.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CallTransaction implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/call_transformation.ts.html b/src/abap/5_syntax/statements/call_transformation.ts.html new file mode 100644 index 00000000000..637bb09ed11 --- /dev/null +++ b/src/abap/5_syntax/statements/call_transformation.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/call_transformation.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements call_transformation.ts

+
+ +
+ 100% + Statements + 32/32 +
+ + +
+ 80% + Branches + 4/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 32/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +2x +2x +3x +3x +3x +3x +1x +3x +2x +2x +3x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {XStringType} from "../../types/basic";
+import {InlineData} from "../expressions/inline_data";
+import {Dynamic} from "../expressions/dynamic";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CallTransformation implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const d of node.findAllExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(d, input);
+    }
+ 
+    for (const t of node.findAllExpressions(Expressions.Target)) {
+      const inline = t?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, new XStringType());
+      } else {
+        new Target().runSyntax(t, input);
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/case.ts.html b/src/abap/5_syntax/statements/case.ts.html new file mode 100644 index 00000000000..8e289e01cf3 --- /dev/null +++ b/src/abap/5_syntax/statements/case.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/case.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements case.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Case implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    // just recurse
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/case_type.ts.html b/src/abap/5_syntax/statements/case_type.ts.html new file mode 100644 index 00000000000..d5392eb62f6 --- /dev/null +++ b/src/abap/5_syntax/statements/case_type.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/case_type.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements case_type.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CaseType implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    // just recurse
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/catch.ts.html b/src/abap/5_syntax/statements/catch.ts.html new file mode 100644 index 00000000000..fa52fb3208b --- /dev/null +++ b/src/abap/5_syntax/statements/catch.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/catch.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements catch.ts

+
+ +
+ 80.95% + Statements + 51/63 +
+ + +
+ 72.72% + Branches + 16/22 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 80.95% + Lines + 51/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +631x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +13x +13x +13x +14x +14x +14x +14x +4x +14x +10x +10x +10x +  +  +  +  +14x +14x +1x +1x +1x +1x +13x +13x +12x +12x +13x +13x +13x +3x +3x +3x +  +  +  +3x +3x +3x +3x +3x +  +  +  +  +  +13x +3x +3x +13x +13x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TypedIdentifier, IdentifierMeta} from "../../types/_typed_identifier";
+import {UnknownType} from "../../types/basic/unknown_type";
+import {ObjectReferenceType, VoidType} from "../../types/basic";
+import {Target} from "../expressions/target";
+import {IReferenceExtras, ReferenceType} from "../_reference";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Catch implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    const names = new Set<string>();
+    for (const c of node.findDirectExpressions(Expressions.ClassName)) {
+      const token = c.getFirstToken();
+      const className = token.getStr().toUpperCase();
+      const found = input.scope.existsObject(className);
+      if (found?.id) {
+        input.scope.addReference(token, found.id, ReferenceType.ObjectOrientedReference, input.filename);
+      } else if (input.scope.getDDIC().inErrorNamespace(className) === false) {
+        const extra: IReferenceExtras = {ooName: className, ooType: "Void"};
+        input.scope.addReference(token, undefined, ReferenceType.ObjectOrientedVoidReference, input.filename, extra);
+      } else {
+        const message = "CATCH, unknown class " + className;
+        input.issues.push(syntaxIssue(input, token, message));
+        return;
+      }
+ 
+      if (names.has(className)) {
+        const message = "Duplicate class name in CATCH: " + className;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      names.add(className);
+    }
+ 
+    const target = node.findDirectExpression(Expressions.Target);
+    const firstClassName = node.findDirectExpression(Expressions.ClassName)?.getFirstToken().getStr();
+ 
+    if (target?.findDirectExpression(Expressions.InlineData)) {
+      const token = target.findFirstExpression(Expressions.TargetField)?.getFirstToken();
+      const found = input.scope.existsObject(firstClassName);
+      if (token && firstClassName && found?.id) {
+        const identifier = new TypedIdentifier(token, input.filename, new ObjectReferenceType(found.id), [IdentifierMeta.InlineDefinition]);
+        input.scope.addIdentifier(identifier);
+        input.scope.addReference(token, identifier, ReferenceType.DataWriteReference, input.filename);
+      } else if (token && input.scope.getDDIC().inErrorNamespace(firstClassName) === false) {
+        const identifier = new TypedIdentifier(token, input.filename, new VoidType(firstClassName), [IdentifierMeta.InlineDefinition]);
+        input.scope.addIdentifier(identifier);
+        input.scope.addReference(token, identifier, ReferenceType.DataWriteReference, input.filename);
+      } else if (token) {
+        const message = "Catch, could not determine type for \"" + token.getStr() + "\"";
+        const identifier = new TypedIdentifier(token, input.filename, new UnknownType(message), [IdentifierMeta.InlineDefinition]);
+        input.scope.addIdentifier(identifier);
+        input.scope.addReference(token, identifier, ReferenceType.DataWriteReference, input.filename);
+      }
+    } else if (target) {
+      new Target().runSyntax(target, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/check.ts.html b/src/abap/5_syntax/statements/check.ts.html new file mode 100644 index 00000000000..bd78231202d --- /dev/null +++ b/src/abap/5_syntax/statements/check.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/check.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements check.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Cond} from "../expressions/cond";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Check implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findDirectExpressions(Expressions.Cond)) {
+      new Cond().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/class_data.ts.html b/src/abap/5_syntax/statements/class_data.ts.html new file mode 100644 index 00000000000..d281966f8a7 --- /dev/null +++ b/src/abap/5_syntax/statements/class_data.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/class_data.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements class_data.ts

+
+ +
+ 70.58% + Statements + 24/34 +
+ + +
+ 50% + Branches + 4/8 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 70.58% + Lines + 24/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +1x +1x +1x +1x +25x +25x +25x +25x +  +  +25x +25x +1x +1x +1x +1x +24x +24x +24x +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {IdentifierMeta, TypedIdentifier} from "../../types/_typed_identifier";
+import {DataDefinition} from "../expressions/data_definition";
+import {UnknownType} from "../../types/basic/unknown_type";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {VoidType} from "../../types/basic";
+ 
+export class ClassData {
+  public runSyntax(node: StatementNode, input: SyntaxInput): TypedIdentifier | undefined {
+    const dd = node.findFirstExpression(Expressions.DataDefinition);
+    if (dd) {
+      const found = new DataDefinition().runSyntax(dd, input);
+      if (found === undefined) {
+        return undefined;
+      }
+      if (found?.getType().isGeneric() === true
+          && found?.getType().containsVoid() === false) {
+        const message = "DATA definition cannot be generic, " + found.getName();
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new TypedIdentifier(found.getToken(), input.filename, new VoidType(CheckSyntaxKey));
+      }
+      const meta = [...found.getMeta(), IdentifierMeta.Static];
+      return new TypedIdentifier(found.getToken(), input.filename, found.getType(), meta, found.getValue());
+    }
+
+    const fallback = node.findFirstExpression(Expressions.NamespaceSimpleName);
+    if (fallback) {
+      return new TypedIdentifier(fallback.getFirstToken(), input.filename, new UnknownType("class data, fallback"));
+    }
+
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/class_deferred.ts.html b/src/abap/5_syntax/statements/class_deferred.ts.html new file mode 100644 index 00000000000..90207f9eb6b --- /dev/null +++ b/src/abap/5_syntax/statements/class_deferred.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/class_deferred.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements class_deferred.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +3x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ClassDeferred implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const name = node.findFirstExpression(Expressions.ClassName)?.getFirstToken();
+    input.scope.addDeferred(name, "CLAS");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/class_implementation.ts.html b/src/abap/5_syntax/statements/class_implementation.ts.html new file mode 100644 index 00000000000..44b75dd7306 --- /dev/null +++ b/src/abap/5_syntax/statements/class_implementation.ts.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/class_implementation.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements class_implementation.ts

+
+ +
+ 100% + Statements + 50/50 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 50/50 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +501x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +750x +750x +750x +750x +750x +750x +750x +750x +3x +3x +3x +3x +747x +750x +127x +127x +747x +747x +750x +149x +750x +598x +598x +598x +747x +747x +747x +747x +747x +747x +750x +81x +81x +747x +747x +747x +1x
import {StatementNode} from "../../nodes";
+import {ObjectOriented} from "../_object_oriented";
+import {ObjectReferenceType, VoidType} from "../../types/basic";
+import {Identifier} from "../../1_lexer/tokens";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {Position} from "../../../position";
+import {BuiltIn} from "../_builtin";
+import {ScopeType} from "../_scope_type";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class ClassImplementation implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const helper = new ObjectOriented(input.scope);
+ 
+    const className = helper.findClassName(node);
+ 
+    input.scope.push(ScopeType.ClassImplementation, className, node.getFirstToken().getStart(), input.filename);
+ 
+    const classDefinition = input.scope.findClassDefinition(className);
+    if (classDefinition === undefined) {
+      const message = "Class definition for \"" + className + "\" not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    for (const t of classDefinition.getTypeDefinitions().getAll()) {
+      input.scope.addType(t.type);
+    }
+ 
+    const sup = input.scope.findClassDefinition(classDefinition.getSuperClass());
+    if (sup) {
+      input.scope.addIdentifier(new TypedIdentifier(new Identifier(new Position(1, 1), "super"), BuiltIn.filename, new ObjectReferenceType(sup)));
+    } else {
+      // todo: instead of the void type, do proper typing, ie. only empty constructor method
+      input.scope.addIdentifier(new TypedIdentifier(new Identifier(new Position(1, 1), "super"), BuiltIn.filename, new VoidType("noSuper")));
+    }
+    input.scope.addIdentifier(new TypedIdentifier(new Identifier(new Position(1, 1), "me"), BuiltIn.filename, new ObjectReferenceType(classDefinition)));
+    helper.addAliasedAttributes(classDefinition); // todo, this is not correct, take care of instance vs static
+ 
+    const classAttributes = classDefinition.getAttributes();
+    input.scope.addList(classAttributes.getConstants());
+    input.scope.addList(classAttributes.getStatic());
+    for (const i of classAttributes.getInstance()) {
+      input.scope.addExtraLikeType(i);
+    }
+ 
+    helper.fromSuperClassesAndInterfaces(classDefinition);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/class_local_friends.ts.html b/src/abap/5_syntax/statements/class_local_friends.ts.html new file mode 100644 index 00000000000..efae11dabfc --- /dev/null +++ b/src/abap/5_syntax/statements/class_local_friends.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/class_local_friends.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements class_local_friends.ts

+
+ +
+ 82.97% + Statements + 39/47 +
+ + +
+ 66.66% + Branches + 4/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 82.97% + Lines + 39/47 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +471x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +  +  +  +  +2x +2x +2x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +  +  +  +  +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {ReferenceType} from "../_reference";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class ClassLocalFriends implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    const classNames = node.findAllExpressions(Expressions.ClassName);
+ 
+    const found = classNames[0];
+    if (found) {
+      const token = found.getFirstToken();
+      const name = token.getStr();
+ 
+      if (input.scope.getParentObj().getType() === "CLAS"
+          && name.toUpperCase() !== input.scope.getParentObj().getName().toUpperCase()) {
+        const message = `Befriending must be ` + input.scope.getParentObj().getName().toUpperCase();
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+ 
+      const def = input.scope.findClassDefinition(name);
+      if (def) {
+        input.scope.addReference(token, def, ReferenceType.ObjectOrientedReference, input.filename);
+      } else {
+        const message = `Class ${name.toUpperCase()} not found`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+ 
+    }
+ 
+    for (let i = 1; i < classNames.length; i++) {
+      const className = classNames[i].concatTokens();
+      // make sure to check also DEFINITION DEFERRED
+      const found = input.scope.existsObject(className);
+      if (found === undefined) {
+        const message = `Class ${className.toUpperCase()} not found`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/clear.ts.html b/src/abap/5_syntax/statements/clear.ts.html new file mode 100644 index 00000000000..cedb87a204a --- /dev/null +++ b/src/abap/5_syntax/statements/clear.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/clear.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements clear.ts

+
+ +
+ 90% + Statements + 18/20 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 90% + Lines + 18/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +79x +79x +79x +79x +79x +79x +  +  +79x +79x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Clear implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/close_dataset.ts.html b/src/abap/5_syntax/statements/close_dataset.ts.html new file mode 100644 index 00000000000..403bd3e08ea --- /dev/null +++ b/src/abap/5_syntax/statements/close_dataset.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/close_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements close_dataset.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CloseDataset implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/collect.ts.html b/src/abap/5_syntax/statements/collect.ts.html new file mode 100644 index 00000000000..2634142be6a --- /dev/null +++ b/src/abap/5_syntax/statements/collect.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/collect.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements collect.ts

+
+ +
+ 92.3% + Statements + 24/26 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 92.3% + Lines + 24/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {FSTarget} from "../expressions/fstarget";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Collect implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const source = node.findDirectExpression(Expressions.Source);
+    if (source) {
+      new Source().runSyntax(source, input);
+    }
+ 
+    const target = node.findDirectExpression(Expressions.Target);
+    if (target) {
+      new Target().runSyntax(target, input);
+    }
+ 
+    const fs = node.findDirectExpression(Expressions.FSTarget);
+    if (fs) {
+      new FSTarget().runSyntax(fs, input, undefined);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/commit_entities.ts.html b/src/abap/5_syntax/statements/commit_entities.ts.html new file mode 100644 index 00000000000..3655afe6201 --- /dev/null +++ b/src/abap/5_syntax/statements/commit_entities.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/commit_entities.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements commit_entities.ts

+
+ +
+ 44.44% + Statements + 12/27 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 44.44% + Lines + 12/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +271x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {InlineData} from "../expressions/inline_data";
+import {VoidType} from "../../types/basic";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CommitEntities implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      const inline = t?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, new VoidType("CommitEntities"));
+      } else {
+        new Target().runSyntax(t, input);
+      }
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/concatenate.ts.html b/src/abap/5_syntax/statements/concatenate.ts.html new file mode 100644 index 00000000000..89f8c4dec77 --- /dev/null +++ b/src/abap/5_syntax/statements/concatenate.ts.html @@ -0,0 +1,250 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/concatenate.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements concatenate.ts

+
+ +
+ 92.85% + Statements + 52/56 +
+ + +
+ 88.88% + Branches + 16/18 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 92.85% + Lines + 52/56 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +561x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +11x +11x +11x +11x +11x +11x +3x +1x +3x +2x +2x +11x +8x +8x +8x +1x +1x +1x +1x +8x +10x +11x +2x +2x +2x +  +  +  +  +2x +2x +10x +11x +20x +20x +20x +1x +1x +1x +1x +20x +9x +9x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StringType, TableType, UnknownType, VoidType, XStringType} from "../../types/basic";
+import {InlineData} from "../expressions/inline_data";
+import {StatementSyntax} from "../_statement_syntax";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Concatenate implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const byteMode = node.findDirectTokenByText("BYTE") !== undefined;
+    const linesMode = node.findDirectTokenByText("LINES") !== undefined;
+ 
+    const target = node.findFirstExpression(Expressions.Target);
+    const inline = target?.findDirectExpression(Expressions.InlineData);
+    if (inline) {
+      if (byteMode) {
+        new InlineData().runSyntax(inline, input, new XStringType());
+      } else {
+        new InlineData().runSyntax(inline, input, StringType.get());
+      }
+    } else if (target) {
+      const type = new Target().runSyntax(target, input);
+      const compatible = byteMode ? new TypeUtils(input.scope).isHexLike(type) : new TypeUtils(input.scope).isCharLikeStrict(type);
+      if (compatible === false) {
+        const message = "Target type not compatible";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    if (linesMode) {
+      for (const s of node.findDirectExpressions(Expressions.Source)) {
+        const type = new Source().runSyntax(s, input);
+        if (!(type instanceof UnknownType) && !(type instanceof VoidType) && !(type instanceof TableType)) {
+          const message = "Source must be an internal table";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      }
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.SimpleSource3)) {
+      const type = new Source().runSyntax(s, input);
+      const compatible = byteMode ? new TypeUtils(input.scope).isHexLike(type) : new TypeUtils(input.scope).isCharLikeStrict(type);
+      if (compatible === false) {
+        const message = "Source type not compatible";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/condense.ts.html b/src/abap/5_syntax/statements/condense.ts.html new file mode 100644 index 00000000000..9ae72a7a0cb --- /dev/null +++ b/src/abap/5_syntax/statements/condense.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/condense.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements condense.ts

+
+ +
+ 60% + Statements + 9/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 60% + Lines + 9/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Condense implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/constant.ts.html b/src/abap/5_syntax/statements/constant.ts.html new file mode 100644 index 00000000000..896dbf56d97 --- /dev/null +++ b/src/abap/5_syntax/statements/constant.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/constant.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements constant.ts

+
+ +
+ 69.23% + Statements + 18/26 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 69.23% + Lines + 18/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +1x +199x +199x +199x +199x +199x +199x +199x +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {BasicTypes} from "../basic_types";
+import {TypedIdentifier, IdentifierMeta} from "../../types/_typed_identifier";
+import {UnknownType} from "../../types/basic";
+import {SyntaxInput} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class Constant {
+  public runSyntax(node: StatementNode, input: SyntaxInput): TypedIdentifier {
+    const basic = new BasicTypes(input);
+    const found = basic.simpleType(node);
+    if (found) {
+      const val = basic.findValue(node);
+      const meta = [IdentifierMeta.ReadOnly, IdentifierMeta.Static];
+      return new TypedIdentifier(found.getToken(), input.filename, found.getType(), meta, val);
+    }
+
+    const fallback = node.findFirstExpression(Expressions.DefinitionName);
+    if (fallback) {
+      return new TypedIdentifier(fallback.getFirstToken(), input.filename, new UnknownType("constant, fallback"));
+    }
+
+    throw new AssertError("Statement Constant: unexpected structure");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/controls.ts.html b/src/abap/5_syntax/statements/controls.ts.html new file mode 100644 index 00000000000..372e9f44221 --- /dev/null +++ b/src/abap/5_syntax/statements/controls.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/controls.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements controls.ts

+
+ +
+ 100% + Statements + 47/47 +
+ + +
+ 83.33% + Branches + 5/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 47/47 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +471x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {StructureType, CharacterType, IntegerType, TableType, TableKeyType} from "../../types/basic";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Controls implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    const name = node.findDirectExpression(Expressions.NamespaceSimpleName);
+    const token = name?.getFirstToken();
+ 
+    if (node.findDirectTokenByText("TABSTRIP") && token) {
+      const type = new StructureType([{name: "ACTIVETAB", type: new CharacterType(132)}]);
+      const id = new TypedIdentifier(token, input.filename, type);
+      input.scope.addIdentifier(id);
+    }
+ 
+    if (node.findDirectTokenByText("TABLEVIEW") && token) {
+      const cols = new StructureType([
+        {name: "SCREEN", type: new CharacterType(1)}, // todo
+        {name: "INDEX", type: IntegerType.get()},
+        {name: "SELECTED", type: new CharacterType(1)},
+        {name: "VISLENGTH", type: IntegerType.get()},
+        {name: "INVISIBLE", type: new CharacterType(1)},
+      ]);
+      const type = new StructureType([
+        {name: "FIXED_COLS", type: new CharacterType(132)},
+        {name: "LINES", type: IntegerType.get()},
+        {name: "TOP_LINE", type: IntegerType.get()},
+        {name: "CURRENT_LINE", type: IntegerType.get()},
+        {name: "LEFT_COL", type: IntegerType.get()},
+        {name: "LINE_SEL_MODE", type: new CharacterType(1)},
+        {name: "COL_SEL_MODE", type: new CharacterType(1)},
+        {name: "LINE_SELECTOR", type: new CharacterType(1)},
+        {name: "H_GRID", type: new CharacterType(1)},
+        {name: "V_GRID", type: new CharacterType(1)},
+        {name: "COLS", type: new TableType(cols, {withHeader: false, keyType: TableKeyType.default})},
+        {name: "INVISIBLE", type: new CharacterType(1)},
+      ]);
+      const id = new TypedIdentifier(token, input.filename, type);
+      input.scope.addIdentifier(id);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/convert.ts.html b/src/abap/5_syntax/statements/convert.ts.html new file mode 100644 index 00000000000..49eddabcd95 --- /dev/null +++ b/src/abap/5_syntax/statements/convert.ts.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/convert.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements convert.ts

+
+ +
+ 88% + Statements + 44/50 +
+ + +
+ 35.71% + Branches + 5/14 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 88% + Lines + 44/50 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +501x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +7x +7x +3x +3x +3x +2x +2x +2x +2x +  +  +2x +3x +3x +3x +2x +2x +2x +2x +  +  +2x +3x +3x +3x +1x +1x +1x +1x +  +  +1x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {InlineData} from "../expressions/inline_data";
+import {TimeType, DateType, PackedType} from "../../types/basic";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Convert implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+// todo, the source must be of a specific type
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    const timeTarget = node.findExpressionAfterToken("TIME");
+    if (timeTarget?.get() instanceof Expressions.Target) {
+      const inline = timeTarget?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, new TimeType());
+      } else {
+        new Target().runSyntax(timeTarget, input);
+      }
+    }
+ 
+    const dateTarget = node.findExpressionAfterToken("DATE");
+    if (dateTarget?.get() instanceof Expressions.Target) {
+      const inline = dateTarget?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, new DateType());
+      } else {
+        new Target().runSyntax(dateTarget, input);
+      }
+    }
+ 
+    const stampTarget = node.findExpressionAfterToken("STAMP");
+    if (stampTarget?.get() instanceof Expressions.Target) {
+      const inline = stampTarget?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, new PackedType(8, 4));
+      } else {
+        new Target().runSyntax(stampTarget, input);
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/create_data.ts.html b/src/abap/5_syntax/statements/create_data.ts.html new file mode 100644 index 00000000000..21f33a1908c --- /dev/null +++ b/src/abap/5_syntax/statements/create_data.ts.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/create_data.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements create_data.ts

+
+ +
+ 95.83% + Statements + 46/48 +
+ + +
+ 87.5% + Branches + 7/8 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 95.83% + Lines + 46/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +481x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9x +9x +  +  +9x +9x +9x +9x +9x +9x +2x +2x +9x +9x +9x +7x +7x +3x +2x +2x +1x +1x +1x +1x +1x +3x +1x +1x +1x +3x +7x +9x +9x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {Dynamic} from "../expressions/dynamic";
+import {StatementSyntax} from "../_statement_syntax";
+import {BasicTypes} from "../basic_types";
+import {UnknownType} from "../../types/basic";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class CreateData implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(t, input);
+    }
+ 
+    const type = node.findDirectExpression(Expressions.TypeName);
+    if (type) {
+      const found = new BasicTypes(input).resolveTypeName(type);
+      if (found instanceof UnknownType) {
+        if (node.concatTokens().toUpperCase().includes(" REF TO ")) {
+          const def = input.scope.findObjectDefinition(type.concatTokens());
+          if (def) {
+            input.scope.addReference(type.getFirstToken(), def, ReferenceType.TypeReference, input.filename);
+          } else {
+            const identifier = new TypedIdentifier(type.getFirstToken(), input.filename, found);
+            input.scope.addReference(type.getFirstToken(), identifier, ReferenceType.TypeReference, input.filename);
+          }
+        } else {
+          const identifier = new TypedIdentifier(type.getFirstToken(), input.filename, found);
+          input.scope.addReference(type.getFirstToken(), identifier, ReferenceType.TypeReference, input.filename);
+        }
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/create_object.ts.html b/src/abap/5_syntax/statements/create_object.ts.html new file mode 100644 index 00000000000..2d374e8e692 --- /dev/null +++ b/src/abap/5_syntax/statements/create_object.ts.html @@ -0,0 +1,526 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/create_object.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements create_object.ts

+
+ +
+ 94.59% + Statements + 140/148 +
+ + +
+ 88% + Branches + 66/75 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 94.59% + Lines + 140/148 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +1481x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +50x +50x +50x +50x +50x +50x +14x +14x +14x +14x +11x +11x +1x +1x +1x +1x +14x +  +3x +3x +3x +3x +3x +14x +46x +46x +50x +  +  +46x +46x +46x +46x +46x +46x +46x +7x +46x +5x +5x +5x +39x +34x +34x +34x +  +  +  +34x +2x +2x +2x +34x +24x +24x +1x +1x +1x +24x +23x +23x +1x +1x +1x +23x +16x +16x +24x +1x +1x +1x +1x +24x +46x +46x +36x +50x +5x +5x +36x +36x +36x +1x +1x +36x +11x +11x +2x +2x +11x +11x +25x +25x +36x +36x +36x +36x +36x +36x +11x +11x +  +  +11x +11x +11x +11x +11x +11x +11x +11x +11x +11x +3x +3x +3x +11x +1x +1x +1x +1x +7x +7x +7x +21x +36x +1x +1x +1x +1x +20x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {Dynamic} from "../expressions/dynamic";
+import {ReferenceType} from "../_reference";
+import {AnyType, DataType, GenericObjectReferenceType, ObjectReferenceType, UnknownType, VoidType} from "../../types/basic";
+import {ClassDefinition, InterfaceDefinition} from "../../types";
+import {StatementSyntax} from "../_statement_syntax";
+import {IClassDefinition} from "../../types/_class_definition";
+import {ObjectOriented} from "../_object_oriented";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class CreateObject implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    let cdef: IClassDefinition | undefined = undefined;
+ 
+    // CREATE OBJECT, TYPE
+    const type = node.findExpressionAfterToken("TYPE");
+    if (type && type.get() instanceof Expressions.ClassName) {
+      const token = type.getFirstToken();
+      const name = token.getStr();
+      cdef = input.scope.findClassDefinition(name);
+      if (cdef) {
+        input.scope.addReference(token, cdef, ReferenceType.ObjectOrientedReference, input.filename);
+        if (cdef.isAbstract() === true) {
+          const message = cdef.getName() + " is abstract, cannot be instantiated";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      } else if (input.scope.getDDIC().inErrorNamespace(name) === false) {
+        input.scope.addReference(token, undefined, ReferenceType.ObjectOrientedVoidReference, input.filename, {ooName: name, ooType: "CLAS"});
+      } else {
+        const message = "TYPE \"" + name + "\" not found";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    // just recurse
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    let first = true;
+    for (const t of node.findAllExpressions(Expressions.Target)) {
+      const found = new Target().runSyntax(t, input);
+      if (first === true) {
+        first = false;
+        if (found instanceof VoidType) {
+          continue;
+        } else if (found instanceof UnknownType) {
+          const message = "Target type unknown, " + t.concatTokens();
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        } else if (!(found instanceof ObjectReferenceType)
+            && !(found instanceof AnyType)
+            && !(found instanceof DataType)
+            && !(found instanceof GenericObjectReferenceType)) {
+          const message = "Target must be an object reference, " + t.concatTokens();
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        } else if (found instanceof GenericObjectReferenceType && type === undefined) {
+          const message = "Generic type, cannot be instantiated";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        } else if (found instanceof ObjectReferenceType) {
+          const id = found.getIdentifier();
+          if (id instanceof InterfaceDefinition && type === undefined) {
+            const message = "Interface reference, cannot be instantiated";
+            input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+            return;
+          } else if (found instanceof ObjectReferenceType
+              && type === undefined
+              && input.scope.findInterfaceDefinition(found.getQualifiedName())) {
+            const message = "Interface reference, cannot be instantiated";
+            input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+            return;
+          } else if (id instanceof ClassDefinition && cdef === undefined) {
+            cdef = id;
+          }
+          if (type === undefined && id instanceof ClassDefinition && id.isAbstract() === true) {
+            const message = id.getName() + " is abstract, cannot be instantiated";
+            input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+            return;
+          }
+        }
+      }
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(t, input);
+    }
+ 
+    this.validateParameters(cdef, node, input);
+  }
+ 
+  private validateParameters(cdef: IClassDefinition | undefined, node: StatementNode, input: SyntaxInput): void {
+    if (cdef === undefined) {
+      const sources = node.findDirectExpression(Expressions.ParameterListS)?.findAllExpressions(Expressions.Source);
+      for (const s of sources || []) {
+        new Source().runSyntax(s, input);
+      }
+      return;
+    }
+ 
+    const methodDef = new ObjectOriented(input.scope).searchMethodName(cdef, "CONSTRUCTOR");
+    const methodParameters = methodDef.method?.getParameters();
+ 
+    const allImporting = methodParameters?.getImporting() || [];
+    const requiredImporting = new Set(methodParameters?.getRequiredParameters().map(i => i.getName().toUpperCase()));
+ 
+    for (const p of node.findDirectExpression(Expressions.ParameterListS)?.findAllExpressions(Expressions.ParameterS) || []) {
+      const name = p.findDirectExpression(Expressions.ParameterName)?.concatTokens().toUpperCase();
+      if (name === undefined) {
+        continue;
+      }
+ 
+      const source = p.findDirectExpression(Expressions.Source);
+      const sourceType = new Source().runSyntax(source, input);
+ 
+      const calculated = source?.findFirstExpression(Expressions.MethodCallChain) !== undefined
+        || source?.findFirstExpression(Expressions.StringTemplate) !== undefined
+        || source?.findFirstExpression(Expressions.ArithOperator) !== undefined;
+ 
+      const found = allImporting?.find(p => p.getName().toUpperCase() === name);
+      if (found === undefined) {
+        const message = `constructor parameter "${name}" does not exist`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      } else if (new TypeUtils(input.scope).isAssignableStrict(sourceType, found.getType(), calculated) === false) {
+        const message = `constructor parameter "${name}" type not compatible`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+ 
+      requiredImporting.delete(name);
+    }
+ 
+    for (const r of requiredImporting.values()) {
+      const message = `constructor parameter "${r}" must be supplied`;
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/data.ts.html b/src/abap/5_syntax/statements/data.ts.html new file mode 100644 index 00000000000..ba56e60a68a --- /dev/null +++ b/src/abap/5_syntax/statements/data.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/data.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements data.ts

+
+ +
+ 77.41% + Statements + 24/31 +
+ + +
+ 60% + Branches + 6/10 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 77.41% + Lines + 24/31 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1954x +1954x +1954x +1954x +1954x +1954x +1954x +3x +3x +3x +3x +1947x +1947x +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {DataDefinition} from "../expressions/data_definition";
+import {UnknownType} from "../../types/basic/unknown_type";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {VoidType} from "../../types/basic";
+ 
+export class Data {
+  public runSyntax(node: StatementNode, input: SyntaxInput): TypedIdentifier | undefined {
+ 
+    const name = node.findFirstExpression(Expressions.DefinitionName);
+    const dd = node.findFirstExpression(Expressions.DataDefinition);
+    if (dd) {
+      const id = new DataDefinition().runSyntax(dd, input);
+      if (id?.getType().isGeneric() === true
+          && id?.getType().containsVoid() === false) {
+        const message = "DATA definition cannot be generic, " + name?.concatTokens();
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new TypedIdentifier(id.getToken(), input.filename, new VoidType(CheckSyntaxKey));
+      }
+      return id;
+    }
+
+    if (name) {
+      return new TypedIdentifier(name.getFirstToken(), input.filename, new UnknownType("data, fallback"));
+    }
+
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/delete_cluster.ts.html b/src/abap/5_syntax/statements/delete_cluster.ts.html new file mode 100644 index 00000000000..54c413a7726 --- /dev/null +++ b/src/abap/5_syntax/statements/delete_cluster.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/delete_cluster.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements delete_cluster.ts

+
+ +
+ 39.13% + Statements + 9/23 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 39.13% + Lines + 9/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class DeleteCluster implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    const databaseName = node.findExpressionAfterToken("DATABASE");
+    if (databaseName) {
+      const found = input.scope.getDDIC()?.lookupTableOrView(databaseName.concatTokens());
+      if (found) {
+        input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), {object: found.object});
+      }
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/delete_database.ts.html b/src/abap/5_syntax/statements/delete_database.ts.html new file mode 100644 index 00000000000..a66b13f764e --- /dev/null +++ b/src/abap/5_syntax/statements/delete_database.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/delete_database.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements delete_database.ts

+
+ +
+ 93.1% + Statements + 27/29 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 93.1% + Lines + 27/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +  +  +5x +5x +5x +5x +5x +1x +1x +5x +5x +5x +5x +5x +5x +5x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Dynamic} from "../expressions/dynamic";
+import {DatabaseTable} from "../expressions/database_table";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class DeleteDatabase implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const d of node.findAllExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(d, input);
+    }
+ 
+    const dbtab = node.findFirstExpression(Expressions.DatabaseTable);
+    if (dbtab !== undefined) {
+      new DatabaseTable().runSyntax(dbtab, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/delete_internal.ts.html b/src/abap/5_syntax/statements/delete_internal.ts.html new file mode 100644 index 00000000000..91d6f083a35 --- /dev/null +++ b/src/abap/5_syntax/statements/delete_internal.ts.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/delete_internal.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements delete_internal.ts

+
+ +
+ 95.83% + Statements + 46/48 +
+ + +
+ 77.77% + Branches + 7/9 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 95.83% + Lines + 46/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +481x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +4x +4x +8x +8x +8x +8x +8x +8x +1x +1x +1x +1x +1x +1x +8x +7x +7x +6x +6x +7x +8x +8x +8x +  +  +8x +8x +4x +4x +8x +8x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {ComponentCompare} from "../expressions/component_compare";
+import {ComponentCond} from "../expressions/component_cond";
+import {StatementSyntax} from "../_statement_syntax";
+import {ILookupResult} from "../../../ddic";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {TableType} from "../../types/basic";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class DeleteInternal implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    let targetType: AbstractType | undefined = undefined;
+    const target = node.findDirectExpression(Expressions.Target);
+    if (target) {
+      let tabl: ILookupResult | undefined = undefined;
+      if (node.getChildren().length === 5 && node.getChildren()[2].concatTokens().toUpperCase() === "FROM") {
+        // it might be a database table
+        tabl = input.scope.getDDIC()?.lookupTableOrView(target.concatTokens());
+        if (tabl) {
+          input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), {object: tabl.object});
+        }
+      }
+      if (tabl === undefined) {
+        targetType = new Target().runSyntax(target, input);
+        if (targetType instanceof TableType) {
+          targetType = targetType.getRowType();
+        }
+      }
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.ComponentCompare)) {
+      new ComponentCompare().runSyntax(t, input, targetType);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {
+      new ComponentCond().runSyntax(t, input, targetType);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/delete_report.ts.html b/src/abap/5_syntax/statements/delete_report.ts.html new file mode 100644 index 00000000000..afa48f39aef --- /dev/null +++ b/src/abap/5_syntax/statements/delete_report.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/delete_report.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements delete_report.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class DeleteReport implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/describe.ts.html b/src/abap/5_syntax/statements/describe.ts.html new file mode 100644 index 00000000000..869acf4e256 --- /dev/null +++ b/src/abap/5_syntax/statements/describe.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/describe.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements describe.ts

+
+ +
+ 93.65% + Statements + 59/63 +
+ + +
+ 75% + Branches + 18/24 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 93.65% + Lines + 59/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +631x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +4x +4x +6x +2x +2x +6x +6x +6x +2x +2x +1x +1x +1x +1x +2x +6x +6x +6x +3x +3x +1x +3x +2x +2x +3x +6x +6x +6x +1x +1x +1x +1x +  +  +1x +6x +6x +6x +1x +1x +1x +1x +  +  +1x +6x +6x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {InlineData} from "../expressions/inline_data";
+import {CharacterType, IntegerType} from "../../types/basic";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {FieldChain} from "../expressions/field_chain";
+import {ReferenceType} from "../_reference";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Describe implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findDirectExpressions(Expressions.FieldChain)) {
+      new FieldChain().runSyntax(s, input, ReferenceType.DataReadReference);
+    }
+ 
+    const linesTarget = node.findExpressionAfterToken("LINES");
+    if (linesTarget?.get() instanceof Expressions.Target) {
+      const inline = linesTarget?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, IntegerType.get());
+      } else {
+        new Target().runSyntax(linesTarget, input);
+      }
+    }
+ 
+    const typeTarget = node.findExpressionAfterToken("TYPE");
+    if (typeTarget?.get() instanceof Expressions.Target) {
+      const inline = typeTarget?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, new CharacterType(1));
+      } else {
+        new Target().runSyntax(typeTarget, input);
+      }
+    }
+ 
+    const lengthTarget = node.findExpressionAfterToken("LENGTH");
+    if (lengthTarget?.get() instanceof Expressions.Target) {
+      const inline = lengthTarget?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, IntegerType.get());
+      } else {
+        new Target().runSyntax(lengthTarget, input);
+      }
+    }
+ 
+    const componentsTarget = node.findExpressionAfterToken("COMPONENTS");
+    if (componentsTarget?.get() instanceof Expressions.Target) {
+      const inline = componentsTarget?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, IntegerType.get());
+      } else {
+        new Target().runSyntax(componentsTarget, input);
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/divide.ts.html b/src/abap/5_syntax/statements/divide.ts.html new file mode 100644 index 00000000000..651994d92ee --- /dev/null +++ b/src/abap/5_syntax/statements/divide.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/divide.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements divide.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Divide implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/do.ts.html b/src/abap/5_syntax/statements/do.ts.html new file mode 100644 index 00000000000..d39a2412bd5 --- /dev/null +++ b/src/abap/5_syntax/statements/do.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/do.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements do.ts

+
+ +
+ 93.1% + Statements + 27/29 +
+ + +
+ 80% + Branches + 4/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 93.1% + Lines + 27/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +1x +1x +1x +1x +7x +6x +7x +  +  +6x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {Target} from "../expressions/target";
+import {TypeUtils} from "../_type_utils";
+import {IntegerType} from "../../types/basic";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Do implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    const afterDo = node.findExpressionAfterToken("DO");
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      const type = new Source().runSyntax(s, input);
+      if (s === afterDo
+          && new TypeUtils(input.scope).isAssignable(type, IntegerType.get()) === false) {
+        const message = "DO TIMES must be numeric";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/editor_call.ts.html b/src/abap/5_syntax/statements/editor_call.ts.html new file mode 100644 index 00000000000..eb197b755b7 --- /dev/null +++ b/src/abap/5_syntax/statements/editor_call.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/editor_call.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements editor_call.ts

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class EditorCall implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.SimpleSource3)) {
+      new Source().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/else_if.ts.html b/src/abap/5_syntax/statements/else_if.ts.html new file mode 100644 index 00000000000..3a13880330b --- /dev/null +++ b/src/abap/5_syntax/statements/else_if.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/else_if.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements else_if.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +13x +13x +13x +13x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Cond} from "../expressions/cond";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ElseIf implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findDirectExpressions(Expressions.Cond)) {
+      new Cond().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/export.ts.html b/src/abap/5_syntax/statements/export.ts.html new file mode 100644 index 00000000000..e98142f9389 --- /dev/null +++ b/src/abap/5_syntax/statements/export.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/export.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements export.ts

+
+ +
+ 92.85% + Statements + 26/28 +
+ + +
+ 50% + Branches + 2/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 92.85% + Lines + 26/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +7x +7x +3x +3x +  +  +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Export implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+    const databaseName = node.findExpressionAfterToken("DATABASE");
+    if (databaseName) {
+      const found = input.scope.getDDIC()?.lookupTableOrView(databaseName.concatTokens());
+      if (found) {
+        input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), {object: found.object});
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/fieldsymbol.ts.html b/src/abap/5_syntax/statements/fieldsymbol.ts.html new file mode 100644 index 00000000000..a1cbb4b7586 --- /dev/null +++ b/src/abap/5_syntax/statements/fieldsymbol.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/fieldsymbol.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements fieldsymbol.ts

+
+ +
+ 82.6% + Statements + 19/23 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 82.6% + Lines + 19/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +1x +76x +76x +76x +76x +76x +76x +76x +  +  +  +  +76x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {BasicTypes} from "../basic_types";
+import {UnknownType} from "../../types/basic/unknown_type";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class FieldSymbol implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const fsname = node.findFirstExpression(Expressions.FieldSymbol)?.getFirstToken();
+ 
+    const bfound = new BasicTypes(input).parseType(node);
+    if (bfound && fsname) {
+      input.scope.addIdentifier(new TypedIdentifier(fsname, input.filename, bfound));
+      return;
+    }
+
+    if (fsname) {
+      input.scope.addIdentifier(new TypedIdentifier(fsname, input.filename, new UnknownType("Fieldsymbol, fallback")));
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/find.ts.html b/src/abap/5_syntax/statements/find.ts.html new file mode 100644 index 00000000000..bccdd761bc1 --- /dev/null +++ b/src/abap/5_syntax/statements/find.ts.html @@ -0,0 +1,340 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/find.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements find.ts

+
+ +
+ 95.34% + Statements + 82/86 +
+ + +
+ 81.48% + Branches + 22/27 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 95.34% + Lines + 82/86 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +861x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +14x +14x +29x +29x +14x +14x +14x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +2x +5x +3x +3x +5x +14x +14x +14x +7x +6x +6x +7x +14x +14x +14x +  +  +14x +14x +14x +  +  +14x +14x +14x +4x +4x +14x +14x +7x +18x +4x +18x +4x +4x +18x +18x +7x +18x +3x +3x +18x +7x +14x +1x +1x +1x +1x +15x +15x +14x +15x +1x +1x +15x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode, ExpressionNode} from "../../nodes";
+import {InlineData} from "../expressions/inline_data";
+import {StringType, StructureType, IntegerType, TableType, TableKeyType} from "../../types/basic";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Find implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    const rfound = node.findExpressionAfterToken("RESULTS");
+    if (rfound && rfound.get() instanceof Expressions.Target) {
+      const sub = new StructureType([
+        {name: "OFFSET", type: IntegerType.get()},
+        {name: "LENGTH", type: IntegerType.get()}], "SUBMATCH_RESULT", "SUBMATCH_RESULT");
+      const type = new StructureType([
+        {name: "LINE", type: IntegerType.get()},
+        {name: "OFFSET", type: IntegerType.get()},
+        {name: "LENGTH", type: IntegerType.get()},
+        {name: "SUBMATCHES", type: new TableType(sub, {withHeader: false, keyType: TableKeyType.default})},
+      ], "MATCH_RESULT", "MATCH_RESULT");
+      if (node.concatTokens().toUpperCase().startsWith("FIND FIRST")) {
+        this.inline(rfound, input, type);
+      } else {
+        this.inline(rfound, input, new TableType(type, {withHeader: false, keyType: TableKeyType.default}, "MATCH_RESULT_TAB"));
+      }
+    }
+ 
+    const ofound = node.findExpressionsAfterToken("OFFSET");
+    for (const o of ofound) {
+      if (o.get() instanceof Expressions.Target) {
+        this.inline(o, input, IntegerType.get());
+      }
+    }
+ 
+    const lfound = node.findExpressionAfterToken("LINE");
+    if (lfound && lfound.get() instanceof Expressions.Target) {
+      this.inline(lfound, input, IntegerType.get());
+    }
+ 
+    const cfound = node.findExpressionAfterToken("COUNT");
+    if (cfound && cfound.get() instanceof Expressions.Target) {
+      this.inline(cfound, input, IntegerType.get());
+    }
+ 
+    const lnfound = node.findExpressionAfterToken("LENGTH");
+    if (lnfound && lnfound.get() instanceof Expressions.Target) {
+      this.inline(lnfound, input, IntegerType.get());
+    }
+ 
+    if (node.findDirectTokenByText("SUBMATCHES")) {
+      for (const t of node.findDirectExpressions(Expressions.Target)) {
+        if (t === rfound || t === lfound || t === cfound || t === lnfound) {
+          continue;
+        } else if (ofound.indexOf(t) >= 0) {
+          continue;
+        }
+        const inline = t?.findDirectExpression(Expressions.InlineData);
+        if (inline) {
+          new InlineData().runSyntax(inline, input, StringType.get());
+        } else {
+          new Target().runSyntax(t, input);
+        }
+      }
+    }
+  }
+ 
+/////////////////////
+ 
+  private inline(node: ExpressionNode, input: SyntaxInput, type: AbstractType): void {
+    const inline = node.findDirectExpression(Expressions.InlineData);
+    if (inline) {
+      new InlineData().runSyntax(inline, input, type);
+    } else {
+      new Target().runSyntax(node, input);
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/form.ts.html b/src/abap/5_syntax/statements/form.ts.html new file mode 100644 index 00000000000..b83500ad71a --- /dev/null +++ b/src/abap/5_syntax/statements/form.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/form.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements form.ts

+
+ +
+ 82.6% + Statements + 19/23 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 82.6% + Lines + 19/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +188x +188x +  +  +  +  +188x +188x +188x +188x +188x +188x +188x +1x
import {StatementNode} from "../../nodes";
+import {FormDefinition} from "../../types/form_definition";
+import {ScopeType} from "../_scope_type";
+import {FormName} from "../../2_statements/expressions";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Form implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const name = node.findDirectExpression(FormName)?.concatTokens();
+    if (name === undefined) {
+      const message = "Form, could not find name";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+    input.scope.push(ScopeType.Form, name, node.getFirstToken().getStart(), input.filename);
+ 
+    const form = new FormDefinition(node, input);
+    input.scope.addList(form.getUsingParameters());
+    input.scope.addList(form.getChangingParameters());
+    input.scope.addList(form.getTablesParameters());
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/format.ts.html b/src/abap/5_syntax/statements/format.ts.html new file mode 100644 index 00000000000..a155dadfa19 --- /dev/null +++ b/src/abap/5_syntax/statements/format.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/format.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements format.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Format implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/get_badi.ts.html b/src/abap/5_syntax/statements/get_badi.ts.html new file mode 100644 index 00000000000..cc4fcc58219 --- /dev/null +++ b/src/abap/5_syntax/statements/get_badi.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/get_badi.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements get_badi.ts

+
+ +
+ 100% + Statements + 25/25 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 25/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {Dynamic} from "../expressions/dynamic";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class GetBadi implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+    for (const d of node.findDirectExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(d, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/get_bit.ts.html b/src/abap/5_syntax/statements/get_bit.ts.html new file mode 100644 index 00000000000..f7065b902a5 --- /dev/null +++ b/src/abap/5_syntax/statements/get_bit.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/get_bit.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements get_bit.ts

+
+ +
+ 94.44% + Statements + 34/36 +
+ + +
+ 60% + Branches + 3/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 94.44% + Lines + 34/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +361x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +4x +4x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {IntegerType} from "../../types/basic";
+import {InlineData} from "../expressions/inline_data";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class GetBit implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    let lastType: AbstractType | undefined = undefined;
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      lastType = new Source().runSyntax(s, input);
+    }
+ 
+    if (lastType && new TypeUtils(input.scope).isHexLike(lastType) === false) {
+      const message = "Input must be byte-like";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      const inline = t?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(t, input, IntegerType.get());
+      } else {
+        new Target().runSyntax(t, input);
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/get_cursor.ts.html b/src/abap/5_syntax/statements/get_cursor.ts.html new file mode 100644 index 00000000000..f7c25e72548 --- /dev/null +++ b/src/abap/5_syntax/statements/get_cursor.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/get_cursor.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements get_cursor.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class GetCursor implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const t of node.findAllExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/get_locale.ts.html b/src/abap/5_syntax/statements/get_locale.ts.html new file mode 100644 index 00000000000..6aabd1623a1 --- /dev/null +++ b/src/abap/5_syntax/statements/get_locale.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/get_locale.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements get_locale.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class GetLocale implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/get_parameter.ts.html b/src/abap/5_syntax/statements/get_parameter.ts.html new file mode 100644 index 00000000000..c3b5df2b1b8 --- /dev/null +++ b/src/abap/5_syntax/statements/get_parameter.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/get_parameter.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements get_parameter.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {InlineData} from "../expressions/inline_data";
+import {CharacterType} from "../../types/basic";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class GetParameter implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const target = node.findDirectExpression(Expressions.Target);
+ 
+    const inline = target?.findDirectExpression(Expressions.InlineData);
+    if (inline) {
+      new InlineData().runSyntax(inline, input, new CharacterType(40));
+    } else if (target) {
+      new Target().runSyntax(target, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/get_reference.ts.html b/src/abap/5_syntax/statements/get_reference.ts.html new file mode 100644 index 00000000000..58e235a08e2 --- /dev/null +++ b/src/abap/5_syntax/statements/get_reference.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/get_reference.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements get_reference.ts

+
+ +
+ 100% + Statements + 29/29 +
+ + +
+ 71.42% + Branches + 5/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 29/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +12x +12x +12x +12x +12x +12x +12x +5x +1x +1x +1x +1x +5x +12x +7x +7x +12x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {InlineData} from "../expressions/inline_data";
+import {AnyType, DataReference} from "../../types/basic";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class GetReference implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const s = node.findDirectExpression(Expressions.Source);
+    const type = new Source().runSyntax(s, input);
+ 
+    const target = node.findDirectExpression(Expressions.Target);
+    const inline = target?.findDirectExpression(Expressions.InlineData);
+// todo: error if inline field symbol
+    if (inline) {
+      if (type instanceof AnyType) {
+        const message = "GET REFERENCE generic and inline declaration not possible";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      new InlineData().runSyntax(inline, input, type ? new DataReference(type) : undefined);
+    } else if (target) {
+      new Target().runSyntax(target, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/get_run_time.ts.html b/src/abap/5_syntax/statements/get_run_time.ts.html new file mode 100644 index 00000000000..16f9ef66622 --- /dev/null +++ b/src/abap/5_syntax/statements/get_run_time.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/get_run_time.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements get_run_time.ts

+
+ +
+ 90.9% + Statements + 20/22 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 90.9% + Lines + 20/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {InlineData} from "../expressions/inline_data";
+import {IntegerType} from "../../types/basic";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class GetRunTime implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    const target = node.findDirectExpression(Expressions.Target);
+ 
+    const inline = target?.findDirectExpression(Expressions.InlineData);
+    if (inline) {
+      new InlineData().runSyntax(inline, input, IntegerType.get());
+    } else if (target) {
+      new Target().runSyntax(target, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/get_time.ts.html b/src/abap/5_syntax/statements/get_time.ts.html new file mode 100644 index 00000000000..4b9aa604240 --- /dev/null +++ b/src/abap/5_syntax/statements/get_time.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/get_time.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements get_time.ts

+
+ +
+ 90.47% + Statements + 19/21 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 90.47% + Lines + 19/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {InlineData} from "../expressions/inline_data";
+import {PackedType} from "../../types/basic";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class GetTime implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const target = node.findDirectExpression(Expressions.Target);
+ 
+    const inline = target?.findDirectExpression(Expressions.InlineData);
+    if (inline) {
+      new InlineData().runSyntax(inline, input, new PackedType(8, 0));
+    } else if (target) {
+      new Target().runSyntax(target, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/if.ts.html b/src/abap/5_syntax/statements/if.ts.html new file mode 100644 index 00000000000..9a1d7893192 --- /dev/null +++ b/src/abap/5_syntax/statements/if.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/if.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements if.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +87x +87x +87x +87x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Cond} from "../expressions/cond";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class If implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findDirectExpressions(Expressions.Cond)) {
+      new Cond().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/import.ts.html b/src/abap/5_syntax/statements/import.ts.html new file mode 100644 index 00000000000..25727d00ba2 --- /dev/null +++ b/src/abap/5_syntax/statements/import.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/import.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements import.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x +1x +1x +1x +2x +2x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Import implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+    const databaseName = node.findExpressionAfterToken("DATABASE");
+    if (databaseName) {
+      const found = input.scope.getDDIC()?.lookupTableOrView(databaseName.concatTokens());
+      if (found) {
+        input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), {object: found.object});
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/import_dynpro.ts.html b/src/abap/5_syntax/statements/import_dynpro.ts.html new file mode 100644 index 00000000000..b12b8491d1e --- /dev/null +++ b/src/abap/5_syntax/statements/import_dynpro.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/import_dynpro.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements import_dynpro.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ImportDynpro implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/include_type.ts.html b/src/abap/5_syntax/statements/include_type.ts.html new file mode 100644 index 00000000000..8314626d08b --- /dev/null +++ b/src/abap/5_syntax/statements/include_type.ts.html @@ -0,0 +1,274 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/include_type.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements include_type.ts

+
+ +
+ 84.37% + Statements + 54/64 +
+ + +
+ 77.77% + Branches + 14/18 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 84.37% + Lines + 54/64 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +641x +1x +1x +1x +1x +1x +1x +1x +1x +1x +15x +15x +15x +15x +  +  +15x +15x +15x +15x +15x +6x +6x +6x +6x +6x +6x +15x +15x +15x +2x +2x +4x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +15x +15x +15x +15x +  +  +15x +11x +15x +4x +4x +  +  +  +  +  +  +11x +11x +11x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {IStructureComponent, StructureType, VoidType} from "../../types/basic";
+import {BasicTypes} from "../basic_types";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class IncludeType {
+  public runSyntax(node: StatementNode, input: SyntaxInput): IStructureComponent[] | VoidType {
+    const components: IStructureComponent[] = [];
+ 
+    const iname = node.findFirstExpression(Expressions.TypeName);
+    if (iname === undefined) {
+      throw new AssertError("IncludeType, unexpected node structure");
+    }
+    const name = iname.getFirstToken().getStr();
+ 
+    let ityp = new BasicTypes(input).parseType(iname);
+    const as = node.findExpressionAfterToken("AS")?.concatTokens();
+    if (as && ityp instanceof StructureType) {
+      ityp = new StructureType(ityp.getComponents().concat([{
+        name: as,
+        type: ityp,
+        asInclude: true,
+      }]));
+    }
+ 
+    const suffix = node.findExpressionAfterToken("SUFFIX")?.concatTokens();
+    if (suffix && ityp instanceof StructureType) {
+      const components: IStructureComponent[] = [];
+      for (const c of ityp.getComponents()) {
+        if (c.name === as) {
+          components.push({...c, suffix: suffix, asInclude: c.asInclude});
+          continue;
+        }
+        components.push({
+          name: c.name + suffix,
+          type: c.type,
+        });
+      }
+      ityp = new StructureType(components);
+    }
+ 
+    if (ityp
+        && ityp instanceof TypedIdentifier
+        && ityp.getType() instanceof StructureType) {
+      const stru = ityp.getType() as StructureType;
+      components.push(...stru.getComponents());
+    } else if (ityp && ityp instanceof StructureType) {
+      components.push(...ityp.getComponents());
+    } else if (ityp && ityp instanceof VoidType) {
+      return ityp;
+    } else if (input.scope.getDDIC().inErrorNamespace(name) === false) {
+      return new VoidType(name);
+    } else {
+      const message = "IncludeType, type not found \"" + iname.concatTokens() + "\"";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return new VoidType(CheckSyntaxKey);
+    }
+ 
+    return components;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/index.html b/src/abap/5_syntax/statements/index.html new file mode 100644 index 00000000000..a67fa8e8f47 --- /dev/null +++ b/src/abap/5_syntax/statements/index.html @@ -0,0 +1,1976 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements + + + + + + + + + +
+
+

All files src/abap/5_syntax/statements

+
+ +
+ 86.11% + Statements + 3517/4084 +
+ + +
+ 77.6% + Branches + 686/884 +
+ + +
+ 78.74% + Functions + 100/127 +
+ + +
+ 86.11% + Lines + 3517/4084 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
add.ts +
+
100%20/20100%1/1100%1/1100%20/20
add_corresponding.ts +
+
50%10/20100%0/00%0/150%10/20
append.ts +
+
82%82/10077.41%24/31100%1/182%82/100
assert.ts +
+
100%13/13100%1/1100%1/1100%13/13
assign.ts +
+
94.28%66/7060.97%25/41100%1/194.28%66/70
authority_check.ts +
+
60%9/15100%0/00%0/160%9/15
call.ts +
+
88.23%30/3471.42%5/7100%1/188.23%30/34
call_badi.ts +
+
84%21/2533.33%1/3100%1/184%21/25
call_function.ts +
+
95.34%41/4376.92%10/13100%1/195.34%41/43
call_kernel.ts +
+
100%15/15100%2/2100%1/1100%15/15
call_transaction.ts +
+
100%20/20100%2/2100%1/1100%20/20
call_transformation.ts +
+
100%32/3280%4/5100%1/1100%32/32
case.ts +
+
100%14/14100%1/1100%1/1100%14/14
case_type.ts +
+
100%14/14100%1/1100%1/1100%14/14
catch.ts +
+
80.95%51/6372.72%16/22100%1/180.95%51/63
check.ts +
+
100%13/13100%1/1100%1/1100%13/13
class_data.ts +
+
70.58%24/3450%4/8100%1/170.58%24/34
class_deferred.ts +
+
100%11/1150%1/2100%1/1100%11/11
class_implementation.ts +
+
100%50/50100%10/10100%1/1100%50/50
class_local_friends.ts +
+
82.97%39/4766.66%4/6100%1/182.97%39/47
clear.ts +
+
90%18/2050%1/2100%1/190%18/20
close_dataset.ts +
+
100%15/15100%1/1100%1/1100%15/15
collect.ts +
+
92.3%24/2650%1/2100%1/192.3%24/26
commit_entities.ts +
+
44.44%12/27100%0/00%0/144.44%12/27
concatenate.ts +
+
92.85%52/5688.88%16/18100%1/192.85%52/56
condense.ts +
+
60%9/15100%0/00%0/160%9/15
constant.ts +
+
69.23%18/2650%1/2100%1/169.23%18/26
controls.ts +
+
100%47/4783.33%5/6100%1/1100%47/47
convert.ts +
+
88%44/5035.71%5/14100%1/188%44/50
create_data.ts +
+
95.83%46/4887.5%7/8100%1/195.83%46/48
create_object.ts +
+
94.59%140/14888%66/75100%2/294.59%140/148
data.ts +
+
77.41%24/3160%6/10100%1/177.41%24/31
delete_cluster.ts +
+
39.13%9/23100%0/00%0/139.13%9/23
delete_database.ts +
+
93.1%27/2966.66%2/3100%1/193.1%27/29
delete_internal.ts +
+
95.83%46/4877.77%7/9100%1/195.83%46/48
delete_report.ts +
+
100%15/15100%1/1100%1/1100%15/15
describe.ts +
+
93.65%59/6375%18/24100%1/193.65%59/63
divide.ts +
+
50%10/20100%0/00%0/150%10/20
do.ts +
+
93.1%27/2980%4/5100%1/193.1%27/29
editor_call.ts +
+
100%19/19100%1/1100%1/1100%19/19
else_if.ts +
+
100%13/13100%1/1100%1/1100%13/13
export.ts +
+
92.85%26/2850%2/4100%1/192.85%26/28
fieldsymbol.ts +
+
82.6%19/2333.33%1/3100%1/182.6%19/23
find.ts +
+
95.34%82/8681.48%22/27100%2/295.34%82/86
form.ts +
+
82.6%19/2333.33%1/3100%1/182.6%19/23
format.ts +
+
100%15/15100%2/2100%1/1100%15/15
get_badi.ts +
+
100%25/25100%3/3100%1/1100%25/25
get_bit.ts +
+
94.44%34/3660%3/5100%1/194.44%34/36
get_cursor.ts +
+
100%15/15100%1/1100%1/1100%15/15
get_locale.ts +
+
50%10/20100%0/00%0/150%10/20
get_parameter.ts +
+
100%26/2666.66%2/3100%1/1100%26/26
get_reference.ts +
+
100%29/2971.42%5/7100%1/1100%29/29
get_run_time.ts +
+
90.9%20/2233.33%1/3100%1/190.9%20/22
get_time.ts +
+
90.47%19/2133.33%1/3100%1/190.47%19/21
if.ts +
+
100%13/13100%1/1100%1/1100%13/13
import.ts +
+
100%28/2866.66%2/3100%1/1100%28/28
import_dynpro.ts +
+
50%10/20100%0/00%0/150%10/20
include_type.ts +
+
84.37%54/6477.77%14/18100%1/184.37%54/64
insert_database.ts +
+
93.1%27/2966.66%2/3100%1/193.1%27/29
insert_field_group.ts +
+
50%10/20100%0/00%0/150%10/20
insert_internal.ts +
+
100%92/9297.72%43/44100%1/1100%92/92
insert_report.ts +
+
60%9/15100%0/00%0/160%9/15
insert_textpool.ts +
+
100%15/15100%2/2100%1/1100%15/15
interface_deferred.ts +
+
100%11/1150%1/2100%1/1100%11/11
log_point.ts +
+
100%14/14100%2/2100%1/1100%14/14
loop.ts +
+
90.9%110/12189.65%52/58100%1/190.9%110/121
loop_at_screen.ts +
+
100%21/21100%5/5100%1/1100%21/21
message.ts +
+
93.93%31/3388.88%8/9100%1/193.93%31/33
method_implementation.ts +
+
96.22%51/5384.61%11/13100%1/196.22%51/53
modify_database.ts +
+
94.59%35/3785.71%6/7100%1/194.59%35/37
modify_entities.ts +
+
44.44%12/27100%0/00%0/144.44%12/27
modify_internal.ts +
+
78.68%48/6166.66%10/15100%1/178.68%48/61
modify_screen.ts +
+
60%9/15100%0/00%0/160%9/15
move.ts +
+
85.18%46/5468.75%11/16100%1/185.18%46/54
move_corresponding.ts +
+
77.77%28/3660%3/5100%1/177.77%28/36
multiply.ts +
+
50%10/20100%0/00%0/150%10/20
open_dataset.ts +
+
50%10/20100%0/00%0/150%10/20
pack.ts +
+
50%10/20100%0/00%0/150%10/20
parameter.ts +
+
88.57%31/3577.77%7/9100%1/188.57%31/35
perform.ts +
+
84.61%55/6569.23%9/13100%1/184.61%55/65
raise.ts +
+
98%98/10094.33%50/53100%1/198%98/100
raise_event.ts +
+
100%26/2675%3/4100%1/1100%26/26
ranges.ts +
+
93.75%30/3233.33%1/3100%1/193.75%30/32
read_entities.ts +
+
92.59%25/2750%2/4100%1/192.59%25/27
read_report.ts +
+
50%10/20100%0/00%0/150%10/20
read_table.ts +
+
89.05%122/13778.26%36/46100%1/189.05%122/137
read_textpool.ts +
+
100%20/20100%2/2100%1/1100%20/20
receive.ts +
+
45.45%10/22100%0/00%0/145.45%10/22
replace.ts +
+
100%21/21100%2/2100%1/1100%21/21
scan.ts +
+
50%10/20100%0/00%0/150%10/20
search.ts +
+
60%9/15100%0/00%0/160%9/15
select.ts +
+
100%18/18100%2/2100%1/1100%18/18
select_loop.ts +
+
100%14/14100%1/1100%1/1100%14/14
selection_screen.ts +
+
100%33/33100%7/7100%1/1100%33/33
selectoption.ts +
+
82.45%47/5742.85%3/7100%1/182.45%47/57
set_bit.ts +
+
100%24/24100%4/4100%1/1100%24/24
set_handler.ts +
+
100%20/20100%1/1100%1/1100%20/20
set_locale.ts +
+
50%10/20100%0/00%0/150%10/20
set_parameter.ts +
+
100%15/15100%2/2100%1/1100%15/15
set_pf_status.ts +
+
100%13/13100%1/1100%1/1100%13/13
set_titlebar.ts +
+
100%13/13100%1/1100%1/1100%13/13
shift.ts +
+
79.48%31/3960%3/5100%1/179.48%31/39
sort.ts +
+
84.48%49/5866.66%14/21100%1/184.48%49/58
split.ts +
+
91.66%44/4883.33%10/12100%1/191.66%44/48
static.ts +
+
58.06%18/3133.33%1/3100%1/158.06%18/31
submit.ts +
+
84%21/2533.33%1/3100%1/184%21/25
subtract.ts +
+
50%10/20100%0/00%0/150%10/20
subtract_corresponding.ts +
+
50%10/20100%0/00%0/150%10/20
syntax_check.ts +
+
50%10/20100%0/00%0/150%10/20
system_call.ts +
+
100%13/13100%2/2100%1/1100%13/13
tables.ts +
+
84.61%33/3955.55%5/9100%1/184.61%33/39
transfer.ts +
+
89.47%17/1966.66%2/3100%1/189.47%17/19
translate.ts +
+
50%10/20100%0/00%0/150%10/20
truncate_dataset.ts +
+
60%9/15100%0/00%0/160%9/15
type.ts +
+
82.22%37/4576.92%10/13100%1/182.22%37/45
unassign.ts +
+
90.47%19/2133.33%1/3100%1/190.47%19/21
unpack.ts +
+
100%20/20100%1/1100%1/1100%20/20
update_database.ts +
+
92.3%48/5262.5%5/8100%1/192.3%48/52
wait.ts +
+
90%18/2050%1/2100%1/190%18/20
when.ts +
+
100%15/15100%1/1100%1/1100%15/15
when_type.ts +
+
92.1%35/3864.28%9/14100%1/192.1%35/38
while.ts +
+
82.6%19/2333.33%1/3100%1/182.6%19/23
with.ts +
+
50%10/20100%0/00%0/150%10/20
with_loop.ts +
+
50%10/20100%0/00%0/150%10/20
write.ts +
+
95.74%45/4792.3%12/13100%1/195.74%45/47
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/insert_database.ts.html b/src/abap/5_syntax/statements/insert_database.ts.html new file mode 100644 index 00000000000..a0f4365039d --- /dev/null +++ b/src/abap/5_syntax/statements/insert_database.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/insert_database.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements insert_database.ts

+
+ +
+ 93.1% + Statements + 27/29 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 93.1% + Lines + 27/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +  +  +5x +5x +5x +5x +5x +1x +1x +5x +5x +5x +5x +5x +5x +5x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Dynamic} from "../expressions/dynamic";
+import {DatabaseTable} from "../expressions/database_table";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class InsertDatabase implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const d of node.findAllExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(d, input);
+    }
+ 
+    const dbtab = node.findFirstExpression(Expressions.DatabaseTable);
+    if (dbtab !== undefined) {
+      new DatabaseTable().runSyntax(dbtab, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/insert_field_group.ts.html b/src/abap/5_syntax/statements/insert_field_group.ts.html new file mode 100644 index 00000000000..36da7a74a61 --- /dev/null +++ b/src/abap/5_syntax/statements/insert_field_group.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/insert_field_group.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements insert_field_group.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class InsertFieldGroup implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findAllExpressions(Expressions.SimpleSource1)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/insert_internal.ts.html b/src/abap/5_syntax/statements/insert_internal.ts.html new file mode 100644 index 00000000000..c8b9e3a5e28 --- /dev/null +++ b/src/abap/5_syntax/statements/insert_internal.ts.html @@ -0,0 +1,358 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/insert_internal.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements insert_internal.ts

+
+ +
+ 100% + Statements + 92/92 +
+ + +
+ 97.72% + Branches + 43/44 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 92/92 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +921x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +82x +82x +82x +82x +80x +80x +82x +82x +82x +82x +82x +2x +2x +2x +82x +80x +75x +75x +80x +80x +82x +21x +21x +82x +82x +82x +82x +82x +82x +82x +1x +1x +1x +1x +79x +79x +82x +5x +5x +3x +5x +2x +2x +5x +79x +82x +76x +1x +1x +1x +76x +1x +1x +1x +1x +1x +76x +77x +77x +82x +7x +7x +3x +7x +4x +4x +7x +77x +82x +22x +20x +20x +2x +2x +77x +77x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {InlineFS} from "../expressions/inline_fs";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {FSTarget} from "../expressions/fstarget";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {AnyType, CharacterType, DataReference, StringType, TableType, UnknownType, VoidType} from "../../types/basic";
+import {StatementSyntax} from "../_statement_syntax";
+import {InlineData} from "../expressions/inline_data";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class InsertInternal implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    let targetType: AbstractType | undefined;
+    const t = node.findDirectExpression(Expressions.Target);
+    if (t) {
+      targetType = new Target().runSyntax(t, input);
+    }
+    if (!(targetType instanceof TableType)
+        && !(targetType instanceof VoidType)
+        && !(targetType instanceof AnyType)
+        && !(targetType instanceof UnknownType)
+        && targetType !== undefined) {
+      const message = "INSERT target must be a table";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    } else if (targetType instanceof TableType
+        && node.findDirectTokenByText("LINES") === undefined) {
+      targetType = targetType.getRowType();
+    }
+ 
+    let source = node.findDirectExpression(Expressions.SimpleSource4);
+    if (source === undefined) {
+      source = node.findDirectExpression(Expressions.Source);
+    }
+    const sourceType = source ? new Source().runSyntax(source, input, targetType) : targetType;
+ 
+    if (targetType === undefined
+        && !(sourceType instanceof TableType)
+        && !(sourceType instanceof VoidType)
+        && !(sourceType instanceof AnyType)
+        && !(sourceType instanceof UnknownType)) {
+      const message = "INSERT target must be a table";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const afterAssigning = node.findExpressionAfterToken("ASSIGNING");
+    if (afterAssigning?.get() instanceof Expressions.FSTarget) {
+      const inlinefs = afterAssigning?.findDirectExpression(Expressions.InlineFS);
+      if (inlinefs) {
+        new InlineFS().runSyntax(inlinefs, input, sourceType);
+      } else {
+        new FSTarget().runSyntax(afterAssigning, input, sourceType);
+      }
+    }
+ 
+    if (node.findDirectTokenByText("INITIAL") === undefined) {
+      if (new TypeUtils(input.scope).isAssignableStrict(sourceType, targetType) === false) {
+        const message = "Types not compatible";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      } else if (sourceType instanceof CharacterType && targetType instanceof StringType) {
+        // yea, well, INSERT doesnt convert the values automatically, like everything else?
+        const message = "Types not compatible";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    const afterInto = node.findExpressionAfterToken("INTO");
+    if (afterInto?.get() instanceof Expressions.Target && sourceType) {
+      const inline = afterInto.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(afterInto, input, new DataReference(sourceType));
+      } else {
+        new Target().runSyntax(afterInto, input);
+      }
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      if (s === source) {
+        continue;
+      }
+      new Source().runSyntax(s, input, targetType);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/insert_report.ts.html b/src/abap/5_syntax/statements/insert_report.ts.html new file mode 100644 index 00000000000..92bc6b2c201 --- /dev/null +++ b/src/abap/5_syntax/statements/insert_report.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/insert_report.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements insert_report.ts

+
+ +
+ 60% + Statements + 9/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 60% + Lines + 9/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class InsertReport implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/insert_textpool.ts.html b/src/abap/5_syntax/statements/insert_textpool.ts.html new file mode 100644 index 00000000000..4dbdc52cfa3 --- /dev/null +++ b/src/abap/5_syntax/statements/insert_textpool.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/insert_textpool.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements insert_textpool.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class InsertTextpool implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/interface_deferred.ts.html b/src/abap/5_syntax/statements/interface_deferred.ts.html new file mode 100644 index 00000000000..1d816dd10c1 --- /dev/null +++ b/src/abap/5_syntax/statements/interface_deferred.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/interface_deferred.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements interface_deferred.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +2x +2x +2x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class InterfaceDeferred implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const name = node.findFirstExpression(Expressions.InterfaceName)?.getFirstToken();
+    input.scope.addDeferred(name, "INTF");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/log_point.ts.html b/src/abap/5_syntax/statements/log_point.ts.html new file mode 100644 index 00000000000..13123cc2d12 --- /dev/null +++ b/src/abap/5_syntax/statements/log_point.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/log_point.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements log_point.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class LogPoint implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    // just recurse
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/loop.ts.html b/src/abap/5_syntax/statements/loop.ts.html new file mode 100644 index 00000000000..e21d3315deb --- /dev/null +++ b/src/abap/5_syntax/statements/loop.ts.html @@ -0,0 +1,445 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/loop.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements loop.ts

+
+ +
+ 90.9% + Statements + 110/121 +
+ + +
+ 89.65% + Branches + 52/58 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 90.9% + Lines + 110/121 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +1211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +124x +124x +124x +124x +124x +46x +46x +124x +124x +124x +124x +124x +124x +2x +2x +124x +124x +124x +124x +124x +  +  +  +124x +  +  +  +124x +124x +124x +124x +1x +1x +1x +124x +123x +123x +123x +123x +  +  +  +123x +123x +123x +1x +1x +1x +1x +122x +124x +124x +100x +100x +100x +18x +18x +100x +122x +122x +124x +124x +1x +1x +1x +1x +121x +124x +124x +57x +57x +121x +124x +6x +2x +2x +4x +4x +121x +124x +124x +1x +124x +120x +120x +36x +36x +120x +121x +124x +10x +10x +121x +124x +  +  +121x +121x +124x +20x +20x +124x +124x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {VoidType, TableType, UnknownType, DataReference, AnyType, DataType} from "../../types/basic";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {InlineData} from "../expressions/inline_data";
+import {InlineFS} from "../expressions/inline_fs";
+import {FSTarget} from "../expressions/fstarget";
+import {ComponentCond} from "../expressions/component_cond";
+import {Dynamic} from "../expressions/dynamic";
+import {StatementSyntax} from "../_statement_syntax";
+import {LoopGroupBy} from "../expressions/loop_group_by";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Loop implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const loopTarget = node.findDirectExpression(Expressions.LoopTarget);
+ 
+    let target = loopTarget?.findDirectExpression(Expressions.Target);
+    const targetType = target ? new Target().runSyntax(target, input) : undefined;
+    if (target === undefined) {
+      target = node.findDirectExpression(Expressions.FSTarget);
+    }
+ 
+    const write = loopTarget?.findDirectTokenByText("ASSIGNING") !== undefined;
+ 
+    const sources = node.findDirectExpressions(Expressions.Source);
+    let firstSource = node.findDirectExpression(Expressions.SimpleSource2);
+    if (firstSource === undefined) {
+      firstSource = sources[0];
+    }
+    let sourceType = firstSource ? new Source().runSyntax(firstSource, input, targetType, write) : undefined;
+    let rowType: AbstractType | undefined = undefined;
+ 
+    const concat = node.concatTokens().toUpperCase();
+    if (sourceType === undefined) {
+      const message = "No source type determined";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    } else if (sourceType instanceof UnknownType) {
+      const message = "Loop, not a table type, " + sourceType.getError();
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    } else if (sourceType instanceof TableType
+        && target === undefined
+        && sourceType.isWithHeader() === false
+        && node.getChildren().length === 4) {
+      const message = "Loop, no header line";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    } else if (!(sourceType instanceof TableType)
+        && !(sourceType instanceof AnyType)
+        && !(sourceType instanceof DataType)
+        && !(sourceType instanceof VoidType)
+        && concat.startsWith("LOOP AT GROUP ") === false) {
+      const message = "Loop, not a table type";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    } else if (loopTarget === undefined
+        && sourceType instanceof TableType
+        && sourceType.isWithHeader() === false) {
+      const message = "Loop, no header";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const targetConcat = loopTarget?.concatTokens().toUpperCase();
+    if (sourceType instanceof TableType) {
+      rowType = sourceType.getRowType();
+      sourceType = rowType;
+      if (targetConcat?.startsWith("REFERENCE INTO ")) {
+        sourceType = new DataReference(sourceType);
+      }
+    }
+ 
+    if (targetConcat
+        && targetConcat.startsWith("TRANSPORTING ")
+        && node.findDirectTokenByText("WHERE") === undefined) {
+      const message = "Loop, TRANSPORTING NO FIELDS only with WHERE";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const inline = target?.findDirectExpression(Expressions.InlineData);
+    if (inline) {
+      new InlineData().runSyntax(inline, input, sourceType);
+    }
+ 
+    for (const s of sources) {
+      if (s === firstSource) {
+        continue;
+      }
+      new Source().runSyntax(s, input);
+    }
+ 
+    const inlinefs = target?.findDirectExpression(Expressions.InlineFS);
+    if (inlinefs) {
+      new InlineFS().runSyntax(inlinefs, input, sourceType);
+    } else {
+      const fstarget = loopTarget?.findDirectExpression(Expressions.FSTarget);
+      if (fstarget) {
+        new FSTarget().runSyntax(fstarget, input, sourceType);
+      }
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {
+      new ComponentCond().runSyntax(t, input, rowType);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(t, input);
+    }
+ 
+    const group = node.findDirectExpression(Expressions.LoopGroupBy);
+    if (group) {
+      new LoopGroupBy().runSyntax(group, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/loop_at_screen.ts.html b/src/abap/5_syntax/statements/loop_at_screen.ts.html new file mode 100644 index 00000000000..56b8bf5f836 --- /dev/null +++ b/src/abap/5_syntax/statements/loop_at_screen.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/loop_at_screen.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements loop_at_screen.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 5/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +1x +1x +5x +5x +5x +1x +1x +5x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {InlineData} from "../expressions/inline_data";
+import {VoidType} from "../../types/basic";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class LoopAtScreen implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const target = node.findDirectExpression(Expressions.Target);
+    if (target) {
+      new Target().runSyntax(target, input);
+    }
+ 
+    const inline = target?.findDirectExpression(Expressions.InlineData);
+    if (inline) {
+      new InlineData().runSyntax(inline, input, new VoidType("SCREEN"));
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/message.ts.html b/src/abap/5_syntax/statements/message.ts.html new file mode 100644 index 00000000000..f6b911c6aea --- /dev/null +++ b/src/abap/5_syntax/statements/message.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/message.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements message.ts

+
+ +
+ 93.93% + Statements + 31/33 +
+ + +
+ 88.88% + Branches + 8/9 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 93.93% + Lines + 31/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +27x +27x +27x +27x +1x +27x +  +  +27x +27x +20x +20x +27x +1x +1x +27x +25x +25x +27x +27x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {InlineData} from "../expressions/inline_data";
+import {StringType} from "../../types/basic";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {MessageSource} from "../expressions/message_source";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Message implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const found = node.findExpressionAfterToken("INTO");
+    const inline = found?.findDirectExpression(Expressions.InlineData);
+ 
+    if (inline) {
+      new InlineData().runSyntax(inline, input, StringType.get());
+    } else if (found) {
+      new Target().runSyntax(found, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findDirectExpressions(Expressions.SimpleSource3)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findDirectExpressions(Expressions.MessageSource)) {
+      new MessageSource().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/method_implementation.ts.html b/src/abap/5_syntax/statements/method_implementation.ts.html new file mode 100644 index 00000000000..02160c3114c --- /dev/null +++ b/src/abap/5_syntax/statements/method_implementation.ts.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/method_implementation.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements method_implementation.ts

+
+ +
+ 96.22% + Statements + 51/53 +
+ + +
+ 84.61% + Branches + 11/13 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 96.22% + Lines + 51/53 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +531x +1x +1x +1x +1x +1x +1x +1x +1x +1x +463x +463x +463x +463x +463x +463x +463x +463x +2x +2x +2x +2x +461x +461x +463x +5x +5x +5x +5x +456x +456x +463x +354x +354x +354x +456x +456x +456x +456x +456x +456x +463x +38x +19x +19x +19x +38x +  +  +19x +19x +456x +1x
import {StatementNode} from "../../nodes";
+import * as Expressions from "../../2_statements/expressions";
+import {ObjectOriented} from "../_object_oriented";
+import {ScopeType} from "../_scope_type";
+import {ReferenceType} from "../_reference";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class MethodImplementation implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const helper = new ObjectOriented(input.scope);
+ 
+    const className = input.scope.getName();
+    const methodToken = node.findFirstExpression(Expressions.MethodName)!.getFirstToken();
+    const methodName = methodToken?.getStr();
+ 
+    const classDefinition = input.scope.findClassDefinition(className);
+    if (classDefinition === undefined) {
+      const message = "Class definition for \"" + className + "\" not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const {method: methodDefinition} = helper.searchMethodName(classDefinition, methodName);
+    if (methodDefinition === undefined) {
+      const message = "Method definition \"" + methodName + "\" not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const start = node.getFirstToken().getStart();
+    if (methodDefinition.isStatic() === false) {
+      input.scope.push(ScopeType.MethodInstance, methodName, start, input.filename);
+      input.scope.addList(classDefinition.getAttributes().getInstance());
+    }
+ 
+    input.scope.push(ScopeType.Method, methodName, start, input.filename);
+ 
+    input.scope.addReference(methodToken, methodDefinition, ReferenceType.MethodImplementationReference, input.filename);
+    input.scope.addList(methodDefinition.getParameters().getAll());
+ 
+    for (const i of helper.findInterfaces(classDefinition)) {
+      if (methodName.toUpperCase().startsWith(i.name.toUpperCase() + "~") === false) {
+        continue;
+      }
+      const idef = input.scope.findInterfaceDefinition(i.name);
+      if (idef === undefined) {
+        continue;
+      }
+      input.scope.addReference(methodToken, idef, ReferenceType.ObjectOrientedReference, input.filename);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/modify_database.ts.html b/src/abap/5_syntax/statements/modify_database.ts.html new file mode 100644 index 00000000000..3da3b8ede06 --- /dev/null +++ b/src/abap/5_syntax/statements/modify_database.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/modify_database.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements modify_database.ts

+
+ +
+ 94.59% + Statements + 35/37 +
+ + +
+ 85.71% + Branches + 6/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 94.59% + Lines + 35/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6x +1x +1x +6x +6x +6x +6x +5x +5x +3x +5x +2x +2x +6x +1x +1x +6x +6x +6x +  +  +6x +6x +6x +6x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Dynamic} from "../expressions/dynamic";
+import {DatabaseTable} from "../expressions/database_table";
+import {StatementSyntax} from "../_statement_syntax";
+import {Source} from "../expressions/source";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ModifyDatabase implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const d of node.findAllExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(d, input);
+    }
+ 
+    const dbtab = node.findFirstExpression(Expressions.DatabaseTable);
+    if (dbtab !== undefined) {
+      if (node.getChildren().length === 5) {
+        const found = input.scope.findVariable(dbtab.concatTokens());
+        if (found) {
+          input.scope.addReference(dbtab.getFirstToken(), found, ReferenceType.DataWriteReference, input.filename);
+        } else {
+          new DatabaseTable().runSyntax(dbtab, input);
+        }
+      } else {
+        new DatabaseTable().runSyntax(dbtab, input);
+      }
+    }
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/modify_entities.ts.html b/src/abap/5_syntax/statements/modify_entities.ts.html new file mode 100644 index 00000000000..7da2cb0cf5d --- /dev/null +++ b/src/abap/5_syntax/statements/modify_entities.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/modify_entities.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements modify_entities.ts

+
+ +
+ 44.44% + Statements + 12/27 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 44.44% + Lines + 12/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +271x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {InlineData} from "../expressions/inline_data";
+import {VoidType} from "../../types/basic";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ModifyEntities implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      const inline = t?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, new VoidType("ModifyEntities"));
+      } else {
+        new Target().runSyntax(t, input);
+      }
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/modify_internal.ts.html b/src/abap/5_syntax/statements/modify_internal.ts.html new file mode 100644 index 00000000000..c0062836da8 --- /dev/null +++ b/src/abap/5_syntax/statements/modify_internal.ts.html @@ -0,0 +1,265 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/modify_internal.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements modify_internal.ts

+
+ +
+ 78.68% + Statements + 48/61 +
+ + +
+ 66.66% + Branches + 10/15 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 78.68% + Lines + 48/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +611x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +5x +5x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +  +4x +3x +3x +3x +1x +1x +1x +1x +1x +4x +1x +1x +  +  +  +  +1x +  +  +  +  +4x +3x +3x +4x +  +  +3x +4x +  +  +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {Target} from "../expressions/target";
+import {FSTarget} from "../expressions/fstarget";
+import {ComponentCond} from "../expressions/component_cond";
+import {AnyType, StructureType, TableType, UnknownType, VoidType} from "../../types/basic";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class ModifyInternal implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    // there is only one
+    const target = node.findFirstExpression(Expressions.Target);
+    const targetExpression = target;
+    if (targetExpression) {
+      // it might be a dynamic target
+      const targetType = new Target().runSyntax(targetExpression, input);
+      if (targetType instanceof VoidType
+          || targetType instanceof AnyType
+          || targetType instanceof UnknownType) {
+        // ok
+      } else if (targetType instanceof TableType) {
+        if (node.findDirectTokenByText("TABLE")
+            && node.findDirectTokenByText("INDEX")
+            && targetType.isWithHeader() === false) {
+          // MODIFY TABLE INDEX
+          const message = "Table does not have header line";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      } else if (targetType instanceof StructureType) {
+        // it might originate from a TABLES statement
+        if (target.concatTokens().toUpperCase() !== targetType.getDDICName()) {
+          const message = "Not an internal table";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      } else {
+        const message = "Not an internal table";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    const fstarget = node.findDirectExpression(Expressions.FSTarget);
+    if (fstarget) {
+      new FSTarget().runSyntax(fstarget, input, undefined);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {
+      new ComponentCond().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/modify_screen.ts.html b/src/abap/5_syntax/statements/modify_screen.ts.html new file mode 100644 index 00000000000..efdb2124a49 --- /dev/null +++ b/src/abap/5_syntax/statements/modify_screen.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/modify_screen.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements modify_screen.ts

+
+ +
+ 60% + Statements + 9/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 60% + Lines + 9/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ModifyScreen implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/move.ts.html b/src/abap/5_syntax/statements/move.ts.html new file mode 100644 index 00000000000..768f73b768e --- /dev/null +++ b/src/abap/5_syntax/statements/move.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/move.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements move.ts

+
+ +
+ 85.18% + Statements + 46/54 +
+ + +
+ 68.75% + Branches + 11/16 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 85.18% + Lines + 46/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +869x +869x +869x +869x +869x +869x +869x +647x +647x +648x +647x +647x +1x +1x +647x +869x +869x +869x +869x +  +  +  +  +868x +869x +221x +221x +221x +868x +869x +5x +  +  +  +  +869x +11x +11x +11x +11x +869x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {InlineData} from "../expressions/inline_data";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {StatementSyntax} from "../_statement_syntax";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Move implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const targets = node.findDirectExpressions(Expressions.Target);
+    const firstTarget = targets[0];
+ 
+    const inline = firstTarget?.findDirectExpression(Expressions.InlineData);
+ 
+    let targetType: AbstractType | undefined = undefined;
+    if (inline === undefined) {
+      targetType = firstTarget ? new Target().runSyntax(firstTarget, input) : undefined;
+      for (const t of targets) {
+        if (t === firstTarget) {
+          continue;
+        }
+        new Target().runSyntax(t, input);
+      }
+    }
+ 
+    const source = node.findDirectExpression(Expressions.Source);
+    const sourceType = source ? new Source().runSyntax(source, input, targetType) : undefined;
+    if (sourceType === undefined) {
+      const message = "No source type determined";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    if (inline) {
+      new InlineData().runSyntax(inline, input, sourceType);
+      targetType = sourceType;
+    }
+ 
+    if (node.findDirectTokenByText("?=")) {
+      if (new TypeUtils(input.scope).isCastable(sourceType, targetType) === false) {
+        const message = "Incompatible types";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    } else if (new TypeUtils(input.scope).isAssignable(sourceType, targetType) === false) {
+      const message = "Incompatible types";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/move_corresponding.ts.html b/src/abap/5_syntax/statements/move_corresponding.ts.html new file mode 100644 index 00000000000..376aa55f2a9 --- /dev/null +++ b/src/abap/5_syntax/statements/move_corresponding.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/move_corresponding.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements move_corresponding.ts

+
+ +
+ 77.77% + Statements + 28/36 +
+ + +
+ 60% + Branches + 3/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 77.77% + Lines + 28/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +361x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9x +9x +9x +9x +  +  +  +  +9x +9x +9x +9x +9x +1x +1x +1x +1x +1x +  +  +  +  +1x +9x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {Version} from "../../../version";
+import {TableType} from "../../types/basic";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class MoveCorresponding implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    const s = node.findDirectExpression(Expressions.Source);
+    const t = node.findDirectExpression(Expressions.SimpleTarget);
+    if (s === undefined || t === undefined) {
+      const message = "MoveCorresponding, source or target not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const sourceType = new Source().runSyntax(s, input);
+    const targetType = new Target().runSyntax(t, input);
+ 
+    if (input.scope.getVersion() < Version.v740sp05 && input.scope.getVersion() !== Version.Cloud) {
+      if (sourceType instanceof TableType && sourceType.isWithHeader() === false) {
+        const message = "MOVE-CORRESPONDING with tables possible from v740sp05";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      } else if (targetType instanceof TableType && targetType.isWithHeader() === false) {
+        const message = "MOVE-CORRESPONDING with tables possible from v740sp05";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/multiply.ts.html b/src/abap/5_syntax/statements/multiply.ts.html new file mode 100644 index 00000000000..aa0a5fa58be --- /dev/null +++ b/src/abap/5_syntax/statements/multiply.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/multiply.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements multiply.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Multiply implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/open_dataset.ts.html b/src/abap/5_syntax/statements/open_dataset.ts.html new file mode 100644 index 00000000000..18f1600e47d --- /dev/null +++ b/src/abap/5_syntax/statements/open_dataset.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/open_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements open_dataset.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class OpenDataset implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/pack.ts.html b/src/abap/5_syntax/statements/pack.ts.html new file mode 100644 index 00000000000..13779c619a1 --- /dev/null +++ b/src/abap/5_syntax/statements/pack.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/pack.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements pack.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Pack implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/parameter.ts.html b/src/abap/5_syntax/statements/parameter.ts.html new file mode 100644 index 00000000000..07ab4737e46 --- /dev/null +++ b/src/abap/5_syntax/statements/parameter.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/parameter.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements parameter.ts

+
+ +
+ 88.57% + Statements + 31/35 +
+ + +
+ 77.77% + Branches + 7/9 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 88.57% + Lines + 31/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +6x +1x +1x +1x +1x +5x +6x +1x +1x +1x +1x +4x +4x +6x +4x +4x +4x +  +  +  +  +6x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {UnknownType} from "../../types/basic";
+import {BasicTypes} from "../basic_types";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Parameter implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const nameToken = node.findFirstExpression(Expressions.FieldSub)?.getFirstToken();
+ 
+    if (nameToken && nameToken.getStr().length > 8) {
+      const message = "Parameter name too long, " + nameToken.getStr();
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    if (node.findDirectTokenByText("RADIOBUTTON") && node.findDirectTokenByText("LENGTH")) {
+      const message = "RADIOBUTTON and LENGTH not possible together";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const bfound = new BasicTypes(input).parseType(node);
+    if (nameToken && bfound) {
+      input.scope.addIdentifier(new TypedIdentifier(nameToken, input.filename, bfound));
+      return;
+    }
+
+    if (nameToken) {
+      input.scope.addIdentifier(new TypedIdentifier(nameToken, input.filename, new UnknownType("Parameter, fallback")));
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/perform.ts.html b/src/abap/5_syntax/statements/perform.ts.html new file mode 100644 index 00000000000..f907534192a --- /dev/null +++ b/src/abap/5_syntax/statements/perform.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/perform.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements perform.ts

+
+ +
+ 84.61% + Statements + 55/65 +
+ + +
+ 69.23% + Branches + 9/13 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 84.61% + Lines + 55/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +651x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +16x +  +  +16x +16x +16x +16x +16x +2x +4x +4x +2x +16x +  +  +  +  +16x +1x +1x +1x +1x +16x +16x +16x +16x +16x +  +  +16x +16x +1x +1x +15x +15x +16x +  +  +15x +15x +15x +15x +16x +2x +2x +2x +2x +13x +13x +13x +13x +13x +1x
import * as Expressions from "../../2_statements/expressions";
+import * as Statements from "../../2_statements/statements";
+import {StatementNode} from "../../nodes";
+import {ReferenceType} from "../_reference";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {Target} from "../expressions/target";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class Perform implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    if (!(node.get() instanceof Statements.Perform)) {
+      throw new AssertError("checkPerform unexpected node type");
+    }
+ 
+    ////////////////////////////
+    // check parameters are defined
+ 
+    for (const c of node.findDirectExpressions(Expressions.PerformChanging)) {
+      for (const s of c.findDirectExpressions(Expressions.Target)) {
+        new Target().runSyntax(s, input);
+      }
+    }
+    for (const t of node.findDirectExpressions(Expressions.PerformTables)) {
+      for (const s of t.findDirectExpressions(Expressions.Source)) {
+        new Source().runSyntax(s, input);
+      }
+    }
+    for (const u of node.findDirectExpressions(Expressions.PerformUsing)) {
+      for (const s of u.findDirectExpressions(Expressions.Source)) {
+        new Source().runSyntax(s, input);
+      }
+    }
+ 
+    ////////////////////////////
+    // find FORM definition
+ 
+    if (node.findFirstExpression(Expressions.IncludeName)) {
+      return; // in external program, not checked, todo
+    }
+ 
+    if (node.findFirstExpression(Expressions.Dynamic)) {
+      return; // todo, maybe some parts can be checked
+    }
+ 
+    const expr = node.findFirstExpression(Expressions.FormName);
+    if (expr === undefined) {
+      return; // it might be a dynamic call
+    }
+ 
+    const name = expr.concatTokens();
+ 
+    const found = input.scope.findFormDefinition(name);
+    if (found === undefined) {
+      const message = "FORM definition \"" + name + "\" not found";
+      input.issues.push(syntaxIssue(input, expr.getFirstToken(), message));
+      return;
+    }
+ 
+    input.scope.addReference(expr.getFirstToken(), found, ReferenceType.FormReference, input.filename);
+ 
+    // todo, also check parameters match
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/raise.ts.html b/src/abap/5_syntax/statements/raise.ts.html new file mode 100644 index 00000000000..0d696f509c1 --- /dev/null +++ b/src/abap/5_syntax/statements/raise.ts.html @@ -0,0 +1,382 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/raise.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements raise.ts

+
+ +
+ 98% + Statements + 98/100 +
+ + +
+ 94.33% + Branches + 50/53 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 98% + Lines + 98/100 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +1001x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +53x +53x +53x +53x +53x +53x +53x +53x +53x +41x +41x +17x +17x +17x +17x +41x +18x +18x +18x +24x +6x +6x +6x +6x +35x +41x +17x +17x +41x +47x +47x +53x +12x +12x +4x +12x +1x +1x +8x +7x +7x +7x +7x +12x +40x +53x +1x +1x +40x +40x +40x +53x +2x +2x +40x +53x +1x +1x +40x +53x +11x +11x +53x +  +  +40x +53x +4x +4x +40x +53x +53x +53x +38x +38x +2x +2x +38x +53x +4x +4x +4x +53x +53x +1x
import * as Expressions from "../../2_statements/expressions";
+import {ExpressionNode, StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {IReferenceExtras, ReferenceType} from "../_reference";
+import {ObjectReferenceType, VoidType} from "../../types/basic";
+import {StatementSyntax} from "../_statement_syntax";
+import {MessageSource} from "../expressions/message_source";
+import {RaiseWith} from "../expressions/raise_with";
+import {ObjectOriented} from "../_object_oriented";
+import {IMethodDefinition} from "../../types/_method_definition";
+import {MethodParameters} from "../expressions/method_parameters";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Raise implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+// todo
+ 
+    const helper = new ObjectOriented(input.scope);
+    let method: IMethodDefinition | VoidType | undefined;
+ 
+    const classTok = node.findDirectExpression(Expressions.ClassName)?.getFirstToken();
+    const className = classTok?.getStr();
+    if (classTok && className) {
+      const found = input.scope.existsObject(className);
+      if (found?.id) {
+        input.scope.addReference(classTok, found.id, ReferenceType.ObjectOrientedReference, input.filename);
+ 
+        const def = input.scope.findObjectDefinition(className);
+        method = helper.searchMethodName(def, "CONSTRUCTOR")?.method;
+      } else if (input.scope.getDDIC().inErrorNamespace(className) === false) {
+        const extra: IReferenceExtras = {ooName: className, ooType: "Void"};
+        input.scope.addReference(classTok, undefined, ReferenceType.ObjectOrientedVoidReference, input.filename, extra);
+        method = new VoidType(className);
+      } else {
+        const message = "RAISE, unknown class " + className;
+        input.issues.push(syntaxIssue(input, classTok, message));
+        return;
+      }
+ 
+      if (method === undefined) {
+        method = new VoidType(className);
+      }
+    }
+ 
+    const c = node.findExpressionAfterToken("EXCEPTION");
+    if (c instanceof ExpressionNode && (c.get() instanceof Expressions.SimpleSource2 || c.get() instanceof Expressions.Source)) {
+      const type = new Source().runSyntax(c, input);
+      if (type instanceof VoidType) {
+        method = type;
+      } else if (type instanceof ObjectReferenceType) {
+        const def = input.scope.findObjectDefinition(type.getIdentifierName());
+        method = helper.searchMethodName(def, "CONSTRUCTOR")?.method;
+      } else if (type !== undefined) {
+        const message = "RAISE EXCEPTION, must be object reference, got " + type.constructor.name;
+        input.issues.push(syntaxIssue(input, c.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    if (method === undefined) {
+      method = new VoidType("Exception");
+    }
+ 
+    // check parameters vs constructor
+    const param = node.findDirectExpression(Expressions.ParameterListS);
+    if (param) {
+      new MethodParameters().checkExporting(param, input, method, true);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.RaiseWith)) {
+      new RaiseWith().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.MessageSource)) {
+      new MessageSource().runSyntax(s, input);
+    }
+ 
+    const id = node.findExpressionAfterToken("ID")?.concatTokens();
+    let number = node.findDirectExpression(Expressions.MessageNumber)?.concatTokens();
+    if (number === undefined) {
+      const num = node.findExpressionAfterToken("NUMBER")?.concatTokens();
+      if (num?.startsWith("'")) {
+        number = num.substring(1, num.length - 1).toUpperCase();
+      }
+    }
+    if (id?.startsWith("'") && number) {
+      const messageClass = id.substring(1, id.length - 1).toUpperCase();
+      input.scope.getMSAGReferences().addUsing(input.filename, node.getFirstToken(), messageClass, number);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/raise_event.ts.html b/src/abap/5_syntax/statements/raise_event.ts.html new file mode 100644 index 00000000000..8937d0fa478 --- /dev/null +++ b/src/abap/5_syntax/statements/raise_event.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/raise_event.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements raise_event.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 75% + Branches + 3/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +2x +2x +2x +2x +2x +2x +3x +3x +1x +1x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {ReferenceType} from "../_reference";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class RaiseEvent implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+// todo: only possible in classes
+ 
+    const f = node.findDirectExpression(Expressions.EventName);
+    if (f?.concatTokens().includes("~")) {
+      const name = f.concatTokens().split("~")[0];
+      const idef = input.scope.findInterfaceDefinition(name);
+      if (idef) {
+        input.scope.addReference(f.getFirstToken(), idef, ReferenceType.ObjectOrientedReference, input.filename);
+      }
+    }
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/ranges.ts.html b/src/abap/5_syntax/statements/ranges.ts.html new file mode 100644 index 00000000000..a6ba5e86782 --- /dev/null +++ b/src/abap/5_syntax/statements/ranges.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/ranges.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements ranges.ts

+
+ +
+ 93.75% + Statements + 30/32 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 93.75% + Lines + 30/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +  +  +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {StructureType, TableType, CharacterType, TableKeyType} from "../../types/basic";
+import {BasicTypes} from "../basic_types";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class Ranges implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput) {
+    const nameToken = node.findFirstExpression(Expressions.SimpleName)?.getFirstToken();
+ 
+    const typeExpression = node.findFirstExpression(Expressions.FieldSub);
+    if (typeExpression === undefined) {
+      throw new AssertError("Ranges, unexpected node");
+    }
+ 
+    const found = new BasicTypes(input).parseType(typeExpression);
+    if (found && nameToken) {
+      const structure = new StructureType([
+        {name: "sign", type: new CharacterType(1)},
+        {name: "option", type: new CharacterType(2)},
+        {name: "low", type: found},
+        {name: "high", type: found},
+      ]);
+      const type = new TableType(structure, {withHeader: true, keyType: TableKeyType.default});
+      const id = new TypedIdentifier(nameToken, input.filename, type);
+      input.scope.addIdentifier(id);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/read_entities.ts.html b/src/abap/5_syntax/statements/read_entities.ts.html new file mode 100644 index 00000000000..da3428d6e63 --- /dev/null +++ b/src/abap/5_syntax/statements/read_entities.ts.html @@ -0,0 +1,163 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/read_entities.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements read_entities.ts

+
+ +
+ 92.59% + Statements + 25/27 +
+ + +
+ 50% + Branches + 2/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 92.59% + Lines + 25/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +271x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +  +  +2x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {InlineData} from "../expressions/inline_data";
+import {VoidType} from "../../types/basic";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ReadEntities implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      const inline = t?.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, new VoidType("ReadEntities"));
+      } else {
+        new Target().runSyntax(t, input);
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/read_report.ts.html b/src/abap/5_syntax/statements/read_report.ts.html new file mode 100644 index 00000000000..d86bcf4e727 --- /dev/null +++ b/src/abap/5_syntax/statements/read_report.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/read_report.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements read_report.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ReadReport implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/read_table.ts.html b/src/abap/5_syntax/statements/read_table.ts.html new file mode 100644 index 00000000000..209eceb6fe7 --- /dev/null +++ b/src/abap/5_syntax/statements/read_table.ts.html @@ -0,0 +1,493 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/read_table.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements read_table.ts

+
+ +
+ 89.05% + Statements + 122/137 +
+ + +
+ 78.26% + Branches + 36/46 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 89.05% + Lines + 122/137 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +1371x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +78x +78x +78x +78x +78x +1x +1x +78x +78x +78x +  +  +  +78x +1x +1x +1x +1x +77x +77x +78x +70x +70x +77x +77x +78x +49x +49x +77x +77x +78x +26x +26x +1x +1x +1x +1x +26x +76x +76x +78x +1x +1x +  +  +  +  +1x +76x +76x +78x +28x +27x +27x +1x +1x +1x +1x +1x +1x +1x +1x +28x +75x +75x +78x +74x +2x +2x +74x +74x +74x +74x +74x +10x +74x +18x +64x +16x +16x +2x +2x +2x +2x +16x +74x +73x +78x +1x +1x +1x +1x +1x +1x +1x +72x +72x +72x +78x +78x +78x +1x +  +  +  +  +1x +1x +1x +  +  +  +1x +1x +1x +1x +1x +1x +  +78x +78x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {VoidType, TableType, IntegerType, DataReference, AnyType, UnknownType, StructureType, ObjectReferenceType, StringType} from "../../types/basic";
+import {Source} from "../expressions/source";
+import {InlineData} from "../expressions/inline_data";
+import {Target} from "../expressions/target";
+import {FSTarget} from "../expressions/fstarget";
+import {ComponentCompareSimple} from "../expressions/component_compare_simple";
+import {StatementSyntax} from "../_statement_syntax";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class ReadTable implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const concat = node.concatTokens().toUpperCase();
+    const sources = node.findDirectExpressions(Expressions.Source);
+ 
+    let firstSource = node.findDirectExpression(Expressions.SimpleSource2);
+    if (firstSource === undefined) {
+      firstSource = sources[0];
+    }
+    const sourceType = firstSource ? new Source().runSyntax(firstSource, input) : undefined;
+ 
+    if (sourceType === undefined) {
+      const message = "No source type determined, read table";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    } else if (!(sourceType instanceof TableType) && !(sourceType instanceof VoidType)) {
+      const message = "Read table, not a table type";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    let rowType: AbstractType = sourceType;
+    if (rowType instanceof TableType) {
+      rowType = rowType.getRowType();
+    }
+ 
+    const components = node.findDirectExpression(Expressions.ComponentCompareSimple);
+    if (components !== undefined) {
+      new ComponentCompareSimple().runSyntax(components, input, rowType);
+    }
+ 
+    const indexSource = node.findExpressionAfterToken("INDEX");
+    if (indexSource) {
+      const indexType = new Source().runSyntax(indexSource, input);
+      if (new TypeUtils(input.scope).isAssignable(indexType, IntegerType.get()) === false) {
+        const message = "READ TABLE, INDEX must be simple";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    const fromSource = node.findExpressionAfterToken("FROM");
+    if (fromSource) {
+      const fromType = new Source().runSyntax(fromSource, input);
+      if (new TypeUtils(input.scope).isAssignable(fromType, rowType) === false) {
+        const message = "READ TABLE, FROM must be compatible";
+        input.issues.push(syntaxIssue(input, fromSource.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    const afterKey = node.findExpressionAfterToken("KEY");
+    for (const s of sources) {
+      if (s === firstSource || s === indexSource || s === fromSource) {
+        continue;
+      }
+      const type = new Source().runSyntax(s, input);
+      if (s === afterKey) {
+        if (type instanceof StringType || type instanceof TableType || type instanceof ObjectReferenceType) {
+          const message = "Key cannot be string or table or reference";
+          input.issues.push(syntaxIssue(input, s.getFirstToken(), message));
+          return;
+        }
+      }
+    }
+ 
+    const target = node.findDirectExpression(Expressions.ReadTableTarget);
+    if (target) {
+      if (concat.includes(" REFERENCE INTO ")) {
+        rowType = new DataReference(rowType);
+      }
+ 
+      const inline = target.findFirstExpression(Expressions.InlineData);
+      const fst = target.findDirectExpression(Expressions.FSTarget);
+      const t = target.findFirstExpression(Expressions.Target);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, rowType);
+      } else if (fst) {
+        new FSTarget().runSyntax(fst, input, rowType);
+      } else if (t) {
+        const targetType = new Target().runSyntax(t, input);
+        if (new TypeUtils(input.scope).isAssignable(rowType, targetType) === false) {
+          const message = "Incompatible types";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      }
+    }
+ 
+    if (target === undefined && concat.includes(" TRANSPORTING NO FIELDS ") === false) {
+      // if sourceType is void, assume its with header
+      if (sourceType instanceof TableType && sourceType.isWithHeader() === false) {
+        const message = "READ TABLE, define INTO or TRANSPORTING NO FIELDS";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    const transporting = node.findDirectExpression(Expressions.TransportingFields);
+    if (transporting
+        && !(rowType instanceof VoidType)
+        && !(rowType instanceof UnknownType)
+        && !(rowType instanceof AnyType)) {
+      if (!(rowType instanceof StructureType)) {
+        const message = "READ TABLE, source not structured";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      for (const t of transporting?.findDirectExpressions(Expressions.FieldSub) || []) {
+        const field = t.concatTokens();
+        if (field.includes("-")) {
+          // todo
+          continue;
+        }
+        if (rowType.getComponentByName(field) === undefined) {
+          const message = "READ TABLE, field " + field + " not found in source";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/read_textpool.ts.html b/src/abap/5_syntax/statements/read_textpool.ts.html new file mode 100644 index 00000000000..3476f7c4e0a --- /dev/null +++ b/src/abap/5_syntax/statements/read_textpool.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/read_textpool.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements read_textpool.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {Target} from "../expressions/target";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ReadTextpool implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.SimpleTarget)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/receive.ts.html b/src/abap/5_syntax/statements/receive.ts.html new file mode 100644 index 00000000000..bca80a84f0a --- /dev/null +++ b/src/abap/5_syntax/statements/receive.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/receive.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements receive.ts

+
+ +
+ 45.45% + Statements + 10/22 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 45.45% + Lines + 10/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Receive implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    // todo, lots of work here, similar to call_function.ts
+
+    // just recurse
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const t of node.findAllExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/replace.ts.html b/src/abap/5_syntax/statements/replace.ts.html new file mode 100644 index 00000000000..9d727a9d819 --- /dev/null +++ b/src/abap/5_syntax/statements/replace.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/replace.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements replace.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Replace implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/scan.ts.html b/src/abap/5_syntax/statements/scan.ts.html new file mode 100644 index 00000000000..430221d0788 --- /dev/null +++ b/src/abap/5_syntax/statements/scan.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/scan.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements scan.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Scan implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/search.ts.html b/src/abap/5_syntax/statements/search.ts.html new file mode 100644 index 00000000000..08e7578a1eb --- /dev/null +++ b/src/abap/5_syntax/statements/search.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/search.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements search.ts

+
+ +
+ 60% + Statements + 9/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 60% + Lines + 9/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Search implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/select.ts.html b/src/abap/5_syntax/statements/select.ts.html new file mode 100644 index 00000000000..ce62e6f48ff --- /dev/null +++ b/src/abap/5_syntax/statements/select.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/select.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements select.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +1x +1x +103x +103x +103x +104x +104x +104x +104x +103x +103x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Select as SelectExpression} from "../expressions/select";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Select implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    const selects = node.findDirectExpressions(Expressions.Select);
+    for (let i = 0; i < selects.length; i++) {
+      const last = i === selects.length - 1;
+      const s = selects[i];
+      new SelectExpression().runSyntax(s, input, last === false);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/select_loop.ts.html b/src/abap/5_syntax/statements/select_loop.ts.html new file mode 100644 index 00000000000..246607e8df3 --- /dev/null +++ b/src/abap/5_syntax/statements/select_loop.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/select_loop.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements select_loop.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +16x +16x +16x +16x +16x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {SelectLoop as SelectLoopExpression} from "../expressions/select_loop";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SelectLoop implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const s = node.findDirectExpression(Expressions.SelectLoop);
+    if (s) {
+      new SelectLoopExpression().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/selection_screen.ts.html b/src/abap/5_syntax/statements/selection_screen.ts.html new file mode 100644 index 00000000000..20991551eb9 --- /dev/null +++ b/src/abap/5_syntax/statements/selection_screen.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/selection_screen.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements selection_screen.ts

+
+ +
+ 100% + Statements + 33/33 +
+ + +
+ 100% + Branches + 7/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 33/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +1x +1x +1x +17x +17x +17x +7x +7x +10x +10x +10x +10x +17x +3x +3x +3x +3x +3x +3x +3x +17x +2x +7x +5x +5x +17x +1x + 
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {IdentifierMeta, TypedIdentifier} from "../../types/_typed_identifier";
+import {CharacterType, StructureType} from "../../types/basic";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SelectionScreen implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput) {
+ 
+    const field = node.findFirstExpression(Expressions.InlineField);
+    if (field === undefined) {
+      return;
+    }
+ 
+    const name = field.getFirstToken();
+ 
+    const concat = node.concatTokens().toUpperCase();
+    if (concat.includes("BEGIN OF TABBED BLOCK")) {
+      const type = new StructureType([
+        {name: "PROG", type: new CharacterType(40)},
+        {name: "DYNNR", type: new CharacterType(4)},
+        {name: "ACTIVETAB", type: new CharacterType(132)},
+      ]);
+ 
+      input.scope.addIdentifier(new TypedIdentifier(name, input.filename, type, [IdentifierMeta.SelectionScreenTab]));
+    } else if (concat.startsWith("SELECTION-SCREEN TAB")) {
+      input.scope.addIdentifier(new TypedIdentifier(name, input.filename, new CharacterType(83), [IdentifierMeta.SelectionScreenTab]));
+    } else {
+      input.scope.addIdentifier(new TypedIdentifier(name, input.filename, new CharacterType(83)));
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/selectoption.ts.html b/src/abap/5_syntax/statements/selectoption.ts.html new file mode 100644 index 00000000000..504e60b9bb9 --- /dev/null +++ b/src/abap/5_syntax/statements/selectoption.ts.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/selectoption.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements selectoption.ts

+
+ +
+ 82.45% + Statements + 47/57 +
+ + +
+ 42.85% + Branches + 3/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 82.45% + Lines + 47/57 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +571x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +  +  +  +  +5x +5x +1x +1x +5x +5x +5x +5x +5x +1x +1x +1x +1x +1x +1x +1x +  +1x +1x +1x +1x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +5x +  +  +  +  +  +5x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {UnknownType, TableType, StructureType, CharacterType, VoidType, TableKeyType} from "../../types/basic";
+import {BasicTypes} from "../basic_types";
+import {Dynamic} from "../expressions/dynamic";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class SelectOption implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const nameToken = node.findFirstExpression(Expressions.FieldSub)?.getFirstToken();
+ 
+    if (nameToken && nameToken.getStr().length > 8) {
+      const message = "Select-option name too long, " + nameToken.getStr();
+      input.issues.push(syntaxIssue(input, nameToken, message));
+      return;
+    }
+ 
+    for(const d of node.findDirectExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(d, input);
+    }
+ 
+    const nameExpression = node.findFirstExpression(Expressions.FieldChain);
+    let found = new BasicTypes(input).resolveLikeName(nameExpression);
+    if (found && nameToken) {
+      if (found instanceof StructureType) {
+        let length = 0;
+        for (const c of found.getComponents()) {
+          if (c.type instanceof CharacterType) {
+            length += c.type.getLength();
+          }
+        }
+        if (length === 0) {
+          found = new VoidType("Selectoption, fallback");
+        } else {
+          found = new CharacterType(length);
+        }
+      }
+ 
+      const stru = new StructureType([
+        {name: "SIGN", type: new CharacterType(1)},
+        {name: "OPTION", type: new CharacterType(2)},
+        {name: "LOW", type: found},
+        {name: "HIGH", type: found},
+      ]);
+      input.scope.addIdentifier(
+        new TypedIdentifier(nameToken, input.filename, new TableType(stru, {withHeader: true, keyType: TableKeyType.default})));
+      return;
+    }
+
+    if (nameToken) {
+      input.scope.addIdentifier(
+        new TypedIdentifier(nameToken, input.filename, new UnknownType("Select option, fallback")));
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/set_bit.ts.html b/src/abap/5_syntax/statements/set_bit.ts.html new file mode 100644 index 00000000000..a6a9a3aee89 --- /dev/null +++ b/src/abap/5_syntax/statements/set_bit.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/set_bit.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements set_bit.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +3x +3x +2x +2x +2x +2x +1x +1x +1x +1x +2x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {Target} from "../expressions/target";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class SetBit implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      const typ = new Target().runSyntax(t, input);
+      if (typ && new TypeUtils(input.scope).isHexLike(typ) === false) {
+        const message = "Input must be byte-like";
+        input.issues.push(syntaxIssue(input, t.getFirstToken(), message));
+        return;
+      }
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/set_handler.ts.html b/src/abap/5_syntax/statements/set_handler.ts.html new file mode 100644 index 00000000000..60ee50e542c --- /dev/null +++ b/src/abap/5_syntax/statements/set_handler.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/set_handler.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements set_handler.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {MethodSource} from "../expressions/method_source";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SetHandler implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.MethodSource)) {
+      new MethodSource().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/set_locale.ts.html b/src/abap/5_syntax/statements/set_locale.ts.html new file mode 100644 index 00000000000..e8fa961eaa6 --- /dev/null +++ b/src/abap/5_syntax/statements/set_locale.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/set_locale.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements set_locale.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SetLocale implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/set_parameter.ts.html b/src/abap/5_syntax/statements/set_parameter.ts.html new file mode 100644 index 00000000000..5dd424aa00c --- /dev/null +++ b/src/abap/5_syntax/statements/set_parameter.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/set_parameter.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements set_parameter.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SetParameter implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/set_pf_status.ts.html b/src/abap/5_syntax/statements/set_pf_status.ts.html new file mode 100644 index 00000000000..1178e8549b0 --- /dev/null +++ b/src/abap/5_syntax/statements/set_pf_status.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/set_pf_status.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements set_pf_status.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SetPFStatus implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/set_titlebar.ts.html b/src/abap/5_syntax/statements/set_titlebar.ts.html new file mode 100644 index 00000000000..ee087fb029d --- /dev/null +++ b/src/abap/5_syntax/statements/set_titlebar.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/set_titlebar.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements set_titlebar.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SetTitlebar implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/shift.ts.html b/src/abap/5_syntax/statements/shift.ts.html new file mode 100644 index 00000000000..b8d4446bd2a --- /dev/null +++ b/src/abap/5_syntax/statements/shift.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/shift.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements shift.ts

+
+ +
+ 79.48% + Statements + 31/39 +
+ + +
+ 60% + Branches + 3/5 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 79.48% + Lines + 31/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +391x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +  +  +  +  +4x +4x +4x +2x +1x +1x +1x +1x +2x +2x +  +  +  +  +2x +4x +4x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {Target} from "../expressions/target";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Shift implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    const target = node.findDirectExpression(Expressions.Target);
+    if (target === undefined) {
+      const message = "Shift, Target not found";
+      input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+      return;
+    }
+ 
+    const targetType = new Target().runSyntax(target, input);
+    if (node.concatTokens().toUpperCase().includes(" IN BYTE MODE")) {
+      if (new TypeUtils(input.scope).isHexLike(targetType) === false) {
+        const message = "Shift, Target not hex like";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    } else {
+      if (new TypeUtils(input.scope).isCharLike(targetType) === false) {
+        const message = "Shift, Target not char like";
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/sort.ts.html b/src/abap/5_syntax/statements/sort.ts.html new file mode 100644 index 00000000000..d08b5c5b9e8 --- /dev/null +++ b/src/abap/5_syntax/statements/sort.ts.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/sort.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements sort.ts

+
+ +
+ 84.48% + Statements + 49/58 +
+ + +
+ 66.66% + Branches + 14/21 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 84.48% + Lines + 49/58 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +581x +1x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +1x +1x +5x +5x +5x +5x +5x +4x +1x +1x +1x +1x +3x +3x +4x +4x +2x +3x +  +  +3x +3x +1x +3x +  +  +  +2x +1x +1x +1x +1x +3x +1x +5x +1x +1x +1x +  +  +  +  +5x +5x +5x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Target} from "../expressions/target";
+import {Dynamic} from "../expressions/dynamic";
+import {StatementSyntax} from "../_statement_syntax";
+import {AnyType, StructureType, TableAccessType, TableType, UnknownType, VoidType} from "../../types/basic";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Sort implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(s, input);
+    }
+ 
+    const tnode = node.findDirectExpression(Expressions.Target);
+    if (tnode) {
+      const ttype = new Target().runSyntax(tnode, input);
+      if (ttype instanceof TableType) {
+        if (ttype.getOptions()?.primaryKey?.type === TableAccessType.sorted) {
+          const message = `Sorted table, already sorted`;
+          input.issues.push(syntaxIssue(input, tnode.getFirstToken(), message));
+          return;
+        }
+        const rowType = ttype.getRowType();
+        if (!(rowType instanceof VoidType)
+            && !(rowType instanceof UnknownType)
+            && !(rowType instanceof AnyType)) {
+          for (const component of node.findAllExpressions(Expressions.ComponentChain)) {
+            if (component.getChildren().length > 1) {
+              continue;
+            }
+            const cname = component.concatTokens().toUpperCase();
+            if (cname === "TABLE_LINE") {
+              continue;
+            } else if (!(rowType instanceof StructureType)) {
+              const message = "SORT, table row is not structured";
+              input.issues.push(syntaxIssue(input, tnode.getFirstToken(), message));
+              return;
+            } else if (rowType.getComponentByName(cname) === undefined) {
+              const message = `Field ${cname} does not exist in table row structure`;
+              input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+              return;
+            }
+          }
+        }
+      } else if (ttype !== undefined
+          && !(ttype instanceof VoidType)
+          && !(ttype instanceof UnknownType)
+          && !(ttype instanceof AnyType)) {
+        const message = "SORT, must be a internal table";
+        input.issues.push(syntaxIssue(input, tnode.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/split.ts.html b/src/abap/5_syntax/statements/split.ts.html new file mode 100644 index 00000000000..5511083a193 --- /dev/null +++ b/src/abap/5_syntax/statements/split.ts.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/split.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements split.ts

+
+ +
+ 91.66% + Statements + 44/48 +
+ + +
+ 83.33% + Branches + 10/12 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 91.66% + Lines + 44/48 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +481x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +2x +7x +5x +5x +5x +5x +5x +  +  +  +  +5x +3x +3x +5x +5x +1x +1x +1x +1x +5x +7x +6x +7x +12x +12x +6x +6x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TableType, StringType, VoidType, UnknownType, TableKeyType} from "../../types/basic";
+import {InlineData} from "../expressions/inline_data";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {TypeUtils} from "../_type_utils";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Split implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    const intoTable = node.findTokenSequencePosition("INTO", "TABLE") !== undefined;
+    const type = intoTable ? new TableType(StringType.get(), {withHeader: false, keyType: TableKeyType.default}) : StringType.get();
+ 
+    for (const target of node.findAllExpressions(Expressions.Target)) {
+      const inline = target.findDirectExpression(Expressions.InlineData);
+      if (inline) {
+        new InlineData().runSyntax(inline, input, type);
+      } else {
+        let targetType = new Target().runSyntax(target, input);
+        if (intoTable) {
+          if (!(targetType instanceof TableType)
+              && !(targetType instanceof UnknownType)
+              && !(targetType instanceof VoidType)) {
+            const message = "Into must be table typed";
+            input.issues.push(syntaxIssue(input, target.getFirstToken(), message));
+            return;
+          }
+          if (targetType instanceof TableType) {
+            targetType = targetType.getRowType();
+          }
+        }
+        if (new TypeUtils(input.scope).isCharLikeStrict(targetType) === false) {
+          const message = "Incompatible, target not character like";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return;
+        }
+      }
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/static.ts.html b/src/abap/5_syntax/statements/static.ts.html new file mode 100644 index 00000000000..a33b619ac90 --- /dev/null +++ b/src/abap/5_syntax/statements/static.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/static.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements static.ts

+
+ +
+ 58.06% + Statements + 18/31 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 58.06% + Lines + 18/31 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {BasicTypes} from "../basic_types";
+import {UnknownType} from "../../types/basic";
+import {TypeTable} from "../expressions/type_table";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Static {
+  public runSyntax(node: StatementNode, input: SyntaxInput): TypedIdentifier | undefined {
+    const tt = node.findFirstExpression(Expressions.TypeTable);
+    if (tt) {
+      const ttfound = new TypeTable().runSyntax(node, input);
+      if (ttfound) {
+        return ttfound;
+      }
+    }
+ 
+    const found = new BasicTypes(input).simpleType(node);
+    if (found) {
+      return found;
+    }
+
+    const fallback = node.findFirstExpression(Expressions.NamespaceSimpleName);
+    if (fallback) {
+      return new TypedIdentifier(fallback.getFirstToken(), input.filename, new UnknownType("Static, fallback"));
+    }
+
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/submit.ts.html b/src/abap/5_syntax/statements/submit.ts.html new file mode 100644 index 00000000000..a243b9b538d --- /dev/null +++ b/src/abap/5_syntax/statements/submit.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/submit.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements submit.ts

+
+ +
+ 84% + Statements + 21/25 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 84% + Lines + 21/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {Dynamic} from "../expressions/dynamic";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Submit implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/subtract.ts.html b/src/abap/5_syntax/statements/subtract.ts.html new file mode 100644 index 00000000000..23e85e83f31 --- /dev/null +++ b/src/abap/5_syntax/statements/subtract.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/subtract.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements subtract.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Subtract implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/subtract_corresponding.ts.html b/src/abap/5_syntax/statements/subtract_corresponding.ts.html new file mode 100644 index 00000000000..6ec7fff1cc2 --- /dev/null +++ b/src/abap/5_syntax/statements/subtract_corresponding.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/subtract_corresponding.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements subtract_corresponding.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SubtractCorresponding implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/syntax_check.ts.html b/src/abap/5_syntax/statements/syntax_check.ts.html new file mode 100644 index 00000000000..d253f22178d --- /dev/null +++ b/src/abap/5_syntax/statements/syntax_check.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/syntax_check.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements syntax_check.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SyntaxCheck implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/system_call.ts.html b/src/abap/5_syntax/statements/system_call.ts.html new file mode 100644 index 00000000000..62bea392aa9 --- /dev/null +++ b/src/abap/5_syntax/statements/system_call.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/system_call.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements system_call.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class SystemCall implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/tables.ts.html b/src/abap/5_syntax/statements/tables.ts.html new file mode 100644 index 00000000000..36afd54d32c --- /dev/null +++ b/src/abap/5_syntax/statements/tables.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/tables.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements tables.ts

+
+ +
+ 84.61% + Statements + 33/39 +
+ + +
+ 55.55% + Branches + 5/9 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 84.61% + Lines + 33/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +391x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +  +  +8x +8x +8x +1x +1x +8x +8x +8x +8x +8x +8x +8x +8x +1x +1x +8x +7x +7x +8x +8x +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {StatementSyntax} from "../_statement_syntax";
+import {UnknownType} from "../../types/basic/unknown_type";
+import {ScopeType} from "../_scope_type";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Tables implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const nameToken = node.findFirstExpression(Expressions.Field)?.getFirstToken();
+    if (nameToken === undefined) {
+      return undefined;
+    }
+ 
+    let name = nameToken.getStr();
+    if (name.startsWith("*")) {
+      name = name.substr(1);
+    }
+ 
+    // lookupTableOrView will also give Unknown and Void
+    const found = input.scope.getDDIC()?.lookupTableOrView(name);
+    if (found) {
+      input.scope.getDDICReferences().addUsing(input.scope.getParentObj(),
+                                               {object: found.object, filename: input.filename, token: nameToken});
+ 
+      if (input.scope.getType() === ScopeType.Form || input.scope.getType() === ScopeType.FunctionModule) {
+        // hoist TABLES definitions to global scope
+        input.scope.addNamedIdentifierToParent(nameToken.getStr(), new TypedIdentifier(nameToken, input.filename, found.type));
+      } else {
+        input.scope.addIdentifier(new TypedIdentifier(nameToken, input.filename, found.type));
+      }
+      return;
+    }
+
+    // this should never happen,
+    input.scope.addIdentifier(new TypedIdentifier(nameToken, input.filename, new UnknownType("Tables, fallback")));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/transfer.ts.html b/src/abap/5_syntax/statements/transfer.ts.html new file mode 100644 index 00000000000..7c4de560fc9 --- /dev/null +++ b/src/abap/5_syntax/statements/transfer.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/transfer.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements transfer.ts

+
+ +
+ 89.47% + Statements + 17/19 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 89.47% + Lines + 17/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x +  +  +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Transfer implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const source of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(source, input);
+    }
+ 
+    const target = node.findDirectExpression(Expressions.Target);
+    if (target) {
+      new Target().runSyntax(target, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/translate.ts.html b/src/abap/5_syntax/statements/translate.ts.html new file mode 100644 index 00000000000..39577e6d844 --- /dev/null +++ b/src/abap/5_syntax/statements/translate.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/translate.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements translate.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {Target} from "../expressions/target";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Translate implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/truncate_dataset.ts.html b/src/abap/5_syntax/statements/truncate_dataset.ts.html new file mode 100644 index 00000000000..8a7b80e64c4 --- /dev/null +++ b/src/abap/5_syntax/statements/truncate_dataset.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/truncate_dataset.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements truncate_dataset.ts

+
+ +
+ 60% + Statements + 9/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 60% + Lines + 9/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class TruncateDataset implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/type.ts.html b/src/abap/5_syntax/statements/type.ts.html new file mode 100644 index 00000000000..c42c0e53249 --- /dev/null +++ b/src/abap/5_syntax/statements/type.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/type.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements type.ts

+
+ +
+ 82.22% + Statements + 37/45 +
+ + +
+ 76.92% + Branches + 10/13 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 82.22% + Lines + 37/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +451x +1x +1x +1x +1x +1x +1x +1x +1x +1x +972x +972x +144x +144x +828x +828x +828x +828x +828x +1x +1x +1x +1x +827x +828x +6x +6x +6x +6x +6x +6x +6x +6x +821x +821x +821x +  +  +  +  +  +  +  +  +1x
import {StatementNode} from "../../nodes";
+import {BasicTypes} from "../basic_types";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {PackedType, UnknownType, VoidType} from "../../types/basic";
+import * as Expressions from "../../2_statements/expressions";
+import {TypeTable} from "../expressions/type_table";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Type {
+  public runSyntax(node: StatementNode, input: SyntaxInput, qualifiedNamePrefix?: string): TypedIdentifier | undefined {
+    const tt = node.findFirstExpression(Expressions.TypeTable);
+    if (tt) {
+      return new TypeTable().runSyntax(node, input, qualifiedNamePrefix);
+    }
+ 
+    const found = new BasicTypes(input).simpleType(node, qualifiedNamePrefix);
+    if (found) {
+      if (found?.getType().isGeneric() === true
+          && found?.getType().containsVoid() === false) {
+        const message = "TYPES definition cannot be generic, " + found.getName();
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return new TypedIdentifier(found.getToken(), input.filename, new VoidType(CheckSyntaxKey));
+      }
+ 
+      if (input.scope.isGlobalOO() && found.getType() instanceof PackedType) {
+        const concat = node.concatTokens().toUpperCase();
+        if ((concat.includes(" TYPE P ") || concat.includes(" TYPE P."))
+            && concat.includes(" DECIMALS ") === false) {
+          const message = "Specify DECIMALS in OO context for packed";
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new TypedIdentifier(found.getToken(), input.filename, new VoidType(CheckSyntaxKey));
+        }
+      }
+ 
+      return found;
+    }
+
+    const fallback = node.findFirstExpression(Expressions.NamespaceSimpleName);
+    if (fallback) {
+      return new TypedIdentifier(fallback.getFirstToken(), input.filename, new UnknownType("Type, fallback"));
+    }
+
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/unassign.ts.html b/src/abap/5_syntax/statements/unassign.ts.html new file mode 100644 index 00000000000..7245960b96d --- /dev/null +++ b/src/abap/5_syntax/statements/unassign.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/unassign.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements unassign.ts

+
+ +
+ 90.47% + Statements + 19/21 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 90.47% + Lines + 19/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {StatementSyntax} from "../_statement_syntax";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Unassign implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const target = node?.findDirectExpression(Expressions.TargetFieldSymbol);
+    if (target) {
+      const token = target.getFirstToken();
+      const found = input.scope.findVariable(token.getStr());
+      if (found === undefined) {
+        const message = `"${token.getStr()}" not found, Unassign`;
+        input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+        return;
+      }
+      input.scope.addReference(token, found, ReferenceType.DataWriteReference, input.filename);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/unpack.ts.html b/src/abap/5_syntax/statements/unpack.ts.html new file mode 100644 index 00000000000..18083d96b7e --- /dev/null +++ b/src/abap/5_syntax/statements/unpack.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/unpack.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements unpack.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 20/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Unpack implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/update_database.ts.html b/src/abap/5_syntax/statements/update_database.ts.html new file mode 100644 index 00000000000..a9e297d5f32 --- /dev/null +++ b/src/abap/5_syntax/statements/update_database.ts.html @@ -0,0 +1,238 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/update_database.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements update_database.ts

+
+ +
+ 92.3% + Statements + 48/52 +
+ + +
+ 62.5% + Branches + 5/8 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 92.3% + Lines + 48/52 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +521x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x +2x +2x +2x +2x +1x +3x +3x +3x +  +  +3x +5x +5x +3x +3x +  +  +3x +3x +1x +1x +3x +3x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {ScopeType} from "../_scope_type";
+import {StructureType} from "../../types/basic";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {Identifier} from "../../1_lexer/tokens/identifier";
+import {DatabaseTable} from "../expressions/database_table";
+import {Dynamic} from "../expressions/dynamic";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class UpdateDatabase implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    const dbtab = node.findFirstExpression(Expressions.DatabaseTable);
+    if (dbtab !== undefined) {
+      new DatabaseTable().runSyntax(dbtab, input);
+    }
+ 
+    const tableName = node.findDirectExpression(Expressions.DatabaseTable);
+    const tokenName = tableName?.getFirstToken();
+    if (tableName && tokenName) {
+      // todo, this also finds structures, it should only find transparent tables
+      const found = input.scope.getDDIC().lookupTable(tokenName.getStr());
+      if (found instanceof StructureType) {
+        input.scope.push(ScopeType.OpenSQL, "UPDATE", tokenName.getStart(), input.filename);
+        for (const field of found.getComponents()) {
+          const fieldToken = new Identifier(node.getFirstToken().getStart(), field.name);
+          const id = new TypedIdentifier(fieldToken, input.filename, field.type);
+          input.scope.addIdentifier(id);
+        }
+      }
+    }
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+    for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const d of node.findAllExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(d, input);
+    }
+ 
+    if (input.scope.getType() === ScopeType.OpenSQL) {
+      input.scope.pop(node.getLastToken().getEnd());
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/wait.ts.html b/src/abap/5_syntax/statements/wait.ts.html new file mode 100644 index 00000000000..015372ce2d3 --- /dev/null +++ b/src/abap/5_syntax/statements/wait.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/wait.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements wait.ts

+
+ +
+ 90% + Statements + 18/20 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 90% + Lines + 18/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {Cond} from "../expressions/cond";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Wait implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const t of node.findDirectExpressions(Expressions.Cond)) {
+      new Cond().runSyntax(t, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/when.ts.html b/src/abap/5_syntax/statements/when.ts.html new file mode 100644 index 00000000000..52970247352 --- /dev/null +++ b/src/abap/5_syntax/statements/when.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/when.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements when.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +11x +11x +11x +11x +11x +11x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class When implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+    for (const s of node.findAllExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/when_type.ts.html b/src/abap/5_syntax/statements/when_type.ts.html new file mode 100644 index 00000000000..d967455be09 --- /dev/null +++ b/src/abap/5_syntax/statements/when_type.ts.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/when_type.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements when_type.ts

+
+ +
+ 92.1% + Statements + 35/38 +
+ + +
+ 64.28% + Branches + 9/14 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 92.1% + Lines + 35/38 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +381x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +  +  +6x +6x +6x +6x +6x +  +6x +1x +1x +1x +6x +5x +5x +5x +6x +6x +6x +3x +6x +2x +2x +6x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {ObjectReferenceType, VoidType} from "../../types/basic";
+import {InlineData} from "../expressions/inline_data";
+import {AbstractType} from "../../types/basic/_abstract_type";
+import {StatementSyntax} from "../_statement_syntax";
+import {Target} from "../expressions/target";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class WhenType implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    const nameToken = node.findFirstExpression(Expressions.ClassName)?.getFirstToken();
+    if (nameToken === undefined) {
+      return undefined;
+    }
+ 
+    let type: AbstractType | undefined = undefined;
+    const className = nameToken.getStr();
+    const found = input.scope.findObjectDefinition(className);
+    if (found === undefined && input.scope.getDDIC().inErrorNamespace(className) === false) {
+      type = new VoidType(className);
+    } else if (found === undefined) {
+      const message = "Class " + className + " not found";
+      input.issues.push(syntaxIssue(input, nameToken, message));
+      return;
+    } else {
+      type = new ObjectReferenceType(found);
+    }
+ 
+    const target = node?.findDirectExpression(Expressions.Target);
+    const inline = target?.findDirectExpression(Expressions.InlineData);
+    if (inline) {
+      new InlineData().runSyntax(inline, input, type);
+    } else if (target) {
+      new Target().runSyntax(target, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/while.ts.html b/src/abap/5_syntax/statements/while.ts.html new file mode 100644 index 00000000000..b6868878c6e --- /dev/null +++ b/src/abap/5_syntax/statements/while.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/while.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements while.ts

+
+ +
+ 82.6% + Statements + 19/23 +
+ + +
+ 33.33% + Branches + 1/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 82.6% + Lines + 19/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +1x +16x +16x +16x +16x +16x +  +  +16x +16x +  +  +16x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Cond} from "../expressions/cond";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class While implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+    for (const s of node.findDirectExpressions(Expressions.Cond)) {
+      new Cond().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      new Source().runSyntax(s, input);
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Target)) {
+      new Target().runSyntax(s, input);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/with.ts.html b/src/abap/5_syntax/statements/with.ts.html new file mode 100644 index 00000000000..51309130e97 --- /dev/null +++ b/src/abap/5_syntax/statements/with.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/with.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements with.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Select} from "../expressions/select";
+import {SelectLoop} from "../expressions/select_loop";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class With implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findAllExpressions(Expressions.Select)) {
+      new Select().runSyntax(s, input);
+    }
+
+    for (const s of node.findAllExpressions(Expressions.SelectLoop)) {
+      new SelectLoop().runSyntax(s, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/with_loop.ts.html b/src/abap/5_syntax/statements/with_loop.ts.html new file mode 100644 index 00000000000..810d88a5443 --- /dev/null +++ b/src/abap/5_syntax/statements/with_loop.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/with_loop.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements with_loop.ts

+
+ +
+ 50% + Statements + 10/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 10/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Select} from "../expressions/select";
+import {SelectLoop} from "../expressions/select_loop";
+import {StatementSyntax} from "../_statement_syntax";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class WithLoop implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+
+    for (const s of node.findAllExpressions(Expressions.Select)) {
+      new Select().runSyntax(s, input);
+    }
+
+    for (const s of node.findAllExpressions(Expressions.SelectLoop)) {
+      new SelectLoop().runSyntax(s, input);
+    }
+
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/statements/write.ts.html b/src/abap/5_syntax/statements/write.ts.html new file mode 100644 index 00000000000..077c8b41025 --- /dev/null +++ b/src/abap/5_syntax/statements/write.ts.html @@ -0,0 +1,223 @@ + + + + + + Code coverage report for src/abap/5_syntax/statements/write.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/statements write.ts

+
+ +
+ 95.74% + Statements + 45/47 +
+ + +
+ 92.3% + Branches + 12/13 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 95.74% + Lines + 45/47 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +471x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +350x +350x +350x +350x +350x +46x +46x +350x +350x +350x +350x +350x +350x +3x +3x +3x +3x +350x +347x +350x +1x +1x +347x +350x +  +  +347x +347x +350x +1x +1x +350x +350x +1x
import * as Expressions from "../../2_statements/expressions";
+import {StatementNode} from "../../nodes";
+import {Source} from "../expressions/source";
+import {Target} from "../expressions/target";
+import {StatementSyntax} from "../_statement_syntax";
+import {Dynamic} from "../expressions/dynamic";
+import {TypeUtils} from "../_type_utils";
+import {FieldChain} from "../expressions/field_chain";
+import {ReferenceType} from "../_reference";
+import {SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Write implements StatementSyntax {
+  public runSyntax(node: StatementNode, input: SyntaxInput): void {
+ 
+// todo, more
+ 
+    let second = node.getChildren()[1];
+    if (second.get() instanceof Expressions.WriteOffsetLength) {
+      second = node.getChildren()[2];
+    }
+ 
+    for (const s of node.findDirectExpressions(Expressions.Source)) {
+      const type = new Source().runSyntax(s, input);
+      if (s === second
+          && new TypeUtils(input.scope).isCharLike(type) === false
+          && new TypeUtils(input.scope).isHexLike(type) === false) {
+        const message = "Source not character like";
+        input.issues.push(syntaxIssue(input, s.getFirstToken(), message));
+        return;
+      }
+    }
+ 
+    for (const s of node.findDirectExpression(Expressions.WriteOffsetLength)?.findDirectExpressions(Expressions.SimpleFieldChain2) || []) {
+      new FieldChain().runSyntax(s, input, ReferenceType.DataReadReference);
+    }
+ 
+    for (const s of node.findAllExpressions(Expressions.Dynamic)) {
+      new Dynamic().runSyntax(s, input);
+    }
+ 
+    const target = node.findDirectExpression(Expressions.Target);
+    if (target) {
+      new Target().runSyntax(target, input);
+    }
+ 
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/structures/class_data.ts.html b/src/abap/5_syntax/structures/class_data.ts.html new file mode 100644 index 00000000000..9319d0f24af --- /dev/null +++ b/src/abap/5_syntax/structures/class_data.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/abap/5_syntax/structures/class_data.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/structures class_data.ts

+
+ +
+ 100% + Statements + 30/30 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 30/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +301x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +4x +12x +12x +4x +4x +4x +4x +4x +4x +12x +12x +4x +4x +4x +1x
import * as Expressions from "../../2_statements/expressions";
+import * as Statements from "../../2_statements/statements";
+import {StructureNode, StatementNode} from "../../nodes";
+import {IdentifierMeta, TypedIdentifier} from "../../types/_typed_identifier";
+import {IStructureComponent} from "../../types/basic";
+import * as Basic from "../../types/basic";
+import {ClassData as ClassDataSyntax} from "../statements/class_data";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class ClassData {
+  public runSyntax(node: StructureNode, input: SyntaxInput): TypedIdentifier | undefined {
+    const name = node.findFirstExpression(Expressions.NamespaceSimpleName)!.getFirstToken();
+    const values: {[index: string]: string} = {};
+ 
+    const components: IStructureComponent[] = [];
+    for (const c of node.getChildren()) {
+      const ctyp = c.get();
+      if (c instanceof StatementNode && ctyp instanceof Statements.ClassData) {
+        const found = new ClassDataSyntax().runSyntax(c, input);
+        if (found) {
+          components.push({name: found.getName(), type: found.getType()});
+          values[found.getName()] = found.getValue() as string;
+        }
+      }
+      // todo, nested structures and INCLUDES
+    }
+ 
+    return new TypedIdentifier(name, input.filename, new Basic.StructureType(components), [IdentifierMeta.Static], values);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/structures/constants.ts.html b/src/abap/5_syntax/structures/constants.ts.html new file mode 100644 index 00000000000..922d7ea95ca --- /dev/null +++ b/src/abap/5_syntax/structures/constants.ts.html @@ -0,0 +1,229 @@ + + + + + + Code coverage report for src/abap/5_syntax/structures/constants.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/structures constants.ts

+
+ +
+ 91.83% + Statements + 45/49 +
+ + +
+ 70% + Branches + 7/10 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 91.83% + Lines + 45/49 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +491x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +19x +19x +19x +19x +  +  +19x +19x +19x +19x +66x +66x +27x +27x +27x +27x +27x +66x +1x +1x +1x +1x +1x +1x +66x +19x +19x +  +  +19x +19x +19x +19x +19x +19x +1x
import * as Expressions from "../../2_statements/expressions";
+import * as Statements from "../../2_statements/statements";
+import * as Structures from "../../3_structures/structures";
+import {StructureNode, StatementNode} from "../../nodes";
+import {TypedIdentifier, IdentifierMeta} from "../../types/_typed_identifier";
+import {IStructureComponent} from "../../types/basic";
+import * as Basic from "../../types/basic";
+import {Constant} from "../statements/constant";
+import {SyntaxInput} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class Constants {
+  public runSyntax(node: StructureNode, input: SyntaxInput):
+  {type: TypedIdentifier | undefined, values: {[index: string]: string} } {
+ 
+    const name = node.findFirstExpression(Expressions.DefinitionName)?.getFirstToken();
+    if (name === undefined) {
+      throw new AssertError("Constants, structure, unexpected node");
+    }
+ 
+    const components: IStructureComponent[] = [];
+    const values: any = {};
+    for (const c of node.getChildren()) {
+      const ctyp = c.get();
+      if (c instanceof StatementNode && ctyp instanceof Statements.Constant) {
+        const found = new Constant().runSyntax(c, input);
+        if (found) {
+          components.push({name: found.getName(), type: found.getType()});
+          values[found.getName()] = found.getValue();
+        }
+      } else if (c instanceof StructureNode && ctyp instanceof Structures.Constants) {
+        const {type: found, values: val} = new Constants().runSyntax(c, input);
+        if (found) {
+          components.push({name: found.getName(), type: found.getType()});
+          values[found.getName()] = val;
+        }
+      }
+    }
+ 
+    if (components.length === 0) {
+      return {type: undefined, values};
+    }
+ 
+    const type = new TypedIdentifier(name, input.filename,
+                                     new Basic.StructureType(components),
+                                     [IdentifierMeta.ReadOnly, IdentifierMeta.Static]);
+    return {type, values};
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/structures/data.ts.html b/src/abap/5_syntax/structures/data.ts.html new file mode 100644 index 00000000000..5fb76ad308d --- /dev/null +++ b/src/abap/5_syntax/structures/data.ts.html @@ -0,0 +1,349 @@ + + + + + + Code coverage report for src/abap/5_syntax/structures/data.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/structures data.ts

+
+ +
+ 96.62% + Statements + 86/89 +
+ + +
+ 88.23% + Branches + 30/34 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 96.62% + Lines + 86/89 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +891x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +75x +75x +75x +75x +75x +75x +247x +247x +92x +92x +92x +92x +2x +2x +92x +247x +1x +1x +1x +1x +155x +75x +14x +14x +154x +8x +8x +8x +8x +8x +8x +5x +5x +8x +8x +8x +3x +3x +  +3x +3x +3x +8x +5x +5x +8x +3x +2x +2x +3x +1x +1x +3x +8x +  +  +8x +1x +1x +1x +1x +4x +4x +4x +4x +247x +71x +75x +12x +12x +75x +59x +59x +59x +75x +1x
import * as Expressions from "../../2_statements/expressions";
+import * as Statements from "../../2_statements/statements";
+import * as Structures from "../../3_structures/structures";
+import {StatementNode, StructureNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import * as Basic from "../../types/basic";
+import {IStructureComponent} from "../../types/basic";
+import {Data as DataSyntax} from "../statements/data";
+import {ReferenceType} from "../_reference";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+export class Data {
+  public runSyntax(node: StructureNode, input: SyntaxInput): TypedIdentifier | undefined {
+    const name = node.findFirstExpression(Expressions.DefinitionName)!.getFirstToken();
+    let table: boolean = false;
+    const values: {[index: string]: string} = {};
+ 
+    const components: IStructureComponent[] = [];
+    for (const c of node.getChildren()) {
+      const ctyp = c.get();
+      if (c instanceof StatementNode && ctyp instanceof Statements.Data) {
+        const found = new DataSyntax().runSyntax(c, input);
+        if (found) {
+          components.push({name: found.getName(), type: found.getType()});
+          if (found.getValue() !== undefined) {
+            values[found.getName()] = found.getValue() as string;
+          }
+        }
+      } else if (c instanceof StructureNode && ctyp instanceof Structures.Data) {
+        const found = new Data().runSyntax(c, input);
+        if (found) {
+          components.push({name: found.getName(), type: found.getType()});
+        }
+      } else if (c instanceof StatementNode && ctyp instanceof Statements.DataBegin) {
+        if (c.findDirectTokenByText("OCCURS")) {
+          table = true;
+        }
+      } else if (c instanceof StatementNode && ctyp instanceof Statements.IncludeType) {
+        // INCLUDES
+        const typeToken = c.findFirstExpression(Expressions.TypeName)?.getFirstToken();
+        const typeName = typeToken?.getStr();
+ 
+        let foundId = input.scope.findType(typeName);
+        if (foundId === undefined) {
+          foundId = input.scope.findVariable(typeName);
+        }
+ 
+        let found = foundId?.getType();
+        if (found === undefined) {
+          const f = input.scope.getDDIC().lookupTableOrView(typeName).type;
+          if (f instanceof TypedIdentifier) {
+            found = f.getType();
+          } else {
+            found = f;
+          }
+        } else {
+          input.scope.addReference(typeToken, foundId, ReferenceType.TypeReference, input.filename);
+        }
+        if (found instanceof Basic.VoidType) {
+          if (table === true) {
+            const ttyp = new Basic.TableType(found, {withHeader: true, keyType: Basic.TableKeyType.default});
+            return new TypedIdentifier(name, input.filename, ttyp);
+          } else {
+            return new TypedIdentifier(name, input.filename, found);
+          }
+        }
+        if (found instanceof Basic.UnknownType) {
+          return new TypedIdentifier(name, input.filename, new Basic.UnknownType("unknown type, " + typeName));
+        }
+        if (!(found instanceof Basic.StructureType)) {
+          const message = "not structured, " + typeName;
+          input.issues.push(syntaxIssue(input, typeToken!, message));
+          return new TypedIdentifier(name, input.filename, new Basic.VoidType(CheckSyntaxKey));
+        }
+        for (const c of found.getComponents()) {
+          components.push(c);
+        }
+      }
+    }
+ 
+    if (table === true) {
+      return new TypedIdentifier(name, input.filename, new Basic.TableType(
+        new Basic.StructureType(components), {withHeader: true, keyType: Basic.TableKeyType.default}));
+    } else {
+      const val = Object.keys(values).length > 0 ? values : undefined;
+      return new TypedIdentifier(name, input.filename, new Basic.StructureType(components), undefined, val);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/structures/index.html b/src/abap/5_syntax/structures/index.html new file mode 100644 index 00000000000..1e83dda24b6 --- /dev/null +++ b/src/abap/5_syntax/structures/index.html @@ -0,0 +1,191 @@ + + + + + + Code coverage report for src/abap/5_syntax/structures + + + + + + + + + +
+
+

All files src/abap/5_syntax/structures

+
+ +
+ 87.37% + Statements + 339/388 +
+ + +
+ 76.28% + Branches + 74/97 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 87.37% + Lines + 339/388 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
class_data.ts +
+
100%30/30100%3/3100%1/1100%30/30
constants.ts +
+
91.83%45/4970%7/10100%1/191.83%45/49
data.ts +
+
96.62%86/8988.23%30/34100%1/196.62%86/89
statics.ts +
+
57.33%43/7535.29%6/17100%1/157.33%43/75
type_enum.ts +
+
90.47%76/8476.47%13/17100%1/190.47%76/84
types.ts +
+
96.72%59/6193.75%15/16100%1/196.72%59/61
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/structures/statics.ts.html b/src/abap/5_syntax/structures/statics.ts.html new file mode 100644 index 00000000000..ed0d50572d0 --- /dev/null +++ b/src/abap/5_syntax/structures/statics.ts.html @@ -0,0 +1,307 @@ + + + + + + Code coverage report for src/abap/5_syntax/structures/statics.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/structures statics.ts

+
+ +
+ 57.33% + Statements + 43/75 +
+ + +
+ 35.29% + Branches + 6/17 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 57.33% + Lines + 43/75 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +751x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +  +  +  +  +3x +  +  +  +  +3x +1x +  +  +3x +1x +1x +1x +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +1x +  +  +1x +  +  +  +  +1x +171x +171x +1x +3x +1x +1x +  +  +1x +1x +1x +1x +1x
import * as Expressions from "../../2_statements/expressions";
+import * as Statements from "../../2_statements/statements";
+import * as Structures from "../../3_structures/structures";
+import {StatementNode, StructureNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import * as Basic from "../../types/basic";
+import {IStructureComponent} from "../../types/basic";
+import {Static} from "../statements/static";
+import {CheckSyntaxKey, SyntaxInput, syntaxIssue} from "../_syntax_input";
+ 
+// todo, this is much like DATA, refactor?
+export class Statics {
+  public runSyntax(node: StructureNode, input: SyntaxInput): TypedIdentifier | undefined {
+    const name = node.findFirstExpression(Expressions.DefinitionName)!.getFirstToken();
+    let table: boolean = false;
+ 
+    const components: IStructureComponent[] = [];
+    for (const c of node.getChildren()) {
+      const ctyp = c.get();
+      if (c instanceof StatementNode && ctyp instanceof Statements.Static) {
+        const found = new Static().runSyntax(c, input);
+        if (found) {
+          components.push({name: found.getName(), type: found.getType()});
+        }
+      } else if (c instanceof StructureNode && ctyp instanceof Structures.Statics) {
+        const found = new Statics().runSyntax(c, input);
+        if (found) {
+          components.push({name: found.getName(), type: found.getType()});
+        }
+      } else if (c instanceof StatementNode && ctyp instanceof Statements.StaticBegin) {
+        if (c.findDirectTokenByText("OCCURS")) {
+          table = true;
+        }
+      } else if (c instanceof StatementNode && ctyp instanceof Statements.IncludeType) {
+        // INCLUDES
+        const typeName = c.findFirstExpression(Expressions.TypeName)?.getFirstToken().getStr();
+        let found = input.scope.findType(typeName)?.getType();
+        if (found === undefined) {
+          const f = input.scope.getDDIC().lookupTableOrView(typeName).type;
+          if (f instanceof TypedIdentifier) {
+            found = f.getType();
+          } else {
+            found = f;
+          }
+        }
+        if (found instanceof Basic.VoidType) {
+          if (table === true) {
+            const ttyp = new Basic.TableType(found, {withHeader: true, keyType: Basic.TableKeyType.default});
+            return new TypedIdentifier(name, input.filename, ttyp);
+          } else {
+            return new TypedIdentifier(name, input.filename, found);
+          }
+        }
+        if (found instanceof Basic.UnknownType) {
+          return new TypedIdentifier(name, input.filename, new Basic.UnknownType("unknown type, " + typeName));
+        }
+        if (!(found instanceof Basic.StructureType)) {
+          const message = "not structured, " + typeName;
+          input.issues.push(syntaxIssue(input, node.getFirstToken(), message));
+          return new TypedIdentifier(name, input.filename, new Basic.VoidType(CheckSyntaxKey));
+        }
+        for (const c of found.getComponents()) {
+          components.push(c);
+        }
+      }
+    }
+ 
+    if (table === true) {
+      const ttyp = new Basic.TableType(new Basic.StructureType(components), {withHeader: true, keyType: Basic.TableKeyType.default});
+      return new TypedIdentifier(name, input.filename, ttyp);
+    } else {
+      return new TypedIdentifier(name, input.filename, new Basic.StructureType(components));
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/structures/type_enum.ts.html b/src/abap/5_syntax/structures/type_enum.ts.html new file mode 100644 index 00000000000..4229aeaff11 --- /dev/null +++ b/src/abap/5_syntax/structures/type_enum.ts.html @@ -0,0 +1,334 @@ + + + + + + Code coverage report for src/abap/5_syntax/structures/type_enum.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/structures type_enum.ts

+
+ +
+ 90.47% + Statements + 76/84 +
+ + +
+ 76.47% + Branches + 13/17 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 90.47% + Lines + 76/84 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +841x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +14x +14x +14x +14x +  +  +14x +14x +14x +  +  +14x +14x +14x +14x +  +  +14x +14x +14x +14x +14x +9x +9x +  +  +9x +9x +9x +9x +14x +14x +14x +14x +4x +4x +3x +3x +4x +14x +14x +14x +14x +14x +14x +5x +5x +14x +14x +14x +14x +14x +14x +14x +14x +6x +6x +13x +13x +13x +13x +13x +6x +6x +6x +6x +14x +14x +14x +1x
import * as Expressions from "../../2_statements/expressions";
+import * as Statements from "../../2_statements/statements";
+import * as Structures from "../../3_structures/structures";
+import {StructureNode} from "../../nodes";
+import {IntegerType, IStructureComponent, StructureType} from "../../types/basic";
+import {IdentifierMeta, TypedIdentifier} from "../../types/_typed_identifier";
+import {ReferenceType} from "../_reference";
+import {EnumType} from "../../types/basic/enum_type";
+import {ScopeType} from "../_scope_type";
+import {SyntaxInput} from "../_syntax_input";
+import {AssertError} from "../assert_error";
+ 
+export class TypeEnum {
+  public runSyntax(node: StructureNode, input: SyntaxInput): {values: TypedIdentifier[], types: TypedIdentifier[]} {
+    let values: TypedIdentifier[] = [];
+    const types: TypedIdentifier[] = [];
+ 
+    if (!(node.get() instanceof Structures.TypeEnum)) {
+      throw new AssertError("TypeEnum, unexpected type");
+    }
+ 
+    const begin = node.findDirectStatement(Statements.TypeEnumBegin);
+    if (begin === undefined) {
+      throw new AssertError("TypeEnum, unexpected type, begin");
+    }
+ 
+    for (const type of node.findDirectStatements(Statements.Type)) {
+      const expr = type.findFirstExpression(Expressions.NamespaceSimpleName);
+      if (expr === undefined) {
+        continue;
+      }
+      const token = expr.getFirstToken();
+      // integer is default if BASE TYPE is not specified
+      values.push(new TypedIdentifier(token, input.filename, IntegerType.get()));
+    }
+    for (const type of node.findDirectStatements(Statements.TypeEnum)) {
+      const expr = type.findFirstExpression(Expressions.NamespaceSimpleName);
+      if (expr === undefined) {
+        continue;
+      }
+      const token = expr.getFirstToken();
+      // integer is default if BASE TYPE is not specified
+      values.push(new TypedIdentifier(token, input.filename, IntegerType.get()));
+    }
+ 
+    const baseType = begin.findExpressionAfterToken("TYPE")?.getFirstToken();
+    const baseName = baseType?.getStr();
+    if (baseType && baseName) {
+      const found = input.scope.findType(baseName);
+      if (found) {
+        input.scope.addReference(baseType, found, ReferenceType.TypeReference, input.filename);
+      }
+    }
+ 
+    const name = begin.findFirstExpression(Expressions.NamespaceSimpleName);
+    if (name) {
+      let qualifiedName = name.concatTokens();
+      if (input.scope.getType() === ScopeType.ClassDefinition
+          || input.scope.getType() === ScopeType.Interface) {
+        qualifiedName = input.scope.getName() + "=>" + qualifiedName;
+      }
+      const etype = new EnumType({qualifiedName: qualifiedName});
+      const id = new TypedIdentifier(name.getFirstToken(), input.filename, etype, [IdentifierMeta.Enum]);
+      input.scope.addType(id);
+      types.push(id);
+    }
+ 
+    const stru = begin.findExpressionAfterToken("STRUCTURE");
+    if (stru) {
+      const components: IStructureComponent[] = [];
+      for (const r of values) {
+        components.push({
+          name: r.getName(),
+          type: r.getType(),
+        });
+      }
+      values = [];
+      const id = new TypedIdentifier(stru.getFirstToken(), input.filename, new StructureType(components), [IdentifierMeta.Enum]);
+      values.push(id);
+    }
+ 
+    return {values, types};
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/structures/types.ts.html b/src/abap/5_syntax/structures/types.ts.html new file mode 100644 index 00000000000..6603bfd288e --- /dev/null +++ b/src/abap/5_syntax/structures/types.ts.html @@ -0,0 +1,265 @@ + + + + + + Code coverage report for src/abap/5_syntax/structures/types.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax/structures types.ts

+
+ +
+ 96.72% + Statements + 59/61 +
+ + +
+ 93.75% + Branches + 15/16 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 96.72% + Lines + 59/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +611x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +366x +366x +366x +366x +366x +358x +358x +366x +366x +1428x +1428x +1420x +673x +673x +673x +673x +1420x +15x +15x +4x +15x +11x +11x +15x +1428x +8x +8x +8x +8x +8x +1428x +366x +366x +4x +366x +  +  +362x +362x +362x +366x +85x +85x +362x +362x +362x +1x
import * as Expressions from "../../2_statements/expressions";
+import * as Statements from "../../2_statements/statements";
+import * as Structures from "../../3_structures/structures";
+import {StructureNode, StatementNode} from "../../nodes";
+import {TypedIdentifier} from "../../types/_typed_identifier";
+import {IStructureComponent, VoidType} from "../../types/basic";
+import {IncludeType} from "../statements/include_type";
+import {Type} from "../statements/type";
+import * as Basic from "../../types/basic";
+import {ScopeType} from "../_scope_type";
+import {SyntaxInput} from "../_syntax_input";
+ 
+export class Types {
+  public runSyntax(node: StructureNode, input: SyntaxInput, qualifiedNamePrefix?: string): TypedIdentifier | undefined {
+    const name = node.findFirstExpression(Expressions.NamespaceSimpleName)!.getFirstToken();
+    const components: IStructureComponent[] = [];
+    let voidd: VoidType | undefined = undefined;
+ 
+    if (qualifiedNamePrefix === undefined) {
+      qualifiedNamePrefix = "";
+    }
+ 
+    for (const c of node.getChildren()) {
+      const ctyp = c.get();
+      if (c instanceof StatementNode) {
+        if (ctyp instanceof Statements.Type) {
+          const found = new Type().runSyntax(c, input, qualifiedNamePrefix + name.getStr() + "-");
+          if (found) {
+            components.push({name: found.getName(), type: found.getType()});
+          }
+        } else if (ctyp instanceof Statements.IncludeType) {
+          const found = new IncludeType().runSyntax(c, input);
+          if (found instanceof VoidType) {
+            voidd = found;
+          } else {
+            components.push(...found);
+          }
+        }
+      } else if (c instanceof StructureNode && ctyp instanceof Structures.Types) {
+        const found = new Types().runSyntax(c, input, qualifiedNamePrefix + name.getStr() + "-");
+        if (found) {
+          components.push({name: found.getName(), type: found.getType()});
+        }
+      }
+    }
+ 
+    if (voidd) {
+      return new TypedIdentifier(name, input.filename, voidd);
+    } else if (components.length === 0) { // todo, remove this check
+      return undefined;
+    }
+ 
+    let qualifiedName = qualifiedNamePrefix + name.getStr();
+    if (input.scope.getType() === ScopeType.ClassDefinition
+        || input.scope.getType() === ScopeType.Interface) {
+      qualifiedName = input.scope.getName() + "=>" + qualifiedName;
+    }
+ 
+    return new TypedIdentifier(name, input.filename, new Basic.StructureType(components, qualifiedName));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/5_syntax/syntax.ts.html b/src/abap/5_syntax/syntax.ts.html new file mode 100644 index 00000000000..c2c0d5ebf8f --- /dev/null +++ b/src/abap/5_syntax/syntax.ts.html @@ -0,0 +1,1609 @@ + + + + + + Code coverage report for src/abap/5_syntax/syntax.ts + + + + + + + + + +
+
+

All files / src/abap/5_syntax syntax.ts

+
+ +
+ 99.6% + Statements + 507/509 +
+ + +
+ 98.66% + Branches + 74/75 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 99.6% + Lines + 507/509 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +5091x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +119x +119x +  +  +119x +119x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6592x +6592x +6592x +6592x +6592x +6592x +6592x +6592x +6592x +6592x +6592x +1x +1x +6592x +4236x +4236x +2356x +2356x +2356x +2356x +2356x +6592x +5x +5x +5x +2351x +2351x +2351x +6592x +6752x +6752x +2351x +2351x +2351x +2351x +6752x +6592x +6592x +1x +1x +1x +1x +2351x +2351x +2351x +2351x +2030x +2030x +2036x +2036x +2036x +2030x +2030x +2030x +2029x +2029x +9x +9x +2029x +2029x +2351x +7x +7x +7x +7x +7x +2351x +2351x +2365x +2365x +2365x +17x +2365x +2348x +2348x +2365x +2334x +2334x +2334x +1x +1x +30x +30x +30x +1x +1x +17640x +43460x +43460x +43460x +43460x +43460x +8677x +8677x +1295x +1295x +43460x +7917x +7917x +43460x +30x +30x +30x +42135x +42135x +43460x +33x +33x +23x +23x +23x +23x +23x +33x +42135x +43460x +15269x +15269x +43460x +17640x +1x +1x +1x +1x +1x +8677x +8677x +8677x +8677x +8677x +8677x +8677x +8677x +8677x +8677x +765x +765x +8677x +187x +187x +7912x +274x +274x +7725x +10x +10x +7451x +68x +68x +7441x +1x +1x +7373x +9x +9x +9x +9x +7363x +7363x +1x +1x +7917x +7917x +7917x +7917x +7917x +7917x +7917x +7917x +7917x +7917x +7917x +145x +145x +7917x +48x +48x +7772x +1x +1x +7724x +1677x +1677x +1677x +6046x +6046x +7917x +4081x +4081x +4081x +1965x +7917x +7x +7x +7917x +1958x +1958x +1958x +945x +1958x +463x +456x +456x +463x +354x +354x +463x +7917x +1x +1x
import * as Statements from "../2_statements/statements";
+import * as Structures from "../3_structures/structures";
+import {Issue} from "../../issue";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {StatementNode, StructureNode} from "../nodes";
+import {IRegistry} from "../../_iregistry";
+import {ABAPObject} from "../../objects/_abap_object";
+import {CurrentScope} from "./_current_scope";
+import {ScopeType} from "./_scope_type";
+import {ObjectOriented} from "./_object_oriented";
+import {Procedural} from "./_procedural";
+import {FunctionGroup, Program, TypePool} from "../../objects";
+import {Position} from "../../position";
+import {Data as DataStructure} from "./structures/data";
+import {TypeEnum} from "./structures/type_enum";
+import {Types} from "./structures/types";
+import {Statics} from "./structures/statics";
+import {Constants} from "./structures/constants";
+import {ClassDefinition} from "../types/class_definition";
+import {InterfaceDefinition} from "../types/interface_definition";
+import {ISyntaxResult} from "./_spaghetti_scope";
+ 
+import {Perform} from "./statements/perform";
+import {Type} from "./statements/type";
+import {Constant} from "./statements/constant";
+import {Static} from "./statements/static";
+import {Search} from "./statements/search";
+import {Translate} from "./statements/translate";
+import {ModifyInternal} from "./statements/modify_internal";
+import {Data as DataStatement} from "./statements/data";
+import {Parameter} from "./statements/parameter";
+import {FieldSymbol} from "./statements/fieldsymbol";
+import {Tables} from "./statements/tables";
+import {SelectOption} from "./statements/selectoption";
+import {InterfaceDeferred} from "./statements/interface_deferred";
+import {ClassDeferred} from "./statements/class_deferred";
+import {Call} from "./statements/call";
+import {ClassImplementation} from "./statements/class_implementation";
+import {MethodImplementation} from "./statements/method_implementation";
+import {Move} from "./statements/move";
+import {MoveCorresponding} from "./statements/move_corresponding";
+import {Catch} from "./statements/catch";
+import {Loop} from "./statements/loop";
+import {ReadTable} from "./statements/read_table";
+import {Select} from "./statements/select";
+import {InsertInternal} from "./statements/insert_internal";
+import {Split} from "./statements/split";
+import {Assign} from "./statements/assign";
+import {Convert} from "./statements/convert";
+import {Describe} from "./statements/describe";
+import {ReadTextpool} from "./statements/read_textpool";
+import {Find} from "./statements/find";
+import {Message} from "./statements/message";
+import {GetTime} from "./statements/get_time";
+import {GetParameter} from "./statements/get_parameter";
+import {WhenType} from "./statements/when_type";
+import {If} from "./statements/if";
+import {ElseIf} from "./statements/else_if";
+import {Append} from "./statements/append";
+import {SelectionScreen} from "./statements/selection_screen";
+import {Ranges} from "./statements/ranges";
+import {Write} from "./statements/write";
+import {Case} from "./statements/case";
+import {CaseType} from "./statements/case_type";
+import {CreateObject} from "./statements/create_object";
+import {Do} from "./statements/do";
+import {Concatenate} from "./statements/concatenate";
+import {CallFunction} from "./statements/call_function";
+import {Clear} from "./statements/clear";
+import {Replace} from "./statements/replace";
+import {GetBit} from "./statements/get_bit";
+import {Raise} from "./statements/raise";
+import {DeleteInternal} from "./statements/delete_internal";
+import {Receive} from "./statements/receive";
+import {When} from "./statements/when";
+import {CreateData} from "./statements/create_data";
+import {CallTransformation} from "./statements/call_transformation";
+import {GetLocale} from "./statements/get_locale";
+import {SetLocale} from "./statements/set_locale";
+import {Sort} from "./statements/sort";
+import {ReadReport} from "./statements/read_report";
+import {AuthorityCheck} from "./statements/authority_check";
+import {InsertReport} from "./statements/insert_report";
+import {GetReference} from "./statements/get_reference";
+import {InsertDatabase} from "./statements/insert_database";
+import {DeleteDatabase} from "./statements/delete_database";
+import {ImportDynpro} from "./statements/import_dynpro";
+import {SyntaxCheck} from "./statements/syntax_check";
+import {Import} from "./statements/import";
+import {Export} from "./statements/export";
+import {Scan} from "./statements/scan";
+import {Submit} from "./statements/submit";
+import {OpenDataset} from "./statements/open_dataset";
+import {CloseDataset} from "./statements/close_dataset";
+import {GetRunTime} from "./statements/get_run_time";
+import {UpdateDatabase} from "./statements/update_database";
+import {Add} from "./statements/add";
+import {EditorCall} from "./statements/editor_call";
+import {Subtract} from "./statements/subtract";
+import {AddCorresponding} from "./statements/add_corresponding";
+import {SubtractCorresponding} from "./statements/subtract_corresponding";
+import {Multiply} from "./statements/multiply";
+import {Divide} from "./statements/divide";
+import {Condense} from "./statements/condense";
+import {Controls} from "./statements/controls";
+import {While} from "./statements/while";
+import {SelectLoop} from "./statements/select_loop";
+import {Check} from "./statements/check";
+import {LogPoint} from "./statements/log_point";
+import {Severity} from "../../severity";
+import {RaiseEvent} from "./statements/raise_event";
+import {Form} from "./statements/form";
+import {ABAPFile} from "../abap_file";
+import {Assert} from "./statements/assert";
+import {SetParameter} from "./statements/set_parameter";
+import {ClassLocalFriends} from "./statements/class_local_friends";
+import {GetBadi} from "./statements/get_badi";
+import {With} from "./statements/with";
+import {WithLoop} from "./statements/with_loop";
+import {SystemCall} from "./statements/system_call";
+import {Collect} from "./statements/collect";
+import {Transfer} from "./statements/transfer";
+import {ModifyDatabase} from "./statements/modify_database";
+import {TruncateDataset} from "./statements/truncate_dataset";
+import {CallBadi} from "./statements/call_badi";
+import {CallKernel} from "./statements/call_kernel";
+import {Pack} from "./statements/pack";
+import {Unpack} from "./statements/unpack";
+import {Format} from "./statements/format";
+import {SetPFStatus} from "./statements/set_pf_status";
+import {SetTitlebar} from "./statements/set_titlebar";
+import {StatementSyntax} from "./_statement_syntax";
+import {CallTransaction} from "./statements/call_transaction";
+import {SetHandler} from "./statements/set_handler";
+import {Wait} from "./statements/wait";
+import {DeleteReport} from "./statements/delete_report";
+import {Shift} from "./statements/shift";
+import {SetBit} from "./statements/set_bit";
+import {ModifyScreen} from "./statements/modify_screen";
+import {DeleteCluster} from "./statements/delete_cluster";
+import {Unassign} from "./statements/unassign";
+import {InsertTextpool} from "./statements/insert_textpool";
+import {GetCursor} from "./statements/get_cursor";
+import {LoopAtScreen} from "./statements/loop_at_screen";
+import {InsertFieldGroup} from "./statements/insert_field_group";
+import {ReadEntities} from "./statements/read_entities";
+import {ModifyEntities} from "./statements/modify_entities";
+import {CommitEntities} from "./statements/commit_entities";
+import {CheckSyntaxKey, SyntaxInput} from "./_syntax_input";
+import {AssertError} from "./assert_error";
+ 
+// -----------------------------------
+ 
+const map: {[name: string]: StatementSyntax} = {};
+function addToMap(handler: StatementSyntax) {
+  if (map[handler.constructor.name] !== undefined) {
+    throw new AssertError("syntax.ts duplicate statement syntax handler");
+  }
+  map[handler.constructor.name] = handler;
+}
+if (Object.keys(map).length === 0) {
+  addToMap(new InterfaceDeferred());
+  addToMap(new Perform());
+  addToMap(new ClassDeferred());
+  addToMap(new Call());
+  addToMap(new SetHandler());
+  addToMap(new ClassImplementation());
+  addToMap(new MethodImplementation());
+  addToMap(new Move());
+  addToMap(new GetBadi());
+  addToMap(new CallBadi());
+  addToMap(new GetCursor());
+  addToMap(new Replace());
+  addToMap(new TruncateDataset());
+  addToMap(new Assert());
+  addToMap(new Catch());
+  addToMap(new Loop());
+  addToMap(new LoopAtScreen());
+  addToMap(new SetPFStatus());
+  addToMap(new SetTitlebar());
+  addToMap(new Submit());
+  addToMap(new InsertTextpool());
+  addToMap(new ReadTable());
+  addToMap(new SyntaxCheck());
+  addToMap(new DeleteReport());
+  addToMap(new Import());
+  addToMap(new Collect());
+  addToMap(new Export());
+  addToMap(new Scan());
+  addToMap(new Transfer());
+  addToMap(new Split());
+  addToMap(new CallFunction());
+  addToMap(new DeleteInternal());
+  addToMap(new DeleteCluster());
+  addToMap(new Clear());
+  addToMap(new Receive());
+  addToMap(new GetBit());
+  addToMap(new ClassLocalFriends());
+  addToMap(new Select());
+  addToMap(new ModifyScreen());
+  addToMap(new InsertInternal());
+  addToMap(new Pack());
+  addToMap(new Unpack());
+  addToMap(new Assign());
+  addToMap(new SetLocale());
+  addToMap(new SetParameter());
+  addToMap(new Convert());
+  addToMap(new Controls());
+  addToMap(new When());
+  addToMap(new InsertDatabase());
+  addToMap(new DeleteDatabase());
+  addToMap(new UpdateDatabase());
+  addToMap(new Sort());
+  addToMap(new Wait());
+  addToMap(new Condense());
+  addToMap(new SetBit());
+  addToMap(new OpenDataset());
+  addToMap(new CloseDataset());
+  addToMap(new ReadReport());
+  addToMap(new Do());
+  addToMap(new Describe());
+  addToMap(new Find());
+  addToMap(new Message());
+  addToMap(new SystemCall());
+  addToMap(new InsertFieldGroup());
+  addToMap(new GetTime());
+  addToMap(new Unassign());
+  addToMap(new CaseType());
+  addToMap(new GetParameter());
+  addToMap(new Format());
+  addToMap(new WhenType());
+  addToMap(new If());
+  addToMap(new LogPoint());
+  addToMap(new While());
+  addToMap(new With());
+  addToMap(new WithLoop());
+  addToMap(new CallTransformation());
+  addToMap(new CallTransaction());
+  addToMap(new GetLocale());
+  addToMap(new GetReference());
+  addToMap(new ElseIf());
+  addToMap(new GetRunTime());
+  addToMap(new CreateObject());
+  addToMap(new ImportDynpro());
+  addToMap(new CreateData());
+  addToMap(new Case());
+  addToMap(new Shift());
+  addToMap(new Raise());
+  addToMap(new Concatenate());
+  addToMap(new Append());
+  addToMap(new SelectLoop());
+  addToMap(new Write());
+  addToMap(new MoveCorresponding());
+  addToMap(new AuthorityCheck());
+  addToMap(new InsertReport());
+  addToMap(new SelectionScreen());
+  addToMap(new Ranges());
+  addToMap(new Add());
+  addToMap(new RaiseEvent());
+  addToMap(new Subtract());
+  addToMap(new AddCorresponding());
+  addToMap(new SubtractCorresponding());
+  addToMap(new Multiply());
+  addToMap(new Divide());
+  addToMap(new Check());
+  addToMap(new ModifyDatabase());
+  addToMap(new Form());
+  addToMap(new SelectOption());
+  addToMap(new Tables());
+  addToMap(new Parameter());
+  addToMap(new FieldSymbol());
+  addToMap(new ReadEntities());
+  addToMap(new ModifyEntities());
+  addToMap(new CommitEntities());
+  addToMap(new CallKernel());
+  addToMap(new Search());
+  addToMap(new Translate());
+  addToMap(new ModifyInternal());
+  addToMap(new ReadTextpool());
+  addToMap(new EditorCall());
+}
+ 
+// -----------------------------------
+ 
+export class SyntaxLogic {
+  private currentFile: ABAPFile;
+  private issues: Issue[];
+ 
+  private readonly object: ABAPObject;
+  private readonly reg: IRegistry;
+ 
+  private readonly scope: CurrentScope;
+ 
+  private readonly helpers: {
+    oooc: ObjectOriented,
+    proc: Procedural,
+  };
+ 
+  public constructor(reg: IRegistry, object: ABAPObject) {
+    this.reg = reg;
+    this.issues = [];
+ 
+    this.object = object;
+    this.scope = CurrentScope.buildDefault(this.reg, object);
+ 
+    this.helpers = {
+      oooc: new ObjectOriented(this.scope),
+      proc: new Procedural(this.reg, this.scope),
+    };
+  }
+ 
+  public run(): ISyntaxResult {
+    if (this.object.syntaxResult !== undefined) {
+      return this.object.syntaxResult;
+    }
+ 
+    this.issues = [];
+    this.reg.getDDICReferences().clear(this.object);
+    this.reg.getMSAGReferences().clear(this.object);
+ 
+    if (this.object instanceof Program && this.object.isInclude()) {
+// todo, show some kind of error?
+      return {issues: [], spaghetti: this.scope.pop(new Position(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER))};
+    }
+ 
+    this.traverseObject();
+ 
+    for (;;) {
+      const spaghetti = this.scope.pop(new Position(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER)); // pop built-in scopes
+      if (spaghetti.getTop().getIdentifier().stype === ScopeType.BuiltIn) {
+        const result: ISyntaxResult = {issues: this.issues, spaghetti};
+        this.object.syntaxResult = result;
+        return result;
+      }
+    }
+ 
+  }
+ 
+/////////////////////////////
+ 
+  private traverseObject(): CurrentScope {
+    const traversal = this.object.getSequencedFiles();
+ 
+    if (this.object instanceof Program
+        || this.object instanceof FunctionGroup) {
+ 
+      for (const f of this.object.getSequencedFiles()) {
+        // add FORM defintions to the _global object scope
+        this.helpers.proc.addAllFormDefinitions(f, this.object);
+      }
+ 
+      const main = this.object.getMainABAPFile();
+      if (main !== undefined) {
+        let stype = ScopeType.Program;
+        if (this.object instanceof FunctionGroup) {
+          stype = ScopeType.FunctionGroup;
+        }
+        this.scope.push(stype, this.object.getName(), new Position(1, 1), main.getFilename());
+      }
+    } else if (this.object instanceof TypePool) {
+      const main = this.object.getMainABAPFile();
+      if (main !== undefined) {
+        this.scope.push(ScopeType.TypePool, this.object.getName(), new Position(1, 1), main.getFilename());
+      }
+    }
+ 
+    for (const file of traversal) {
+      this.currentFile = file;
+      const structure = this.currentFile.getStructure();
+      if (structure === undefined) {
+        return this.scope;
+      } else {
+        this.traverse(structure);
+      }
+    }
+ 
+    return this.scope;
+  }
+ 
+  private newIssue(token: AbstractToken, message: string): void {
+    const issue = Issue.atToken(this.currentFile, token, message, CheckSyntaxKey, Severity.Error);
+    this.issues.push(issue);
+  }
+ 
+  private traverse(node: StructureNode | StatementNode): void {
+    for (const child of node.getChildren()) {
+      const isStructure = child instanceof StructureNode;
+      const isStatement = child instanceof StatementNode;
+ 
+      try {
+        if (isStructure) {
+          const gotoNext = this.updateScopeStructure(child as StructureNode);
+          if (gotoNext === true) {
+            continue;
+          }
+        } else if (isStatement) {
+          this.updateScopeStatement(child as StatementNode);
+        }
+      } catch (e) {
+        this.newIssue(child.getFirstToken(), e.message);
+        break;
+      }
+ 
+      // walk into INCLUDEs
+      if (isStatement && child.get() instanceof Statements.Include) {
+        const file = this.helpers.proc.findInclude(child as StatementNode, this.object);
+        if (file !== undefined && file.getStructure() !== undefined) {
+          const old = this.currentFile;
+          this.currentFile = file;
+          this.traverse(file.getStructure()!);
+          this.currentFile = old;
+        }
+      }
+ 
+      if (isStructure || isStatement) {
+        this.traverse(child as StatementNode | StructureNode);
+      }
+    }
+  }
+ 
+  /**
+   * if this returns true, then the traversal should continue with next child
+   */
+  private updateScopeStructure(node: StructureNode): boolean {
+    const filename = this.currentFile.getFilename();
+    const stru = node.get();
+ 
+    const input: SyntaxInput = {
+      scope: this.scope,
+      filename,
+      issues: this.issues,
+    };
+ 
+    if (stru instanceof Structures.ClassDefinition) {
+      new ClassDefinition(node, input);
+      return true;
+    } else if (stru instanceof Structures.Interface) {
+      new InterfaceDefinition(node, input);
+      return true;
+    } else if (stru instanceof Structures.Types) {
+      this.scope.addType(new Types().runSyntax(node, input));
+      return true;
+    } else if (stru instanceof Structures.Constants) {
+      this.scope.addIdentifier(new Constants().runSyntax(node, input).type);
+      return true;
+    } else if (stru instanceof Structures.Data) {
+      this.scope.addIdentifier(new DataStructure().runSyntax(node, input));
+      return true;
+    } else if (stru instanceof Structures.Statics) {
+      this.scope.addIdentifier(new Statics().runSyntax(node, input));
+      return true;
+    } else if (stru instanceof Structures.TypeEnum) {
+      const values = new TypeEnum().runSyntax(node, input).values;
+      this.scope.addList(values);
+      return true;
+    }
+    return false;
+  }
+ 
+  private updateScopeStatement(node: StatementNode): void {
+    const filename = this.currentFile.getFilename();
+    const s = node.get();
+ 
+    const input: SyntaxInput = {
+      scope: this.scope,
+      filename,
+      issues: this.issues,
+    };
+ 
+    // todo, refactor
+    if (s instanceof Statements.Type) {
+      this.scope.addType(new Type().runSyntax(node, input));
+      return;
+    } else if (s instanceof Statements.Constant) {
+      this.scope.addIdentifier(new Constant().runSyntax(node, input));
+      return;
+    } else if (s instanceof Statements.Static) {
+      this.scope.addIdentifier(new Static().runSyntax(node, input));
+      return;
+    } else if (s instanceof Statements.Data) {
+      this.scope.addIdentifier(new DataStatement().runSyntax(node, input));
+      return;
+    }
+ 
+    const name = s.constructor.name;
+    if (map[name]) {
+      map[name].runSyntax(node, input);
+      return;
+    }
+ 
+    if (s instanceof Statements.FunctionModule) {
+      this.helpers.proc.findFunctionScope(this.object, node, filename);
+ 
+    } else if (s instanceof Statements.EndForm
+        || s instanceof Statements.EndFunction
+        || s instanceof Statements.EndClass
+        || s instanceof Statements.EndInterface) {
+      this.scope.pop(node.getLastToken().getEnd());
+    } else if (s instanceof Statements.EndMethod) {
+      if (this.scope.getType() === ScopeType.Method) {
+        this.scope.pop(node.getLastToken().getEnd());
+      }
+      if (this.scope.getType() === ScopeType.MethodInstance) {
+        this.scope.pop(node.getLastToken().getEnd());
+      }
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/abap_file.ts.html b/src/abap/abap_file.ts.html new file mode 100644 index 00000000000..db65f371d22 --- /dev/null +++ b/src/abap/abap_file.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/abap/abap_file.ts + + + + + + + + + +
+
+

All files / src/abap abap_file.ts

+
+ +
+ 100% + Statements + 63/63 +
+ + +
+ 100% + Branches + 11/11 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 63/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +631x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7513x +7513x +7513x +7513x +7513x +7513x +7513x +7513x +7513x +7513x +7513x +7513x +1x +1x +456x +456x +1x +1x +7602x +7602x +1x +1x +2674x +2674x +1x +1x +24505x +24505x +1x +1x +3937x +1549x +3937x +2388x +2388x +30717x +30706x +30706x +2388x +2388x +2388x +3937x +1x +1x +23393x +23393x +1x +1x
import {Pragma} from "./1_lexer/tokens";
+import {AbstractToken} from "./1_lexer/tokens/abstract_token";
+import {AbstractFile} from "../files/_abstract_file";
+import {IFile} from "../files/_ifile";
+import {StructureNode, StatementNode} from "./nodes";
+import {IABAPFileInformation} from "./4_file_information/_abap_file_information";
+ 
+export class ABAPFile extends AbstractFile {
+  private readonly tokens: readonly AbstractToken[];
+  private readonly statements: readonly StatementNode[];
+  private readonly structure: StructureNode | undefined;
+  private readonly file: IFile;
+  private readonly info: IABAPFileInformation;
+ 
+  public constructor(file: IFile,
+                     tokens: readonly AbstractToken[],
+                     statements: readonly StatementNode[],
+                     structure: StructureNode | undefined,
+                     info: IABAPFileInformation) {
+ 
+    super(file.getFilename());
+    this.file = file;
+    this.tokens = tokens;
+    this.statements = statements;
+    this.structure = structure;
+    this.info = info;
+  }
+ 
+  public getRaw(): string {
+    return this.file.getRaw();
+  }
+ 
+  public getInfo(): IABAPFileInformation {
+    return this.info;
+  }
+ 
+  public getRawRows(): string[] {
+    return this.file.getRawRows();
+  }
+ 
+  public getStructure(): StructureNode | undefined {
+    return this.structure;
+  }
+ 
+  public getTokens(withPragmas = true): readonly AbstractToken[] {
+    if (withPragmas === true) {
+      return this.tokens;
+    } else {
+      const tokens: AbstractToken[] = [];
+      this.tokens.forEach((t) => {
+        if (!(t instanceof Pragma)) {
+          tokens.push(t);
+        }
+      });
+      return tokens;
+    }
+  }
+ 
+  public getStatements(): readonly StatementNode[] {
+    return this.statements;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/abap_parser.ts.html b/src/abap/abap_parser.ts.html new file mode 100644 index 00000000000..fd6bbde3995 --- /dev/null +++ b/src/abap/abap_parser.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/abap/abap_parser.ts + + + + + + + + + +
+
+

All files / src/abap abap_parser.ts

+
+ +
+ 100% + Statements + 70/70 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 70/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7484x +7484x +7484x +7484x +1x +1x +1x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7513x +7513x +7513x +7513x +7513x +7513x +7513x +7513x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +7484x +1x +1x
import {IFile} from "../files/_ifile";
+import {Issue} from "../issue";
+import {Version, defaultVersion} from "../version";
+import {Lexer} from "./1_lexer/lexer";
+import {StatementParser} from "./2_statements/statement_parser";
+import {StructureParser} from "./3_structures/structure_parser";
+import {IABAPLexerResult} from "./1_lexer/lexer_result";
+import {ABAPFileInformation} from "./4_file_information/abap_file_information";
+import {ABAPFile} from "./abap_file";
+import {IRegistry} from "../_iregistry";
+ 
+export interface IABAPParserResult {
+  issues: readonly Issue[],
+  output: readonly ABAPFile[],
+  /** runtime in milliseconds */
+  runtime: number,
+  runtimeExtra: {lexing: number, statements: number, structure: number},
+}
+ 
+export class ABAPParser {
+  private readonly version: Version;
+  private readonly globalMacros: readonly string[];
+  private readonly reg?: IRegistry;
+ 
+  public constructor(version?: Version, globalMacros?: readonly string[], reg?: IRegistry) {
+    this.version = version ? version : defaultVersion;
+    this.globalMacros = globalMacros ? globalMacros : [];
+    this.reg = reg;
+  }
+ 
+  // files is input for a single object
+  public parse(files: readonly IFile[]): IABAPParserResult {
+    const issues: Issue[] = [];
+    const output: ABAPFile[] = [];
+ 
+    const start = Date.now();
+ 
+// 1: lexing
+    const b1 = Date.now();
+    const lexerResult: readonly IABAPLexerResult[] = files.map(f => new Lexer().run(f));
+    const lexingRuntime = Date.now() - b1;
+ 
+// 2: statements
+    const b2 = Date.now();
+    const statementResult = new StatementParser(this.version, this.reg).run(lexerResult, this.globalMacros);
+    const statementsRuntime = Date.now() - b2;
+ 
+// 3: structures
+    const b3 = Date.now();
+    for (const f of statementResult) {
+      const result = StructureParser.run(f);
+ 
+// 4: file information
+      const info = new ABAPFileInformation(result.node, f.file.getFilename());
+ 
+      output.push(new ABAPFile(f.file, f.tokens, f.statements, result.node, info));
+      issues.push(...result.issues);
+    }
+    const structuresRuntime = Date.now() - b3;
+ 
+    const end = Date.now();
+ 
+    return {issues,
+      output,
+      runtime: end - start,
+      runtimeExtra: {lexing: lexingRuntime, statements: statementsRuntime, structure: structuresRuntime},
+    };
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/artifacts.ts.html b/src/abap/artifacts.ts.html new file mode 100644 index 00000000000..7fddf1f6d0c --- /dev/null +++ b/src/abap/artifacts.ts.html @@ -0,0 +1,394 @@ + + + + + + Code coverage report for src/abap/artifacts.ts + + + + + + + + + +
+
+

All files / src/abap artifacts.ts

+
+ +
+ 45.19% + Statements + 47/104 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 11.11% + Functions + 1/9 +
+ + +
+ 45.19% + Lines + 47/104 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +1041x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +  +  +  +  +  +  +  +1x +1x +  +  +1x +1x +  +  +  +  +  +  +  +1x +1x +  +  +  +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +1x +1x +1x +303x +303x +303x +303x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x
import * as Statements from "./2_statements/statements";
+import * as Expressions from "./2_statements/expressions";
+import {Combi, Expression} from "./2_statements/combi";
+import {IStatement} from "./2_statements/statements/_statement";
+import * as Structures from "./3_structures/structures";
+import {IStructure} from "./3_structures/structures/_structure";
+ 
+export interface IKeyword {
+  word: string;
+  source: string[];
+}
+ 
+class List {
+  private readonly words: IKeyword[];
+ 
+  public constructor() {
+    this.words = [];
+  }
+ 
+  public add(keywords: string[], source: string): void {
+    for (const w of keywords) {
+      const index = this.find(w);
+      if (index >= 0) {
+        this.words[index].source.push(source);
+      } else {
+        this.words.push({word: w, source: [source]});
+      }
+    }
+  }
+ 
+  public get(): IKeyword[] {
+    return this.words;
+  }
+ 
+  private find(keyword: string): number {
+    for (let i = 0; i < this.words.length; i++) {
+      if (this.words[i].word === keyword) {
+        return i;
+      }
+    }
+    return -1;
+  }
+}
+ 
+function className(cla: any) {
+  return cla.constructor.name;
+}
+ 
+export class ArtifactsABAP {
+ 
+  public static getStructures(): IStructure[] {
+    const ret: IStructure[] = [];
+
+    const list: any = Structures;
+    for (const key in Structures) {
+      if (typeof list[key] === "function") {
+        ret.push(new list[key]());
+      }
+    }
+
+    return ret;
+  }
+ 
+  public static getExpressions(): (new () => Expression)[] {
+    const ret: (new () => Expression)[] = [];
+
+    const list: any = Expressions;
+    for (const key in Expressions) {
+      if (typeof list[key] === "function") {
+        ret.push(list[key]);
+      }
+    }
+
+    return ret;
+  }
+ 
+  public static getStatements(): IStatement[] {
+    const ret: IStatement[] = [];
+ 
+    const list: any = Statements;
+    for (const key in Statements) {
+      if (typeof list[key] === "function") {
+        ret.push(new list[key]());
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  public static getKeywords(): IKeyword[] {
+    const list: List = new List();
+
+    for (const stat of this.getStatements()) {
+      list.add(Combi.listKeywords(stat.getMatcher()), "statement_" + className(stat));
+    }
+
+    for (const expr of this.getExpressions()) {
+      list.add(Combi.listKeywords(new expr().getRunnable()), "expression_" + className(expr));
+    }
+
+    return list.get();
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/flow/flow_graph.ts.html b/src/abap/flow/flow_graph.ts.html new file mode 100644 index 00000000000..e1748fbf8af --- /dev/null +++ b/src/abap/flow/flow_graph.ts.html @@ -0,0 +1,574 @@ + + + + + + Code coverage report for src/abap/flow/flow_graph.ts + + + + + + + + + +
+
+

All files / src/abap/flow flow_graph.ts

+
+ +
+ 89.63% + Statements + 147/164 +
+ + +
+ 95% + Branches + 38/40 +
+ + +
+ 88.23% + Functions + 15/17 +
+ + +
+ 89.63% + Lines + 147/164 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +1641x +1x +1x +1x +1x +1x +1x +94x +94x +94x +94x +94x +1x +1x +155x +155x +1x +1x +211x +211x +1x +1x +727x +604x +604x +727x +727x +1x +1x +265x +  +  +265x +265x +210x +210x +265x +1x +1x +504x +504x +3316x +3887x +3887x +3316x +504x +504x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +32x +32x +273x +273x +273x +32x +32x +1x +1x +62x +62x +1x +1x +1x +62x +  +  +62x +62x +62x +62x +1x +1x +  +  +1x +1x +32x +32x +149x +149x +32x +32x +1x +1x +32x +32x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x +188x +188x +1575x +191x +191x +1575x +188x +188x +1x +1x +188x +188x +1575x +158x +158x +1575x +188x +188x +1x +1x +1x +31x +272x +86x +86x +186x +186x +272x +116x +116x +138x +138x +116x +118x +118x +116x +138x +140x +140x +138x +116x +186x +272x +8x +8x +8x +8x +272x +31x +31x +31x +1x
export class FlowGraph {
+  private edges: {[from: string]: {[to: string]: boolean}};
+  private readonly startNode: string;
+  private readonly endNode: string;
+  private label: string;
+ 
+  public constructor(counter: number) {
+    this.edges = {};
+    this.label = "undefined";
+    this.startNode = "start#" + counter;
+    this.endNode = "end#" + counter;
+  }
+ 
+  public getStart(): string {
+    return this.startNode;
+  }
+ 
+  public getEnd(): string {
+    return this.endNode;
+  }
+ 
+  public addEdge(from: string, to: string) {
+    if (this.edges[from] === undefined) {
+      this.edges[from] = {};
+    }
+    this.edges[from][to] = true;
+  }
+ 
+  public removeEdge(from: string, to: string) {
+    if (this.edges[from] === undefined) {
+      return;
+    }
+    delete this.edges[from][to];
+    if (Object.keys(this.edges[from]).length === 0) {
+      delete this.edges[from];
+    }
+  }
+ 
+  public listEdges() {
+    const list: {from: string, to: string}[] = [];
+    for (const from of Object.keys(this.edges)) {
+      for (const to of Object.keys(this.edges[from])) {
+        list.push({from, to});
+      }
+    }
+    return list;
+  }
+ 
+  public listInto(to: string, skipStart = true): string[] {
+    const ret: string[] = [];
+    for (const e of this.listEdges()) {
+      if (skipStart === true && e.from === this.getStart()) {
+        continue;
+      }
+      if (e.to === to) {
+        ret.push(e.from);
+      }
+    }
+    return ret;
+  }
+ 
+  public listNodes() {
+    const set = new Set<string>();
+    for (const l of this.listEdges()) {
+      set.add(l.from);
+      set.add(l.to);
+    }
+    return Array.from(set.values());
+  }
+ 
+  public hasEdges(): boolean {
+    return Object.keys(this.edges).length > 0;
+  }
+ 
+  /** return value: end node of to graph */
+  public addGraph(from: string, to: FlowGraph): string {
+    if (to.hasEdges() === false) {
+      return from;
+    }
+    this.addEdge(from, to.getStart());
+    to.listEdges().forEach(e => this.addEdge(e.from, e.to));
+    return to.getEnd();
+  }
+ 
+  public toJSON(): string {
+    return JSON.stringify(this.edges);
+  }
+ 
+  public toTextEdges(): string {
+    let graph = "";
+    for (const l of this.listEdges()) {
+      graph += `"${l.from}" -> "${l.to}";\n`;
+    }
+    return graph.trim();
+  }
+ 
+  public setLabel(label: string) {
+    this.label = label;
+  }
+ 
+  public toDigraph(): string {
+    return `digraph G {
+labelloc="t";
+label="${this.label}";
+graph [fontname = "helvetica"];
+node [fontname = "helvetica", shape="box"];
+edge [fontname = "helvetica"];
+${this.toTextEdges()}
+}`;
+  }
+ 
+  public listSources(node: string): string[] {
+    const set = new Set<string>();
+    for (const l of this.listEdges()) {
+      if (node === l.to) {
+        set.add(l.from);
+      }
+    }
+    return Array.from(set.values());
+  }
+ 
+  public listTargets(node: string): string[] {
+    const set = new Set<string>();
+    for (const l of this.listEdges()) {
+      if (node === l.from) {
+        set.add(l.to);
+      }
+    }
+    return Array.from(set.values());
+  }
+ 
+  /** removes all nodes containing "#" that have one in-going and one out-going edge */
+  public reduce() {
+    for (const node of this.listNodes()) {
+      if (node.includes("#") === false) {
+        continue;
+      }
+      const sources = this.listSources(node);
+      const targets = this.listTargets(node);
+      if (sources.length > 0 && targets.length > 0) {
+        // hash node in the middle of the graph
+        for (const s of sources) {
+          this.removeEdge(s, node);
+        }
+        for (const t of targets) {
+          this.removeEdge(node, t);
+        }
+        for (const s of sources) {
+          for (const t of targets) {
+            this.addEdge(s, t);
+          }
+        }
+      }
+ 
+      if (node.startsWith("end#") && sources.length === 0) {
+        for (const t of targets) {
+          this.removeEdge(node, t);
+        }
+      }
+    }
+ 
+    return this;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/flow/index.html b/src/abap/flow/index.html new file mode 100644 index 00000000000..ab5fe94a079 --- /dev/null +++ b/src/abap/flow/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/abap/flow + + + + + + + + + +
+
+

All files src/abap/flow

+
+ +
+ 88.03% + Statements + 368/418 +
+ + +
+ 90.29% + Branches + 93/103 +
+ + +
+ 91.3% + Functions + 21/23 +
+ + +
+ 88.03% + Lines + 368/418 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
flow_graph.ts +
+
89.63%147/16495%38/4088.23%15/1789.63%147/164
statement_flow.ts +
+
87%221/25487.3%55/63100%6/687%221/254
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/flow/statement_flow.ts.html b/src/abap/flow/statement_flow.ts.html new file mode 100644 index 00000000000..7b445989241 --- /dev/null +++ b/src/abap/flow/statement_flow.ts.html @@ -0,0 +1,844 @@ + + + + + + Code coverage report for src/abap/flow/statement_flow.ts + + + + + + + + + +
+
+

All files / src/abap/flow statement_flow.ts

+
+ +
+ 87% + Statements + 221/254 +
+ + +
+ 87.3% + Branches + 55/63 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 87% + Lines + 221/254 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +2541x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +30x +30x +30x +30x +30x +30x +30x +29x +29x +29x +29x +29x +29x +30x +30x +2x +2x +2x +2x +2x +2x +30x +30x +30x +30x +30x +30x +66x +66x +30x +30x +86x +86x +86x +84x +86x +2x +4x +2x +2x +2x +4x +2x +86x +  +  +86x +86x +86x +86x +30x +30x +66x +66x +3x +3x +3x +63x +63x +63x +66x +76x +76x +76x +49x +49x +49x +49x +1x +  +1x +1x +1x +49x +1x +48x +2x +2x +47x +3x +2x +3x +1x +1x +3x +45x +5x +5x +5x +76x +27x +27x +27x +76x +76x +53x +53x +53x +53x +30x +30x +27x +27x +  +  +27x +27x +27x +27x +27x +12x +12x +12x +12x +12x +12x +12x +12x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +12x +12x +12x +12x +2x +2x +2x +2x +2x +12x +10x +10x +27x +15x +15x +15x +15x +15x +10x +10x +10x +10x +10x +10x +10x +15x +3x +3x +3x +3x +3x +3x +3x +3x +2x +2x +2x +2x +2x +2x +2x +3x +5x +2x +2x +2x +2x +5x +5x +  +  +5x +1x +1x +5x +5x +5x +5x +5x +5x +5x +2x +1x +1x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +27x +27x +27x +30x +30x
import {StructureNode, StatementNode} from "../nodes";
+import * as Structures from "../3_structures/structures";
+import * as Statements from "../2_statements/statements";
+import * as Expressions from "../2_statements/expressions";
+import {FlowGraph} from "./flow_graph";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+ 
+// Levels: top, FORM, METHOD, FUNCTION-MODULE, (MODULE, AT, END-OF-*, GET, START-OF-SELECTION, TOP-OF-PAGE)
+//
+// Loop branching: LOOP, DO, WHILE, SELECT(loop), WITH, PROVIDE
+//
+// Branching: IF, CASE, CASE TYPE OF, TRY, ON, CATCH SYSTEM-EXCEPTIONS, AT
+//
+// Conditional exits: CHECK, ASSERT
+//
+// Exits: RETURN, EXIT, RAISE(not RESUMABLE), MESSAGE(type E and A?), CONTINUE, REJECT, RESUME, STOP
+//
+// Not handled? INCLUDE + malplaced macro calls
+ 
+/////////////////////////////////////
+ 
+// TODO: handling static exceptions(only static), refactor some logic from UncaughtException to common file
+// TODO: RAISE
+ 
+interface IContext {
+  procedureEnd: string;
+  loopStart?: string;
+  loopEnd?: string;
+}
+ 
+export class StatementFlow {
+  private counter = 0;
+ 
+  public build(stru: StructureNode): FlowGraph[] {
+    const ret: FlowGraph[] = [];
+    const forms = stru.findAllStructures(Structures.Form);
+    for (const f of forms) {
+      const formName = "FORM " + f.findFirstExpression(Expressions.FormName)?.concatTokens();
+      this.counter = 1;
+      const graph = this.traverseBody(this.findBody(f), {procedureEnd: "end#1"});
+      graph.setLabel(formName);
+      ret.push(graph);
+    }
+    const methods = stru.findAllStructures(Structures.Method);
+    for (const f of methods) {
+      const methodName = "METHOD " + f.findFirstExpression(Expressions.MethodName)?.concatTokens();
+      this.counter = 1;
+      const graph = this.traverseBody(this.findBody(f), {procedureEnd: "end#1"});
+      graph.setLabel(methodName);
+      ret.push(graph);
+    }
+    return ret.map(f => f.reduce());
+  }
+ 
+////////////////////
+ 
+  private findBody(f: StructureNode): readonly (StatementNode | StructureNode)[] {
+    return f.findDirectStructure(Structures.Body)?.getChildren() || [];
+  }
+ 
+  private buildName(statement: StatementNode): string {
+    let token: AbstractToken | undefined = undefined;
+    const colon = statement.getColon();
+    if (colon === undefined) {
+      token = statement.getFirstToken();
+    } else {
+      for (const t of statement.getTokens()) {
+        if (t.getStart().isAfter(colon.getEnd())) {
+          token = t;
+          break;
+        }
+      }
+    }
+    if (token === undefined) {
+      return "tokenError";
+    }
+    return statement.get().constructor.name +
+      ":" + token.getRow() +
+      "," + token.getCol();
+  }
+ 
+  private traverseBody(children: readonly (StatementNode | StructureNode)[], context: IContext): FlowGraph {
+    const graph = new FlowGraph(this.counter++);
+    if (children.length === 0) {
+      graph.addEdge(graph.getStart(), graph.getEnd());
+      return graph;
+    }
+ 
+    let current = graph.getStart();
+ 
+    for (const c of children) {
+      if (c.get() instanceof Structures.Normal) {
+        const firstChild = c.getFirstChild(); // "Normal" only has one child
+        if (firstChild instanceof StatementNode) {
+          const name = this.buildName(firstChild);
+          graph.addEdge(current, name);
+          current = name;
+          if (firstChild.get() instanceof Statements.Check) {
+            if (context.loopStart) {
+              graph.addEdge(name, context.loopStart);
+            } else {
+              graph.addEdge(name, context.procedureEnd);
+            }
+          } else if (firstChild.get() instanceof Statements.Assert) {
+            graph.addEdge(name, context.procedureEnd);
+          } else if (firstChild.get() instanceof Statements.Continue && context.loopStart) {
+            graph.addEdge(name, context.loopStart);
+            return graph;
+          } else if (firstChild.get() instanceof Statements.Exit) {
+            if (context.loopEnd) {
+              graph.addEdge(name, context.loopEnd);
+            } else {
+              graph.addEdge(name, context.procedureEnd);
+            }
+            return graph;
+          } else if (firstChild.get() instanceof Statements.Return) {
+            graph.addEdge(name, context.procedureEnd);
+            return graph;
+          }
+        } else if(firstChild instanceof StructureNode) {
+          const sub = this.traverseStructure(firstChild, context);
+          current = graph.addGraph(current, sub);
+        }
+      }
+    }
+ 
+    graph.addEdge(current, graph.getEnd());
+    return graph;
+  }
+ 
+  private traverseStructure(n: StructureNode | undefined, context: IContext): FlowGraph {
+    const graph = new FlowGraph(this.counter++);
+    if (n === undefined) {
+      return graph;
+    }
+ 
+    let current = graph.getStart();
+ 
+    const type = n.get();
+    if (type instanceof Structures.If) {
+      const ifName = this.buildName(n.findDirectStatement(Statements.If)!);
+      const sub = this.traverseBody(this.findBody(n), context);
+      graph.addEdge(current, ifName);
+      graph.addGraph(ifName, sub);
+      graph.addEdge(sub.getEnd(), graph.getEnd());
+      current = ifName;
+ 
+      for (const e of n.findDirectStructures(Structures.ElseIf)) {
+        const elseifst = e.findDirectStatement(Statements.ElseIf);
+        if (elseifst === undefined) {
+          continue;
+        }
+ 
+        const elseIfName = this.buildName(elseifst);
+        const sub = this.traverseBody(this.findBody(e), context);
+        graph.addEdge(current, elseIfName);
+        graph.addGraph(elseIfName, sub);
+        graph.addEdge(sub.getEnd(), graph.getEnd());
+        current = elseIfName;
+      }
+ 
+      const els = n.findDirectStructure(Structures.Else);
+      const elsest = els?.findDirectStatement(Statements.Else);
+      if (els && elsest) {
+        const elseName = this.buildName(elsest);
+        const sub = this.traverseBody(this.findBody(els), context);
+        graph.addEdge(current, elseName);
+        graph.addGraph(elseName, sub);
+        graph.addEdge(sub.getEnd(), graph.getEnd());
+      } else {
+        graph.addEdge(ifName, graph.getEnd());
+      }
+    } else if (type instanceof Structures.Loop
+      || type instanceof Structures.While
+      || type instanceof Structures.With
+      || type instanceof Structures.Provide
+      || type instanceof Structures.Select
+      || type instanceof Structures.Do) {
+      const loopName = this.buildName(n.getFirstStatement()!);
+      const sub = this.traverseBody(this.findBody(n), {...context, loopStart: loopName, loopEnd: graph.getEnd()});
+ 
+      graph.addEdge(current, loopName);
+      graph.addGraph(loopName, sub);
+      graph.addEdge(sub.getEnd(), loopName);
+      graph.addEdge(loopName, graph.getEnd());
+    } else if (type instanceof Structures.Try) {
+      const tryName = this.buildName(n.getFirstStatement()!);
+ 
+      const body = this.traverseBody(this.findBody(n), context);
+      graph.addEdge(current, tryName);
+      graph.addGraph(tryName, body);
+      graph.addEdge(body.getEnd(), graph.getEnd());
+ 
+      for (const c of n.findDirectStructures(Structures.Catch)) {
+        const catchName = this.buildName(c.getFirstStatement()!);
+        const catchBody = this.traverseBody(this.findBody(c), context);
+// TODO: this does not take exceptions into account
+        graph.addEdge(body.getEnd(), catchName);
+        graph.addGraph(catchName, catchBody);
+        graph.addEdge(catchBody.getEnd(), graph.getEnd());
+      }
+// TODO, handle CLEANUP
+    } else if (type instanceof Structures.Case) {
+      const caseName = this.buildName(n.getFirstStatement()!);
+      graph.addEdge(current, caseName);
+      let othersFound = false;
+      for (const w of n.findDirectStructures(Structures.When)) {
+        const first = w.getFirstStatement();
+        if (first === undefined) {
+          continue;
+        }
+        if (first.get() instanceof Statements.WhenOthers) {
+          othersFound = true;
+        }
+        const firstName = this.buildName(first);
+ 
+        const sub = this.traverseBody(this.findBody(w), context);
+        graph.addEdge(caseName, firstName);
+        graph.addGraph(firstName, sub);
+        graph.addEdge(sub.getEnd(), graph.getEnd());
+      }
+      if (othersFound === false) {
+        graph.addEdge(caseName, graph.getEnd());
+      }
+    } else if (type instanceof Structures.CaseType) {
+      const caseName = this.buildName(n.getFirstStatement()!);
+      graph.addEdge(current, caseName);
+      let othersFound = false;
+      for (const w of n.findDirectStructures(Structures.WhenType)) {
+        const first = w.getFirstStatement();
+        if (first === undefined) {
+          continue;
+        }
+        if (first.get() instanceof Statements.WhenOthers) {
+          othersFound = true;
+        }
+        const firstName = this.buildName(first);
+
+        const sub = this.traverseBody(this.findBody(w), context);
+        graph.addEdge(caseName, firstName);
+        graph.addGraph(firstName, sub);
+        graph.addEdge(sub.getEnd(), graph.getEnd());
+      }
+      if (othersFound === false) {
+        graph.addEdge(caseName, graph.getEnd());
+      }
+    } else {
+      console.dir("StatementFlow,todo, " + n.get().constructor.name);
+    }
+ 
+    return graph;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/index.html b/src/abap/index.html new file mode 100644 index 00000000000..48297d7ab06 --- /dev/null +++ b/src/abap/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/abap + + + + + + + + + +
+
+

All files src/abap

+
+ +
+ 75.94% + Statements + 180/237 +
+ + +
+ 100% + Branches + 21/21 +
+ + +
+ 55.55% + Functions + 10/18 +
+ + +
+ 75.94% + Lines + 180/237 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
abap_file.ts +
+
100%63/63100%11/11100%7/7100%63/63
abap_parser.ts +
+
100%70/70100%8/8100%2/2100%70/70
artifacts.ts +
+
45.19%47/104100%2/211.11%1/945.19%47/104
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/nodes/_abstract_node.ts.html b/src/abap/nodes/_abstract_node.ts.html new file mode 100644 index 00000000000..35383a3aaed --- /dev/null +++ b/src/abap/nodes/_abstract_node.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/abap/nodes/_abstract_node.ts + + + + + + + + + +
+
+

All files / src/abap/nodes _abstract_node.ts

+
+ +
+ 100% + Statements + 35/35 +
+ + +
+ 100% + Branches + 6/6 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 35/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +1x +1x +1x +1x +1x +1x +406983x +406983x +1x +1x +1x +1x +1x +1x +43475x +43475x +1x +1x +318118x +318118x +1x +1x +1693488x +1693488x +1x +1x +2990x +2990x +1x +1x +41289x +41289x +1x +1x
import {INode} from "./_inode";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+ 
+export abstract class AbstractNode<T extends INode> implements INode {
+  protected children: T[];
+ 
+  public constructor() {
+    this.children = [];
+  }
+ 
+  public abstract get(): any;
+  public abstract getFirstToken(): AbstractToken;
+  public abstract getLastToken(): AbstractToken;
+ 
+  public addChild(n: T) {
+    this.children.push(n);
+  }
+ 
+  public setChildren(children: T[]) {
+    this.children = children;
+  }
+ 
+  public getChildren(): readonly T[] {
+    return this.children;
+  }
+ 
+  public getFirstChild(): T | undefined {
+    return this.children[0];
+  }
+ 
+  public getLastChild(): T | undefined {
+    return this.children[this.children.length - 1];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/nodes/expression_node.ts.html b/src/abap/nodes/expression_node.ts.html new file mode 100644 index 00000000000..f81ae1d9305 --- /dev/null +++ b/src/abap/nodes/expression_node.ts.html @@ -0,0 +1,967 @@ + + + + + + Code coverage report for src/abap/nodes/expression_node.ts + + + + + + + + + +
+
+

All files / src/abap/nodes expression_node.ts

+
+ +
+ 96.27% + Statements + 284/295 +
+ + +
+ 95.23% + Branches + 100/105 +
+ + +
+ 100% + Functions + 21/21 +
+ + +
+ 96.27% + Lines + 284/295 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +2951x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +318118x +318118x +318118x +1x +1x +673467x +673467x +1x +1x +531259x +531259x +728736x +728736x +531259x +531259x +1x +1x +58359x +58359x +58359x +  +  +1x +1x +35x +35x +35x +111x +  +  +111x +35x +111x +76x +2x +76x +74x +2x +74x +72x +72x +74x +111x +111x +35x +35x +1x +1x +19927x +19927x +19927x +37486x +  +  +37486x +19927x +37486x +17559x +3701x +17559x +13858x +13858x +37486x +37486x +19927x +19927x +1x +1x +47x +47x +47x +63x +63x +63x +63x +63x +63x +  +  +63x +47x +63x +16x +9x +16x +7x +7x +63x +63x +47x +47x +1x +1x +1x +20158x +20158x +20158x +32608x +32608x +20158x +20158x +20158x +1x +1x +42747x +42747x +42747x +19932x +19932x +19932x +22815x +42747x +28140x +18001x +28140x +10139x +10139x +28140x +22815x +22815x +22815x +1x +1x +1579x +1579x +1579x +1579x +1579x +  +  +  +1x +1x +1326x +1326x +1326x +1643x +553x +1643x +1090x +1090x +1643x +1326x +1326x +1326x +1x +1x +35x +35x +35x +61x +25x +25x +61x +35x +35x +35x +1x +1x +17244x +34815x +6733x +6733x +34815x +10511x +10511x +1x +1x +342x +342x +342x +777x +777x +777x +777x +777x +60x +60x +777x +282x +282x +282x +1x +1x +4161x +4161x +13543x +2137x +2137x +13543x +4161x +4161x +1x +1x +151x +151x +238x +134x +195x +88x +88x +88x +195x +134x +238x +151x +151x +1x +1x +6112x +6112x +9488x +259x +259x +9488x +5853x +5853x +1x +1x +55154x +55154x +83815x +40330x +83815x +3121x +3121x +43485x +43485x +55154x +55154x +1x +1x +90076x +90076x +136521x +79238x +136521x +3048x +57283x +54235x +54235x +136521x +90076x +90076x +1x +1x +17679x +17679x +25216x +14975x +14975x +10241x +25216x +33243x +335x +335x +33243x +25216x +10086x +10086x +25216x +17679x +17679x +1x +1x +184627x +408x +408x +184219x +184627x +275705x +152362x +275705x +15550x +123343x +107793x +107793x +2784x +2784x +107793x +275705x +165885x +165885x +1x
import {TokenNode} from "./token_node";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {INode} from "./_inode";
+import {Pragma, StringToken, StringTemplate, StringTemplateBegin, StringTemplateMiddle, StringTemplateEnd, Comment} from "../1_lexer/tokens";
+import {IStatementRunnable} from "../2_statements/statement_runnable";
+import {AbstractNode} from "./_abstract_node";
+ 
+export class ExpressionNode extends AbstractNode<ExpressionNode | TokenNode> {
+  private readonly expression: IStatementRunnable;
+ 
+  public constructor(expression: IStatementRunnable) {
+    super();
+    this.expression = expression;
+  }
+ 
+  public get(): IStatementRunnable {
+    return this.expression;
+  }
+ 
+  public countTokens(): number {
+    let ret = 0;
+    for (const c of this.getChildren()) {
+      ret = ret + c.countTokens();
+    }
+    return ret;
+  }
+ 
+  public getFirstToken(): AbstractToken {
+    for (const child of this.getChildren()) {
+      return child.getFirstToken();
+    }
+    throw new Error("ExpressionNode, getFirstToken, no children");
+  }
+ 
+  public concatTokensWithLinebreaks(): string {
+    let str = "";
+    let prev: AbstractToken | undefined;
+    for (const token of this.getTokens()) {
+      if (token instanceof Pragma) {
+        continue;
+      }
+      if (str === "") {
+        str = token.getStr();
+      } else if (prev && prev.getStr().length + prev.getCol() === token.getCol()
+          && prev.getRow() === token.getRow()) {
+        str = str + token.getStr();
+      } else {
+        if (prev && prev.getRow() !== token.getRow()) {
+          str = str + "\n" + token.getStr();
+        } else {
+          str = str + " " + token.getStr();
+        }
+      }
+      prev = token;
+    }
+    return str;
+  }
+ 
+  public concatTokens(): string {
+    let str = "";
+    let prev: AbstractToken | undefined;
+    for (const token of this.getTokens()) {
+      if (token instanceof Pragma) {
+        continue;
+      }
+      if (str === "") {
+        str = token.getStr();
+      } else if (prev && prev.getStr().length + prev.getCol() === token.getCol()
+          && prev.getRow() === token.getRow()) {
+        str = str + token.getStr();
+      } else {
+        str = str + " " + token.getStr();
+      }
+      prev = token;
+    }
+    return str;
+  }
+ 
+  public concatTokensWithoutStringsAndComments(): string {
+    let str = "";
+    let prev: AbstractToken | undefined;
+    for (const token of this.getTokens()) {
+      if (token instanceof Comment
+          || token instanceof StringToken
+          || token instanceof StringTemplate
+          || token instanceof StringTemplateBegin
+          || token instanceof StringTemplateMiddle
+          || token instanceof StringTemplateEnd) {
+        continue;
+      }
+      if (str === "") {
+        str = token.getStr();
+      } else if (prev && prev.getStr().length + prev.getCol() === token.getCol()
+          && prev.getRow() === token.getRow()) {
+        str = str + token.getStr();
+      } else {
+        str = str + " " + token.getStr();
+      }
+      prev = token;
+    }
+    return str;
+  }
+ 
+  // todo: delete this method?, its slow
+  public getTokens(): readonly AbstractToken[] {
+    const tokens: AbstractToken[] = [];
+ 
+    for (const c of this.getChildren()) {
+      tokens.push(...this.toTokens(c));
+    }
+ 
+    return tokens;
+  }
+ 
+  private toTokens(b: INode): readonly AbstractToken[] {
+    const tokens: AbstractToken[] = [];
+ 
+    if (b instanceof TokenNode) {
+      tokens.push(b.get());
+      return tokens;
+    }
+ 
+    for (const c of b.getChildren()) {
+      if (c instanceof TokenNode) {
+        tokens.push(c.get());
+      } else {
+        tokens.push(...this.toTokens(c));
+      }
+    }
+ 
+    return tokens;
+  }
+ 
+  public getLastToken(): AbstractToken {
+    const child = this.getLastChild();
+ 
+    if (child) {
+      return child.getLastToken();
+    }
+
+    throw new Error("ExpressionNode, getLastToken, no children");
+  }
+ 
+  public getAllTokens(): AbstractToken[] {
+    const ret: AbstractToken[] = [];
+ 
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        ret.push(child.get());
+      } else {
+        ret.push(...child.getAllTokens());
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  public getDirectTokens(): readonly AbstractToken[] {
+    const ret: AbstractToken[] = [];
+ 
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        ret.push(child.get());
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  public findDirectExpression(type: new () => IStatementRunnable): ExpressionNode | undefined {
+    for (const child of this.getChildren()) {
+      if (child instanceof ExpressionNode && child.get() instanceof type) {
+        return child;
+      }
+    }
+    return undefined;
+  }
+ 
+  public findExpressionAfterToken(text: string): ExpressionNode | undefined {
+    const children = this.getChildren();
+ 
+    for (let i = 0; i < children.length - 1; i++) {
+      const c = children[i];
+      const next = children[i + 1];
+      if (c instanceof TokenNode
+          && c.get().getStr().toUpperCase() === text.toUpperCase()
+          && next instanceof ExpressionNode) {
+        return next;
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  public findDirectExpressions(type: new () => IStatementRunnable): readonly ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof ExpressionNode && child.get() instanceof type) {
+        ret.push(child);
+      }
+    }
+    return ret;
+  }
+ 
+  public findDirectExpressionsMulti(type: (new () => IStatementRunnable)[]): ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof ExpressionNode) {
+        for (const t of type) {
+          if (child.get() instanceof t) {
+            ret.push(child);
+            break;
+          }
+        }
+      }
+    }
+    return ret;
+  }
+ 
+  public findDirectTokenByText(text: string): AbstractToken | undefined {
+    const search = text.toUpperCase();
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode && child.get().getStr().toUpperCase() === search) {
+        return child.get();
+      }
+    }
+    return undefined;
+  }
+ 
+  public findAllExpressionsRecursive(type: new () => IStatementRunnable): readonly ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        continue;
+      } else if (child.get() instanceof type) {
+        ret.push(child);
+      }
+      ret.push(...child.findAllExpressionsRecursive(type));
+    }
+    return ret;
+  }
+ 
+  public findAllExpressions(type: new () => IStatementRunnable): readonly ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        continue;
+      } else if (child.get() instanceof type) {
+        ret.push(child);
+      } else {
+        ret.push(...child.findAllExpressions(type));
+      }
+    }
+    return ret;
+  }
+ 
+  public findAllExpressionsMulti(type: (new () => IStatementRunnable)[], recursive = false): ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        continue;
+      }
+      const before = ret.length;
+      for (const t of type) {
+        if (child.get() instanceof t) {
+          ret.push(child);
+        }
+      }
+      if (before === ret.length || recursive === true) {
+        ret.push(...child.findAllExpressionsMulti(type, recursive));
+      }
+    }
+    return ret;
+  }
+ 
+  public findFirstExpression(type: new () => IStatementRunnable): ExpressionNode | undefined {
+    if (this.get() instanceof type) {
+      return this;
+    }
+ 
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        continue;
+      } else if (child.get() instanceof type) {
+        return child;
+      } else {
+        const res = child.findFirstExpression(type);
+        if (res) {
+          return res;
+        }
+      }
+    }
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/nodes/index.html b/src/abap/nodes/index.html new file mode 100644 index 00000000000..20c85e4d8fc --- /dev/null +++ b/src/abap/nodes/index.html @@ -0,0 +1,206 @@ + + + + + + Code coverage report for src/abap/nodes + + + + + + + + + +
+
+

All files src/abap/nodes

+
+ +
+ 95.81% + Statements + 984/1027 +
+ + +
+ 94.94% + Branches + 338/356 +
+ + +
+ 96.51% + Functions + 83/86 +
+ + +
+ 95.81% + Lines + 984/1027 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_abstract_node.ts +
+
100%35/35100%6/6100%6/6100%35/35
expression_node.ts +
+
96.27%284/29595.23%100/105100%21/2196.27%284/295
index.ts +
+
100%5/5100%0/0100%0/0100%5/5
statement_node.ts +
+
97.05%362/37394.96%132/139100%28/2897.05%362/373
structure_node.ts +
+
94.48%257/27294%94/100100%22/2294.48%257/272
token_node.ts +
+
85.71%36/42100%6/666.66%6/985.71%36/42
token_node_regex.ts +
+
100%5/5100%0/0100%0/0100%5/5
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/nodes/index.ts.html b/src/abap/nodes/index.ts.html new file mode 100644 index 00000000000..f40208495d7 --- /dev/null +++ b/src/abap/nodes/index.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/abap/nodes/index.ts + + + + + + + + + +
+
+

All files / src/abap/nodes index.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +51x +1x +1x +1x +1x
export * from "./expression_node";
+export * from "./statement_node";
+export * from "./structure_node";
+export * from "./token_node";
+export * from "./token_node_regex";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/nodes/statement_node.ts.html b/src/abap/nodes/statement_node.ts.html new file mode 100644 index 00000000000..ab0f59c7cfe --- /dev/null +++ b/src/abap/nodes/statement_node.ts.html @@ -0,0 +1,1201 @@ + + + + + + Code coverage report for src/abap/nodes/statement_node.ts + + + + + + + + + +
+
+

All files / src/abap/nodes statement_node.ts

+
+ +
+ 97.05% + Statements + 362/373 +
+ + +
+ 94.96% + Branches + 132/139 +
+ + +
+ 100% + Functions + 28/28 +
+ + +
+ 97.05% + Lines + 362/373 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +3731x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +50310x +50310x +50310x +50310x +50310x +24380x +50310x +25930x +25930x +50310x +1x +1x +522259x +522259x +1x +1x +31005x +31005x +1x +1x +9799x +9799x +1x +1x +50274x +  +  +50274x +50274x +50274x +50274x +50274x +1x +1x +5623x +5623x +1x +1x +975x +975x +975x +1x +1x +40986x +40986x +40986x +242114x +242114x +40986x +40986x +40986x +1x +1x +1331x +5181x +338x +338x +5181x +993x +993x +1x +1x +1272x +1272x +1272x +4002x +4002x +1272x +1272x +1272x +1x +1x +6161x +6161x +6161x +42941x +1x +1x +42941x +6161x +42941x +36779x +10379x +36779x +26400x +26400x +42940x +42940x +6161x +6161x +1x +1x +11x +11x +11x +40x +  +  +40x +40x +40x +11x +40x +29x +29x +13x +29x +16x +16x +40x +40x +11x +11x +1x +1x +938x +938x +938x +3611x +3611x +3611x +3611x +3611x +3611x +25x +25x +3611x +938x +3611x +2648x +1064x +2648x +1584x +1584x +3586x +3586x +938x +938x +1x +1x +1530x +1530x +1x +1x +53572x +53572x +53572x +  +  +1x +1x +38265x +38265x +38265x +38265x +38265x +  +  +  +1x +1x +17716x +66761x +6651x +6651x +66761x +11065x +11065x +1x +1x +2785x +2785x +12544x +1918x +1918x +12544x +2785x +2785x +1x +1x +4725x +4725x +23773x +109x +109x +23773x +4616x +4616x +1x +1x +49141x +165327x +98797x +165327x +15802x +66530x +50728x +50728x +4154x +4154x +50728x +165327x +29185x +29185x +1x +1x +37025x +37025x +125489x +91654x +125489x +820x +33835x +33015x +33015x +125489x +37025x +37025x +1x +1x +10778x +10778x +38564x +26897x +38564x +892x +892x +11667x +11667x +10778x +10778x +1x +1x +8834x +8834x +29443x +21786x +21786x +7657x +29443x +24281x +175x +175x +24281x +29443x +7593x +7593x +29443x +8834x +8834x +1x +1x +1x +1x +1x +1x +1x +1x +22x +22x +94x +94x +94x +94x +94x +94x +8x +8x +94x +22x +94x +64x +64x +94x +  +  +1x +1x +2344x +2344x +2344x +9528x +9528x +9528x +9528x +9528x +307x +307x +9528x +2037x +2037x +2037x +1x +1x +14x +14x +14x +14x +155x +155x +155x +155x +155x +7x +7x +155x +14x +14x +14x +1x +1x +1x +1x +283053x +283053x +283053x +221962x +221962x +221962x +61091x +283053x +87512x +46573x +87512x +40939x +40939x +87512x +61091x +61091x +61091x +1x +1x +5346x +5346x +5346x +3042x +3042x +3042x +2304x +5346x +3118x +1774x +3118x +1344x +1344x +3118x +2304x +2304x +2304x +1x
import {Position} from "../../position";
+import {VirtualPosition} from "../../virtual_position";
+import {AbstractNode} from "./_abstract_node";
+import {INode} from "./_inode";
+import {TokenNode} from "./token_node";
+import {ExpressionNode} from "./expression_node";
+import {Comment} from "../1_lexer/tokens/comment";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {Pragma} from "../1_lexer/tokens/pragma";
+import {StringToken} from "../1_lexer/tokens/string";
+import {StringTemplateMiddle} from "../1_lexer/tokens/string_template_middle";
+import {StringTemplateEnd} from "../1_lexer/tokens/string_template_end";
+import {StringTemplateBegin} from "../1_lexer/tokens/string_template_begin";
+import {StringTemplate} from "../1_lexer/tokens/string_template";
+import {IStatement} from "../2_statements/statements/_statement";
+import {IStatementRunnable} from "../2_statements/statement_runnable";
+ 
+export class StatementNode extends AbstractNode<ExpressionNode | TokenNode> {
+  private readonly statement: IStatement;
+  private readonly colon: AbstractToken | undefined;
+  private readonly pragmas: readonly AbstractToken[];
+ 
+  public constructor(statement: IStatement, colon?: AbstractToken | undefined, pragmas?: readonly AbstractToken[]) {
+    super();
+    this.statement = statement;
+    this.colon = colon;
+ 
+    if (pragmas) {
+      this.pragmas = pragmas;
+    } else {
+      this.pragmas = [];
+    }
+  }
+ 
+  public get() {
+    return this.statement;
+  }
+ 
+  public getColon(): AbstractToken | undefined {
+    return this.colon;
+  }
+ 
+  public getPragmas(): readonly AbstractToken[] {
+    return this.pragmas;
+  }
+ 
+  public setChildren(children: (ExpressionNode | TokenNode)[]): StatementNode {
+    if (children.length === 0) {
+      throw new Error("statement: zero children");
+    }
+ 
+    this.children = children;
+ 
+    return this;
+  }
+ 
+  public getStart(): Position {
+    return this.getFirstToken().getStart();
+  }
+ 
+  public getEnd(): Position {
+    const last = this.getLastToken();
+    return last.getEnd();
+  }
+ 
+  public getTokens(): readonly AbstractToken[] {
+    const tokens: AbstractToken[] = [];
+ 
+    for (const c of this.getChildren()) {
+      tokens.push(...this.toTokens(c));
+    }
+ 
+    return tokens;
+  }
+ 
+  public includesToken(search: AbstractToken): boolean {
+    for (const t of this.getTokens()) {
+      if (t.getStart().equals(search.getStart())) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  public getTokenNodes(): readonly TokenNode[] {
+    const tokens: TokenNode[] = [];
+ 
+    for (const c of this.getChildren()) {
+      tokens.push(...this.toTokenNodess(c));
+    }
+ 
+    return tokens;
+  }
+ 
+  public concatTokens(): string {
+    let str = "";
+    let prev: AbstractToken | undefined;
+    for (const token of this.getTokens()) {
+      if (token instanceof Pragma) {
+        continue;
+      }
+      if (str === "") {
+        str = token.getStr();
+      } else if (prev && prev.getStr().length + prev.getCol() === token.getCol()
+          && prev.getRow() === token.getRow()) {
+        str = str + token.getStr();
+      } else {
+        str = str + " " + token.getStr();
+      }
+      prev = token;
+    }
+    return str;
+  }
+ 
+  public concatTokensVirtual(): string {
+    let str = "";
+    let prev: AbstractToken | undefined;
+    for (const token of this.getTokens()) {
+      if (token instanceof Pragma) {
+        continue;
+      }
+      const vprev = prev?.getStart() as VirtualPosition | undefined;
+      const vtoke = token?.getStart() as VirtualPosition | undefined;
+      if (str === "") {
+        str = token.getStr();
+      } else if (prev && vprev && vtoke
+          && prev.getStr().length + vprev.vcol === vtoke.vcol
+          && vprev.vrow === vtoke.vrow) {
+        str = str + token.getStr();
+      } else {
+        str = str + " " + token.getStr();
+      }
+      prev = token;
+    }
+    return str;
+  }
+ 
+  public concatTokensWithoutStringsAndComments(): string {
+    let str = "";
+    let prev: AbstractToken | undefined;
+    for (const token of this.getTokens()) {
+      if (token instanceof Comment
+          || token instanceof StringToken
+          || token instanceof StringTemplate
+          || token instanceof StringTemplateBegin
+          || token instanceof StringTemplateMiddle
+          || token instanceof StringTemplateEnd) {
+        continue;
+      }
+      if (str === "") {
+        str = token.getStr();
+      } else if (prev && prev.getStr().length + prev.getCol() === token.getCol()
+          && prev.getRow() === token.getRow()) {
+        str = str + token.getStr();
+      } else {
+        str = str + " " + token.getStr();
+      }
+      prev = token;
+    }
+    return str;
+  }
+ 
+  public getTerminator(): string {
+    return this.getLastToken().getStr();
+  }
+ 
+  public getFirstToken(): AbstractToken {
+    for (const child of this.getChildren()) {
+      return child.getFirstToken();
+    }
+    throw new Error("StatementNode, getFirstToken, no children, " + this.get().constructor.name);
+  }
+ 
+  public getLastToken(): AbstractToken {
+    const child = this.getLastChild();
+ 
+    if (child !== undefined) {
+      return child.getLastToken();
+    }
+
+    throw new Error("StatementNode, getLastToken, no children");
+  }
+ 
+  public findDirectExpression(type: new () => IStatementRunnable): ExpressionNode | undefined {
+    for (const child of this.getChildren()) {
+      if (child instanceof ExpressionNode && child.get() instanceof type) {
+        return child;
+      }
+    }
+    return undefined;
+  }
+ 
+  public findDirectExpressions(type: new () => IStatementRunnable): readonly ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof ExpressionNode && child.get() instanceof type) {
+        ret.push(child);
+      }
+    }
+    return ret;
+  }
+ 
+  public findDirectTokenByText(text: string): AbstractToken | undefined {
+    const upper = text.toUpperCase();
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode && child.get().getStr().toUpperCase() === upper) {
+        return child.get();
+      }
+    }
+    return undefined;
+  }
+ 
+  public findFirstExpression(type: new () => IStatementRunnable): ExpressionNode | undefined {
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        continue;
+      } else if (child.get() instanceof type) {
+        return child;
+      } else {
+        const res = child.findFirstExpression(type);
+        if (res) {
+          return res;
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+  public findAllExpressions(type: new () => IStatementRunnable): readonly ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        continue;
+      } else if (child.get() instanceof type) {
+        ret.push(child);
+      } else {
+        ret.push(...child.findAllExpressions(type));
+      }
+    }
+    return ret;
+  }
+ 
+  public findAllExpressionsRecursive(type: new () => IStatementRunnable): readonly ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        continue;
+      } else if (child.get() instanceof type) {
+        ret.push(child);
+      }
+      ret.push(...child.findAllExpressionsRecursive(type));
+    }
+    return ret;
+  }
+ 
+  public findAllExpressionsMulti(type: (new () => IStatementRunnable)[], recursive = false): ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof TokenNode) {
+        continue;
+      }
+      const before = ret.length;
+      for (const t of type) {
+        if (child.get() instanceof t) {
+          ret.push(child);
+        }
+      }
+      if (before === ret.length || recursive === true) {
+        ret.push(...child.findAllExpressionsMulti(type, recursive));
+      }
+    }
+    return ret;
+  }
+ 
+  /**
+   * Returns the Position of the first token if the sequence is found,
+   * otherwise undefined. Strings and Comments are ignored in this search.
+   * @param first - Text of the first Token
+   * @param second - Text of the second Token
+   */
+  public findTokenSequencePosition(first: string, second: string): Position | undefined {
+    let prev: AbstractToken | undefined;
+    for (const token of this.getTokens()) {
+      if (token instanceof Comment
+          || token instanceof StringToken
+          || token instanceof StringTemplate
+          || token instanceof StringTemplateBegin
+          || token instanceof StringTemplateMiddle
+          || token instanceof StringTemplateEnd) {
+        continue;
+      }
+      if (prev && token.getStr().toUpperCase() === second && prev?.getStr().toUpperCase() === first.toUpperCase()) {
+        return prev.getStart();
+      } else {
+        prev = token;
+      }
+    }
+    return undefined;
+  }
+ 
+  public findExpressionAfterToken(text: string): ExpressionNode | undefined {
+    const children = this.getChildren();
+ 
+    for (let i = 0; i < children.length - 1; i++) {
+      const c = children[i];
+      const next = children[i + 1];
+      if (c instanceof TokenNode
+          && c.get().getStr().toUpperCase() === text.toUpperCase()
+          && next instanceof ExpressionNode) {
+        return next;
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  public findExpressionsAfterToken(text: string): ExpressionNode[] {
+    const children = this.getChildren();
+    const ret = [];
+ 
+    for (let i = 0; i < children.length - 1; i++) {
+      const c = children[i];
+      const next = children[i + 1];
+      if (c instanceof TokenNode
+          && c.get().getStr().toUpperCase() === text.toUpperCase()
+          && next instanceof ExpressionNode) {
+        ret.push(next);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+////////////////////////////////
+ 
+  private toTokens(b: INode): readonly AbstractToken[] {
+    const tokens: AbstractToken[] = [];
+ 
+    if (b instanceof TokenNode) {
+      tokens.push(b.get());
+      return tokens;
+    }
+ 
+    for (const c of b.getChildren()) {
+      if (c instanceof TokenNode) {
+        tokens.push(c.get());
+      } else {
+        tokens.push(...this.toTokens(c));
+      }
+    }
+ 
+    return tokens;
+  }
+ 
+  private toTokenNodess(b: INode): readonly TokenNode[] {
+    const tokens: TokenNode[] = [];
+ 
+    if (b instanceof TokenNode) {
+      tokens.push(b);
+      return tokens;
+    }
+ 
+    for (const c of b.getChildren()) {
+      if (c instanceof TokenNode) {
+        tokens.push(c);
+      } else {
+        tokens.push(...this.toTokenNodess(c));
+      }
+    }
+ 
+    return tokens;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/nodes/structure_node.ts.html b/src/abap/nodes/structure_node.ts.html new file mode 100644 index 00000000000..08a2450a519 --- /dev/null +++ b/src/abap/nodes/structure_node.ts.html @@ -0,0 +1,898 @@ + + + + + + Code coverage report for src/abap/nodes/structure_node.ts + + + + + + + + + +
+
+

All files / src/abap/nodes structure_node.ts

+
+ +
+ 94.48% + Statements + 257/272 +
+ + +
+ 94% + Branches + 94/100 +
+ + +
+ 100% + Functions + 22/22 +
+ + +
+ 94.48% + Lines + 257/272 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +2721x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +38530x +38530x +38530x +1x +1x +326227x +326227x +1x +1x +1x +350x +710x +70x +710x +360x +640x +280x +280x +244x +244x +280x +710x +36x +36x +1x +1x +45x +45x +63x +63x +45x +45x +1x +1x +205x +293x +174x +174x +293x +31x +31x +1x +1x +3608x +3608x +5477x +607x +607x +5477x +3608x +3608x +1x +1x +7904x +7904x +13711x +704x +704x +13711x +7904x +7904x +1x +1x +6043x +6632x +5363x +6632x +710x +1269x +559x +559x +75x +75x +559x +6632x +605x +605x +1x +1x +10804x +20362x +20362x +2911x +2911x +20362x +7893x +7893x +1x +1x +146x +146x +145x +145x +1x +1x +  +  +1x +1x +389x +389x +389x +389x +389x +  +  +  +1x +1x +1404x +1404x +1404x +1404x +1404x +  +  +  +1x +1x +21540x +21540x +41608x +41608x +21540x +21540x +1x +1x +7811x +7811x +7811x +14796x +8646x +14796x +6150x +6150x +14796x +7811x +7811x +1x +1x +5266x +5266x +10024x +10024x +5266x +5266x +1x +1x +76670x +76670x +149238x +56324x +149238x +2637x +2637x +149238x +76670x +76670x +1x +1x +2243x +2243x +4397x +2730x +4397x +1667x +1667x +4397x +2243x +2243x +1x +1x +29025x +29025x +29025x +55883x +32532x +55883x +232x +232x +23351x +23351x +29025x +29025x +1x +1x +2120x +2120x +5112x +135x +135x +5112x +2120x +3958x +2346x +2346x +1612x +1612x +3958x +4020x +  +  +  +4020x +1612x +1612x +1612x +3958x +1985x +1985x +1x +1x +113981x +113981x +  +  +113981x +195928x +108766x +195928x +3732x +87162x +83430x +83430x +195928x +113981x +113981x +1x +1x +11455x +2788x +2788x +11455x +21585x +2021x +2021x +21585x +6646x +6646x +1x +1x +29579x +  +  +29579x +63475x +43955x +63475x +5276x +19520x +14244x +14244x +14x +14x +14244x +63475x +24289x +24289x +1x +1x
import {AbstractNode} from "./_abstract_node";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {IStatement} from "../2_statements/statements/_statement";
+import {IStructure} from "../3_structures/structures/_structure";
+import {IStatementRunnable} from "../2_statements/statement_runnable";
+import {StatementNode} from "./statement_node";
+import {ExpressionNode} from "./expression_node";
+ 
+export class StructureNode extends AbstractNode<StructureNode | StatementNode> {
+  private readonly structure: IStructure;
+ 
+  public constructor(structure: IStructure) {
+    super();
+    this.structure = structure;
+  }
+ 
+  public get() {
+    return this.structure;
+  }
+ 
+  // todo, remove this method, the logic should never go up in the tree
+  public findParent(node: StatementNode): StructureNode | undefined {
+    for (const child of this.getChildren()) {
+      if (child === node) {
+        return this;
+      } else if (child instanceof StatementNode) {
+        continue;
+      } else {
+        const res = child.findParent(node);
+        if (res) {
+          return res;
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+  public concatTokens(): string {
+    let concat = "";
+    for (const child of this.getChildren()) {
+      concat = concat + child.concatTokens();
+    }
+    return concat;
+  }
+ 
+  public findDirectStatement(type: new () => IStatement): StatementNode | undefined {
+    for (const child of this.getChildren()) {
+      if (child instanceof StatementNode && child.get() instanceof type) {
+        return child;
+      }
+    }
+    return undefined;
+  }
+ 
+  public findDirectStatements(type: new () => IStatement): StatementNode[] {
+    const ret: StatementNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof StatementNode && child.get() instanceof type) {
+        ret.push(child);
+      }
+    }
+    return ret;
+  }
+ 
+  public findDirectStructures(type: new () => IStructure): StructureNode[] {
+    const ret: StructureNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof StructureNode && child.get() instanceof type) {
+        ret.push(child);
+      }
+    }
+    return ret;
+  }
+ 
+  public findFirstStatement(type: new () => IStatement): StatementNode | undefined {
+    for (const child of this.getChildren()) {
+      if (child.get() instanceof type) {
+        return child as StatementNode;
+      } else if (child instanceof StatementNode) {
+        continue;
+      } else {
+        const res = child.findFirstStatement(type);
+        if (res) {
+          return res;
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+  public findFirstExpression(type: new () => IStatementRunnable): ExpressionNode | undefined {
+    for (const child of this.getChildren()) {
+      const res = child.findFirstExpression(type);
+      if (res) {
+        return res;
+      }
+    }
+    return undefined;
+  }
+ 
+  public getFirstStatement(): StatementNode | undefined {
+    for (const child of this.getChildren()) {
+      if (child instanceof StatementNode) {
+        return child;
+      }
+      return child.getFirstStatement();
+    }
+    return undefined;
+  }
+ 
+  public getFirstToken(): AbstractToken {
+    const child = this.getFirstChild();
+ 
+    if (child !== undefined) {
+      return child.getFirstToken();
+    }
+
+    throw new Error("StructureNode, getFirstToken, unexpected type");
+  }
+ 
+  public getLastToken(): AbstractToken {
+    const child = this.getLastChild();
+ 
+    if (child !== undefined) {
+      return child.getLastToken();
+    }
+
+    throw new Error("StructureNode, getLastToken, unexpected type");
+  }
+ 
+  public findAllExpressions(type: new () => IStatementRunnable): ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      ret.push(...child.findAllExpressions(type));
+    }
+    return ret;
+  }
+ 
+  public findAllExpressionsRecursive(type: new () => IStatementRunnable): ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+ 
+    for (const child of this.getChildren()) {
+      if (child instanceof StatementNode) {
+        ret.push(...child.findAllExpressionsRecursive(type));
+      } else {
+        ret.push(...child.findAllExpressionsRecursive(type));
+      }
+    }
+    return ret;
+  }
+ 
+  public findAllExpressionsMulti(type: (new () => IStatementRunnable)[]): ExpressionNode[] {
+    const ret: ExpressionNode[] = [];
+    for (const child of this.getChildren()) {
+      ret.push(...child.findAllExpressionsMulti(type));
+    }
+    return ret;
+  }
+ 
+  public findAllStatements(type: new () => IStatement): StatementNode[] {
+    const ret: StatementNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof StructureNode) {
+        ret.push(...child.findAllStatements(type));
+      } else if (child.get() instanceof type) {
+        ret.push(child);
+      }
+    }
+    return ret;
+  }
+ 
+  public findAllStatementNodes(): StatementNode[] {
+    const ret: StatementNode[] = [];
+    for (const child of this.getChildren()) {
+      if (child instanceof StatementNode) {
+        ret.push(child);
+      } else {
+        ret.push(...child.findAllStatementNodes());
+      }
+    }
+    return ret;
+  }
+ 
+  public findAllStructuresRecursive(type: new () => IStructure): StructureNode[] {
+    const ret: StructureNode[] = [];
+ 
+    for (const child of this.getChildren()) {
+      if (child instanceof StatementNode) {
+        continue;
+      } else if (child.get() instanceof type) {
+        ret.push(child);
+      }
+      ret.push(...child.findAllStructuresRecursive(type));
+    }
+    return ret;
+  }
+ 
+  public findAllStructuresMulti(type: (new () => IStructure)[]): StructureNode[] {
+    const ret: StructureNode[] = [];
+    for (const t of type) {
+      if (this.get() instanceof t) {
+        return [this];
+      }
+    }
+    for (const child of this.getChildren()) {
+      if (child instanceof StatementNode) {
+        continue;
+      }
+ 
+      let found = false;
+      for (const t of type) {
+        if (this.get() instanceof t) {
+          ret.push(child);
+          found = true;
+        }
+      }
+      if (found === false) {
+        ret.push(...child.findAllStructuresMulti(type));
+      }
+    }
+    return ret;
+  }
+ 
+  public findAllStructures(type: new () => IStructure): StructureNode[] {
+    const ret: StructureNode[] = [];
+    if (this.get() instanceof type) {
+      return [this];
+    }
+    for (const child of this.getChildren()) {
+      if (child instanceof StatementNode) {
+        continue;
+      } else if (child.get() instanceof type) {
+        ret.push(child);
+      } else {
+        ret.push(...child.findAllStructures(type));
+      }
+    }
+    return ret;
+  }
+ 
+  public findDirectStructure(type: new () => IStructure): StructureNode | undefined {
+    if (this.get() instanceof type) {
+      return this;
+    }
+    for (const child of this.getChildren()) {
+      if (child.get() instanceof type) {
+        return child as StructureNode;
+      }
+    }
+    return undefined;
+  }
+ 
+  public findFirstStructure(type: new () => IStructure): StructureNode | undefined {
+    if (this.get() instanceof type) {
+      return this;
+    }
+    for (const child of this.getChildren()) {
+      if (child instanceof StatementNode) {
+        continue;
+      } else if (child.get() instanceof type) {
+        return child;
+      } else {
+        const res = child.findFirstStructure(type);
+        if (res) {
+          return res;
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/nodes/token_node.ts.html b/src/abap/nodes/token_node.ts.html new file mode 100644 index 00000000000..edf8720d04b --- /dev/null +++ b/src/abap/nodes/token_node.ts.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for src/abap/nodes/token_node.ts + + + + + + + + + +
+
+

All files / src/abap/nodes token_node.ts

+
+ +
+ 85.71% + Statements + 36/42 +
+ + +
+ 100% + Branches + 6/6 +
+ + +
+ 66.66% + Functions + 6/9 +
+ + +
+ 85.71% + Lines + 36/42 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +421x +1x +1x +1x +1x +1x +1x +509904x +509904x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +328x +328x +1x +1x +351812x +351812x +1x +1x +632751x +632751x +1x +1x +87696x +87696x +1x +1x +39193x +39193x +1x
import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {INode} from "./_inode";
+ 
+export class TokenNode implements INode {
+  private readonly token: AbstractToken;
+ 
+  public constructor(token: AbstractToken) {
+    this.token = token;
+  }
+ 
+  public addChild(_n: INode): void {
+    throw new Error("TokenNode, Method not implemented.");
+  }
+ 
+  public setChildren(_children: INode[]): void {
+    throw new Error("TokenNode, Method not implemented.");
+  }
+ 
+  public getChildren(): readonly INode[] {
+    return [];
+  }
+ 
+  public concatTokens(): string {
+    return this.token.getStr();
+  }
+ 
+  public get(): AbstractToken {
+    return this.token;
+  }
+ 
+  public countTokens(): number {
+    return 1;
+  }
+ 
+  public getFirstToken(): AbstractToken {
+    return this.token;
+  }
+ 
+  public getLastToken(): AbstractToken {
+    return this.token;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/nodes/token_node_regex.ts.html b/src/abap/nodes/token_node_regex.ts.html new file mode 100644 index 00000000000..7edc59b6bec --- /dev/null +++ b/src/abap/nodes/token_node_regex.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/abap/nodes/token_node_regex.ts + + + + + + + + + +
+
+

All files / src/abap/nodes token_node_regex.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +61x +1x +1x +1x +1x + 
import {TokenNode} from "./token_node";
+ 
+ 
+export class TokenNodeRegex extends TokenNode {
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/_typed_identifier.ts.html b/src/abap/types/_typed_identifier.ts.html new file mode 100644 index 00000000000..9e6d34a5414 --- /dev/null +++ b/src/abap/types/_typed_identifier.ts.html @@ -0,0 +1,289 @@ + + + + + + Code coverage report for src/abap/types/_typed_identifier.ts + + + + + + + + + +
+
+

All files / src/abap/types _typed_identifier.ts

+
+ +
+ 92.75% + Statements + 64/69 +
+ + +
+ 85.71% + Branches + 6/7 +
+ + +
+ 83.33% + Functions + 5/6 +
+ + +
+ 92.75% + Lines + 64/69 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +691x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +  +  +1x +1x +53404x +53404x +53404x +53404x +  +53404x +53404x +53404x +53404x +53404x +53404x +53404x +29285x +29285x +53404x +1x +1x +55x +55x +1x +1x +19114x +19114x +1x +1x +1231x +1231x +1x +1x +573x +573x +1x +1x
import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {Identifier} from "../4_file_information/_identifier";
+import {AbstractType} from "./basic/_abstract_type";
+ 
+export const enum IdentifierMeta {
+  MethodImporting = "importing",
+  MethodExporting = "exporting",
+  MethodChanging = "changing",
+  MethodReturning = "returning",
+  EventParameter = "event_parameter",
+  FormParameter = "form_parameter",
+  ReadOnly = "read_only",
+  Abstract = "abstract",
+  PassByValue = "pass_by_value",
+  InlineDefinition = "inline",
+  BuiltIn = "built-in",
+  DDIC = "ddic",
+  Static = "static",
+  Enum = "enum",
+  SelectionScreenTab = "selection_screen_tab",
+// todo, MethodPreferred
+// todo, Optional
+}
+ 
+export class TypedIdentifier extends Identifier {
+  private readonly type: AbstractType;
+  private readonly meta: readonly IdentifierMeta[];
+  private readonly value: string | {[index: string]: string} | undefined;
+  public [Symbol.for("debug.description")](){
+    return `${this.constructor.name} ${this.getName()}:${this.getType().constructor.name}`;
+  }
+  public static from(id: Identifier, type: TypedIdentifier | AbstractType, meta?: readonly IdentifierMeta[]): TypedIdentifier {
+    return new TypedIdentifier(id.getToken(), id.getFilename(), type, meta);
+  }
+ 
+  public constructor(token: AbstractToken, filename: string, type: TypedIdentifier | AbstractType,
+                     meta?: readonly IdentifierMeta[], value?: string | {[index: string]: string}) {
+    super(token, filename);
+ 
+    if (type instanceof TypedIdentifier) {
+      this.type = type.getType();
+    } else {
+      this.type = type;
+    }
+ 
+    this.value = value;
+    this.meta = [];
+    if (meta) {
+      this.meta = meta;
+    }
+  }
+ 
+  public toText(): string {
+    return "Identifier: ```" + this.getName() + "```";
+  }
+ 
+  public getType(): AbstractType {
+    return this.type;
+  }
+ 
+  public getMeta(): readonly IdentifierMeta[] {
+    return this.meta;
+  }
+ 
+  public getValue() {
+    return this.value;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/alias.ts.html b/src/abap/types/alias.ts.html new file mode 100644 index 00000000000..3dcf739a635 --- /dev/null +++ b/src/abap/types/alias.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/abap/types/alias.ts + + + + + + + + + +
+
+

All files / src/abap/types alias.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +26x +26x +26x +26x +1x +1x +30x +30x +1x +1x +1x +1x +1x
import {Identifier} from "../4_file_information/_identifier";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {Visibility} from "../4_file_information/visibility";
+ 
+export class Alias extends Identifier {
+  private readonly visibility: Visibility;
+  private readonly component: string;
+ 
+  public constructor(token: AbstractToken, visibility: Visibility, component: string, filename: string) {
+    super(token, filename);
+    this.component = component;
+    this.visibility = visibility;
+  }
+ 
+  public getComponent(): string {
+    return this.component;
+  }
+ 
+  public getVisibility(): Visibility {
+    return this.visibility;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/_abstract_type.ts.html b/src/abap/types/basic/_abstract_type.ts.html new file mode 100644 index 00000000000..193372dbed9 --- /dev/null +++ b/src/abap/types/basic/_abstract_type.ts.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for src/abap/types/basic/_abstract_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic _abstract_type.ts

+
+ +
+ 100% + Statements + 42/42 +
+ + +
+ 72.72% + Branches + 8/11 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 42/42 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +421x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1177399x +1177399x +1x +1x +161x +161x +1x +1x +1x +291x +291x +1x +1x +56x +56x +1x +1x +58x +58x +1x +1x +63x +63x +1x +1x +1x +1x +1x +1x +1x
export type AbstractTypeData = {
+  qualifiedName?: string,
+  conversionExit?: string,
+  derivedFromConstant?: boolean,
+  ddicName?: string,
+  RTTIName?: string,
+};
+ 
+export abstract class AbstractType {
+  protected readonly data: AbstractTypeData | undefined;
+ 
+  public constructor(input?: AbstractTypeData) {
+    this.data = input;
+  }
+ 
+  public getAbstractTypeData() {
+    return this.data;
+  }
+ 
+  /** fully qualified symbolic name of the type */
+  public getQualifiedName(): string | undefined {
+    return this.data?.qualifiedName;
+  }
+ 
+  public getRTTIName(): string | undefined {
+    return this.data?.RTTIName;
+  }
+ 
+  public getConversionExit(): string | undefined {
+    return this.data?.conversionExit;
+  }
+ 
+  public getDDICName(): string | undefined {
+    return this.data?.ddicName;
+  }
+ 
+  public abstract toText(level: number): string;
+  public abstract toABAP(): string;
+  public abstract toCDS(): string;
+  public abstract isGeneric(): boolean;
+  public abstract containsVoid(): boolean;
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/any_type.ts.html b/src/abap/types/basic/any_type.ts.html new file mode 100644 index 00000000000..75494411a68 --- /dev/null +++ b/src/abap/types/basic/any_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/any_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic any_type.ts

+
+ +
+ 91.3% + Statements + 21/23 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 91.3% + Lines + 21/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +9x +9x +1x +1x +6x +6x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class AnyType extends AbstractType {
+  public toText() {
+    return "```any```";
+  }
+ 
+  public toABAP() {
+    return "any";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_ANY";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/cgeneric_type.ts.html b/src/abap/types/basic/cgeneric_type.ts.html new file mode 100644 index 00000000000..7814ed7326b --- /dev/null +++ b/src/abap/types/basic/cgeneric_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/cgeneric_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic cgeneric_type.ts

+
+ +
+ 56.52% + Statements + 13/23 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 56.52% + Lines + 13/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class CGenericType extends AbstractType {
+  public toText() {
+    return "```c```";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public toABAP(): string {
+    throw new Error("c, generic");
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_CGENERIC";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/character_type.ts.html b/src/abap/types/basic/character_type.ts.html new file mode 100644 index 00000000000..b3fa1e0f0ff --- /dev/null +++ b/src/abap/types/basic/character_type.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/abap/types/basic/character_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic character_type.ts

+
+ +
+ 85.45% + Statements + 47/55 +
+ + +
+ 75% + Branches + 9/12 +
+ + +
+ 77.77% + Functions + 7/9 +
+ + +
+ 85.45% + Lines + 47/55 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +551x +1x +1x +1x +1x +1x +1001383x +1001383x +1x +1x +1001382x +1001382x +1x +1x +5x +5x +5x +5x +5x +  +  +5x +  +  +5x +5x +1x +1x +415x +415x +1x +1x +127x +127x +1x +1x +4x +4x +1x +1x +495x +495x +1x +1x +249x +249x +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType, AbstractTypeData} from "./_abstract_type";
+ 
+export class CharacterType extends AbstractType {
+  private readonly length: number;
+ 
+  public constructor(length: number, extra?: AbstractTypeData) {
+    super(extra);
+    if (length <= 0) {
+      throw new Error("Bad LENGTH, Character");
+    }
+    this.length = length;
+  }
+ 
+  public cloneType(input: {qualifiedName?: string, ddicName?: string, derivedFromConstant?: boolean}) {
+    const clone = {...this.getAbstractTypeData()} || {};
+    if (input.qualifiedName) {
+      clone.qualifiedName = input.qualifiedName;
+    }
+    if (input.ddicName) {
+      clone.ddicName = input.ddicName;
+    }
+    if (input.derivedFromConstant) {
+      clone.derivedFromConstant = input.derivedFromConstant;
+    }
+    return new CharacterType(this.length, clone);
+  }
+ 
+  public getLength() {
+    return this.length;
+  }
+ 
+  public toText() {
+    return "```c LENGTH " + this.getLength() + "```";
+  }
+ 
+  public toABAP() {
+    return "c LENGTH " + this.getLength();
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public getIdentifier() {
+    return undefined;
+  }
+ 
+  public toCDS() {
+    return "abap.char( " + this.getLength() + " )";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/clike_type.ts.html b/src/abap/types/basic/clike_type.ts.html new file mode 100644 index 00000000000..93a2751510c --- /dev/null +++ b/src/abap/types/basic/clike_type.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/abap/types/basic/clike_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic clike_type.ts

+
+ +
+ 81.81% + Statements + 27/33 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 57.14% + Functions + 4/7 +
+ + +
+ 81.81% + Lines + 27/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +1x +1x +1x +1x +146x +146x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x +4x +4x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class CLikeType extends AbstractType {
+  private static readonly singleton = new CLikeType();
+ 
+  public static get(): CLikeType {
+    return this.singleton;
+  }
+ 
+  private constructor() {
+    super();
+  }
+ 
+  public toText() {
+    return "```clike```";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public toABAP(): string {
+    throw new Error("clike, generic");
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_CLIKE";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/csequence_type.ts.html b/src/abap/types/basic/csequence_type.ts.html new file mode 100644 index 00000000000..9743b535945 --- /dev/null +++ b/src/abap/types/basic/csequence_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/csequence_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic csequence_type.ts

+
+ +
+ 65.21% + Statements + 15/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 20% + Functions + 1/5 +
+ + +
+ 65.21% + Lines + 15/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class CSequenceType extends AbstractType {
+  public toText() {
+    return "```csequence```";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public toABAP(): string {
+    throw new Error("csequence, generic");
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_CSEQUENCE";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/data_reference_type.ts.html b/src/abap/types/basic/data_reference_type.ts.html new file mode 100644 index 00000000000..83cd6cc9741 --- /dev/null +++ b/src/abap/types/basic/data_reference_type.ts.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for src/abap/types/basic/data_reference_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic data_reference_type.ts

+
+ +
+ 90.47% + Statements + 38/42 +
+ + +
+ 88.88% + Branches + 8/9 +
+ + +
+ 85.71% + Functions + 6/7 +
+ + +
+ 90.47% + Lines + 38/42 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +421x +1x +1x +1x +1x +1x +1x +93x +93x +93x +1x +1x +1x +1x +1x +1x +40x +40x +1x +1x +3x +3x +  +  +3x +3x +1x +1x +49x +1x +1x +48x +48x +1x +1x +2x +2x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+import {AnyType} from "./any_type";
+ 
+export class DataReference extends AbstractType {
+  private readonly type: AbstractType;
+ 
+  public constructor(type: AbstractType, qualifiedName?: string) {
+    super({qualifiedName: qualifiedName});
+    this.type = type;
+  }
+ 
+  public toText(level: number) {
+    return "Data REF TO " + this.type.toText(level + 1);
+  }
+ 
+  public getType(): AbstractType {
+    return this.type;
+  }
+ 
+  public toABAP(): string {
+    const type = this.type.toABAP();
+    if (type.includes(" TABLE OF ")) {
+      return ""; // hmm, should this return undefined?
+    }
+    return "REF TO " + this.type.toABAP();
+  }
+ 
+  public isGeneric() {
+    if (this.type instanceof AnyType) {
+      return true;
+    }
+    return false;
+  }
+ 
+  public containsVoid() {
+    return this.type.containsVoid();
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_REFERENCE";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/data_type.ts.html b/src/abap/types/basic/data_type.ts.html new file mode 100644 index 00000000000..2d5df247e3d --- /dev/null +++ b/src/abap/types/basic/data_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/data_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic data_type.ts

+
+ +
+ 56.52% + Statements + 13/23 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 56.52% + Lines + 13/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class DataType extends AbstractType {
+  public toText() {
+    return "```data```";
+  }
+ 
+  public toABAP() {
+    return "data";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_DATA";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/date_type.ts.html b/src/abap/types/basic/date_type.ts.html new file mode 100644 index 00000000000..df88b8567e0 --- /dev/null +++ b/src/abap/types/basic/date_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/date_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic date_type.ts

+
+ +
+ 82.6% + Statements + 19/23 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 60% + Functions + 3/5 +
+ + +
+ 82.6% + Lines + 19/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +3x +3x +1x +1x +19x +19x +1x +1x +  +  +1x +1x +6x +6x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class DateType extends AbstractType {
+  public toText() {
+    return "```d```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "d";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.dats";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/decfloat16_type.ts.html b/src/abap/types/basic/decfloat16_type.ts.html new file mode 100644 index 00000000000..98857fe3e61 --- /dev/null +++ b/src/abap/types/basic/decfloat16_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/decfloat16_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic decfloat16_type.ts

+
+ +
+ 65.21% + Statements + 15/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 20% + Functions + 1/5 +
+ + +
+ 65.21% + Lines + 15/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class DecFloat16Type extends AbstractType {
+  public toText() {
+    return "```decfloat16```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "decfloat16";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.d16n";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/decfloat34_type.ts.html b/src/abap/types/basic/decfloat34_type.ts.html new file mode 100644 index 00000000000..a9bc9a7fe26 --- /dev/null +++ b/src/abap/types/basic/decfloat34_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/decfloat34_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic decfloat34_type.ts

+
+ +
+ 65.21% + Statements + 15/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 20% + Functions + 1/5 +
+ + +
+ 65.21% + Lines + 15/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +2x +2x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class DecFloat34Type extends AbstractType {
+  public toText() {
+    return "```decfloat34```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "decfloat34";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.d34n";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/decfloat_type.ts.html b/src/abap/types/basic/decfloat_type.ts.html new file mode 100644 index 00000000000..1bcdba4f2e0 --- /dev/null +++ b/src/abap/types/basic/decfloat_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/decfloat_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic decfloat_type.ts

+
+ +
+ 56.52% + Statements + 13/23 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 56.52% + Lines + 13/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class DecFloatType extends AbstractType {
+  public toText() {
+    return "```decfloat```";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public toABAP(): string {
+    return "decfloat";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.fltp";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/enum_type.ts.html b/src/abap/types/basic/enum_type.ts.html new file mode 100644 index 00000000000..300038bfd83 --- /dev/null +++ b/src/abap/types/basic/enum_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/enum_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic enum_type.ts

+
+ +
+ 82.6% + Statements + 19/23 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 60% + Functions + 3/5 +
+ + +
+ 82.6% + Lines + 19/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +8x +8x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class EnumType extends AbstractType {
+  public toText() {
+    return "enum";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return this.getQualifiedName() || "enum";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_ENUM";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/float_type.ts.html b/src/abap/types/basic/float_type.ts.html new file mode 100644 index 00000000000..4fa12d28f02 --- /dev/null +++ b/src/abap/types/basic/float_type.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/abap/types/basic/float_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic float_type.ts

+
+ +
+ 69.23% + Statements + 18/26 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 20% + Functions + 1/5 +
+ + +
+ 69.23% + Lines + 18/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +10x +10x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+// this is the ABAP "F" type, which is IEEE?
+// todo, same as FloatingPointType ?
+ 
+export class FloatType extends AbstractType {
+  public toText() {
+    return "```f```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "f";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.fltp";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/floating_point_type.ts.html b/src/abap/types/basic/floating_point_type.ts.html new file mode 100644 index 00000000000..e21cc6c1168 --- /dev/null +++ b/src/abap/types/basic/floating_point_type.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/abap/types/basic/floating_point_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic floating_point_type.ts

+
+ +
+ 64.1% + Statements + 25/39 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 14.28% + Functions + 1/7 +
+ + +
+ 64.1% + Lines + 25/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +391x +1x +1x +1x +1x +1x +1x +1x +2x +2x +  +  +2x +2x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+// this is the DDIC floating point type
+ 
+export class FloatingPointType extends AbstractType {
+  private readonly length: number;
+ 
+  public constructor(length: number, qualifiedName?: string) {
+    super({qualifiedName: qualifiedName});
+    if (length <= 0) {
+      throw new Error("Bad LENGTH, Floating Point");
+    }
+    this.length = length;
+  }
+ 
+  public getLength() {
+    return this.length;
+  }
+ 
+  public toText() {
+    return "```f LENGTH " + this.getLength() + "```";
+  }
+ 
+  public toABAP(): string {
+    return "f LENGTH " + this.getLength();
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.fltp";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/generic_object_reference_type.ts.html b/src/abap/types/basic/generic_object_reference_type.ts.html new file mode 100644 index 00000000000..3307bd90942 --- /dev/null +++ b/src/abap/types/basic/generic_object_reference_type.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/abap/types/basic/generic_object_reference_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic generic_object_reference_type.ts

+
+ +
+ 68% + Statements + 17/25 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 20% + Functions + 1/5 +
+ + +
+ 68% + Lines + 17/25 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +251x +1x +1x +1x +1x +  +  +1x +1x +39x +39x +39x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class GenericObjectReferenceType extends AbstractType {
+ 
+  public toText() {
+    return "```REF TO object```";
+  }
+ 
+  public isGeneric() {
+    // a DATA definition can be "REF TO object", so its not generic
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "REF TO object";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_GENERICOBJECTREF";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/hex_type.ts.html b/src/abap/types/basic/hex_type.ts.html new file mode 100644 index 00000000000..148e23c6061 --- /dev/null +++ b/src/abap/types/basic/hex_type.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/abap/types/basic/hex_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic hex_type.ts

+
+ +
+ 83.78% + Statements + 31/37 +
+ + +
+ 83.33% + Branches + 5/6 +
+ + +
+ 71.42% + Functions + 5/7 +
+ + +
+ 83.78% + Lines + 31/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +1x +1x +1x +1x +18398x +18398x +  +  +18398x +18398x +1x +1x +16x +16x +1x +1x +2x +2x +1x +1x +  +  +1x +1x +32x +32x +1x +1x +6x +6x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class HexType extends AbstractType {
+  private readonly length: number;
+ 
+  public constructor(length: number, qualifiedName?: string) {
+    super({qualifiedName: qualifiedName});
+    if (length <= 0) {
+      throw new Error("Bad LENGTH, Hex");
+    }
+    this.length = length;
+  }
+ 
+  public getLength() {
+    return this.length;
+  }
+ 
+  public toText() {
+    return "```x LENGTH " + this.getLength() + "```";
+  }
+ 
+  public toABAP(): string {
+    return "x LENGTH " + this.getLength();
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.raw( " + this.getLength() + " )";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/index.html b/src/abap/types/basic/index.html new file mode 100644 index 00000000000..304b8ecf563 --- /dev/null +++ b/src/abap/types/basic/index.html @@ -0,0 +1,626 @@ + + + + + + Code coverage report for src/abap/types/basic + + + + + + + + + +
+
+

All files src/abap/types/basic

+
+ +
+ 80.77% + Statements + 941/1165 +
+ + +
+ 89.44% + Branches + 144/161 +
+ + +
+ 51.19% + Functions + 107/209 +
+ + +
+ 80.77% + Lines + 941/1165 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_abstract_type.ts +
+
100%42/4272.72%8/11100%6/6100%42/42
any_type.ts +
+
91.3%21/23100%4/480%4/591.3%21/23
cgeneric_type.ts +
+
56.52%13/23100%0/00%0/556.52%13/23
character_type.ts +
+
85.45%47/5575%9/1277.77%7/985.45%47/55
clike_type.ts +
+
81.81%27/33100%4/457.14%4/781.81%27/33
csequence_type.ts +
+
65.21%15/23100%1/120%1/565.21%15/23
data_reference_type.ts +
+
90.47%38/4288.88%8/985.71%6/790.47%38/42
data_type.ts +
+
56.52%13/23100%0/00%0/556.52%13/23
date_type.ts +
+
82.6%19/23100%3/360%3/582.6%19/23
decfloat16_type.ts +
+
65.21%15/23100%1/120%1/565.21%15/23
decfloat34_type.ts +
+
65.21%15/23100%1/120%1/565.21%15/23
decfloat_type.ts +
+
56.52%13/23100%0/00%0/556.52%13/23
enum_type.ts +
+
82.6%19/23100%3/360%3/582.6%19/23
float_type.ts +
+
69.23%18/26100%1/120%1/569.23%18/26
floating_point_type.ts +
+
64.1%25/3950%1/214.28%1/764.1%25/39
generic_object_reference_type.ts +
+
68%17/25100%1/120%1/568%17/25
hex_type.ts +
+
83.78%31/3783.33%5/671.42%5/783.78%31/37
index.ts +
+
100%32/32100%0/0100%0/0100%32/32
integer8_type.ts +
+
65.21%15/23100%1/120%1/565.21%15/23
integer_type.ts +
+
95.55%43/45100%13/1387.5%7/895.55%43/45
numeric_generic_type.ts +
+
56.52%13/23100%0/00%0/556.52%13/23
numeric_type.ts +
+
83.78%31/3783.33%5/671.42%5/783.78%31/37
object_reference_type.ts +
+
95%38/40100%7/787.5%7/895%38/40
packed_type.ts +
+
84.44%38/4575%6/875%6/884.44%38/45
simple_type.ts +
+
56.52%13/23100%0/00%0/556.52%13/23
string_type.ts +
+
95.55%43/45100%13/1387.5%7/895.55%43/45
structure_type.ts +
+
91.42%64/7086.66%13/1587.5%7/891.42%64/70
table_type.ts +
+
96.7%88/9188%22/2590%9/1096.7%88/91
time_type.ts +
+
82.6%19/23100%3/360%3/582.6%19/23
unknown_type.ts +
+
82.35%28/34100%4/457.14%4/782.35%28/34
utc_long_type.ts +
+
65.21%15/23100%1/120%1/565.21%15/23
void_type.ts +
+
88.57%31/35100%5/571.42%5/788.57%31/35
xgeneric_type.ts +
+
56.52%13/23100%0/00%0/556.52%13/23
xsequence_type.ts +
+
56.52%13/23100%0/00%0/556.52%13/23
xstring_type.ts +
+
66.66%16/24100%1/120%1/566.66%16/24
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/index.ts.html b/src/abap/types/basic/index.ts.html new file mode 100644 index 00000000000..e8216ec175c --- /dev/null +++ b/src/abap/types/basic/index.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/abap/types/basic/index.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic index.ts

+
+ +
+ 100% + Statements + 32/32 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 32/32 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
export * from "./any_type";
+export * from "./cgeneric_type";
+export * from "./character_type";
+export * from "./clike_type";
+export * from "./csequence_type";
+export * from "./data_reference_type";
+export * from "./data_type";
+export * from "./date_type";
+export * from "./decfloat_type";
+export * from "./decfloat16_type";
+export * from "./decfloat34_type";
+export * from "./float_type";
+export * from "./floating_point_type";
+export * from "./generic_object_reference_type";
+export * from "./hex_type";
+export * from "./integer_type";
+export * from "./integer8_type";
+export * from "./numeric_generic_type";
+export * from "./numeric_type";
+export * from "./object_reference_type";
+export * from "./packed_type";
+export * from "./simple_type";
+export * from "./string_type";
+export * from "./structure_type";
+export * from "./table_type";
+export * from "./time_type";
+export * from "./unknown_type";
+export * from "./utc_long_type";
+export * from "./void_type";
+export * from "./xgeneric_type";
+export * from "./xsequence_type";
+export * from "./xstring_type";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/integer8_type.ts.html b/src/abap/types/basic/integer8_type.ts.html new file mode 100644 index 00000000000..d75e628f040 --- /dev/null +++ b/src/abap/types/basic/integer8_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/integer8_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic integer8_type.ts

+
+ +
+ 65.21% + Statements + 15/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 20% + Functions + 1/5 +
+ + +
+ 65.21% + Lines + 15/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +9x +9x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class Integer8Type extends AbstractType {
+  public toText() {
+    return "```int8```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "int8";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.int8";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/integer_type.ts.html b/src/abap/types/basic/integer_type.ts.html new file mode 100644 index 00000000000..e88d3d522ef --- /dev/null +++ b/src/abap/types/basic/integer_type.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/abap/types/basic/integer_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic integer_type.ts

+
+ +
+ 95.55% + Statements + 43/45 +
+ + +
+ 100% + Branches + 13/13 +
+ + +
+ 87.5% + Functions + 7/8 +
+ + +
+ 95.55% + Lines + 43/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +451x +1x +1x +1x +1x +1x +451364x +440557x +440557x +10807x +10807x +1x +1x +10808x +10808x +1x +1x +1x +98x +98x +48x +48x +50x +50x +1x +1x +71x +71x +1x +1x +930x +930x +1x +1x +5x +5x +1x +1x +138x +138x +1x +1x +  +  +1x
import {AbstractType, AbstractTypeData} from "./_abstract_type";
+ 
+export class IntegerType extends AbstractType {
+  private static readonly singleton = new IntegerType();
+ 
+  public static get(input?: AbstractTypeData): IntegerType {
+    if (input === undefined) {
+      return this.singleton;
+    }
+    return new IntegerType(input);
+  }
+ 
+  private constructor(input?: AbstractTypeData) {
+    super(input);
+  }
+ 
+  /** fully qualified symbolic name of the type */
+  public getQualifiedName(): string | undefined {
+    const qual = this.data?.qualifiedName;
+    if (qual === undefined) {
+      return "I";
+    }
+    return qual;
+  }
+ 
+  public toText() {
+    return "```i```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "i";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.int4";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/numeric_generic_type.ts.html b/src/abap/types/basic/numeric_generic_type.ts.html new file mode 100644 index 00000000000..e29cff53cd4 --- /dev/null +++ b/src/abap/types/basic/numeric_generic_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/numeric_generic_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic numeric_generic_type.ts

+
+ +
+ 56.52% + Statements + 13/23 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 56.52% + Lines + 13/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class NumericGenericType extends AbstractType {
+  public toText() {
+    return "```NUMERIC```";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public toABAP(): string {
+    throw new Error("NumericGenericType, generic");
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_NUMERICGENERIC";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/numeric_type.ts.html b/src/abap/types/basic/numeric_type.ts.html new file mode 100644 index 00000000000..5190bc46d5e --- /dev/null +++ b/src/abap/types/basic/numeric_type.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/abap/types/basic/numeric_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic numeric_type.ts

+
+ +
+ 83.78% + Statements + 31/37 +
+ + +
+ 83.33% + Branches + 5/6 +
+ + +
+ 71.42% + Functions + 5/7 +
+ + +
+ 83.78% + Lines + 31/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +1x +1x +1x +1x +55054x +55054x +  +  +55054x +55054x +1x +1x +6x +6x +1x +1x +6x +6x +1x +1x +  +  +1x +1x +10x +10x +1x +1x +13x +13x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class NumericType extends AbstractType {
+  private readonly length: number;
+ 
+  public constructor(length: number, qualifiedName?: string) {
+    super({qualifiedName: qualifiedName});
+    if (length <= 0) {
+      throw new Error("Bad LENGTH, Numeric");
+    }
+    this.length = length;
+  }
+ 
+  public getLength() {
+    return this.length;
+  }
+ 
+  public toText() {
+    return "```n LENGTH " + this.getLength() + "```";
+  }
+ 
+  public toABAP(): string {
+    return "n LENGTH " + this.getLength();
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.numc( " + this.getLength() + " )";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/object_reference_type.ts.html b/src/abap/types/basic/object_reference_type.ts.html new file mode 100644 index 00000000000..fcce7213fc4 --- /dev/null +++ b/src/abap/types/basic/object_reference_type.ts.html @@ -0,0 +1,202 @@ + + + + + + Code coverage report for src/abap/types/basic/object_reference_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic object_reference_type.ts

+
+ +
+ 95% + Statements + 38/40 +
+ + +
+ 100% + Branches + 7/7 +
+ + +
+ 87.5% + Functions + 7/8 +
+ + +
+ 95% + Lines + 38/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +401x +1x +1x +1x +1x +1x +1x +1x +1225x +1225x +1225x +1x +1x +345x +345x +1x +1x +3x +3x +1x +1x +7x +7x +1x +1x +166x +166x +1x +1x +7x +7x +1x +1x +169x +169x +1x +1x +  +  +1x
import {Identifier} from "../../4_file_information/_identifier";
+import {AbstractType, AbstractTypeData} from "./_abstract_type";
+ 
+// use GenericObjectReferenceType for REF TO OBJECT
+export class ObjectReferenceType extends AbstractType {
+  private readonly identifier: Identifier;
+ 
+  public constructor(id: Identifier, extra?: AbstractTypeData) {
+    super(extra);
+    this.identifier = id;
+  }
+ 
+  public getIdentifierName() {
+    return this.identifier.getName();
+  }
+ 
+  public toText() {
+    return "```REF TO " + this.identifier.getName() + "```";
+  }
+ 
+  public toABAP(): string {
+    return "REF TO " + this.identifier.getName();
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public getIdentifier(): Identifier {
+    return this.identifier;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_OBJECTREF";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/packed_type.ts.html b/src/abap/types/basic/packed_type.ts.html new file mode 100644 index 00000000000..814f8213552 --- /dev/null +++ b/src/abap/types/basic/packed_type.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/abap/types/basic/packed_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic packed_type.ts

+
+ +
+ 84.44% + Statements + 38/45 +
+ + +
+ 75% + Branches + 6/8 +
+ + +
+ 75% + Functions + 6/8 +
+ + +
+ 84.44% + Lines + 38/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +451x +1x +1x +1x +1x +1x +1x +18367x +18367x +  +18367x +  +  +18367x +18367x +18367x +1x +1x +5x +5x +1x +1x +5x +5x +1x +1x +2x +2x +1x +1x +  +  +1x +1x +14x +14x +1x +1x +5x +5x +1x +1x +  +  +1x
import {AbstractType, AbstractTypeData} from "./_abstract_type";
+ 
+export class PackedType extends AbstractType {
+  private readonly length: number;
+  private readonly decimals: number;
+ 
+  public constructor(length: number, decimals: number, extra?: AbstractTypeData) {
+    super(extra);
+    if (length <= 0) {
+      throw new Error("Bad LENGTH, Packed");
+    } else if (decimals < 0) {
+      throw new Error("Bad DECIMALS, Packed");
+    }
+    this.length = length;
+    this.decimals = decimals;
+  }
+ 
+  public getLength() {
+    return this.length;
+  }
+ 
+  public getDecimals() {
+    return this.decimals;
+  }
+ 
+  public toText() {
+    return "```p LENGTH " + this.getLength() + " DECIMALS " + this.getDecimals() + "```";
+  }
+ 
+  public toABAP(): string {
+    return "p LENGTH " + this.getLength() + " DECIMALS " + this.getDecimals();
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_PACKED";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/simple_type.ts.html b/src/abap/types/basic/simple_type.ts.html new file mode 100644 index 00000000000..cdcdb72b2c7 --- /dev/null +++ b/src/abap/types/basic/simple_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/simple_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic simple_type.ts

+
+ +
+ 56.52% + Statements + 13/23 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 56.52% + Lines + 13/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class SimpleType extends AbstractType {
+  public toText() {
+    return "```simple```";
+  }
+ 
+  public toABAP() {
+    return "simple";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_SIMPLE";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/string_type.ts.html b/src/abap/types/basic/string_type.ts.html new file mode 100644 index 00000000000..85ea82d290a --- /dev/null +++ b/src/abap/types/basic/string_type.ts.html @@ -0,0 +1,217 @@ + + + + + + Code coverage report for src/abap/types/basic/string_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic string_type.ts

+
+ +
+ 95.55% + Statements + 43/45 +
+ + +
+ 100% + Branches + 13/13 +
+ + +
+ 87.5% + Functions + 7/8 +
+ + +
+ 95.55% + Lines + 43/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +451x +1x +1x +1x +1x +1x +1174x +435x +435x +739x +739x +1x +1x +740x +740x +1x +1x +1x +84x +84x +40x +40x +44x +44x +1x +1x +16x +16x +1x +1x +624x +624x +1x +1x +1x +1x +1x +1x +22x +22x +1x +1x +  +  +1x
import {AbstractType, AbstractTypeData} from "./_abstract_type";
+ 
+export class StringType extends AbstractType {
+  private static readonly singleton = new StringType();
+ 
+  public static get(input?: AbstractTypeData): StringType {
+    if (input === undefined) {
+      return this.singleton;
+    }
+    return new StringType(input);
+  }
+ 
+  private constructor(input?: AbstractTypeData) {
+    super(input);
+  }
+ 
+  /** fully qualified symbolic name of the type */
+  public getQualifiedName(): string | undefined {
+    const qual = this.data?.qualifiedName;
+    if (qual === undefined) {
+      return "STRING";
+    }
+    return qual;
+  }
+ 
+  public toText() {
+    return "```string```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "string";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.string";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/structure_type.ts.html b/src/abap/types/basic/structure_type.ts.html new file mode 100644 index 00000000000..23850f07e4d --- /dev/null +++ b/src/abap/types/basic/structure_type.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/abap/types/basic/structure_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic structure_type.ts

+
+ +
+ 91.42% + Statements + 64/70 +
+ + +
+ 86.66% + Branches + 13/15 +
+ + +
+ 87.5% + Functions + 7/8 +
+ + +
+ 91.42% + Lines + 64/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9955x +9955x +9955x +9955x +9955x +  +  +9955x +9955x +9955x +1570607x +1570607x +1x +1x +1570606x +1570606x +9954x +9954x +1x +1x +1580x +1580x +1x +1x +587x +587x +1x +1x +8x +8x +180x +180x +8x +8x +8x +1x +1x +525x +525x +1x +1x +8x +8x +8x +8x +  +  +1x +1x +28x +28x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export interface IStructureComponent {
+  name: string;
+  type: AbstractType;
+  asInclude?: boolean;
+  suffix?: string;
+}
+ 
+export class StructureType extends AbstractType {
+  private readonly indexed: {[index: string]: AbstractType};
+  private readonly components: IStructureComponent[];
+ 
+  public constructor(components: IStructureComponent[], qualifiedName?: string, ddicName?: string) {
+    super({
+      qualifiedName: qualifiedName,
+      ddicName: ddicName,
+    });
+    if (components.length === 0) {
+      throw new Error("Structure does not contain any components");
+    }
+ 
+    this.indexed = {};
+    for (const c of components) {
+      const upper = c.name.toUpperCase();
+      if (this.indexed[upper] !== undefined) {
+        throw new Error("Structure, duplicate field name \"" + upper + "\", " + qualifiedName);
+      }
+      this.indexed[upper] = c.type;
+    }
+    this.components = components;
+  }
+ 
+  public getComponents(): IStructureComponent[] {
+    return this.components;
+  }
+ 
+  public getComponentByName(name: string): AbstractType | undefined {
+    return this.indexed[name.toUpperCase()];
+  }
+ 
+  public toText(level: number) {
+    const compo: string[] = [];
+    for (const c of this.components) {
+      compo.push(c.name + " TYPE " + c.type.toText(level + 1));
+    }
+    const spaces = "  ".repeat(level);
+    return "Structure\n" + spaces + "* " + compo.join("\n" + spaces + "* ");
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    const ret = this.getQualifiedName();
+    if (ret) {
+      return ret;
+    }
+    return "StructureTypetoABAPtodo";
+  }
+ 
+  public containsVoid() {
+    return this.getComponents().some(c => { return c.type.containsVoid(); });
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_STRUCTURE";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/table_type.ts.html b/src/abap/types/basic/table_type.ts.html new file mode 100644 index 00000000000..933ca1b0126 --- /dev/null +++ b/src/abap/types/basic/table_type.ts.html @@ -0,0 +1,355 @@ + + + + + + Code coverage report for src/abap/types/basic/table_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic table_type.ts

+
+ +
+ 96.7% + Statements + 88/91 +
+ + +
+ 88% + Branches + 22/25 +
+ + +
+ 90% + Functions + 9/10 +
+ + +
+ 96.7% + Lines + 88/91 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +911x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +673x +673x +673x +673x +1x +1x +672x +1x +1x +18x +18x +1x +1x +422x +422x +1x +1x +3x +3x +1x +1x +1362x +1362x +1x +1x +4x +4x +4x +1x +1x +5x +5x +5x +  +5x +5x +5x +5x +1x +1x +701x +701x +701x +2x +2x +699x +699x +1x +1x +11x +11x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export enum TableAccessType {
+  standard = "STANDARD",
+  sorted = "SORTED",
+  hashed = "HASHED",
+  index = "INDEX",
+  any = "ANY",
+}
+ 
+export enum TableKeyType {
+  default = "DEFAULT",
+  user = "USER",
+  empty = "EMPTY",
+}
+ 
+export type ITableKey = {
+  name: string,
+  type: TableAccessType,
+  keyFields: string[],
+  isUnique: boolean,
+};
+ 
+export type ITableOptions = {
+  withHeader: boolean,
+  keyType: TableKeyType,
+  primaryKey?: ITableKey,
+  secondary?: ITableKey[],
+};
+ 
+export class TableType extends AbstractType {
+  private readonly rowType: AbstractType;
+  private readonly options: ITableOptions;
+ 
+  public constructor(rowType: AbstractType, options: ITableOptions, qualifiedName?: string) {
+    super({qualifiedName: qualifiedName});
+    this.rowType = rowType;
+    this.options = options;
+    if (options.primaryKey?.type === TableAccessType.standard && options.primaryKey.isUnique === true) {
+      throw new Error("STANDARD tables cannot have UNIQUE key");
+    }
+  }
+ 
+  public getOptions(): ITableOptions {
+    return this.options;
+  }
+ 
+  public isWithHeader(): boolean {
+    return this.options.withHeader;
+  }
+ 
+  public getAccessType(): TableAccessType | undefined {
+    return this.options.primaryKey?.type;
+  }
+ 
+  public getRowType(): AbstractType {
+    return this.rowType;
+  }
+ 
+  public toABAP(): string {
+// todo, this is used for downport, so use default key for now
+    return "STANDARD TABLE OF " + this.rowType.toABAP() + " WITH DEFAULT KEY";
+  }
+ 
+  public toText(level: number) {
+    const type = this.rowType;
+ 
+    if (this.options.withHeader === true) {
+      return "Table with header of " + type.toText(level + 1);
+    } else {
+      return "Table of " + type.toText(level + 1);
+    }
+  }
+ 
+  public isGeneric() {
+    if (this.options.primaryKey?.type !== TableAccessType.standard
+        && this.options.keyType === TableKeyType.user
+        && this.options.primaryKey?.keyFields.length === 0) {
+      return true;
+    }
+    return this.rowType.isGeneric();
+  }
+ 
+  public containsVoid() {
+    return this.rowType.containsVoid();
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_TABLE";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/time_type.ts.html b/src/abap/types/basic/time_type.ts.html new file mode 100644 index 00000000000..de832da7ed9 --- /dev/null +++ b/src/abap/types/basic/time_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/time_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic time_type.ts

+
+ +
+ 82.6% + Statements + 19/23 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 60% + Functions + 3/5 +
+ + +
+ 82.6% + Lines + 19/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +2x +2x +1x +1x +5x +5x +1x +1x +  +  +1x +1x +4x +4x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class TimeType extends AbstractType {
+  public toText() {
+    return "```t```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "t";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.tims";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/unknown_type.ts.html b/src/abap/types/basic/unknown_type.ts.html new file mode 100644 index 00000000000..511d36046f4 --- /dev/null +++ b/src/abap/types/basic/unknown_type.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/abap/types/basic/unknown_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic unknown_type.ts

+
+ +
+ 82.35% + Statements + 28/34 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 57.14% + Functions + 4/7 +
+ + +
+ 82.35% + Lines + 28/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +3569x +3569x +3569x +1x +1x +37x +37x +1x +1x +  +  +1x +1x +  +  +1x +1x +47x +47x +1x +1x +1x +1x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class UnknownType extends AbstractType {
+  private readonly error: string;
+ 
+  public constructor(error: string, qualifiedName?: string) {
+    super({qualifiedName: qualifiedName});
+    this.error = error;
+  }
+ 
+  public getError() {
+    return this.error;
+  }
+ 
+  public toText() {
+    return "Unknown type: " + this.error;
+  }
+ 
+  public toABAP(): string {
+    throw new Error("unknown, generic: " + this.error);
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_UNKNOWN";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/utc_long_type.ts.html b/src/abap/types/basic/utc_long_type.ts.html new file mode 100644 index 00000000000..bd08feb25f4 --- /dev/null +++ b/src/abap/types/basic/utc_long_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/utc_long_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic utc_long_type.ts

+
+ +
+ 65.21% + Statements + 15/23 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 20% + Functions + 1/5 +
+ + +
+ 65.21% + Lines + 15/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class UTCLongType extends AbstractType {
+  public toText() {
+    return "```utclong```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "utclong";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.utcl";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/void_type.ts.html b/src/abap/types/basic/void_type.ts.html new file mode 100644 index 00000000000..03b6332a8b1 --- /dev/null +++ b/src/abap/types/basic/void_type.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/abap/types/basic/void_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic void_type.ts

+
+ +
+ 88.57% + Statements + 31/35 +
+ + +
+ 100% + Branches + 5/5 +
+ + +
+ 71.42% + Functions + 5/7 +
+ + +
+ 88.57% + Lines + 31/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +1x +1x +1x +1x +1x +1x +1727x +1727x +1727x +1x +1x +19x +19x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +273x +273x +1x +1x +4x +4x +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class VoidType extends AbstractType {
+  // this contains the name of the type that was the original reason for the void
+  private readonly voided: string | undefined;
+ 
+  public constructor(voided: string | undefined, qualifiedName?: string) {
+    super({qualifiedName: qualifiedName});
+    this.voided = voided;
+  }
+ 
+  public getVoided(): string | undefined {
+    return this.voided;
+  }
+ 
+  public toABAP(): string {
+    return this.voided || "VOIDEDtoABAP";
+  }
+ 
+  public toText() {
+    return "Void(" + this.voided + ")";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public containsVoid() {
+    return true;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_VOID";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/xgeneric_type.ts.html b/src/abap/types/basic/xgeneric_type.ts.html new file mode 100644 index 00000000000..928259ba368 --- /dev/null +++ b/src/abap/types/basic/xgeneric_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/xgeneric_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic xgeneric_type.ts

+
+ +
+ 56.52% + Statements + 13/23 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 56.52% + Lines + 13/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class XGenericType extends AbstractType {
+  public toText() {
+    return "```x```";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public toABAP(): string {
+    throw new Error("x, generic");
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_CGENERIC";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/xsequence_type.ts.html b/src/abap/types/basic/xsequence_type.ts.html new file mode 100644 index 00000000000..36f10791951 --- /dev/null +++ b/src/abap/types/basic/xsequence_type.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/abap/types/basic/xsequence_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic xsequence_type.ts

+
+ +
+ 56.52% + Statements + 13/23 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/5 +
+ + +
+ 56.52% + Lines + 13/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class XSequenceType extends AbstractType {
+  public toText() {
+    return "```xsequence```";
+  }
+ 
+  public isGeneric() {
+    return true;
+  }
+ 
+  public toABAP(): string {
+    throw new Error("xsequence, generic");
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.TODO_XSEQUENCE";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/basic/xstring_type.ts.html b/src/abap/types/basic/xstring_type.ts.html new file mode 100644 index 00000000000..6551d8eaf1e --- /dev/null +++ b/src/abap/types/basic/xstring_type.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/types/basic/xstring_type.ts + + + + + + + + + +
+
+

All files / src/abap/types/basic xstring_type.ts

+
+ +
+ 66.66% + Statements + 16/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 20% + Functions + 1/5 +
+ + +
+ 66.66% + Lines + 16/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +  +  +1x +1x +24x +24x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x
import {AbstractType} from "./_abstract_type";
+ 
+export class XStringType extends AbstractType {
+ 
+  public toText() {
+    return "```xstring```";
+  }
+ 
+  public isGeneric() {
+    return false;
+  }
+ 
+  public toABAP(): string {
+    return "xstring";
+  }
+ 
+  public containsVoid() {
+    return false;
+  }
+ 
+  public toCDS() {
+    return "abap.rawstring";
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/class_attribute.ts.html b/src/abap/types/class_attribute.ts.html new file mode 100644 index 00000000000..685feaae1ed --- /dev/null +++ b/src/abap/types/class_attribute.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/abap/types/class_attribute.ts + + + + + + + + + +
+
+

All files / src/abap/types class_attribute.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +215x +215x +215x +215x +1x +1x +25x +25x +1x
import {Visibility} from "../4_file_information/visibility";
+import {IdentifierMeta, TypedIdentifier} from "./_typed_identifier";
+ 
+export class ClassAttribute extends TypedIdentifier {
+  private readonly visibility: Visibility;
+ 
+  public constructor(id: TypedIdentifier, visibility: Visibility, meta: readonly IdentifierMeta[],
+                     value?: string | {[index: string]: string}) {
+    super(id.getToken(), id.getFilename(), id.getType(), meta, value);
+    this.visibility = visibility;
+  }
+ 
+  public getVisibility() {
+    return this.visibility;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/class_attributes.ts.html b/src/abap/types/class_attributes.ts.html new file mode 100644 index 00000000000..7fe377716e8 --- /dev/null +++ b/src/abap/types/class_attributes.ts.html @@ -0,0 +1,877 @@ + + + + + + Code coverage report for src/abap/types/class_attributes.ts + + + + + + + + + +
+
+

All files / src/abap/types class_attributes.ts

+
+ +
+ 86.79% + Statements + 230/265 +
+ + +
+ 92.59% + Branches + 50/54 +
+ + +
+ 80% + Functions + 12/15 +
+ + +
+ 86.79% + Lines + 230/265 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +2651x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1398x +1398x +1398x +1398x +1398x +1398x +1398x +1398x +1398x +1x +1x +1390x +1390x +1x +1x +920x +920x +1x +1x +1390x +1390x +1x +1x +1189x +1189x +1189x +1189x +1189x +1x +1x +  +  +  +  +  +  +  +  +1x +1x +1275x +1275x +1x +1x +  +  +  +  +  +  +  +  +1x +1x +2054x +2054x +1x +1x +  +  +  +  +  +  +  +  +1x +1x +1x +36x +36x +  +  +  +  +36x +11x +11x +11x +11x +36x +5x +5x +5x +5x +20x +20x +1x +1x +1x +1x +1398x +1398x +1130x +1130x +1130x +1130x +1130x +268x +268x +268x +268x +268x +268x +  +  +  +1x +1x +4422x +2611x +2611x +1811x +4422x +2935x +2935x +871x +6x +6x +6x +6x +6x +6x +871x +4x +4x +4x +4x +4x +4x +865x +8x +8x +8x +8x +8x +8x +861x +5x +5x +6x +6x +6x +6x +6x +5x +5x +5x +5x +853x +84x +84x +84x +84x +84x +848x +764x +764x +764x +2935x +2064x +185x +2064x +21x +1879x +26x +1858x +124x +124x +121x +121x +121x +121x +1832x +154x +154x +154x +154x +154x +154x +2064x +2935x +1803x +1x +1x +26x +26x +26x +26x +26x +26x +26x +26x +26x +26x +21x +21x +21x +21x +3x +3x +21x +21x +21x +9x +9x +21x +26x +26x +1x +1x +206x +206x +206x +206x +185x +206x +21x +21x +  +  +206x +206x +  +  +206x +206x +206x +206x +206x +1x +1x
import * as Structures from "../3_structures/structures";
+import * as Statements from "../2_statements/statements";
+import * as Expressions from "../2_statements/expressions";
+import {ClassAttribute} from "./class_attribute";
+import {ClassConstant} from "./class_constant";
+import {StructureNode, StatementNode} from "../nodes";
+import {Visibility} from "../4_file_information/visibility";
+import {TypedIdentifier} from "./_typed_identifier";
+import {ClassData as ClassDataStatement} from "../5_syntax/statements/class_data";
+import {ClassData as ClassDataStructure} from "../5_syntax/structures/class_data";
+import {Data as DataStatement} from "../5_syntax/statements/data";
+import {Constant as ConstantStatement} from "../5_syntax/statements/constant";
+import {Data as DataStructure} from "../5_syntax/structures/data";
+import {TypeEnum} from "../5_syntax/structures/type_enum";
+import {Constants} from "../5_syntax/structures/constants";
+import {IAttributes} from "./_class_attributes";
+import {TypeDefinitions} from "./type_definitions";
+import {Types} from "../5_syntax/structures/types";
+import {Type} from "../5_syntax/statements/type";
+import {SyntaxInput} from "../5_syntax/_syntax_input";
+import {ReferenceType} from "../5_syntax/_reference";
+import {Alias} from "./alias";
+ 
+export class Attributes implements IAttributes {
+  private readonly static: ClassAttribute[];
+  private readonly instance: ClassAttribute[];
+  private readonly constants: ClassConstant[];
+  private readonly types: TypeDefinitions;
+  private readonly tlist: {type: TypedIdentifier, visibility: Visibility}[];
+  private readonly filename: string;
+  private readonly aliases: Alias[];
+ 
+  public constructor(node: StructureNode, input: SyntaxInput) {
+    this.static = [];
+    this.instance = [];
+    this.constants = [];
+    this.aliases = [];
+    this.tlist = [];
+    this.filename = input.filename;
+    this.parse(node, input);
+    this.types = new TypeDefinitions(this.tlist);
+  }
+ 
+  public getTypes(): TypeDefinitions {
+    return this.types;
+  }
+ 
+  public getStatic(): ClassAttribute[] {
+    return this.static;
+  }
+ 
+  public getAliases() {
+    return this.aliases;
+  }
+ 
+  public getAll(): readonly ClassAttribute[] {
+    let res: ClassAttribute[] = [];
+    res = res.concat(this.static);
+    res = res.concat(this.instance);
+    return res;
+  }
+ 
+  public getStaticsByVisibility(visibility: Visibility): ClassAttribute[] {
+    const attributes: ClassAttribute[] = [];
+    for (const attr of this.static) {
+      if (attr.getVisibility() === visibility) {
+        attributes.push(attr);
+      }
+    }
+    return attributes;
+  }
+ 
+  public getInstance(): ClassAttribute[] {
+    return this.instance;
+  }
+ 
+  public getInstancesByVisibility(visibility: Visibility): ClassAttribute[] {
+    const attributes: ClassAttribute[] = [];
+    for (const attr of this.instance) {
+      if (attr.getVisibility() === visibility) {
+        attributes.push(attr);
+      }
+    }
+    return attributes;
+  }
+ 
+  public getConstants(): ClassConstant[] {
+    return this.constants;
+  }
+ 
+  public getConstantsByVisibility(visibility: Visibility): ClassConstant[] {
+    const attributes: ClassConstant[] = [];
+    for (const attr of this.constants) {
+      if (attr.getVisibility() === visibility) {
+        attributes.push(attr);
+      }
+    }
+    return attributes;
+  }
+ 
+  // todo, optimize
+  public findByName(name: string): ClassAttribute | ClassConstant | undefined {
+    const upper = name.toUpperCase();
+    for (const a of this.getStatic()) {
+      if (a.getName().toUpperCase() === upper) {
+        return a;
+      }
+    }
+    for (const a of this.getInstance()) {
+      if (a.getName().toUpperCase() === upper) {
+        return a;
+      }
+    }
+    for (const a of this.getConstants()) {
+      if (a.getName().toUpperCase() === upper) {
+        return a;
+      }
+    }
+    return undefined;
+  }
+ 
+/////////////////////////////
+ 
+  private parse(node: StructureNode, input: SyntaxInput): void {
+    const cdef = node.findDirectStructure(Structures.ClassDefinition);
+    if (cdef) {
+      this.parseSection(cdef.findDirectStructure(Structures.PublicSection), Visibility.Public, input);
+      this.parseSection(cdef.findDirectStructure(Structures.ProtectedSection), Visibility.Protected, input);
+      this.parseSection(cdef.findDirectStructure(Structures.PrivateSection), Visibility.Private, input);
+      return;
+    }
+ 
+    const idef = node.findDirectStructure(Structures.Interface);
+    if (idef) {
+      this.parseSection(idef.findDirectStructure(Structures.SectionContents), Visibility.Public, input);
+      return;
+    }
+
+    throw new Error("MethodDefinition, expected ClassDefinition or InterfaceDefinition");
+  }
+ 
+  private parseSection(node: StructureNode | undefined, visibility: Visibility, input: SyntaxInput): void {
+    if (node === undefined) {
+      return;
+    }
+ 
+    for (const c of node.getChildren()) {
+      const ctyp = c.get();
+      if (c instanceof StructureNode) {
+        if (ctyp instanceof Structures.Data) {
+          const found = new DataStructure().runSyntax(c, input);
+          if (found !== undefined) {
+            const attr = new ClassAttribute(found, visibility, found.getMeta(), found.getValue());
+            this.instance.push(attr);
+            input.scope.addIdentifier(attr);
+          }
+        } else if (ctyp instanceof Structures.ClassData) {
+          const found = new ClassDataStructure().runSyntax(c, input);
+          if (found !== undefined) {
+            const attr = new ClassAttribute(found, visibility, found.getMeta(), found.getValue());
+            this.static.push(attr);
+            input.scope.addIdentifier(attr);
+          }
+        } else if (ctyp instanceof Structures.Constants) {
+          const {type: found, values} = new Constants().runSyntax(c, input);
+          if (found !== undefined) {
+            const attr = new ClassConstant(found, visibility, values);
+            this.constants.push(attr);
+            input.scope.addIdentifier(attr);
+          }
+        } else if (ctyp instanceof Structures.TypeEnum) {
+          const {values, types} = new TypeEnum().runSyntax(c, input);
+          for (const v of values) {
+          // for now add ENUM values as constants
+            const attr = new ClassConstant(v, visibility, "novalueClassAttributeEnum");
+            this.constants.push(attr);
+            input.scope.addIdentifier(attr);
+          }
+          for (const t of types) {
+            this.tlist.push({type: t, visibility});
+//            scope.addIdentifier(attr);
+          }
+        } else if (ctyp instanceof Structures.Types) {
+          const res = new Types().runSyntax(c, input);
+          if (res) {
+            input.scope.addType(res);
+            this.tlist.push({type: res, visibility});
+          }
+        } else {
+          // begin recursion
+          this.parseSection(c, visibility, input);
+        }
+      } else if (c instanceof StatementNode) {
+        if (ctyp instanceof Statements.Data) {
+          this.instance.push(this.parseAttribute(c, visibility, input));
+        } else if (ctyp instanceof Statements.ClassData) {
+          this.static.push(this.parseAttribute(c, visibility, input));
+        } else if (ctyp instanceof Statements.Aliases) {
+          this.parseAlias(c, visibility, input);
+        } else if (ctyp instanceof Statements.Constant) {
+          const found = new ConstantStatement().runSyntax(c, input);
+          if (found) {
+            const attr = new ClassConstant(found, visibility, found.getValue());
+            this.constants.push(attr);
+            input.scope.addIdentifier(attr);
+          }
+        } else if (ctyp instanceof Statements.Type) {
+          const res = new Type().runSyntax(c, input);
+          if (res) {
+            input.scope.addType(res);
+            this.tlist.push({type: res, visibility});
+          }
+        }
+      }
+    }
+  }
+ 
+  private parseAlias(node: StatementNode, visibility: Visibility, input: SyntaxInput) {
+    const aliasName = node.findFirstExpression(Expressions.SimpleName)!.getFirstToken();
+    const compToken = node.findFirstExpression(Expressions.Field)!.getFirstToken();
+    const compName = compToken.getStr();
+ 
+    this.aliases.push(new Alias(aliasName, visibility, compName, this.filename));
+ 
+    if (compName.includes("~")) {
+      const name = compName.split("~")[0];
+      const idef = input.scope.findInterfaceDefinition(name);
+      if (idef) {
+        input.scope.addReference(compToken, idef, ReferenceType.ObjectOrientedReference, input.filename, {ooName: name.toUpperCase(), ooType: "INTF"});
+ 
+        const foundType = idef.getTypeDefinitions()!.getByName(compName.split("~")[1]);
+        if (foundType) {
+          input.scope.addTypeNamed(aliasName.getStr(), foundType);
+        }
+ 
+        const foundAttribute = idef.getAttributes().findByName(compName.split("~")[1]);
+        if (foundAttribute) {
+          input.scope.addNamedIdentifier(aliasName.getStr(), foundAttribute);
+        }
+      }
+    }
+  }
+ 
+  private parseAttribute(node: StatementNode, visibility: Visibility, input: SyntaxInput): ClassAttribute {
+    let found: TypedIdentifier | undefined = undefined;
+    const s = node.get();
+ 
+    if (s instanceof Statements.Data) {
+      found = new DataStatement().runSyntax(node, input);
+    } else if (s instanceof Statements.ClassData) {
+      found = new ClassDataStatement().runSyntax(node, input);
+    } else {
+      throw new Error("ClassAttribute, unexpected node, 1, " + this.filename);
+    }
+ 
+    if (found === undefined) {
+      throw new Error("ClassAttribute, unexpected node, " + this.filename);
+    }
+ 
+    input.scope.addIdentifier(found);
+ 
+    return new ClassAttribute(found, visibility, found.getMeta(), found.getValue());
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/class_constant.ts.html b/src/abap/types/class_constant.ts.html new file mode 100644 index 00000000000..32bbb4650c0 --- /dev/null +++ b/src/abap/types/class_constant.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/abap/types/class_constant.ts + + + + + + + + + +
+
+

All files / src/abap/types class_constant.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +135x +135x +135x +1x +1x +3x +3x +1x
import {Visibility} from "../4_file_information/visibility";
+import {TypedIdentifier, IdentifierMeta} from "./_typed_identifier";
+ 
+export class ClassConstant extends TypedIdentifier {
+  private readonly visibility: Visibility;
+ 
+  public constructor(id: TypedIdentifier, visibility: Visibility, value: string | {[index: string]: string} | undefined) {
+    super(id.getToken(), id.getFilename(), id.getType(), [IdentifierMeta.ReadOnly, IdentifierMeta.Static], value);
+    this.visibility = visibility;
+  }
+ 
+  public getVisibility() {
+    return this.visibility;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/class_definition.ts.html b/src/abap/types/class_definition.ts.html new file mode 100644 index 00000000000..09880aedea9 --- /dev/null +++ b/src/abap/types/class_definition.ts.html @@ -0,0 +1,757 @@ + + + + + + Code coverage report for src/abap/types/class_definition.ts + + + + + + + + + +
+
+

All files / src/abap/types class_definition.ts

+
+ +
+ 95.55% + Statements + 215/225 +
+ + +
+ 80.64% + Branches + 50/62 +
+ + +
+ 84.21% + Functions + 16/19 +
+ + +
+ 95.55% + Lines + 215/225 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +2251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1215x +  +  +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +1215x +5x +5x +1130x +1130x +1130x +1130x +1130x +1130x +1130x +1130x +1130x +1215x +1215x +1215x +1215x +1215x +1x +1x +  +  +1x +1x +489x +489x +1x +1x +2909x +2909x +1x +1x +1826x +1826x +1x +1x +6571x +6571x +1x +1x +3234x +3234x +1x +1x +139x +139x +1x +1x +2x +2x +1x +1x +3050x +3050x +1x +1x +1567x +1567x +1x +1x +  +  +1x +1x +69x +69x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1214x +1214x +1214x +1214x +1214x +1x +1x +1130x +1130x +1130x +1130x +418x +418x +22x +22x +1x +22x +5x +5x +16x +16x +418x +3x +3x +418x +418x +1130x +1130x +542x +4x +4x +542x +1126x +1x +1x +1214x +1214x +1x +1x +1x +1x +1x +1214x +1214x +1x +1x +1215x +1215x +342x +342x +258x +342x +68x +68x +342x +1215x +1x +1x +1214x +79x +79x +79x +  +  +79x +79x +79x +79x +79x +55x +79x +2x +24x +22x +22x +79x +1214x +1x +1x
import {StatementNode, StructureNode} from "../nodes";
+import {MethodDefinitions} from "./method_definitions";
+import {SuperClassName} from "../2_statements/expressions";
+import * as Statements from "../2_statements/statements";
+import * as Structures from "../3_structures/structures";
+import * as Expressions from "../2_statements/expressions";
+import {Attributes} from "./class_attributes";
+import {Identifier} from "../4_file_information/_identifier";
+import {CurrentScope} from "../5_syntax/_current_scope";
+import {IClassDefinition} from "./_class_definition";
+import {TypeDefinitions} from "./type_definitions";
+import {ScopeType} from "../5_syntax/_scope_type";
+import {EventDefinition} from "./event_definition";
+import {Visibility} from "../4_file_information/visibility";
+import {IEventDefinition} from "./_event_definition";
+import {IMethodDefinitions} from "./_method_definitions";
+import {ObjectOriented} from "../5_syntax/_object_oriented";
+import {IImplementing} from "./_interface_definition";
+import {ReferenceType} from "../5_syntax/_reference";
+import {AbstractToken} from "../1_lexer/tokens/abstract_token";
+import {SyntaxInput} from "../5_syntax/_syntax_input";
+import {Alias} from "./alias";
+ 
+export class ClassDefinition extends Identifier implements IClassDefinition {
+  private readonly methodDefs: MethodDefinitions;
+  private readonly types: TypeDefinitions;
+  private readonly attributes: Attributes;
+  private readonly events: IEventDefinition[];
+  private readonly friends: string[];
+  private readonly superClass: string | undefined;
+  private readonly implementing: IImplementing[];
+  private readonly testing: boolean;
+  private readonly abstract: boolean;
+  private readonly finalValue: boolean;
+  private readonly globalValue: boolean;
+  private readonly sharedMemory: boolean;
+  private readonly aliases: Alias[];
+ 
+  public constructor(node: StructureNode, input: SyntaxInput) {
+    if (!(node.get() instanceof Structures.ClassDefinition)) {
+      throw new Error("ClassDefinition, unexpected node type");
+    }
+ 
+    const def = node.findFirstStatement(Statements.ClassDefinition);
+    const name = def!.findDirectExpression(Expressions.ClassName)!.getFirstToken();
+    super(name, input.filename);
+    input.scope.addClassDefinition(this);
+ 
+    this.events = [];
+    this.implementing = [];
+    this.globalValue = def!.findFirstExpression(Expressions.ClassGlobal) !== undefined;
+    this.finalValue = def!.findFirstExpression(Expressions.ClassFinal) !== undefined;
+ 
+    input.scope.push(ScopeType.ClassDefinition, name.getStr(), name.getStart(), input.filename);
+ 
+    this.superClass = this.findSuper(def, input);
+    this.friends = this.findFriends(def, input);
+ 
+    this.parse(input, node);
+ 
+    const helper = new ObjectOriented(input.scope);
+    helper.fromSuperClassesAndInterfaces(this);
+ 
+    this.attributes = new Attributes(node, input);
+    this.types = this.attributes.getTypes();
+    this.aliases = this.attributes.getAliases();
+ 
+    const events = node.findAllStatements(Statements.Events);
+    for (const e of events) {
+      this.events.push(new EventDefinition(e, Visibility.Public, input)); // todo, all these are not Public
+    }
+ 
+    this.methodDefs = new MethodDefinitions(node, input);
+ 
+    input.scope.pop(node.getLastToken().getEnd());
+ 
+    const concat = def!.concatTokens().toUpperCase();
+ 
+    this.testing = concat.includes(" FOR TESTING");
+    this.sharedMemory = concat.includes(" SHARED MEMORY ENABLED");
+    this.abstract = def?.findDirectTokenByText("ABSTRACT") !== undefined;
+ 
+    // perform checks after everything has been initialized
+    this.checkMethodsFromSuperClasses(input.scope);
+  }
+ 
+  public getFriends() {
+    return this.friends;
+  }
+ 
+  public getEvents() {
+    return this.events;
+  }
+ 
+  public getMethodDefinitions(): IMethodDefinitions {
+    return this.methodDefs;
+  }
+ 
+  public getTypeDefinitions(): TypeDefinitions {
+    return this.types;
+  }
+ 
+  public getSuperClass(): string | undefined {
+    return this.superClass;
+  }
+ 
+  public getAttributes(): Attributes {
+    return this.attributes;
+  }
+ 
+  public isGlobal(): boolean {
+    return this.globalValue;
+  }
+ 
+  public isFinal(): boolean {
+    return this.finalValue;
+  }
+ 
+  public getImplementing(): readonly IImplementing[] {
+    return this.implementing;
+  }
+ 
+  public getAliases() {
+    return this.aliases;
+  }
+ 
+  public isForTesting(): boolean {
+    return this.testing;
+  }
+ 
+  public isAbstract(): boolean {
+    return this.abstract;
+  }
+ 
+  public isSharedMemory(): boolean {
+    return this.sharedMemory;
+  }
+ 
+/*
+  public getEvents() {
+  }
+*/
+ 
+  ///////////////////
+ 
+  private findSuper(def: StatementNode | undefined, input: SyntaxInput): string | undefined {
+    const token = def?.findDirectExpression(SuperClassName)?.getFirstToken();
+    this.addReference(token, input);
+    const name = token?.getStr();
+    return name;
+  }
+ 
+  private checkMethodsFromSuperClasses(scope: CurrentScope) {
+    let sup = this.getSuperClass();
+    const names: Set<string> = new Set();
+ 
+    while (sup !== undefined) {
+      const cdef = scope.findClassDefinition(sup);
+      for (const m of cdef?.getMethodDefinitions()?.getAll() || []) {
+        const name = m.getName().toUpperCase();
+        if (m.getVisibility() === Visibility.Private) {
+          continue;
+        } else if (name === "CONSTRUCTOR" || name === "CLASS_CONSTRUCTOR") {
+          continue;
+        }
+        names.add(name);
+      }
+      for (const a of cdef?.getAliases() || []) {
+        names.add(a.getName().toUpperCase());
+      }
+      sup = cdef?.getSuperClass();
+    }
+ 
+    for (const m of this.getMethodDefinitions().getAll()) {
+      if (names.has(m.getName().toUpperCase()) && m.isRedefinition() === false) {
+        throw new Error(`${m.getName().toUpperCase()} already declared in superclass`);
+      }
+    }
+  }
+ 
+  private findFriends(def: StatementNode | undefined, input: SyntaxInput): string[] {
+    const result: string[] = [];
+    for (const n of def?.findDirectExpression(Expressions.ClassFriends)?.findDirectExpressions(Expressions.ClassName) || []) {
+      const token = n.getFirstToken();
+      this.addReference(token, input);
+      const name = token.getStr();
+      result.push(name);
+    }
+    return result;
+  }
+ 
+  private addReference(token: AbstractToken | undefined, input: SyntaxInput) {
+    const name = token?.getStr();
+    if (name) {
+      const s = input.scope.findClassDefinition(name);
+      if (s) {
+        input.scope.addReference(token, s, ReferenceType.ObjectOrientedReference, input.filename, {ooName: name.toUpperCase(), ooType: "CLAS"});
+      } else if (input.scope.getDDIC().inErrorNamespace(name) === false) {
+        input.scope.addReference(token, undefined, ReferenceType.ObjectOrientedVoidReference, input.filename);
+      }
+    }
+  }
+ 
+  private parse(input: SyntaxInput, inputNode: StructureNode) {
+    for (const node of inputNode.findAllStatements(Statements.InterfaceDef)) {
+      const partial = node.findDirectTokenByText("PARTIALLY") !== undefined;
+      const token = node.findFirstExpression(Expressions.InterfaceName)?.getFirstToken();
+      if (token === undefined) {
+        throw new Error("ClassDefinition, unable to find interface token");
+      }
+      const name = token.getStr().toUpperCase();
+      this.implementing.push({name, partial});
+ 
+      const intf = input.scope.findInterfaceDefinition(name);
+      if (intf) {
+        input.scope.addReference(token, intf, ReferenceType.ObjectOrientedReference, input.filename, {ooName: name.toUpperCase(), ooType: "INTF"});
+      } else if (input.scope.getDDIC().inErrorNamespace(name) === false) {
+        input.scope.addReference(token, undefined, ReferenceType.ObjectOrientedVoidReference, input.filename, {ooName: name.toUpperCase(), ooType: "INTF"});
+      } else {
+        input.scope.addReference(token, undefined, ReferenceType.ObjectOrientedUnknownReference, input.filename, {ooName: name.toUpperCase(), ooType: "INTF"});
+      }
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/class_implementation.ts.html b/src/abap/types/class_implementation.ts.html new file mode 100644 index 00000000000..da2438ec20b --- /dev/null +++ b/src/abap/types/class_implementation.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/abap/types/class_implementation.ts + + + + + + + + + +
+
+

All files / src/abap/types class_implementation.ts

+
+ +
+ 46.15% + Statements + 18/39 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 46.15% + Lines + 18/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +391x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +1x +1x
import {Identifier} from "../4_file_information/_identifier";
+import {StructureNode} from "../nodes";
+import * as Structures from "../3_structures/structures";
+import * as Statements from "../2_statements/statements";
+import * as Expressions from "../2_statements/expressions";
+import {MethodImplementation} from "./method_implementation";
+import {IClassImplementation} from "./_class_implementation";
+ 
+export class ClassImplementation extends Identifier implements IClassImplementation {
+  private readonly node: StructureNode;
+ 
+  public constructor(node: StructureNode, filename: string) {
+    if (!(node.get() instanceof Structures.ClassImplementation)) {
+      throw new Error("ClassImplementation, unexpected node type");
+    }
+    const name = node.findFirstStatement(Statements.ClassImplementation)!.findFirstExpression(Expressions.ClassName)!.getFirstToken();
+    super(name, filename);
+
+    this.node = node;
+  }
+ 
+  public getMethodImplementations(): MethodImplementation[] {
+    const ret: MethodImplementation[] = [];
+    for (const method of this.node.findAllStructures(Structures.Method)) {
+      ret.push(new MethodImplementation(method, this.filename));
+    }
+    return ret;
+  }
+ 
+  public getMethodImplementation(name: string): MethodImplementation | undefined {
+    for (const impl of this.getMethodImplementations()) {
+      if (impl.getName().toUpperCase() === name.toUpperCase()) {
+        return impl;
+      }
+    }
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/event_definition.ts.html b/src/abap/types/event_definition.ts.html new file mode 100644 index 00000000000..50b5d24289d --- /dev/null +++ b/src/abap/types/event_definition.ts.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/abap/types/event_definition.ts + + + + + + + + + +
+
+

All files / src/abap/types event_definition.ts

+
+ +
+ 90.24% + Statements + 37/41 +
+ + +
+ 66.66% + Branches + 4/6 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 90.24% + Lines + 37/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +411x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +12x +  +  +12x +12x +  +  +12x +12x +12x +12x +12x +1x +1x +17x +17x +1x +1x +1x +1x +12x +7x +7x +12x +1x +1x
import {Identifier} from "../4_file_information/_identifier";
+import {IEventDefinition} from "./_event_definition";
+import * as Expressions from "../2_statements/expressions";
+import {Visibility} from "../4_file_information/visibility";
+import {StatementNode} from "../nodes/statement_node";
+import {Events} from "../2_statements/statements/events";
+import {TypedIdentifier} from "./_typed_identifier";
+import {MethodParam as MethodParamExpression} from "../2_statements/expressions";
+import {MethodParam} from "../5_syntax/expressions/method_param";
+import {SyntaxInput} from "../5_syntax/_syntax_input";
+ 
+export class EventDefinition extends Identifier implements IEventDefinition {
+  private readonly parameters: TypedIdentifier[];
+ 
+  public constructor(node: StatementNode, _visibility: Visibility, input: SyntaxInput) {
+    if (!(node.get() instanceof Events)) {
+      throw new Error("MethodDefinition, expected MethodDef as part of input node");
+    }
+    const found = node.findFirstExpression(Expressions.EventName);
+    if (found === undefined) {
+      throw new Error("MethodDefinition, expected MethodDef as part of input node");
+    }
+    super(found.getFirstToken(), input.filename);
+ 
+    this.parameters = [];
+    this.parse(node, input);
+  }
+ 
+  public getParameters(): readonly TypedIdentifier[] {
+    return this.parameters;
+  }
+ 
+///////////////
+ 
+  private parse(node: StatementNode, input: SyntaxInput) {
+    for (const e of node.findAllExpressions(MethodParamExpression)) {
+      this.parameters.push(new MethodParam().runSyntax(e, input, []));
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/form_definition.ts.html b/src/abap/types/form_definition.ts.html new file mode 100644 index 00000000000..e4ff4863798 --- /dev/null +++ b/src/abap/types/form_definition.ts.html @@ -0,0 +1,388 @@ + + + + + + Code coverage report for src/abap/types/form_definition.ts + + + + + + + + + +
+
+

All files / src/abap/types form_definition.ts

+
+ +
+ 98.03% + Statements + 100/102 +
+ + +
+ 95% + Branches + 19/20 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 98.03% + Lines + 100/102 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +1021x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +376x +376x +376x +376x +376x +376x +376x +376x +376x +376x +376x +376x +376x +376x +376x +1x +1x +188x +188x +1x +1x +191x +191x +1x +1x +188x +188x +1x +1x +1x +1x +376x +376x +376x +376x +364x +364x +12x +12x +12x +2x +2x +12x +10x +10x +10x +10x +10x +10x +6x +6x +10x +10x +8x +10x +  +  +10x +10x +10x +12x +12x +12x +12x +1x +1x +752x +752x +716x +716x +36x +36x +1x +1x +36x +36x +40x +40x +40x +36x +36x +1x +1x
import * as Statements from "../2_statements/statements";
+import * as Expressions from "../2_statements/expressions";
+import * as Tokens from "../1_lexer/tokens";
+import {Identifier} from "../4_file_information/_identifier";
+import {StructureNode, StatementNode, ExpressionNode} from "../nodes";
+import {Expression} from "../2_statements/combi";
+import {TypedIdentifier, IdentifierMeta} from "./_typed_identifier";
+import {FormParam} from "../5_syntax/expressions/form_param";
+import {IFormDefinition} from "./_form_definition";
+import {TableKeyType, TableType, UnknownType, VoidType} from "./basic";
+import {SyntaxInput} from "../5_syntax/_syntax_input";
+ 
+export class FormDefinition extends Identifier implements IFormDefinition {
+  private readonly node: StatementNode;
+  private readonly tableParameters: TypedIdentifier[];
+  private readonly usingParameters: TypedIdentifier[];
+  private readonly changingParameters: TypedIdentifier[];
+ 
+  public constructor(node: StructureNode | StatementNode, input: SyntaxInput) {
+    const st = node instanceof StructureNode ? node.findFirstStatement(Statements.Form)! : node;
+ 
+    // FORMs can contain a dash in the name
+    const formName = st.findFirstExpression(Expressions.FormName);
+    const pos = formName!.getFirstToken().getStart();
+    const name = formName!.concatTokens();
+    const nameToken = new Tokens.Identifier(pos, name);
+ 
+    super(nameToken, input.filename);
+    this.node = st;
+ 
+    this.tableParameters = this.findTables(input);
+    this.usingParameters = this.findType(Expressions.FormUsing, input);
+    this.changingParameters = this.findType(Expressions.FormChanging, input);
+  }
+ 
+  public getTablesParameters(): TypedIdentifier[] {
+    return this.tableParameters;
+  }
+ 
+  public getUsingParameters(): TypedIdentifier[] {
+    return this.usingParameters;
+  }
+ 
+  public getChangingParameters(): TypedIdentifier[] {
+    return this.changingParameters;
+  }
+ 
+///////////////
+ 
+  private findTables(input: SyntaxInput): TypedIdentifier[] {
+    const ret: TypedIdentifier[] = [];
+ 
+    const tables = this.node.findFirstExpression(Expressions.FormTables);
+    if (tables === undefined) {
+      return [];
+    }
+ 
+    for (const param of tables.findAllExpressions(Expressions.FormParam)) {
+      if (param.getChildren().length === 1) {
+        // untyped TABLES parameter
+        ret.push(new TypedIdentifier(param.getFirstToken(), input.filename, new VoidType("FORM:UNTYPED"), [IdentifierMeta.FormParameter]));
+      } else {
+        const p = new FormParam().runSyntax(param, input);
+ 
+        let type = p.getType();
+ 
+        const isStructure = param.findDirectTokenByText("STRUCTURE") !== undefined;
+        if (isStructure) {
+          type = new TableType(type, {withHeader: true, keyType: TableKeyType.default});
+        }
+ 
+        if (type instanceof TableType) {
+          type = new TableType(type.getRowType(), {withHeader: true, keyType: TableKeyType.default});
+        } else if (!(type instanceof UnknownType) && !(type instanceof VoidType)) {
+          type = new UnknownType("FORM TABLES type must be table type");
+        }
+ 
+        ret.push(new TypedIdentifier(p.getToken(), input.filename, type, [IdentifierMeta.FormParameter]));
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private findType(type: new () => Expression, input: SyntaxInput): TypedIdentifier[] {
+    const found = this.node.findFirstExpression(type);
+    if (found === undefined) {
+      return [];
+    }
+    return this.findParams(found, input);
+  }
+ 
+  private findParams(node: ExpressionNode | StatementNode, input: SyntaxInput) {
+    const res: TypedIdentifier[] = [];
+    for (const param of node.findAllExpressions(Expressions.FormParam)) {
+      const p = new FormParam().runSyntax(param, input);
+      res.push(p);
+    }
+    return res;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/function_module_definition.ts.html b/src/abap/types/function_module_definition.ts.html new file mode 100644 index 00000000000..4219b655e11 --- /dev/null +++ b/src/abap/types/function_module_definition.ts.html @@ -0,0 +1,418 @@ + + + + + + Code coverage report for src/abap/types/function_module_definition.ts + + + + + + + + + +
+
+

All files / src/abap/types function_module_definition.ts

+
+ +
+ 81.25% + Statements + 91/112 +
+ + +
+ 55.55% + Branches + 10/18 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 81.25% + Lines + 91/112 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +1121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +15x +15x +1x +1x +8x +8x +1x +1x +3x +3x +1x +1x +23x +23x +1x +1x +1x +1x +15x +  +  +15x +15x +15x +15x +15x +6x +9x +  +  +9x +9x +9x +9x +9x +9x +9x +9x +6x +15x +15x +  +  +  +  +  +  +  +  +  +  +  +  +  +15x +15x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +15x +15x +2x +2x +  +  +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +15x +15x +1x +1x
import {xmlToArray} from "../../xml_utils";
+ 
+export enum FunctionModuleParameterDirection {
+  importing = "importing",
+  exporting = "exporting",
+  changing = "changing",
+  tables = "tables",
+}
+ 
+export interface IFunctionModuleParameter {
+  name: string;
+  direction: FunctionModuleParameterDirection;
+  type: string | undefined;
+  optional: boolean;
+  defaultValue: string | undefined;
+}
+ 
+export class FunctionModuleDefinition {
+  private name: string;
+  private description: string | undefined;
+  private parameters: IFunctionModuleParameter[];
+ 
+  public constructor(data: any) {
+    this.parse(data);
+  }
+ 
+  public getParameters(): readonly IFunctionModuleParameter[] {
+    return this.parameters;
+  }
+ 
+  public getDescription(): string | undefined {
+    return this.description;
+  }
+ 
+  public getName(): string {
+    return this.name;
+  }
+ 
+///////////////
+ 
+  private parse(data: any) {
+    if (data.FUNCNAME === undefined) {
+      throw new Error("Function module name undefined");
+    }
+    this.name = data.FUNCNAME;
+    this.description = data.SHORT_TEXT;
+    this.parameters = [];
+ 
+    if (data.IMPORT) {
+      for (const param of xmlToArray(data.IMPORT.RSIMP)) {
+        if (param.PARAMETER === undefined) {
+          throw new Error("Function module name parameter undefined, importing");
+        }
+        this.parameters.push({
+          name: param.PARAMETER,
+          direction: FunctionModuleParameterDirection.importing,
+          type: param.TYP || param.DBFIELD,
+          optional: param.OPTIONAL === "X",
+          defaultValue: param.DEFAULT,
+        });
+      }
+    }
+ 
+    if (data.CHANGING) {
+      for (const param of xmlToArray(data.CHANGING.RSCHA)) {
+        if (param.PARAMETER === undefined) {
+          throw new Error("Function module name parameter undefined, changing");
+        }
+        this.parameters.push({
+          name: param.PARAMETER,
+          direction: FunctionModuleParameterDirection.changing,
+          type: param.TYP || param.DBFIELD,
+          optional: param.OPTIONAL === "X",
+          defaultValue: param.DEFAULT,
+        });
+      }
+    }
+ 
+    if (data.EXPORT) {
+      for (const param of xmlToArray(data.EXPORT.RSEXP)) {
+        if (param.PARAMETER === undefined) {
+          throw new Error("Function module name parameter undefined, exporting");
+        }
+        this.parameters.push({
+          name: param.PARAMETER,
+          direction: FunctionModuleParameterDirection.exporting,
+          type: param.TYP || param.DBFIELD,
+          optional: true,
+          defaultValue: undefined,
+        });
+      }
+    }
+ 
+    if (data.TABLES) {
+      for (const param of xmlToArray(data.TABLES.RSTBL)) {
+        if (param.PARAMETER === undefined) {
+          throw new Error("Function module name parameter undefined, tables");
+        }
+        this.parameters.push({
+          name: param.PARAMETER,
+          direction: FunctionModuleParameterDirection.tables,
+          // table types are stored in TYP
+          type: param.DBSTRUCT || param.TYP,
+          optional: param.OPTIONAL === "X",
+          defaultValue: undefined,
+        });
+      }
+    }
+ 
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/index.html b/src/abap/types/index.html new file mode 100644 index 00000000000..02c35f636a5 --- /dev/null +++ b/src/abap/types/index.html @@ -0,0 +1,371 @@ + + + + + + Code coverage report for src/abap/types + + + + + + + + + +
+
+

All files src/abap/types

+
+ +
+ 89.42% + Statements + 1454/1626 +
+ + +
+ 85.46% + Branches + 294/344 +
+ + +
+ 86.84% + Functions + 99/114 +
+ + +
+ 89.42% + Lines + 1454/1626 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_typed_identifier.ts +
+
92.75%64/6985.71%6/783.33%5/692.75%64/69
alias.ts +
+
100%22/22100%3/3100%3/3100%22/22
class_attribute.ts +
+
100%16/16100%2/2100%2/2100%16/16
class_attributes.ts +
+
86.79%230/26592.59%50/5480%12/1586.79%230/265
class_constant.ts +
+
100%15/15100%2/2100%2/2100%15/15
class_definition.ts +
+
95.55%215/22580.64%50/6284.21%16/1995.55%215/225
class_implementation.ts +
+
46.15%18/39100%0/00%0/346.15%18/39
event_definition.ts +
+
90.24%37/4166.66%4/6100%3/390.24%37/41
form_definition.ts +
+
98.03%100/10295%19/20100%7/798.03%100/102
function_module_definition.ts +
+
81.25%91/11255.55%10/18100%5/581.25%91/112
index.ts +
+
100%13/13100%0/0100%0/0100%13/13
interface_definition.ts +
+
97.33%146/15086.95%20/2391.66%11/1297.33%146/150
message.ts +
+
93.1%27/2987.5%7/8100%4/493.1%27/29
method_definition.ts +
+
93.38%113/12188.46%23/2688.88%8/993.38%113/121
method_definitions.ts +
+
94.44%68/7293.1%27/29100%5/594.44%68/72
method_implementation.ts +
+
52.63%10/19100%0/00%0/152.63%10/19
method_parameters.ts +
+
83.9%245/29283.33%65/7886.66%13/1583.9%245/292
type_definitions.ts +
+
100%24/24100%6/6100%3/3100%24/24
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/index.ts.html b/src/abap/types/index.ts.html new file mode 100644 index 00000000000..629f3292493 --- /dev/null +++ b/src/abap/types/index.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/abap/types/index.ts + + + + + + + + + +
+
+

All files / src/abap/types index.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
export * from "./class_attribute";
+export * from "./class_attributes";
+export * from "./class_constant";
+export * from "./class_definition";
+export * from "./class_implementation";
+export * from "./form_definition";
+export * from "./function_module_definition";
+export * from "./interface_definition";
+export * from "./method_definition";
+export * from "./method_definitions";
+export * from "./method_implementation";
+export * from "./method_parameters";
+export * from "./type_definitions";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/interface_definition.ts.html b/src/abap/types/interface_definition.ts.html new file mode 100644 index 00000000000..3dd34da0b61 --- /dev/null +++ b/src/abap/types/interface_definition.ts.html @@ -0,0 +1,532 @@ + + + + + + Code coverage report for src/abap/types/interface_definition.ts + + + + + + + + + +
+
+

All files / src/abap/types interface_definition.ts

+
+ +
+ 97.33% + Statements + 146/150 +
+ + +
+ 86.95% + Branches + 20/23 +
+ + +
+ 91.66% + Functions + 11/12 +
+ + +
+ 97.33% + Lines + 146/150 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +1501x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +271x +  +  +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +1x +1x +22x +22x +1x +1x +200x +200x +1x +1x +26x +26x +1x +1x +135x +135x +1x +1x +637x +637x +1x +1x +267x +267x +1x +1x +  +  +1x +1x +40x +40x +1x +1x +215x +215x +1x +1x +1x +1x +271x +30x +30x +30x +30x +30x +30x +30x +23x +30x +4x +7x +3x +3x +30x +30x +268x +1x +1x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +271x +7x +7x +260x +260x +271x +1x +1x +271x +271x +1x +1x
import {Identifier} from "../4_file_information/_identifier";
+import {StructureNode} from "../nodes";
+import * as Structures from "../3_structures/structures";
+import * as Statements from "../2_statements/statements";
+import * as Expressions from "../2_statements/expressions";
+import {IInterfaceDefinition, IImplementing} from "./_interface_definition";
+import {IAttributes} from "./_class_attributes";
+import {ITypeDefinitions} from "./_type_definitions";
+import {Attributes} from "./class_attributes";
+import {Visibility} from "../4_file_information/visibility";
+import {ScopeType} from "../5_syntax/_scope_type";
+import {IEventDefinition} from "./_event_definition";
+import {EventDefinition} from "./event_definition";
+import {IMethodDefinitions} from "./_method_definitions";
+import {MethodDefinitions} from "./method_definitions";
+import {ReferenceType} from "../5_syntax/_reference";
+import {SyntaxInput} from "../5_syntax/_syntax_input";
+import {Alias} from "./alias";
+ 
+ 
+export class InterfaceDefinition extends Identifier implements IInterfaceDefinition {
+  private attributes: IAttributes;
+  private readonly implementing: IImplementing[];
+  private typeDefinitions: ITypeDefinitions;
+  private methodDefinitions: IMethodDefinitions;
+  private readonly events: IEventDefinition[];
+  private readonly globalValue: boolean;
+  private aliases: readonly Alias[];
+ 
+  public constructor(node: StructureNode, input: SyntaxInput) {
+    if (!(node.get() instanceof Structures.Interface)) {
+      throw new Error("InterfaceDefinition, unexpected node type");
+    }
+ 
+    const name = node.findFirstStatement(Statements.Interface)!.findFirstExpression(Expressions.InterfaceName)!.getFirstToken();
+    super(name, input.filename);
+    input.scope.addInterfaceDefinition(this);
+ 
+    this.events = [];
+    this.implementing = [];
+    this.globalValue = node.findFirstExpression(Expressions.ClassGlobal) !== undefined;
+ 
+    input.scope.push(ScopeType.Interface, name.getStr(), node.getFirstToken().getStart(), input.filename);
+    this.parse(input, node);
+    input.scope.pop(node.getLastToken().getEnd());
+  }
+ 
+  public getSuperClass(): undefined {
+    return undefined;
+  }
+ 
+  public getImplementing(): readonly IImplementing[] {
+    return this.implementing;
+  }
+ 
+  public getAliases() {
+    return this.aliases;
+  }
+ 
+  public getEvents() {
+    return this.events;
+  }
+ 
+  public getAttributes() {
+    return this.attributes;
+  }
+ 
+  public getTypeDefinitions() {
+    return this.typeDefinitions;
+  }
+ 
+  public isLocal(): boolean {
+    return !this.globalValue;
+  }
+ 
+  public isGlobal(): boolean {
+    return this.globalValue;
+  }
+ 
+  public getMethodDefinitions(): IMethodDefinitions {
+    return this.methodDefinitions;
+  }
+ 
+/////////////////
+ 
+  private checkInterfacesExists(input: SyntaxInput, node: StructureNode) {
+    for (const i of node.findAllStatements(Statements.InterfaceDef)) {
+      const token = i.findDirectExpression(Expressions.InterfaceName)?.getFirstToken();
+      const name = token?.getStr();
+      if (name) {
+        this.implementing.push({name, partial: false});
+ 
+        const idef = input.scope.findInterfaceDefinition(name);
+        if (idef) {
+          input.scope.addReference(token, idef, ReferenceType.ObjectOrientedReference, this.filename, {ooName: name.toUpperCase(), ooType: "INTF"});
+        } else if (input.scope.getDDIC().inErrorNamespace(name) === false) {
+          input.scope.addReference(token, undefined, ReferenceType.ObjectOrientedVoidReference, this.filename);
+        } else {
+          throw new Error("Interface " + name + " unknown");
+        }
+      }
+    }
+  }
+ 
+  private parse(input: SyntaxInput, node: StructureNode) {
+    this.checkInterfacesExists(input, node);
+ 
+    // todo, proper sequencing, the statements should be processed line by line
+    this.attributes = new Attributes(node, input);
+    this.typeDefinitions = this.attributes.getTypes();
+ 
+    this.aliases = this.attributes.getAliases();
+ 
+    // todo, cleanup aliases, vs "object_oriented.ts" vs "class_implementation.ts"
+    // this adds the aliased types to scope?
+    /*
+    for (const a of this.aliases) {
+      const [objName, fieldName] = a.getComponent().split("~");
+      const idef = input.scope.findInterfaceDefinition(objName);
+      if (idef) {
+        const foundType = idef.getTypeDefinitions().getByName(fieldName);
+        if (foundType) {
+          input.scope.addTypeNamed(a.getName(), foundType);
+        } else {
+          const foundField = idef.getAttributes().findByName(fieldName);
+          if (foundField && foundField instanceof ClassConstant) {
+            const token = new TokenIdentifier(a.getStart(), a.getName());
+            const id = new TypedIdentifier(token, input.filename, foundField.getType());
+            const constant = new ClassConstant(id, Visibility.Public, foundField.getValue());
+            input.scope.addIdentifier(constant);
+          }
+        }
+      }
+    }
+    */
+ 
+ 
+    const events = node.findAllStatements(Statements.Events);
+    for (const e of events) {
+      this.events.push(new EventDefinition(e, Visibility.Public, input));
+    }
+ 
+    this.methodDefinitions = new MethodDefinitions(node, input);
+    if (this.methodDefinitions.getByName("CONSTRUCTOR") !== undefined) {
+      throw new Error("Interfaces cannot have constructor methods");
+    }
+ 
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/message.ts.html b/src/abap/types/message.ts.html new file mode 100644 index 00000000000..c4ddd1c1a11 --- /dev/null +++ b/src/abap/types/message.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/abap/types/message.ts + + + + + + + + + +
+
+

All files / src/abap/types message.ts

+
+ +
+ 93.1% + Statements + 27/29 +
+ + +
+ 87.5% + Branches + 7/8 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 93.1% + Lines + 27/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +36x +36x +1x +1x +36x +36x +  +  +36x +1x +1x +45x +45x +1x +1x +47x +47x +1x +1x +19x +19x +19x +1x
export class Message {
+  private readonly number: string;
+  // the actual text,
+  private readonly message: string;
+ 
+  public constructor(number: string, message: string) {
+    this.number = number;
+    if (this.number === undefined) {
+      this.number = "";
+    }
+    this.message = message;
+    if (this.message === undefined) {
+      this.message = "";
+    }
+  }
+ 
+  public getNumber(): string {
+    return this.number;
+  }
+ 
+  public getMessage(): string {
+    return this.message;
+  }
+ 
+  public getPlaceholderCount(): number {
+    const escaped = (this.getMessage().match(/&&/g) || []).length;
+    return (this.getMessage().match(/&/g) || []).length - escaped * 2;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/method_definition.ts.html b/src/abap/types/method_definition.ts.html new file mode 100644 index 00000000000..ac018d191dc --- /dev/null +++ b/src/abap/types/method_definition.ts.html @@ -0,0 +1,445 @@ + + + + + + Code coverage report for src/abap/types/method_definition.ts + + + + + + + + + +
+
+

All files / src/abap/types method_definition.ts

+
+ +
+ 93.38% + Statements + 113/121 +
+ + +
+ 88.46% + Branches + 23/26 +
+ + +
+ 88.88% + Functions + 8/9 +
+ + +
+ 93.38% + Lines + 113/121 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +1211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +618x +  +  +618x +618x +618x +  +  +618x +618x +618x +618x +8x +8x +8x +8x +1x +1x +1x +1x +1x +8x +618x +618x +618x +15x +15x +618x +618x +618x +5x +5x +618x +618x +618x +618x +112x +112x +618x +618x +618x +12x +12x +12x +12x +12x +7x +12x +5x +5x +  +  +12x +618x +618x +618x +6x +6x +6x +6x +618x +618x +618x +618x +1x +1x +27x +27x +1x +1x +672x +672x +1x +1x +  +  +1x +1x +537x +537x +1x +1x +1x +1x +1x +1x +1477x +1477x +1x +1x +70x +70x +1x +1x +1x +1x +1x +1x
import {StatementNode} from "../nodes";
+import {MethodDef} from "../2_statements/statements";
+import * as Expressions from "../2_statements/expressions";
+import {MethodParameters} from "./method_parameters";
+import {Visibility} from "../4_file_information/visibility";
+import {Identifier} from "../4_file_information/_identifier";
+import {IMethodDefinition} from "./_method_definition";
+import {ReferenceType} from "../5_syntax/_reference";
+import {SyntaxInput} from "../5_syntax/_syntax_input";
+ 
+export class MethodDefinition extends Identifier implements IMethodDefinition {
+  private readonly visibility: Visibility;
+  private readonly parameters: MethodParameters;
+  private readonly redefinition: boolean;
+  private readonly eventHandler: boolean;
+  private readonly abstract: boolean;
+  private readonly static: boolean;
+  private readonly raising: string[];
+  private readonly exceptions: string[];
+ 
+// todo: final flag
+ 
+  public constructor(node: StatementNode, visibility: Visibility, input: SyntaxInput) {
+    if (!(node.get() instanceof MethodDef)) {
+      throw new Error("MethodDefinition, expected MethodDef as part of input node");
+    }
+ 
+    const found = node.findDirectExpression(Expressions.MethodName);
+    if (found === undefined) {
+      throw new Error("MethodDefinition, expected MethodDef as part of input node");
+    }
+    super(found.getFirstToken(), input.filename);
+ 
+    this.redefinition = false;
+    if (node.findDirectExpression(Expressions.Redefinition)) {
+      this.redefinition = true;
+ 
+      const name = found.getFirstToken().getStr();
+      if (name.includes("~")) {
+        const idef = input.scope.findInterfaceDefinition(name.split("~")[0]);
+        if (idef) {
+          input.scope.addReference(found.getFirstToken(), idef, ReferenceType.ObjectOrientedReference, input.filename);
+        }
+      }
+    }
+ 
+    this.eventHandler = false;
+    if (node.findDirectExpression(Expressions.EventHandler)) {
+      this.eventHandler = true;
+    }
+ 
+    this.abstract = false;
+    if (node.findDirectExpression(Expressions.Abstract)) {
+      this.abstract = true;
+    }
+ 
+    this.static = false;
+    // checks for "CLASS-METHODS"
+    if (node.getFirstToken().getStr().toUpperCase().startsWith("CLASS")) {
+      this.static = true;
+    }
+ 
+    this.raising = [];
+    for (const r of node.findDirectExpression(Expressions.MethodDefRaising)?.findAllExpressions(Expressions.ClassName) || []) {
+      const token = r.getFirstToken();
+      const name = token.getStr();
+      this.raising.push(name);
+      const clas = input.scope.findClassDefinition(name);
+      if (clas) {
+        input.scope.addReference(token, clas, ReferenceType.ObjectOrientedReference, input.filename, {ooName: name.toUpperCase(), ooType: "CLAS"});
+      } else if (input.scope.getDDIC().inErrorNamespace(name) === false) {
+        input.scope.addReference(token, clas, ReferenceType.ObjectOrientedVoidReference, input.filename, {ooName: name.toUpperCase(), ooType: "CLAS"});
+      } else {
+        input.scope.addReference(token, clas, ReferenceType.ObjectOrientedUnknownReference, input.filename, {ooName: name.toUpperCase(), ooType: "CLAS"});
+      }
+    }
+ 
+    this.exceptions = [];
+    for (const r of node.findDirectExpression(Expressions.MethodDefExceptions)?.findAllExpressions(Expressions.NamespaceSimpleName) || []) {
+      const token = r.getFirstToken();
+      const name = token.getStr();
+      this.exceptions.push(name);
+    }
+ 
+    this.visibility = visibility;
+    this.parameters = new MethodParameters(node, input, this.abstract);
+  }
+ 
+  public getVisibility(): Visibility {
+    return this.visibility;
+  }
+ 
+  public isRedefinition(): boolean {
+    return this.redefinition;
+  }
+ 
+  public isAbstract(): boolean {
+    return this.abstract;
+  }
+ 
+  public isStatic(): boolean {
+    return this.static;
+  }
+ 
+  public isEventHandler(): boolean {
+    return this.eventHandler;
+  }
+ 
+  public getParameters(): MethodParameters {
+    return this.parameters;
+  }
+ 
+  public getRaising(): readonly string[] {
+    return this.raising;
+  }
+ 
+  public getExceptions(): readonly string[] {
+    return this.exceptions;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/method_definitions.ts.html b/src/abap/types/method_definitions.ts.html new file mode 100644 index 00000000000..b5bb6f2524f --- /dev/null +++ b/src/abap/types/method_definitions.ts.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for src/abap/types/method_definitions.ts + + + + + + + + + +
+
+

All files / src/abap/types method_definitions.ts

+
+ +
+ 94.44% + Statements + 68/72 +
+ + +
+ 93.1% + Branches + 27/29 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 94.44% + Lines + 68/72 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +721x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1390x +1390x +1390x +1x +1x +3087x +1575x +870x +2382x +1x +1x +288x +  +  +288x +288x +288x +1x +1x +1x +1x +260x +260x +76x +76x +76x +260x +1x +1x +1390x +1390x +260x +260x +1130x +1130x +1390x +  +  +1130x +1130x +1390x +45x +45x +45x +1130x +1130x +1390x +11x +11x +11x +1130x +1130x +1390x +486x +486x +486x +1130x +1x +1x
import {MethodDefinition} from "./method_definition";
+import {StructureNode} from "../nodes";
+import * as Structures from "../3_structures/structures";
+import {MethodDef} from "../2_statements/statements";
+import {Visibility} from "../4_file_information/visibility";
+import {IMethodDefinitions} from "./_method_definitions";
+import {IMethodDefinition} from "./_method_definition";
+import {SyntaxInput} from "../5_syntax/_syntax_input";
+ 
+export class MethodDefinitions implements IMethodDefinitions {
+  private readonly all: {[index: string]: IMethodDefinition} = {};
+ 
+  public constructor(node: StructureNode, input: SyntaxInput) {
+    this.all = {};
+    this.parse(node, input);
+  }
+ 
+  public* getAll(): Generator<IMethodDefinition, void, undefined> {
+    for (const a in this.all) {
+      yield this.all[a];
+    }
+  }
+ 
+  public getByName(name: string | undefined): IMethodDefinition | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    return this.all[name.toUpperCase()];
+  }
+ 
+///////////////////////
+ 
+  private parseInterface(node: StructureNode, input: SyntaxInput) {
+    const defs = node.findAllStatements(MethodDef);
+    for (const def of defs) {
+      const m = new MethodDefinition(def, Visibility.Public, input);
+      this.all[m.getName().toUpperCase()] = m;
+    }
+  }
+ 
+  private parse(node: StructureNode, input: SyntaxInput) {
+    const idef = node.findDirectStructure(Structures.Interface);
+    if (idef) {
+      return this.parseInterface(node, input);
+    }
+ 
+    const cdef = node.findDirectStructure(Structures.ClassDefinition);
+    if (!cdef) {
+      throw new Error("MethodDefinitions, expected ClassDefinition as part of input node");
+    }
+ 
+    const pri = cdef.findDirectStructure(Structures.PrivateSection);
+    for (const def of pri?.findAllStatements(MethodDef) || []) {
+      const m = new MethodDefinition(def, Visibility.Private, input);
+      this.all[m.getName().toUpperCase()] = m;
+    }
+ 
+    const pro = node.findDirectStructure(Structures.ProtectedSection);
+    for (const def of pro?.findAllStatements(MethodDef) || []) {
+      const m = new MethodDefinition(def, Visibility.Protected, input);
+      this.all[m.getName().toUpperCase()] = m;
+    }
+ 
+    const pub = node.findDirectStructure(Structures.PublicSection);
+    for (const def of pub?.findAllStatements(MethodDef) || []) {
+      const m = new MethodDefinition(def, Visibility.Public, input);
+      this.all[m.getName().toUpperCase()] = m;
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/method_implementation.ts.html b/src/abap/types/method_implementation.ts.html new file mode 100644 index 00000000000..9b7c8b3effd --- /dev/null +++ b/src/abap/types/method_implementation.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/abap/types/method_implementation.ts + + + + + + + + + +
+
+

All files / src/abap/types method_implementation.ts

+
+ +
+ 52.63% + Statements + 10/19 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 52.63% + Lines + 10/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +191x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +1x +1x
import {StructureNode} from "../nodes";
+import {Identifier} from "../4_file_information/_identifier";
+import * as Structures from "../3_structures/structures";
+import * as Expressions from "../2_statements/expressions";
+ 
+export class MethodImplementation extends Identifier {
+ 
+  public constructor(node: StructureNode, filename: string) {
+    if (!(node.get() instanceof Structures.Method)) {
+      throw new Error("MethodImplementation, expected Method as part of input node");
+    }
+    const found = node.findFirstExpression(Expressions.MethodName);
+    if (found === undefined) {
+      throw new Error("MethodImplementation, expected MethodName as part of input node");
+    }
+    super(found.getFirstToken(), filename);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/method_parameters.ts.html b/src/abap/types/method_parameters.ts.html new file mode 100644 index 00000000000..ed3bbf14cea --- /dev/null +++ b/src/abap/types/method_parameters.ts.html @@ -0,0 +1,958 @@ + + + + + + Code coverage report for src/abap/types/method_parameters.ts + + + + + + + + + +
+
+

All files / src/abap/types method_parameters.ts

+
+ +
+ 83.9% + Statements + 245/292 +
+ + +
+ 83.33% + Branches + 65/78 +
+ + +
+ 86.66% + Functions + 13/15 +
+ + +
+ 83.9% + Lines + 245/292 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +2921x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +618x +  +  +618x +618x +618x +618x +618x +618x +618x +618x +618x +618x +618x +618x +618x +618x +618x +618x +618x +1x +1x +  +  +1x +1x +157x +157x +1x +1x +665x +665x +665x +92x +92x +665x +665x +665x +665x +665x +1x +1x +107x +  +107x +102x +107x +3x +3x +2x +2x +2x +107x +1x +1x +1x +1x +1x +1x +1x +1162x +1162x +1x +1x +230x +230x +230x +147x +11x +147x +2x +2x +134x +134x +230x +10x +  +  +10x +10x +230x +230x +230x +1x +1x +674x +674x +1x +1x +906x +906x +1x +1x +875x +875x +1x +1x +  +  +1x +1x +2x +2x +1x +1x +1x +1x +618x +618x +618x +15x +15x +15x +15x +15x +7x +15x +8x +8x +8x +8x +15x +15x +15x +15x +22x +22x +22x +22x +1x +1x +1x +22x +22x +6x +22x +15x +15x +  +  +  +22x +15x +15x +603x +603x +618x +245x +245x +3x +3x +1x +1x +3x +245x +603x +603x +618x +14x +14x +603x +603x +618x +13x +13x +603x +603x +618x +82x +82x +603x +603x +603x +1x +1x +603x +603x +603x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +603x +603x +  +  +  +603x +603x +603x +  +  +  +  +  +  +  +  +  +  +  +  +603x +1x +1x +272x +272x +272x +  +  +272x +272x +5x +272x +254x +254x +272x +5x +5x +272x +272x +272x +272x +10x +10x +272x +12x +12x +12x +12x +12x +12x +12x +12x +272x +272x +258x +258x +14x +14x +14x +14x +14x +14x +1x +1x
/* eslint-disable max-len */
+import {StatementNode} from "../nodes/statement_node";
+import {MethodDef} from "../2_statements/statements/method_def";
+import * as Expressions from "../2_statements/expressions";
+import {ExpressionNode} from "../nodes";
+import {TypedIdentifier, IdentifierMeta} from "./_typed_identifier";
+import {ObjectReferenceType, UnknownType, VoidType} from "./basic";
+import {MethodDefReturning} from "../5_syntax/expressions/method_def_returning";
+import {MethodParam} from "../5_syntax/expressions/method_param";
+import {IMethodParameters} from "./_method_parameters";
+import {ObjectOriented} from "../5_syntax/_object_oriented";
+import {ReferenceType} from "../5_syntax/_reference";
+import {Identifier as IdentifierToken} from "../1_lexer/tokens/identifier";
+import {ScopeType} from "../5_syntax/_scope_type";
+import {SyntaxInput} from "../5_syntax/_syntax_input";
+ 
+// todo:
+// this.exceptions = [];
+// also consider RAISING vs EXCEPTIONS
+ 
+export class MethodParameters implements IMethodParameters {
+  private preferred: string | undefined;
+  private returning: TypedIdentifier | undefined;
+  private readonly importing: TypedIdentifier[];
+  private readonly optional: string[];
+  private readonly exporting: TypedIdentifier[];
+  private readonly changing: TypedIdentifier[];
+  private readonly exceptions: string[]; // todo, not filled
+  private readonly defaults: {[index: string]: ExpressionNode};
+  private readonly filename: string;
+ 
+  public constructor(node: StatementNode, input: SyntaxInput, abstractMethod: boolean) {
+    if (!(node.get() instanceof MethodDef)) {
+      throw new Error("MethodDefinition, expected MethodDef as part of input node");
+    }
+ 
+    this.importing = [];
+    this.exporting = [];
+    this.changing = [];
+    this.optional = [];
+    this.defaults = {};
+    this.returning = undefined;
+    this.preferred = undefined;
+    this.exceptions = [];
+    this.filename = input.filename;
+ 
+    // need the scope for LIKE typing inside method parameters
+    const parentName = input.scope.getName();
+    input.scope.push(ScopeType.MethodDefinition, "method definition", node.getStart(), input.filename);
+    this.parse(node, input, parentName, abstractMethod);
+    input.scope.pop(node.getEnd());
+  }
+ 
+  public getFilename(): string {
+    return this.filename;
+  }
+ 
+  public getOptional(): string[] {
+    return this.optional;
+  }
+ 
+  public getAll(): TypedIdentifier[] {
+    const ret: TypedIdentifier[] = [];
+    const returning = this.getReturning();
+    if (returning) {
+      ret.push(returning);
+    }
+    ret.push(...this.getImporting());
+    ret.push(...this.getExporting());
+    ret.push(...this.getChanging());
+    return ret;
+  }
+ 
+  public getDefaultImporting(): string | undefined {
+    if (this.importing.length === 0) {
+      return undefined;
+    } else if (this.importing.length === 1) {
+      return this.importing[0].getName().toUpperCase();
+    } else if (this.preferred) {
+      return this.preferred;
+    }
+ 
+    let candidates = this.importing.map(i => i.getName().toUpperCase());
+    candidates = candidates.filter(c => this.optional.indexOf(c) < 0);
+    if (candidates.length === 1) {
+      return candidates[0];
+    }
+ 
+    return undefined;
+  }
+ 
+  public getImporting() {
+    return this.importing;
+  }
+ 
+  public getRequiredParameters() {
+    const ret: TypedIdentifier[] = [];
+ 
+    for (const i of this.getImporting()) {
+      if (this.getOptional().some(o => o.toUpperCase() === i.getName().toUpperCase()) === true) {
+        continue;
+      } else if (this.preferred?.toUpperCase() === i.getName().toUpperCase()) {
+        continue;
+      }
+      ret.push(i);
+    }
+    for (const i of this.getChanging()) {
+      if (this.getOptional().some(o => o.toUpperCase() === i.getName().toUpperCase()) === true) {
+        continue;
+      }
+      ret.push(i);
+    }
+ 
+    return ret;
+  }
+ 
+  public getExporting() {
+    return this.exporting;
+  }
+ 
+  public getChanging() {
+    return this.changing;
+  }
+ 
+  public getReturning() {
+    return this.returning;
+  }
+ 
+  public getExceptions() {
+    return this.exceptions;
+  }
+ 
+  public getParameterDefault(parameter: string) {
+    return this.defaults[parameter.toUpperCase()];
+  }
+ 
+///////////////////
+ 
+  private parse(node: StatementNode, input: SyntaxInput, parentName: string, abstractMethod: boolean): void {
+ 
+    const handler = node.findFirstExpression(Expressions.EventHandler);
+    if (handler) {
+      const nameToken = node.findFirstExpression(Expressions.ClassName)?.getFirstToken();
+      const ooName = nameToken?.getStr();
+      const def = input.scope.findObjectDefinition(ooName);
+      const doVoid = def ? false : !input.scope.getDDIC().inErrorNamespace(ooName);
+      if (def) {
+        input.scope.addReference(nameToken, def, ReferenceType.ObjectOrientedReference, input.filename);
+      } else if (doVoid && ooName) {
+        input.scope.addReference(
+          nameToken, undefined, ReferenceType.ObjectOrientedVoidReference,
+          this.filename, {ooName: ooName.toUpperCase()});
+      }
+ 
+      const eventName = node.findFirstExpression(Expressions.EventName)?.getFirstToken().getStr();
+      const event = new ObjectOriented(input.scope).searchEvent(def, eventName);
+      for (const p of handler.findAllExpressions(Expressions.MethodParamName)) {
+        const token = p.getFirstToken();
+        const search = token.getStr().toUpperCase().replace("!", "");
+        this.optional.push(search); // all parameters optional for event handlers
+        if (search === "SENDER" && def) {
+          this.importing.push(new TypedIdentifier(token, this.filename, new ObjectReferenceType(def), [IdentifierMeta.EventParameter]));
+          continue;
+        }
+        const found = event?.getParameters().find(p => p.getName().toUpperCase() === search);
+        if (found) {
+          this.importing.push(new TypedIdentifier(token, this.filename, found.getType(), [IdentifierMeta.EventParameter]));
+        } else if (doVoid) {
+          this.importing.push(new TypedIdentifier(token, this.filename, new VoidType(ooName), [IdentifierMeta.EventParameter]));
+        } else {
+          const type = new UnknownType(`handler parameter not found "${search}"`);
+          this.importing.push(new TypedIdentifier(token, this.filename, type, [IdentifierMeta.EventParameter]));
+        }
+      }
+      return;
+    }
+ 
+    const importing = node.findFirstExpression(Expressions.MethodDefImporting);
+    if (importing) {
+      this.add(this.importing, importing, input, [IdentifierMeta.MethodImporting], abstractMethod);
+      if (importing.findDirectTokenByText("PREFERRED")) {
+        this.preferred = importing.getLastToken().getStr().toUpperCase();
+        if (this.preferred.startsWith("!")) {
+          this.preferred = this.preferred.substring(1);
+        }
+      }
+    }
+ 
+    const exporting = node.findFirstExpression(Expressions.MethodDefExporting);
+    if (exporting) {
+      this.add(this.exporting, exporting, input, [IdentifierMeta.MethodExporting], abstractMethod);
+    }
+ 
+    const changing = node.findFirstExpression(Expressions.MethodDefChanging);
+    if (changing) {
+      this.add(this.changing, changing, input, [IdentifierMeta.MethodChanging], abstractMethod);
+    }
+ 
+    const returning = node.findFirstExpression(Expressions.MethodDefReturning);
+    if (returning) {
+      this.returning = new MethodDefReturning().runSyntax(returning, input, [IdentifierMeta.MethodReturning]);
+    }
+ 
+    this.workaroundRAP(node, input, parentName);
+  }
+ 
+  private workaroundRAP(node: StatementNode, input: SyntaxInput, parentName: string): void {
+    const resultName = node.findExpressionAfterToken("RESULT");
+    const isRap = node.findExpressionAfterToken("IMPORTING");
+    if (isRap) {
+      for (const foo of node.findDirectExpressions(Expressions.MethodParamName)) {
+        if (foo === resultName) {
+          continue;
+        }
+        this.importing.push(new TypedIdentifier(foo.getFirstToken(), input.filename, new VoidType("RapMethodParameter"), [IdentifierMeta.MethodImporting]));
+      }
+
+      const concat = node.concatTokens().toUpperCase();
+      if (concat.includes(" FOR VALIDATE ")
+          || concat.includes(" FOR BEHAVIOR ")
+          || concat.includes(" FOR FEATURES ")
+          || concat.includes(" FOR MODIFY ")) {
+        const token = isRap.getFirstToken();
+        this.exporting.push(new TypedIdentifier(new IdentifierToken(token.getStart(), "failed"), input.filename, new VoidType("RapMethodParameter"), [IdentifierMeta.MethodExporting]));
+        this.exporting.push(new TypedIdentifier(new IdentifierToken(token.getStart(), "mapped"), input.filename, new VoidType("RapMethodParameter"), [IdentifierMeta.MethodExporting]));
+        this.exporting.push(new TypedIdentifier(new IdentifierToken(token.getStart(), "reported"), input.filename, new VoidType("RapMethodParameter"), [IdentifierMeta.MethodExporting]));
+      }
+    }
+ 
+    if (resultName) {
+      const token = resultName.getFirstToken();
+      this.importing.push(new TypedIdentifier(token, input.filename, new VoidType("RapMethodParameter"), [IdentifierMeta.MethodExporting]));
+    }
+ 
+    // its some kind of magic
+    if (parentName.toUpperCase() === "CL_ABAP_BEHAVIOR_SAVER") {
+      const tempChanging = this.changing.map(c => new TypedIdentifier(c.getToken(), input.filename, new VoidType("RapMethodParameter"), c.getMeta()));
+      while (this.changing.length > 0) {
+        this.changing.shift();
+      }
+      this.changing.push(...tempChanging);
+
+      const tempImporting = this.importing.map(c => new TypedIdentifier(c.getToken(), input.filename, new VoidType("RapMethodParameter"), c.getMeta()));
+      while (this.importing.length > 0) {
+        this.importing.shift();
+      }
+      this.importing.push(...tempImporting);
+    }
+  }
+ 
+  private add(target: TypedIdentifier[], source: ExpressionNode, input: SyntaxInput, meta: IdentifierMeta[], abstractMethod: boolean): void {
+    for (const opt of source.findAllExpressions(Expressions.MethodParamOptional)) {
+      const p = opt.findDirectExpression(Expressions.MethodParam);
+      if (p === undefined) {
+        continue;
+      }
+      const extraMeta: IdentifierMeta[] = [];
+      if (p.getFirstToken().getStr().toUpperCase() === "VALUE" && p.getChildren()[1]?.getFirstToken().getStr() === "(") {
+        extraMeta.push(IdentifierMeta.PassByValue);
+      } else if (meta.includes(IdentifierMeta.MethodImporting)) {
+        extraMeta.push(IdentifierMeta.ReadOnly);
+      }
+      if (abstractMethod === true) {
+        extraMeta.push(IdentifierMeta.Abstract);
+      }
+      const id = new MethodParam().runSyntax(p, input, [...meta, ...extraMeta]);
+      input.scope.addIdentifier(id);
+      target.push(id);
+      if (opt.findDirectTokenByText("OPTIONAL")) {
+        const name = target[target.length - 1].getName().toUpperCase();
+        this.optional.push(name);
+      } else if (opt.findFirstExpression(Expressions.Default)) {
+        const name = target[target.length - 1].getName().toUpperCase();
+        this.optional.push(name);
+ 
+        const val = opt.findFirstExpression(Expressions.Default)?.getLastChild();
+        if (val && val instanceof ExpressionNode) {
+          this.defaults[name] = val;
+        }
+      }
+    }
+    if (target.length > 0) {
+      return;
+    }
+ 
+    const params = source.findAllExpressions(Expressions.MethodParam);
+    for (const param of params) {
+      target.push(new MethodParam().runSyntax(param, input, meta));
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/abap/types/type_definitions.ts.html b/src/abap/types/type_definitions.ts.html new file mode 100644 index 00000000000..330aa73f710 --- /dev/null +++ b/src/abap/types/type_definitions.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/abap/types/type_definitions.ts + + + + + + + + + +
+
+

All files / src/abap/types type_definitions.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 6/6 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +1x +1390x +1390x +237x +237x +237x +1390x +1x +1x +1986x +1986x +1x +1x +107x +107x +1x +1x
import {TypedIdentifier} from "./_typed_identifier";
+import {ITypeDefinitions, TypeDefinitionsEntry} from "./_type_definitions";
+ 
+export class TypeDefinitions implements ITypeDefinitions {
+  private readonly list: TypeDefinitionsEntry[];
+  private readonly map: {[index: string]: TypeDefinitionsEntry} = {};
+ 
+  public constructor(list: TypeDefinitionsEntry[]) {
+    this.list = list;
+    for (const t of list) {
+// todo, can assumptions be made regarding the case of t.getName()?
+      this.map[t.type.getName().toUpperCase()] = t;
+    }
+  }
+ 
+  public getAll(): TypeDefinitionsEntry[] {
+    return this.list;
+  }
+ 
+  public getByName(name: string): TypedIdentifier | undefined {
+    return this.map[name.toUpperCase()]?.type;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/artifacts_objects.ts.html b/src/artifacts_objects.ts.html new file mode 100644 index 00000000000..7d982052e8b --- /dev/null +++ b/src/artifacts_objects.ts.html @@ -0,0 +1,172 @@ + + + + + + Code coverage report for src/artifacts_objects.ts + + + + + + + + + +
+
+

All files / src artifacts_objects.ts

+
+ +
+ 100% + Statements + 30/30 +
+ + +
+ 100% + Branches + 7/7 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 30/30 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +301x +1x +1x +1x +1x +1x +1x +1x +7439x +1x +1x +7439x +7439x +5x +7439x +7434x +7434x +7439x +1x +1x +1x +1x +1x +152x +149x +149x +149x +152x +1x +1x
import {IObject} from "./objects/_iobject";
+import * as Objects from "./objects";
+import {UnknownObject} from "./objects/_unknown_object";
+ 
+export class ArtifactsObjects {
+  private static objectMap: any;
+ 
+  public static newObject(name: string, type: string): IObject {
+    if (this.objectMap === undefined) {
+      this.buildObjectMap();
+    }
+ 
+    if (type === undefined || this.objectMap[type] === undefined) {
+      return new UnknownObject(name, type);
+    } else {
+      return new this.objectMap[type](name);
+    }
+  }
+ 
+  private static buildObjectMap() {
+    this.objectMap = [];
+    const list: any = Objects;
+    for (const key in Objects) {
+      if (typeof list[key] === "function") {
+        const obj = new list[key]("DUMMY_NAME");
+        this.objectMap[obj.getType()] = list[key];
+      }
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/artifacts_rules.ts.html b/src/artifacts_rules.ts.html new file mode 100644 index 00000000000..112d17c0078 --- /dev/null +++ b/src/artifacts_rules.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/artifacts_rules.ts + + + + + + + + + +
+
+

All files / src artifacts_rules.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +10422x +10422x +10422x +3522636x +3501792x +3501792x +3501792x +1750896x +1750896x +3501792x +3522636x +10422x +10422x +1x +1x
import {IRule} from "./rules/_irule";
+import * as Rules from "./rules";
+ 
+export class ArtifactsRules {
+ 
+  public static getRules(): IRule[] {
+    const ret: IRule[] = [];
+    const list: any = Rules;
+    for (const key in Rules) {
+      if (typeof list[key] === "function") {
+        const rule: IRule = new list[key]();
+// note that configuration is also exported from rules
+        if (rule.getMetadata !== undefined) {
+          ret.push(rule);
+        }
+      }
+    }
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/cds_determine_types.ts.html b/src/cds/cds_determine_types.ts.html new file mode 100644 index 00000000000..b33c1e6ca67 --- /dev/null +++ b/src/cds/cds_determine_types.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/cds/cds_determine_types.ts + + + + + + + + + +
+
+

All files / src/cds cds_determine_types.ts

+
+ +
+ 95.65% + Statements + 22/23 +
+ + +
+ 33.33% + Branches + 2/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 95.65% + Lines + 22/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +8x +8x +  +8x +8x +8x +23x +23x +23x +23x +23x +8x +8x +8x +1x +1x
import {AbstractType, IRegistry} from "..";
+import {IStructureComponent, StructureType, VoidType} from "../abap/types/basic";
+import {ParsedDataDefinition} from "../objects";
+ 
+export class CDSDetermineTypes {
+ 
+  public parseType(_reg: IRegistry, parsedData: ParsedDataDefinition): AbstractType {
+ 
+    if (parsedData?.fields.length === 0) {
+      return new VoidType("DDLS:todo");
+    } else {
+      const components: IStructureComponent[] = [];
+      for (const f of parsedData?.fields || []) {
+        components.push({
+          name: f.name,
+          type: new VoidType("DDLS:fieldname"),
+        });
+      }
+      return new StructureType(components);
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/cds_lexer.ts.html b/src/cds/cds_lexer.ts.html new file mode 100644 index 00000000000..c61b2ab98c8 --- /dev/null +++ b/src/cds/cds_lexer.ts.html @@ -0,0 +1,568 @@ + + + + + + Code coverage report for src/cds/cds_lexer.ts + + + + + + + + + +
+
+

All files / src/cds cds_lexer.ts

+
+ +
+ 100% + Statements + 162/162 +
+ + +
+ 100% + Branches + 57/57 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 162/162 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +1621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +84x +84x +1x +1x +12586x +12586x +12586x +12586x +1x +1x +12586x +12586x +12586x +1x +1x +12670x +12670x +1x +1x +1x +1x +1x +1x +1x +1x +1x +84x +84x +84x +84x +4145x +2223x +8x +2223x +2215x +2215x +2223x +4145x +4145x +84x +84x +84x +84x +84x +1x +1x +1x +84x +84x +84x +84x +84x +84x +84x +84x +84x +84x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +528x +528x +97x +97x +97x +528x +528x +12058x +12058x +12586x +200x +8x +8x +200x +192x +192x +192x +12586x +5x +5x +5x +5x +11858x +3x +3x +3x +3x +3x +11858x +11858x +12586x +125x +2x +125x +3x +3x +125x +12586x +3x +3x +3x +3x +11730x +11730x +12586x +97x +97x +97x +12586x +2024x +2024x +12586x +461x +461x +461x +461x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +12586x +730x +730x +730x +12586x +8418x +8418x +12586x +12586x +84x +84x +84x +84x +1x
import {Comment, Identifier} from "../abap/1_lexer/tokens";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {IFile} from "../files/_ifile";
+import {Position} from "../position";
+ 
+// todo: Keywords must be all uppercase, all lowercase, or in lowercase with an
+// uppercase initial letter. Other mixes of uppercase and lowercase are not allowed
+ 
+class Stream {
+  private buffer: string;
+ 
+  public constructor(buffer: string) {
+    this.buffer = buffer;
+  }
+ 
+  public takeNext(): string {
+    const next = this.buffer.substring(0, 1);
+    this.buffer = this.buffer.substring(1);
+    return next;
+  }
+ 
+  public peekNext(): string {
+    const next = this.buffer.substring(0, 1);
+    return next;
+  }
+ 
+  public length(): number {
+    return this.buffer.length;
+  }
+}
+ 
+enum Mode {
+  Default,
+  String,
+  SingleLineComment,
+  MultiLineComment,
+}
+ 
+class Result {
+  private readonly result: AbstractToken[] = [];
+ 
+  public add(text: string, row: number, col: number, mode: Mode): string {
+    if (text.length > 0) {
+      if (mode === Mode.SingleLineComment) {
+        this.result.push(new Comment(new Position(row, col), text));
+      } else {
+        this.result.push(new Identifier(new Position(row, col), text));
+      }
+    }
+    return "";
+  }
+ 
+  public get() {
+    return this.result;
+  }
+}
+ 
+export class CDSLexer {
+  public static run(file: IFile): AbstractToken[] {
+    const result = new Result();
+    let mode = Mode.Default;
+    let row = 1;
+    let col = 1;
+    let build = "";
+ 
+    const stream = new Stream(file.getRaw().replace(/\r/g, "").replace(/\u00a0/g, " "));
+ 
+    let next = "";
+    while (stream.length() > 0) {
+      const prev = next;
+      next = stream.takeNext();
+      const nextNext = stream.peekNext();
+      col++;
+ 
+// string handling
+      if (mode === Mode.String) {
+        build += next;
+        if (next === "'") {
+          build = result.add(build, row, col, mode);
+          mode = Mode.Default;
+        }
+        continue;
+      }
+ 
+// single line comment handling
+      if (mode === Mode.SingleLineComment) {
+        if (next === "\n") {
+          build = result.add(build, row, col, mode);
+          mode = Mode.Default;
+        } else {
+          build += next;
+          continue;
+        }
+      } else if (mode === Mode.Default && next === "/" && nextNext === "/") {
+        mode = Mode.SingleLineComment;
+        build = result.add(build, row, col, mode);
+        build += next;
+        continue;
+      } else if (mode === Mode.Default && next === "-" && nextNext === "-") {
+        mode = Mode.SingleLineComment;
+        build = result.add(build, row, col, mode);
+        build += next;
+        continue;
+      }
+ 
+// multi line comment handling
+      if (mode === Mode.MultiLineComment) {
+        if (next === "\n") {
+          row++;
+        } else if (prev === "*" && next === "/") {
+          mode = Mode.Default;
+        }
+        continue;
+      } else if (mode === Mode.Default && next === "/" && nextNext === "*") {
+        mode = Mode.MultiLineComment;
+        build = result.add(build, row, col, mode);
+        continue;
+      }
+ 
+      switch (next) {
+        case "'":
+          mode = Mode.String;
+          build += next;
+          break;
+        case " ":
+          build = result.add(build, row, col, mode);
+          break;
+        case "\n":
+          build = result.add(build, row, col, mode);
+          row++;
+          col = 0;
+          break;
+        case ";":
+        case ":":
+        case ",":
+        case ".":
+        case "{":
+        case "}":
+        case "(":
+        case ")":
+        case "[":
+        case "]":
+        case "=":
+        case "<":
+        case ">":
+        case "+":
+        case "-":
+        case "*":
+        case "/":
+          build = result.add(build, row, col, mode);
+          result.add(next, row, col, mode);
+          break;
+        default:
+          build += next;
+          break;
+      }
+    }
+ 
+    result.add(build, row, col, mode);
+    return result.get();
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/cds_parser.ts.html b/src/cds/cds_parser.ts.html new file mode 100644 index 00000000000..ea65f65f024 --- /dev/null +++ b/src/cds/cds_parser.ts.html @@ -0,0 +1,202 @@ + + + + + + Code coverage report for src/cds/cds_parser.ts + + + + + + + + + +
+
+

All files / src/cds cds_parser.ts

+
+ +
+ 95% + Statements + 38/40 +
+ + +
+ 92.85% + Branches + 13/14 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 95% + Lines + 38/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +401x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +70x +  +  +70x +70x +70x +70x +70x +70x +70x +18x +18x +70x +13x +13x +70x +7x +7x +70x +6x +6x +70x +3x +3x +67x +67x +1x +1x
import {Comment} from "../abap/1_lexer/tokens";
+import {Combi} from "../abap/2_statements/combi";
+import {ExpressionNode} from "../abap/nodes";
+import {IFile} from "../files/_ifile";
+import {defaultVersion} from "../version";
+import {CDSLexer} from "./cds_lexer";
+import * as Expressions from "./expressions";
+ 
+// todo: the names of the ABAP + CDS + DDL expressions might overlap, if overlapping the singleton will fail
+ 
+export class CDSParser {
+  public parse(file: IFile | undefined) {
+    if (file === undefined) {
+      return undefined;
+    }
+ 
+    let tokens = CDSLexer.run(file);
+    tokens = tokens.filter(t => !(t instanceof Comment));
+    // console.dir(tokens);
+ 
+    let res = Combi.run(new Expressions.CDSDefineView(), tokens, defaultVersion);
+    if (res === undefined || !(res[0] instanceof ExpressionNode)) {
+      res = Combi.run(new Expressions.CDSDefineAbstract(), tokens, defaultVersion);
+    }
+    if (res === undefined || !(res[0] instanceof ExpressionNode)) {
+      res = Combi.run(new Expressions.CDSDefineProjection(), tokens, defaultVersion);
+    }
+    if (res === undefined || !(res[0] instanceof ExpressionNode)) {
+      res = Combi.run(new Expressions.CDSAnnotate(), tokens, defaultVersion);
+    }
+    if (res === undefined || !(res[0] instanceof ExpressionNode)) {
+      res = Combi.run(new Expressions.CDSDefineCustom(), tokens, defaultVersion);
+    }
+    if (res === undefined || !(res[0] instanceof ExpressionNode)) {
+      return undefined;
+    }
+    return res[0];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_aggregate.ts.html b/src/cds/expressions/cds_aggregate.ts.html new file mode 100644 index 00000000000..e8009c46c58 --- /dev/null +++ b/src/cds/expressions/cds_aggregate.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/cds/expressions/cds_aggregate.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_aggregate.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSCase, CDSCast, CDSName} from ".";
+import {alt, Expression, opt, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSAggregate extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = seq(CDSName, opt(seq(".", CDSName)));
+    const value = alt(name, CDSCast, CDSCase);
+    return seq(alt("MAX", "MIN", "SUM", "AVG", "COUNT"), "(", opt("DISTINCT"), value, ")");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_annotate.ts.html b/src/cds/expressions/cds_annotate.ts.html new file mode 100644 index 00000000000..f066a08ec91 --- /dev/null +++ b/src/cds/expressions/cds_annotate.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/cds/expressions/cds_annotate.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_annotate.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x
import {CDSAnnotation, CDSElement, CDSName} from ".";
+import {Expression, seq, star, plus, opt, str, alt} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSAnnotate extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(star(CDSAnnotation),
+               "ANNOTATE",
+               alt("ENTITY", "VIEW"),
+               CDSName,
+               "WITH",
+               str("{"),
+               plus(seq(CDSElement, ";")),
+               str("}"),
+               opt(";"));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_annotation.ts.html b/src/cds/expressions/cds_annotation.ts.html new file mode 100644 index 00000000000..9d7a0403a5b --- /dev/null +++ b/src/cds/expressions/cds_annotation.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/cds/expressions/cds_annotation.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_annotation.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSAnnotationObject, CDSAnnotationSimple} from ".";
+import {alt, Expression, opt, regex, seq, star} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSAnnotationArray} from "./cds_annotation_array";
+ 
+export class CDSAnnotation extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    return seq(regex(/^@\w+$/), star(seq(".", regex(/^\w+$/))), opt(":"),
+               opt(alt(CDSAnnotationArray, CDSAnnotationObject, CDSAnnotationSimple)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_annotation_array.ts.html b/src/cds/expressions/cds_annotation_array.ts.html new file mode 100644 index 00000000000..d1bd154f698 --- /dev/null +++ b/src/cds/expressions/cds_annotation_array.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/cds/expressions/cds_annotation_array.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_annotation_array.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSAnnotationObject} from ".";
+import {alt, Expression, seq, star} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSAnnotationSimple} from "./cds_annotation_simple";
+ 
+export class CDSAnnotationArray extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const value = alt(CDSAnnotationSimple, CDSAnnotationObject, CDSAnnotationArray);
+    const valueList = seq("[", value, star(seq(",", value)), "]");
+ 
+    return valueList;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_annotation_object.ts.html b/src/cds/expressions/cds_annotation_object.ts.html new file mode 100644 index 00000000000..cecf4da7230 --- /dev/null +++ b/src/cds/expressions/cds_annotation_object.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/cds/expressions/cds_annotation_object.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_annotation_object.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSAnnotationArray, CDSName} from ".";
+import {alt, Expression, seq, star, opt} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSAnnotationSimple} from "./cds_annotation_simple";
+ 
+export class CDSAnnotationObject extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const value = seq(":", alt(CDSAnnotationObject, CDSAnnotationArray, CDSAnnotationSimple));
+    const namedot = seq(CDSName, star(seq(".", CDSName)));
+    const valueNested = seq("{", namedot, opt(value), star(seq(",", namedot, opt(value))), "}");
+ 
+    return valueNested;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_annotation_simple.ts.html b/src/cds/expressions/cds_annotation_simple.ts.html new file mode 100644 index 00000000000..c21f04324ba --- /dev/null +++ b/src/cds/expressions/cds_annotation_simple.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/cds/expressions/cds_annotation_simple.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_annotation_simple.ts

+
+ +
+ 100% + Statements + 17/17 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +171x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSString} from ".";
+import {alt, Expression, regex, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSAnnotationSimple extends Expression {
+  public getRunnable(): IStatementRunnable {
+ 
+    const value = alt(CDSString,
+                      "true",
+                      "false",
+                      regex(/^\d+$/),
+                      seq(regex(/^\d+$/), ".", regex(/^\d+$/)),
+                      regex(/^#[\w_]+$/));
+ 
+    return value;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_arithmetics.ts.html b/src/cds/expressions/cds_arithmetics.ts.html new file mode 100644 index 00000000000..bc0f9ddfaf7 --- /dev/null +++ b/src/cds/expressions/cds_arithmetics.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/cds/expressions/cds_arithmetics.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_arithmetics.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSCase, CDSCast, CDSFunction, CDSName, CDSString} from ".";
+import {alt, altPrio, Expression, opt, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSInteger} from "./cds_integer";
+ 
+export class CDSArithmetics extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = seq(CDSName, opt(seq(".", CDSName)));
+    const val = alt(CDSInteger, name, CDSFunction, CDSCase, CDSCast, CDSString);
+    const operator = altPrio("+", "-", "*", "/");
+    return seq(val, operator, val);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_as.ts.html b/src/cds/expressions/cds_as.ts.html new file mode 100644 index 00000000000..d93194da9d4 --- /dev/null +++ b/src/cds/expressions/cds_as.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/cds/expressions/cds_as.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_as.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSName} from ".";
+import {Expression, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSAs extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("AS", CDSName);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_association.ts.html b/src/cds/expressions/cds_association.ts.html new file mode 100644 index 00000000000..7ce1c3c2fd6 --- /dev/null +++ b/src/cds/expressions/cds_association.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/cds/expressions/cds_association.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_association.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSCondition, CDSRelation} from ".";
+import {Expression, seq, opt} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSCardinality} from "./cds_cardinality";
+ 
+export class CDSAssociation extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("ASSOCIATION", opt(CDSCardinality), "TO", opt("PARENT"), CDSRelation, "ON", CDSCondition);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_cardinality.ts.html b/src/cds/expressions/cds_cardinality.ts.html new file mode 100644 index 00000000000..00b03de47d4 --- /dev/null +++ b/src/cds/expressions/cds_cardinality.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/cds/expressions/cds_cardinality.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_cardinality.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {alt, Expression, seq, opt} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSCardinality extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const cardinality = seq("[", alt("0", "1"), opt(seq(".", ".", alt("0", "1", "*"))), "]");
+    return cardinality;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_case.ts.html b/src/cds/expressions/cds_case.ts.html new file mode 100644 index 00000000000..16661188bd1 --- /dev/null +++ b/src/cds/expressions/cds_case.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/cds/expressions/cds_case.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_case.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSArithmetics, CDSCast, CDSCondition, CDSFunction, CDSName, CDSString} from ".";
+import {alt, altPrio, Expression, opt, optPrio, plus, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSCase extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = seq(CDSName, optPrio(seq(".", CDSName)));
+    const value = alt(name, CDSString, CDSFunction, CDSCase, CDSCast, CDSArithmetics);
+    const simple = seq("CASE", alt(name, CDSFunction), plus(seq("WHEN", value, "THEN", value)), "ELSE", value, "END");
+    const complex = seq("CASE", plus(seq("WHEN", CDSCondition, "THEN", value)), opt(seq("ELSE", value)), "END");
+    return altPrio(simple, complex);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_cast.ts.html b/src/cds/expressions/cds_cast.ts.html new file mode 100644 index 00000000000..a9b29188a7e --- /dev/null +++ b/src/cds/expressions/cds_cast.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/cds/expressions/cds_cast.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_cast.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSArithmetics, CDSCase, CDSFunction, CDSName, CDSString, CDSType} from ".";
+import {alt, Expression, opt, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSCast extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = seq(CDSName, opt(seq(".", CDSName)));
+    return seq("CAST", "(", alt(name, CDSFunction, CDSCase, CDSCast, CDSString, CDSArithmetics), "AS", CDSType, opt(seq("PRESERVING", "TYPE")), ")");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_composition.ts.html b/src/cds/expressions/cds_composition.ts.html new file mode 100644 index 00000000000..d57cfac19c4 --- /dev/null +++ b/src/cds/expressions/cds_composition.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/cds/expressions/cds_composition.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_composition.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSRelation} from ".";
+import {Expression, seq, opt} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSCardinality} from "./cds_cardinality";
+ 
+export class CDSComposition extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("COMPOSITION", opt(CDSCardinality), "OF", CDSRelation);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_condition.ts.html b/src/cds/expressions/cds_condition.ts.html new file mode 100644 index 00000000000..ed31d993c81 --- /dev/null +++ b/src/cds/expressions/cds_condition.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/cds/expressions/cds_condition.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_condition.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 16/16 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSFunction, CDSName, CDSString} from ".";
+import {alt, altPrio, Expression, opt, optPrio, seq, star} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSInteger} from "./cds_integer";
+ 
+export class CDSCondition extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = seq(CDSName, opt(seq(".", alt(CDSName, CDSString))));
+    const left = alt(name, CDSFunction);
+    const compare = seq(left, alt("=", seq("!", "="), seq("<", ">"), "<", ">", seq(">", "="), seq("<", "="), "LIKE", "NOT LIKE"), alt(left, CDSInteger, CDSFunction, CDSString));
+    const is = seq(left, "IS", optPrio("NOT"), altPrio("INITIAL", "NULL"));
+    const condition = alt(compare, is);
+    const paren = seq("(", CDSCondition, ")");
+    return seq(alt(condition, paren), star(seq(alt("AND", "OR"), alt(condition, paren))));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_define_abstract.ts.html b/src/cds/expressions/cds_define_abstract.ts.html new file mode 100644 index 00000000000..f76c467704c --- /dev/null +++ b/src/cds/expressions/cds_define_abstract.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/cds/expressions/cds_define_abstract.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_define_abstract.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +141x +1x +1x +1x +1x +1x +1x +18x +18x +18x +18x +18x +18x +1x
import {CDSAnnotation, CDSType} from ".";
+import {Expression, str, seq, star, opt, plus} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSName} from "./cds_name";
+ 
+export class CDSDefineAbstract extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const field = seq(star(CDSAnnotation), opt(str("KEY")), CDSName, ":", CDSType, ";");
+ 
+    return seq(star(CDSAnnotation), str("DEFINE ABSTRACT ENTITY"), CDSName, str("{"),
+               plus(field),
+               str("}"), opt(";"));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_define_custom.ts.html b/src/cds/expressions/cds_define_custom.ts.html new file mode 100644 index 00000000000..659eb3b6256 --- /dev/null +++ b/src/cds/expressions/cds_define_custom.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/cds/expressions/cds_define_custom.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_define_custom.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +151x +1x +1x +1x +1x +1x +1x +1x +6x +6x +6x +6x +6x +6x +1x
import {CDSAnnotation} from ".";
+import {Expression, seq, star, opt, str, plus} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSName} from "./cds_name";
+import {CDSType} from "./cds_type";
+ 
+export class CDSDefineCustom extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const field = seq(star(CDSAnnotation), opt(str("KEY")), CDSName, ":", CDSType, ";");
+ 
+    return seq(star(CDSAnnotation), str("DEFINE"), opt(str("ROOT")), str("CUSTOM ENTITY"), CDSName, str("{"),
+               plus(field),
+               str("}"), opt(";"));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_define_projection.ts.html b/src/cds/expressions/cds_define_projection.ts.html new file mode 100644 index 00000000000..686bdfb74b0 --- /dev/null +++ b/src/cds/expressions/cds_define_projection.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/cds/expressions/cds_define_projection.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_define_projection.ts

+
+ +
+ 100% + Statements + 24/24 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +241x +1x +1x +1x +1x +1x +1x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +1x
import {CDSAnnotation, CDSAs, CDSElement, CDSName, CDSProviderContract} from ".";
+import {Version} from "../..";
+import {Expression, seq, star, plus, opt, str, ver} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSDefineProjection extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(star(CDSAnnotation),
+               "DEFINE",
+               opt("ROOT"),
+               "VIEW",
+               ver(Version.v755, opt("ENTITY")),
+               CDSName,
+               opt(CDSProviderContract),
+               "AS PROJECTION ON",
+               CDSName,
+               opt(CDSAs),
+               str("{"),
+               plus(CDSElement),
+               star(seq(",", CDSElement)),
+               str("}"),
+               opt(";"));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_define_view.ts.html b/src/cds/expressions/cds_define_view.ts.html new file mode 100644 index 00000000000..335b3a43d98 --- /dev/null +++ b/src/cds/expressions/cds_define_view.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/cds/expressions/cds_define_view.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_define_view.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +1x +70x +70x +70x +70x +70x +70x +70x +70x +70x +70x +70x +1x
import {CDSAnnotation} from ".";
+import {Version} from "../..";
+import {Expression, seq, star, opt, ver} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSName} from "./cds_name";
+import {CDSSelect} from "./cds_select";
+import {CDSWithParameters} from "./cds_with_parameters";
+ 
+export class CDSDefineView extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(star(CDSAnnotation),
+               "DEFINE",
+               opt("ROOT"),
+               "VIEW",
+               ver(Version.v755, opt("ENTITY")),
+               CDSName,
+               opt(CDSWithParameters),
+               "AS",
+               CDSSelect,
+               opt(";"));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_element.ts.html b/src/cds/expressions/cds_element.ts.html new file mode 100644 index 00000000000..fbc68334003 --- /dev/null +++ b/src/cds/expressions/cds_element.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/cds/expressions/cds_element.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_element.ts

+
+ +
+ 100% + Statements + 22/22 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 22/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSAggregate, CDSAnnotation, CDSArithmetics, CDSCase, CDSFunction, CDSName, CDSParameters, CDSString} from ".";
+import {altPrio, Expression, opt, optPrio, regex, seq, alt, star, starPrio} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSAs} from "./cds_as";
+import {CDSCast} from "./cds_cast";
+ 
+export class CDSElement extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(starPrio(CDSAnnotation),
+               optPrio("KEY"),
+               altPrio(CDSAggregate,
+                       CDSString,
+                       CDSFunction,
+                       CDSArithmetics,
+                       CDSCast,
+                       CDSCase,
+                       seq(CDSName, ": REDIRECTED TO", opt(alt("PARENT", "COMPOSITION CHILD")), CDSName),
+                       seq(CDSName, opt(CDSParameters), star(seq(".", CDSName, opt(CDSParameters)))),
+                       regex(/^\d+$/)),
+               opt(CDSAs));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_function.ts.html b/src/cds/expressions/cds_function.ts.html new file mode 100644 index 00000000000..efd0c630141 --- /dev/null +++ b/src/cds/expressions/cds_function.ts.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for src/cds/expressions/cds_function.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_function.ts

+
+ +
+ 100% + Statements + 43/43 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 43/43 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +431x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSArithmetics, CDSCase, CDSCast, CDSName, CDSParameters, CDSString} from ".";
+import {altPrio, Expression, opt, regex, seq, starPrio} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSFunction extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const qualified = seq(CDSName, opt(CDSParameters), starPrio(seq(".", CDSName, opt(CDSParameters))));
+    const input = altPrio(CDSCast, CDSFunction, CDSArithmetics, CDSCase, CDSString, qualified, regex(/^\d+$/), );
+ 
+    const coalesce = seq("COALESCE", "(", input, ",", input, ")");
+    const concat = seq("CONCAT", "(", input, ",", input, ")");
+    const concat_with_space = seq("CONCAT_WITH_SPACE", "(", input, ",", input, ",", input, ")");
+    const dats_add_days = seq("DATS_ADD_DAYS", "(", input, ",", input, ",", input, ")");
+    const dats_add_months = seq("DATS_ADD_MONTHS", "(", input, ",", input, ",", input, ")");
+    const dats_days_between = seq("DATS_DAYS_BETWEEN", "(", input, ",", input, ")");
+    const dats_is_valid = seq("DATS_IS_VALID", "(", input, ")");
+    const substring = seq("SUBSTRING", "(", input, ",", input, ",", input, ")");
+ 
+    const bintohex = seq("BINTOHEX", "(", input, ")");
+    const hextobin = seq("HEXTOBIN", "(", input, ")");
+ 
+    const tstmp_to_dats = seq("TSTMP_TO_DATS", "(", input, ",", input, ",", input, ",", input, ")");
+    const tstmp_to_tims = seq("TSTMP_TO_TIMS", "(", input, ",", input, ",", input, ",", input, ")");
+    const tstmp_to_dst = seq("TSTMP_TO_DST", "(", input, ",", input, ",", input, ",", input, ")");
+    const dats_tims_to_tstmp = seq("DATS_TIMS_TO_TSTMP", "(", input, ",", input, ",", input, ",", input, ",", input, ")");
+ 
+    const tstmp_is_valid = seq("TSTMP_IS_VALID", "(", input, ")");
+    const tstmp_current_utctimestamp = seq("TSTMP_CURRENT_UTCTIMESTAMP", "(", ")");
+    const tstmp_seconds_between = seq("TSTMP_SECONDS_BETWEEN", "(", input, ",", input, ",", input, ")");
+    const tstmp_add_seconds = seq("TSTMP_ADD_SECONDS", "(", input, ",", input, ",", input, ")");
+ 
+    const abap_system_timezone = seq("ABAP_SYSTEM_TIMEZONE", "(", input, ",", input, ")");
+    const abap_user_timezone = seq("ABAP_USER_TIMEZONE", "(", input, ",", input, ",", input, ")");
+ 
+    const mod = seq("MOD", "(", input, ",", input, ")");
+ 
+    return altPrio(substring, coalesce, tstmp_to_dats, concat, tstmp_to_tims,
+                   concat_with_space, dats_is_valid, dats_days_between, tstmp_add_seconds,
+                   tstmp_seconds_between, tstmp_current_utctimestamp, tstmp_is_valid,
+                   abap_system_timezone, abap_user_timezone, bintohex, hextobin,
+                   dats_add_days, dats_add_months, tstmp_to_dst, dats_tims_to_tstmp, mod);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_group_by.ts.html b/src/cds/expressions/cds_group_by.ts.html new file mode 100644 index 00000000000..f5fa7b0b572 --- /dev/null +++ b/src/cds/expressions/cds_group_by.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/cds/expressions/cds_group_by.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_group_by.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSName} from ".";
+import {Expression, seq, star} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSGroupBy extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = seq(CDSName, star(seq(".", CDSName)));
+    return seq("GROUP BY", name, star(seq(",", name)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_integer.ts.html b/src/cds/expressions/cds_integer.ts.html new file mode 100644 index 00000000000..bdf619e45c3 --- /dev/null +++ b/src/cds/expressions/cds_integer.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/cds/expressions/cds_integer.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_integer.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {Expression, regex} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSInteger extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return regex(/^\d+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_join.ts.html b/src/cds/expressions/cds_join.ts.html new file mode 100644 index 00000000000..38574b9ddf4 --- /dev/null +++ b/src/cds/expressions/cds_join.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/cds/expressions/cds_join.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_join.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSSource} from ".";
+import {alt, Expression, opt, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSCondition} from "./cds_condition";
+ 
+export class CDSJoin extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(opt(alt("INNER", "LEFT OUTER", "LEFT OUTER TO ONE")), "JOIN", CDSSource, "ON", CDSCondition);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_name.ts.html b/src/cds/expressions/cds_name.ts.html new file mode 100644 index 00000000000..8a1d6fdf645 --- /dev/null +++ b/src/cds/expressions/cds_name.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/cds/expressions/cds_name.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_name.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, opt, regex, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const pre = seq("/", regex(/^[\w_]+$/), "/");
+    return seq(opt(":"), opt(pre), regex(/^\$?#?[\w_]+$/));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_parameters.ts.html b/src/cds/expressions/cds_parameters.ts.html new file mode 100644 index 00000000000..229fe155626 --- /dev/null +++ b/src/cds/expressions/cds_parameters.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/cds/expressions/cds_parameters.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_parameters.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSName, CDSString} from ".";
+import {alt, Expression, opt, regex, seq, star} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSParameters extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = seq(CDSName, opt(seq(".", CDSName)));
+    const value = alt(name, CDSString);
+    return seq("[", regex(/\d+/), ":", name, "=", value, star(seq("AND", name, "=", value,)), "]");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_parameters_select.ts.html b/src/cds/expressions/cds_parameters_select.ts.html new file mode 100644 index 00000000000..6fa3a9ea657 --- /dev/null +++ b/src/cds/expressions/cds_parameters_select.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/cds/expressions/cds_parameters_select.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_parameters_select.ts

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSName, CDSString} from ".";
+import {alt, Expression, opt, seq, star} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSParametersSelect extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const name = seq(CDSName, opt(seq(".", CDSName)));
+    const value = alt(name, CDSString);
+    const nameValue = seq(name, ":", value);
+    return seq("(", nameValue, star(seq(",", nameValue)), ")");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_provider_contract.ts.html b/src/cds/expressions/cds_provider_contract.ts.html new file mode 100644 index 00000000000..d50a430e46c --- /dev/null +++ b/src/cds/expressions/cds_provider_contract.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/cds/expressions/cds_provider_contract.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_provider_contract.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq, alt} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSProviderContract extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("PROVIDER CONTRACT",
+               alt("TRANSACTIONAL_QUERY", "TRANSACTIONAL_INTERFACE", "ANALYTICAL_QUERY"));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_relation.ts.html b/src/cds/expressions/cds_relation.ts.html new file mode 100644 index 00000000000..0c4c38d1606 --- /dev/null +++ b/src/cds/expressions/cds_relation.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/cds/expressions/cds_relation.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_relation.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSAs} from ".";
+import {Expression, opt, regex, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSRelation extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const pre = seq("/", regex(/^[\w_]+$/), "/");
+    return seq(opt(pre), regex(/^[\w_]+$/), opt(CDSAs));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_select.ts.html b/src/cds/expressions/cds_select.ts.html new file mode 100644 index 00000000000..3b40936e559 --- /dev/null +++ b/src/cds/expressions/cds_select.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/cds/expressions/cds_select.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_select.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 26/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +261x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSElement, CDSAs, CDSParametersSelect, CDSComposition, CDSGroupBy, CDSSource, CDSWhere} from ".";
+import {Expression, seq, str, plus, star, opt} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {CDSAssociation} from "./cds_association";
+import {CDSJoin} from "./cds_join";
+ 
+export class CDSSelect extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const fields = opt(seq(star(seq(CDSElement, ",")), CDSElement));
+    const distinct = str("DISTINCT");
+ 
+    const elements = seq(str("{"), plus(CDSElement), star(seq(",", CDSElement)), str("}"));
+ 
+    return seq("SELECT", opt(distinct), opt(fields), "FROM", CDSSource,
+               opt(CDSParametersSelect),
+               opt(CDSAs),
+               star(CDSJoin),
+               star(CDSComposition),
+               star(CDSAssociation),
+               star(CDSComposition),
+               opt(elements),
+               opt(CDSGroupBy),
+               opt(CDSWhere),
+               opt(seq("UNION", opt("ALL"), CDSSelect)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_source.ts.html b/src/cds/expressions/cds_source.ts.html new file mode 100644 index 00000000000..2339fa63e8a --- /dev/null +++ b/src/cds/expressions/cds_source.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/cds/expressions/cds_source.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_source.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSAs} from ".";
+import {Expression, opt, regex, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSSource extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const pre = seq("/", regex(/^[\w_]+$/), "/");
+    return seq(opt(pre), regex(/^[\w_]+$/), opt(CDSAs));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_string.ts.html b/src/cds/expressions/cds_string.ts.html new file mode 100644 index 00000000000..b07a56a358b --- /dev/null +++ b/src/cds/expressions/cds_string.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/cds/expressions/cds_string.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_string.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {Expression, regex} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSString extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return regex(/^'[\w: -_]*'$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_type.ts.html b/src/cds/expressions/cds_type.ts.html new file mode 100644 index 00000000000..c08dd53791d --- /dev/null +++ b/src/cds/expressions/cds_type.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/cds/expressions/cds_type.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_type.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSName} from ".";
+import {Expression, opt, regex, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSType extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const decimals = seq(",", regex(/\d+/));
+    return seq(CDSName, opt(seq(".", CDSName)), opt(seq("(", regex(/\d+/), opt(decimals), ")")));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_where.ts.html b/src/cds/expressions/cds_where.ts.html new file mode 100644 index 00000000000..76d635d5cab --- /dev/null +++ b/src/cds/expressions/cds_where.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/cds/expressions/cds_where.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_where.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSCondition} from ".";
+import {Expression, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSWhere extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("WHERE", CDSCondition);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/cds_with_parameters.ts.html b/src/cds/expressions/cds_with_parameters.ts.html new file mode 100644 index 00000000000..72b1277613b --- /dev/null +++ b/src/cds/expressions/cds_with_parameters.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/cds/expressions/cds_with_parameters.ts + + + + + + + + + +
+
+

All files / src/cds/expressions cds_with_parameters.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {CDSName, CDSType} from ".";
+import {Expression, seq, star} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class CDSWithParameters extends Expression {
+  public getRunnable(): IStatementRunnable {
+    const param = seq(CDSName, ":", CDSType);
+    return seq("WITH PARAMETERS", param, star(seq(",", param)));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/index.html b/src/cds/expressions/index.html new file mode 100644 index 00000000000..af12c97d133 --- /dev/null +++ b/src/cds/expressions/index.html @@ -0,0 +1,626 @@ + + + + + + Code coverage report for src/cds/expressions + + + + + + + + + +
+
+

All files src/cds/expressions

+
+ +
+ 100% + Statements + 502/502 +
+ + +
+ 100% + Branches + 34/34 +
+ + +
+ 100% + Functions + 34/34 +
+ + +
+ 100% + Lines + 502/502 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
cds_aggregate.ts +
+
100%11/11100%1/1100%1/1100%11/11
cds_annotate.ts +
+
100%17/17100%1/1100%1/1100%17/17
cds_annotation.ts +
+
100%12/12100%1/1100%1/1100%12/12
cds_annotation_array.ts +
+
100%14/14100%1/1100%1/1100%14/14
cds_annotation_object.ts +
+
100%15/15100%1/1100%1/1100%15/15
cds_annotation_simple.ts +
+
100%17/17100%1/1100%1/1100%17/17
cds_arithmetics.ts +
+
100%13/13100%1/1100%1/1100%13/13
cds_as.ts +
+
100%9/9100%1/1100%1/1100%9/9
cds_association.ts +
+
100%10/10100%1/1100%1/1100%10/10
cds_cardinality.ts +
+
100%9/9100%1/1100%1/1100%9/9
cds_case.ts +
+
100%13/13100%1/1100%1/1100%13/13
cds_cast.ts +
+
100%10/10100%1/1100%1/1100%10/10
cds_composition.ts +
+
100%10/10100%1/1100%1/1100%10/10
cds_condition.ts +
+
100%16/16100%1/1100%1/1100%16/16
cds_define_abstract.ts +
+
100%14/14100%1/1100%1/1100%14/14
cds_define_custom.ts +
+
100%15/15100%1/1100%1/1100%15/15
cds_define_projection.ts +
+
100%24/24100%1/1100%1/1100%24/24
cds_define_view.ts +
+
100%22/22100%1/1100%1/1100%22/22
cds_element.ts +
+
100%22/22100%1/1100%1/1100%22/22
cds_function.ts +
+
100%43/43100%1/1100%1/1100%43/43
cds_group_by.ts +
+
100%10/10100%1/1100%1/1100%10/10
cds_integer.ts +
+
100%8/8100%1/1100%1/1100%8/8
cds_join.ts +
+
100%10/10100%1/1100%1/1100%10/10
cds_name.ts +
+
100%9/9100%1/1100%1/1100%9/9
cds_parameters.ts +
+
100%11/11100%1/1100%1/1100%11/11
cds_parameters_select.ts +
+
100%12/12100%1/1100%1/1100%12/12
cds_provider_contract.ts +
+
100%9/9100%1/1100%1/1100%9/9
cds_relation.ts +
+
100%10/10100%1/1100%1/1100%10/10
cds_select.ts +
+
100%26/26100%1/1100%1/1100%26/26
cds_source.ts +
+
100%10/10100%1/1100%1/1100%10/10
cds_string.ts +
+
100%8/8100%1/1100%1/1100%8/8
cds_type.ts +
+
100%10/10100%1/1100%1/1100%10/10
cds_where.ts +
+
100%9/9100%1/1100%1/1100%9/9
cds_with_parameters.ts +
+
100%10/10100%1/1100%1/1100%10/10
index.ts +
+
100%34/34100%0/0100%0/0100%34/34
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/expressions/index.ts.html b/src/cds/expressions/index.ts.html new file mode 100644 index 00000000000..81a105e7514 --- /dev/null +++ b/src/cds/expressions/index.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/cds/expressions/index.ts + + + + + + + + + +
+
+

All files / src/cds/expressions index.ts

+
+ +
+ 100% + Statements + 34/34 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 34/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
export * from "./cds_aggregate";
+export * from "./cds_annotate";
+export * from "./cds_annotation_array";
+export * from "./cds_annotation_object";
+export * from "./cds_annotation_simple";
+export * from "./cds_annotation";
+export * from "./cds_arithmetics";
+export * from "./cds_as";
+export * from "./cds_association";
+export * from "./cds_cardinality";
+export * from "./cds_case";
+export * from "./cds_cast";
+export * from "./cds_composition";
+export * from "./cds_condition";
+export * from "./cds_define_abstract";
+export * from "./cds_define_custom";
+export * from "./cds_define_projection";
+export * from "./cds_define_view";
+export * from "./cds_element";
+export * from "./cds_function";
+export * from "./cds_group_by";
+export * from "./cds_provider_contract";
+export * from "./cds_integer";
+export * from "./cds_join";
+export * from "./cds_name";
+export * from "./cds_parameters_select";
+export * from "./cds_parameters";
+export * from "./cds_relation";
+export * from "./cds_select";
+export * from "./cds_source";
+export * from "./cds_string";
+export * from "./cds_type";
+export * from "./cds_where";
+export * from "./cds_with_parameters";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/cds/index.html b/src/cds/index.html new file mode 100644 index 00000000000..79e69f86a9a --- /dev/null +++ b/src/cds/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/cds + + + + + + + + + +
+
+

All files src/cds

+
+ +
+ 98.66% + Statements + 222/225 +
+ + +
+ 93.5% + Branches + 72/77 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 98.66% + Lines + 222/225 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
cds_determine_types.ts +
+
95.65%22/2333.33%2/6100%1/195.65%22/23
cds_lexer.ts +
+
100%162/162100%57/57100%8/8100%162/162
cds_parser.ts +
+
95%38/4092.85%13/14100%1/195%38/40
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/config.ts.html b/src/config.ts.html new file mode 100644 index 00000000000..5bfdcd2697f --- /dev/null +++ b/src/config.ts.html @@ -0,0 +1,556 @@ + + + + + + Code coverage report for src/config.ts + + + + + + + + + +
+
+

All files / src config.ts

+
+ +
+ 89.87% + Statements + 142/158 +
+ + +
+ 73.52% + Branches + 25/34 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 89.87% + Lines + 142/158 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +1581x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9906x +9906x +9906x +1654302x +9906x +9906x +9906x +1664208x +1664208x +9906x +9906x +9906x +258x +258x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +9906x +1x +1x +261x +261x +43848x +43848x +43848x +43848x +40842x +1x +40842x +11x +40841x +40830x +40830x +40830x +40842x +43848x +261x +261x +261x +1x +1x +10950x +10950x +  +  +  +10950x +10950x +10950x +  +  +10950x +  +  +10950x +  +  +10950x +  +10950x +10950x +10950x +10950x +10950x +15x +15x +10950x +10950x +1x +1x +2057x +2057x +1x +1x +42840x +42840x +42840x +  +  +42840x +1x +1x +78x +78x +1x +1x +8079x +8079x +1x +1x +18169x +18169x +1x +1x +19847x +  +  +19847x +19847x +1x +1x +10950x +  +  +10950x +10950x +10950x +158400x +10949x +10949x +10949x +158400x +10950x +1x +1x +10950x +1x +1x
import {Version, defaultVersion} from "./version";
+import {ArtifactsRules} from "./artifacts_rules";
+import {IRule} from "./rules/_irule";
+import {IConfig, IGlobalConfig, ISyntaxSettings, IConfiguration} from "./_config";
+import * as JSON5 from "json5";
+ 
+// assumption: this class is immutable
+export class Config implements IConfiguration {
+  private readonly config: IConfig;
+ 
+  public static getDefault(ver?: Version): Config {
+    const rules: any = {};
+ 
+    const sorted = ArtifactsRules.getRules().sort((a, b) => {
+      return a.getMetadata().key.localeCompare(b.getMetadata().key);
+    });
+ 
+    for (const rule of sorted) {
+      rules[rule.getMetadata().key] = rule.getConfig();
+    }
+ 
+    let version = defaultVersion;
+    if (ver) {
+      version = ver;
+    }
+ 
+    // defaults: dont skip anything, report everything. The user can decide to skip stuff
+    // its difficult to debug errors not being reported
+    const config: IConfig = {
+      global: {
+        files: "/src/**/*.*",
+        exclude: [],
+        noIssues: [],
+        skipGeneratedBOPFInterfaces: false,
+        skipGeneratedFunctionGroups: false,
+        skipGeneratedGatewayClasses: false,
+        skipGeneratedPersistentClasses: false,
+        skipGeneratedProxyClasses: false,
+        skipGeneratedProxyInterfaces: false,
+        useApackDependencies: false,
+        skipIncludesWithoutMain: false,
+      },
+      dependencies: [{
+        url: "https://github.com/abaplint/deps",
+        folder: "/deps",
+        files: "/src/**/*.*",
+      }],
+      syntax: {
+        version,
+        errorNamespace: "^(Z|Y|LCL\_|TY\_|LIF\_)",
+        globalConstants: [],
+        globalMacros: [],
+      },
+      rules: rules,
+    };
+ 
+    return new Config(JSON.stringify(config));
+  }
+ 
+  public getEnabledRules(): IRule[] {
+    const rules: IRule[] = [];
+    for (const rule of ArtifactsRules.getRules()) {
+      const ruleConfig = this.config["rules"]?.[rule.getMetadata().key];
+      const ruleExists = ruleConfig !== undefined;
+ 
+      if (ruleExists) {
+        if (ruleConfig === false) { // "rule": false
+          continue;
+        } else if (ruleConfig === true) { // "rule": true
+          rules.push(rule);
+        } else if (typeof ruleConfig === "object") { // "rule": { ...config }
+          rule.setConfig(ruleConfig);
+          rules.push(rule);
+        }
+      }
+    }
+ 
+    return rules;
+  }
+ 
+  public constructor(json: string) {
+    // huh, hack
+    if (JSON5.parse === undefined) {
+      // @ts-ignore
+      JSON5.parse = JSON5.default.parse;
+    }
+    this.config = JSON5.parse(json);
+ 
+    if (this.config.global === undefined) {
+      this.config.global = Config.getDefault().getGlobal();
+    }
+    if (this.config.syntax === undefined) {
+      this.config.syntax = Config.getDefault().getSyntaxSetttings();
+    }
+    if (this.config.syntax.globalMacros === undefined) {
+      this.config.syntax.globalMacros = [];
+    }
+    if (this.config.syntax.globalConstants === undefined) {
+      this.config.syntax.globalConstants = [];
+    } else {
+      // remove duplicates,
+      this.config.syntax.globalConstants = [...new Set(this.config.syntax.globalConstants)];
+    }
+    if (this.config.global.skipIncludesWithoutMain === undefined) {
+      this.config.global.skipIncludesWithoutMain = false;
+    }
+    this.checkVersion();
+  }
+ 
+  public get(): IConfig {
+    return this.config;
+  }
+ 
+  public readByKey(rule: string, key: string) {
+    if (this.config["rules"]) {
+      return this.config["rules"][rule] ? this.config["rules"][rule][key] : undefined;
+    } else {
+      return undefined;
+    }
+  }
+ 
+  public readByRule(rule: string) {
+    return this.config["rules"][rule];
+  }
+ 
+  public getGlobal(): IGlobalConfig {
+    return this.config.global;
+  }
+ 
+  public getSyntaxSetttings(): ISyntaxSettings {
+    return this.config.syntax;
+  }
+ 
+  public getVersion(): Version {
+    if (this.config.global === undefined || this.config.syntax.version === undefined) {
+      return defaultVersion;
+    }
+    return this.config.syntax.version;
+  }
+ 
+  private checkVersion() {
+    if (this.config.syntax.version === undefined) {
+      return; // handled in getVersion
+    }
+    let match = false;
+    const vers: any = Version;
+    for (const v in Version) {
+      if (vers[v] === this.config.syntax.version) {
+        match = true;
+        break;
+      }
+    }
+    if (match === false) {
+      this.config.syntax.version = defaultVersion;
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddic.ts.html b/src/ddic.ts.html new file mode 100644 index 00000000000..f5479a826ce --- /dev/null +++ b/src/ddic.ts.html @@ -0,0 +1,1375 @@ + + + + + + Code coverage report for src/ddic.ts + + + + + + + + + +
+
+

All files / src ddic.ts

+
+ +
+ 87.2% + Statements + 375/430 +
+ + +
+ 71.12% + Branches + 133/187 +
+ + +
+ 100% + Functions + 16/16 +
+ + +
+ 87.2% + Lines + 375/430 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +4311x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8551x +8551x +1x +1x +1x +1x +893x +  +  +893x +18x +18x +875x +893x +721x +721x +154x +154x +154x +893x +226x +226x +42x +42x +184x +226x +226x +  +  +184x +226x +72x +226x +112x +112x +226x +154x +154x +893x +893x +893x +893x +1x +1x +3225x +3225x +700x +3225x +32x +3225x +20x +3225x +4x +3225x +3x +3225x +9x +3225x +1x +3225x +40x +3225x +4x +3225x +1x +3225x +1x +3225x +30x +3225x +1x +3225x +1x +3225x +1x +3225x +3x +3225x +3x +3225x +914x +3225x +13x +3225x +10x +3225x +14x +2x +14x +12x +12x +  +  +3225x +347x +344x +347x +3x +3x +3225x +39x +38x +39x +1x +1x +3225x +10x +10x +10x +  +  +3225x +1024x +1024x +1x +1x +455x +  +  +455x +455x +1x +1x +14x +14x +14x +10x +10x +10x +10x +10x +4x +14x +14x +2x +2x +2x +2x +2x +14x +  +14x +2x +2x +14x +1x +1x +613x +613x +31x +31x +582x +582x +613x +  +  +582x +582x +613x +8x +8x +574x +574x +613x +66x +66x +508x +508x +613x +1x +1x +507x +507x +507x +1x +1x +699x +  +  +699x +699x +699x +1x +1x +1x +1x +1x +698x +698x +698x +1x +1x +1x +358x +358x +60x +60x +298x +358x +51x +358x +247x +247x +358x +1x +1x +22x +22x +11x +11x +  +11x +11x +11x +22x +1x +1x +267x +  +  +267x +267x +29x +267x +43x +238x +195x +195x +267x +1x +1x +133x +  +  +133x +133x +58x +58x +75x +133x +  +  +75x +75x +1x +1x +1x +141x +  +  +141x +141x +25x +25x +116x +141x +  +  +116x +141x +  +  +116x +116x +1x +1x +3x +  +  +3x +3x +1x +3x +1x +1x +1x +1x +3x +1x +1x +75x +  +  +75x +75x +2x +75x +10x +73x +63x +63x +75x +1x +1x +2x +  +  +2x +2x +2x +2x +  +  +  +  +2x +1x +1x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +3x +  +3x +1x +1x +2x +571x +571x +571x +26x +571x +6x +571x +  +571x +  +571x +  +571x +  +  +  +  +571x +571x +446x +  +  +446x +571x +571x +6x +  +  +6x +571x +571x +571x +571x +571x +571x +571x +571x +571x +571x +2x +  +  +2x +571x +571x +571x +571x +571x +571x +47x +571x +  +571x +571x +571x +571x +31x +571x +571x +571x +4x +571x +571x +571x +571x +571x +571x +  +571x +  +571x +571x +1x +1x + 
/* eslint-disable default-case */
+import {IRegistry} from "./_iregistry";
+import {AbstractType} from "./abap/types/basic/_abstract_type";
+import {Domain} from "./objects/domain";
+import {DataElement} from "./objects/data_element";
+import {Table} from "./objects/table";
+import {TableType} from "./objects/table_type";
+import * as Types from "./abap/types/basic";
+import {ABAPObject} from "./objects/_abap_object";
+import {InfoClassDefinition} from "./abap/4_file_information/_abap_file_information";
+import {ObjectReferenceType, UnknownType, VoidType} from "./abap/types/basic";
+import {View} from "./objects/view";
+import {DataDefinition} from "./objects";
+import {IObject} from "./objects/_iobject";
+ 
+export interface ILookupResult {
+  type: AbstractType;
+  object?: IObject;
+}
+ 
+export class DDIC {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  // the class might be local with a local super class with a global exception class as super
+  // todo: returns true for both local and global exception classes
+  public isException(def: InfoClassDefinition | undefined, _obj: ABAPObject): boolean {
+    if (def === undefined) {
+      return false;
+    }
+    if (def.name.toUpperCase() === "CX_ROOT") {
+      return true;
+    }
+    let superClassName = def.superClassName;
+    if (superClassName === undefined) {
+      return false;
+    }
+ 
+    let i = 0;
+    // max depth, make sure not to hit cyclic super class defintions
+    while (i++ < 10 && superClassName !== undefined) {
+      const found = this.reg.getObject("CLAS", superClassName) as ABAPObject | undefined;
+      if (found === undefined) {
+        break;
+      }
+ 
+      const superDef: InfoClassDefinition | undefined = found.getMainABAPFile()?.getInfo().getClassDefinitionByName(superClassName);
+      if (superDef === undefined) {
+        break;
+      }
+ 
+      if (superDef.superClassName) {
+        superClassName = superDef.superClassName;
+      } else {
+        break;
+      }
+    }
+ 
+    // todo, this should check for "CX_ROOT"
+    const isException = (superClassName?.match(/^.?cx_.*$/i) || superClassName?.match(/^\/.+\/cx_.*$/i)) ? true : false;
+ 
+    return isException;
+  }
+ 
+  public lookupBuiltinType(name: string, length?: number, decimals?: number, qualifiedName?: string): AbstractType | undefined {
+    switch (name) {
+      case "STRING":
+        return Types.StringType.get({qualifiedName: qualifiedName || name});
+      case "XSTRING":
+        return new Types.XStringType({qualifiedName: qualifiedName || name});
+      case "D":
+        return new Types.DateType({qualifiedName: qualifiedName || name});
+      case "T":
+        return new Types.TimeType({qualifiedName: qualifiedName || name});
+      case "XSEQUENCE":
+        return new Types.XSequenceType({qualifiedName: qualifiedName});
+      case "CLIKE":
+        return Types.CLikeType.get();
+      case "DECFLOAT":
+        return new Types.DecFloatType({qualifiedName: qualifiedName});
+      case "ANY":
+        return new Types.AnyType({qualifiedName: qualifiedName});
+      case "SIMPLE":
+        return new Types.SimpleType({qualifiedName: qualifiedName});
+      case "%_C_POINTER":
+        return new Types.HexType(8, qualifiedName);
+      case "TABLE":
+        return new Types.TableType(new Types.AnyType(), {withHeader: false, keyType: Types.TableKeyType.default});
+      case "DATA":
+        return new Types.DataType({qualifiedName: qualifiedName});
+      case "NUMERIC":
+        return new Types.NumericGenericType({qualifiedName: qualifiedName});
+      case "UTCLONG": // todo, take version into account
+        return new Types.UTCLongType({qualifiedName: qualifiedName});
+      case "DECFLOAT16":
+        return new Types.DecFloat16Type({qualifiedName: qualifiedName});
+      case "DECFLOAT34":
+        return new Types.DecFloat34Type({qualifiedName: qualifiedName});
+      case "CSEQUENCE":
+        return new Types.CSequenceType({qualifiedName: qualifiedName});
+      case "I":
+        return Types.IntegerType.get({qualifiedName: qualifiedName || name});
+      case "INT8": // todo, take version into account
+        return new Types.Integer8Type({qualifiedName: qualifiedName || name});
+      case "F":
+        return new Types.FloatType({qualifiedName: qualifiedName || name});
+      case "P":
+        if (length && decimals) {
+          return new Types.PackedType(length, decimals, {qualifiedName: qualifiedName});
+        } else if (length) {
+          return new Types.PackedType(length, 0, {qualifiedName: qualifiedName});
+        } else {
+          return new Types.PackedType(1, 0, {qualifiedName: qualifiedName});
+        }
+      case "C":
+        if (length) {
+          return new Types.CharacterType(length, {qualifiedName: qualifiedName});
+        } else {
+          return new Types.CharacterType(1, {qualifiedName: qualifiedName});
+        }
+      case "X":
+        if (length) {
+          return new Types.HexType(length, qualifiedName);
+        } else {
+          return new Types.HexType(1, qualifiedName);
+        }
+      case "N":
+        if (length) {
+          return new Types.NumericType(length, qualifiedName);
+        } else {
+          return new Types.NumericType(1, qualifiedName);
+        }
+    }
+    return undefined;
+  }
+ 
+  public inErrorNamespace(name: string | undefined): boolean {
+    if (name === undefined) {
+      return true;
+    }
+    return this.reg.inErrorNamespace(name);
+  }
+ 
+  public lookupObject(name: string): ILookupResult {
+    const clas = this.reg.getObject("CLAS", name);
+    const globalClas = clas?.getIdentifier();
+    if (globalClas) {
+      return {
+        type: new ObjectReferenceType(globalClas, {qualifiedName: name, RTTIName: "\\CLASS=" + name}),
+        object: clas,
+      };
+    }
+    const intf = this.reg.getObject("INTF", name);
+    const globalIntf = intf?.getIdentifier();
+    if (globalIntf) {
+      return {
+        type: new ObjectReferenceType(globalIntf, {qualifiedName: name, RTTIName: "\\INTERFACE=" + name}),
+        object: intf,
+      };
+    }
+    if (this.inErrorNamespace(name) === true) {
+      return {type: new UnknownType(name)};
+    } else {
+      return {type: new VoidType(name)};
+    }
+  }
+ 
+  public lookupNoVoid(name: string): ILookupResult | undefined {
+    const foundTABL = this.reg.getObject("TABL", name) as Table | undefined;
+    if (foundTABL) {
+      return {type: foundTABL.parseType(this.reg), object: foundTABL};
+    }
+ 
+    const foundVIEW = this.reg.getObject("VIEW", name) as Table | undefined;
+    if (foundVIEW) {
+      return {type: foundVIEW.parseType(this.reg), object: foundVIEW};
+    }
+ 
+    const foundTTYP = this.reg.getObject("TTYP", name) as TableType | undefined;
+    if (foundTTYP) {
+      return {type: foundTTYP.parseType(this.reg), object: foundTTYP};
+    }
+ 
+    const foundDTEL = this.reg.getObject("DTEL", name) as DataElement | undefined;
+    if (foundDTEL) {
+      return {type: foundDTEL.parseType(this.reg), object: foundDTEL};
+    }
+ 
+    const foundDDLS = this.lookupDDLS(name);
+    if (foundDDLS) {
+      return foundDDLS;
+    }
+ 
+    return undefined;
+  }
+ 
+  public lookupDDLS(name?: string) {
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    const upper = name.toUpperCase();
+    for (const obj of this.reg.getObjectsByType("DDLS")) {
+      const ddls = obj as DataDefinition;
+      if (ddls.getSQLViewName() === upper || ddls.getDefinitionName()?.toUpperCase() === upper) {
+        return {type: ddls.parseType(this.reg), object: ddls};
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  /** lookup with voiding and unknown types */
+  public lookup(name: string): ILookupResult {
+    const found = this.lookupNoVoid(name);
+    if (found) {
+      return found;
+    }
+ 
+    if (this.reg.inErrorNamespace(name)) {
+      return {type: new Types.UnknownType(name + " not found, lookup")};
+    } else {
+      return {type: new Types.VoidType(name)};
+    }
+  }
+ 
+  public lookupDomain(name: string, dataElement?: string): ILookupResult {
+    const found = this.reg.getObject("DOMA", name) as Domain | undefined;
+    if (found) {
+      return {type: found.parseType(this.reg, dataElement), object: found};
+    } else if (this.reg.inErrorNamespace(name)) {
+      return {type: new Types.UnknownType(name + ", lookupDomain"), object: undefined};
+    } else {
+      return {type: new Types.VoidType(name), object: undefined};
+    }
+  }
+ 
+  public lookupDataElement(name: string | undefined): ILookupResult {
+    if (name === undefined) {
+      return {type: new Types.UnknownType("undefined, lookupDataElement")};
+    }
+    const found = this.reg.getObject("DTEL", name) as DataElement | undefined;
+    if (found) {
+      return {type: found.parseType(this.reg), object: found};
+    } else if (this.reg.inErrorNamespace(name)) {
+      return {type: new Types.UnknownType(name + " not found, lookupDataElement")};
+    } else {
+      return {type: new Types.VoidType(name)};
+    }
+  }
+ 
+  public lookupTableOrView(name: string | undefined): ILookupResult {
+    if (name === undefined) {
+      return {type: new Types.UnknownType("undefined, lookupTableOrView")};
+    }
+    const foundTABL = this.reg.getObject("TABL", name) as Table | undefined;
+    if (foundTABL) {
+      return {type: foundTABL.parseType(this.reg), object: foundTABL};
+    }
+    const foundDDLS = this.lookupDDLS(name);
+    if (foundDDLS) {
+      return foundDDLS;
+    }
+    return this.lookupView(name);
+  }
+ 
+  /** this method only looks up the object, does not parse the type */
+  public lookupTableOrView2(name: string | undefined): Table | DataDefinition | View | undefined {
+    if (name === undefined) {
+      return undefined;
+    }
+    const foundTABL = this.reg.getObject("TABL", name) as Table | undefined;
+    if (foundTABL) {
+      return foundTABL;
+    }
+    const foundVIEW = this.reg.getObject("VIEW", name) as View | undefined;
+    if (foundVIEW) {
+      return foundVIEW;
+    }
+    const foundDDLS = this.lookupDDLS(name);
+    if (foundDDLS) {
+      return foundDDLS.object;
+    }
+    return undefined;
+  }
+ 
+  public lookupTable(name: string | undefined): AbstractType {
+    if (name === undefined) {
+      return new Types.UnknownType("undefined, lookupTable");
+    }
+    const found = this.reg.getObject("TABL", name) as Table | undefined;
+    if (found) {
+      return found.parseType(this.reg);
+    } else if (this.reg.inErrorNamespace(name)) {
+      return new Types.UnknownType(name + " not found, lookupTable");
+    } else {
+      return new Types.VoidType(name);
+    }
+  }
+ 
+  private lookupView(name: string | undefined): ILookupResult {
+    if (name === undefined) {
+      return {type: new Types.UnknownType("undefined, lookupView")};
+    }
+    const found = this.reg.getObject("VIEW", name) as Table | undefined;
+    if (found) {
+      return {type: found.parseType(this.reg), object: found};
+    } else if (this.reg.inErrorNamespace(name)) {
+      return {type: new Types.UnknownType(name + " not found, lookupView")};
+    } else {
+      return {type: new Types.VoidType(name)};
+    }
+  }
+ 
+  public lookupTableType(name: string | undefined): ILookupResult {
+    if (name === undefined) {
+      return {type: new Types.UnknownType("undefined, lookupTableType")};
+    }
+    const found = this.reg.getObject("TTYP", name) as TableType | undefined;
+    if (found) {
+      return {type: found.parseType(this.reg), object: found};
+    } else if (this.reg.inErrorNamespace(name)) {
+      return {type: new Types.UnknownType(name + " not found, lookupTableType")};
+    } else {
+      return {type: new Types.VoidType(name)};
+    }
+  }
+ 
+  public textToType(
+    text: string | undefined,
+    length: string | undefined,
+    decimals: string | undefined,
+    infoText: string,
+    qualifiedName?: string,
+    conversionExit?: string,
+    ddicName?: string): AbstractType {
+ 
+// todo: support short strings, and length of different integers, NUMC vs CHAR, min/max length
+ 
+    switch (text) {
+      case "DEC":      // 1 <= len <= 31
+      case "D16F":     // 1 <= len <= 31
+      case "D34F":     // 1 <= len <= 31
+      case "DF16_DEC": // 1 <= len <= 31
+      case "DF34_DEC": // 1 <= len <= 31
+      case "CURR":     // 1 <= len <= 31
+      case "QUAN":     // 1 <= len <= 31
+        if (length === undefined) {
+          return new Types.UnknownType(text + " unknown length, " + infoText, infoText);
+        } else if (decimals === undefined) {
+          return new Types.PackedType(parseInt(length, 10), 0, {qualifiedName, conversionExit, ddicName});
+        }
+        return new Types.PackedType(parseInt(length, 10), parseInt(decimals, 10), {qualifiedName, conversionExit, ddicName});
+      case "ACCP":
+        return new Types.CharacterType(6, {qualifiedName, conversionExit, ddicName}); // YYYYMM
+      case "LANG":
+        return new Types.CharacterType(1, {qualifiedName, conversionExit, ddicName});
+      case "CLNT":
+        return new Types.CharacterType(3, {qualifiedName, conversionExit, ddicName});
+      case "CUKY":
+        return new Types.CharacterType(5, {qualifiedName, conversionExit, ddicName});
+      case "UNIT":  // 2 <= len <= 3
+        return new Types.CharacterType(3, {qualifiedName, conversionExit, ddicName});
+      case "UTCLONG":
+        return new Types.CharacterType(27, {qualifiedName, conversionExit, ddicName});
+      case "NUMC": // 1 <= len <= 255
+        if (length === undefined) {
+          return new Types.UnknownType(text + " unknown length", infoText);
+        }
+        return new Types.NumericType(parseInt(length, 10), qualifiedName);
+      case "CHAR": // 1 <= len <= 30000 (1333 for table fields)
+      case "LCHR": // 256 <= len <= 32000
+        if (length === undefined) {
+          return new Types.UnknownType(text + " unknown length", infoText);
+        }
+        return new Types.CharacterType(parseInt(length, 10), {qualifiedName, conversionExit, ddicName});
+      case "RAW":  // 1 <= len <= 32000
+      case "LRAW": // 256 <= len <= 32000
+        if (length === undefined) {
+          return new Types.UnknownType(text + " unknown length", infoText);
+        }
+        return new Types.HexType(parseInt(length, 10), qualifiedName);
+      case "TIMN": // Native HANA
+      case "TIMS":
+        return new Types.TimeType({qualifiedName: qualifiedName}); //HHMMSS
+      case "DECFLOAT16": // len = 16
+      case "DECFLOAT34": // len = 34
+      case "D16R":       // len = 16
+      case "D34R":       // len = 34
+      case "DF16_RAW":   // len = 16
+      case "DF34_RAW":   // len = 34
+      case "FLTP":       // len = 16
+        if (length === undefined) {
+          return new Types.UnknownType(text + " unknown length", infoText);
+        }
+        return new Types.FloatingPointType(parseInt(length, 10), qualifiedName);
+      case "DATN": // Native HANA
+      case "DATS":
+        return new Types.DateType({qualifiedName: qualifiedName}); //YYYYMMDD
+      case "INT1":
+      case "INT2":
+      case "INT4":
+        return Types.IntegerType.get({qualifiedName: qualifiedName});
+      case "INT8":
+        return new Types.Integer8Type({qualifiedName: qualifiedName});
+      case "SSTR":    // 1 <= len <= 1333
+      case "SSTRING": // 1 <= len <= 1333
+      case "STRG":    // 256 <= len
+      case "STRING":  // 256 <= len
+        return Types.StringType.get({qualifiedName: qualifiedName});
+      case "RSTR":      // 256 <= len
+      case "RAWSTRING": // 256 <= len
+      case "GEOM_EWKB":
+        return new Types.XStringType({qualifiedName: qualifiedName});
+      case "D16S":
+      case "D34S":
+      case "DF16_SCL":
+      case "DF34_SCL":
+      case "PREC":
+      case "VARC":
+        return new Types.UnknownType(text + " is an obsolete data type", infoText);
+      default:
+        return new Types.UnknownType(text + " unknown", infoText);
+    }
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddic_references.ts.html b/src/ddic_references.ts.html new file mode 100644 index 00000000000..0312d70a3da --- /dev/null +++ b/src/ddic_references.ts.html @@ -0,0 +1,376 @@ + + + + + + Code coverage report for src/ddic_references.ts + + + + + + + + + +
+
+

All files / src ddic_references.ts

+
+ +
+ 97.95% + Statements + 96/98 +
+ + +
+ 93.93% + Branches + 31/33 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 97.95% + Lines + 96/98 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +981x +1x +1x +7075x +7075x +7075x +7075x +7075x +563x +563x +103x +103x +563x +7075x +7075x +522x +  +  +522x +522x +522x +522x +522x +329x +329x +522x +329x +329x +522x +522x +522x +522x +414x +291x +291x +414x +344x +344x +414x +414x +522x +7075x +7075x +2953x +2953x +120x +58x +58x +58x +58x +58x +120x +2953x +2953x +2953x +2953x +2953x +81x +81x +2953x +7075x +7075x +104x +104x +7075x +7075x +2955x +2955x +2955x +2955x +2955x +82x +2955x +2873x +2873x +2955x +7075x +7075x +123x +123x +123x +123x +123x +123x +123x +89x +89x +141x +115x +115x +141x +89x +89x +123x +123x +123x +7075x +7075x
import {IObject} from "./objects/_iobject";
+import {IDDICReferences, IObjectAndToken} from "./_iddic_references";
+ 
+export class DDICReferences implements IDDICReferences {
+  private readonly nameTypeIndex: { [name: string]: { [type: string]: IObjectAndToken[] } } = {};
+  private readonly filenameIndex: { [filename: string]: { [line: number]: IObjectAndToken[] } } = {};
+ 
+  public setUsing(obj: IObject, using: IObjectAndToken[]): void {
+    this.clear(obj);
+    for (const u of using) {
+      this.addUsing(obj, u);
+    }
+  }
+ 
+  public addUsing(obj: IObject, using: IObjectAndToken | undefined) {
+    if (using === undefined) {
+      return;
+    }
+ 
+    // add to name and type index
+    const newName = obj.getName().toUpperCase();
+    const newType = obj.getType();
+    if (this.nameTypeIndex[newName] === undefined) {
+      this.nameTypeIndex[newName] = {};
+    }
+    if (this.nameTypeIndex[newName][newType] === undefined) {
+      this.nameTypeIndex[newName][newType] = [];
+    }
+    this.nameTypeIndex[newName][newType].push(using);
+ 
+    // add to filename index
+    if (using.filename && using.token) {
+      if (this.filenameIndex[using.filename] === undefined) {
+        this.filenameIndex[using.filename] = {};
+      }
+      if (this.filenameIndex[using.filename][using.token.getRow()] === undefined) {
+        this.filenameIndex[using.filename][using.token.getRow()] = [];
+      }
+      this.filenameIndex[using.filename][using.token.getRow()].push(using);
+    }
+  }
+ 
+  public clear(obj: IObject) {
+    // remove from filenameIndex first
+    for (const u of this.listUsing(obj)) {
+      if (u.filename && u.token) {
+        const found = this.filenameIndex[u.filename]?.[u.token.getRow()];
+        if (found) {
+          found.pop(); // TODODOD, this assumes there is max one reference on each line
+        }
+      }
+    }
+ 
+    // remove from name + type index
+    const name = obj.getName().toUpperCase();
+    const type = obj.getType();
+    if (this.nameTypeIndex[name]?.[type]) {
+      this.nameTypeIndex[name][type] = [];
+    }
+  }
+ 
+  public listByFilename(filename: string, line: number): IObjectAndToken[] {
+    return this.filenameIndex[filename]?.[line] || [];
+  }
+ 
+  public listUsing(obj: IObject): readonly IObjectAndToken[] {
+    const newName = obj.getName().toUpperCase();
+    const newType = obj.getType();
+ 
+    const found = this.nameTypeIndex[newName]?.[newType];
+    if (found !== undefined) {
+      return found;
+    } else {
+      return [];
+    }
+  }
+ 
+  public listWhereUsed(obj: IObject) {
+    // todo, add reverse index, this is slow
+ 
+    const ret = [];
+    const searchName = obj.getName().toUpperCase();
+    const searchType = obj.getType();
+ 
+    for (const name in this.nameTypeIndex) {
+      for (const type in this.nameTypeIndex[name]) {
+        for (const f of this.nameTypeIndex[name][type]) {
+          if (f.object && f.object.getType() === searchType && f.object.getName() === searchName) {
+            ret.push({type, name, token: f.token, filename: f.filename});
+          }
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/ddl_lexer.ts.html b/src/ddl/ddl_lexer.ts.html new file mode 100644 index 00000000000..2667ee605ce --- /dev/null +++ b/src/ddl/ddl_lexer.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/ddl/ddl_lexer.ts + + + + + + + + + +
+
+

All files / src/ddl ddl_lexer.ts

+
+ +
+ 100% + Statements + 33/33 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 33/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +1x +1x +1x +1x +1x +5x +5x +5x +5x +5x +26x +9x +9x +17x +17x +5x +5x +5x +91x +43x +91x +7x +7x +48x +41x +41x +91x +5x +5x +5x +1x
import {Identifier} from "../abap/1_lexer/tokens";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {IFile} from "../files/_ifile";
+import {Position} from "../position";
+ 
+export class DDLLexer {
+  public static run(file: IFile): AbstractToken[] {
+    const step1: string[] = [];
+ 
+    const lines = file.getRaw().replace(/\r/g, "").split("\n");
+ 
+    for (const l of lines) {
+      if (l.startsWith("@")) {
+        continue; // skip annotations for now
+      }
+      step1.push(...l.split(" "));
+    }
+ 
+    const step2: string[] = [];
+    for (const t of step1) {
+      if (t === "") {
+        continue;
+      } else if (t.endsWith(";")) {
+        step2.push(t.substr(0, t.length - 1));
+        step2.push(";");
+      } else {
+        step2.push(t);
+      }
+    }
+ 
+    return step2.map(t => new Identifier(new Position(1, 1), t));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/ddl_parser.ts.html b/src/ddl/ddl_parser.ts.html new file mode 100644 index 00000000000..db443f16536 --- /dev/null +++ b/src/ddl/ddl_parser.ts.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for src/ddl/ddl_parser.ts + + + + + + + + + +
+
+

All files / src/ddl ddl_parser.ts

+
+ +
+ 97.26% + Statements + 71/73 +
+ + +
+ 64.28% + Branches + 9/14 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 97.26% + Lines + 71/73 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +731x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +4x +1x +1x +4x +  +  +4x +4x +1x +1x +4x +4x +4x +4x +4x +6x +6x +1x +1x +1x +1x +1x +1x +6x +5x +5x +5x +5x +5x +5x +5x +5x +6x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x
import {Combi} from "../abap/2_statements/combi";
+import {ExpressionNode} from "../abap/nodes";
+import {IFile} from "../files/_ifile";
+import {defaultVersion} from "../version";
+import {DDLLexer} from "./ddl_lexer";
+import * as Expressions from "./expressions";
+ 
+export enum DDLKind {
+  Structure = "structure",
+  Table = "table",
+}
+ 
+export interface IDDLParserResultField {
+  key: boolean,
+  name: string,
+  type: string,
+  notNull: boolean,
+}
+ 
+export interface IDDLParserResult {
+  name: string,
+  kind: DDLKind,
+  fields: IDDLParserResultField[];
+}
+ 
+export class DDLParser {
+  public parse(file: IFile): IDDLParserResult | undefined {
+    const tokens = DDLLexer.run(file);
+ 
+    let res = Combi.run(new Expressions.DDLStructure(), tokens, defaultVersion);
+    if (res === undefined) {
+      res = Combi.run(new Expressions.DDLTable(), tokens, defaultVersion);
+    }
+    if (res === undefined || !(res[0] instanceof ExpressionNode)) {
+      return undefined;
+    }
+    return this.parsedToResult(res[0]);
+  }
+ 
+  private parsedToResult(node: ExpressionNode): IDDLParserResult {
+    const fields: IDDLParserResultField[] = [];
+    let found = node.findDirectExpressions(Expressions.DDLStructureField);
+    found = found.concat(node.findDirectExpressions(Expressions.DDLTableField));
+    found = found.concat(node.findDirectExpressions(Expressions.DDLInclude));
+    for (const f of found) {
+      const name = f.findDirectExpression(Expressions.DDLName)?.concatTokens() || "";
+      if (f.get() instanceof Expressions.DDLInclude) {
+        fields.push({
+          name: ".INCLUDE",
+          type: name,
+          key: false,
+          notNull: false,
+        });
+      } else {
+        const type = f.findDirectExpression(Expressions.DDLType)?.concatTokens() || "";
+        fields.push({
+          name,
+          type,
+          key: false,
+          notNull: false,
+        });
+      }
+    }
+ 
+    const result: IDDLParserResult = {
+      name: node.findDirectExpression(Expressions.DDLName)!.concatTokens(),
+      kind: node.get() instanceof Expressions.DDLStructure ? DDLKind.Structure : DDLKind.Table,
+      fields,
+    };
+ 
+    return result;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/expressions/ddl_include.ts.html b/src/ddl/expressions/ddl_include.ts.html new file mode 100644 index 00000000000..6c068230d58 --- /dev/null +++ b/src/ddl/expressions/ddl_include.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/ddl/expressions/ddl_include.ts + + + + + + + + + +
+
+

All files / src/ddl/expressions ddl_include.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +91x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {DDLName} from "./ddl_name";
+ 
+export class DDLInclude extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("INCLUDE", DDLName, ";");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/expressions/ddl_name.ts.html b/src/ddl/expressions/ddl_name.ts.html new file mode 100644 index 00000000000..1874824a519 --- /dev/null +++ b/src/ddl/expressions/ddl_name.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/ddl/expressions/ddl_name.ts + + + + + + + + + +
+
+

All files / src/ddl/expressions ddl_name.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {Expression, regex} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class DDLName extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return regex(/^\w+$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/expressions/ddl_structure.ts.html b/src/ddl/expressions/ddl_structure.ts.html new file mode 100644 index 00000000000..bd18c46045d --- /dev/null +++ b/src/ddl/expressions/ddl_structure.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/ddl/expressions/ddl_structure.ts + + + + + + + + + +
+
+

All files / src/ddl/expressions ddl_structure.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +4x +4x +1x
import {altPrio, Expression, plusPrio, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {DDLStructureField} from "./ddl_structure_field";
+import {DDLName} from "./ddl_name";
+import {DDLInclude} from "./ddl_include";
+ 
+export class DDLStructure extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("DEFINE STRUCTURE", DDLName, "{", plusPrio(altPrio(DDLStructureField, DDLInclude)), "}");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/expressions/ddl_structure_field.ts.html b/src/ddl/expressions/ddl_structure_field.ts.html new file mode 100644 index 00000000000..f1cdd75bcdd --- /dev/null +++ b/src/ddl/expressions/ddl_structure_field.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/ddl/expressions/ddl_structure_field.ts + + + + + + + + + +
+
+

All files / src/ddl/expressions ddl_structure_field.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {DDLName} from "./ddl_name";
+import {DDLType} from "./ddl_type";
+ 
+export class DDLStructureField extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(DDLName, ":", DDLType, ";");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/expressions/ddl_table.ts.html b/src/ddl/expressions/ddl_table.ts.html new file mode 100644 index 00000000000..6791a631492 --- /dev/null +++ b/src/ddl/expressions/ddl_table.ts.html @@ -0,0 +1,115 @@ + + + + + + Code coverage report for src/ddl/expressions/ddl_table.ts + + + + + + + + + +
+
+

All files / src/ddl/expressions ddl_table.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {altPrio, Expression, plusPrio, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {DDLInclude} from "./ddl_include";
+import {DDLName} from "./ddl_name";
+import {DDLTableField} from "./ddl_table_field";
+ 
+export class DDLTable extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq("DEFINE TABLE", DDLName, "{", plusPrio(altPrio(DDLTableField, DDLInclude)), "}");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/expressions/ddl_table_field.ts.html b/src/ddl/expressions/ddl_table_field.ts.html new file mode 100644 index 00000000000..1b921b48ab0 --- /dev/null +++ b/src/ddl/expressions/ddl_table_field.ts.html @@ -0,0 +1,112 @@ + + + + + + Code coverage report for src/ddl/expressions/ddl_table_field.ts + + + + + + + + + +
+
+

All files / src/ddl/expressions ddl_table_field.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +101x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {Expression, optPrio, seq} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+import {DDLName} from "./ddl_name";
+import {DDLType} from "./ddl_type";
+ 
+export class DDLTableField extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return seq(optPrio("KEY"), DDLName, ":", DDLType, optPrio("NOT NULL"), ";");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/expressions/ddl_type.ts.html b/src/ddl/expressions/ddl_type.ts.html new file mode 100644 index 00000000000..55d6c7eb35f --- /dev/null +++ b/src/ddl/expressions/ddl_type.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/ddl/expressions/ddl_type.ts + + + + + + + + + +
+
+

All files / src/ddl/expressions ddl_type.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +1x +1x +1x +1x +1x +1x
import {Expression, regex} from "../../abap/2_statements/combi";
+import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
+ 
+export class DDLType extends Expression {
+  public getRunnable(): IStatementRunnable {
+    return regex(/^(abap\.)?\w+(\(\d+\))?$/);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/expressions/index.html b/src/ddl/expressions/index.html new file mode 100644 index 00000000000..d67d37e93f8 --- /dev/null +++ b/src/ddl/expressions/index.html @@ -0,0 +1,221 @@ + + + + + + Code coverage report for src/ddl/expressions + + + + + + + + + +
+
+

All files src/ddl/expressions

+
+ +
+ 100% + Statements + 74/74 +
+ + +
+ 100% + Branches + 7/7 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 74/74 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ddl_include.ts +
+
100%9/9100%1/1100%1/1100%9/9
ddl_name.ts +
+
100%8/8100%1/1100%1/1100%8/8
ddl_structure.ts +
+
100%11/11100%1/1100%1/1100%11/11
ddl_structure_field.ts +
+
100%10/10100%1/1100%1/1100%10/10
ddl_table.ts +
+
100%11/11100%1/1100%1/1100%11/11
ddl_table_field.ts +
+
100%10/10100%1/1100%1/1100%10/10
ddl_type.ts +
+
100%8/8100%1/1100%1/1100%8/8
index.ts +
+
100%7/7100%0/0100%0/0100%7/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/expressions/index.ts.html b/src/ddl/expressions/index.ts.html new file mode 100644 index 00000000000..ab9aa685990 --- /dev/null +++ b/src/ddl/expressions/index.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/ddl/expressions/index.ts + + + + + + + + + +
+
+

All files / src/ddl/expressions index.ts

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +71x +1x +1x +1x +1x +1x +1x
export * from "./ddl_include";
+export * from "./ddl_name";
+export * from "./ddl_structure_field";
+export * from "./ddl_structure";
+export * from "./ddl_table_field";
+export * from "./ddl_table";
+export * from "./ddl_type";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/ddl/index.html b/src/ddl/index.html new file mode 100644 index 00000000000..2ac2c00db65 --- /dev/null +++ b/src/ddl/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/ddl + + + + + + + + + +
+
+

All files src/ddl

+
+ +
+ 98.11% + Statements + 104/106 +
+ + +
+ 79.16% + Branches + 19/24 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 98.11% + Lines + 104/106 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ddl_lexer.ts +
+
100%33/33100%10/10100%1/1100%33/33
ddl_parser.ts +
+
97.26%71/7364.28%9/14100%2/297.26%71/73
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/edit_helper.ts.html b/src/edit_helper.ts.html new file mode 100644 index 00000000000..38b47ac1690 --- /dev/null +++ b/src/edit_helper.ts.html @@ -0,0 +1,937 @@ + + + + + + Code coverage report for src/edit_helper.ts + + + + + + + + + +
+
+

All files / src edit_helper.ts

+
+ +
+ 90.52% + Statements + 258/285 +
+ + +
+ 86.56% + Branches + 58/67 +
+ + +
+ 93.33% + Functions + 14/15 +
+ + +
+ 90.52% + Lines + 258/285 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +2851x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +46x +46x +46x +1x +1x +1x +62x +46x +46x +62x +62x +62x +62x +62x +62x +62x +62x +1x +1x +46x +  +46x +  +  +46x +46x +48x +44x +44x +48x +2x +2x +2x +2x +2x +2x +  +  +  +48x +46x +46x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +425x +425x +425x +425x +425x +425x +425x +425x +425x +425x +425x +  +  +425x +425x +425x +425x +425x +1x +1x +338x +  +  +338x +1331x +338x +338x +1331x +  +  +1x +1x +170x +170x +141x +141x +29x +29x +29x +29x +29x +29x +29x +170x +128x +128x +62x +128x +29x +29x +29x +66x +24x +7x +7x +37x +13x +10x +10x +13x +13x +128x +170x +14x +14x +14x +15x +15x +15x +170x +30x +15x +15x +15x +30x +15x +15x +170x +5x +5x +5x +5x +170x +8x +8x +10x +2x +2x +2x +170x +1x +1x +18x +18x +36x +18x +18x +36x +  +  +1x +1x +38x +38x +38x +38x +1x +1x +329x +329x +329x +329x +1x +1x +437x +437x +437x +437x +1x +1x +53x +53x +1x +1x +831x +831x +831x +831x +1x +1x +414x +414x +414x +414x +  +  +414x +414x +659x +581x +581x +581x +581x +581x +659x +78x +78x +78x +78x +78x +78x +78x +78x +78x +78x +659x +414x +414x +414x +414x +414x +1x +1x +2x +2x +2x +2x +2x +2x +4x +4x +2x +2x +2x +4x +4x +4x +2x +2x +2x +2x +2x +2x +2x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x
import {AbstractToken} from "./abap/1_lexer/tokens/abstract_token";
+import {IFile} from "./files/_ifile";
+import {Position} from "./position";
+import {IRegistry} from "./_iregistry";
+import {MemoryFile} from "./files/memory_file";
+import {StatementNode} from "./abap/nodes/statement_node";
+import {ABAPFile} from "./abap/abap_file";
+ 
+export interface IRange {
+  start: Position;
+  end: Position;
+}
+ 
+export interface ITextEdit {
+  range: IRange;
+  newText: string;
+}
+ 
+export interface IEdit {
+  [filename: string]: ITextEdit[];
+}
+ 
+export class EditDraft {
+  private start: Position | undefined = undefined;
+  private end: Position | undefined = undefined;
+  private readonly rows: string[];
+  private readonly file: IFile;
+ 
+  public constructor(file: IFile) {
+    this.rows = file.getRawRows();
+    this.file = file;
+  }
+ 
+  /** replace existing text, insert text wont work */
+  public replace(pos: Position, value: string) {
+    if (this.start === undefined || pos.isBefore(this.start)) {
+      this.start = pos;
+    }
+    const end = new Position(pos.getRow(), pos.getCol() + value.length);
+    if (this.end === undefined || end.isAfter(this.end)) {
+      this.end = end;
+    }
+ 
+    const str = this.rows[pos.getRow() - 1];
+    this.rows[pos.getRow() - 1] = str.substr(0, pos.getCol() - 1) + value + str.substr(pos.getCol() + value.length - 1);
+  }
+ 
+  public toEdit(): IEdit {
+    if (this.start === undefined) {
+      throw "EditDraft, start undefined";
+    } else if (this.end === undefined) {
+      throw "EditDraft, end undefined";
+    }
+    let value = "";
+    for (let row = this.start.getRow(); row <= this.end.getRow(); row++) {
+      if (row === this.start.getRow() && row === this.end.getRow()) {
+        // first and last row
+        value = this.rows[row - 1].substring(this.start.getCol() - 1, this.end.getCol() - 1);
+      } else if (row === this.start.getRow()) {
+        // first row
+        value = this.rows[row - 1].substring(this.start.getCol() - 1);
+      } else if (row === this.end.getRow()) {
+        // last row
+        value += "\n" + this.rows[row - 1].substring(0, this.end.getCol() - 1);
+      } else {
+        // middle row
+        value += "\n" + this.rows[row - 1];
+      }
+    }
+    return EditHelper.replaceRange(this.file, this.start, this.end, value);
+  }
+}
+ 
+export class EditHelper {
+ 
+  public static mergeList(fixes: IEdit[]): IEdit {
+    const results: IEdit = {};
+    for (const f of fixes) {
+      for (const filename in f) {
+        if (results[filename] === undefined) {
+          results[filename] = [];
+        }
+        results[filename] = results[filename].concat(f[filename]);
+      }
+    }
+    return results;
+  }
+ 
+  public static merge(fix1: IEdit, fix2: IEdit): IEdit {
+    const ret: IEdit = {};
+ 
+    for (const k of Object.keys(fix1)) {
+      if (ret[k] === undefined) {
+        ret[k] = [];
+      }
+      ret[k] = ret[k].concat(fix1[k]);
+    }
+ 
+    for (const k of Object.keys(fix2)) {
+      if (ret[k] === undefined) {
+        ret[k] = [];
+      }
+      ret[k] = ret[k].concat(fix2[k]);
+    }
+ 
+    return ret;
+  }
+ 
+  public static findStatement(token: AbstractToken, file: ABAPFile | undefined): StatementNode | undefined {
+    if (file === undefined) {
+      return undefined;
+    }
+    for (const s of file.getStatements()) {
+      if (s.includesToken(token)) {
+        return s;
+      }
+    }
+    return undefined;
+  }
+ 
+  public static deleteStatement(file: ABAPFile, statement: StatementNode): IEdit {
+    const scolon = statement.getColon();
+    if (scolon === undefined) {
+      return EditHelper.deleteRange(file, statement.getFirstToken().getStart(), statement.getLastToken().getEnd());
+    }
+ 
+    let setPrevious = true;
+    let setNext = true;
+    /** previous statement in the chain */
+    let previousStatement: StatementNode | undefined = undefined;
+    /** next statement in the chain */
+    let nextStatement: StatementNode | undefined = undefined;
+    for (const s of file.getStatements()) {
+      const colon = s.getColon();
+      if (colon === undefined) {
+        continue;
+      } else if (s === statement) {
+        setPrevious = false;
+        setNext = true;
+        continue;
+      } else if (setPrevious === true) {
+        if (scolon.getStart().equals(colon.getStart())) {
+          previousStatement = s;
+        }
+      } else if (setNext === true) {
+        if (scolon.getStart().equals(colon.getStart())) {
+          nextStatement = s;
+        }
+        break;
+      }
+    }
+    if (previousStatement === undefined && nextStatement === undefined) {
+      // the statement to be deleted is the only one in the chain
+      return EditHelper.deleteRange(file, statement.getFirstToken().getStart(), statement.getLastToken().getEnd());
+    }
+ 
+    // the start of deletion should happen for tokens after the colon
+    let startDelete = statement.getFirstToken().getStart();
+    for (const t of statement.getTokens()) {
+      if (t.getStart().isAfter(scolon.getEnd())) {
+        startDelete = t.getStart();
+        break;
+      }
+    }
+ 
+    const colon = statement.getColon();
+    if (statement.getLastToken().getStr() === "." && previousStatement) {
+// last statement in chain
+      const edit1 = EditHelper.replaceToken(file, previousStatement.getLastToken(), ".");
+      const edit2 = EditHelper.deleteRange(file, previousStatement.getLastToken().getEnd(), statement.getLastToken().getEnd());
+      return EditHelper.merge(edit1, edit2);
+    } else if (previousStatement === undefined && colon && nextStatement) {
+// first statement in chain
+      return EditHelper.deleteRange(file, this.firstAfterColon(statement), this.firstAfterColon(nextStatement));
+    } else {
+// middle statement
+      return EditHelper.deleteRange(file, startDelete, this.firstAfterColon(nextStatement!));
+    }
+  }
+ 
+  public static firstAfterColon(statement: StatementNode): Position {
+    const colon = statement.getColon()!.getStart();
+    for (const t of statement.getTokens()) {
+      if (t.getStart().isAfter(colon)) {
+        return t.getStart();
+      }
+    }
+    throw new Error("firstAfterColon, emtpy statement?");
+  }
+ 
+  public static deleteToken(file: IFile, token: AbstractToken): IEdit {
+    const filename = file.getFilename();
+    const range: IRange = {start: token.getStart(), end: token.getEnd()};
+    return {[filename]: [{range, newText: ""}]};
+  }
+ 
+  public static deleteRange(file: IFile, start: Position, end: Position): IEdit {
+    const filename = file.getFilename();
+    const range: IRange = {start, end};
+    return {[filename]: [{range, newText: ""}]};
+  }
+ 
+  public static insertAt(file: IFile, pos: Position, text: string): IEdit {
+    const filename = file.getFilename();
+    const range: IRange = {start: pos, end: pos};
+    return {[filename]: [{range, newText: text}]};
+  }
+ 
+  public static replaceToken(file: IFile, token: AbstractToken, text: string): IEdit {
+    return this.replaceRange(file, token.getStart(), token.getEnd(), text);
+  }
+ 
+  public static replaceRange(file: IFile, start: Position, end: Position, text: string): IEdit {
+    const filename = file.getFilename();
+    const range: IRange = {start, end};
+    return {[filename]: [{range, newText: text}]};
+  }
+}
+ 
+export function applyEditSingle(reg: IRegistry, edit: IEdit) {
+  for (const filename in edit) {
+    let rows = reg.getFileByName(filename)?.getRawRows();
+    if (rows === undefined) {
+      throw new Error("applyEdit, file not found");
+    }
+ 
+    for (const e of edit[filename]) {
+      if (e.range.start.getRow() === e.range.end.getRow()) {
+        const line = rows[e.range.start.getRow() - 1];
+        rows[e.range.start.getRow() - 1] =
+          line.substr(0, e.range.start.getCol() - 1) +
+          e.newText +
+          line.substr(e.range.end.getCol() - 1);
+      } else {
+        const first = rows[e.range.start.getRow() - 1];
+        let res = first.substr(0, e.range.start.getCol() - 1) + e.newText;
+        const last = rows[e.range.end.getRow() - 1];
+        res = res + last.substr(e.range.end.getCol() - 1);
+        // delete middle lines
+        rows.splice(e.range.start.getRow(), e.range.end.getRow() - e.range.start.getRow());
+        // clean up
+        rows[e.range.start.getRow() - 1] = res;
+        rows = rows.join("\n").split("\n"); // if the edit contained newlines and multiple edits
+      }
+    }
+    const result = new MemoryFile(filename, rows.join("\n"));
+ 
+    reg.updateFile(result);
+  }
+}
+ 
+/** returns list of filenames which were changed */
+export function applyEditList(reg: IRegistry, edits: IEdit[]): string[] {
+  const ret: string[] = [];
+  let length = 0;
+ 
+  const merged: IEdit = {};
+  for (const e of edits) {
+    for (const f in e) {
+      if (merged[f] === undefined) {
+        merged[f] = [];
+        length = length + 1;
+      }
+      merged[f] = merged[f].concat(e[f]);
+    }
+  }
+ 
+  for (const f in merged) {
+    const singleFile: IEdit = {};
+    // sort, start with the last position first
+    singleFile[f] = merged[f].sort((a, b) => {
+      let val = b.range.start.getRow() - a.range.start.getRow();
+      if (val === 0) {
+        val = b.range.start.getCol() - a.range.start.getCol();
+      }
+      return val;
+    });
+ 
+    applyEditSingle(reg, singleFile);
+ 
+    ret.push(f);
+  }
+ 
+  return ret;
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/files/_abstract_file.ts.html b/src/files/_abstract_file.ts.html new file mode 100644 index 00000000000..64ef1032454 --- /dev/null +++ b/src/files/_abstract_file.ts.html @@ -0,0 +1,241 @@ + + + + + + Code coverage report for src/files/_abstract_file.ts + + + + + + + + + +
+
+

All files / src/files _abstract_file.ts

+
+ +
+ 100% + Statements + 52/52 +
+ + +
+ 83.33% + Branches + 5/6 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 52/52 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +531x +1x +1x +1x +1x +1x +15567x +15567x +1x +1x +128016x +128016x +1x +1x +16816x +16816x +16816x +16816x +16816x +16816x +16816x +16816x +16816x +16816x +16816x +16816x +16816x +16816x +1x +1x +8408x +8408x +8408x +1x +1x +8408x +8408x +8408x +8408x +8408x +8408x +8408x +8408x +8408x +8408x +8408x +8408x +8408x +1x +1x +1x +1x + 
import {IFile} from "./_ifile";
+ 
+export abstract class AbstractFile implements IFile {
+  private readonly filename: string;
+ 
+  public constructor(filename: string) {
+    this.filename = filename;
+  }
+ 
+  public getFilename(): string {
+    return this.filename;
+  }
+ 
+  private baseName(): string {
+    let name = this.getFilename();
+ 
+    let index = name.lastIndexOf("\\");
+    if (index) {
+      index = index + 1;
+    }
+    name = name.substring(index);
+ 
+    index = name.lastIndexOf("/");
+    if (index) {
+      index = index + 1;
+    }
+    return name.substring(index);
+  }
+ 
+  public getObjectType(): string | undefined {
+    const split = this.baseName().split(".");
+    return split[1]?.toUpperCase();
+  }
+ 
+  public getObjectName(): string {
+    const split = this.baseName().split(".");
+// handle url escaped namespace
+    split[0] = split[0].replace(/%23/g, "#");
+// handle additional escaping
+    split[0] = split[0].replace(/%3e/g, ">");
+    split[0] = split[0].replace(/%3c/g, "<");
+// handle abapGit namespace
+    split[0] = split[0].toUpperCase().replace(/#/g, "/");
+// handle AFF namespace
+    split[0] = split[0].replace("(", "/");
+    split[0] = split[0].replace(")", "/");
+    return split[0];
+  }
+ 
+  public abstract getRaw(): string;
+  public abstract getRawRows(): string[];
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/files/index.html b/src/files/index.html new file mode 100644 index 00000000000..99b50a41e54 --- /dev/null +++ b/src/files/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/files + + + + + + + + + +
+
+

All files src/files

+
+ +
+ 100% + Statements + 70/70 +
+ + +
+ 88.88% + Branches + 8/9 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 70/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_abstract_file.ts +
+
100%52/5283.33%5/6100%5/5100%52/52
memory_file.ts +
+
100%18/18100%3/3100%3/3100%18/18
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/files/memory_file.ts.html b/src/files/memory_file.ts.html new file mode 100644 index 00000000000..1c2e30d56f1 --- /dev/null +++ b/src/files/memory_file.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/files/memory_file.ts + + + + + + + + + +
+
+

All files / src/files memory_file.ts

+
+ +
+ 100% + Statements + 18/18 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 18/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +181x +1x +1x +1x +1x +1x +8054x +8054x +8054x +1x +1x +9535x +9535x +1x +1x +4829x +4829x +1x
import {AbstractFile} from "./_abstract_file";
+ 
+export class MemoryFile extends AbstractFile {
+  private readonly raw: string;
+ 
+  public constructor(filename: string, raw: string) {
+    super(filename);
+    this.raw = raw;
+  }
+ 
+  public getRaw(): string {
+    return this.raw;
+  }
+ 
+  public getRawRows(): string[] {
+    return this.raw.split("\n");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/index.html b/src/index.html new file mode 100644 index 00000000000..f6149d1d0a7 --- /dev/null +++ b/src/index.html @@ -0,0 +1,371 @@ + + + + + + Code coverage report for src + + + + + + + + + +
+
+

All files src

+
+ +
+ 88.54% + Statements + 1994/2252 +
+ + +
+ 78.39% + Branches + 519/662 +
+ + +
+ 78.94% + Functions + 150/190 +
+ + +
+ 88.54% + Lines + 1994/2252 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
artifacts_objects.ts +
+
100%30/30100%7/7100%2/2100%30/30
artifacts_rules.ts +
+
100%21/21100%4/4100%1/1100%21/21
config.ts +
+
89.87%142/15873.52%25/34100%10/1089.87%142/158
ddic.ts +
+
87.2%375/43071.12%133/187100%16/1687.2%375/430
ddic_references.ts +
+
97.95%96/9893.93%31/33100%7/797.95%96/98
edit_helper.ts +
+
90.52%258/28586.56%58/6793.33%14/1590.52%258/285
index.ts +
+
100%78/78100%14/1430.43%14/46100%78/78
issue.ts +
+
95.78%182/19084.37%27/3294.44%17/1895.78%182/190
macro_references.ts +
+
92.77%77/8375%18/24100%8/892.77%77/83
msag_references.ts +
+
96.29%52/5494.11%16/17100%5/596.29%52/54
position.ts +
+
100%34/34100%13/13100%7/7100%34/34
registry.ts +
+
85.81%369/43083.2%109/13192.1%35/3885.81%369/430
rules_runner.ts +
+
87.6%106/12157.89%22/38100%4/487.6%106/121
severity.ts +
+
100%5/5100%1/1100%0/0100%5/5
skip_logic.ts +
+
60.64%94/15561.9%26/4262.5%5/860.64%94/155
version.ts +
+
91.89%34/3771.42%5/7100%1/191.89%34/37
virtual_position.ts +
+
90.9%20/2266.66%2/3100%2/290.9%20/22
xml_utils.ts +
+
100%21/21100%8/8100%2/2100%21/21
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/index.ts.html b/src/index.ts.html new file mode 100644 index 00000000000..056418b1874 --- /dev/null +++ b/src/index.ts.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/index.ts + + + + + + + + + +
+
+

All files / src index.ts

+
+ +
+ 100% + Statements + 78/78 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 30.43% + Functions + 14/46 +
+ + +
+ 100% + Lines + 78/78 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +791x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import {Issue} from "./issue";
+import {Config} from "./config";
+import {Version} from "./version";
+import {Registry} from "./registry";
+import {MethodLengthStats, IMethodLengthResult} from "./utils/method_length_stats";
+import {LanguageServer} from "./lsp/language_server";
+import * as LanguageServerTypes from "./lsp/_interfaces";
+import {ArtifactsABAP} from "./abap/artifacts";
+import {ArtifactsObjects} from "./artifacts_objects";
+import {ArtifactsRules} from "./artifacts_rules";
+import {IProgress} from "./progress";
+import {ABAPObject} from "./objects/_abap_object";
+import {SyntaxLogic} from "./abap/5_syntax/syntax";
+import {SpaghettiScope, SpaghettiScopeNode} from "./abap/5_syntax/spaghetti_scope";
+import {IdentifierMeta, TypedIdentifier} from "./abap/types/_typed_identifier";
+import {AbstractType} from "./abap/types/basic/_abstract_type";
+import {ScopeType} from "./abap/5_syntax/_scope_type";
+import {INode} from "./abap/nodes/_inode";
+import {CurrentScope} from "./abap/5_syntax/_current_scope";
+import * as Objects from "./objects";
+import {AbstractToken} from "./abap/1_lexer/tokens/abstract_token";
+import * as Statements from "./abap/2_statements/statements";
+import * as Expressions from "./abap/2_statements/expressions";
+import * as ExpressionsCDS from "./cds/expressions";
+import * as Structures from "./abap/3_structures/structures";
+import * as Nodes from "./abap/nodes";
+import * as BasicTypes from "./abap/types/basic";
+import * as Types from "./abap/types";
+import * as Tokens from "./abap/1_lexer/tokens";
+import {IConfig, IDependency, IRenameSettings, IConfiguration} from "./_config";
+import {IRegistry} from "./_iregistry";
+import {IFile} from "./files/_ifile";
+import {Position} from "./position";
+import {VirtualPosition} from "./virtual_position";
+import {AbstractFile} from "./files/_abstract_file";
+import {PrettyPrinter} from "./pretty_printer/pretty_printer";
+import {ISpaghettiScope, ISpaghettiScopeNode} from "./abap/5_syntax/_spaghetti_scope";
+import {Empty, Unknown, Comment, MacroCall, MacroContent, NativeSQL} from "./abap/2_statements/statements/_statement";
+import {applyEditSingle, applyEditList, IEdit} from "./edit_helper";
+import {IClassDefinition} from "./abap/types/_class_definition";
+import {IInterfaceDefinition} from "./abap/types/_interface_definition";
+import {ReferenceType} from "./abap/5_syntax/_reference";
+import {IObject} from "./objects/_iobject";
+import {BuiltIn} from "./abap/5_syntax/_builtin";
+import {ABAPFile} from "./abap/abap_file";
+import {MemoryFile} from "./files/memory_file";
+import {Renamer} from "./objects/rename/renamer";
+import * as Info from "./abap/4_file_information/_abap_file_information";
+import {Visibility} from "./abap/4_file_information/visibility";
+import {Identifier} from "./abap/4_file_information/_identifier";
+import {Severity} from "./severity";
+import {IMethodDefinition} from "./abap/types/_method_definition";
+import {DDLParser} from "./ddl/ddl_parser";
+import {CDSParser} from "./cds/cds_parser";
+import {RulesRunner} from "./rules_runner";
+import {RuleTag} from "./rules/_irule";
+import {CyclomaticComplexityStats} from "./utils/cyclomatic_complexity_stats";
+import {SkipLogic} from "./skip_logic";
+import {Diagnostics} from "./lsp/diagnostics";
+import {LSPEdit} from "./lsp/_edit";
+ 
+// do not include this file from anywhere within abaplint
+// https://github.com/abaplint/abaplint/issues/873
+ 
+// file used to build typings, index.d.ts
+export {MemoryFile, Issue, Config, Version, ReferenceType, CyclomaticComplexityStats,
+  Registry, LanguageServer, MethodLengthStats, IProgress, BuiltIn,
+  ArtifactsABAP, ArtifactsObjects, ArtifactsRules, Objects, IFile, SkipLogic,
+  Structures, Statements, Expressions, Types, Nodes, IConfig, Identifier,
+  ISpaghettiScope, ISpaghettiScopeNode, Empty, Unknown, Comment, IConfiguration,
+  IClassDefinition, IInterfaceDefinition, IMethodLengthResult, VirtualPosition, IObject,
+  AbstractType, TypedIdentifier, BasicTypes, ScopeType, INode, AbstractToken as Token, IEdit,
+  IDependency, AbstractFile, SpaghettiScopeNode, applyEditSingle, applyEditList,
+  MacroCall, MacroContent, NativeSQL,
+  IMethodDefinition, DDLParser, LanguageServerTypes, CDSParser, ExpressionsCDS,
+  Tokens, ABAPObject, SyntaxLogic, SpaghettiScope, IdentifierMeta, RulesRunner,
+  ABAPFile, CurrentScope, IRegistry, Position, PrettyPrinter, Renamer as Rename,
+  Diagnostics, IRenameSettings, Info, Visibility, Severity, RuleTag, LSPEdit};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/issue.ts.html b/src/issue.ts.html new file mode 100644 index 00000000000..7d998389d37 --- /dev/null +++ b/src/issue.ts.html @@ -0,0 +1,652 @@ + + + + + + Code coverage report for src/issue.ts + + + + + + + + + +
+
+

All files / src issue.ts

+
+ +
+ 95.78% + Statements + 182/190 +
+ + +
+ 84.37% + Branches + 27/32 +
+ + +
+ 94.44% + Functions + 17/18 +
+ + +
+ 95.78% + Lines + 182/190 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +1901x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +101x +101x +101x +101x +101x +101x +101x +101x +101x +101x +101x +101x +1x +1x +289x +289x +289x +1x +1x +1157x +1157x +1157x +1157x +1157x +1157x +1157x +1157x +1157x +1157x +1157x +1157x +1157x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x +414x +414x +414x +414x +414x +414x +414x +414x +414x +414x +414x +414x +414x +1x +1x +928x +928x +928x +928x +928x +928x +928x +928x +928x +928x +928x +1x +1x +482x +482x +482x +482x +482x +482x +482x +482x +482x +482x +482x +1x +1x +482x +482x +482x +482x +482x +482x +482x +482x +482x +482x +482x +1x +1x +3567x +3567x +3567x +  +  +  +3567x +3567x +  +3567x +  +  +3567x +1x +1x +1x +1x +1x +1x +260x +260x +1x +1x +913x +913x +1x +1x +16x +16x +1x +1x +12x +12x +1x +1x +17x +17x +1x +1x +462x +462x +1x +1x +  +  +1x +1x +12x +12x +1x +1x
import {IFile} from "./files/_ifile";
+import {Position} from "./position";
+import {VirtualPosition} from "./virtual_position";
+import {AbstractToken} from "./abap/1_lexer/tokens/abstract_token";
+import {Identifier} from "./abap/4_file_information/_identifier";
+import {StatementNode} from "./abap/nodes";
+import {IEdit} from "./edit_helper";
+import {Severity} from "./severity";
+ 
+type Fix = {
+  description: string,
+  edit: IEdit,
+};
+ 
+interface IIssueData {
+  filename: string;
+  message: string;
+  key: string;
+  start: Position;
+  end: Position;
+  severity: Severity;
+  /** The default fix for the issue, it always makes sense to apply this fix
+   *  These are applied by "abaplint --fix" and in the document formatter in vscode extension
+   */
+  defaultFix?: IEdit;
+  /** Alternative quick fixes, the developer must choose which to apply */
+  alternativeFixes?: Fix[];
+}
+ 
+export class Issue {
+  private readonly data: IIssueData;
+ 
+  //////////////////////////
+ 
+  public static atRow(file: IFile, row: number, message: string, key: string, severity?: Severity) {
+    const start = new Position(row, 1);
+    const end = new Position(row, file.getRawRows()[row - 1].length + 1);
+    severity = severity ?? Severity.Error;
+    return new Issue({
+      filename: file.getFilename(),
+      message,
+      key,
+      start,
+      end,
+      severity,
+    });
+  }
+ 
+  public static atStatement(file: IFile, statement: StatementNode, message: string, key: string,
+                            severity?: Severity, fix?: IEdit, alternativeFixes?: Fix[]) {
+    return this.atRange(file, statement.getStart(), statement.getEnd(), message, key, severity, fix, alternativeFixes);
+  }
+ 
+  public static atPosition(file: IFile, start: Position, message: string, key: string, severity?: Severity, fix?: IEdit) {
+    const row = start.getRow();
+    const end = new Position(row, file.getRawRows()[row - 1].length + 1);
+    severity = severity ?? Severity.Error;
+    return new Issue({
+      filename: file.getFilename(),
+      message,
+      key,
+      start,
+      end,
+      defaultFix: fix,
+      severity,
+    });
+  }
+ 
+  public static atRowRange(file: IFile, row: number, startCol: number,
+                           endCol: number, message: string, key: string, severity?: Severity, fix?: IEdit) {
+    const start = new Position(row, startCol);
+    const end = new Position(row, endCol);
+    severity = severity ?? Severity.Error;
+    return new Issue({
+      filename: file.getFilename(),
+      message,
+      key,
+      start,
+      end,
+      defaultFix: fix,
+      severity,
+    });
+  }
+ 
+  public static atRange(file: IFile, start: Position, end: Position, message: string, key: string,
+                        severity?: Severity, fix?: IEdit, alternativeFixes?: Fix[]) {
+    severity = severity ?? Severity.Error;
+    return new Issue({
+      filename: file.getFilename(),
+      message,
+      key,
+      start,
+      end,
+      defaultFix: fix,
+      severity,
+      alternativeFixes,
+    });
+  }
+ 
+  public static atToken(file: IFile, token: AbstractToken, message: string, key: string, severity?: Severity, fix?: IEdit) {
+    severity = severity ?? Severity.Error;
+    return new Issue({
+      filename: file.getFilename(),
+      message,
+      key,
+      start: token.getStart(),
+      end: token.getEnd(),
+      severity,
+      defaultFix: fix,
+    });
+  }
+ 
+  public static atTokenFilename(filename: string, token: AbstractToken, message: string, key: string, severity?: Severity, fix?: IEdit) {
+    severity = severity ?? Severity.Error;
+    return new Issue({
+      filename: filename,
+      message,
+      key,
+      start: token.getStart(),
+      end: token.getEnd(),
+      severity,
+      defaultFix: fix,
+    });
+  }
+ 
+  public static atIdentifier(identifier: Identifier, message: string, key: string, severity?: Severity, fix?: IEdit) {
+    severity = severity ?? Severity.Error;
+    return new Issue({
+      filename: identifier.getFilename(),
+      message,
+      key,
+      start: identifier.getStart(),
+      end: identifier.getEnd(),
+      severity,
+      defaultFix: fix,
+    });
+  }
+ 
+  public constructor(data: IIssueData) {
+    this.data = data;
+ 
+    if (this.data.start instanceof VirtualPosition) {
+      // no quick fixes inside macros
+      this.data.defaultFix = undefined;
+    }
+ 
+    if (this.data.start.getCol() < 1) {
+      throw new Error("issue, start col < 1");
+    } else if (this.data.end.getCol() < 1) {
+      throw new Error("issue, end col < 1");
+    }
+  }
+ 
+  public getData(): IIssueData {
+    return this.data;
+  }
+ 
+  public getMessage(): string {
+    return this.data.message;
+  }
+ 
+  public getKey(): string {
+    return this.data.key;
+  }
+ 
+  public getStart(): Position {
+    return this.data.start;
+  }
+ 
+  public getEnd(): Position {
+    return this.data.end;
+  }
+ 
+  public getFilename(): string {
+    return this.data.filename;
+  }
+ 
+  public getDefaultFix() {
+    return this.data.defaultFix;
+  }
+ 
+  public getAlternativeFixes() {
+    return this.data.alternativeFixes;
+  }
+ 
+  public getSeverity() {
+    return this.data.severity;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/_edit.ts.html b/src/lsp/_edit.ts.html new file mode 100644 index 00000000000..d384adc6736 --- /dev/null +++ b/src/lsp/_edit.ts.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/lsp/_edit.ts + + + + + + + + + +
+
+

All files / src/lsp _edit.ts

+
+ +
+ 24.39% + Statements + 10/41 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 24.39% + Lines + 10/41 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +411x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x
import * as LServer from "vscode-languageserver-types";
+import {IEdit, ITextEdit} from "../edit_helper";
+ 
+export class LSPEdit {
+  public static mapEdits(edits: IEdit[]): LServer.WorkspaceEdit {
+    const workspace: LServer.WorkspaceEdit = {changes: {}};
+    for (const edit of edits) {
+      for (const filename in edit) {
+        if (workspace.changes![filename] === undefined) {
+          workspace.changes![filename] = [];
+        }
+        workspace.changes![filename] = workspace.changes![filename].concat(this.mapText(edit[filename]));
+      }
+    }
+    return workspace;
+  }
+ 
+  public static mapEdit(edit: IEdit): LServer.WorkspaceEdit {
+    const workspace: LServer.WorkspaceEdit = {changes: {}};
+    for (const filename in edit) {
+      workspace.changes![filename] = this.mapText(edit[filename]);
+    }
+    return workspace;
+  }
+ 
+  private static mapText(edit: ITextEdit[]): LServer.TextEdit[] {
+    const result: LServer.TextEdit[] = [];
+
+    for (const e of edit) {
+      const range = LServer.Range.create(
+        e.range.start.getRow() - 1,
+        e.range.start.getCol() - 1,
+        e.range.end.getRow() - 1,
+        e.range.end.getCol() - 1);
+
+      result.push({range, newText: e.newText});
+    }
+
+    return result;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/_interfaces.ts.html b/src/lsp/_interfaces.ts.html new file mode 100644 index 00000000000..c9374e7efaf --- /dev/null +++ b/src/lsp/_interfaces.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/lsp/_interfaces.ts + + + + + + + + + +
+
+

All files / src/lsp _interfaces.ts

+
+ +
+ 100% + Statements + 28/28 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 28/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as LServer from "vscode-languageserver-types";
+ 
+export interface ITextDocumentPositionParams {
+  textDocument: LServer.TextDocumentIdentifier;
+  position: LServer.Position;
+}
+ 
+export interface IRenameParams {
+  textDocument: LServer.TextDocumentIdentifier;
+  position: LServer.Position;
+  newName: string;
+}
+ 
+export interface ICodeActionParams {
+  textDocument: LServer.TextDocumentIdentifier;
+  range: LServer.Range;
+  context: LServer.CodeActionContext;
+}
+ 
+export interface IDocumentSymbolParams {
+  textDocument: LServer.TextDocumentIdentifier;
+}
+ 
+export interface ITextDocumentRange {
+  textDocument: LServer.TextDocumentIdentifier;
+  start: LServer.Position;
+  end: LServer.Position;
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/_lookup.ts.html b/src/lsp/_lookup.ts.html new file mode 100644 index 00000000000..cd347f33bb2 --- /dev/null +++ b/src/lsp/_lookup.ts.html @@ -0,0 +1,1363 @@ + + + + + + Code coverage report for src/lsp/_lookup.ts + + + + + + + + + +
+
+

All files / src/lsp _lookup.ts

+
+ +
+ 90.16% + Statements + 385/427 +
+ + +
+ 78.51% + Branches + 106/135 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 90.16% + Lines + 385/427 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +4271x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +129x +129x +2x +2x +2x +127x +127x +129x +1x +1x +126x +126x +126x +126x +129x +1x +1x +125x +125x +129x +6x +6x +6x +6x +6x +6x +6x +6x +6x +119x +119x +129x +2x +2x +2x +2x +2x +2x +2x +2x +2x +117x +117x +129x +7x +7x +7x +7x +110x +110x +129x +6x +6x +6x +6x +104x +104x +104x +129x +10x +3x +3x +10x +104x +104x +129x +27x +27x +1x +27x +26x +26x +27x +27x +27x +27x +27x +27x +27x +77x +77x +129x +63x +27x +9x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9x +26x +62x +76x +76x +129x +67x +76x +10x +10x +76x +76x +67x +67x +67x +67x +67x +54x +54x +6x +6x +54x +2x +2x +54x +67x +67x +67x +67x +67x +67x +67x +67x +67x +9x +129x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +129x +1x +1x +7x +7x +1x +1x +1x +1x +55x +55x +6x +6x +55x +17x +17x +55x +  +  +55x +43x +43x +55x +1x +1x +55x +  +  +55x +3x +3x +55x +5x +5x +55x +55x +55x +1x +1x +76x +76x +63x +63x +76x +76x +76x +8x +8x +6x +6x +8x +  +  +8x +  +  +8x +8x +76x +21x +68x +2x +2x +  +  +2x +2x +76x +76x +63x +63x +76x +76x +23x +23x +76x +76x +76x +1x +1x +8x +  +  +8x +8x +8x +4x +4x +4x +4x +4x +1x +1x +6x +6x +6x +6x +6x +4x +4x +7x +7x +4x +6x +6x +6x +  +  +  +  +  +6x +6x +6x +  +  +  +  +  +6x +6x +6x +4x +4x +6x +6x +  +  +  +  +  +6x +6x +6x +1x +1x +11x +11x +4x +4x +11x +11x +1x +1x +281x +281x +281x +161x +76x +76x +161x +281x +281x +281x +205x +205x +281x +281x +281x +1x +1x +2x +2x +2x +2x +2x +1x +1x +110x +  +  +110x +110x +110x +110x +95x +95x +15x +110x +110x +  +  +15x +110x +1x +1x +14x +14x +14x +110x +8x +8x +6x +110x +5x +5x +110x +1x +1x +1x +110x +1x +1x +127x +126x +126x +1x +1x +127x +  +  +1x +1x +1x +1x +127x +  +  +1x +1x +1x +1x +1x +129x +127x +127x +2x +2x +129x +  +  +2x +2x +2x +2x +129x +  +  +2x +2x +2x +2x +2x +  +  +  +1x +1x
/* eslint-disable max-len */
+import * as LServer from "vscode-languageserver-types";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {ICursorData, LSPUtils} from "./_lsp_utils";
+import {TypedIdentifier, IdentifierMeta} from "../abap/types/_typed_identifier";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {IReference, ReferenceType} from "../abap/5_syntax/_reference";
+import {IClassDefinition} from "../abap/types/_class_definition";
+import {BuiltIn} from "../abap/5_syntax/_builtin";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {Class, Interface} from "../objects";
+import {IInterfaceDefinition} from "../abap/types/_interface_definition";
+import {ABAPFile} from "../abap/abap_file";
+import {IMethodDefinition} from "..";
+import {FormDefinition} from "../abap/types";
+import {MacroCall} from "../abap/2_statements/statements/_statement";
+ 
+export interface LSPLookupResult {
+  /** in markdown */
+  hover: string | undefined;
+  /** used for go to definition */
+  definition?: LServer.Location | undefined;
+  /** used for go to implementation */
+  implementation?: LServer.Location | undefined;
+  definitionId?: Identifier;
+  scope?: ISpaghettiScopeNode;
+}
+ 
+export class LSPLookup {
+ 
+  public static lookup(cursor: ICursorData, reg: IRegistry, obj: ABAPObject): LSPLookupResult | undefined {
+    const inc = this.findInclude(cursor, reg);
+    if (inc) {
+      const found = this.ABAPFileResult(inc);
+      return {hover: "Include", definition: found, implementation: found};
+    }
+ 
+    const fm = this.findFunctionModule(cursor);
+    if (fm) {
+      return {hover: "Function Module " + fm};
+    }
+ 
+    const bottomScope = new SyntaxLogic(reg, obj).run().spaghetti.lookupPosition(
+      cursor.identifier.getStart(),
+      cursor.identifier.getFilename());
+    if (bottomScope === undefined) {
+      return undefined;
+    }
+ 
+    const clas = bottomScope.findClassDefinition(cursor.token.getStr());
+    if (clas && clas.getStart().equals(cursor.token.getStart())) {
+      const found = LSPUtils.identiferToLocation(clas);
+      return {
+        hover: "Class Definition, " + cursor.token.getStr(),
+        definition: found,
+        definitionId: clas,
+        implementation: undefined,
+        scope: bottomScope,
+      };
+    }
+ 
+    const intf = bottomScope.findInterfaceDefinition(cursor.token.getStr());
+    if (intf && intf.getStart().equals(cursor.token.getStart())) {
+      const found = LSPUtils.identiferToLocation(intf);
+      return {
+        hover: "Interface Definition, " + cursor.token.getStr(),
+        definition: found,
+        definitionId: intf,
+        implementation: undefined,
+        scope: bottomScope,
+      };
+    }
+ 
+    const type = bottomScope.findType(cursor.token.getStr());
+    if (type !== undefined && type.getStart().equals(cursor.token.getStart())) {
+      const found = LSPUtils.identiferToLocation(type);
+      const hover = "Type Definition, " + cursor.token.getStr() + "\n\n" + this.dumpType(type);
+      return {hover, definition: found, definitionId: type, scope: bottomScope};
+    }
+ 
+    const method = this.findMethodDefinition(cursor, bottomScope.getParent());
+    if (method !== undefined && method.getStart().equals(cursor.token.getStart())) {
+      const found = LSPUtils.identiferToLocation(method);
+      const hover = "Method Definition \"" + method.getName() + "\"";
+      return {hover, definition: found, definitionId: method, scope: bottomScope};
+    }
+ 
+    let hoverValue = "";
+    const ddicRefs = reg.getDDICReferences().listByFilename(cursor.identifier.getFilename(), cursor.identifier.getStart().getRow());
+    for (const d of ddicRefs) {
+      if (d.object && d.token && d.token.getStart().equals(cursor.identifier.getStart())) {
+        hoverValue += `DDIC: ${d.object.getType()} ${d.object.getName()}`;
+      }
+    }
+ 
+    const variable = bottomScope.findVariable(cursor.token.getStr());
+    if (variable !== undefined && variable.getStart().equals(cursor.token.getStart())) {
+      const hover = "Variable Definition\n\n" + this.dumpType(variable);
+      if (hoverValue !== "") {
+        hoverValue = hover + "\n_________________\n" + hoverValue;
+      } else {
+        hoverValue = hover;
+      }
+ 
+      let location: LServer.Location | undefined = undefined;
+      if (variable.getMeta().includes(IdentifierMeta.BuiltIn) === false) {
+        location = LSPUtils.identiferToLocation(variable);
+      }
+      return {hover: hoverValue, definition: location, implementation: location, definitionId: variable, scope: bottomScope};
+    }
+ 
+    // TODO: this can be optimized, no need to loop through all the defintions, the scope knows the name of the object?
+    for (const c of [...bottomScope.listClassDefinitions(), ...bottomScope.listInterfaceDefinitions()]) {
+      for (const m of c.getMethodDefinitions()?.getAll() || []) {
+        for (const p of m.getParameters()?.getAll() || []) {
+          if (p.getStart().equals(cursor.token.getStart())) {
+            const found = LSPUtils.identiferToLocation(p);
+            return {
+              hover: "Method Parameter: " + cursor.token.getStr().replace("!", ""),
+              definition: found,
+              definitionId: p,
+              implementation: undefined,
+              scope: bottomScope,
+            };
+          }
+        }
+      }
+    }
+ 
+    const refs = this.searchReferences(bottomScope, cursor.token);
+    if (refs.length > 0) {
+      for (const ref of refs) {
+        if (hoverValue !== "") {
+          hoverValue += "\n_________________\n";
+        }
+        hoverValue += this.referenceHover(ref, bottomScope, reg);
+      }
+ 
+      let definition: LServer.Location | undefined = undefined;
+      let implementation: LServer.Location | undefined = undefined;
+ 
+      if (refs[0].resolved) {
+        definition = LSPUtils.identiferToLocation(refs[0].resolved);
+        if (definition.uri === BuiltIn.filename) {
+          definition = undefined;
+        }
+        if (refs[0].resolved instanceof FormDefinition) {
+          implementation = definition;
+        }
+      }
+ 
+      return {
+        hover: hoverValue,
+        definition: definition,
+        implementation: implementation,
+        definitionId: refs[0].resolved,
+        scope: bottomScope,
+      };
+    }
+ 
+    if (cursor.snode.get() instanceof MacroCall) {
+      const macroDefinition = reg.getMacroReferences().findDefinitionByUsage(cursor.identifier.getFilename(), cursor.snode.getFirstToken());
+      if (macroDefinition) {
+        return {
+          hover: "Macro Call",
+          definition: {
+            uri: macroDefinition?.filename,
+            range: LSPUtils.tokenToRange(macroDefinition.token),
+          },
+        };
+      }
+    }
+ 
+    if (hoverValue !== "") {
+      return {hover: hoverValue, scope: bottomScope};
+    }
+    return undefined;
+  }
+ 
+  ////////////////////////////////////////////
+ 
+  private static dumpType(variable: TypedIdentifier): string {
+    let value = variable.toText() + "\n\nType: " + variable.getType().toText(0);
+    if (variable.getValue()) {
+      value += "\n\nValue: ```" + variable.getValue() + "```";
+    }
+    if (variable.getMeta().length > 0) {
+      value += "\n\nMeta: " + variable.getMeta().join(", ");
+    }
+    if (variable.getType().containsVoid() === true) {
+      value += "\n\nContains Void types";
+    }
+    if (variable.getType().getQualifiedName()) {
+      value += "\n\nQualified Type Name: ```" + variable.getType().getQualifiedName() + "```";
+    }
+    if (variable.getType().getRTTIName()) {
+      value += "\n\nRTTI Name: ```" + variable.getType().getRTTIName() + "```";
+    }
+    if (variable.getType().isGeneric() === true) {
+      value += "\n\nIs Generic Type";
+    }
+    if (variable.getType().getConversionExit() !== undefined) {
+      value += "\n\nConversion Exit: ```" + variable.getType().getConversionExit() + "```";
+    }
+    if (variable.getType().getDDICName() !== undefined) {
+      value += "\n\nDDIC Name: ```" + variable.getType().getDDICName() + "```";
+    }
+ 
+    return value;
+  }
+ 
+  private static referenceHover(ref: IReference, scope: ISpaghettiScopeNode, reg: IRegistry): string {
+    let name = "";
+    if (ref.resolved) {
+      name = "```" + ref.resolved.getName() + "```";
+    }
+    let ret = `${ref.referenceType} ${name}`;
+ 
+    if (ref.referenceType === ReferenceType.MethodReference && ref.extra?.ooName) {
+      let cdef: IClassDefinition | IInterfaceDefinition | undefined = scope.findClassDefinition(ref.extra.ooName);
+      if (cdef === undefined) {
+        cdef = scope.findInterfaceDefinition(ref.extra.ooName);
+      }
+      if (cdef === undefined) {
+        cdef = (reg.getObject("CLAS", ref.extra.ooName) as Class | undefined)?.getDefinition();
+      }
+      if (cdef === undefined) {
+        cdef = (reg.getObject("INTF", ref.extra.ooName) as Interface | undefined)?.getDefinition();
+      }
+ 
+      ret += "\n\n" + this.hoverMethod(ref.position.getName(), cdef);
+    } else if (ref.resolved instanceof TypedIdentifier) {
+      ret += "\n\n" + this.dumpType(ref.resolved);
+    } else if (ref.referenceType === ReferenceType.BuiltinMethodReference) {
+      const builtinDef = new BuiltIn().searchBuiltin(ref.resolved?.getName()?.toUpperCase());
+      if (builtinDef === undefined) {
+        return "Error: builtin method signature not found";
+      }
+      ret += "\n\n" + this.methodParameters(builtinDef);
+    }
+ 
+    if (ref.resolved) {
+      ret += "\n\n(Resolved)";
+    }
+ 
+    if (ref.extra !== undefined && Object.keys(ref.extra).length > 0) {
+      ret += "\n\nExtra: " + JSON.stringify(ref.extra);
+    }
+ 
+    return ret;
+  }
+ 
+  private static hoverMethod(method: string, classDef: IClassDefinition | IInterfaceDefinition | undefined): string {
+    if (classDef === undefined) {
+      return "class not found";
+    }
+ 
+    const methodDef = classDef.getMethodDefinitions().getByName(method);
+    if (methodDef === undefined) {
+      return "method not found in definition";
+    }
+ 
+    return this.methodParameters(methodDef);
+  }
+ 
+  private static methodParameters(methodDef: IMethodDefinition) {
+    let ret = "";
+    const parameters = methodDef.getParameters();
+ 
+    const importing = parameters.getImporting();
+    if (importing.length > 0) {
+      ret += "IMPORTING\n";
+      for (const p of importing) {
+        ret += this.singleParameter(p);
+      }
+    }
+ 
+    const exporting = parameters.getExporting();
+    if (exporting.length > 0) {
+      ret += "EXPORTING\n";
+      for (const p of exporting) {
+        ret += this.singleParameter(p);
+      }
+    }
+ 
+    const changing = parameters.getChanging();
+    if (changing.length > 0) {
+      ret += "CHANGING\n";
+      for (const p of changing) {
+        ret += this.singleParameter(p);
+      }
+    }
+ 
+    const r = parameters.getReturning();
+    if (r) {
+      ret += "RETURNING\n" + this.singleParameter(r);
+    }
+ 
+    if (methodDef.getRaising().length > 0) {
+      ret += "RAISING\n";
+      for (const p of methodDef.getRaising()) {
+        ret += "* " + p + "\n";
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private static singleParameter(p: TypedIdentifier): string {
+    let extra = p.getMeta().join(", ");
+    if (extra !== "") {
+      extra = "(Meta: " + extra + ")";
+    }
+    return "* " + p.getName() + extra + " TYPE " + p.getType().toText(1) + "\n\n";
+  }
+ 
+  private static searchReferences(scope: ISpaghettiScopeNode, token: AbstractToken): IReference[] {
+    const ret: IReference[] = [];
+ 
+    for (const r of scope.getData().references) {
+      if (r.position.getStart().equals(token.getStart())) {
+        ret.push(r);
+      }
+    }
+ 
+    const parent = scope.getParent();
+    if (parent) {
+      ret.push(...this.searchReferences(parent, token));
+    }
+ 
+    return ret;
+  }
+ 
+  private static ABAPFileResult(abap: ABAPFile): LServer.Location {
+    return {
+      uri: abap.getFilename(),
+      range: LServer.Range.create(0, 0, 0, 0),
+    };
+  }
+ 
+  private static findMethodDefinition(found: ICursorData, scope: ISpaghettiScopeNode | undefined): Identifier | undefined {
+    if (scope === undefined) {
+      return undefined;
+    }
+ 
+    if ((scope.getIdentifier().stype !== ScopeType.ClassDefinition
+      && scope.getIdentifier().stype !== ScopeType.Interface)
+      || !(found.snode.get() instanceof Statements.MethodDef)) {
+      return undefined;
+    }
+ 
+    const nameToken = found.snode.findFirstExpression(Expressions.MethodName)?.getFirstToken();
+    if (nameToken === undefined) {
+      return undefined;
+    }
+ 
+    if (found.snode.findFirstExpression(Expressions.Redefinition)) {
+      return undefined;
+    }
+ 
+    // check the cursor is at the right token
+    if (nameToken.getStart().getCol() !== found.token.getStart().getCol()
+      || nameToken.getStart().getRow() !== found.token.getStart().getRow()) {
+      return undefined;
+    }
+ 
+    if (scope.getIdentifier().stype === ScopeType.ClassDefinition) {
+      const def = scope.getParent()?.findClassDefinition(scope.getIdentifier().sname)?.getMethodDefinitions()?.getByName(nameToken.getStr());
+      return def;
+    } else {
+      const def = scope.getParent()?.findInterfaceDefinition(scope.getIdentifier().sname)?.getMethodDefinitions()?.getByName(nameToken.getStr());
+      return def;
+    }
+  }
+ 
+  private static findFunctionModule(found: ICursorData): string | undefined {
+    if (!(found.snode.get() instanceof Statements.CallFunction)) {
+      return undefined;
+    }
+ 
+    const name = found.snode.findFirstExpression(Expressions.FunctionName);
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    // check the cursor is at the right token
+    const token = name.getFirstToken();
+    if (token.getStart().getCol() !== found.token.getStart().getCol()
+      || token.getStart().getRow() !== found.token.getStart().getRow()) {
+      return undefined;
+    }
+ 
+    return token.getStr();
+  }
+ 
+  private static findInclude(found: ICursorData, reg: IRegistry): ABAPFile | undefined {
+    if (!(found.snode.get() instanceof Statements.Include)) {
+      return;
+    }
+ 
+    const name = found.snode.findFirstExpression(Expressions.IncludeName);
+    if (name === undefined) {
+      return undefined;
+    }
+ 
+    // check the cursor is at the right token
+    const token = name.getFirstToken();
+    if (token.getStart().getCol() !== found.token.getStart().getCol()
+      || token.getStart().getRow() !== found.token.getStart().getRow()) {
+      return undefined;
+    }
+ 
+    const obj = reg.getObject("PROG", token.getStr()) as ABAPObject | undefined;
+    if (obj) {
+      return obj.getABAPFiles()[0];
+    }
+
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/_lsp_utils.ts.html b/src/lsp/_lsp_utils.ts.html new file mode 100644 index 00000000000..04fa6b08fda --- /dev/null +++ b/src/lsp/_lsp_utils.ts.html @@ -0,0 +1,394 @@ + + + + + + Code coverage report for src/lsp/_lsp_utils.ts + + + + + + + + + +
+
+

All files / src/lsp _lsp_utils.ts

+
+ +
+ 94.23% + Statements + 98/104 +
+ + +
+ 85.18% + Branches + 23/27 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 94.23% + Lines + 98/104 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +1041x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +312x +312x +312x +1x +1x +311x +312x +312x +312x +311x +312x +311x +311x +312x +  +  +  +  +1x +1x +163x +163x +163x +163x +163x +163x +1x +1x +8x +8x +1x +1x +123x +123x +123x +123x +123x +1x +1x +140x +140x +  +  +140x +140x +140x +140x +537x +537x +137x +137x +137x +137x +137x +137x +537x +3x +3x +3x +1x +1x +1414x +1414x +1414x +2806x +1929x +1929x +1929x +1929x +137x +137x +2806x +877x +877x +305x +305x +877x +2806x +972x +972x +972x +1x +1x
import {IRegistry} from "../_iregistry";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {StatementNode, TokenNode} from "../abap/nodes";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {ABAPObject} from "../objects/_abap_object";
+import {ITextDocumentPositionParams} from "./_interfaces";
+import {INode} from "../abap/nodes/_inode";
+import {Position} from "../position";
+import * as LServer from "vscode-languageserver-types";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export interface ICursorData {
+  token: AbstractToken;
+  identifier: Identifier;
+  stack: INode[];
+  snode: StatementNode;
+}
+ 
+export class LSPUtils {
+ 
+  public static getABAPFile(reg: IRegistry, filename: string): ABAPFile | undefined {
+ 
+    const file = reg.getFileByName(filename);
+    if (file === undefined) {
+      return undefined;
+    }
+    const obj = reg.findObjectForFile(file);
+    obj?.parse();
+ 
+    if (obj instanceof ABAPObject) {
+      for (const abapfile of obj.getABAPFiles()) {
+        if (abapfile.getFilename().toUpperCase() === filename.toUpperCase()) {
+          return abapfile;
+        }
+      }
+    }
+
+    return undefined;
+  }
+ 
+  public static tokenToRange(token: AbstractToken): LServer.Range {
+    return LServer.Range.create(
+      token.getStart().getRow() - 1,
+      token.getStart().getCol() - 1,
+      token.getEnd().getRow() - 1,
+      token.getEnd().getCol() - 1);
+  }
+ 
+  public static positionToLS(pos: Position): LServer.Position {
+    return LServer.Position.create(pos.getRow() - 1, pos.getCol() - 1);
+  }
+ 
+  public static identiferToLocation(identifier: Identifier): LServer.Location {
+    return {
+      uri: identifier.getFilename(),
+      range: LSPUtils.tokenToRange(identifier.getToken()),
+    };
+  }
+ 
+  public static findCursor(reg: IRegistry, pos: ITextDocumentPositionParams): ICursorData | undefined {
+    const file = LSPUtils.getABAPFile(reg, pos.textDocument.uri);
+    if (file === undefined) {
+      return undefined;
+    }
+ 
+    const search = new Position(pos.position.line + 1, pos.position.character + 1);
+ 
+    for (const statement of file.getStatements()) {
+      const res = this.buildStack(statement, search, [statement]);
+      if (res !== undefined) {
+        return {
+          token: res.token,
+          identifier: new Identifier(res.token, file.getFilename()),
+          stack: res.stack,
+          snode: statement};
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private static buildStack(node: INode, search: Position, parents: INode[]): {token: AbstractToken, stack: INode[]} | undefined {
+    const stack: INode[] = parents;
+ 
+    for (const c of node.getChildren()) {
+      if (c instanceof TokenNode) {
+        const token = c.getFirstToken();
+        if (token.getRow() === search.getRow()
+            && token.getCol() <= search.getCol()
+            && token.getCol() + token.getStr().length > search.getCol()) {
+          return {token, stack};
+        }
+      } else {
+        const res = this.buildStack(c, search, stack.concat([c]));
+        if (res !== undefined) {
+          return res;
+        }
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/code_actions.ts.html b/src/lsp/code_actions.ts.html new file mode 100644 index 00000000000..7e69b62889b --- /dev/null +++ b/src/lsp/code_actions.ts.html @@ -0,0 +1,409 @@ + + + + + + Code coverage report for src/lsp/code_actions.ts + + + + + + + + + +
+
+

All files / src/lsp code_actions.ts

+
+ +
+ 21.1% + Statements + 23/109 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/4 +
+ + +
+ 21.1% + Lines + 23/109 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +1091x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {ICodeActionParams} from "./_interfaces";
+import {Diagnostics} from "./diagnostics";
+import {IEdit} from "../edit_helper";
+import {Issue} from "../issue";
+import {Position} from "../position";
+import {LSPEdit} from "./_edit";
+ 
+export class CodeActions {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public find(params: ICodeActionParams): LServer.CodeAction[] {
+    const diag = new Diagnostics(this.reg);
+    const issues = diag.findIssues(params.textDocument);
+    const totals: {[key: string]: number} = {};
+    const shown = new Set<string>();
+
+    const ret: LServer.CodeAction[] = [];
+    for (const i of issues) {
+      const fix = i.getDefaultFix();
+      if (fix !== undefined) {
+        if (totals[i.getKey()] === undefined) {
+          totals[i.getKey()] = 1;
+        } else {
+          totals[i.getKey()]++;
+        }
+
+        if (this.inRange(i, params.range) === true) {
+          ret.push({
+            title: "Apply fix, " + i.getKey(),
+            kind: LServer.CodeActionKind.QuickFix,
+            diagnostics: [Diagnostics.mapDiagnostic(i)],
+            isPreferred: true,
+            edit: LSPEdit.mapEdit(fix),
+          });
+          shown.add(i.getKey());
+        }
+      }
+
+      for (const alternative of i.getAlternativeFixes() || []) {
+        if (this.inRange(i, params.range) === true) {
+          ret.push({
+            title: alternative.description,
+            kind: LServer.CodeActionKind.QuickFix,
+            diagnostics: [Diagnostics.mapDiagnostic(i)],
+            isPreferred: true,
+            edit: LSPEdit.mapEdit(alternative.edit),
+          });
+          shown.add(i.getKey());
+        }
+      }
+    }
+
+    for (const s of shown) {
+      if (totals[s] > 1) {
+        const foo = this.fixAlls(s, issues);
+        ret.push(foo);
+      }
+    }
+
+    return ret;
+  }
+ 
+//////////////////////
+ 
+  private fixAlls(key: string, issues: readonly Issue[]): LServer.CodeAction {
+    const diagnostics: LServer.Diagnostic[] = [];
+    const fixes: IEdit[] = [];
+
+    for (const i of issues) {
+      if (i.getKey() !== key) {
+        continue;
+      }
+
+      const fix = i.getDefaultFix();
+      if (fix === undefined) {
+        continue;
+      }
+
+      fixes.push(fix);
+      diagnostics.push(Diagnostics.mapDiagnostic(i));
+    }
+
+    return {
+      title: "Fix all, " + key,
+      kind: LServer.CodeActionKind.QuickFix,
+      diagnostics,
+      isPreferred: true,
+      edit: LSPEdit.mapEdits(fixes),
+    };
+  }
+ 
+  private inRange(i: Issue, range: LServer.Range): boolean {
+    const start = new Position(range.start.line + 1, range.start.character + 1);
+    const end = new Position(range.end.line + 1, range.end.character + 1);
+
+    return i.getStart().isBetween(start, end)
+      || i.getEnd().isBetween(start, end)
+      || start.isBetween(i.getStart(), i.getEnd())
+      || end.isBetween(i.getStart(), i.getEnd())
+      || end.equals(i.getEnd());
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/code_lens.ts.html b/src/lsp/code_lens.ts.html new file mode 100644 index 00000000000..7a21d67b712 --- /dev/null +++ b/src/lsp/code_lens.ts.html @@ -0,0 +1,418 @@ + + + + + + Code coverage report for src/lsp/code_lens.ts + + + + + + + + + +
+
+

All files / src/lsp code_lens.ts

+
+ +
+ 87.5% + Statements + 98/112 +
+ + +
+ 47.61% + Branches + 10/21 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 87.5% + Lines + 98/112 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +1121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x +3x +3x +3x +  +  +3x +3x +3x +  +  +3x +3x +3x +3x +3x +3x +3x +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +3x +3x +3x +1x +  +  +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +3x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +12x +12x +12x +6x +3x +1x +1x +3x +6x +12x +12x +9x +9x +12x +12x +12x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {LSPUtils} from "./_lsp_utils";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+import {MessageClass} from "../objects";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {IReference, ReferenceType} from "../abap/5_syntax/_reference";
+import {MethodDefinition} from "../abap/types";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export type CodeLensSettings = {
+  messageText: boolean,
+  dynamicExceptions: boolean,
+};
+ 
+export class CodeLens {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public list(textDocument: LServer.TextDocumentIdentifier,
+              settings: CodeLensSettings = {messageText: true, dynamicExceptions: true}): LServer.CodeLens[] {
+    const file = LSPUtils.getABAPFile(this.reg, textDocument.uri);
+    if (file === undefined) {
+      return [];
+    }
+ 
+    const obj = this.reg.findObjectForFile(file);
+    if (obj === undefined || !(obj instanceof ABAPObject)) {
+      return [];
+    }
+    const top = new SyntaxLogic(this.reg, obj).run().spaghetti.getTop();
+ 
+    const ret: LServer.CodeLens[] = [];
+ 
+    if (settings.messageText === true) {
+      const list = this.reg.getMSAGReferences().listByFilename(file.getFilename());
+      for (const l of list) {
+        const msag = this.reg.getObject("MSAG", l.messageClass) as MessageClass | undefined;
+        if (msag === undefined) {
+          continue;
+        }
+        const text = msag.getByNumber(l.number)?.getMessage();
+        if (text === undefined) {
+          continue;
+        }
+        ret.push({
+          range: LSPUtils.tokenToRange(l.token),
+          command: LServer.Command.create(text, "")});
+      }
+    }
+    if (settings.dynamicExceptions === true) {
+      for (const ref of this.findMethodReferences(top, file)) {
+        if (!(ref.resolved instanceof MethodDefinition)) {
+          continue;
+        }
+        let text = "";
+        for (const e of ref.resolved.getRaising()) {
+          if (this.isDynamicException(e, top)) {
+            if (text === "") {
+              text = "Dynamic Exceptions: ";
+            } else {
+              text += " & ";
+            }
+            text += e.toUpperCase();
+          }
+        }
+        if (text !== "") {
+          ret.push({
+            range: LSPUtils.tokenToRange(ref.position.getToken()),
+            command: LServer.Command.create(text, "")});
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private isDynamicException(name: string, top: ISpaghettiScopeNode) {
+    // todo: this method only works with global exceptions?
+    let current: string | undefined = name;
+    while (current !== undefined) {
+      if (current.toUpperCase() === "CX_DYNAMIC_CHECK") {
+        return true;
+      }
+      current = top.findClassDefinition(current)?.getSuperClass();
+    }
+    return false;
+  }
+ 
+  private findMethodReferences(node: ISpaghettiScopeNode, file: ABAPFile): IReference[] {
+    const ret: IReference[] = [];
+ 
+    if (node.getIdentifier().filename === file.getFilename()) {
+      for (const r of node.getData().references) {
+        if (r.referenceType === ReferenceType.MethodReference) {
+          ret.push(r);
+        }
+      }
+    }
+ 
+    for (const c of node.getChildren()) {
+      ret.push(...this.findMethodReferences(c, file));
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/definition.ts.html b/src/lsp/definition.ts.html new file mode 100644 index 00000000000..bbfc8aea7ab --- /dev/null +++ b/src/lsp/definition.ts.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/lsp/definition.ts + + + + + + + + + +
+
+

All files / src/lsp definition.ts

+
+ +
+ 82.85% + Statements + 29/35 +
+ + +
+ 57.14% + Branches + 4/7 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 82.85% + Lines + 29/35 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +351x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +12x +12x +1x +1x +12x +12x +12x +12x +  +  +12x +12x +  +  +12x +12x +12x +  +  +12x +12x +12x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {LSPUtils} from "./_lsp_utils";
+import {LSPLookup} from "./_lookup";
+ 
+// go to definition
+export class Definition {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public find(textDocument: LServer.TextDocumentIdentifier,
+              position: LServer.Position): LServer.Location | undefined {
+ 
+    const file = LSPUtils.getABAPFile(this.reg, textDocument.uri);
+    if (file === undefined) {
+      return undefined;
+    }
+    const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());
+    if (!(obj instanceof ABAPObject)) {
+      return undefined;
+    }
+ 
+    const found = LSPUtils.findCursor(this.reg, {textDocument, position});
+    if (found === undefined) {
+      return undefined;
+    }
+ 
+    return LSPLookup.lookup(found, this.reg, obj)?.definition;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/diagnostics.ts.html b/src/lsp/diagnostics.ts.html new file mode 100644 index 00000000000..2e3ac885ff4 --- /dev/null +++ b/src/lsp/diagnostics.ts.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for src/lsp/diagnostics.ts + + + + + + + + + +
+
+

All files / src/lsp diagnostics.ts

+
+ +
+ 93.05% + Statements + 67/72 +
+ + +
+ 71.42% + Branches + 10/14 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 93.05% + Lines + 67/72 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +721x +1x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +1x +1x +5x +5x +5x +5x +1x +1x +4x +4x +5x +  +  +4x +4x +4x +4x +4x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x +5x +5x +5x +5x +4x +4x +5x +5x +5x +1x +1x +4x +4x +4x +4x +  +4x +  +4x +  +4x +4x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {LSPUtils} from "./_lsp_utils";
+import {Issue} from "../issue";
+import {Severity} from "../severity";
+ 
+export class Diagnostics {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public findIssues(textDocument: LServer.TextDocumentIdentifier): readonly Issue[] {
+    this.reg.parse();
+ 
+    const file = LSPUtils.getABAPFile(this.reg, textDocument.uri); // todo, this sould also run for xml files
+    if (file === undefined) {
+      return [];
+    }
+ 
+    const obj = this.reg.findObjectForFile(file);
+    if (obj === undefined) {
+      return [];
+    }
+ 
+    let issues = this.reg.findIssuesObject(obj);
+    issues = issues.filter(i => i.getFilename() === file.getFilename());
+    return issues;
+  }
+ 
+  public static mapDiagnostic(issue: Issue): LServer.Diagnostic {
+    const diagnosic: LServer.Diagnostic = {
+      severity: this.mapSeverity(issue.getSeverity()),
+      range: {
+        start: {line: issue.getStart().getRow() - 1, character: issue.getStart().getCol() - 1},
+        end: {line: issue.getEnd().getRow() - 1, character: issue.getEnd().getCol() - 1},
+      },
+      code: issue.getKey(),
+      codeDescription: {href: "https://rules.abaplint.org/" + issue.getKey() + "/"},
+      message: issue.getMessage().toString(),
+      source: "abaplint",
+    };
+ 
+    return diagnosic;
+  }
+ 
+  public find(textDocument: LServer.TextDocumentIdentifier): LServer.Diagnostic[] {
+    const issues = this.findIssues(textDocument);
+ 
+    const diagnostics: LServer.Diagnostic[] = [];
+    for (const issue of issues) {
+      diagnostics.push(Diagnostics.mapDiagnostic(issue));
+    }
+ 
+    return diagnostics;
+  }
+ 
+  private static mapSeverity(severity: Severity): LServer.DiagnosticSeverity {
+    switch (severity) {
+      case Severity.Error:
+        return LServer.DiagnosticSeverity.Error;
+      case Severity.Warning:
+        return LServer.DiagnosticSeverity.Warning;
+      case Severity.Info:
+        return LServer.DiagnosticSeverity.Information;
+      default:
+        return LServer.DiagnosticSeverity.Error;
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/dump_scope.ts.html b/src/lsp/dump_scope.ts.html new file mode 100644 index 00000000000..c52a6d80316 --- /dev/null +++ b/src/lsp/dump_scope.ts.html @@ -0,0 +1,400 @@ + + + + + + Code coverage report for src/lsp/dump_scope.ts + + + + + + + + + +
+
+

All files / src/lsp dump_scope.ts

+
+ +
+ 89.62% + Statements + 95/106 +
+ + +
+ 81.25% + Branches + 13/16 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 89.62% + Lines + 95/106 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +1061x +1x +1x +1x +1x +1x +4x +4x +4x +4x +1x +1x +13x +13x +13x +13x +13x +13x +13x +13x +13x +13x +11x +13x +2x +2x +13x +13x +13x +13x +4x +4x +13x +9x +9x +13x +13x +13x +9x +9x +13x +13x +13x +1x +1x +9x +9x +9x +9x +9x +9x +9x +  +  +9x +9x +  +  +  +  +  +  +  +9x +9x +9x +8x +9x +1x +1x +9x +9x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +9x +9x +9x +9x +9x +9x +  +  +9x +9x +9x +1x +1x +1x +2x +2x +2x +2x +2x +2x +2x +1x +1x
import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {ISpaghettiScope, ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+ 
+export class DumpScope {
+ 
+  public static dump(spaghetti: ISpaghettiScope): string {
+    let ret = "<hr>Spaghetti Scope:<br><br>\n";
+    ret = ret + this.traverseSpaghetti(spaghetti.getTop(), 0);
+    return ret;
+  }
+ 
+  private static traverseSpaghetti(node: ISpaghettiScopeNode, indent: number): string {
+    const identifier = node.getIdentifier();
+    const coverage = node.calcCoverage();
+ 
+    const sident = "&nbsp".repeat(indent * 2);
+ 
+    let ret: string = sident + "<u>" + identifier.stype + ", <tt>" + identifier.sname + "</tt>";
+ 
+    ret += ", (" + coverage.start.getRow() + ", " + coverage.start.getCol() + ")";
+    if (coverage.end.getRow() === Number.MAX_SAFE_INTEGER
+        && coverage.end.getCol() === Number.MAX_SAFE_INTEGER) {
+      ret += ", (max, max)";
+    } else {
+      ret += ", (" + coverage.end.getRow() + ", " + coverage.end.getCol() + ")";
+    }
+ 
+    ret += "</u><br>";
+ 
+    if (node.getIdentifier().stype === ScopeType.BuiltIn) {
+      ret += sident + node.getData().types.length + " type definitions<br>";
+      ret += sident + node.getData().vars.length + " data definitions<br>";
+    } else {
+      ret = ret + this.dumpNode(node, indent);
+    }
+    ret = ret + "<br>";
+ 
+    for (const c of node.getChildren()) {
+      ret = ret + this.traverseSpaghetti(c, indent + 1);
+    }
+ 
+    return ret;
+  }
+ 
+  private static dumpNode(node: ISpaghettiScopeNode, indent: number): string {
+    let ret = "";
+    const sident = "&nbsp;".repeat(indent * 2);
+ 
+    const types = node.getData().types;
+    if (Object.keys(types).length === 0) {
+      ret = ret + sident + "0 type definitions<br>";
+    } else {
+      ret = ret + sident + "Types:<br>";
+    }
+ 
+    for (const name in types) {
+      const identifier = types[name];
+      ret = ret + sident + "<tt>" + this.escape(name) + "</tt>";
+      const pos = identifier.getStart();
+      ret = ret + "(" + pos.getRow().toString() + ", " + pos.getCol().toString() + ") ";
+      ret = ret + identifier.getType().toText(0);
+      ret = ret + "<br>";
+    }
+ 
+    const vars = node.getData().vars;
+    if (Object.keys(vars).length === 0) {
+      ret = ret + sident + "0 data definitions<br>";
+    } else {
+      ret = ret + sident + "Data:<br>";
+    }
+ 
+    for (const name in vars) {
+      const identifier = vars[name];
+      ret = ret + sident + "<tt>" + this.escape(name.toLowerCase()) + "</tt>";
+      const pos = identifier.getStart();
+      ret = ret + "(" + pos.getRow().toString() + ", " + pos.getCol().toString() + ") ";
+      ret = ret + identifier.getType().toText(0);
+      const meta = identifier.getMeta();
+      if (meta) {
+        ret = ret + ", " + meta;
+      }
+      ret = ret + "<br>";
+    }
+ 
+    ret += sident + Object.keys(node.getData().cdefs).length + " class definitions<br>";
+    ret += sident + node.getData().idefs.length + " interface definitions<br>";
+    ret += sident + node.getData().forms.length + " form definitions<br>";
+    ret += sident + node.getData().references.length + " references<br>";
+    for (const r of node.getData().references) {
+      ret += sident + "&nbsp;&nbsp;" + r.referenceType + ", line " + r.position.getStart().getRow() + " " + this.escape(r.position.getFilename()) + " " + this.escape(r.position.getName()) + "<br>";
+    }
+ 
+    return ret;
+  }
+ 
+// todo, refactor, this method exists in multiple classes
+  private static escape(str: string) {
+    str = str.replace(/&/g, "&amp;");
+    str = str.replace(/>/g, "&gt;");
+    str = str.replace(/</g, "&lt;");
+    str = str.replace(/"/g, "&quot;");
+    str = str.replace(/'/g, "&#039;");
+    return str;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/help.ts.html b/src/lsp/help.ts.html new file mode 100644 index 00000000000..491ea4ee00f --- /dev/null +++ b/src/lsp/help.ts.html @@ -0,0 +1,898 @@ + + + + + + Code coverage report for src/lsp/help.ts + + + + + + + + + +
+
+

All files / src/lsp help.ts

+
+ +
+ 83.08% + Statements + 226/272 +
+ + +
+ 85.29% + Branches + 29/34 +
+ + +
+ 93.75% + Functions + 15/16 +
+ + +
+ 83.08% + Lines + 226/272 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +2721x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +  +4x +4x +4x +4x +1x +1x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x +4x +4x +4x +4x +4x +4x +4x +3x +3x +3x +4x +1x +1x +4x +4x +4x +4x +4x +4x +4x +3x +3x +3x +3x +3x +3x +3x +  +  +3x +4x +4x +4x +4x +1x +1x +3x +3x +3x +3x +3x +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +1x +4x +3x +3x +4x +4x +1x +1x +18x +18x +18x +18x +18x +18x +18x +1x +1x +14x +14x +14x +1x +1x +3x +3x +3x +1x +1x +2x +2x +2x +1x +1x +9x +9x +20x +20x +20x +20x +18x +18x +18x +20x +2x +2x +20x +  +20x +20x +20x +20x +9x +9x +1x +1x +4x +4x +18x +18x +18x +18x +18x +18x +4x +4x +4x +1x +1x +4x +4x +4x +7x +7x +7x +7x +7x +7x +7x +4x +4x +4x +1x +1x +4x +4x +7x +3x +7x +4x +4x +7x +4x +4x +1x +1x +4x +4x +4x +  +  +4x +4x +4x +4x +4x +4x +4x +4x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {INode} from "../abap/nodes/_inode";
+import {StructureNode, StatementNode, TokenNodeRegex, ExpressionNode, TokenNode} from "../abap/nodes";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {LSPUtils} from "./_lsp_utils";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+import {DumpScope} from "./dump_scope";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class Help {
+  public static find(reg: IRegistry, textDocument: LServer.TextDocumentIdentifier, position: LServer.Position): string {
+ 
+    const file = LSPUtils.getABAPFile(reg, textDocument.uri);
+    if (file === undefined) {
+      return "file not found";
+    } else {
+      return this.dumpABAP(file, reg, textDocument, position);
+    }
+  }
+ 
+/////////////////////////////////////////////////
+ 
+  private static dumpABAP(file: ABAPFile, reg: IRegistry, textDocument: LServer.TextDocumentIdentifier,
+                          position: LServer.Position): string {
+ 
+    let content = "";
+ 
+    content = `
+    <a href="#_tokens" rel="no-refresh">Tokens</a> |
+    <a href="#_statements" rel="no-refresh">Statements</a> |
+    <a href="#_structure" rel="no-refresh">Structure</a> |
+    <a href="#_files" rel="no-refresh">Files</a> |
+    <a href="#_info" rel="no-refresh">Info Dump</a>
+    <hr>
+    ` +
+      "<tt>" + textDocument.uri + " (" +
+      (position.line + 1) + ", " +
+      (position.character + 1) + ")</tt>";
+ 
+    content = content + "<hr>";
+    content = content + this.cursorInformation(reg, textDocument, position, file);
+    content = content + this.fileInformation(file);
+    content = content + "<hr>";
+    content = content + this.dumpFiles(reg);
+    content = content + "<hr>";
+    content = content + this.dumpInfo(file);
+ 
+    return content;
+  }
+ 
+  private static dumpInfo(file: ABAPFile): string {
+    const info = file.getInfo();
+ 
+    const dump = {
+      classDefinitions: info.listClassDefinitions(),
+      classImplementations: info.listClassImplementations(),
+      interfaceDefinitions: info.listInterfaceDefinitions(),
+      forms: info.listFormDefinitions(),
+    };
+ 
+    const text = JSON.stringify(dump, null, 2);
+ 
+    return `<h3 id="_info">Info Dump</h3><pre>` + text + "</pre>";
+  }
+ 
+  private static cursorInformation(reg: IRegistry,
+                                   textDocument: LServer.TextDocumentIdentifier,
+                                   position: LServer.Position,
+                                   file: ABAPFile): string {
+    let ret = "";
+    const found = LSPUtils.findCursor(reg, {textDocument, position});
+ 
+    if (found !== undefined) {
+      ret = "Statement: " + this.linkToStatement(found.snode.get()) + "<br>\n" +
+        "Token: " + found.token.constructor.name + "<br>\n" +
+        this.fullPath(file, found.token).value;
+    } else {
+      ret = "No token found at cursor position";
+    }
+ 
+    const obj = reg.getObject(file.getObjectType(), file.getObjectName());
+    if (obj instanceof ABAPObject) {
+      const spaghetti = new SyntaxLogic(reg, obj).run().spaghetti;
+      ret = ret + DumpScope.dump(spaghetti);
+ 
+      if (found !== undefined) {
+        ret = ret + "<hr>Spaghetti Scope by Cursor Position:<br><br>\n";
+        const lookup = spaghetti.lookupPosition(found.token.getStart(), textDocument.uri);
+        if (lookup) {
+          const identifier = lookup.getIdentifier();
+          ret = ret + "<u>" + identifier.stype + ", <tt>" + identifier.sname + "</tt>, " + identifier.filename;
+          ret = ret + ", (" + identifier.start.getRow() + ", " + identifier.start.getCol() + ")</u><br>";
+        } else {
+          ret = ret + "Not found";
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private static fullPath(file: ABAPFile, token: AbstractToken): {value: string, keyword: boolean} {
+    const structure = file.getStructure();
+ 
+    if (structure === undefined) {
+      return {value: "", keyword: false};
+    }
+
+    const found = this.traverse(structure, "", token);
+    if (found === undefined) {
+      return {value: "", keyword: false};
+    }
+
+    return {value: "\n\n" + found.value, keyword: found.keyword};
+  }
+ 
+  private static traverse(node: INode, parents: string, search: AbstractToken): {value: string, keyword: boolean} | undefined {
+    let local = parents;
+    if (local !== "") {
+      local = local + " -> ";
+    }
+    if (node instanceof StructureNode) {
+      local = local + "Structure: " + this.linkToStructure(node.get());
+    } else if (node instanceof StatementNode) {
+      local = local + "Statement: " + this.linkToStatement(node.get());
+    } else if (node instanceof ExpressionNode) {
+      local = local + "Expression: " + this.linkToExpression(node.get());
+    } else if (node instanceof TokenNode) {
+      local = local + "Token: " + node.get().constructor.name;
+      const token = node.get();
+      if (token.getStr() === search.getStr()
+          && token.getCol() === search.getCol()
+          && token.getRow() === search.getRow()) {
+        const keyword = !(node instanceof TokenNodeRegex);
+        return {value: local, keyword};
+      }
+    } else {
+      throw new Error("hover, traverse, unexpected node type");
+    }
+
+    for (const child of node.getChildren()) {
+      const ret = this.traverse(child, local, search);
+      if (ret) {
+        return ret;
+      }
+    }
+
+    return undefined;
+  }
+ 
+  private static fileInformation(file: ABAPFile): string {
+    let content = "";
+ 
+    content = content + `<hr><h3 id="_tokens">Tokens</h3>\n`;
+    content = content + this.tokens(file);
+    content = content + `<hr><h3 id="_statements">Statements</h3>\n`;
+    content = content + this.buildStatements(file);
+    content = content + `<hr><h3 id="_structure">Structure</h3>\n`;
+ 
+    const structure = file.getStructure();
+    if (structure !== undefined) {
+      content = content + this.buildStructure([structure]);
+    } else {
+      content = content + "structure undefined";
+    }
+    return content;
+  }
+ 
+  private static escape(str: string) {
+    str = str.replace(/&/g, "&amp;");
+    str = str.replace(/>/g, "&gt;");
+    str = str.replace(/</g, "&lt;");
+    str = str.replace(/"/g, "&quot;");
+    str = str.replace(/'/g, "&#039;");
+    return str;
+  }
+ 
+  private static linkToStatement(statement: any) {
+    return `<a href="https://syntax.abaplint.org/#/statement/${
+      statement.constructor.name}" target="_blank">${statement.constructor.name}</a>\n`;
+  }
+ 
+  private static linkToStructure(structure: any) {
+    return `<a href="https://syntax.abaplint.org/#/structure/${
+      structure.constructor.name}" target="_blank">${structure.constructor.name}</a>\n`;
+  }
+ 
+  private static linkToExpression(expression: any) {
+    return `<a href="https://syntax.abaplint.org/#/expression/${
+      expression.constructor.name}" target="_blank">${expression.constructor.name}</a>\n`;
+  }
+ 
+  private static outputNodes(nodes: readonly INode[]) {
+    let ret = "<ul>";
+    for (const node of nodes) {
+      let extra = "";
+      switch (node.constructor.name) {
+        case "TokenNode":
+        case "TokenNodeRegex":
+          // @ts-ignore
+          extra = node.get().constructor.name + ", \"" + node.get().getStr() + "\"";
+          break;
+        case "ExpressionNode":
+          extra = this.linkToExpression(node.get()) + this.outputNodes(node.getChildren());
+          break;
+        default:
+          break;
+      }
+ 
+      ret = ret + "<li>" + node.constructor.name + ", " + extra + "</li>";
+    }
+    return ret + "</ul>";
+  }
+ 
+  private static tokens(file: ABAPFile) {
+    let inner = "<table><tr><td><b>String</b></td><td><b>Type</b></td><td><b>Row</b></td><td><b>Column</b></td></tr>";
+    for (const token of file.getTokens()) {
+      inner = inner + "<tr><td><tt>" +
+        this.escape(token.getStr()) + "</tt></td><td>" +
+        token.constructor.name + "</td><td align=\"right\">" +
+        token.getRow() + "</td><td align=\"right\">" +
+        token.getCol() + "</td></tr>";
+    }
+    inner = inner + "</table>";
+    return inner;
+  }
+ 
+  private static buildStatements(file: ABAPFile) {
+    let output = "";
+ 
+    for (const statement of file.getStatements()) {
+      const row = statement.getStart().getRow();
+  // getting the class name only works if uglify does not mangle names
+      output = output +
+        row + ": " +
+        this.linkToStatement(statement.get()) +
+        "</div></b>\n" + this.outputNodes(statement.getChildren());
+    }
+ 
+    return output;
+  }
+ 
+  private static buildStructure(nodes: readonly INode[]) {
+    let output = "<ul>";
+    for (const node of nodes) {
+      if (node instanceof StructureNode) {
+        output = output + "<li>" + this.linkToStructure(node.get()) + ", Structure " + this.buildStructure(node.getChildren()) + "</li>";
+      } else if (node instanceof StatementNode) {
+        output = output + "<li>" + this.linkToStatement(node.get()) + ", Statement</li>";
+      }
+    }
+    return output + "</ul>";
+  }
+ 
+  private static dumpFiles(reg: IRegistry) {
+    let output = `<h3 id="_files">Files</h3><table>\n`;
+    for (const o of reg.getObjects()) {
+      if (reg.isDependency(o) === true) {
+        continue;
+      }
+      output = output + "<tr><td valign=\"top\">" + o.getType() + " " + o.getName() + "</td><td>";
+      for (const f of o.getFiles()) {
+        output = output + f.getFilename() + "<br>";
+      }
+      output = output + "</td></tr>\n";
+    }
+    return output + "</table>\n";
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/highlight.ts.html b/src/lsp/highlight.ts.html new file mode 100644 index 00000000000..1ce468c5a55 --- /dev/null +++ b/src/lsp/highlight.ts.html @@ -0,0 +1,322 @@ + + + + + + Code coverage report for src/lsp/highlight.ts + + + + + + + + + +
+
+

All files / src/lsp highlight.ts

+
+ +
+ 85% + Statements + 68/80 +
+ + +
+ 53.84% + Branches + 7/13 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 85% + Lines + 68/80 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +801x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x +2x +2x +  +  +2x +2x +2x +2x +1x +1x +2x +2x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +  +  +4x +4x +1x +1x +4x +4x +  +  +4x +4x +4x +4x +4x +  +  +4x +1x
import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {LSPUtils} from "./_lsp_utils";
+import {ISpaghettiScope} from "../abap/5_syntax/_spaghetti_scope";
+ 
+export class Highlight {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public listDefinitionPositions(textDocument: LServer.TextDocumentIdentifier): LServer.Range[] {
+    const spaghetti = this.runSyntax(textDocument);
+    if (spaghetti === undefined) {
+      return [];
+    }
+ 
+    const defs = spaghetti.listDefinitions(textDocument.uri);
+    const ret: LServer.Range[] = [];
+    for (const d of defs) {
+      ret.push(LSPUtils.tokenToRange(d.identifier.getToken()));
+    }
+    return ret;
+  }
+ 
+  public listReadPositions(textDocument: LServer.TextDocumentIdentifier): LServer.Range[] {
+    const spaghetti = this.runSyntax(textDocument);
+    if (spaghetti === undefined) {
+      return [];
+    }
+ 
+    const reads = spaghetti.listReadPositions(textDocument.uri);
+    const ret: LServer.Range[] = [];
+    for (const d of reads) {
+      ret.push(LSPUtils.tokenToRange(d.getToken()));
+    }
+    return ret;
+  }
+ 
+  public listWritePositions(textDocument: LServer.TextDocumentIdentifier): LServer.Range[] {
+    const spaghetti = this.runSyntax(textDocument);
+    if (spaghetti === undefined) {
+      return [];
+    }
+ 
+    const writes = spaghetti.listWritePositions(textDocument.uri);
+    const ret: LServer.Range[] = [];
+    for (const d of writes) {
+      ret.push(LSPUtils.tokenToRange(d.getToken()));
+    }
+    return ret;
+  }
+ 
+////////////////////////
+ 
+  private runSyntax(textDocument: LServer.TextDocumentIdentifier): ISpaghettiScope | undefined {
+    const obj = this.findObject(textDocument);
+    if (obj === undefined) {
+      return undefined;
+    }
+    return new SyntaxLogic(this.reg, obj).run().spaghetti;
+  }
+ 
+  private findObject(textDocument: LServer.TextDocumentIdentifier): ABAPObject | undefined {
+    const file = LSPUtils.getABAPFile(this.reg, textDocument.uri);
+    if (file === undefined) {
+      return undefined;
+    }
+ 
+    const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());
+    if (obj instanceof ABAPObject) {
+      return obj;
+    } else {
+      return undefined;
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/hover.ts.html b/src/lsp/hover.ts.html new file mode 100644 index 00000000000..65851942966 --- /dev/null +++ b/src/lsp/hover.ts.html @@ -0,0 +1,262 @@ + + + + + + Code coverage report for src/lsp/hover.ts + + + + + + + + + +
+
+

All files / src/lsp hover.ts

+
+ +
+ 91.66% + Statements + 55/60 +
+ + +
+ 86.95% + Branches + 20/23 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 91.66% + Lines + 55/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +601x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +96x +96x +1x +1x +96x +96x +  +  +96x +96x +  +  +96x +96x +96x +  +96x +96x +96x +96x +1x +96x +1x +95x +1x +94x +2x +2x +1x +1x +2x +2x +91x +91x +96x +87x +87x +4x +96x +2x +2x +2x +2x +2x +1x +1x
import * as Tokens from "../abap/1_lexer/tokens";
+import * as Statements from "../abap/2_statements/statements";
+import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {LSPUtils} from "./_lsp_utils";
+import {ITextDocumentPositionParams} from "./_interfaces";
+import {LSPLookup} from "./_lookup";
+import {MacroCall} from "../abap/2_statements/statements/_statement";
+ 
+export class Hover {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public find(pos: ITextDocumentPositionParams): LServer.MarkupContent | undefined {
+    const file = LSPUtils.getABAPFile(this.reg, pos.textDocument.uri);
+    if (file === undefined) {
+      return undefined;
+    }
+    const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());
+    if (!(obj instanceof ABAPObject)) {
+      return undefined;
+    }
+ 
+    const found = LSPUtils.findCursor(this.reg, pos);
+    if (found === undefined) {
+      return undefined;
+    } else if (found.token instanceof Tokens.StringTemplate
+      || found.token instanceof Tokens.StringTemplateBegin
+      || found.token instanceof Tokens.StringTemplateEnd
+      || found.token instanceof Tokens.StringTemplateMiddle) {
+      return {kind: LServer.MarkupKind.Markdown, value: "String Template"};
+    } else if (found.snode.get() instanceof MacroCall) {
+      return {kind: LServer.MarkupKind.Markdown, value: "Macro Call"};
+    } else if (found.snode.get() instanceof Statements.Define && found.stack.length === 2) {
+      return {kind: LServer.MarkupKind.Markdown, value: "Macro Name"};
+    } else if (found.token instanceof Tokens.Comment) {
+      let type = "Comment";
+      if (found.token.getStr().startsWith(`"!`)) {
+        type = "ABAP Doc Comment";
+      }
+      return {kind: LServer.MarkupKind.Markdown, value: type};
+    }
+ 
+    const lookup = LSPLookup.lookup(found, this.reg, obj);
+    if (lookup?.hover) {
+      return {kind: LServer.MarkupKind.Markdown, value: lookup.hover};
+    }
+ 
+    if (found.token instanceof Tokens.StringToken) {
+      return {kind: LServer.MarkupKind.Markdown, value: "String"};
+    }
+ 
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/implementation.ts.html b/src/lsp/implementation.ts.html new file mode 100644 index 00000000000..e697b525732 --- /dev/null +++ b/src/lsp/implementation.ts.html @@ -0,0 +1,337 @@ + + + + + + Code coverage report for src/lsp/implementation.ts + + + + + + + + + +
+
+

All files / src/lsp implementation.ts

+
+ +
+ 90.58% + Statements + 77/85 +
+ + +
+ 70.58% + Branches + 12/17 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 90.58% + Lines + 77/85 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +851x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x +4x +4x +4x +4x +  +  +4x +4x +  +  +4x +4x +4x +  +  +4x +4x +4x +2x +2x +2x +4x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +8x +1x +1x +1x +1x +1x +1x +1x +8x +8x +7x +7x +8x +8x +8x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {LSPUtils} from "./_lsp_utils";
+import {LSPLookup} from "./_lookup";
+import {MethodDefinition} from "../abap/types";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {Identifier} from "../abap/4_file_information/_identifier";
+ 
+// note: finding implementations might be slow, ie finding method implementations currently searches the full registry
+ 
+// go to implementation
+export class Implementation {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public find(textDocument: LServer.TextDocumentIdentifier,
+              position: LServer.Position): LServer.Location[] {
+ 
+    const file = LSPUtils.getABAPFile(this.reg, textDocument.uri);
+    if (file === undefined) {
+      return [];
+    }
+    const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const found = LSPUtils.findCursor(this.reg, {textDocument, position});
+    if (found === undefined) {
+      return [];
+    }
+ 
+    const lookup = LSPLookup.lookup(found, this.reg, obj);
+    if (lookup?.implementation) {
+      return [lookup?.implementation];
+    }
+ 
+    if (lookup?.definitionId instanceof MethodDefinition) {
+      return this.findMethodImplementations(lookup.definitionId);
+    }
+ 
+    return [];
+  }
+ 
+  private findMethodImplementations(def: MethodDefinition): LServer.Location[] {
+    const ret: LServer.Location[] = [];
+ 
+    // note that this searches _everything_
+    for (const obj of this.reg.getObjects()) {
+      if (this.reg.isDependency(obj) || !(obj instanceof ABAPObject)) {
+        continue;
+      }
+      const found = this.searchReferences(new SyntaxLogic(this.reg, obj).run().spaghetti.getTop(), def);
+      ret.push(...found);
+    }
+ 
+    return ret;
+  }
+ 
+  private searchReferences(scope: ISpaghettiScopeNode, id: Identifier): LServer.Location[] {
+    const ret: LServer.Location[] = [];
+ 
+    for (const r of scope.getData().references) {
+      if (r.referenceType === ReferenceType.MethodImplementationReference
+          && r.resolved
+          && r.resolved.getFilename() === id.getFilename()
+          && r.resolved.getStart().equals(id.getStart())) {
+        ret.push(LSPUtils.identiferToLocation(r.position));
+      }
+    }
+ 
+    for (const c of scope.getChildren()) {
+      ret.push(...this.searchReferences(c, id));
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/index.html b/src/lsp/index.html new file mode 100644 index 00000000000..14a7c190319 --- /dev/null +++ b/src/lsp/index.html @@ -0,0 +1,386 @@ + + + + + + Code coverage report for src/lsp + + + + + + + + + +
+
+

All files src/lsp

+
+ +
+ 83.8% + Statements + 1936/2310 +
+ + +
+ 74.66% + Branches + 330/442 +
+ + +
+ 76.72% + Functions + 89/116 +
+ + +
+ 83.8% + Lines + 1936/2310 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_edit.ts +
+
24.39%10/41100%0/00%0/324.39%10/41
_interfaces.ts +
+
100%28/28100%0/0100%0/0100%28/28
_lookup.ts +
+
90.16%385/42778.51%106/135100%11/1190.16%385/427
_lsp_utils.ts +
+
94.23%98/10485.18%23/27100%6/694.23%98/104
code_actions.ts +
+
21.1%23/109100%0/00%0/421.1%23/109
code_lens.ts +
+
87.5%98/11247.61%10/21100%4/487.5%98/112
definition.ts +
+
82.85%29/3557.14%4/7100%2/282.85%29/35
diagnostics.ts +
+
93.05%67/7271.42%10/14100%5/593.05%67/72
dump_scope.ts +
+
89.62%95/10681.25%13/16100%4/489.62%95/106
help.ts +
+
83.08%226/27285.29%29/3493.75%15/1683.08%226/272
highlight.ts +
+
85%68/8053.84%7/13100%6/685%68/80
hover.ts +
+
91.66%55/6086.95%20/23100%2/291.66%55/60
implementation.ts +
+
90.58%77/8570.58%12/17100%4/490.58%77/85
inlay_hints.ts +
+
92.59%75/8172.72%8/11100%3/392.59%75/81
language_server.ts +
+
72.98%127/17462.5%5/814.28%3/2172.98%127/174
references.ts +
+
86.55%103/11955.17%16/29100%5/586.55%103/119
rename.ts +
+
94.3%116/12376.92%30/39100%5/594.3%116/123
semantic.ts +
+
87.5%126/14473.07%19/2680%4/587.5%126/144
symbols.ts +
+
94.2%130/13881.81%18/22100%10/1094.2%130/138
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/inlay_hints.ts.html b/src/lsp/inlay_hints.ts.html new file mode 100644 index 00000000000..913095a7536 --- /dev/null +++ b/src/lsp/inlay_hints.ts.html @@ -0,0 +1,325 @@ + + + + + + Code coverage report for src/lsp/inlay_hints.ts + + + + + + + + + +
+
+

All files / src/lsp inlay_hints.ts

+
+ +
+ 92.59% + Statements + 75/81 +
+ + +
+ 72.72% + Branches + 8/11 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 92.59% + Lines + 75/81 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +811x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +1x +1x +8x +8x +  +  +8x +8x +8x +  +  +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +7x +8x +1x +1x +8x +8x +  +  +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +1x +1x +29x +29x +29x +30x +8x +8x +30x +29x +29x +21x +21x +29x +29x +29x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {LSPUtils} from "./_lsp_utils";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {ReferenceType, IReference} from "../abap/5_syntax/_reference";
+import {TypedIdentifier} from "../abap/types/_typed_identifier";
+import {ClassDefinition} from "../abap/types";
+ 
+export type InlayHintsSettings = {
+  inferredTypes: boolean,
+};
+ 
+export class InlayHints {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public list(textDocument: LServer.TextDocumentIdentifier, settings: InlayHintsSettings = {inferredTypes: true}): LServer.InlayHint[] {
+    const file = LSPUtils.getABAPFile(this.reg, textDocument.uri);
+    if (file === undefined) {
+      return [];
+    }
+ 
+    const obj = this.reg.findObjectForFile(file);
+    if (obj === undefined || !(obj instanceof ABAPObject)) {
+      return [];
+    }
+    const top = new SyntaxLogic(this.reg, obj).run().spaghetti.getTop();
+ 
+    const ret: LServer.InlayHint[] = [];
+ 
+    if (settings.inferredTypes === true) {
+      const implicit = this.findImplicitReferences(top);
+      for (const i of implicit) {
+ 
+        let label: string | undefined = undefined;
+        if (i.resolved instanceof TypedIdentifier) {
+          label = "TYPE " + i.resolved.getType().toABAP();
+        } else if (i.resolved instanceof ClassDefinition) {
+          label = "TYPE REF TO " + i.resolved.getName();
+        }
+ 
+        if (label === undefined) {
+          continue;
+        }
+ 
+        ret.push({
+          label: label,
+          tooltip: "Inferred type",
+          kind: LServer.InlayHintKind.Type,
+          paddingLeft: true,
+          paddingRight: true,
+          position: LSPUtils.positionToLS(i.position.getEnd()),
+        });
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private findImplicitReferences(node: ISpaghettiScopeNode): IReference[] {
+    const ret: IReference[] = [];
+ 
+    for (const r of node.getData().references) {
+      if (r.referenceType === ReferenceType.InferredType) {
+        ret.push(r);
+      }
+    }
+ 
+    for (const c of node.getChildren()) {
+      ret.push(...this.findImplicitReferences(c));
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/language_server.ts.html b/src/lsp/language_server.ts.html new file mode 100644 index 00000000000..f169ca3a10d --- /dev/null +++ b/src/lsp/language_server.ts.html @@ -0,0 +1,604 @@ + + + + + + Code coverage report for src/lsp/language_server.ts + + + + + + + + + +
+
+

All files / src/lsp language_server.ts

+
+ +
+ 72.98% + Statements + 127/174 +
+ + +
+ 62.5% + Branches + 5/8 +
+ + +
+ 14.28% + Functions + 3/21 +
+ + +
+ 72.98% + Lines + 127/174 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +1741x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +1x +1x +1x +  +  +1x +1x +1x +  +  +  +  +  +  +1x +1x +1x +  +  +1x +1x +1x +4x +4x +4x +4x +4x +4x +  +  +4x +4x +4x +4x +4x +2x +2x +2x +2x +2x +2x +2x +4x +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +  +  +  +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {Symbols} from "./symbols";
+import {Hover} from "./hover";
+import {Diagnostics} from "./diagnostics";
+import {Help} from "./help";
+import {PrettyPrinter} from "../pretty_printer/pretty_printer";
+import {Definition} from "./definition";
+import {Rename} from "./rename";
+import {Highlight} from "./highlight";
+import {ITextDocumentPositionParams, IDocumentSymbolParams, IRenameParams, ICodeActionParams, ITextDocumentRange} from "./_interfaces";
+import {LSPUtils} from "./_lsp_utils";
+import {CodeActions} from "./code_actions";
+import {IRegistry} from "../_iregistry";
+import {References} from "./references";
+import {Implementation} from "./implementation";
+import {SemanticHighlighting} from "./semantic";
+import {StatementFlow} from "../abap/flow/statement_flow";
+import {CodeLens, CodeLensSettings} from "./code_lens";
+import {InlayHints, InlayHintsSettings} from "./inlay_hints";
+ 
+// note Ranges are zero based in LSP,
+// https://github.com/microsoft/language-server-protocol/blob/main/versions/protocol-2-x.md#range
+// but 1 based in abaplint
+ 
+// the types in this file are not completely correct
+// see https://github.com/microsoft/vscode-languageserver-node/issues/354
+ 
+export class LanguageServer {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_documentSymbol
+  public documentSymbol(params: IDocumentSymbolParams): LServer.DocumentSymbol[] {
+    return new Symbols(this.reg).find(params.textDocument.uri);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_hover
+  public hover(params: ITextDocumentPositionParams): LServer.Hover | undefined {
+    const hover = new Hover(this.reg).find(params);
+    if (hover) {
+      return {contents: hover};
+    }
+    return undefined;
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_definition
+  public gotoDefinition(params: ITextDocumentPositionParams): LServer.Location | undefined {
+    return new Definition(this.reg).find(params.textDocument, params.position);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_formatting
+  public documentFormatting(params: {
+    textDocument: LServer.TextDocumentIdentifier,
+    options?: LServer.FormattingOptions,
+  }): LServer.TextEdit[] {
+ 
+    const file = LSPUtils.getABAPFile(this.reg, params.textDocument.uri);
+    if (file === undefined) {
+      return [];
+    }
+ 
+    const text = new PrettyPrinter(file, this.reg.getConfig()).run();
+    const rows = file.getRawRows();
+ 
+    if (text === file.getRaw()) {
+      return [];
+    } else {
+      return [{
+        range: LServer.Range.create(0, 0, rows.length, rows[rows.length - 1].length + 1),
+        newText: text,
+      }];
+    }
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_publishDiagnostics
+  public diagnostics(textDocument: LServer.TextDocumentIdentifier): LServer.Diagnostic[] {
+    return new Diagnostics(this.reg).find(textDocument);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_prepareRename
+  public prepareRename(params: ITextDocumentPositionParams): {range: LServer.Range, placeholder: string} | undefined {
+    return new Rename(this.reg).prepareRename(params);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_rename
+  public rename(params: IRenameParams): LServer.WorkspaceEdit | undefined {
+    return new Rename(this.reg).rename(params);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_codeAction
+  public codeActions(params: ICodeActionParams): LServer.CodeAction[] {
+    return new CodeActions(this.reg).find(params);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_documentHighlight
+  public documentHighlight(_params: ITextDocumentPositionParams): LServer.DocumentHighlight[] {
+    // todo, implement
+    return [];
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_implementation
+  public implementation(params: ITextDocumentPositionParams): LServer.Location[] {
+    return new Implementation(this.reg).find(params.textDocument, params.position);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_references
+  public references(params: ITextDocumentPositionParams): LServer.Location[] {
+    return new References(this.reg).references(params);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#semanticTokensLegend
+  public static semanticTokensLegend(): LServer.SemanticTokensLegend {
+    return SemanticHighlighting.semanticTokensLegend();
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#semanticTokensRangeParams
+  public semanticTokensRange(range: ITextDocumentRange): LServer.SemanticTokens {
+    return new SemanticHighlighting(this.reg).semanticTokensRange(range);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeLens
+  public codeLens(textDocument: LServer.TextDocumentIdentifier, settings?: CodeLensSettings) {
+    return new CodeLens(this.reg).list(textDocument, settings);
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_inlayHint
+  public inlayHints(textDocument: LServer.TextDocumentIdentifier, settings?: InlayHintsSettings) {
+    return new InlayHints(this.reg).list(textDocument, settings);
+  }
+ 
+////////////////////////////////////////
+//  ______      _
+// |  ____|    | |
+// | |__  __  _| |_ _ __ __   ___
+// |  __| \ \/ / __| '__/ _` / __|
+// | |____ >  <| |_| | | (_| \__ \
+// |______/_/\_\\__|_|  \__,_|___/
+// extras, abaplint specific
+////////////////////////////////////////
+ 
+  public help(textDocument: LServer.TextDocumentIdentifier, position: LServer.Position): string {
+    return Help.find(this.reg, textDocument, position);
+  }
+ 
+  public listDefinitionPositions(textDocument: LServer.TextDocumentIdentifier): LServer.Range[] {
+    return new Highlight(this.reg).listDefinitionPositions(textDocument);
+  }
+ 
+  public listReadPositions(textDocument: LServer.TextDocumentIdentifier): LServer.Range[] {
+    return new Highlight(this.reg).listReadPositions(textDocument);
+  }
+ 
+  public listWritePositions(textDocument: LServer.TextDocumentIdentifier): LServer.Range[] {
+    return new Highlight(this.reg).listWritePositions(textDocument);
+  }
+ 
+  public dumpStatementFlows(textDocument: LServer.TextDocumentIdentifier): string {
+    const file = LSPUtils.getABAPFile(this.reg, textDocument.uri);
+    if (file === undefined) {
+      return "file not found";
+    }
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return "empty structure";
+    }
+    const graphs = new StatementFlow().build(stru);
+    const wiz = graphs.map(g => g.toDigraph());
+    return JSON.stringify(wiz);
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/references.ts.html b/src/lsp/references.ts.html new file mode 100644 index 00000000000..a93ce802cb1 --- /dev/null +++ b/src/lsp/references.ts.html @@ -0,0 +1,439 @@ + + + + + + Code coverage report for src/lsp/references.ts + + + + + + + + + +
+
+

All files / src/lsp references.ts

+
+ +
+ 86.55% + Statements + 103/119 +
+ + +
+ 55.17% + Branches + 16/29 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 86.55% + Lines + 103/119 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +1191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +11x +11x +1x +1x +11x +11x +  +  +11x +11x +  +  +11x +11x +11x +  +  +11x +11x +11x +  +  +11x +11x +11x +11x +1x +1x +1x +1x +1x +11x +11x +11x +11x +11x +  +  +11x +  +  +11x +11x +11x +11x +  +  +11x +11x +11x +11x +11x +11x +11x +11x +  +  +11x +1x +1x +11x +11x +20x +20x +20x +20x +11x +11x +1x +1x +45x +45x +45x +34x +34x +34x +34x +34x +34x +7x +7x +34x +34x +34x +34x +34x +1x +1x +34x +34x +18x +12x +12x +18x +34x +45x +45x +34x +34x +45x +45x +45x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {ITextDocumentPositionParams} from "./_interfaces";
+import {LSPUtils} from "./_lsp_utils";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {LSPLookup} from "./_lookup";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+ 
+export class References {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public references(pos: ITextDocumentPositionParams): LServer.Location[] {
+    const file = LSPUtils.getABAPFile(this.reg, pos.textDocument.uri);
+    if (file === undefined) {
+      return [];
+    }
+    const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const found = LSPUtils.findCursor(this.reg, pos);
+    if (found?.identifier === undefined) {
+      return [];
+    }
+ 
+    const lookup = LSPLookup.lookup(found, this.reg, obj);
+    if (lookup?.definitionId === undefined || lookup?.scope === undefined) {
+      return [];
+    }
+ 
+    const locs = this.search(lookup.definitionId, lookup.scope);
+    return locs.map(LSPUtils.identiferToLocation);
+  }
+ 
+////////////////////////////////////////////
+ 
+// todo, cleanup this mehtod, some of the method parameters are not used anymore?
+  private search(identifier: Identifier, node: ISpaghettiScopeNode, exitAfterFound = false, removeDuplicates = true): Identifier[] {
+    let ret: Identifier[] = [];
+ 
+    // todo, this first assumes that the identifier is a variable?
+    const stype = node.getIdentifier().stype;
+    if (stype === ScopeType.Method || stype === ScopeType.FunctionModule || stype === ScopeType.Form) {
+      ret = this.findReferences(node, identifier);
+    }
+    if (ret.length > 1 && exitAfterFound === true) {
+      return ret;
+    }
+ 
+    for (const o of this.reg.getObjects()) {
+      if (o instanceof ABAPObject) {
+        if (this.reg.isDependency(o)) {
+          continue; // do not search in dependencies
+        }
+        ret.push(...this.findReferences(new SyntaxLogic(this.reg, o).run().spaghetti.getTop(), identifier));
+      }
+    }
+ 
+    // remove duplicates, might be a changing(read and write) position
+    if (removeDuplicates === true) {
+      return this.removeDuplicates(ret);
+    } else {
+      return ret;
+    }
+  }
+ 
+  private removeDuplicates(arr: Identifier[]): Identifier[] {
+    const values: any = {};
+    return arr.filter(item => {
+      const val = item.getStart().getCol() + "_" + item.getStart().getRow() + "_" + item.getFilename();
+      const exists = values[val];
+      values[val] = true;
+      return !exists;
+    });
+  }
+ 
+  private findReferences(node: ISpaghettiScopeNode, identifier: Identifier): Identifier[] {
+    const ret: Identifier[] = [];
+ 
+    if (node.getIdentifier().stype !== ScopeType.BuiltIn) {
+      const upper = identifier.getName().toUpperCase();
+ 
+      // this is for finding the definitions
+      const vars = node.getData().vars;
+      const vid = vars[upper];
+      if (vid?.equals(identifier)) {
+        ret.push(vid);
+      }
+ 
+      // this is for finding the definitions
+      const types = node.getData().types;
+      const tid = types[upper];
+      if (tid?.equals(identifier)) {
+        ret.push(tid);
+      }
+ 
+      for (const r of node.getData().references) {
+        if (r.resolved?.equals(identifier)) {
+          ret.push(r.position);
+        }
+      }
+    }
+ 
+    for (const c of node.getChildren()) {
+      ret.push(...this.findReferences(c, identifier));
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/rename.ts.html b/src/lsp/rename.ts.html new file mode 100644 index 00000000000..aae28724410 --- /dev/null +++ b/src/lsp/rename.ts.html @@ -0,0 +1,451 @@ + + + + + + Code coverage report for src/lsp/rename.ts + + + + + + + + + +
+
+

All files / src/lsp rename.ts

+
+ +
+ 94.3% + Statements + 116/123 +
+ + +
+ 76.92% + Branches + 30/39 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 94.3% + Lines + 116/123 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +1231x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +12x +12x +1x +1x +13x +13x +  +  +13x +13x +  +  +13x +13x +13x +2x +2x +11x +11x +11x +13x +1x +1x +1x +11x +13x +4x +13x +4x +7x +  +3x +1x +1x +2x +2x +2x +1x +1x +7x +7x +1x +1x +6x +6x +7x +3x +7x +  +7x +2x +7x +1x +7x +  +7x +7x +1x +1x +1x +1x +2x +2x +2x +4x +4x +4x +4x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {ITextDocumentPositionParams, IRenameParams} from "./_interfaces";
+import {LSPUtils} from "./_lsp_utils";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {LSPLookup} from "./_lookup";
+import {TypedIdentifier} from "../abap/types/_typed_identifier";
+import {ClassDefinition, InterfaceDefinition, MethodDefinition} from "../abap/types";
+import {References} from "./references";
+import {IFile} from "../files/_ifile";
+import {Renamer} from "../objects/rename/renamer";
+import {Definition} from "./definition";
+ 
+ 
+export enum RenameType {
+  GlobalClass = 1,
+  Variable = 2,
+  GlobalInterface = 3,
+  Method = 4,
+}
+ 
+export interface IPrepareResult {
+  range: LServer.Range,
+  placeholder: string,
+  type: RenameType,
+  file: IFile,
+}
+ 
+export class Rename {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public prepareRename(params: ITextDocumentPositionParams): IPrepareResult | undefined {
+    const file = LSPUtils.getABAPFile(this.reg, params.textDocument.uri);
+    if (file === undefined) {
+      return undefined;
+    }
+    const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());
+    if (!(obj instanceof ABAPObject)) {
+      return undefined;
+    }
+ 
+    const cursor = LSPUtils.findCursor(this.reg, params);
+    if (cursor === undefined) {
+      return undefined;
+    }
+ 
+    const range = LSPUtils.tokenToRange(cursor.token);
+    let placeholder = cursor.token.getStr();
+    if (placeholder.startsWith("!")) {
+      placeholder = placeholder.substring(1);
+      range.start.character += 1;
+    }
+    const lookup = LSPLookup.lookup(cursor, this.reg, obj);
+    if (lookup?.definitionId instanceof TypedIdentifier) {
+      return {range, placeholder, type: RenameType.Variable, file};
+    } else if (lookup?.definitionId instanceof ClassDefinition) {
+      return {range, placeholder, type: RenameType.GlobalClass, file};
+    } else if (lookup?.definitionId instanceof InterfaceDefinition) {
+      return {range, placeholder, type: RenameType.GlobalInterface, file};
+    } else if (lookup?.definitionId instanceof MethodDefinition) {
+      return {range, placeholder, type: RenameType.Method, file};
+    }
+ 
+    return undefined;
+  }
+ 
+  public rename(params: IRenameParams): LServer.WorkspaceEdit | undefined {
+    const prepare = this.prepareRename(params);
+    if (prepare === undefined) {
+      return undefined;
+    }
+ 
+    switch (prepare.type) {
+      case RenameType.GlobalClass:
+        return new Renamer(this.reg).buildEdits("CLAS", prepare.placeholder, params.newName);
+      case RenameType.GlobalInterface:
+        return new Renamer(this.reg).buildEdits("INTF", prepare.placeholder, params.newName);
+      case RenameType.Variable:
+        return this.renameVariable(params);
+      case RenameType.Method:
+        return this.renameMethod(params);
+      default:
+        return undefined;
+    }
+  }
+ 
+////
+ 
+  private renameVariable(params: IRenameParams): LServer.WorkspaceEdit | undefined {
+    const workspace: LServer.WorkspaceEdit = {documentChanges: []};
+    const refs = new References(this.reg).references(params);
+    for (const r of refs) {
+      const doc: LServer.VersionedTextDocumentIdentifier = {uri: r.uri, version: 1};
+      const edit = LServer.TextDocumentEdit.create(doc, [LServer.TextEdit.replace(r.range, params.newName)]);
+      workspace.documentChanges?.push(edit);
+    }
+    return workspace;
+  }
+ 
+  private renameMethod(params: IRenameParams): LServer.WorkspaceEdit | undefined {
+    const workspace: LServer.WorkspaceEdit = {documentChanges: []};
+    const refs = new References(this.reg).references(params);
+    for (const r of refs) {
+      const doc: LServer.VersionedTextDocumentIdentifier = {uri: r.uri, version: 1};
+      const edit = LServer.TextDocumentEdit.create(doc, [LServer.TextEdit.replace(r.range, params.newName)]);
+      workspace.documentChanges?.push(edit);
+    }
+ 
+    const def = new Definition(this.reg).find(params.textDocument, params.position);
+    if (def) {
+      const doc: LServer.VersionedTextDocumentIdentifier = {uri: params.textDocument.uri, version: 1};
+      const edit = LServer.TextDocumentEdit.create(doc, [LServer.TextEdit.replace(def?.range, params.newName)]);
+      workspace.documentChanges?.push(edit);
+    }
+ 
+    return workspace;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/semantic.ts.html b/src/lsp/semantic.ts.html new file mode 100644 index 00000000000..986e33ac4fd --- /dev/null +++ b/src/lsp/semantic.ts.html @@ -0,0 +1,514 @@ + + + + + + Code coverage report for src/lsp/semantic.ts + + + + + + + + + +
+
+

All files / src/lsp semantic.ts

+
+ +
+ 87.5% + Statements + 126/144 +
+ + +
+ 73.07% + Branches + 19/26 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 87.5% + Lines + 126/144 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +1441x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +23x +23x +23x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +  +1x +  +1x +  +  +1x +1x +3x +3x +3x +1x +3x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +  +2x +2x +2x +2x +2x +1x +1x +  +1x +  +  +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +1x +3x +2x +2x +3x +1x +3x +2x +2x +3x +3x +3x +3x +3x +3x +3x +1x +1x +1x
import * as LServer from "vscode-languageserver-types";
+import {Position} from "../position";
+import {VirtualPosition} from "../virtual_position";
+import {Comment, Punctuation, StringToken, StringTemplate, StringTemplateBegin, StringTemplateEnd, StringTemplateMiddle} from "../abap/1_lexer/tokens";
+import {TokenNodeRegex} from "../abap/nodes";
+import * as Statements from "../abap/2_statements/statements";
+import {IRegistry} from "../_iregistry";
+import {ITextDocumentRange} from "./_interfaces";
+import {LSPUtils} from "./_lsp_utils";
+ 
+const SOURCE_ABAP = "source.abap";
+const BLOCK_ABAP = "storage.type.block.abap";
+ 
+interface Token {
+  line: number,
+  startChar: number,
+  length: number,
+  tokenType: string,
+  tokenModifiers: string[],
+}
+ 
+export class SemanticHighlighting {
+  private readonly reg: IRegistry;
+  private static readonly tokenTypes: string[] = [];
+  private static tokenTypeMap: {[name: string]: number};
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+    SemanticHighlighting.initLegend();
+  }
+ 
+  public static semanticTokensLegend(): LServer.SemanticTokensLegend {
+    // https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#semantic-token-scope-map
+    // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#semanticTokenTypes
+    this.initLegend();
+    return {
+      tokenTypes: SemanticHighlighting.tokenTypes,
+      tokenModifiers: [],
+    };
+  }
+ 
+  private static initLegend() {
+    if (SemanticHighlighting.tokenTypes.length === 0) {
+      SemanticHighlighting.tokenTypeMap = {};
+ 
+      SemanticHighlighting.tokenTypeMap[SOURCE_ABAP] = SemanticHighlighting.tokenTypes.length;
+      SemanticHighlighting.tokenTypes.push(SOURCE_ABAP);
+      SemanticHighlighting.tokenTypeMap[BLOCK_ABAP] = SemanticHighlighting.tokenTypes.length;
+      SemanticHighlighting.tokenTypes.push(BLOCK_ABAP);
+      for (const t in LServer.SemanticTokenTypes) {
+        SemanticHighlighting.tokenTypeMap[t] = SemanticHighlighting.tokenTypes.length;
+        SemanticHighlighting.tokenTypes.push(t);
+      }
+    }
+  }
+ 
+  // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#textDocument_semanticTokens
+  public semanticTokensRange(range: ITextDocumentRange): LServer.SemanticTokens {
+    const file = LSPUtils.getABAPFile(this.reg, range.textDocument.uri);
+    if (file === undefined) {
+      return {data: []};
+    }
+    const rangeStartPosition = new Position(range.start.line + 1, range.start.character + 1);
+    const rangeEndPosition = new Position(range.end.line + 1, range.end.character + 1);
+ 
+    const tokens: Token[] = [];
+    for (const s of file.getStatements()) {
+      if (s.getFirstToken().getStart() instanceof VirtualPosition) {
+        continue;
+      } else if (s.getFirstToken().getStart().isAfter(rangeEndPosition)) {
+        break;
+      } else if (s.getLastToken().getEnd().isBefore(rangeStartPosition)) {
+        continue;
+      }
+      const statementInstance = s.get();
+      for (const t of s.getTokenNodes()) {
+        const tokenInstance = t.get();
+        let tokenType: string = LServer.SemanticTokenTypes.keyword;
+        if (tokenInstance instanceof Punctuation) {
+          tokenType = SOURCE_ABAP;
+        } else if (statementInstance instanceof Statements.Public
+            || statementInstance instanceof Statements.Private
+            || statementInstance instanceof Statements.Protected
+            || statementInstance instanceof Statements.ClassDefinition
+            || statementInstance instanceof Statements.ClassImplementation
+            || statementInstance instanceof Statements.MethodImplementation
+            || statementInstance instanceof Statements.EndMethod
+            || statementInstance instanceof Statements.EndClass
+            || statementInstance instanceof Statements.Interface
+            || statementInstance instanceof Statements.EndInterface
+            || statementInstance instanceof Statements.Form
+            || statementInstance instanceof Statements.EndForm) {
+          tokenType = BLOCK_ABAP;
+        } else if (tokenInstance instanceof StringToken
+            || tokenInstance instanceof StringTemplate
+            || tokenInstance instanceof StringTemplateBegin
+            || tokenInstance instanceof StringTemplateEnd
+            || tokenInstance instanceof StringTemplateMiddle) {
+          tokenType = LServer.SemanticTokenTypes.string;
+        } else if (tokenInstance instanceof Comment) {
+          tokenType = LServer.SemanticTokenTypes.comment;
+        } else if (t instanceof TokenNodeRegex) {
+          tokenType = SOURCE_ABAP;
+        }
+        const token = t.getFirstToken();
+ 
+        tokens.push({
+          line: token.getStart().getRow() - 1,
+          startChar: token.getStart().getCol() - 1,
+          length: token.getStr().length,
+          tokenType: tokenType,
+          tokenModifiers: [],
+        });
+      }
+    }
+ 
+    return {data: this.encodeTokens(tokens)};
+  }
+ 
+  private encodeTokens(tokens: Token[]): number[] {
+    const ret: number[] = [];
+    let prevLine: number | undefined = undefined;
+    let prevChar: number | undefined = undefined;
+    for (const t of tokens) {
+      if (prevLine === undefined) {
+        ret.push(t.line);
+      } else {
+        ret.push(t.line - prevLine);
+      }
+      if (prevLine === t.line && prevChar) {
+        ret.push(t.startChar - prevChar);
+      } else {
+        ret.push(t.startChar); // todo, delta?
+      }
+      ret.push(t.length);
+      ret.push(SemanticHighlighting.tokenTypeMap[t.tokenType]);
+      ret.push(0); // no modifier logic implemented yet
+ 
+      prevLine = t.line;
+      prevChar = t.startChar;
+    }
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/lsp/symbols.ts.html b/src/lsp/symbols.ts.html new file mode 100644 index 00000000000..025a4c4c2a3 --- /dev/null +++ b/src/lsp/symbols.ts.html @@ -0,0 +1,496 @@ + + + + + + Code coverage report for src/lsp/symbols.ts + + + + + + + + + +
+
+

All files / src/lsp symbols.ts

+
+ +
+ 94.2% + Statements + 130/138 +
+ + +
+ 81.81% + Branches + 18/22 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 94.2% + Lines + 130/138 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +1381x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +1x +1x +6x +6x +  +  +6x +6x +6x +6x +6x +6x +1x +1x +8x +8x +8x +8x +1x +1x +6x +6x +6x +6x +1x +1x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +1x +1x +6x +6x +1x +1x +1x +6x +6x +1x +1x +6x +6x +6x +1x +1x +1x +1x +1x +6x +6x +4x +4x +4x +4x +4x +6x +6x +6x +1x +1x +4x +4x +4x +2x +2x +2x +7x +4x +4x +7x +2x +2x +2x +7x +2x +2x +  +  +2x +2x +2x +2x +2x +2x +4x +4x +4x +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x
/* eslint-disable max-len */
+import * as LServer from "vscode-languageserver-types";
+import {IRegistry} from "../_iregistry";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {LSPUtils} from "./_lsp_utils";
+import {InfoAttribute} from "../abap/4_file_information/_abap_file_information";
+import {ABAPFile} from "../abap/abap_file";
+import {EndMethod} from "../abap/2_statements/statements";
+import {Position} from "../position";
+ 
+export class Symbols {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public find(uri: string): LServer.DocumentSymbol[] {
+    const file = LSPUtils.getABAPFile(this.reg, uri);
+    if (file === undefined) {
+      return [];
+    }
+ 
+    const ret: LServer.DocumentSymbol[] = [];
+    ret.push(...this.outputClasses(file));
+    ret.push(...this.outputForms(file));
+    return ret;
+  }
+ 
+  private selectionRange(identifier: Identifier): LServer.Range {
+    const pos = identifier.getStart();
+    const str = identifier.getName();
+    return LServer.Range.create(pos.getRow() - 1, pos.getCol() - 1, pos.getRow() - 1, pos.getCol() - 1 + str.length);
+  }
+ 
+  private range(identifer: Identifier): LServer.Range {
+    const start = identifer.getStart();
+    const end = identifer.getEnd();
+    return LServer.Range.create(start.getRow() - 1, start.getCol() - 1, end.getRow() - 1, end.getCol() - 1);
+  }
+ 
+  private newSymbolRanged(identifier: Identifier, kind: LServer.SymbolKind, children: LServer.DocumentSymbol[], range: LServer.Range): LServer.DocumentSymbol {
+    const symbol: LServer.DocumentSymbol = {
+      name: identifier.getName(),
+      kind: kind,
+      range: range,
+      selectionRange: this.selectionRange(identifier),
+      children,
+    };
+ 
+    return symbol;
+  }
+ 
+  private newSymbol(identifier: Identifier, kind: LServer.SymbolKind, children: LServer.DocumentSymbol[]): LServer.DocumentSymbol {
+    const symbol: LServer.DocumentSymbol = {
+      name: identifier.getName(),
+      kind: kind,
+      range: this.range(identifier),
+      selectionRange: this.selectionRange(identifier),
+      children,
+    };
+ 
+    return symbol;
+  }
+ 
+  private outputForms(file: ABAPFile): LServer.DocumentSymbol[] {
+    const ret: LServer.DocumentSymbol[] = [];
+    for (const form of file.getInfo().listFormDefinitions()) {
+      const symbol = this.newSymbol(form.identifier, LServer.SymbolKind.Function, []);
+      ret.push(symbol);
+    }
+    return ret;
+  }
+ 
+  private outputClasses(file: ABAPFile): LServer.DocumentSymbol[] {
+    const ret: LServer.DocumentSymbol[] = [];
+ 
+    for (const cla of file.getInfo().listClassDefinitions()) {
+      const children: LServer.DocumentSymbol[] = [];
+      children.push(...this.outputClassAttributes(cla.attributes));
+      const symbol = this.newSymbol(cla.identifier, LServer.SymbolKind.Class, children);
+      ret.push(symbol);
+    }
+ 
+    for (const cla of file.getInfo().listClassImplementations()) {
+      const children: LServer.DocumentSymbol[] = [];
+      children.push(...this.outputMethodImplementations(cla.methods, file));
+      const symbol = this.newSymbol(cla.identifier, LServer.SymbolKind.Class, children);
+      ret.push(symbol);
+    }
+ 
+    return ret;
+  }
+ 
+  private outputMethodImplementations(methods: readonly Identifier[], file: ABAPFile): LServer.DocumentSymbol[] {
+    const ret: LServer.DocumentSymbol[] = [];
+ 
+    for (const method of methods) {
+      const start = method.getStart();
+      let end: Position | undefined = undefined;
+      for (const s of file.getStatements()) {
+        if (s.getFirstToken().getStart().isBefore(start)) {
+          continue;
+        }
+        if (s.get() instanceof EndMethod) {
+          end = s.getLastToken().getEnd();
+          break;
+        }
+      }
+ 
+      if (end === undefined) {
+        continue;
+      }
+ 
+      const range = LServer.Range.create(start.getRow() - 1, start.getCol() - 1, end.getRow() - 1, end.getCol() - 1);
+ 
+      const symbol = this.newSymbolRanged(method, LServer.SymbolKind.Method, [], range);
+      ret.push(symbol);
+    }
+ 
+    return ret;
+  }
+ 
+  private outputClassAttributes(attr: readonly InfoAttribute[]): LServer.DocumentSymbol[] {
+    if (attr === undefined) {
+      return [];
+    }
+    const ret: LServer.DocumentSymbol[] = [];
+ 
+    for (const id of attr) {
+      ret.push(this.newSymbol(id.identifier, LServer.SymbolKind.Property, []));
+    }
+    // todo, also add constants
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/macro_references.ts.html b/src/macro_references.ts.html new file mode 100644 index 00000000000..577d6ba03c0 --- /dev/null +++ b/src/macro_references.ts.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for src/macro_references.ts + + + + + + + + + +
+
+

All files / src macro_references.ts

+
+ +
+ 92.77% + Statements + 77/83 +
+ + +
+ 75% + Branches + 18/24 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 92.77% + Lines + 77/83 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +831x +1x +1x +1x +7073x +7073x +7073x +7073x +7073x +7073x +7073x +7073x +7073x +7073x +57x +49x +57x +5x +5x +52x +52x +7073x +7073x +2x +2x +2x +2x +2x +  +  +7073x +7073x +35x +31x +31x +35x +35x +7073x +7073x +265x +265x +6x +6x +265x +265x +7073x +7073x +6x +6x +6x +6x +4x +4x +4x +4x +6x +6x +7073x +7073x +7521x +7521x +7521x +7073x +7073x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +  +  +7073x +7073x
import {IFilenameAndToken, IMacroReferences} from "./_imacro_references";
+import {AbstractToken} from "./abap/1_lexer/tokens/abstract_token";
+import {Position} from "./position";
+ 
+export class MacroReferences implements IMacroReferences {
+  private readonly definitions: {[filename: string]: {
+    token: AbstractToken,
+    start: Position,
+    end: Position,
+  }[]} = {};
+ 
+  private readonly references: {[filename: string]: IFilenameAndToken[]} = {};
+ 
+  public addDefinition(ref: IFilenameAndToken, start: Position, end: Position): void {
+    if (this.definitions[ref.filename] === undefined) {
+      this.definitions[ref.filename] = [];
+    } else if (this.definitions[ref.filename].find((d) => d.token.getStart().equals(ref.token.getStart()))) {
+      return;
+    }
+    this.definitions[ref.filename].push({token: ref.token, start, end});
+  }
+ 
+  public getDefinitionRange(filename: string, token: AbstractToken): {start: Position, end: Position} | undefined {
+    for (const d of this.definitions[filename] || []) {
+      if (d.token.getStart().equals(token.getStart())) {
+        return {start: d.start, end: d.end};
+      }
+    }
+    return undefined;
+  }
+ 
+  public addReference(ref: IFilenameAndToken): void {
+    if (this.references[ref.filename] === undefined) {
+      this.references[ref.filename] = [];
+    }
+    this.references[ref.filename].push(ref);
+  }
+ 
+  public listDefinitionsByFile(filename: string): AbstractToken[] {
+    const ret: AbstractToken[] = [];
+    for (const d of this.definitions[filename] || []) {
+      ret.push(d.token);
+    }
+    return ret;
+  }
+ 
+  public listUsagesbyMacro(filename: string, token: AbstractToken): IFilenameAndToken[] {
+    const ret: IFilenameAndToken[] = [];
+    const tokenStr = token.getStr().toUpperCase();
+ 
+    for (const ref of this.references[filename] || []) {
+      if (ref.token.getStr().toUpperCase() === tokenStr) {
+        ret.push(ref);
+      }
+    }
+    return ret;
+  }
+ 
+  public clear(filename: string): void {
+    delete this.definitions[filename];
+    delete this.references[filename];
+  }
+ 
+  public findDefinitionByUsage(filename: string, token: AbstractToken): {filename: string, token: AbstractToken} | undefined {
+    const tokenStr = token.getStr().toUpperCase();
+ 
+    for (const ref of this.references[filename] || []) {
+      if (ref.token.getStart().equals(token.getStart())) {
+        for (const d of this.definitions[ref.filename] || []) {
+          if (d.token.getStr().toUpperCase() === tokenStr) {
+            return {
+              filename: ref.filename,
+              token: d.token,
+            };
+          }
+        }
+
+      }
+    }
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/msag_references.ts.html b/src/msag_references.ts.html new file mode 100644 index 00000000000..e8746ff03bc --- /dev/null +++ b/src/msag_references.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/msag_references.ts + + + + + + + + + +
+
+

All files / src msag_references.ts

+
+ +
+ 96.29% + Statements + 52/54 +
+ + +
+ 94.11% + Branches + 16/17 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 96.29% + Lines + 52/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +1x +1x +1x +7075x +7075x +7075x +7075x +7075x +32x +  +  +32x +32x +31x +31x +32x +32x +32x +32x +32x +32x +32x +31x +31x +32x +31x +31x +32x +32x +32x +32x +32x +7075x +7075x +2390x +2426x +2426x +1x +1x +1x +1x +2426x +2426x +2390x +7075x +7075x +265x +265x +7075x +7075x +14x +14x +7075x
import {IMSAGReferences} from "./_imsag_references";
+import {AbstractToken} from "./abap/1_lexer/tokens/abstract_token";
+import {IObject} from "./objects/_iobject";
+ 
+export class MSAGReferences implements IMSAGReferences {
+  private readonly nameNumberIndex: { [messageClass: string]: { [number: string]: {filename: string, token: AbstractToken}[] } } = {};
+  private readonly filenameIndex: { [filename: string]: {token: AbstractToken, messageClass: string, number: string}[] } = {};
+ 
+  public addUsing(filename: string, token: AbstractToken, messageClass: string, number: string): void {
+    if (number.length !== 3) {
+      return;
+    }
+ 
+    if (this.filenameIndex[filename] === undefined) {
+      this.filenameIndex[filename] = [];
+    }
+    this.filenameIndex[filename].push({
+      token: token,
+      messageClass: messageClass,
+      number: number,
+    });
+ 
+    if (this.nameNumberIndex[messageClass] === undefined) {
+      this.nameNumberIndex[messageClass] = {};
+    }
+    if (this.nameNumberIndex[messageClass][number] === undefined) {
+      this.nameNumberIndex[messageClass][number] = [];
+    }
+    this.nameNumberIndex[messageClass][number].push({
+      filename: filename,
+      token: token,
+    });
+  }
+ 
+  public clear(obj: IObject): void {
+    for (const file of obj.getFiles()) {
+      const filename = file.getFilename();
+      for (const fIndex of this.filenameIndex[filename] || []) {
+// this should be okay for performance, each message should be referenced less than 10 times typically
+        this.nameNumberIndex[fIndex.messageClass][fIndex.number] =
+          this.nameNumberIndex[fIndex.messageClass][fIndex.number].filter(i => i.filename !== filename);
+      }
+      delete this.filenameIndex[filename];
+    }
+  }
+ 
+  public listByFilename(filename: string): { token: AbstractToken; messageClass: string; number: string; }[] {
+    return this.filenameIndex[filename] || [];
+  }
+ 
+  public listByMessage(messageClass: string, number: string): { filename: string; token: AbstractToken; }[] {
+    return this.nameNumberIndex[messageClass]?.[number] || [];
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/_abap_object.ts.html b/src/objects/_abap_object.ts.html new file mode 100644 index 00000000000..fbae4aab921 --- /dev/null +++ b/src/objects/_abap_object.ts.html @@ -0,0 +1,415 @@ + + + + + + Code coverage report for src/objects/_abap_object.ts + + + + + + + + + +
+
+

All files / src/objects _abap_object.ts

+
+ +
+ 92.79% + Statements + 103/111 +
+ + +
+ 86.48% + Branches + 32/37 +
+ + +
+ 88.88% + Functions + 8/9 +
+ + +
+ 92.79% + Lines + 103/111 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +1111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +7076x +7076x +7076x +7076x +1x +1x +  +  +1x +1x +7825x +358x +358x +7467x +7467x +7467x +7467x +7467x +7467x +7467x +7467x +7467x +7467x +1x +1x +8449x +8449x +8449x +8449x +1x +1x +50014x +50014x +1x +1x +1004x +1016x +1000x +1000x +1016x +4x +4x +1x +1x +8542x +8542x +8542x +8556x +8516x +8516x +8556x +26x +8542x +12x +12x +12x +12x +14x +14x +1x +1x +14x +14x +14x +14x +14x +1x +1x +14x +14x +14x +1x +1x +13x +14x +50x +38x +  +  +38x +38x +  +  +38x +38x +50x +13x +1x +1x
import {AbstractObject} from "./_abstract_object";
+import {xmlToArray, unescape} from "../xml_utils";
+import {ABAPParser} from "../abap/abap_parser";
+import {Version} from "../version";
+import {ISyntaxResult} from "../abap/5_syntax/_spaghetti_scope";
+import {IParseResult} from "./_iobject";
+import {ABAPFile} from "../abap/abap_file";
+import {IRegistry} from "../_iregistry";
+ 
+export interface ITextElements {[key: string]: string}
+ 
+export abstract class ABAPObject extends AbstractObject {
+  private parsed: readonly ABAPFile[];
+  protected texts: ITextElements | undefined;
+  public syntaxResult: ISyntaxResult | undefined; // do not use this outside of SyntaxLogic class, todo: refactor
+  public [Symbol.for("debug.description")](){
+    return `${this.constructor.name} ${this.getName()}`;
+  }
+  public abstract getSequencedFiles(): readonly ABAPFile[];
+  public abstract getDescription(): string | undefined;
+ 
+  public constructor(name: string) {
+    super(name);
+    this.parsed = [];
+    this.texts = undefined;
+  }
+ 
+  public static is(x: any): x is ABAPObject {
+    return !!x && x instanceof ABAPObject;
+  }
+ 
+  public parse(version: Version, globalMacros?: readonly string[], reg?: IRegistry): IParseResult {
+    if (this.isDirty() === false) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const abapFiles = this.getFiles().filter(f => f.getFilename().endsWith(".abap"));
+    const result = new ABAPParser(version, globalMacros, reg).parse(abapFiles);
+ 
+    this.parsed = result.output;
+    this.old = result.issues;
+    this.dirty = false;
+ 
+    return {updated: true, runtime: result.runtime, runtimeExtra: result.runtimeExtra};
+  }
+ 
+  public setDirty(): void {
+    this.syntaxResult = undefined;
+    this.texts = undefined;
+    super.setDirty();
+  }
+ 
+  public getABAPFiles(): readonly ABAPFile[] {
+    return this.parsed;
+  }
+ 
+  public getABAPFileByName(filename: string): ABAPFile | undefined {
+    for (const p of this.parsed) {
+      if (p.getFilename() === filename) {
+        return p;
+      }
+    }
+    return undefined;
+  }
+ 
+  public getMainABAPFile(): ABAPFile | undefined {
+    // todo, uris, https://github.com/abaplint/abaplint/issues/673
+    const search = this.getName().replace(/\//g, "#").toLowerCase() + "." + this.getType().toLowerCase() + ".abap";
+    for (const file of this.getABAPFiles()) {
+      if (file.getFilename().endsWith(search)) {
+        return file;
+      }
+    }
+    // uri fallback,
+    for (const file of this.getABAPFiles()) {
+      if (file.getFilename().endsWith(".abap")) {
+        return file;
+      }
+    }
+    return undefined;
+  }
+ 
+  public getTexts(): ITextElements {
+    if (this.texts === undefined) {
+      this.findTexts(this.parseRaw2());
+    }
+    return this.texts!;
+  }
+ 
+  protected findTexts(parsed: any) {
+    this.texts = {};
+ 
+    if (parsed?.abapGit?.["asx:abap"]?.["asx:values"]?.TPOOL?.item === undefined) {
+      return;
+    }
+ 
+    for (const t of xmlToArray(parsed.abapGit["asx:abap"]["asx:values"].TPOOL.item)) {
+      if (t?.ID === "I") {
+        if (t.KEY === undefined) {
+          throw new Error("findTexts, undefined");
+        }
+        const key = t.KEY;
+        if (key === undefined) {
+          continue;
+        }
+        this.texts[key.toUpperCase()] = t.ENTRY ? unescape(t.ENTRY) : "";
+      }
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/_abstract_object.ts.html b/src/objects/_abstract_object.ts.html new file mode 100644 index 00000000000..f7abc353306 --- /dev/null +++ b/src/objects/_abstract_object.ts.html @@ -0,0 +1,487 @@ + + + + + + Code coverage report for src/objects/_abstract_object.ts + + + + + + + + + +
+
+

All files / src/objects _abstract_object.ts

+
+ +
+ 95.55% + Statements + 129/135 +
+ + +
+ 91.42% + Branches + 32/35 +
+ + +
+ 100% + Functions + 15/15 +
+ + +
+ 95.55% + Lines + 129/135 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +1351x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7591x +7591x +7591x +7591x +7591x +1x +1x +329x +329x +1x +1x +251x +251x +1x +1x +45934x +45934x +1x +1x +8874x +8874x +1x +1x +7563x +7563x +7563x +1x +1x +26488x +26488x +1x +1x +194x +201x +189x +189x +201x +5x +5x +1x +1x +40x +40x +40x +40x +40x +40x +40x +  +  +1x +1x +15674x +15674x +1x +1x +85x +85x +85x +  +  +85x +85x +1x +1x +6691x +6691x +6691x +6691x +6878x +764x +764x +6878x +5927x +6691x +5951x +3x +3x +5951x +5924x +5924x +1x +1x +3147x +3147x +458x +458x +2689x +2689x +1x +1x +496x +496x +501x +495x +495x +495x +501x +1x +1x +1x +1x +2997x +2997x +2629x +2629x +368x +368x +2997x +  +  +2997x +1x +1x
import {IFile} from "../files/_ifile";
+import {IAllowedNaming, IObject, IParseResult} from "./_iobject";
+import {XMLParser} from "fast-xml-parser";
+import {Issue} from "../issue";
+import {Version} from "../version";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {Identifier as IdentifierToken} from "../abap/1_lexer/tokens/identifier";
+import {Position} from "../position";
+import {IRegistry} from "../_iregistry";
+ 
+export abstract class AbstractObject implements IObject {
+  protected old: readonly Issue[];
+  protected dirty: boolean;
+  private files: IFile[];
+  private readonly name: string;
+ 
+  public abstract getType(): string;
+  public abstract getAllowedNaming(): IAllowedNaming;
+  public abstract getDescription(): string | undefined;
+ 
+  public constructor(name: string) {
+    this.name = name;
+    this.files = [];
+    this.old = [];
+    this.dirty = false;
+  }
+ 
+  public getParsingIssues() {
+    return this.old;
+  }
+ 
+  public parse(_version?: Version, _globalMacros?: readonly string[], _reg?: IRegistry): IParseResult {
+    return {updated: false, runtime: 0};
+  }
+ 
+  public getName(): string {
+    return this.name;
+  }
+ 
+  public setDirty(): void {
+    this.dirty = true;
+  }
+ 
+  public addFile(file: IFile) {
+    this.setDirty();
+    this.files.push(file);
+  }
+ 
+  public getFiles(): readonly IFile[] {
+    return this.files;
+  }
+ 
+  public containsFile(filename: string): boolean {
+    for (const f of this.files) {
+      if (f.getFilename() === filename) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  public removeFile(file: IFile): void {
+    this.setDirty();
+    for (let i = 0; i < this.files.length; i++) {
+      if (this.files[i].getFilename() === file.getFilename()) {
+        this.files.splice(i, 1);
+        return;
+      }
+    }
+    throw new Error("removeFile: file not found");
+  }
+ 
+  public isDirty() {
+    return this.dirty;
+  }
+ 
+  public getIdentifier(): Identifier | undefined {
+    // this method can be redefined in each object type to give a better result
+    const file = this.getXMLFile();
+    if (file === undefined) {
+      return undefined;
+    }
+    return new Identifier(new IdentifierToken(new Position(1, 1), this.getName()), file.getFilename());
+  }
+ 
+  public getXMLFile() {
+// todo, https://github.com/abaplint/abaplint/issues/673 uris
+    const expected1 = this.getName().toLowerCase().replace(/\//g, "#") + "." + this.getType().toLowerCase() + ".xml";
+    const expected2 = this.getName().toLowerCase().replace(/\//g, "%23") + "." + this.getType().toLowerCase() + ".xml";
+    for (const file of this.getFiles()) {
+      if (file.getFilename().endsWith(expected1) || file.getFilename().endsWith(expected2)) {
+        return file;
+      }
+    }
+    // uri fallback, assume there is only one xml file
+    for (const file of this.getFiles()) {
+      if (file.getFilename().endsWith(".xml")) {
+        return file;
+      }
+    }
+    return undefined;
+  }
+ 
+  public getXML(): string | undefined {
+    const file = this.getXMLFile();
+    if (file) {
+      return file.getRaw();
+    }
+    return undefined;
+  }
+ 
+  public updateFile(file: IFile) {
+    this.setDirty();
+    for (let i = 0; i < this.files.length; i++) {
+      if (this.files[i].getFilename() === file.getFilename()) {
+        this.files[i] = file;
+        return;
+      }
+    }
+    throw new Error("updateFile: file not found");
+  }
+ 
+  protected parseRaw2(): any | undefined {
+    const xml = this.getXML();
+    if (xml === undefined) {
+      return undefined;
+    }
+    try {
+      return new XMLParser({parseTagValue: false, ignoreAttributes: true, trimValues: false}).parse(xml);
+    } catch {
+      return undefined;
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/_unknown_object.ts.html b/src/objects/_unknown_object.ts.html new file mode 100644 index 00000000000..1294ea93ee8 --- /dev/null +++ b/src/objects/_unknown_object.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/objects/_unknown_object.ts + + + + + + + + + +
+
+

All files / src/objects _unknown_object.ts

+
+ +
+ 94.59% + Statements + 35/37 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 94.59% + Lines + 35/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +1x +1x +39x +39x +1x +1x +2x +2x +2x +2x +2x +1x +1x +  +  +1x +1x +3x +3x +3x +3x +3x +3x +1x +1x
import {AbstractObject} from "./_abstract_object";
+import {Issue} from "../issue";
+import {Position} from "../position";
+import {Severity} from "../severity";
+ 
+export class UnknownObject extends AbstractObject {
+  private readonly type: string;
+ 
+  public constructor(name: string, type: string) {
+    super(name);
+    this.type = type;
+  }
+ 
+  public getType(): string {
+    return this.type;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 100,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    return undefined;
+  }
+ 
+  public getParsingIssues() {
+    const pos = new Position(1, 1);
+    const file = this.getFiles()[0]!;
+    const message = "Unknown object type, currently not supported in abaplint, open issue on github";
+    const issue = Issue.atPosition(file, pos, message, "parser_error", Severity.Error);
+    return [issue];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/activation_variant.ts.html b/src/objects/activation_variant.ts.html new file mode 100644 index 00000000000..9613f8b894c --- /dev/null +++ b/src/objects/activation_variant.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/activation_variant.ts + + + + + + + + + +
+
+

All files / src/objects activation_variant.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ActivationVariant extends AbstractObject {
+ 
+  public getType(): string {
+    return "AVAR";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/api_release_state.ts.html b/src/objects/api_release_state.ts.html new file mode 100644 index 00000000000..17c781f0fbd --- /dev/null +++ b/src/objects/api_release_state.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/api_release_state.ts + + + + + + + + + +
+
+

All files / src/objects api_release_state.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class APIReleaseState extends AbstractObject {
+ 
+  public getType(): string {
+    return "APIS";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/application_job_catalog_entry.ts.html b/src/objects/application_job_catalog_entry.ts.html new file mode 100644 index 00000000000..338197db951 --- /dev/null +++ b/src/objects/application_job_catalog_entry.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/application_job_catalog_entry.ts + + + + + + + + + +
+
+

All files / src/objects application_job_catalog_entry.ts

+
+ +
+ 85% + Statements + 17/20 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 85% + Lines + 17/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ApplicationJobCatalogEntry extends AbstractObject {
+ 
+  public getType(): string {
+    return "SAJC";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/application_job_template.ts.html b/src/objects/application_job_template.ts.html new file mode 100644 index 00000000000..016d9e144c5 --- /dev/null +++ b/src/objects/application_job_template.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/application_job_template.ts + + + + + + + + + +
+
+

All files / src/objects application_job_template.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ApplicationJobTemplate extends AbstractObject {
+ 
+  public getType(): string {
+    return "SAJT";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/application_log_object.ts.html b/src/objects/application_log_object.ts.html new file mode 100644 index 00000000000..76ab75b3c21 --- /dev/null +++ b/src/objects/application_log_object.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/application_log_object.ts + + + + + + + + + +
+
+

All files / src/objects application_log_object.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ApplicationLogObject extends AbstractObject {
+ 
+  public getType(): string {
+    return "APLO";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/assignment_service_to_authorization_group.ts.html b/src/objects/assignment_service_to_authorization_group.ts.html new file mode 100644 index 00000000000..cf1a4cb1284 --- /dev/null +++ b/src/objects/assignment_service_to_authorization_group.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/assignment_service_to_authorization_group.ts + + + + + + + + + +
+
+

All files / src/objects assignment_service_to_authorization_group.ts

+
+ +
+ 85% + Statements + 17/20 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 85% + Lines + 17/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class AssignmentServiceToAuthorizationGroup extends AbstractObject {
+ 
+  public getType(): string {
+    return "SUSH";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 32,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/atc_check_category.ts.html b/src/objects/atc_check_category.ts.html new file mode 100644 index 00000000000..4772f3ec508 --- /dev/null +++ b/src/objects/atc_check_category.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/atc_check_category.ts + + + + + + + + + +
+
+

All files / src/objects atc_check_category.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ATCCheckCategory extends AbstractObject {
+ 
+  public getType(): string {
+    return "CHKC";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/atc_check_object.ts.html b/src/objects/atc_check_object.ts.html new file mode 100644 index 00000000000..1d3d43a9f06 --- /dev/null +++ b/src/objects/atc_check_object.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/atc_check_object.ts + + + + + + + + + +
+
+

All files / src/objects atc_check_object.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ATCCheckObject extends AbstractObject {
+ 
+  public getType(): string {
+    return "CHKO";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/atc_check_variant.ts.html b/src/objects/atc_check_variant.ts.html new file mode 100644 index 00000000000..7a7bab0d490 --- /dev/null +++ b/src/objects/atc_check_variant.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/atc_check_variant.ts + + + + + + + + + +
+
+

All files / src/objects atc_check_variant.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ATCCheckVariant extends AbstractObject {
+ 
+  public getType(): string {
+    return "CHKV";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/authorization_check_field.ts.html b/src/objects/authorization_check_field.ts.html new file mode 100644 index 00000000000..be4f33e07b1 --- /dev/null +++ b/src/objects/authorization_check_field.ts.html @@ -0,0 +1,328 @@ + + + + + + Code coverage report for src/objects/authorization_check_field.ts + + + + + + + + + +
+
+

All files / src/objects authorization_check_field.ts

+
+ +
+ 88.88% + Statements + 72/81 +
+ + +
+ 68.42% + Branches + 13/19 +
+ + +
+ 85.71% + Functions + 6/7 +
+ + +
+ 88.88% + Lines + 72/81 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +821x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +69x +69x +1x +1x +2x +2x +2x +2x +2x +1x +1x +4x +4x +4x +1x +1x +  +  +  +1x +1x +1x +1x +1x +1x +1x +9x +9x +9x +9x +9x +9x +9x +9x +6x +6x +6x +9x +3x +3x +  +  +9x +  +  +9x +1x +1x +16x +12x +12x +4x +4x +4x +4x +4x +4x +4x +16x +  +  +4x +16x +16x +16x +16x +16x +1x + 
import {UnknownType, VoidType} from "../abap/types/basic";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {DDIC} from "../ddic";
+import {IObjectAndToken} from "../_iddic_references";
+import {IRegistry} from "../_iregistry";
+import {AbstractObject} from "./_abstract_object";
+ 
+export class AuthorizationCheckField extends AbstractObject {
+  private parsedXML: {
+    rollname?: string,
+  } | undefined;
+ 
+  public getType(): string {
+    return "AUTH";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public getDataElementName(): string | undefined {
+    this.parse();
+    return this.parsedXML?.rollname;
+  }
+ 
+  public parseType(reg: IRegistry): AbstractType {
+    this.parse();
+ 
+    const references: IObjectAndToken[] = [];
+    const ddic = new DDIC(reg);
+ 
+    if (this.parsedXML?.rollname) {
+      const found = ddic.lookupDataElement(this.parsedXML.rollname);
+      if (found.object) {
+        references.push({object: found.object});
+        reg.getDDICReferences().setUsing(this, references);
+        return found.type;
+      } else if (ddic.inErrorNamespace(this.parsedXML.rollname)) {
+        return new UnknownType(this.parsedXML.rollname + " not found");
+      } else {
+        return new VoidType(this.parsedXML.rollname);
+      }
+    } else {
+      return new UnknownType("Parsing error");
+    }
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+ 
+    if (parsed === undefined
+        || parsed.abapGit === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    this.parsedXML.rollname = parsed.abapGit["asx:abap"]["asx:values"].AUTHX?.ROLLNAME;
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/authorization_group.ts.html b/src/objects/authorization_group.ts.html new file mode 100644 index 00000000000..a38dbc5b6a6 --- /dev/null +++ b/src/objects/authorization_group.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/authorization_group.ts + + + + + + + + + +
+
+

All files / src/objects authorization_group.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class AuthorizationGroup extends AbstractObject {
+ 
+  public getType(): string {
+    return "SUCU";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/authorization_object.ts.html b/src/objects/authorization_object.ts.html new file mode 100644 index 00000000000..5adc2bccfa5 --- /dev/null +++ b/src/objects/authorization_object.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/authorization_object.ts + + + + + + + + + +
+
+

All files / src/objects authorization_object.ts

+
+ +
+ 85% + Statements + 17/20 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 85% + Lines + 17/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +10x +10x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class AuthorizationObject extends AbstractObject {
+ 
+  public getType(): string {
+    return "SUSO";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 10,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/authorization_object_class.ts.html b/src/objects/authorization_object_class.ts.html new file mode 100644 index 00000000000..a31a74263b6 --- /dev/null +++ b/src/objects/authorization_object_class.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/authorization_object_class.ts + + + + + + + + + +
+
+

All files / src/objects authorization_object_class.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class AuthorizationObjectClass extends AbstractObject {
+ 
+  public getType(): string {
+    return "SUSC";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 4,
+      allowNamespace: false,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/authorization_object_extension.ts.html b/src/objects/authorization_object_extension.ts.html new file mode 100644 index 00000000000..3e3bd24bc27 --- /dev/null +++ b/src/objects/authorization_object_extension.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/authorization_object_extension.ts + + + + + + + + + +
+
+

All files / src/objects authorization_object_extension.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class AuthorizationObjectExtension extends AbstractObject {
+ 
+  public getType(): string {
+    return "SIA3";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 100,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/behavior_definition.ts.html b/src/objects/behavior_definition.ts.html new file mode 100644 index 00000000000..eac397de75e --- /dev/null +++ b/src/objects/behavior_definition.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/behavior_definition.ts + + + + + + + + + +
+
+

All files / src/objects behavior_definition.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class BehaviorDefinition extends AbstractObject {
+ 
+  public getType(): string {
+    return "BDEF";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/bsp_application.ts.html b/src/objects/bsp_application.ts.html new file mode 100644 index 00000000000..077cd771e64 --- /dev/null +++ b/src/objects/bsp_application.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/bsp_application.ts + + + + + + + + + +
+
+

All files / src/objects bsp_application.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class BSPApplication extends AbstractObject {
+ 
+  public getType(): string {
+    return "WAPA";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/business_add_in_implementation.ts.html b/src/objects/business_add_in_implementation.ts.html new file mode 100644 index 00000000000..7091d53c4c4 --- /dev/null +++ b/src/objects/business_add_in_implementation.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/business_add_in_implementation.ts + + + + + + + + + +
+
+

All files / src/objects business_add_in_implementation.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class BusinessAddInImplementation extends AbstractObject {
+ 
+  public getType(): string {
+    return "SXCI";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 20,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/business_catalog.ts.html b/src/objects/business_catalog.ts.html new file mode 100644 index 00000000000..87c0b5a4ebb --- /dev/null +++ b/src/objects/business_catalog.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/business_catalog.ts + + + + + + + + + +
+
+

All files / src/objects business_catalog.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class BusinessCatalog extends AbstractObject {
+ 
+  public getType(): string {
+    return "SIA1";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/business_catalog_app_assignment.ts.html b/src/objects/business_catalog_app_assignment.ts.html new file mode 100644 index 00000000000..e6742cf1be0 --- /dev/null +++ b/src/objects/business_catalog_app_assignment.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/business_catalog_app_assignment.ts + + + + + + + + + +
+
+

All files / src/objects business_catalog_app_assignment.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class BusinessCatalogAppAssignment extends AbstractObject {
+ 
+  public getType(): string {
+    return "SIA7";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/business_configuration_set.ts.html b/src/objects/business_configuration_set.ts.html new file mode 100644 index 00000000000..62abca4169f --- /dev/null +++ b/src/objects/business_configuration_set.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/business_configuration_set.ts + + + + + + + + + +
+
+

All files / src/objects business_configuration_set.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class BusinessConfigurationSet extends AbstractObject {
+ 
+  public getType(): string {
+    return "SCP1";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 32,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/business_function_assignment.ts.html b/src/objects/business_function_assignment.ts.html new file mode 100644 index 00000000000..4f80e735962 --- /dev/null +++ b/src/objects/business_function_assignment.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/business_function_assignment.ts + + + + + + + + + +
+
+

All files / src/objects business_function_assignment.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class BusinessFunctionAssignment extends AbstractObject {
+ 
+  public getType(): string {
+    return "SFBF";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/business_function_set_assignment.ts.html b/src/objects/business_function_set_assignment.ts.html new file mode 100644 index 00000000000..0fbd0694511 --- /dev/null +++ b/src/objects/business_function_set_assignment.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/business_function_set_assignment.ts + + + + + + + + + +
+
+

All files / src/objects business_function_set_assignment.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class BusinessFunctionSetAssignment extends AbstractObject {
+ 
+  public getType(): string {
+    return "SFBS";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/business_object_model.ts.html b/src/objects/business_object_model.ts.html new file mode 100644 index 00000000000..5a156ff9307 --- /dev/null +++ b/src/objects/business_object_model.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/business_object_model.ts + + + + + + + + + +
+
+

All files / src/objects business_object_model.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class BusinessObjectModel extends AbstractObject {
+ 
+  public getType(): string {
+    return "BOBF";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/business_object_type.ts.html b/src/objects/business_object_type.ts.html new file mode 100644 index 00000000000..a2089c3602a --- /dev/null +++ b/src/objects/business_object_type.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/business_object_type.ts + + + + + + + + + +
+
+

All files / src/objects business_object_type.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class BusinessObjectType extends AbstractObject {
+ 
+  public getType(): string {
+    return "SOBJ";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/cds_metadata_extension.ts.html b/src/objects/cds_metadata_extension.ts.html new file mode 100644 index 00000000000..a3c7c917b81 --- /dev/null +++ b/src/objects/cds_metadata_extension.ts.html @@ -0,0 +1,259 @@ + + + + + + Code coverage report for src/objects/cds_metadata_extension.ts + + + + + + + + + +
+
+

All files / src/objects cds_metadata_extension.ts

+
+ +
+ 48.27% + Statements + 28/58 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 28.57% + Functions + 2/7 +
+ + +
+ 48.27% + Lines + 28/58 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +591x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +1x +1x +  +  +1x + 
import {ExpressionNode} from "../abap/nodes";
+import {CDSParser} from "../cds/cds_parser";
+import {AbstractObject} from "./_abstract_object";
+import {IParseResult} from "./_iobject";
+ 
+export type ParsedMetadataExtension = {
+  tree: ExpressionNode | undefined;
+};
+ 
+ 
+export class CDSMetadataExtension extends AbstractObject {
+  private parserError: boolean | undefined = undefined;
+  private parsedData: ParsedMetadataExtension | undefined = undefined;
+ 
+  public getType(): string {
+    return "DDLX";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public hasParserError() {
+    return this.parserError;
+  }
+ 
+  public parse(): IParseResult {
+    if (this.isDirty() === false) {
+      return {updated: false, runtime: 0};
+    }
+
+    const start = Date.now();
+
+    this.parsedData = {
+      tree: undefined,
+    };
+
+    this.parsedData.tree = new CDSParser().parse(this.findSourceFile());
+    if (this.parsedData.tree === undefined) {
+      this.parserError = true;
+    }
+
+    this.dirty = false;
+    return {updated: true, runtime: Date.now() - start};
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public findSourceFile() {
+    return this.getFiles().find(f => f.getFilename().endsWith(".asddlxs") || f.getFilename().endsWith(".acds"));
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/change_document.ts.html b/src/objects/change_document.ts.html new file mode 100644 index 00000000000..56529125d17 --- /dev/null +++ b/src/objects/change_document.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/change_document.ts + + + + + + + + + +
+
+

All files / src/objects change_document.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class ChangeDocument extends AbstractObject {
+ 
+  public getType(): string {
+    return "CHDO";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 15,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/chapter_of_book_structure.ts.html b/src/objects/chapter_of_book_structure.ts.html new file mode 100644 index 00000000000..7fa9ad6c5b9 --- /dev/null +++ b/src/objects/chapter_of_book_structure.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/chapter_of_book_structure.ts + + + + + + + + + +
+
+

All files / src/objects chapter_of_book_structure.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class ChapterOfBookStructure extends AbstractObject {
+ 
+  public getType(): string {
+    return "DSYS";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/checkpoint_group.ts.html b/src/objects/checkpoint_group.ts.html new file mode 100644 index 00000000000..4d931502ed6 --- /dev/null +++ b/src/objects/checkpoint_group.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/checkpoint_group.ts + + + + + + + + + +
+
+

All files / src/objects checkpoint_group.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class CheckpointGroup extends AbstractObject {
+ 
+  public getType(): string {
+    return "ACID";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/class.ts.html b/src/objects/class.ts.html new file mode 100644 index 00000000000..a6e3761a2c1 --- /dev/null +++ b/src/objects/class.ts.html @@ -0,0 +1,454 @@ + + + + + + Code coverage report for src/objects/class.ts + + + + + + + + + +
+
+

All files / src/objects class.ts

+
+ +
+ 91.12% + Statements + 113/124 +
+ + +
+ 82.05% + Branches + 32/39 +
+ + +
+ 93.33% + Functions + 14/15 +
+ + +
+ 91.12% + Lines + 113/124 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +1241x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +401x +401x +401x +401x +401x +5017x +5017x +401x +401x +362x +362x +23x +23x +23x +362x +362x +362x +401x +401x +524x +524x +401x +401x +2628x +2628x +401x +401x +58x +58x +58x +58x +58x +401x +401x +518x +518x +518x +518x +401x +401x +645x +645x +401x +401x +97x +97x +401x +401x +401x +401x +175x +175x +175x +401x +401x +10x +10x +10x +401x +401x +1x +1x +1x +1x +401x +401x +  +  +  +  +  +  +  +401x +401x +3x +5x +3x +3x +5x +  +  +401x +401x +401x +401x +186x +123x +123x +63x +63x +63x +63x +63x +186x +186x +44x +44x +19x +19x +186x +  +  +19x +19x +186x +186x +186x +401x +401x
import {ABAPObject} from "./_abap_object";
+import {InfoClassDefinition} from "../abap/4_file_information/_abap_file_information";
+import {IClassDefinition} from "../abap/types/_class_definition";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export enum ClassCategory {
+  Test = "05",
+  Persistent = "10",
+  PersistentFactory = "11",
+  Exception = "40",
+  SharedObject = "45",
+}
+ 
+export class Class extends ABAPObject {
+  private def: IClassDefinition | undefined = undefined;
+  private parsedXML: {name?: string, description?: string, category?: string} | undefined = undefined;
+ 
+  public getType(): string {
+    return "CLAS";
+  }
+ 
+  public getSequencedFiles(): readonly ABAPFile[] {
+    const sequence = [".clas.locals_def.abap", ".clas.locals_imp.abap", ".clas.abap", ".clas.testclasses.abap"];
+    const copy = this.getABAPFiles().slice().sort((a, b) => {
+      const aValue = sequence.findIndex((s) => a.getFilename().endsWith(s));
+      const bValue = sequence.findIndex((s) => b.getFilename().endsWith(s));
+      return aValue - bValue;
+    });
+    return copy;
+  }
+ 
+  public setDefinition(def: IClassDefinition | undefined): void {
+    this.def = def;
+  }
+ 
+  public getDefinition(): IClassDefinition | undefined {
+    return this.def;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.def = undefined;
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getClassDefinition(): InfoClassDefinition | undefined {
+    return this.getMainABAPFile()?.getInfo().getClassDefinitionByName(this.getName());
+  }
+ 
+  public getIdentifier(): Identifier | undefined {
+    return this.getClassDefinition()?.identifier;
+  }
+ 
+// -------------------
+ 
+  public getDescription(): string | undefined {
+    this.parseXML();
+    return this.parsedXML?.description;
+  }
+ 
+  public getNameFromXML(): string | undefined {
+    this.parseXML();
+    return this.parsedXML?.name;
+  }
+ 
+  public getCategory(): string | undefined {
+    this.parseXML();
+    // https://blog.mariusschulz.com/2017/10/27/typescript-2-4-string-enums#no-reverse-mapping-for-string-valued-enum-members
+    return this.parsedXML?.category;
+  }
+ 
+  public getLocalsImpFile(): ABAPFile | undefined {
+    for (const file of this.getABAPFiles()) {
+      if (file.getFilename().endsWith(".clas.locals_imp.abap")) {
+        return file;
+      }
+    }
+    return undefined;
+  }
+ 
+  public getTestclassFile(): ABAPFile | undefined {
+    for (const file of this.getABAPFiles()) {
+      if (file.getFilename().endsWith(".clas.testclasses.abap")) {
+        return file;
+      }
+    }
+    return undefined;
+  }
+ 
+/////////////////////////
+ 
+  private parseXML() {
+    if (this.parsedXML !== undefined) {
+      return;
+    }
+ 
+    this.parsedXML = {};
+ 
+    const parsed = super.parseRaw2();
+    if (parsed === undefined
+        || parsed.abapGit["asx:abap"] === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return;
+    }
+ 
+    const vseo = parsed.abapGit["asx:abap"]["asx:values"].VSEOCLASS;
+    if (vseo === undefined) {
+      return;
+    }
+ 
+    this.parsedXML.category = vseo.CATEGORY;
+    this.parsedXML.description = vseo.DESCRIPT ? vseo.DESCRIPT : "";
+    this.parsedXML.name = vseo.CLSNAME ? vseo.CLSNAME : "";
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/classification.ts.html b/src/objects/classification.ts.html new file mode 100644 index 00000000000..7993f65829d --- /dev/null +++ b/src/objects/classification.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/classification.ts + + + + + + + + + +
+
+

All files / src/objects classification.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class Classification extends AbstractObject {
+ 
+  public getType(): string {
+    return "AVAS";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 32,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/communication_scenario.ts.html b/src/objects/communication_scenario.ts.html new file mode 100644 index 00000000000..d9148f68aa8 --- /dev/null +++ b/src/objects/communication_scenario.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/communication_scenario.ts + + + + + + + + + +
+
+

All files / src/objects communication_scenario.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class CommunicationScenario extends AbstractObject {
+ 
+  public getType(): string {
+    return "SCO1";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/composite_enhancement_implementation.ts.html b/src/objects/composite_enhancement_implementation.ts.html new file mode 100644 index 00000000000..a2cbb4563f7 --- /dev/null +++ b/src/objects/composite_enhancement_implementation.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/composite_enhancement_implementation.ts + + + + + + + + + +
+
+

All files / src/objects composite_enhancement_implementation.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class CompositeEnhancementImplementation extends AbstractObject {
+ 
+  public getType(): string {
+    return "ENHC";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/composite_enhancement_spot.ts.html b/src/objects/composite_enhancement_spot.ts.html new file mode 100644 index 00000000000..30b767278f3 --- /dev/null +++ b/src/objects/composite_enhancement_spot.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/composite_enhancement_spot.ts + + + + + + + + + +
+
+

All files / src/objects composite_enhancement_spot.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class CompositeEnhancementSpot extends AbstractObject {
+ 
+  public getType(): string {
+    return "ENSC";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/concepts_of_package.ts.html b/src/objects/concepts_of_package.ts.html new file mode 100644 index 00000000000..002b0f73df5 --- /dev/null +++ b/src/objects/concepts_of_package.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/objects/concepts_of_package.ts + + + + + + + + + +
+
+

All files / src/objects concepts_of_package.ts

+
+ +
+ 86.36% + Statements + 19/22 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 86.36% + Lines + 19/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+import {IAllowedNaming} from "./_iobject";
+ 
+export class ConceptsOfPackage extends AbstractObject {
+ 
+  public getType(): string {
+    return "SOTS";
+  }
+ 
+  public getAllowedNaming(): IAllowedNaming {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+      customRegex: new RegExp(/^(\/[A-Z_\d]{3,8}\/)?[A-Z_-\d<> ]+$/i),
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/customer_enhancement_project.ts.html b/src/objects/customer_enhancement_project.ts.html new file mode 100644 index 00000000000..83325e11ccd --- /dev/null +++ b/src/objects/customer_enhancement_project.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/customer_enhancement_project.ts + + + + + + + + + +
+
+

All files / src/objects customer_enhancement_project.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class CustomerEnhancementProject extends AbstractObject {
+ 
+  public getType(): string {
+    return "CMOD";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/customizing_attributes.ts.html b/src/objects/customizing_attributes.ts.html new file mode 100644 index 00000000000..4b5c6295f1a --- /dev/null +++ b/src/objects/customizing_attributes.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/customizing_attributes.ts + + + + + + + + + +
+
+

All files / src/objects customizing_attributes.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class CustomizingAttributes extends AbstractObject {
+ 
+  public getType(): string {
+    return "CUS2";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 20,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/customizing_img_activity.ts.html b/src/objects/customizing_img_activity.ts.html new file mode 100644 index 00000000000..4dd2acfad40 --- /dev/null +++ b/src/objects/customizing_img_activity.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/customizing_img_activity.ts + + + + + + + + + +
+
+

All files / src/objects customizing_img_activity.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class CustomizingImgActivity extends AbstractObject {
+ 
+  public getType(): string {
+    return "CUS0";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 20,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/customizing_transaction.ts.html b/src/objects/customizing_transaction.ts.html new file mode 100644 index 00000000000..a5330facb4e --- /dev/null +++ b/src/objects/customizing_transaction.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/customizing_transaction.ts + + + + + + + + + +
+
+

All files / src/objects customizing_transaction.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class CustomizingTransaction extends AbstractObject {
+ 
+  public getType(): string {
+    return "CUS1";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 20,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/data_control.ts.html b/src/objects/data_control.ts.html new file mode 100644 index 00000000000..26594835218 --- /dev/null +++ b/src/objects/data_control.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/data_control.ts + + + + + + + + + +
+
+

All files / src/objects data_control.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class DataControl extends AbstractObject {
+ 
+  public getType(): string {
+    return "DCLS";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/data_definition.ts.html b/src/objects/data_definition.ts.html new file mode 100644 index 00000000000..e12007f8962 --- /dev/null +++ b/src/objects/data_definition.ts.html @@ -0,0 +1,676 @@ + + + + + + Code coverage report for src/objects/data_definition.ts + + + + + + + + + +
+
+

All files / src/objects data_definition.ts

+
+ +
+ 94.92% + Statements + 187/197 +
+ + +
+ 67.18% + Branches + 43/64 +
+ + +
+ 88.23% + Functions + 15/17 +
+ + +
+ 94.92% + Lines + 187/197 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +1981x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +19x +19x +19x +19x +19x +42x +42x +19x +19x +1x +1x +1x +1x +1x +19x +19x +2x +2x +2x +19x +19x +4x +4x +4x +19x +19x +  +  +  +19x +19x +8x +8x +8x +19x +19x +1x +1x +19x +19x +  +  +  +19x +19x +19x +19x +19x +19x +19x +19x +44x +44x +19x +19x +3x +3x +19x +19x +32x +14x +14x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +32x +16x +77x +22x +22x +77x +16x +16x +16x +77x +16x +16x +32x +2x +2x +18x +18x +18x +18x +19x +19x +4x +4x +19x +19x +19x +19x +18x +18x +9x +9x +18x +19x +19x +16x +16x +2x +2x +16x +2x +2x +16x +36x +36x +27x +27x +2x +27x +25x +25x +27x +36x +  +  +36x +36x +36x +1x +1x +35x +35x +36x +4x +4x +35x +35x +35x +35x +35x +35x +35x +16x +19x +19x +16x +15x +15x +15x +15x +16x +16x +1x +1x +1x +1x +16x +16x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +16x +19x + 
import {ExpressionNode} from "../abap/nodes";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {CDSDetermineTypes} from "../cds/cds_determine_types";
+import {CDSParser} from "../cds/cds_parser";
+import {CDSAnnotate, CDSAnnotation, CDSAs, CDSAssociation, CDSDefineProjection, CDSElement, CDSName, CDSRelation, CDSSelect, CDSSource} from "../cds/expressions";
+import {IRegistry} from "../_iregistry";
+import {AbstractObject} from "./_abstract_object";
+import {IParseResult} from "./_iobject";
+ 
+export type ParsedDataDefinition = {
+  sqlViewName: string | undefined;
+  definitionName: string | undefined;
+  fields: {key: boolean, name: string, annotations: string[]}[];
+  sources: {name: string, as: string | undefined}[];
+  associations: {name: string, as: string | undefined}[],
+  relations: {name: string, as: string | undefined}[];
+  tree: ExpressionNode | undefined;
+};
+ 
+export class DataDefinition extends AbstractObject {
+  private parserError: boolean | undefined = undefined;
+  private parsedData: ParsedDataDefinition | undefined = undefined;
+ 
+  public getType(): string {
+    return "DDLS";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getSQLViewName(): string | undefined {
+    this.parse();
+    return this.parsedData?.sqlViewName;
+  }
+ 
+  public getDefinitionName(): string | undefined {
+    this.parse();
+    return this.parsedData?.definitionName;
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public parseType(reg: IRegistry): AbstractType {
+    this.parse();
+    return new CDSDetermineTypes().parseType(reg, this.parsedData!);
+  }
+ 
+  public getParsedData() {
+    return this.parsedData;
+  }
+ 
+  public listSources() {
+    this.parse();
+    return this.parsedData?.sources;
+  }
+ 
+  public setDirty(): void {
+    this.parsedData = undefined;
+    this.parserError = undefined;
+    super.setDirty();
+  }
+ 
+  public findSourceFile() {
+    return this.getFiles().find(f => f.getFilename().endsWith(".asddls") || f.getFilename().endsWith(".acds"));
+  }
+ 
+  public hasParserError() {
+    return this.parserError;
+  }
+ 
+  public parse(): IParseResult {
+    if (this.isDirty() === false) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+ 
+    this.parsedData = {
+      sqlViewName: undefined,
+      definitionName: undefined,
+      fields: [],
+      sources: [],
+      relations: [],
+      associations: [],
+      tree: undefined,
+    };
+ 
+    this.findSQLViewName();
+ 
+    this.parsedData.tree = new CDSParser().parse(this.findSourceFile());
+    if (this.parsedData.tree) {
+      for (const c of this.parsedData.tree?.getChildren() || []) {
+        if (c.get() instanceof CDSAnnotation) {
+          continue;
+        }
+        if (c instanceof ExpressionNode) {
+          this.parsedData.definitionName = c.findFirstExpression(CDSName)?.concatTokens().replace(/ /g, "");
+          break;
+        }
+      }
+      this.findSourcesAndRelations(this.parsedData.tree);
+      this.findFieldNames(this.parsedData.tree);
+    } else {
+      this.parserError = true;
+    }
+ 
+    this.dirty = false;
+    return {updated: true, runtime: Date.now() - start};
+  }
+ 
+  public getTree() {
+    return this.parsedData?.tree;
+  }
+ 
+//////////
+ 
+  private findSQLViewName(): void {
+    const match = this.findSourceFile()?.getRaw().match(/@AbapCatalog\.sqlViewName: '(\w+)'/);
+    if (match) {
+      this.parsedData!.sqlViewName = match[1].toUpperCase();
+    }
+  }
+ 
+  private findFieldNames(tree: ExpressionNode) {
+    let expr = tree.findFirstExpression(CDSSelect);
+    if (expr === undefined) {
+      expr = tree.findFirstExpression(CDSAnnotate);
+    }
+    if (expr === undefined) {
+      expr = tree.findFirstExpression(CDSDefineProjection);
+    }
+    for (const e of expr?.findDirectExpressions(CDSElement) || []) {
+      let found = e.findDirectExpression(CDSAs)?.findDirectExpression(CDSName);
+      if (found === undefined) {
+        const list = e.findDirectExpressions(CDSName);
+        if (e.concatTokens().toUpperCase().includes(" REDIRECTED TO ")) {
+          found = list[0];
+        } else {
+          found = list[list.length - 1];
+        }
+      }
+      if (found === undefined) {
+        continue;
+      }
+      const name = found?.concatTokens();
+      if (this.parsedData?.associations.some(a =>
+        a.name.toUpperCase() === name.toUpperCase() || a.as?.toUpperCase() === name.toUpperCase())) {
+        continue;
+      }
+ 
+      const annotations: string[] = [];
+      for (const a of e.findDirectExpressions(CDSAnnotation)) {
+        annotations.push(a.concatTokens());
+      }
+ 
+      this.parsedData!.fields.push({
+        name: name,
+        annotations: annotations,
+        key: e.findDirectTokenByText("KEY") !== undefined,
+      });
+    }
+  }
+ 
+  private findSourcesAndRelations(tree: ExpressionNode) {
+    for (const e of tree.findAllExpressions(CDSSource)) {
+      const name = e.getFirstToken().getStr();
+      const as = e.findDirectExpression(CDSAs)?.findDirectExpression(CDSName)?.getFirstToken().getStr();
+      this.parsedData!.sources.push({name, as});
+    }
+ 
+    for (const e of tree.findAllExpressions(CDSRelation)) {
+      const name = e.getFirstToken().getStr();
+      const as = e.findDirectExpression(CDSAs)?.findDirectExpression(CDSName)?.getFirstToken().getStr();
+      this.parsedData!.relations.push({name, as});
+    }
+ 
+    for (const e of tree.findAllExpressions(CDSAssociation)) {
+      const j = e.findDirectExpression(CDSRelation);
+      if (j === undefined) {
+        continue;
+      }
+      const name = j.getFirstToken().getStr();
+      const as = j.findDirectExpression(CDSAs)?.findDirectExpression(CDSName)?.getFirstToken().getStr();
+      this.parsedData!.associations.push({
+        name: name || "ERROR",
+        as: as,
+      });
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/data_element.ts.html b/src/objects/data_element.ts.html new file mode 100644 index 00000000000..65856c51851 --- /dev/null +++ b/src/objects/data_element.ts.html @@ -0,0 +1,400 @@ + + + + + + Code coverage report for src/objects/data_element.ts + + + + + + + + + +
+
+

All files / src/objects data_element.ts

+
+ +
+ 93.33% + Statements + 98/105 +
+ + +
+ 92% + Branches + 46/50 +
+ + +
+ 87.5% + Functions + 7/8 +
+ + +
+ 93.33% + Lines + 98/105 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +1061x +1x +1x +1x +1x +1x +1x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +1492x +1492x +60x +60x +57x +57x +60x +60x +42x +42x +42x +42x +42x +60x +60x +76x +76x +76x +60x +60x +  +  +  +60x +60x +226x +226x +226x +226x +  +226x +226x +226x +24x +2x +24x +22x +22x +226x +2x +  +2x +2x +2x +202x +200x +20x +200x +180x +180x +180x +200x +226x +226x +226x +13x +13x +226x +226x +226x +60x +60x +88x +30x +30x +58x +58x +58x +58x +88x +  +  +58x +88x +88x +88x +88x +88x +88x +88x +88x +88x +88x +88x +88x +88x +60x +60x + 
import {AbstractObject} from "./_abstract_object";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {IRegistry} from "../_iregistry";
+import {DDIC, ILookupResult} from "../ddic";
+import * as Types from "../abap/types/basic";
+import {IObjectAndToken} from "../_iddic_references";
+ 
+export class DataElement extends AbstractObject {
+  private parsedXML: {
+    description?: string,
+    refkind?: string,
+    domname?: string,
+    datatype?: string,
+    leng?: string,
+    decimals?: string} | undefined = undefined;
+ 
+  public getType(): string {
+    return "DTEL";
+  }
+ 
+  public getDescription(): string | undefined {
+    return this.parsedXML?.description;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getDomainName(): string | undefined {
+    this.parse();
+    return this.parsedXML?.domname;
+  }
+ 
+  public parseType(reg: IRegistry): AbstractType {
+    const references: IObjectAndToken[] = [];
+ 
+    let lookup: ILookupResult | undefined = undefined;
+    if (this.parsedXML === undefined) {
+      lookup = {type: new Types.UnknownType("Data Element " + this.getName() + ", parser error")};
+    } else {
+      const ddic = new DDIC(reg);
+      if (this.parsedXML.refkind === "D") {
+        if (this.parsedXML.domname === undefined || this.parsedXML.domname === "") {
+          lookup = {type: new Types.UnknownType("DOMNAME unexpectely empty in " + this.getName())};
+        } else {
+          lookup = ddic.lookupDomain(this.parsedXML.domname, this.getName());
+        }
+      } else if (this.parsedXML.refkind === "R") {
+        if (this.parsedXML.domname === undefined || this.parsedXML.domname === "") {
+          lookup = {type: new Types.UnknownType("DOMNAME unexpectely empty in " + this.getName())};
+        } else {
+          lookup = ddic.lookupObject(this.parsedXML.domname);
+        }
+      } else {
+        if (this.parsedXML.datatype === undefined || this.parsedXML.datatype === "") {
+          lookup = {type: new Types.UnknownType("DATATYPE unexpectely empty in " + this.getName())};
+        } else {
+          lookup = {type: ddic.textToType(this.parsedXML.datatype, this.parsedXML.leng, this.parsedXML.decimals,
+                                          this.getName(), this.getName(), undefined, this.getName())};
+        }
+      }
+    }
+ 
+    if (lookup.object) {
+      references.push({object: lookup.object});
+    }
+    reg.getDDICReferences().setUsing(this, references);
+    return lookup.type;
+  }
+ 
+  public parse() {
+    if (this.parsedXML !== undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+    if (parsed === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const dd04v = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.DD04V;
+    this.parsedXML = {
+      description: dd04v?.DDTEXT,
+      refkind: dd04v?.REFKIND,
+      domname: dd04v?.DOMNAME,
+      datatype: dd04v?.DATATYPE,
+      leng: dd04v?.LENG,
+      decimals: dd04v?.DECIMALS,
+    };
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/dialog_module.ts.html b/src/objects/dialog_module.ts.html new file mode 100644 index 00000000000..a3f58f70f63 --- /dev/null +++ b/src/objects/dialog_module.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/dialog_module.ts + + + + + + + + + +
+
+

All files / src/objects dialog_module.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class DialogModule extends AbstractObject {
+ 
+  public getType(): string {
+    return "DIAL";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/documentation.ts.html b/src/objects/documentation.ts.html new file mode 100644 index 00000000000..5c2727f2656 --- /dev/null +++ b/src/objects/documentation.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/documentation.ts + + + + + + + + + +
+
+

All files / src/objects documentation.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class Documentation extends AbstractObject {
+ 
+  public getType(): string {
+    return "DOCV";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/domain.ts.html b/src/objects/domain.ts.html new file mode 100644 index 00000000000..db93375af33 --- /dev/null +++ b/src/objects/domain.ts.html @@ -0,0 +1,415 @@ + + + + + + Code coverage report for src/objects/domain.ts + + + + + + + + + +
+
+

All files / src/objects domain.ts

+
+ +
+ 92.79% + Statements + 103/111 +
+ + +
+ 82.14% + Branches + 46/56 +
+ + +
+ 87.5% + Functions + 7/8 +
+ + +
+ 92.79% + Lines + 103/111 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +1111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +187x +187x +1x +1x +7x +7x +1x +1x +  +  +1x +1x +4x +4x +4x +4x +4x +1x +1x +31x +31x +31x +1x +1x +17x +17x +17x +  +  +17x +  +  +17x +17x +17x +17x +17x +17x +17x +17x +17x +17x +1x +1x +32x +3x +3x +29x +29x +29x +29x +32x +  +  +29x +32x +32x +32x +32x +55x +55x +55x +55x +55x +55x +55x +55x +29x +29x +32x +32x +32x +32x +32x +32x +32x +32x +32x +32x +1x +1x +26x +26x +1x +1x
import {AbstractObject} from "./_abstract_object";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import * as Types from "../abap/types/basic";
+import {IRegistry} from "../_iregistry";
+import {DDIC} from "../ddic";
+import {xmlToArray} from "../xml_utils";
+ 
+export interface DomainValue {
+  language: string,
+  low: string,
+  high: string,
+  description: string
+}
+ 
+export class Domain extends AbstractObject {
+ 
+  private parsedXML: {
+    description?: string,
+    datatype?: string,
+    length?: string,
+    decimals?: string,
+    conversionExit?: string,
+    values?: DomainValue[],
+  } | undefined;
+ 
+  public getType(): string {
+    return "DOMA";
+  }
+ 
+  public getDescription(): string | undefined {
+    return this.parsedXML?.description;
+  }
+ 
+  public getConversionExit(): string | undefined {
+    return this.parsedXML?.conversionExit;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public parseType(reg: IRegistry, dataElement?: string): AbstractType {
+    // dont cache the DOMA parsed type, they are cached on DTEL level
+    // also note that the type carries the name of the DTEL
+    if (this.parsedXML === undefined) {
+      this.parse();
+    }
+    if (this.parsedXML === undefined) {
+      return new Types.UnknownType("Domain " + this.getName() + " parser error", this.getName());
+    }
+    const ddic = new DDIC(reg);
+    return ddic.textToType(
+      this.parsedXML.datatype,
+      this.parsedXML.length,
+      this.parsedXML.decimals,
+      this.getName(),
+      dataElement,
+      this.parsedXML.conversionExit,
+      dataElement);
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+    if (parsed === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const dd01v = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.DD01V;
+    const dd07v_tab = xmlToArray(parsed.abapGit?.["asx:abap"]?.["asx:values"]?.DD07V_TAB?.DD07V);
+    const values: DomainValue[] = [];
+    for (const ddo7v of dd07v_tab) {
+      const value: DomainValue = {
+        description: ddo7v?.DDTEXT,
+        low: ddo7v?.DOMVALUE_L,
+        high: ddo7v?.DOMVALUE_H,
+        language: ddo7v?.DDLANGUAGE,
+      };
+      values.push(value);
+    }
+ 
+    this.parsedXML = {
+      description: dd01v?.DDTEXT,
+      datatype: dd01v?.DATATYPE,
+      length: dd01v?.LENG,
+      conversionExit: dd01v?.CONVEXIT,
+      decimals: dd01v?.DECIMALS,
+      values: values,
+    };
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+ 
+  public getFixedValues() {
+    return this.parsedXML?.values ?? [];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/ecatt_test_configuration.ts.html b/src/objects/ecatt_test_configuration.ts.html new file mode 100644 index 00000000000..63b5a493def --- /dev/null +++ b/src/objects/ecatt_test_configuration.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/ecatt_test_configuration.ts + + + + + + + + + +
+
+

All files / src/objects ecatt_test_configuration.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class EcattTestConfiguration extends AbstractObject {
+ 
+  public getType(): string {
+    return "ECTC";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/ecatt_test_data_container.ts.html b/src/objects/ecatt_test_data_container.ts.html new file mode 100644 index 00000000000..3ae6e185008 --- /dev/null +++ b/src/objects/ecatt_test_data_container.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/ecatt_test_data_container.ts + + + + + + + + + +
+
+

All files / src/objects ecatt_test_data_container.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class EcattTestDataContainer extends AbstractObject {
+ 
+  public getType(): string {
+    return "ECTD";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/ecatt_test_script.ts.html b/src/objects/ecatt_test_script.ts.html new file mode 100644 index 00000000000..ce7af1c4fe9 --- /dev/null +++ b/src/objects/ecatt_test_script.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/ecatt_test_script.ts + + + + + + + + + +
+
+

All files / src/objects ecatt_test_script.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class EcattTestScript extends AbstractObject {
+ 
+  public getType(): string {
+    return "ECAT";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/enhancement_implementation.ts.html b/src/objects/enhancement_implementation.ts.html new file mode 100644 index 00000000000..a282c94b371 --- /dev/null +++ b/src/objects/enhancement_implementation.ts.html @@ -0,0 +1,250 @@ + + + + + + Code coverage report for src/objects/enhancement_implementation.ts + + + + + + + + + +
+
+

All files / src/objects enhancement_implementation.ts

+
+ +
+ 87.27% + Statements + 48/55 +
+ + +
+ 75% + Branches + 9/12 +
+ + +
+ 83.33% + Functions + 5/6 +
+ + +
+ 87.27% + Lines + 48/55 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +561x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +2x +2x +1x +1x +1x +1x +1x +1x +3x +  +  +1x +1x +1x +1x +1x +1x +1x +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class EnhancementImplementation extends AbstractObject {
+  private parsedXML: {
+    className?: string,
+    description?: string,
+  } | undefined;
+ 
+  public getType(): string {
+    return "ENHO";
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getClassName(): string | undefined {
+    this.parse();
+    return this.parsedXML?.className;
+  }
+ 
+  public getDescription(): string | undefined {
+    this.parse();
+    return this.parsedXML?.description;
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+    if (parsed === undefined
+        || parsed.abapGit === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    this.parsedXML.className = parsed.abapGit["asx:abap"]["asx:values"].CLASS;
+    this.parsedXML.description = parsed.abapGit["asx:abap"]["asx:values"].SHORTTEXT;
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/enhancement_spot.ts.html b/src/objects/enhancement_spot.ts.html new file mode 100644 index 00000000000..8b96416358c --- /dev/null +++ b/src/objects/enhancement_spot.ts.html @@ -0,0 +1,259 @@ + + + + + + Code coverage report for src/objects/enhancement_spot.ts + + + + + + + + + +
+
+

All files / src/objects enhancement_spot.ts

+
+ +
+ 91.37% + Statements + 53/58 +
+ + +
+ 62.5% + Branches + 5/8 +
+ + +
+ 83.33% + Functions + 5/6 +
+ + +
+ 91.37% + Lines + 53/58 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +591x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +25x +25x +1x +1x +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +1x +1x +2x +2x +2x +2x +2x +1x +1x +1x +1x +2x +2x +  +  +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1x + 
import {AbstractObject} from "./_abstract_object";
+import {xmlToArray} from "../xml_utils";
+ 
+export interface IBadiDefinition {
+  name: string,
+  interface: string,
+}
+ 
+export class EnhancementSpot extends AbstractObject {
+  private badis: IBadiDefinition[] | undefined;
+ 
+  public getType(): string {
+    return "ENHS";
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.badis = undefined;
+    super.setDirty();
+  }
+ 
+  public listBadiDefinitions(): IBadiDefinition[] {
+    if (this.badis === undefined) {
+      this.badis = this.parseXML();
+    }
+    return this.badis;
+  }
+ 
+/////////////////
+ 
+  private parseXML(): IBadiDefinition[] {
+    const parsed = super.parseRaw2();
+    if (parsed === undefined) {
+      return [];
+    }
+ 
+    const ret: IBadiDefinition[] = [];
+    for (const b of xmlToArray(parsed.abapGit["asx:abap"]["asx:values"]?.BADI_DATA?.ENH_BADI_DATA)) {
+      ret.push({
+        name: b.BADI_NAME,
+        interface: b.INTERFACE_NAME,
+      });
+    }
+ 
+    return ret;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/event_binding.ts.html b/src/objects/event_binding.ts.html new file mode 100644 index 00000000000..c25d8c09aab --- /dev/null +++ b/src/objects/event_binding.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/event_binding.ts + + + + + + + + + +
+
+

All files / src/objects event_binding.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class EventBinding extends AbstractObject {
+ 
+  public getType(): string {
+    return "EVTB";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/event_consumer.ts.html b/src/objects/event_consumer.ts.html new file mode 100644 index 00000000000..1bc8b8580b3 --- /dev/null +++ b/src/objects/event_consumer.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/event_consumer.ts + + + + + + + + + +
+
+

All files / src/objects event_consumer.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class EventConsumer extends AbstractObject {
+ 
+  public getType(): string {
+    return "EEEC";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/extension_index.ts.html b/src/objects/extension_index.ts.html new file mode 100644 index 00000000000..f8496798019 --- /dev/null +++ b/src/objects/extension_index.ts.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for src/objects/extension_index.ts + + + + + + + + + +
+
+

All files / src/objects extension_index.ts

+
+ +
+ 87.5% + Statements + 49/56 +
+ + +
+ 68.75% + Branches + 22/32 +
+ + +
+ 85.71% + Functions + 6/7 +
+ + +
+ 87.5% + Lines + 49/56 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +571x +1x +2x +2x +2x +2x +2x +2x +2x +4x +4x +2x +2x +  +  +  +  +  +2x +2x +1x +1x +1x +2x +2x +1x +1x +1x +2x +2x +1x +1x +1x +2x +2x +3x +2x +2x +1x +1x +1x +1x +3x +  +  +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +2x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class ExtensionIndex extends AbstractObject {
+  private parsedXML: {
+    sqltab?: string,
+    ddtext?: string,
+  } | undefined = undefined;
+ 
+  public getType(): string {
+    return "XINX";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 33,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getDescription(): string | undefined {
+    this.parse();
+    return this.parsedXML?.ddtext;
+  }
+ 
+  public getTableName(): string | undefined {
+    this.parse();
+    return this.parsedXML?.sqltab;
+  }
+ 
+  public parse() {
+    if (this.parsedXML !== undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+    if (parsed === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const xinx = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.XINX;
+    this.parsedXML = {
+      sqltab: xinx?.DD12V?.SQLTAB,
+      ddtext: xinx?.DD12V?.DDTEXT,
+    };
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/field_catalog.ts.html b/src/objects/field_catalog.ts.html new file mode 100644 index 00000000000..935596cdeda --- /dev/null +++ b/src/objects/field_catalog.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/field_catalog.ts + + + + + + + + + +
+
+

All files / src/objects field_catalog.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class FieldCatalog extends AbstractObject {
+ 
+  public getType(): string {
+    return "ASFC";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/form_object_form.ts.html b/src/objects/form_object_form.ts.html new file mode 100644 index 00000000000..9c9b2cd6980 --- /dev/null +++ b/src/objects/form_object_form.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/form_object_form.ts + + + + + + + + + +
+
+

All files / src/objects form_object_form.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class FormObjectForm extends AbstractObject {
+ 
+  public getType(): string {
+    return "SFPF";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/form_object_interface.ts.html b/src/objects/form_object_interface.ts.html new file mode 100644 index 00000000000..5354314b3e3 --- /dev/null +++ b/src/objects/form_object_interface.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/form_object_interface.ts + + + + + + + + + +
+
+

All files / src/objects form_object_interface.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class FormObjectInterface extends AbstractObject {
+ 
+  public getType(): string {
+    return "SFPI";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/format_type.ts.html b/src/objects/format_type.ts.html new file mode 100644 index 00000000000..5a866cdec57 --- /dev/null +++ b/src/objects/format_type.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/format_type.ts + + + + + + + + + +
+
+

All files / src/objects format_type.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class FormatType extends AbstractObject {
+ 
+  public getType(): string {
+    return "SPLO";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/function_group.ts.html b/src/objects/function_group.ts.html new file mode 100644 index 00000000000..a41f758dfcb --- /dev/null +++ b/src/objects/function_group.ts.html @@ -0,0 +1,634 @@ + + + + + + Code coverage report for src/objects/function_group.ts + + + + + + + + + +
+
+

All files / src/objects function_group.ts

+
+ +
+ 81.96% + Statements + 150/183 +
+ + +
+ 84.44% + Branches + 38/45 +
+ + +
+ 80% + Functions + 12/15 +
+ + +
+ 81.96% + Lines + 150/183 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +1841x +1x +1x +1x +1x +1x +22x +22x +22x +22x +22x +200x +200x +22x +22x +  +  +  +22x +22x +80x +80x +80x +80x +22x +22x +1x +1x +1x +1x +1x +22x +22x +21x +21x +2x +2x +19x +19x +21x +15x +15x +37x +15x +15x +15x +15x +15x +37x +15x +19x +19x +19x +22x +22x +29x +12x +12x +29x +  +  +29x +29x +29x +22x +22x +71x +71x +71x +209x +510x +510x +510x +22x +22x +510x +91x +91x +510x +510x +510x +22x +22x +  +  +22x +510x +209x +71x +71x +22x +22x +66x +66x +66x +78x +26x +26x +78x +40x +40x +22x +22x +36x +36x +73x +33x +33x +73x +3x +3x +22x +22x +72x +4x +4x +72x +  +  +72x +72x +72x +22x +22x +7x +7x +7x +7x +7x +  +  +22x +22x +  +  +  +  +  +  +  +  +  +  +  +  +22x +22x +22x +22x +16x +16x +16x +16x +16x +  +  +16x +16x +16x +16x +16x +35x +35x +16x +16x +16x +16x +16x +15x +15x +16x +22x +22x +  +  +  +  +  +  +  +  +22x +22x + 
import {ABAPObject, ITextElements} from "./_abap_object";
+import {FunctionModuleDefinition} from "../abap/types";
+import {xmlToArray} from "../xml_utils";
+import {XMLParser} from "fast-xml-parser";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class FunctionGroup extends ABAPObject {
+  private includes: string[] | undefined = undefined;
+  private modules: FunctionModuleDefinition[] | undefined = undefined;
+ 
+  public getType(): string {
+    return "FUGR";
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public setDirty() {
+    super.setDirty();
+    this.includes = undefined;
+    this.modules = undefined;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 26,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getSequencedFiles(): readonly ABAPFile[] {
+    const main = this.getMainABAPFile();
+    if (main === undefined) {
+      return [];
+    }
+    const sequence = [main];
+ 
+    for (const m of this.getModules()) {
+      const search = "." + m.getName().toLocaleLowerCase().replace(/\//g, "#") + ".abap";
+      for (const f of this.getABAPFiles()) {
+        if (f.getFilename().toLocaleLowerCase().endsWith(search)) {
+          if (sequence.indexOf(f) < 0) {
+            sequence.push(f);
+          }
+          break;
+        }
+      }
+    }
+ 
+    return sequence;
+  }
+ 
+  public getModules(): FunctionModuleDefinition[] {
+    if (this.modules === undefined) {
+      this.parseXML();
+    }
+    if (this.modules === undefined) {
+      throw new Error("getIncludes, undefined");
+    }
+ 
+    return this.modules;
+  }
+ 
+  public getIncludeFiles(): {file: ABAPFile, name: string}[] {
+    const ret = [];
+    const includes = this.getIncludes();
+    for (const f of this.getABAPFiles()) {
+      for (const i of includes) {
+        const namespaced = i.startsWith("/") && i.includes("/L");
+        let search = i;
+        if (namespaced) {
+          search = search.replace(/\//g, "#");
+        }
+        if ((i.startsWith("L") || namespaced) && f.getFilename().includes(search.toLowerCase())) {
+          ret.push({file: f, name: i});
+        }
+ 
+        // fix for URL encoded? Uris
+        if (namespaced) {
+          search = i.replace(/\//g, "%23");
+          if (f.getFilename().includes(search.toLowerCase())) {
+            ret.push({file: f, name: i});
+          }
+        }
+      }
+    }
+    return ret;
+  }
+ 
+  public getInclude(name: string): ABAPFile | undefined {
+    const upper = name.toUpperCase();
+    const includes = this.getIncludeFiles();
+    for (const i of includes) {
+      if (i.name.toUpperCase() === upper) {
+        return i.file;
+      }
+    }
+    return undefined;
+  }
+ 
+  public getMainABAPFile(): ABAPFile | undefined {
+    const regex = new RegExp(/\.fugr\.(#\w+#)?sapl/, "i");
+    for (const f of this.getABAPFiles()) {
+      if (regex.test(f.getFilename())) {
+        return f;
+      }
+    }
+    return undefined;
+  }
+ 
+  public getIncludes(): string[] {
+    if (this.includes === undefined) {
+      this.parseXML();
+    }
+    if (this.includes === undefined) {
+      throw new Error("getIncludes, undefined");
+    }
+ 
+    return this.includes;
+  }
+ 
+  public getModule(name: string): FunctionModuleDefinition | undefined {
+    for (const mod of this.getModules()) {
+      if (mod.getName().toUpperCase() === name.toUpperCase()) {
+        return mod;
+      }
+    }
+    return undefined;
+  }
+ 
+  public getTexts(): ITextElements {
+    if (this.texts === undefined) {
+      const found = this.findTextFile();
+      if (found === undefined) {
+        return {};
+      }
+
+      const parsed = new XMLParser({parseTagValue: false, ignoreAttributes: true, trimValues: false}).parse(found.getRaw());
+      this.findTexts(parsed);
+    }
+
+    return this.texts!;
+  }
+ 
+/////////////////////////////////
+ 
+  private parseXML() {
+    this.includes = [];
+    this.modules = [];
+ 
+    const parsed = this.parseRaw2();
+    if (parsed === undefined) {
+      return;
+    }
+ 
+    // INCLUDES
+    const includes = parsed.abapGit["asx:abap"]["asx:values"]?.INCLUDES;
+    if (includes !== undefined) {
+      for (const i of xmlToArray(includes.SOBJ_NAME)) {
+        this.includes.push(i);
+      }
+    }
+ 
+    // FUNCTION MODULES
+    const functions = parsed.abapGit["asx:abap"]["asx:values"]?.FUNCTIONS;
+    for (const module of xmlToArray(functions?.item)) {
+      this.modules.push(new FunctionModuleDefinition(module));
+    }
+  }
+ 
+  private findTextFile() {
+    const search = this.getName() + ".fugr.sapl" + this.getName() + ".xml";
+    for (const f of this.getFiles()) {
+      if (f.getFilename().includes(search.toLowerCase())) {
+        return f;
+      }
+    }
+    return undefined;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/gateway_model.ts.html b/src/objects/gateway_model.ts.html new file mode 100644 index 00000000000..3b0307f55d3 --- /dev/null +++ b/src/objects/gateway_model.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/gateway_model.ts + + + + + + + + + +
+
+

All files / src/objects gateway_model.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class GatewayModel extends AbstractObject {
+ 
+  public getType(): string {
+    return "IWMO";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 36,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/gateway_model_metadata.ts.html b/src/objects/gateway_model_metadata.ts.html new file mode 100644 index 00000000000..158ee519bb0 --- /dev/null +++ b/src/objects/gateway_model_metadata.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/gateway_model_metadata.ts + + + + + + + + + +
+
+

All files / src/objects gateway_model_metadata.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class GatewayModelMetadata extends AbstractObject {
+ 
+  public getType(): string {
+    return "IWOM";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/gateway_project.ts.html b/src/objects/gateway_project.ts.html new file mode 100644 index 00000000000..f5f55157665 --- /dev/null +++ b/src/objects/gateway_project.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/gateway_project.ts + + + + + + + + + +
+
+

All files / src/objects gateway_project.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class GatewayProject extends AbstractObject {
+ 
+  public getType(): string {
+    return "IWPR";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/gateway_service.ts.html b/src/objects/gateway_service.ts.html new file mode 100644 index 00000000000..b28ff2cad02 --- /dev/null +++ b/src/objects/gateway_service.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/gateway_service.ts + + + + + + + + + +
+
+

All files / src/objects gateway_service.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class GatewayService extends AbstractObject {
+ 
+  public getType(): string {
+    return "IWSV";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 39,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/gateway_service_groups_metadata.ts.html b/src/objects/gateway_service_groups_metadata.ts.html new file mode 100644 index 00000000000..6c6733c2258 --- /dev/null +++ b/src/objects/gateway_service_groups_metadata.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/gateway_service_groups_metadata.ts + + + + + + + + + +
+
+

All files / src/objects gateway_service_groups_metadata.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class GatewayServiceGroupsMetadata extends AbstractObject {
+ 
+  public getType(): string {
+    return "IWSG";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/gateway_vocabulary_annotation.ts.html b/src/objects/gateway_vocabulary_annotation.ts.html new file mode 100644 index 00000000000..fcd574d08e6 --- /dev/null +++ b/src/objects/gateway_vocabulary_annotation.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/gateway_vocabulary_annotation.ts + + + + + + + + + +
+
+

All files / src/objects gateway_vocabulary_annotation.ts

+
+ +
+ 85% + Statements + 17/20 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 85% + Lines + 17/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class GatewayVocabularyAnnotation extends AbstractObject {
+ 
+  public getType(): string {
+    return "IWVB";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 36,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/general_hierarchy_storage_extrension_name.ts.html b/src/objects/general_hierarchy_storage_extrension_name.ts.html new file mode 100644 index 00000000000..d5206698210 --- /dev/null +++ b/src/objects/general_hierarchy_storage_extrension_name.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/general_hierarchy_storage_extrension_name.ts + + + + + + + + + +
+
+

All files / src/objects general_hierarchy_storage_extrension_name.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class GeneralHierarchyStorageExtrensionName extends AbstractObject {
+ 
+  public getType(): string {
+    return "SHI5";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 15,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/general_storage_structure.ts.html b/src/objects/general_storage_structure.ts.html new file mode 100644 index 00000000000..5479e76abe6 --- /dev/null +++ b/src/objects/general_storage_structure.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/general_storage_structure.ts + + + + + + + + + +
+
+

All files / src/objects general_storage_structure.ts

+
+ +
+ 85% + Statements + 17/20 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 85% + Lines + 17/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class GeneralStorageStructure extends AbstractObject {
+ 
+  public getType(): string {
+    return "SHI3";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 32,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/general_text.ts.html b/src/objects/general_text.ts.html new file mode 100644 index 00000000000..8aa9b366dbd --- /dev/null +++ b/src/objects/general_text.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/general_text.ts + + + + + + + + + +
+
+

All files / src/objects general_text.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class GeneralText extends AbstractObject {
+ 
+  public getType(): string {
+    return "DOCT";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/http_service.ts.html b/src/objects/http_service.ts.html new file mode 100644 index 00000000000..fa88a29aca8 --- /dev/null +++ b/src/objects/http_service.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/http_service.ts + + + + + + + + + +
+
+

All files / src/objects http_service.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class HttpService extends AbstractObject {
+ 
+  public getType(): string {
+    return "HTTP";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/iac_binary_data.ts.html b/src/objects/iac_binary_data.ts.html new file mode 100644 index 00000000000..da505145e90 --- /dev/null +++ b/src/objects/iac_binary_data.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/iac_binary_data.ts + + + + + + + + + +
+
+

All files / src/objects iac_binary_data.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class IACBinaryData extends AbstractObject {
+ 
+  public getType(): string {
+    return "IAMU";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 100,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/iac_language_resource.ts.html b/src/objects/iac_language_resource.ts.html new file mode 100644 index 00000000000..0d3bf255278 --- /dev/null +++ b/src/objects/iac_language_resource.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/iac_language_resource.ts + + + + + + + + + +
+
+

All files / src/objects iac_language_resource.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class IACLanguageResource extends AbstractObject {
+ 
+  public getType(): string {
+    return "IARP";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 100,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/iac_service.ts.html b/src/objects/iac_service.ts.html new file mode 100644 index 00000000000..4d350c16b48 --- /dev/null +++ b/src/objects/iac_service.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/iac_service.ts + + + + + + + + + +
+
+

All files / src/objects iac_service.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class IACService extends AbstractObject {
+ 
+  public getType(): string {
+    return "IASP";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/iac_template.ts.html b/src/objects/iac_template.ts.html new file mode 100644 index 00000000000..6e1ac73fbf6 --- /dev/null +++ b/src/objects/iac_template.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/iac_template.ts + + + + + + + + + +
+
+

All files / src/objects iac_template.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class IACTemplate extends AbstractObject {
+ 
+  public getType(): string {
+    return "IATU";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 100,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/iam_app.ts.html b/src/objects/iam_app.ts.html new file mode 100644 index 00000000000..f4bb29f01ee --- /dev/null +++ b/src/objects/iam_app.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/iam_app.ts + + + + + + + + + +
+
+

All files / src/objects iam_app.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class IAMApp extends AbstractObject {
+ 
+  public getType(): string {
+    return "SIA6";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/icf_service.ts.html b/src/objects/icf_service.ts.html new file mode 100644 index 00000000000..aed9a73615b --- /dev/null +++ b/src/objects/icf_service.ts.html @@ -0,0 +1,289 @@ + + + + + + Code coverage report for src/objects/icf_service.ts + + + + + + + + + +
+
+

All files / src/objects icf_service.ts

+
+ +
+ 95.65% + Statements + 66/69 +
+ + +
+ 84.61% + Branches + 11/13 +
+ + +
+ 85.71% + Functions + 6/7 +
+ + +
+ 95.65% + Lines + 66/69 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +691x +1x +1x +1x +1x +1x +1x +1x +1x +1x +16x +16x +1x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +1x +1x +  +  +  +1x +1x +1x +1x +1x +1x +1x +4x +4x +4x +1x +1x +8x +3x +3x +5x +5x +5x +5x +5x +5x +8x +2x +2x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {AbstractObject} from "./_abstract_object";
+import {xmlToArray} from "../xml_utils";
+ 
+export class ICFService extends AbstractObject {
+  private parsedXML: {
+    url?: string,
+    handlers?: string[] | undefined,
+  } | undefined;
+ 
+  public getType(): string {
+    return "SICF";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 100,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public getURL(): string | undefined {
+    this.parse();
+    return this.parsedXML?.url;
+  }
+ 
+  public getHandlerList(): string[] | undefined {
+    this.parse();
+    return this.parsedXML?.handlers;
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+    if (parsed === undefined
+        || parsed.abapGit === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const table = parsed.abapGit["asx:abap"]["asx:values"].ICFHANDLER_TABLE;
+    this.parsedXML.handlers = [];
+    for (const h of xmlToArray(table)) {
+      if (h.ICFHANDLER !== undefined) {
+        this.parsedXML.handlers.push(h.ICFHANDLER.ICFHANDLER);
+      }
+    }
+ 
+    this.parsedXML.url = parsed.abapGit["asx:abap"]["asx:values"].URL;
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/idoc.ts.html b/src/objects/idoc.ts.html new file mode 100644 index 00000000000..5c7ad3e1f54 --- /dev/null +++ b/src/objects/idoc.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/idoc.ts + + + + + + + + + +
+
+

All files / src/objects idoc.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +15x +15x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class Idoc extends AbstractObject {
+ 
+  public getType(): string {
+    return "IDOC";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/idoc_extension.ts.html b/src/objects/idoc_extension.ts.html new file mode 100644 index 00000000000..14f0b981324 --- /dev/null +++ b/src/objects/idoc_extension.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/idoc_extension.ts + + + + + + + + + +
+
+

All files / src/objects idoc_extension.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class IdocExtension extends AbstractObject {
+ 
+  public getType(): string {
+    return "IEXT";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: false,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/inbound_service.ts.html b/src/objects/inbound_service.ts.html new file mode 100644 index 00000000000..eb1c8c5a0c5 --- /dev/null +++ b/src/objects/inbound_service.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/inbound_service.ts + + + + + + + + + +
+
+

All files / src/objects inbound_service.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class InboundService extends AbstractObject {
+ 
+  public getType(): string {
+    return "SCO2";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/index.html b/src/objects/index.html new file mode 100644 index 00000000000..c8ef3df89a1 --- /dev/null +++ b/src/objects/index.html @@ -0,0 +1,2396 @@ + + + + + + Code coverage report for src/objects + + + + + + + + + +
+
+

All files src/objects

+
+ +
+ 76.61% + Statements + 4193/5473 +
+ + +
+ 81.28% + Branches + 812/999 +
+ + +
+ 54.5% + Functions + 333/611 +
+ + +
+ 76.61% + Lines + 4193/5473 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_abap_object.ts +
+
92.79%103/11186.48%32/3788.88%8/992.79%103/111
_abstract_object.ts +
+
95.55%129/13591.42%32/35100%15/1595.55%129/135
_unknown_object.ts +
+
94.59%35/37100%4/480%4/594.59%35/37
activation_variant.ts +
+
60%12/20100%1/133.33%1/360%12/20
api_release_state.ts +
+
60%12/20100%1/133.33%1/360%12/20
application_job_catalog_entry.ts +
+
85%17/20100%2/266.66%2/385%17/20
application_job_template.ts +
+
60%12/20100%1/133.33%1/360%12/20
application_log_object.ts +
+
60%12/20100%1/133.33%1/360%12/20
assignment_service_to_authorization_group.ts +
+
85%17/20100%2/266.66%2/385%17/20
atc_check_category.ts +
+
60%12/20100%1/133.33%1/360%12/20
atc_check_object.ts +
+
60%12/20100%1/133.33%1/360%12/20
atc_check_variant.ts +
+
60%12/20100%1/133.33%1/360%12/20
authorization_check_field.ts +
+
88.88%72/8168.42%13/1985.71%6/788.88%72/81
authorization_group.ts +
+
60%12/20100%1/133.33%1/360%12/20
authorization_object.ts +
+
85%17/20100%2/266.66%2/385%17/20
authorization_object_class.ts +
+
60%12/20100%1/133.33%1/360%12/20
authorization_object_extension.ts +
+
60%12/20100%1/133.33%1/360%12/20
behavior_definition.ts +
+
60%12/20100%1/133.33%1/360%12/20
bsp_application.ts +
+
60%12/20100%1/133.33%1/360%12/20
business_add_in_implementation.ts +
+
60%12/20100%1/133.33%1/360%12/20
business_catalog.ts +
+
60%12/20100%1/133.33%1/360%12/20
business_catalog_app_assignment.ts +
+
60%12/20100%1/133.33%1/360%12/20
business_configuration_set.ts +
+
60%12/20100%1/133.33%1/360%12/20
business_function_assignment.ts +
+
60%12/20100%1/133.33%1/360%12/20
business_function_set_assignment.ts +
+
60%12/20100%1/133.33%1/360%12/20
business_object_model.ts +
+
60%12/20100%1/133.33%1/360%12/20
business_object_type.ts +
+
60%12/20100%1/133.33%1/360%12/20
cds_metadata_extension.ts +
+
48.27%28/58100%2/228.57%2/748.27%28/58
change_document.ts +
+
60%12/20100%1/133.33%1/360%12/20
chapter_of_book_structure.ts +
+
60%12/20100%1/133.33%1/360%12/20
checkpoint_group.ts +
+
60%12/20100%1/133.33%1/360%12/20
class.ts +
+
91.12%113/12482.05%32/3993.33%14/1591.12%113/124
classification.ts +
+
60%12/20100%1/133.33%1/360%12/20
communication_scenario.ts +
+
60%12/20100%1/133.33%1/360%12/20
composite_enhancement_implementation.ts +
+
60%12/20100%1/133.33%1/360%12/20
composite_enhancement_spot.ts +
+
60%12/20100%1/133.33%1/360%12/20
concepts_of_package.ts +
+
86.36%19/22100%2/266.66%2/386.36%19/22
customer_enhancement_project.ts +
+
60%12/20100%1/133.33%1/360%12/20
customizing_attributes.ts +
+
60%12/20100%1/133.33%1/360%12/20
customizing_img_activity.ts +
+
60%12/20100%1/133.33%1/360%12/20
customizing_transaction.ts +
+
60%12/20100%1/133.33%1/360%12/20
data_control.ts +
+
60%12/20100%1/133.33%1/360%12/20
data_definition.ts +
+
94.92%187/19767.18%43/6488.23%15/1794.92%187/197
data_element.ts +
+
93.33%98/10592%46/5087.5%7/893.33%98/105
dialog_module.ts +
+
60%12/20100%1/133.33%1/360%12/20
documentation.ts +
+
60%12/20100%1/133.33%1/360%12/20
domain.ts +
+
92.79%103/11182.14%46/5687.5%7/892.79%103/111
ecatt_test_configuration.ts +
+
60%12/20100%1/133.33%1/360%12/20
ecatt_test_data_container.ts +
+
60%12/20100%1/133.33%1/360%12/20
ecatt_test_script.ts +
+
60%12/20100%1/133.33%1/360%12/20
enhancement_implementation.ts +
+
87.27%48/5575%9/1283.33%5/687.27%48/55
enhancement_spot.ts +
+
91.37%53/5862.5%5/883.33%5/691.37%53/58
event_binding.ts +
+
60%12/20100%1/133.33%1/360%12/20
event_consumer.ts +
+
60%12/20100%1/133.33%1/360%12/20
extension_index.ts +
+
87.5%49/5668.75%22/3285.71%6/787.5%49/56
field_catalog.ts +
+
60%12/20100%1/133.33%1/360%12/20
form_object_form.ts +
+
60%12/20100%1/133.33%1/360%12/20
form_object_interface.ts +
+
60%12/20100%1/133.33%1/360%12/20
format_type.ts +
+
60%12/20100%1/133.33%1/360%12/20
function_group.ts +
+
81.96%150/18384.44%38/4580%12/1581.96%150/183
gateway_model.ts +
+
60%12/20100%1/133.33%1/360%12/20
gateway_model_metadata.ts +
+
60%12/20100%1/133.33%1/360%12/20
gateway_project.ts +
+
60%12/20100%1/133.33%1/360%12/20
gateway_service.ts +
+
60%12/20100%1/133.33%1/360%12/20
gateway_service_groups_metadata.ts +
+
60%12/20100%1/133.33%1/360%12/20
gateway_vocabulary_annotation.ts +
+
85%17/20100%2/266.66%2/385%17/20
general_hierarchy_storage_extrension_name.ts +
+
60%12/20100%1/133.33%1/360%12/20
general_storage_structure.ts +
+
85%17/20100%2/266.66%2/385%17/20
general_text.ts +
+
60%12/20100%1/133.33%1/360%12/20
http_service.ts +
+
60%12/20100%1/133.33%1/360%12/20
iac_binary_data.ts +
+
60%12/20100%1/133.33%1/360%12/20
iac_language_resource.ts +
+
60%12/20100%1/133.33%1/360%12/20
iac_service.ts +
+
60%12/20100%1/133.33%1/360%12/20
iac_template.ts +
+
60%12/20100%1/133.33%1/360%12/20
iam_app.ts +
+
60%12/20100%1/133.33%1/360%12/20
icf_service.ts +
+
95.65%66/6984.61%11/1385.71%6/795.65%66/69
idoc.ts +
+
60%12/20100%1/133.33%1/360%12/20
idoc_extension.ts +
+
60%12/20100%1/133.33%1/360%12/20
inbound_service.ts +
+
60%12/20100%1/133.33%1/360%12/20
index.ts +
+
100%150/150100%0/0100%0/0100%150/150
info_object.ts +
+
60%12/20100%1/133.33%1/360%12/20
interface.ts +
+
95.4%83/8769.23%18/26100%12/1295.4%83/87
lock_object.ts +
+
93.97%78/8377.27%17/2285.71%6/793.97%78/83
maintenance_and_transport_object.ts +
+
67.34%66/9868%17/2566.66%6/967.34%66/98
message_class.ts +
+
91.42%64/7088.88%24/2787.5%7/891.42%64/70
messaging_channel.ts +
+
60%12/20100%1/133.33%1/360%12/20
mime_object.ts +
+
83.33%65/7885.71%12/1466.66%6/983.33%65/78
namespace.ts +
+
86.36%19/22100%2/266.66%2/386.36%19/22
neptune_api.ts +
+
86.36%19/22100%2/266.66%2/386.36%19/22
neptune_app.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_custom_color.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_custom_js_helper.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_documentation.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_enhancement.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_launchpad.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_launchpad_layout.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_login_page.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_media_library.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_media_pack.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_metadata.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_mobile_client.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_odata.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_policy.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_rfc_mapping.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_rich_text_template.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_splash_screen.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_sticky_banner.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_tile.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_tile_group.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_tile_layout.ts +
+
60%12/20100%1/133.33%1/360%12/20
neptune_url_alias.ts +
+
60%12/20100%1/133.33%1/360%12/20
number_range.ts +
+
96.72%59/6190.24%37/41100%7/796.72%59/61
oauth2_profile.ts +
+
75.75%25/3350%3/650%2/475.75%25/33
object_characteristic.ts +
+
60%12/20100%1/133.33%1/360%12/20
outbound_service.ts +
+
60%12/20100%1/133.33%1/360%12/20
package.ts +
+
60%12/20100%1/133.33%1/360%12/20
package_interface.ts +
+
60%12/20100%1/133.33%1/360%12/20
parameter.ts +
+
60%12/20100%1/133.33%1/360%12/20
personalization_object.ts +
+
60%12/20100%1/133.33%1/360%12/20
program.ts +
+
95.49%106/11185.71%24/2888.88%8/995.49%106/111
proxy_object.ts +
+
60%12/20100%1/133.33%1/360%12/20
push_channel.ts +
+
60%12/20100%1/133.33%1/360%12/20
query_user_group.ts +
+
60%12/20100%1/133.33%1/360%12/20
restriction_field.ts +
+
60%12/20100%1/133.33%1/360%12/20
restriction_type.ts +
+
60%12/20100%1/133.33%1/360%12/20
rfc_service.ts +
+
60%12/20100%1/133.33%1/360%12/20
sapscript.ts +
+
60%12/20100%1/133.33%1/360%12/20
sapscript_style.ts +
+
60%12/20100%1/133.33%1/360%12/20
screen_variant.ts +
+
60%12/20100%1/133.33%1/360%12/20
search_help.ts +
+
60%12/20100%1/133.33%1/360%12/20
service_binding.ts +
+
60%12/20100%1/133.33%1/360%12/20
service_definition.ts +
+
60%12/20100%1/133.33%1/360%12/20
shared_memory.ts +
+
60%12/20100%1/133.33%1/360%12/20
smart_form.ts +
+
60%12/20100%1/133.33%1/360%12/20
smart_style.ts +
+
60%12/20100%1/133.33%1/360%12/20
standard_task.ts +
+
60%12/20100%1/133.33%1/360%12/20
switch_assignment_hierarchy.ts +
+
60%12/20100%1/133.33%1/360%12/20
switch_assignments.ts +
+
60%12/20100%1/133.33%1/360%12/20
table.ts +
+
82.33%261/31774.33%84/11388.88%8/982.33%261/317
table_type.ts +
+
93.86%199/21270.83%51/7288.88%8/993.86%199/212
technical_job_definition.ts +
+
60%12/20100%1/133.33%1/360%12/20
transaction.ts +
+
90.9%50/5576.47%13/1783.33%5/690.9%50/55
transaction_variant.ts +
+
60%12/20100%1/133.33%1/360%12/20
transformation.ts +
+
60%12/20100%1/133.33%1/360%12/20
type_pool.ts +
+
82.75%24/2975%3/475%3/482.75%24/29
view.ts +
+
87.03%141/16271.73%33/4675%6/887.03%141/162
view_cluster.ts +
+
60%12/20100%1/133.33%1/360%12/20
virtual_end_point.ts +
+
60%12/20100%1/133.33%1/360%12/20
web_dynpro_application.ts +
+
60%12/20100%1/133.33%1/360%12/20
web_dynpro_application_configuration.ts +
+
60%12/20100%1/133.33%1/360%12/20
web_dynpro_component.ts +
+
60%12/20100%1/133.33%1/360%12/20
web_dynpro_component_configuration.ts +
+
60%12/20100%1/133.33%1/360%12/20
web_mime.ts +
+
88.52%54/6190%9/1083.33%5/688.52%54/61
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/index.ts.html b/src/objects/index.ts.html new file mode 100644 index 00000000000..22b16c2ec1a --- /dev/null +++ b/src/objects/index.ts.html @@ -0,0 +1,532 @@ + + + + + + Code coverage report for src/objects/index.ts + + + + + + + + + +
+
+

All files / src/objects index.ts

+
+ +
+ 100% + Statements + 150/150 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 150/150 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +1501x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
export * from "./activation_variant";
+export * from "./api_release_state";
+export * from "./application_job_catalog_entry";
+export * from "./application_job_template";
+export * from "./application_log_object";
+export * from "./assignment_service_to_authorization_group";
+export * from "./atc_check_category";
+export * from "./atc_check_object";
+export * from "./atc_check_variant";
+export * from "./authorization_check_field";
+export * from "./authorization_group";
+export * from "./authorization_object_class";
+export * from "./authorization_object_extension";
+export * from "./authorization_object";
+export * from "./behavior_definition";
+export * from "./bsp_application";
+export * from "./business_add_in_implementation";
+export * from "./business_catalog_app_assignment";
+export * from "./business_catalog";
+export * from "./business_configuration_set";
+export * from "./business_function_assignment";
+export * from "./business_function_set_assignment";
+export * from "./business_object_model";
+export * from "./business_object_type";
+export * from "./cds_metadata_extension";
+export * from "./change_document";
+export * from "./chapter_of_book_structure";
+export * from "./checkpoint_group";
+export * from "./class";
+export * from "./classification";
+export * from "./communication_scenario";
+export * from "./composite_enhancement_implementation";
+export * from "./composite_enhancement_spot";
+export * from "./concepts_of_package";
+export * from "./customer_enhancement_project";
+export * from "./customizing_attributes";
+export * from "./customizing_img_activity";
+export * from "./customizing_transaction";
+export * from "./data_control";
+export * from "./data_definition";
+export * from "./data_element";
+export * from "./dialog_module";
+export * from "./documentation";
+export * from "./domain";
+export * from "./ecatt_test_configuration";
+export * from "./ecatt_test_data_container";
+export * from "./ecatt_test_script";
+export * from "./enhancement_implementation";
+export * from "./enhancement_spot";
+export * from "./event_binding";
+export * from "./event_binding";
+export * from "./event_consumer";
+export * from "./extension_index";
+export * from "./field_catalog";
+export * from "./form_object_form";
+export * from "./form_object_interface";
+export * from "./format_type";
+export * from "./function_group";
+export * from "./gateway_model_metadata";
+export * from "./gateway_model";
+export * from "./gateway_project";
+export * from "./gateway_service_groups_metadata";
+export * from "./gateway_service";
+export * from "./gateway_vocabulary_annotation";
+export * from "./general_hierarchy_storage_extrension_name";
+export * from "./general_storage_structure";
+export * from "./general_text";
+export * from "./http_service";
+export * from "./iac_binary_data";
+export * from "./iac_language_resource";
+export * from "./iac_service";
+export * from "./iac_template";
+export * from "./iam_app";
+export * from "./icf_service";
+export * from "./idoc_extension";
+export * from "./idoc";
+export * from "./inbound_service";
+export * from "./info_object";
+export * from "./interface";
+export * from "./lock_object";
+export * from "./maintenance_and_transport_object";
+export * from "./message_class";
+export * from "./messaging_channel";
+export * from "./mime_object";
+export * from "./namespace";
+export * from "./neptune_api";
+export * from "./neptune_app";
+export * from "./neptune_custom_color";
+export * from "./neptune_custom_js_helper";
+export * from "./neptune_documentation";
+export * from "./neptune_enhancement";
+export * from "./neptune_launchpad_layout";
+export * from "./neptune_launchpad";
+export * from "./neptune_login_page";
+export * from "./neptune_media_library";
+export * from "./neptune_media_pack";
+export * from "./neptune_metadata";
+export * from "./neptune_mobile_client";
+export * from "./neptune_odata";
+export * from "./neptune_policy";
+export * from "./neptune_rfc_mapping";
+export * from "./neptune_rich_text_template";
+export * from "./neptune_splash_screen";
+export * from "./neptune_sticky_banner";
+export * from "./neptune_tile_group";
+export * from "./neptune_tile_layout";
+export * from "./neptune_tile";
+export * from "./neptune_url_alias";
+export * from "./number_range";
+export * from "./oauth2_profile";
+export * from "./object_characteristic";
+export * from "./outbound_service";
+export * from "./package_interface";
+export * from "./package";
+export * from "./parameter";
+export * from "./personalization_object";
+export * from "./program";
+export * from "./proxy_object";
+export * from "./push_channel";
+export * from "./query_user_group";
+export * from "./restriction_field";
+export * from "./restriction_type";
+export * from "./rfc_service";
+export * from "./sapscript_style";
+export * from "./sapscript";
+export * from "./screen_variant";
+export * from "./search_help";
+export * from "./service_binding";
+export * from "./service_definition";
+export * from "./shared_memory";
+export * from "./smart_form";
+export * from "./smart_style";
+export * from "./standard_task";
+export * from "./switch_assignment_hierarchy";
+export * from "./switch_assignments";
+export * from "./table_type";
+export * from "./table";
+export * from "./technical_job_definition";
+export * from "./transaction_variant";
+export * from "./transaction";
+export * from "./transformation";
+export * from "./type_pool";
+export * from "./view_cluster";
+export * from "./view";
+export * from "./virtual_end_point";
+export * from "./web_dynpro_application_configuration";
+export * from "./web_dynpro_application";
+export * from "./web_dynpro_component_configuration";
+export * from "./web_dynpro_component";
+export * from "./web_mime";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/info_object.ts.html b/src/objects/info_object.ts.html new file mode 100644 index 00000000000..58ed1bddeb1 --- /dev/null +++ b/src/objects/info_object.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/info_object.ts + + + + + + + + + +
+
+

All files / src/objects info_object.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class InfoObject extends AbstractObject {
+ 
+  public getType(): string {
+    return "IOBJ";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/interface.ts.html b/src/objects/interface.ts.html new file mode 100644 index 00000000000..63ededd5dfd --- /dev/null +++ b/src/objects/interface.ts.html @@ -0,0 +1,343 @@ + + + + + + Code coverage report for src/objects/interface.ts + + + + + + + + + +
+
+

All files / src/objects interface.ts

+
+ +
+ 95.4% + Statements + 83/87 +
+ + +
+ 69.23% + Branches + 18/26 +
+ + +
+ 100% + Functions + 12/12 +
+ + +
+ 95.4% + Lines + 83/87 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +871x +1x +1x +1x +1x +1x +85x +85x +85x +85x +85x +1431x +1431x +85x +85x +106x +106x +85x +85x +54x +54x +  +  +54x +54x +85x +85x +355x +355x +85x +85x +45x +45x +85x +85x +45x +45x +85x +85x +27x +27x +27x +27x +27x +85x +85x +124x +124x +124x +124x +85x +85x +5x +5x +5x +85x +85x +71x +71x +71x +85x +85x +85x +85x +76x +52x +52x +24x +24x +24x +24x +24x +76x +18x +18x +6x +6x +76x +  +  +76x +6x +6x +6x +76x +85x +85x
import {ABAPObject} from "./_abap_object";
+import {IInterfaceDefinition} from "../abap/types/_interface_definition";
+import {ABAPFile} from "../abap/abap_file";
+import {InfoInterfaceDefinition} from "../abap/4_file_information/_abap_file_information";
+import {Identifier} from "../abap/4_file_information/_identifier";
+ 
+export class Interface extends ABAPObject {
+  private def: IInterfaceDefinition | undefined = undefined;
+  private parsedXML: {name?: string, description?: string} | undefined = undefined;
+ 
+  public getType(): string {
+    return "INTF";
+  }
+ 
+  public setDefinition(def: IInterfaceDefinition | undefined): void {
+    this.def = def;
+  }
+ 
+  public getSequencedFiles(): readonly ABAPFile[] {
+    const main = this.getMainABAPFile();
+    if (main === undefined) {
+      return [];
+    }
+    return [main];
+  }
+ 
+  public getDefinition(): IInterfaceDefinition | undefined {
+    return this.def;
+  }
+ 
+  public getInterface(): InfoInterfaceDefinition | undefined {
+    return this.getMainABAPFile()?.getInfo().getInterfaceDefinitionByName(this.getName());
+  }
+ 
+  public getIdentifier(): Identifier | undefined {
+    return this.getInterface()?.identifier;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.def = undefined;
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getNameFromXML(): string | undefined {
+    this.parseXML();
+    return this.parsedXML?.name;
+  }
+ 
+  public getDescription(): string | undefined {
+    this.parseXML();
+    return this.parsedXML?.description;
+  }
+ 
+/////////////////////////
+ 
+  private parseXML() {
+    if (this.parsedXML !== undefined) {
+      return;
+    }
+ 
+    this.parsedXML = {};
+ 
+    const parsed = super.parseRaw2();
+    if (parsed === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return;
+    }
+ 
+    const vseo = parsed.abapGit["asx:abap"]["asx:values"].VSEOINTERF;
+    if (vseo === undefined) {
+      this.parsedXML.description = "";
+      this.parsedXML.name = "";
+    } else {
+      this.parsedXML.description = vseo.DESCRIPT ? vseo.DESCRIPT : "";
+      this.parsedXML.name = vseo.CLSNAME ? vseo.CLSNAME : "";
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/lock_object.ts.html b/src/objects/lock_object.ts.html new file mode 100644 index 00000000000..b64f2101cae --- /dev/null +++ b/src/objects/lock_object.ts.html @@ -0,0 +1,334 @@ + + + + + + Code coverage report for src/objects/lock_object.ts + + + + + + + + + +
+
+

All files / src/objects lock_object.ts

+
+ +
+ 93.97% + Statements + 78/83 +
+ + +
+ 77.27% + Branches + 17/22 +
+ + +
+ 85.71% + Functions + 6/7 +
+ + +
+ 93.97% + Lines + 78/83 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +841x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +50x +50x +1x +1x +1x +1x +1x +1x +1x +1x +1x +6x +6x +6x +1x +1x +1x +1x +1x +1x +1x +8x +8x +8x +8x +8x +8x +4x +4x +3x +3x +3x +4x +1x +1x +  +  +4x +4x +4x +8x +1x +1x +16x +10x +10x +6x +6x +6x +6x +6x +6x +6x +16x +4x +4x +2x +16x +16x +16x +16x +16x +16x +1x +1x +  +  +  +1x + 
import {UnknownType, VoidType} from "../abap/types/basic";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {DDIC} from "../ddic";
+import {IObjectAndToken} from "../_iddic_references";
+import {IRegistry} from "../_iregistry";
+import {AbstractObject} from "./_abstract_object";
+ 
+export class LockObject extends AbstractObject {
+  private parsedXML: {
+    primaryTable?: string,
+    description?: string,
+  } | undefined;
+ 
+  public getType(): string {
+    return "ENQU";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 16,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getPrimaryTable(): string | undefined {
+    this.parse();
+    return this.parsedXML?.primaryTable;
+  }
+ 
+  public parseType(reg: IRegistry): AbstractType {
+    this.parse();
+ 
+    const references: IObjectAndToken[] = [];
+    const ddic = new DDIC(reg);
+ 
+    if (this.parsedXML?.primaryTable) {
+      const found = ddic.lookupTableOrView2(this.parsedXML.primaryTable);
+      if (found) {
+        references.push({object: found});
+        reg.getDDICReferences().setUsing(this, references);
+        return found.parseType(reg);
+      } else if (ddic.inErrorNamespace(this.parsedXML.primaryTable)) {
+        return new UnknownType(this.parsedXML.primaryTable + " not found");
+      } else {
+        return new VoidType(this.parsedXML.primaryTable);
+      }
+    } else {
+      return new UnknownType("Parsing error");
+    }
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+ 
+    if (parsed === undefined
+        || parsed.abapGit === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    this.parsedXML.primaryTable = parsed.abapGit["asx:abap"]["asx:values"].DD25V?.ROOTTAB;
+    this.parsedXML.description = parsed.abapGit["asx:abap"]["asx:values"].DD25V?.DDTEXT;
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+ 
+  public getDescription(): string | undefined {
+    this.parse();
+    return this.parsedXML?.description;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/maintenance_and_transport_object.ts.html b/src/objects/maintenance_and_transport_object.ts.html new file mode 100644 index 00000000000..e134ebf4192 --- /dev/null +++ b/src/objects/maintenance_and_transport_object.ts.html @@ -0,0 +1,379 @@ + + + + + + Code coverage report for src/objects/maintenance_and_transport_object.ts + + + + + + + + + +
+
+

All files / src/objects maintenance_and_transport_object.ts

+
+ +
+ 67.34% + Statements + 66/98 +
+ + +
+ 68% + Branches + 17/25 +
+ + +
+ 66.66% + Functions + 6/9 +
+ + +
+ 67.34% + Lines + 66/98 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +991x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +4x +4x +1x +1x +  +  +  +1x +1x +  +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +4x +3x +3x +1x +1x +1x +1x +1x +1x +1x +4x +  +  +1x +4x +4x +4x +4x +4x +4x +4x +1x +1x + 
import {UnknownType, VoidType} from "../abap/types/basic";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {DDIC} from "../ddic";
+import {IObjectAndToken} from "../_iddic_references";
+import {IRegistry} from "../_iregistry";
+import {AbstractObject} from "./_abstract_object";
+ 
+export class MaintenanceAndTransportObject extends AbstractObject {
+  private parsedXML: {
+    area?: string,
+    objectName?: string,
+    objectType?: string,
+  } | undefined;
+ 
+  public setDirty() {
+    super.setDirty();
+    this.parsedXML = undefined;
+  }
+ 
+  public getType(): string {
+    return "TOBJ";
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 31,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getArea(): string | undefined {
+    this.parse();
+    return this.parsedXML?.area;
+  }
+ 
+  public getObjectName(): string | undefined {
+    this.parse();
+    return this.parsedXML?.objectName;
+  }
+ 
+  public getObjectType(): string | undefined {
+    this.parse();
+    return this.parsedXML?.objectType;
+  }
+ 
+  public parseType(reg: IRegistry): AbstractType {
+    this.parse();
+
+    const references: IObjectAndToken[] = [];
+    const ddic = new DDIC(reg);
+
+    if (this.parsedXML?.objectName && this.parsedXML.objectType === "S") {
+      const found = ddic.lookupTableOrView2(this.parsedXML.objectName);
+      if (found) {
+        references.push({object: found});
+        reg.getDDICReferences().setUsing(this, references);
+        return found.parseType(reg);
+      } else if (ddic.inErrorNamespace(this.parsedXML.objectName)) {
+        return new UnknownType(this.parsedXML.objectName + " not found");
+      } else {
+        return new VoidType(this.parsedXML.objectName);
+      }
+    } else if (this.parsedXML?.objectType !== "S" && this.parsedXML?.objectName){
+      return new VoidType(this.parsedXML.objectName);
+    } else {
+      return new UnknownType("Parsing error");
+    }
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+ 
+    if (parsed === undefined
+        || parsed.abapGit === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    this.parsedXML.area = parsed.abapGit["asx:abap"]["asx:values"].TOBJ?.TVDIR?.AREA;
+    this.parsedXML.objectName = parsed.abapGit["asx:abap"]["asx:values"].OBJH?.OBJECTNAME;
+    this.parsedXML.objectType = parsed.abapGit["asx:abap"]["asx:values"].OBJH?.OBJECTTYPE;
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/message_class.ts.html b/src/objects/message_class.ts.html new file mode 100644 index 00000000000..f7b0acd6a71 --- /dev/null +++ b/src/objects/message_class.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/objects/message_class.ts + + + + + + + + + +
+
+

All files / src/objects message_class.ts

+
+ +
+ 91.42% + Statements + 64/70 +
+ + +
+ 88.88% + Branches + 24/27 +
+ + +
+ 87.5% + Functions + 7/8 +
+ + +
+ 91.42% + Lines + 64/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +44x +44x +44x +44x +182x +182x +44x +44x +  +  +  +  +44x +44x +6x +6x +6x +6x +6x +44x +44x +49x +49x +49x +44x +44x +32x +32x +32x +32x +44x +44x +11x +11x +11x +14x +10x +10x +14x +1x +1x +44x +44x +44x +44x +43x +17x +17x +26x +26x +26x +26x +43x +  +  +26x +43x +43x +2x +2x +43x +32x +32x +24x +44x +44x
import {AbstractObject} from "./_abstract_object";
+import {Message} from "../abap/types/message";
+import {xmlToArray, unescape} from "../xml_utils";
+ 
+export class MessageClass extends AbstractObject {
+  private parsedMessages: Message[] | undefined = undefined;
+ 
+  public getType(): string {
+    return "MSAG";
+  }
+ 
+  public getDescription(): string | undefined {
+    this.parseXML();
+    // todo
+    return undefined;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 20,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.parsedMessages = undefined;
+    super.setDirty();
+  }
+ 
+  public getMessages(): readonly Message[] {
+    this.parseXML();
+    const msg = this.parsedMessages;
+    return msg ? msg : [];
+  }
+ 
+  public getByNumber(num: string): Message | undefined {
+    this.parseXML();
+    // todo, optimize performance,
+    for (const message of this.getMessages()) {
+      if (message.getNumber() === num) {
+        return message;
+      }
+    }
+    return undefined;
+  }
+ 
+/////////////////////////////////
+ 
+  private parseXML() {
+    if (this.parsedMessages !== undefined) {
+      return;
+    }
+ 
+    this.parsedMessages = [];
+ 
+    const parsed = super.parseRaw2();
+    if (parsed === undefined) {
+      return;
+    }
+ 
+    const t100 = parsed?.abapGit?.["asx:abap"]["asx:values"]?.T100;
+    if (t100 === undefined) {
+      return;
+    }
+    for (const msg of xmlToArray(t100.T100)) {
+      this.parsedMessages.push(new Message(msg.MSGNR, unescape(msg.TEXT)));
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/messaging_channel.ts.html b/src/objects/messaging_channel.ts.html new file mode 100644 index 00000000000..2043b4970ca --- /dev/null +++ b/src/objects/messaging_channel.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/messaging_channel.ts + + + + + + + + + +
+
+

All files / src/objects messaging_channel.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class MessagingChannel extends AbstractObject {
+ 
+  public getType(): string {
+    return "SAMC";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/mime_object.ts.html b/src/objects/mime_object.ts.html new file mode 100644 index 00000000000..6169f51010a --- /dev/null +++ b/src/objects/mime_object.ts.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/objects/mime_object.ts + + + + + + + + + +
+
+

All files / src/objects mime_object.ts

+
+ +
+ 83.33% + Statements + 65/78 +
+ + +
+ 85.71% + Branches + 12/14 +
+ + +
+ 66.66% + Functions + 6/9 +
+ + +
+ 83.33% + Lines + 65/78 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +791x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +13x +13x +1x +1x +4x +4x +4x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +1x +1x +4x +4x +4x +1x +1x +  +  +  +1x +1x +9x +5x +5x +4x +4x +4x +4x +4x +4x +9x +9x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +1x + 
import {IFile} from "../files/_ifile";
+import {AbstractObject} from "./_abstract_object";
+ 
+export class MIMEObject extends AbstractObject {
+  private parsedXML: {
+    URL?: string,
+    CLASS?: string,
+    FOLDER?: string,
+  } | undefined;
+ 
+  public getType(): string {
+    return "SMIM";
+  }
+ 
+  public getURL(): string | undefined {
+    this.parse();
+    return this.parsedXML?.URL;
+  }
+ 
+  public getClass(): string | undefined {
+    this.parse();
+    return this.parsedXML?.CLASS;
+  }
+ 
+  public isFolder() {
+    return this.parsedXML?.FOLDER === "X";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 32,
+      allowNamespace: false,
+    };
+  }
+ 
+  public getDataFile(): IFile | undefined {
+    const main = this.getXMLFile();
+    for (const f of this.getFiles()) {
+      if (f.getFilename() !== main?.getFilename()) {
+        return f;
+      }
+    }
+    return undefined;
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getDescription(): string | undefined {
+// this object type does not have a description
+    return undefined;
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+ 
+    if (parsed === undefined
+        || parsed.abapGit === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    this.parsedXML.URL = parsed.abapGit["asx:abap"]["asx:values"].URL;
+    this.parsedXML.CLASS = parsed.abapGit["asx:abap"]["asx:values"].CLASS;
+    this.parsedXML.FOLDER = parsed.abapGit["asx:abap"]["asx:values"].FOLDER;
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/namespace.ts.html b/src/objects/namespace.ts.html new file mode 100644 index 00000000000..591962abcda --- /dev/null +++ b/src/objects/namespace.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/objects/namespace.ts + + + + + + + + + +
+
+

All files / src/objects namespace.ts

+
+ +
+ 86.36% + Statements + 19/22 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 86.36% + Lines + 19/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+import {IAllowedNaming} from "./_iobject";
+ 
+export class Namespace extends AbstractObject {
+ 
+  public getType(): string {
+    return "NSPC";
+  }
+ 
+  public getAllowedNaming(): IAllowedNaming {
+    return {
+      maxLength: 10,
+      allowNamespace: true,
+      customRegex: new RegExp(/^\/[A-Z_\d]{3,8}\/$/i),
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_api.ts.html b/src/objects/neptune_api.ts.html new file mode 100644 index 00000000000..657c2d14001 --- /dev/null +++ b/src/objects/neptune_api.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/objects/neptune_api.ts + + + + + + + + + +
+
+

All files / src/objects neptune_api.ts

+
+ +
+ 86.36% + Statements + 19/22 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 86.36% + Lines + 19/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +221x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+import {IAllowedNaming} from "./_iobject";
+ 
+export class NeptuneAPI extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN02";
+  }
+ 
+  public getAllowedNaming(): IAllowedNaming {
+    return { // todo, verify
+      maxLength: 100,
+      allowNamespace: true,
+      customRegex: /.*/i,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_app.ts.html b/src/objects/neptune_app.ts.html new file mode 100644 index 00000000000..b4ff1bd9712 --- /dev/null +++ b/src/objects/neptune_app.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_app.ts + + + + + + + + + +
+
+

All files / src/objects neptune_app.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneApp extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN01";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_custom_color.ts.html b/src/objects/neptune_custom_color.ts.html new file mode 100644 index 00000000000..3de45ffcc2c --- /dev/null +++ b/src/objects/neptune_custom_color.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_custom_color.ts + + + + + + + + + +
+
+

All files / src/objects neptune_custom_color.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneCustomColor extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN13";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_custom_js_helper.ts.html b/src/objects/neptune_custom_js_helper.ts.html new file mode 100644 index 00000000000..4864d8c1aba --- /dev/null +++ b/src/objects/neptune_custom_js_helper.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_custom_js_helper.ts + + + + + + + + + +
+
+

All files / src/objects neptune_custom_js_helper.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneCustomJSHelper extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN15";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_documentation.ts.html b/src/objects/neptune_documentation.ts.html new file mode 100644 index 00000000000..3b2090abe2c --- /dev/null +++ b/src/objects/neptune_documentation.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_documentation.ts + + + + + + + + + +
+
+

All files / src/objects neptune_documentation.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneDocumentation extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN16";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_enhancement.ts.html b/src/objects/neptune_enhancement.ts.html new file mode 100644 index 00000000000..186841129e4 --- /dev/null +++ b/src/objects/neptune_enhancement.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_enhancement.ts + + + + + + + + + +
+
+

All files / src/objects neptune_enhancement.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneEnhancement extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN09";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_launchpad.ts.html b/src/objects/neptune_launchpad.ts.html new file mode 100644 index 00000000000..f8daa79cdd2 --- /dev/null +++ b/src/objects/neptune_launchpad.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_launchpad.ts + + + + + + + + + +
+
+

All files / src/objects neptune_launchpad.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneLaunchpad extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN03";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_launchpad_layout.ts.html b/src/objects/neptune_launchpad_layout.ts.html new file mode 100644 index 00000000000..c7ddbf7957d --- /dev/null +++ b/src/objects/neptune_launchpad_layout.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_launchpad_layout.ts + + + + + + + + + +
+
+

All files / src/objects neptune_launchpad_layout.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneLaunchpadLayout extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN07";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_login_page.ts.html b/src/objects/neptune_login_page.ts.html new file mode 100644 index 00000000000..b2f98a36612 --- /dev/null +++ b/src/objects/neptune_login_page.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_login_page.ts + + + + + + + + + +
+
+

All files / src/objects neptune_login_page.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneLoginPage extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN10";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_media_library.ts.html b/src/objects/neptune_media_library.ts.html new file mode 100644 index 00000000000..b136aaffc31 --- /dev/null +++ b/src/objects/neptune_media_library.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_media_library.ts + + + + + + + + + +
+
+

All files / src/objects neptune_media_library.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneMediaLibrary extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN18";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_media_pack.ts.html b/src/objects/neptune_media_pack.ts.html new file mode 100644 index 00000000000..6a6e74be2b3 --- /dev/null +++ b/src/objects/neptune_media_pack.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_media_pack.ts + + + + + + + + + +
+
+

All files / src/objects neptune_media_pack.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneMediaPack extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN19";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_metadata.ts.html b/src/objects/neptune_metadata.ts.html new file mode 100644 index 00000000000..633cbb57970 --- /dev/null +++ b/src/objects/neptune_metadata.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_metadata.ts + + + + + + + + + +
+
+

All files / src/objects neptune_metadata.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneMetadata extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN00";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_mobile_client.ts.html b/src/objects/neptune_mobile_client.ts.html new file mode 100644 index 00000000000..011f00eb999 --- /dev/null +++ b/src/objects/neptune_mobile_client.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_mobile_client.ts + + + + + + + + + +
+
+

All files / src/objects neptune_mobile_client.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneMobileClient extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN22";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_odata.ts.html b/src/objects/neptune_odata.ts.html new file mode 100644 index 00000000000..4942ae3da6d --- /dev/null +++ b/src/objects/neptune_odata.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_odata.ts + + + + + + + + + +
+
+

All files / src/objects neptune_odata.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneOData extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN21";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_policy.ts.html b/src/objects/neptune_policy.ts.html new file mode 100644 index 00000000000..1fea85e2fb1 --- /dev/null +++ b/src/objects/neptune_policy.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_policy.ts + + + + + + + + + +
+
+

All files / src/objects neptune_policy.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptunePolicy extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN06";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_rfc_mapping.ts.html b/src/objects/neptune_rfc_mapping.ts.html new file mode 100644 index 00000000000..60cadeb7ad0 --- /dev/null +++ b/src/objects/neptune_rfc_mapping.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_rfc_mapping.ts + + + + + + + + + +
+
+

All files / src/objects neptune_rfc_mapping.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneRFCMapping extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN17";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_rich_text_template.ts.html b/src/objects/neptune_rich_text_template.ts.html new file mode 100644 index 00000000000..830922eb32e --- /dev/null +++ b/src/objects/neptune_rich_text_template.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_rich_text_template.ts + + + + + + + + + +
+
+

All files / src/objects neptune_rich_text_template.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneRichTextTemplate extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN14";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_splash_screen.ts.html b/src/objects/neptune_splash_screen.ts.html new file mode 100644 index 00000000000..cef5a49d2eb --- /dev/null +++ b/src/objects/neptune_splash_screen.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_splash_screen.ts + + + + + + + + + +
+
+

All files / src/objects neptune_splash_screen.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneSplashScreen extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN12";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_sticky_banner.ts.html b/src/objects/neptune_sticky_banner.ts.html new file mode 100644 index 00000000000..f86dd1e84ce --- /dev/null +++ b/src/objects/neptune_sticky_banner.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_sticky_banner.ts + + + + + + + + + +
+
+

All files / src/objects neptune_sticky_banner.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneStickyBanner extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN11";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_tile.ts.html b/src/objects/neptune_tile.ts.html new file mode 100644 index 00000000000..0857445a9ab --- /dev/null +++ b/src/objects/neptune_tile.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_tile.ts + + + + + + + + + +
+
+

All files / src/objects neptune_tile.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneTile extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN05";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_tile_group.ts.html b/src/objects/neptune_tile_group.ts.html new file mode 100644 index 00000000000..7e956b50182 --- /dev/null +++ b/src/objects/neptune_tile_group.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_tile_group.ts + + + + + + + + + +
+
+

All files / src/objects neptune_tile_group.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneTileGroup extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN04";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_tile_layout.ts.html b/src/objects/neptune_tile_layout.ts.html new file mode 100644 index 00000000000..6f48bd9fb86 --- /dev/null +++ b/src/objects/neptune_tile_layout.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_tile_layout.ts + + + + + + + + + +
+
+

All files / src/objects neptune_tile_layout.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneTileLayout extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN08";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/neptune_url_alias.ts.html b/src/objects/neptune_url_alias.ts.html new file mode 100644 index 00000000000..3fb35d6514b --- /dev/null +++ b/src/objects/neptune_url_alias.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/neptune_url_alias.ts + + + + + + + + + +
+
+

All files / src/objects neptune_url_alias.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NeptuneURLAlias extends AbstractObject {
+ 
+  public getType(): string {
+    return "ZN20";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/number_range.ts.html b/src/objects/number_range.ts.html new file mode 100644 index 00000000000..ef7b41da198 --- /dev/null +++ b/src/objects/number_range.ts.html @@ -0,0 +1,265 @@ + + + + + + Code coverage report for src/objects/number_range.ts + + + + + + + + + +
+
+

All files / src/objects number_range.ts

+
+ +
+ 96.72% + Statements + 59/61 +
+ + +
+ 90.24% + Branches + 37/41 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 96.72% + Lines + 59/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +611x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +1x +1x +5x +3x +3x +2x +2x +2x +5x +  +  +2x +5x +5x +5x +5x +5x +5x +5x +5x +5x +1x +1x +1x +1x +1x +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class NumberRange extends AbstractObject {
+  private parsedXML: {
+    description?: string,
+    domain?: string,
+    percentage?: number,
+  } | undefined;
+ 
+  public getType(): string {
+    return "NROB";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 10,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDomain(): string | undefined {
+    this.parse();
+    return this.parsedXML?.domain;
+  }
+ 
+  public getPercentage(): number | undefined {
+    this.parse();
+    return this.parsedXML?.percentage;
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+    if (parsed === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const text = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.TEXT;
+    this.parsedXML.description = text?.TXT;
+    const attributes = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.ATTRIBUTES;
+    this.parsedXML.domain = attributes?.DOMLEN;
+    this.parsedXML.percentage = parseFloat(attributes?.PERCENTAGE || "");
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+ 
+  public getDescription(): string | undefined {
+    this.parse();
+    return this.parsedXML?.description;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/oauth2_profile.ts.html b/src/objects/oauth2_profile.ts.html new file mode 100644 index 00000000000..ce03f4046a5 --- /dev/null +++ b/src/objects/oauth2_profile.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/objects/oauth2_profile.ts + + + + + + + + + +
+
+

All files / src/objects oauth2_profile.ts

+
+ +
+ 75.75% + Statements + 25/33 +
+ + +
+ 50% + Branches + 3/6 +
+ + +
+ 50% + Functions + 2/4 +
+ + +
+ 75.75% + Lines + 25/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +1x +1x +1x +1x +4x +4x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x +1x +1x
import {xmlToArray} from "../xml_utils";
+import {AbstractObject} from "./_abstract_object";
+ 
+export class Oauth2Profile extends AbstractObject {
+ 
+  public getType(): string {
+    return "OA2P";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public listScopes(): string[] {
+    const ret: string[] = [];
+ 
+    const parsed = super.parseRaw2();
+ 
+    for (const t of xmlToArray(parsed.abapGit["asx:abap"]["asx:values"]?.PROFILE?.T_SCOPES?.OA2P_SCOPES)) {
+      ret.push(t.SCOPE);
+    }
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/object_characteristic.ts.html b/src/objects/object_characteristic.ts.html new file mode 100644 index 00000000000..f49533ad67d --- /dev/null +++ b/src/objects/object_characteristic.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/object_characteristic.ts + + + + + + + + + +
+
+

All files / src/objects object_characteristic.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class ObjectCharacteristic extends AbstractObject {
+ 
+  public getType(): string {
+    return "CHAR";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/outbound_service.ts.html b/src/objects/outbound_service.ts.html new file mode 100644 index 00000000000..49bb3048b7f --- /dev/null +++ b/src/objects/outbound_service.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/outbound_service.ts + + + + + + + + + +
+
+

All files / src/objects outbound_service.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class OutboundService extends AbstractObject {
+ 
+  public getType(): string {
+    return "SCO3";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/package.ts.html b/src/objects/package.ts.html new file mode 100644 index 00000000000..ecd0a15e16d --- /dev/null +++ b/src/objects/package.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/package.ts + + + + + + + + + +
+
+

All files / src/objects package.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +6x +6x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class Package extends AbstractObject {
+ 
+  public getType(): string {
+    return "DEVC";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/package_interface.ts.html b/src/objects/package_interface.ts.html new file mode 100644 index 00000000000..dde5bc78fa4 --- /dev/null +++ b/src/objects/package_interface.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/package_interface.ts + + + + + + + + + +
+
+

All files / src/objects package_interface.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +9x +9x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class PackageInterface extends AbstractObject {
+ 
+  public getType(): string {
+    return "PINF";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/parameter.ts.html b/src/objects/parameter.ts.html new file mode 100644 index 00000000000..2d496995158 --- /dev/null +++ b/src/objects/parameter.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/parameter.ts + + + + + + + + + +
+
+

All files / src/objects parameter.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class Parameter extends AbstractObject {
+ 
+  public getType(): string {
+    return "PARA";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 20,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/personalization_object.ts.html b/src/objects/personalization_object.ts.html new file mode 100644 index 00000000000..284fea3f923 --- /dev/null +++ b/src/objects/personalization_object.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/personalization_object.ts + + + + + + + + + +
+
+

All files / src/objects personalization_object.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class PersonalizationObject extends AbstractObject {
+ 
+  public getType(): string {
+    return "PERS";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/program.ts.html b/src/objects/program.ts.html new file mode 100644 index 00000000000..fba2471bb61 --- /dev/null +++ b/src/objects/program.ts.html @@ -0,0 +1,418 @@ + + + + + + Code coverage report for src/objects/program.ts + + + + + + + + + +
+
+

All files / src/objects program.ts

+
+ +
+ 95.49% + Statements + 106/111 +
+ + +
+ 85.71% + Branches + 24/28 +
+ + +
+ 88.88% + Functions + 8/9 +
+ + +
+ 95.49% + Lines + 106/111 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +1121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +37572x +37572x +1x +1x +4040x +4040x +  +  +4040x +4040x +1x +1x +  +  +  +1x +1x +176x +176x +176x +176x +176x +1x +1x +7715x +7715x +7715x +1x +1x +3659x +3659x +3659x +1x +1x +175x +175x +175x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3835x +1241x +1241x +2594x +2594x +2594x +3835x +2566x +2566x +2566x +2566x +2566x +2566x +2566x +28x +28x +3835x +3835x +1x +1x +1x +2x +2x +2x +2x +2x +2x +1x +1x +1x +1x +1x +1x +28x +28x +3835x +3835x +3835x +3835x +3835x +1x + 
import {ABAPObject} from "./_abap_object";
+import {ABAPFile} from "../abap/abap_file";
+import {xmlToArray} from "../xml_utils";
+ 
+export type DynproField = {
+  name: string,
+  type: string,
+  length: number,
+};
+export type DynproHeader = {
+  number: string,
+  fields: DynproField[],
+};
+export type DynproList = DynproHeader[];
+ 
+ 
+export class Program extends ABAPObject {
+  private parsedXML: {
+    isInclude: boolean,
+    isModulePool: boolean,
+    dynpros: DynproList,
+  } | undefined;
+ 
+  public getType(): string {
+    return "PROG";
+  }
+ 
+  public getSequencedFiles(): readonly ABAPFile[] {
+    const main = this.getMainABAPFile();
+    if (main === undefined) {
+      return [];
+    }
+    return [main];
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public isInclude(): boolean {
+    this.parseXML();
+    return this.parsedXML!.isInclude;
+  }
+ 
+  public isModulePool(): boolean {
+    this.parseXML();
+    return this.parsedXML!.isModulePool;
+  }
+ 
+  public getDynpros(): DynproList {
+    this.parseXML();
+    return this.parsedXML!.dynpros;
+  }
+ 
+////////////////////////////
+ 
+  private parseXML() {
+    if (this.parsedXML !== undefined) {
+      return;
+    }
+ 
+    const file = this.getXMLFile();
+    const parsed = this.parseRaw2();
+    if (parsed === undefined) {
+      this.parsedXML = {
+        isInclude: false,
+        isModulePool: false,
+        dynpros: [],
+      };
+      return;
+    }
+ 
+    const dynpros: DynproList = [];
+    const xmlDynpros = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.DYNPROS;
+    if (xmlDynpros !== undefined) {
+      for (const d of xmlToArray(xmlDynpros.item)) {
+        const fields: DynproField[] = [];
+        for (const f of xmlToArray(d.FIELDS?.RPY_DYFATC)) {
+          fields.push({
+            name: f.NAME,
+            type: f.TYPE,
+            length: f.LENGTH,
+          });
+        }
+        dynpros.push({
+          number: d.HEADER.SCREEN,
+          fields: fields,
+        });
+      }
+    }
+ 
+    this.parsedXML = {
+      isInclude: file ? file.getRaw().includes("<SUBC>I</SUBC>") : false,
+      isModulePool: file ? file.getRaw().includes("<SUBC>M</SUBC>") : false,
+      dynpros: dynpros,
+    };
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/proxy_object.ts.html b/src/objects/proxy_object.ts.html new file mode 100644 index 00000000000..fa49466b027 --- /dev/null +++ b/src/objects/proxy_object.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/proxy_object.ts + + + + + + + + + +
+
+

All files / src/objects proxy_object.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class ProxyObject extends AbstractObject {
+ 
+  public getType(): string {
+    return "SPRX";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 34,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/push_channel.ts.html b/src/objects/push_channel.ts.html new file mode 100644 index 00000000000..ef659fada76 --- /dev/null +++ b/src/objects/push_channel.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/push_channel.ts + + + + + + + + + +
+
+

All files / src/objects push_channel.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class PushChannel extends AbstractObject {
+ 
+  public getType(): string {
+    return "SAPC";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/query_user_group.ts.html b/src/objects/query_user_group.ts.html new file mode 100644 index 00000000000..b099a8f4fd0 --- /dev/null +++ b/src/objects/query_user_group.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/query_user_group.ts + + + + + + + + + +
+
+

All files / src/objects query_user_group.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class QueryUserGroup extends AbstractObject {
+ 
+  public getType(): string {
+    return "AQBG";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/index.html b/src/objects/rename/index.html new file mode 100644 index 00000000000..c88f195484b --- /dev/null +++ b/src/objects/rename/index.html @@ -0,0 +1,236 @@ + + + + + + Code coverage report for src/objects/rename + + + + + + + + + +
+
+

All files src/objects/rename

+
+ +
+ 90.92% + Statements + 591/650 +
+ + +
+ 74.78% + Branches + 86/115 +
+ + +
+ 100% + Functions + 32/32 +
+ + +
+ 90.92% + Lines + 591/650 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
rename_data_element.ts +
+
94.11%32/3466.66%2/3100%2/294.11%32/34
rename_domain.ts +
+
93.54%29/3166.66%2/3100%2/293.54%29/31
rename_global_class.ts +
+
87.09%54/6260%6/10100%2/287.09%54/62
rename_global_interface.ts +
+
89.09%49/5557.14%4/7100%2/289.09%49/55
rename_message_class.ts +
+
91.3%42/4660%3/5100%2/291.3%42/46
rename_table.ts +
+
94.11%32/3466.66%2/3100%2/294.11%32/34
rename_table_type.ts +
+
93.93%31/3366.66%2/3100%2/293.93%31/33
renamer.ts +
+
90.97%131/14470.96%22/31100%7/790.97%131/144
renamer_helper.ts +
+
90.52%191/21186%43/50100%11/1190.52%191/211
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/rename_data_element.ts.html b/src/objects/rename/rename_data_element.ts.html new file mode 100644 index 00000000000..f0d54048f40 --- /dev/null +++ b/src/objects/rename/rename_data_element.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/objects/rename/rename_data_element.ts + + + + + + + + + +
+
+

All files / src/objects/rename rename_data_element.ts

+
+ +
+ 94.11% + Statements + 32/34 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 94.11% + Lines + 32/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9x +9x +1x +1x +9x +  +  +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +1x +1x
import {IRegistry} from "../../_iregistry";
+import {WorkspaceEdit, TextDocumentEdit, CreateFile, RenameFile, DeleteFile} from "vscode-languageserver-types";
+import {DataElement} from "..";
+import {ObjectRenamer} from "./_object_renamer";
+import {IObject} from "../_iobject";
+import {RenamerHelper} from "./renamer_helper";
+ 
+export class RenameDataElement implements ObjectRenamer {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public buildEdits(obj: IObject, oldName: string, newName: string): WorkspaceEdit | undefined {
+    if (!(obj instanceof DataElement)) {
+      throw new Error("RenameDataElement, not a data element");
+    }
+ 
+    let changes: (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[] = [];
+    const helper = new RenamerHelper(this.reg);
+    changes = changes.concat(helper.buildXMLFileEdits(obj, "ROLLNAME", oldName, newName));
+    changes = changes.concat(helper.renameFiles(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICCodeReferences(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICTTYPReferences(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICAUTHReferences(obj, oldName, newName));
+ 
+    return {
+      documentChanges: changes,
+    };
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/rename_domain.ts.html b/src/objects/rename/rename_domain.ts.html new file mode 100644 index 00000000000..29483e856f4 --- /dev/null +++ b/src/objects/rename/rename_domain.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/objects/rename/rename_domain.ts + + + + + + + + + +
+
+

All files / src/objects/rename rename_domain.ts

+
+ +
+ 93.54% + Statements + 29/31 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 93.54% + Lines + 29/31 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +311x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IRegistry} from "../../_iregistry";
+import {WorkspaceEdit, TextDocumentEdit, CreateFile, RenameFile, DeleteFile} from "vscode-languageserver-types";
+import {Domain} from "..";
+import {ObjectRenamer} from "./_object_renamer";
+import {IObject} from "../_iobject";
+import {RenamerHelper} from "./renamer_helper";
+ 
+export class RenameDomain implements ObjectRenamer {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public buildEdits(obj: IObject, oldName: string, newName: string): WorkspaceEdit | undefined {
+    if (!(obj instanceof Domain)) {
+      throw new Error("RenameDomain, not a domain");
+    }
+ 
+    let changes: (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[] = [];
+    const helper = new RenamerHelper(this.reg);
+    changes = changes.concat(helper.buildXMLFileEdits(obj, "DOMNAME", oldName, newName));
+    changes = changes.concat(helper.renameFiles(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICDTELReferences(obj, oldName, newName));
+ 
+    return {
+      documentChanges: changes,
+    };
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/rename_global_class.ts.html b/src/objects/rename/rename_global_class.ts.html new file mode 100644 index 00000000000..aef01c7a6b3 --- /dev/null +++ b/src/objects/rename/rename_global_class.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/objects/rename/rename_global_class.ts + + + + + + + + + +
+
+

All files / src/objects/rename rename_global_class.ts

+
+ +
+ 87.09% + Statements + 54/62 +
+ + +
+ 60% + Branches + 6/10 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 87.09% + Lines + 54/62 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +8x +8x +1x +1x +8x +  +  +8x +8x +8x +  +  +8x +8x +8x +8x +8x +8x +8x +40x +8x +8x +  +  +8x +40x +8x +8x +  +  +8x +8x +40x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +1x +1x
import * as Statements from "../../abap/2_statements/statements";
+import * as Expressions from "../../abap/2_statements/expressions";
+import {WorkspaceEdit, TextDocumentEdit, CreateFile, RenameFile, DeleteFile, TextEdit} from "vscode-languageserver-types";
+import {IRegistry} from "../../_iregistry";
+import {Class} from "..";
+import {LSPUtils} from "../../lsp/_lsp_utils";
+import {ObjectRenamer} from "./_object_renamer";
+import {RenamerHelper} from "./renamer_helper";
+import {IObject} from "../_iobject";
+ 
+export class RenameGlobalClass implements ObjectRenamer {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public buildEdits(obj: IObject, oldName: string, newName: string): WorkspaceEdit | undefined {
+    if (!(obj instanceof Class)) {
+      throw new Error("not a class");
+    }
+ 
+    const main = obj.getMainABAPFile();
+    if (main === undefined) {
+      throw new Error("Main file not found");
+    }
+ 
+    let changes: (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[] = [];
+ 
+    // todo, this is actually the same as "id" ?
+    {
+      const edits: TextEdit[] = [];
+      for (const s of main.getStatements()) {
+        if (s.get() instanceof Statements.ClassDefinition) {
+          const exp = s.findFirstExpression(Expressions.ClassName);
+          if (exp === undefined) {
+            continue;
+          }
+          edits.push(TextEdit.replace(LSPUtils.tokenToRange(exp.getFirstToken()), newName.toLowerCase()));
+        } else if (s.get() instanceof Statements.ClassImplementation) {
+          const exp = s.findFirstExpression(Expressions.ClassName);
+          if (exp === undefined) {
+            continue;
+          }
+          edits.push(TextEdit.replace(LSPUtils.tokenToRange(exp.getFirstToken()), newName.toLowerCase()));
+        }
+      }
+      changes.push(TextDocumentEdit.create({uri: main.getFilename(), version: 1}, edits));
+    }
+ 
+    const helper = new RenamerHelper(this.reg);
+    changes = changes.concat(helper.buildXMLFileEdits(obj, "CLSNAME", oldName, newName));
+    changes = changes.concat(helper.renameFiles(obj, oldName, newName));
+    changes = changes.concat(helper.renameReferences(obj.getIdentifier(), oldName, newName));
+    changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));
+ 
+    return {
+      documentChanges: changes,
+    };
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/rename_global_interface.ts.html b/src/objects/rename/rename_global_interface.ts.html new file mode 100644 index 00000000000..03ea810adaa --- /dev/null +++ b/src/objects/rename/rename_global_interface.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/objects/rename/rename_global_interface.ts + + + + + + + + + +
+
+

All files / src/objects/rename rename_global_interface.ts

+
+ +
+ 89.09% + Statements + 49/55 +
+ + +
+ 57.14% + Branches + 4/7 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 89.09% + Lines + 49/55 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +551x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7x +7x +1x +1x +7x +  +  +7x +7x +7x +  +  +7x +7x +7x +7x +7x +7x +7x +20x +7x +7x +  +  +7x +7x +20x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +7x +1x +1x
import * as Statements from "../../abap/2_statements/statements";
+import * as Expressions from "../../abap/2_statements/expressions";
+import {WorkspaceEdit, TextDocumentEdit, CreateFile, RenameFile, DeleteFile, TextEdit} from "vscode-languageserver-types";
+import {IRegistry} from "../../_iregistry";
+import {LSPUtils} from "../../lsp/_lsp_utils";
+import {ObjectRenamer} from "./_object_renamer";
+import {RenamerHelper} from "./renamer_helper";
+import {IObject} from "../_iobject";
+import {Interface} from "../interface";
+ 
+export class RenameGlobalInterface implements ObjectRenamer {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public buildEdits(obj: IObject, oldName: string, newName: string): WorkspaceEdit | undefined {
+    if (!(obj instanceof Interface)) {
+      throw new Error("not an interface");
+    }
+ 
+    const main = obj.getMainABAPFile();
+    if (main === undefined) {
+      throw new Error("Main file not found");
+    }
+ 
+    let changes: (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[] = [];
+ 
+    // todo, this is actually the same as "id" ?
+    {
+      const edits: TextEdit[] = [];
+      for (const s of main.getStatements()) {
+        if (s.get() instanceof Statements.Interface) {
+          const exp = s.findFirstExpression(Expressions.InterfaceName);
+          if (exp === undefined) {
+            continue;
+          }
+          edits.push(TextEdit.replace(LSPUtils.tokenToRange(exp.getFirstToken()), newName.toLowerCase()));
+        }
+      }
+      changes.push(TextDocumentEdit.create({uri: main.getFilename(), version: 1}, edits));
+    }
+ 
+    const helper = new RenamerHelper(this.reg);
+    changes = changes.concat(helper.buildXMLFileEdits(obj, "CLSNAME", oldName, newName));
+    changes = changes.concat(helper.renameFiles(obj, oldName, newName));
+    changes = changes.concat(helper.renameReferences(obj.getIdentifier(), oldName, newName));
+ 
+    return {
+      documentChanges: changes,
+    };
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/rename_message_class.ts.html b/src/objects/rename/rename_message_class.ts.html new file mode 100644 index 00000000000..adb0beb3363 --- /dev/null +++ b/src/objects/rename/rename_message_class.ts.html @@ -0,0 +1,220 @@ + + + + + + Code coverage report for src/objects/rename/rename_message_class.ts + + + + + + + + + +
+
+

All files / src/objects/rename rename_message_class.ts

+
+ +
+ 91.3% + Statements + 42/46 +
+ + +
+ 60% + Branches + 3/5 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 91.3% + Lines + 42/46 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +461x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +1x +1x +2x +  +  +2x +2x +2x +2x +2x +2x +2x +2x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +2x +2x +2x +1x +1x
import {IRegistry} from "../../_iregistry";
+import {Range, TextEdit, WorkspaceEdit, TextDocumentEdit, CreateFile, RenameFile, DeleteFile} from "vscode-languageserver-types";
+import {MessageClass} from "..";
+import {ObjectRenamer} from "./_object_renamer";
+import {IObject} from "../_iobject";
+import {RenamerHelper} from "./renamer_helper";
+ 
+export class RenameMessageClass implements ObjectRenamer {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public buildEdits(obj: IObject, oldName: string, newName: string): WorkspaceEdit | undefined {
+    if (!(obj instanceof MessageClass)) {
+      throw new Error("RenameMessageClass, not a message class");
+    }
+ 
+    let changes: (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[] = [];
+    const helper = new RenamerHelper(this.reg);
+    changes = changes.concat(helper.buildXMLFileEdits(obj, "ARBGB", oldName, newName));
+    changes = changes.concat(helper.renameFiles(obj, oldName, newName));
+ 
+    for (const message of obj.getMessages()) {
+      for (const ref of this.reg.getMSAGReferences().listByMessage(obj.getName(), message.getNumber())) {
+        const file = this.reg.getFileByName(ref.filename);
+        if (file === undefined) {
+          continue;
+        }
+        const rows = file.getRawRows();
+        const i = ref.token.getRow() - 1;
+        const index = rows[i].indexOf(oldName.toLowerCase());
+        if (index >= 0) {
+          const range = Range.create(i, index, i, index + oldName.length);
+          changes.push(TextDocumentEdit.create({uri: file.getFilename(), version: 1}, [TextEdit.replace(range, newName.toLowerCase())]));
+        }
+      }
+    }
+ 
+    return {
+      documentChanges: changes,
+    };
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/rename_table.ts.html b/src/objects/rename/rename_table.ts.html new file mode 100644 index 00000000000..ddacdc96196 --- /dev/null +++ b/src/objects/rename/rename_table.ts.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/objects/rename/rename_table.ts + + + + + + + + + +
+
+

All files / src/objects/rename rename_table.ts

+
+ +
+ 94.11% + Statements + 32/34 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 94.11% + Lines + 32/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +341x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +1x +1x +3x +  +  +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x
import {IRegistry} from "../../_iregistry";
+import {WorkspaceEdit, TextDocumentEdit, CreateFile, RenameFile, DeleteFile} from "vscode-languageserver-types";
+import {Table} from "..";
+import {ObjectRenamer} from "./_object_renamer";
+import {IObject} from "../_iobject";
+import {RenamerHelper} from "./renamer_helper";
+ 
+export class RenameTable implements ObjectRenamer {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public buildEdits(obj: IObject, oldName: string, newName: string): WorkspaceEdit | undefined {
+    if (!(obj instanceof Table)) {
+      throw new Error("RenameTable, not a table");
+    }
+ 
+    let changes: (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[] = [];
+    const helper = new RenamerHelper(this.reg);
+    changes = changes.concat(helper.buildXMLFileEdits(obj, "TABNAME", oldName, newName));
+    changes = changes.concat(helper.buildXMLFileEdits(obj, "FORTABLE", oldName, newName));
+    changes = changes.concat(helper.renameFiles(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICCodeReferences(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICTTYPReferences(obj, oldName, newName));
+ 
+    return {
+      documentChanges: changes,
+    };
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/rename_table_type.ts.html b/src/objects/rename/rename_table_type.ts.html new file mode 100644 index 00000000000..d4b6c866cfe --- /dev/null +++ b/src/objects/rename/rename_table_type.ts.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/objects/rename/rename_table_type.ts + + + + + + + + + +
+
+

All files / src/objects/rename rename_table_type.ts

+
+ +
+ 93.93% + Statements + 31/33 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 93.93% + Lines + 31/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +331x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IRegistry} from "../../_iregistry";
+import {WorkspaceEdit, TextDocumentEdit, CreateFile, RenameFile, DeleteFile} from "vscode-languageserver-types";
+import {TableType} from "..";
+import {ObjectRenamer} from "./_object_renamer";
+import {IObject} from "../_iobject";
+import {RenamerHelper} from "./renamer_helper";
+ 
+export class RenameTableType implements ObjectRenamer {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public buildEdits(obj: IObject, oldName: string, newName: string): WorkspaceEdit | undefined {
+    if (!(obj instanceof TableType)) {
+      throw new Error("RenameTableType, not a table type");
+    }
+ 
+    let changes: (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[] = [];
+    const helper = new RenamerHelper(this.reg);
+    changes = changes.concat(helper.buildXMLFileEdits(obj, "TYPENAME", oldName, newName));
+    changes = changes.concat(helper.renameFiles(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICCodeReferences(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));
+    changes = changes.concat(helper.renameDDICTTYPReferences(obj, oldName, newName));
+ 
+    return {
+      documentChanges: changes,
+    };
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/renamer.ts.html b/src/objects/rename/renamer.ts.html new file mode 100644 index 00000000000..8f2f2755663 --- /dev/null +++ b/src/objects/rename/renamer.ts.html @@ -0,0 +1,514 @@ + + + + + + Code coverage report for src/objects/rename/renamer.ts + + + + + + + + + +
+
+

All files / src/objects/rename renamer.ts

+
+ +
+ 90.97% + Statements + 131/144 +
+ + +
+ 70.96% + Branches + 22/31 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 90.97% + Lines + 131/144 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +1441x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +31x +31x +1x +1x +1x +1x +29x +29x +29x +  +29x +  +  +29x +29x +29x +29x +29x +1x +1x +1x +32x +32x +32x +32x +  +32x +1x +1x +1x +31x +31x +31x +31x +31x +1x +1x +1x +1x +31x +31x +8x +31x +9x +31x +1x +31x +3x +31x +1x +31x +7x +31x +2x +31x +  +31x +31x +1x +1x +29x +29x +29x +29x +29x +29x +29x +29x +29x +29x +100x +68x +68x +100x +32x +32x +  +  +100x +29x +29x +32x +32x +32x +32x +29x +29x +29x +29x +29x +1x +1x +68x +68x +  +  +68x +68x +74x +  +  +74x +74x +74x +74x +74x +68x +68x +68x +1x +1x +29x +32x +32x +  +  +32x +32x +32x +32x +29x +1x
import {RenameFile, TextDocumentEdit, WorkspaceEdit} from "vscode-languageserver-types";
+import {MemoryFile} from "../../files/memory_file";
+import {IRegistry} from "../../_iregistry";
+import {RenameDataElement} from "./rename_data_element";
+import {RenameDomain} from "./rename_domain";
+import {RenameGlobalClass} from "./rename_global_class";
+import {RenameGlobalInterface} from "./rename_global_interface";
+import {RenameTable} from "./rename_table";
+import {RenameTableType} from "./rename_table_type";
+import {ObjectRenamer} from "./_object_renamer";
+import {RenameMessageClass} from "./rename_message_class";
+ 
+export interface IRenameResult {
+  deletedFiles: Set<string>;
+  addedFiles: Set<string>;
+  updatedFiles: Set<string>;
+}
+ 
+export class Renamer {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  /** Applies the renaming to the objects and files in the registry,
+   *  after renaming the registry is not parsed */
+  public rename(type: string, oldName: string, newName: string): IRenameResult {
+    const edits = this.buildEdits(type, oldName, newName);
+ 
+    if (edits === undefined) {
+      throw new Error("no changes could be determined");
+    } else if (edits.changes) {
+      throw new Error("only documentChanges expected");
+    }
+ 
+    const result = this.apply(edits);
+    this.reg.findIssues(); // hmm, this builds the ddic references
+    return result;
+  }
+ 
+  /** Builds edits, but does not apply to registry, used by LSP */
+  public buildEdits(type: string, oldName: string, newName: string): WorkspaceEdit | undefined {
+    this.reg.parse(); // the registry must be parsed to dermine references
+ 
+    const obj = this.reg.getObject(type, oldName);
+    if (obj === undefined) {
+      throw new Error("rename, object not found");
+    } else if (newName.length > obj.getAllowedNaming().maxLength) {
+      // todo, also do not allow strange characters and spaces
+      throw new Error("Name not allowed");
+    }
+ 
+    const r = this.factory(type);
+ 
+    return r.buildEdits(obj, oldName.toUpperCase(), newName);
+  }
+ 
+//////////////////
+ 
+  private factory(type: string): ObjectRenamer {
+    switch (type) {
+      case "CLAS":
+        return new RenameGlobalClass(this.reg);
+      case "DTEL":
+        return new RenameDataElement(this.reg);
+      case "DOMA":
+        return new RenameDomain(this.reg);
+      case "TABL":
+        return new RenameTable(this.reg);
+      case "TTYP":
+        return new RenameTableType(this.reg);
+      case "INTF":
+        return new RenameGlobalInterface(this.reg);
+      case "MSAG":
+        return new RenameMessageClass(this.reg);
+      default:
+        throw new Error("Renaming of " + type + " not yet supported");
+    }
+  }
+ 
+  private apply(edits: WorkspaceEdit): IRenameResult {
+    const renames: RenameFile[] = [];
+ 
+    const result: IRenameResult = {
+      addedFiles: new Set<string>(),
+      deletedFiles: new Set<string>(),
+      updatedFiles: new Set<string>(),
+    };
+ 
+    // assumption: only renames or text changes, no deletes or creates
+    for (const dc of edits.documentChanges || []) {
+      if (TextDocumentEdit.is(dc)) {
+        this.applyEdit(dc);
+        result.updatedFiles.add(dc.textDocument.uri);
+      } else if (RenameFile.is(dc)) {
+        renames.push(dc);
+      } else {
+        throw new Error("unexpected documentChange type");
+      }
+    }
+ 
+    for (const rename of renames) {
+      result.updatedFiles.delete(rename.oldUri);
+      result.deletedFiles.add(rename.oldUri);
+      result.addedFiles.add(rename.newUri);
+    }
+ 
+    this.applyRenames(renames);
+ 
+    return result;
+  }
+ 
+  private applyEdit(dc: TextDocumentEdit) {
+    const file = this.reg.getFileByName(dc.textDocument.uri);
+    if (file === undefined) {
+      throw new Error("file " + dc.textDocument.uri + " not found");
+    }
+    const rows = file.getRawRows();
+    for (const e of dc.edits) {
+      if (e.range.start.line !== e.range.end.line) {
+        throw new Error("applyEdit, start and end line differ");
+      }
+      const before = rows[e.range.start.line];
+      rows[e.range.start.line] = before.substring(0, e.range.start.character) +
+        e.newText +
+        before.substring(e.range.end.character);
+    }
+    const newFile = new MemoryFile(dc.textDocument.uri, rows.join("\n"));
+    this.reg.updateFile(newFile);
+  }
+ 
+  private applyRenames(renames: RenameFile[]) {
+    for (const r of renames) {
+      const old = this.reg.getFileByName(r.oldUri);
+      if (old === undefined) {
+        throw new Error("applyRenames, old not found");
+      }
+      const newFile = new MemoryFile(r.newUri, old.getRaw());
+      this.reg.removeFile(old);
+      this.reg.addFile(newFile);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rename/renamer_helper.ts.html b/src/objects/rename/renamer_helper.ts.html new file mode 100644 index 00000000000..b1a91a5d14e --- /dev/null +++ b/src/objects/rename/renamer_helper.ts.html @@ -0,0 +1,715 @@ + + + + + + Code coverage report for src/objects/rename/renamer_helper.ts + + + + + + + + + +
+
+

All files / src/objects/rename renamer_helper.ts

+
+ +
+ 90.52% + Statements + 191/211 +
+ + +
+ 86% + Branches + 43/50 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 90.52% + Lines + 191/211 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +2111x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +31x +31x +1x +1x +15x +  +  +15x +15x +25x +24x +  +  +24x +24x +25x +15x +15x +15x +15x +1x +1x +13x +13x +13x +13x +14x +3x +3x +11x +11x +11x +11x +11x +11x +11x +11x +13x +13x +1x +1x +21x +21x +21x +21x +21x +16x +14x +14x +14x +2x +16x +  +  +2x +2x +2x +2x +21x +21x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +1x +13x +13x +13x +13x +14x +13x +13x +1x +14x +  +  +1x +1x +1x +13x +13x +1x +1x +9x +9x +9x +9x +13x +12x +12x +1x +13x +  +  +1x +1x +1x +9x +9x +1x +1x +38x +38x +38x +38x +10x +10x +28x +28x +28x +28x +28x +38x +1063x +1063x +31x +31x +31x +31x +1063x +28x +28x +28x +1x +1x +31x +31x +31x +31x +31x +31x +36x +36x +36x +36x +31x +31x +31x +1x +1x +1x +1x +15x +15x +15x +15x +14x +14x +14x +14x +14x +14x +14x +14x +15x +15x +1x +1x +105x +105x +105x +81x +31x +31x +31x +14x +14x +31x +81x +105x +105x +81x +81x +105x +105x +105x +1x +1x
import {Range, RenameFile, TextDocumentEdit, TextEdit} from "vscode-languageserver-types";
+import {Table} from "../table";
+import {ReferenceType} from "../..";
+import {Identifier} from "../../abap/4_file_information/_identifier";
+import {SyntaxLogic} from "../../abap/5_syntax/syntax";
+import {ScopeType} from "../../abap/5_syntax/_scope_type";
+import {ISpaghettiScopeNode} from "../../abap/5_syntax/_spaghetti_scope";
+import {VirtualPosition} from "../../virtual_position";
+import {IRegistry} from "../../_iregistry";
+import {ABAPObject} from "../_abap_object";
+import {AbstractObject} from "../_abstract_object";
+import {IObject} from "../_iobject";
+import {DataElement} from "../data_element";
+ 
+export class RenamerHelper {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public renameReferences(id: Identifier | undefined, oldName: string, newName: string): TextDocumentEdit[] {
+    if (id === undefined) {
+      throw new Error("renameReferences, no main identifier found");
+    }
+    let refs: Identifier[] = [];
+    for (const o of this.reg.getObjects()) {
+      if (o instanceof ABAPObject) {
+        if (this.reg.isDependency(o)) {
+          continue; // do not search in dependencies
+        }
+        refs = refs.concat(this.findReferences(new SyntaxLogic(this.reg, o).run().spaghetti.getTop(), id));
+      }
+    }
+ 
+    // start with the last reference in the file first, if there are multiple refs per line
+    return this.replaceRefs(refs, oldName, newName).reverse();
+  }
+ 
+  public renameDDICCodeReferences(obj: IObject, oldName: string, newName: string): TextDocumentEdit[] {
+    const changes: TextDocumentEdit[] = [];
+    const used = this.reg.getDDICReferences().listWhereUsed(obj);
+ 
+    for (const u of used) {
+      if (u.token === undefined || u.filename === undefined) {
+        continue;
+      }
+      const range = Range.create(
+        u.token.getStart().getRow() - 1,
+        u.token.getStart().getCol() - 1,
+        u.token.getStart().getRow() - 1,
+        u.token.getStart().getCol() - 1 + oldName.length);
+      changes.push(
+        TextDocumentEdit.create({uri: u.filename, version: 1}, [TextEdit.replace(range, newName.toLowerCase())]));
+    }
+    return changes;
+  }
+ 
+  public renameDDICTABLReferences(obj: IObject, oldName: string, newName: string): TextDocumentEdit[] {
+    const changes: TextDocumentEdit[] = [];
+    const used = this.reg.getDDICReferences().listWhereUsed(obj);
+    const handled: {[name: string]: boolean} = {};
+ 
+    for (const u of used) {
+      if (u.type !== "TABL" || handled[u.name.toUpperCase()] === true) {
+        // a TABL might reference the object multiple times, but they are all fixes in one call to buildXMLFileEdits
+        continue;
+      }
+      const tabl = this.reg.getObject(u.type, u.name) as Table | undefined;
+      if (tabl === undefined) {
+        continue;
+      }
+ 
+      changes.push(...this.buildXMLFileEdits(tabl, "ROLLNAME", oldName, newName));
+      handled[u.name.toUpperCase()] = true;
+    }
+    return changes;
+  }
+ 
+  public renameDDICDTELReferences(obj: IObject, oldName: string, newName: string): TextDocumentEdit[] {
+    const changes: TextDocumentEdit[] = [];
+    const used = this.reg.getDDICReferences().listWhereUsed(obj);
+ 
+    for (const u of used) {
+      if (u.type !== "DTEL") {
+        continue;
+      }
+      const tabl = this.reg.getObject(u.type, u.name) as DataElement | undefined;
+      if (tabl === undefined) {
+        continue;
+      }
+
+      changes.push(...this.buildXMLFileEdits(tabl, "DOMNAME", oldName, newName));
+    }
+    return changes;
+  }
+ 
+  public renameDDICTTYPReferences(obj: IObject, oldName: string, newName: string): TextDocumentEdit[] {
+    const changes: TextDocumentEdit[] = [];
+    const used = this.reg.getDDICReferences().listWhereUsed(obj);
+ 
+    for (const u of used) {
+      if (u.type !== "TTYP") {
+        continue;
+      }
+      const tabl = this.reg.getObject(u.type, u.name) as DataElement | undefined;
+      if (tabl === undefined) {
+        continue;
+      }
+ 
+      changes.push(...this.buildXMLFileEdits(tabl, "ROWTYPE", oldName, newName));
+    }
+    return changes;
+  }
+ 
+  public renameDDICAUTHReferences(obj: IObject, oldName: string, newName: string): TextDocumentEdit[] {
+    const changes: TextDocumentEdit[] = [];
+    const used = this.reg.getDDICReferences().listWhereUsed(obj);
+ 
+    for (const u of used) {
+      if (u.type !== "AUTH") {
+        continue;
+      }
+      const tabl = this.reg.getObject(u.type, u.name) as DataElement | undefined;
+      if (tabl === undefined) {
+        continue;
+      }
+ 
+      changes.push(...this.buildXMLFileEdits(tabl, "ROLLNAME", oldName, newName));
+    }
+    return changes;
+  }
+ 
+  public buildXMLFileEdits(object: AbstractObject, xmlTag: string, oldName: string, newName: string): TextDocumentEdit[] {
+    const changes: TextDocumentEdit[] = [];
+    const xml = object.getXMLFile();
+ 
+    if (xml === undefined) {
+      return [];
+    }
+ 
+    const tag = xmlTag.toUpperCase();
+    const search = "<" + tag + ">" + oldName.toUpperCase() + "</" + tag + ">";
+    const length = tag.length + 2;
+    const rows = xml.getRawRows();
+    for (let i = 0; i < rows.length; i++) {
+      const index = rows[i].indexOf(search);
+      if (index >= 0) {
+        const range = Range.create(i, index + length, i, index + oldName.length + length);
+        changes.push(
+          TextDocumentEdit.create({uri: xml.getFilename(), version: 1}, [TextEdit.replace(range, newName.toUpperCase())]));
+      }
+    }
+ 
+    return changes;
+  }
+ 
+  public renameFiles(obj: IObject, oldName: string, name: string): RenameFile[] {
+    const list: RenameFile[] = [];
+ 
+    const newName = name.toLowerCase().replace(/\//g, "#");
+    oldName = oldName.toLowerCase().replace(/\//g, "#");
+ 
+    for (const f of obj.getFiles()) {
+// todo, this is not completely correct, ie. if the URI contains the same directory name as the object name
+      const newFilename = f.getFilename().replace(oldName, newName);
+      list.push(RenameFile.create(f.getFilename(), newFilename));
+    }
+ 
+    return list;
+  }
+ 
+////////////////////////
+ 
+  private replaceRefs(refs: Identifier[], oldName: string, newName: string): TextDocumentEdit[] {
+    const changes: TextDocumentEdit[] = [];
+ 
+    // "zif_abapgit_auth~is_allowed" is a single token so only replace the first part of a token
+    for (const r of refs) {
+      const range = Range.create(
+        r.getStart().getRow() - 1,
+        r.getStart().getCol() - 1,
+        r.getStart().getRow() - 1,
+        r.getStart().getCol() - 1 + oldName.length);
+      changes.push(
+        TextDocumentEdit.create({uri: r.getFilename(), version: 1}, [TextEdit.replace(range, newName.toLowerCase())]));
+    }
+    return changes;
+  }
+ 
+  private findReferences(node: ISpaghettiScopeNode, identifier: Identifier): Identifier[] {
+    let ret: Identifier[] = [];
+ 
+    if (node.getIdentifier().stype !== ScopeType.BuiltIn) {
+      for (const r of node.getData().references) {
+        if (r.resolved?.equals(identifier)
+            && r.referenceType !== ReferenceType.InferredType
+            && !(r.position.getStart() instanceof VirtualPosition)) {
+          ret.push(r.position);
+        }
+      }
+    }
+ 
+    for (const c of node.getChildren()) {
+      ret = ret.concat(this.findReferences(c, identifier));
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/restriction_field.ts.html b/src/objects/restriction_field.ts.html new file mode 100644 index 00000000000..635c620b151 --- /dev/null +++ b/src/objects/restriction_field.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/restriction_field.ts + + + + + + + + + +
+
+

All files / src/objects restriction_field.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class RestrictionField extends AbstractObject {
+ 
+  public getType(): string {
+    return "SIA5";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/restriction_type.ts.html b/src/objects/restriction_type.ts.html new file mode 100644 index 00000000000..f2e6a54c282 --- /dev/null +++ b/src/objects/restriction_type.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/restriction_type.ts + + + + + + + + + +
+
+

All files / src/objects restriction_type.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class RestrictionType extends AbstractObject {
+ 
+  public getType(): string {
+    return "SIA2";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 200,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/rfc_service.ts.html b/src/objects/rfc_service.ts.html new file mode 100644 index 00000000000..fbfa0c30354 --- /dev/null +++ b/src/objects/rfc_service.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/rfc_service.ts + + + + + + + + + +
+
+

All files / src/objects rfc_service.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class RFCService extends AbstractObject {
+ 
+  public getType(): string {
+    return "SRFC";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/sapscript.ts.html b/src/objects/sapscript.ts.html new file mode 100644 index 00000000000..22c37fed38f --- /dev/null +++ b/src/objects/sapscript.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/sapscript.ts + + + + + + + + + +
+
+

All files / src/objects sapscript.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class SAPScript extends AbstractObject {
+ 
+  public getType(): string {
+    return "FORM";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 20,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/sapscript_style.ts.html b/src/objects/sapscript_style.ts.html new file mode 100644 index 00000000000..2fcc6b2344d --- /dev/null +++ b/src/objects/sapscript_style.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/sapscript_style.ts + + + + + + + + + +
+
+

All files / src/objects sapscript_style.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class SAPScriptStyle extends AbstractObject {
+ 
+  public getType(): string {
+    return "STYL";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/screen_variant.ts.html b/src/objects/screen_variant.ts.html new file mode 100644 index 00000000000..2cb74f21f5b --- /dev/null +++ b/src/objects/screen_variant.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/screen_variant.ts + + + + + + + + + +
+
+

All files / src/objects screen_variant.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ScreenVariant extends AbstractObject {
+ 
+  public getType(): string {
+    return "SCVI";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/search_help.ts.html b/src/objects/search_help.ts.html new file mode 100644 index 00000000000..f0cf1e96a67 --- /dev/null +++ b/src/objects/search_help.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/search_help.ts + + + + + + + + + +
+
+

All files / src/objects search_help.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class SearchHelp extends AbstractObject {
+ 
+  public getType(): string {
+    return "SHLP";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/service_binding.ts.html b/src/objects/service_binding.ts.html new file mode 100644 index 00000000000..62ddda2a8df --- /dev/null +++ b/src/objects/service_binding.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/service_binding.ts + + + + + + + + + +
+
+

All files / src/objects service_binding.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ServiceBinding extends AbstractObject {
+ 
+  public getType(): string {
+    return "SRVB";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 26,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/service_definition.ts.html b/src/objects/service_definition.ts.html new file mode 100644 index 00000000000..dcda2a11725 --- /dev/null +++ b/src/objects/service_definition.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/service_definition.ts + + + + + + + + + +
+
+

All files / src/objects service_definition.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class ServiceDefinition extends AbstractObject {
+ 
+  public getType(): string {
+    return "SRVD";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/shared_memory.ts.html b/src/objects/shared_memory.ts.html new file mode 100644 index 00000000000..29370a198a8 --- /dev/null +++ b/src/objects/shared_memory.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/shared_memory.ts + + + + + + + + + +
+
+

All files / src/objects shared_memory.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class SharedMemory extends AbstractObject {
+ 
+  public getType(): string {
+    return "SHMA";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/smart_form.ts.html b/src/objects/smart_form.ts.html new file mode 100644 index 00000000000..877b3f20676 --- /dev/null +++ b/src/objects/smart_form.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/smart_form.ts + + + + + + + + + +
+
+

All files / src/objects smart_form.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +9x +9x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class SmartForm extends AbstractObject {
+ 
+  public getType(): string {
+    return "SSFO";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/smart_style.ts.html b/src/objects/smart_style.ts.html new file mode 100644 index 00000000000..c131821a43b --- /dev/null +++ b/src/objects/smart_style.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/smart_style.ts + + + + + + + + + +
+
+

All files / src/objects smart_style.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +9x +9x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class SmartStyle extends AbstractObject {
+ 
+  public getType(): string {
+    return "SSST";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/standard_task.ts.html b/src/objects/standard_task.ts.html new file mode 100644 index 00000000000..96ba4c0d1f1 --- /dev/null +++ b/src/objects/standard_task.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/standard_task.ts + + + + + + + + + +
+
+

All files / src/objects standard_task.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class StandardTask extends AbstractObject {
+ 
+  public getType(): string {
+    return "PDTS";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/switch_assignment_hierarchy.ts.html b/src/objects/switch_assignment_hierarchy.ts.html new file mode 100644 index 00000000000..bfbd0aee547 --- /dev/null +++ b/src/objects/switch_assignment_hierarchy.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/switch_assignment_hierarchy.ts + + + + + + + + + +
+
+

All files / src/objects switch_assignment_hierarchy.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class SwitchAssignmentHierarchy extends AbstractObject {
+ 
+  public getType(): string {
+    return "SHI8";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 20,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/switch_assignments.ts.html b/src/objects/switch_assignments.ts.html new file mode 100644 index 00000000000..d7bb1193d8f --- /dev/null +++ b/src/objects/switch_assignments.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/switch_assignments.ts + + + + + + + + + +
+
+

All files / src/objects switch_assignments.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class SwitchAssignments extends AbstractObject {
+ 
+  public getType(): string {
+    return "SFSW";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/table.ts.html b/src/objects/table.ts.html new file mode 100644 index 00000000000..6f4a6f7ee4d --- /dev/null +++ b/src/objects/table.ts.html @@ -0,0 +1,1036 @@ + + + + + + Code coverage report for src/objects/table.ts + + + + + + + + + +
+
+

All files / src/objects table.ts

+
+ +
+ 82.33% + Statements + 261/317 +
+ + +
+ 74.33% + Branches + 84/113 +
+ + +
+ 88.88% + Functions + 8/9 +
+ + +
+ 82.33% + Lines + 261/317 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +3181x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1375x +1375x +1x +1x +  +  +  +1x +1x +28x +28x +28x +28x +13x +13x +28x +28x +28x +28x +28x +28x +28x +1x +1x +123x +123x +123x +1x +1x +6x +  +  +6x +  +  +6x +6x +6x +13x +1x +1x +1x +1x +1x +1x +13x +9x +9x +13x +6x +6x +1x +1x +275x +100x +100x +  +  +100x +275x +275x +275x +2x +2x +273x +273x +273x +273x +275x +644x +644x +252x +252x +252x +17x +17x +644x +16x +  +  +16x +16x +16x +12x +12x +16x +  +  +16x +12x +5x +5x +12x +14x +14x +16x +4x +2x +2x +  +2x +2x +2x +2x +  +  +392x +2x +2x +  +  +2x +2x +2x +2x +2x +  +  +  +  +  +  +  +376x +2x +2x +2x +2x +2x +374x +14x +  +  +14x +2x +2x +2x +14x +2x +2x +2x +12x +  +  +  +  +  +10x +  +  +  +  +  +10x +  +  +  +  +  +10x +10x +10x +10x +8x +8x +10x +372x +2x +2x +2x +2x +2x +358x +356x +356x +  +  +356x +356x +356x +356x +356x +  +  +  +  +638x +644x +7x +7x +3x +3x +7x +644x +269x +275x +14x +14x +255x +255x +255x +255x +1x +1x +29x +  +  +29x +29x +29x +1x +1x +20x +  +  +20x +  +  +20x +20x +1x +1x +1x +1x +100x +100x +  +  +100x +100x +100x +100x +11x +11x +89x +89x +100x +15x +100x +74x +74x +89x +89x +100x +100x +100x +100x +100x +100x +219x +219x +219x +219x +219x +219x +219x +219x +219x +219x +219x +219x +219x +219x +219x +89x +1x +1x + 
import * as Types from "../abap/types/basic";
+import {AbstractObject} from "./_abstract_object";
+import {xmlToArray} from "../xml_utils";
+import {IRegistry} from "../_iregistry";
+import {DDIC} from "../ddic";
+import {TypedIdentifier} from "../abap/types/_typed_identifier";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {AnyType, DataReference, GenericObjectReferenceType} from "../abap/types/basic";
+import {IObjectAndToken} from "../_iddic_references";
+import {Version} from "../version";
+import {IAllowedNaming} from "./_iobject";
+ 
+export enum EnhancementCategory {
+  NotClassified = "0",
+  CannotBeEhanced = "1",
+  Character = "2",
+  CharacterOrNumeric = "3",
+  Deep = "4",
+}
+ 
+export enum TableCategory {
+  Transparent = "TRANSP",
+  Structure = "INTTAB",
+  Cluster = "CLUSTER",
+  Pooled = "POOL",
+  View = "VIEW",
+  Append = "APPEND",
+}
+ 
+export class Table extends AbstractObject {
+  private parsedData: {
+    tableCategory?: TableCategory | undefined,
+    dataClass?: string,
+    enhancementCategory?: EnhancementCategory,
+    fields: {
+      FIELDNAME: string,
+      ROLLNAME?: string,
+      COMPTYPE?: string,
+      PRECFIELD?: string,
+      LENG?: string,
+      INTLEN?: string,
+      DATATYPE?: string,
+      DECIMALS?: string,
+      KEYFLAG?: string,
+      GROUPNAME?: string,
+      CHECKTABLE?: string,
+      REFTYPE?: string,
+    }[]} | undefined;
+ 
+  public getType(): string {
+    return "TABL";
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+  public getAllowedNaming(): IAllowedNaming {
+    let length = 30;
+    const regex = /^((\/[A-Z_\d]{3,8}\/)|[a-zA-Z0-9]{3})\w+$/;
+ 
+    if (this.getTableCategory() === TableCategory.Transparent) {
+      length = 16;
+    }
+ 
+    return {
+      maxLength: length,
+      allowNamespace: true,
+      customRegex: regex,
+    };
+  }
+ 
+  public setDirty(): void {
+    this.parsedData = undefined;
+    super.setDirty();
+  }
+ 
+  public listKeys(reg: IRegistry): string[] {
+    if (this.parsedData === undefined) {
+      this.parseXML();
+    }
+    if (this.parsedData === undefined) {
+      return [];
+    }
+ 
+    const ret: string[] = [];
+    for (const p of this.parsedData.fields) {
+      if (p.KEYFLAG === "X" && p.FIELDNAME === ".INCLUDE") {
+        const lookup = new DDIC(reg).lookupTableOrView(p.PRECFIELD).type;
+        if (lookup instanceof Types.StructureType) {
+          for (const c of lookup.getComponents()) {
+            ret.push(c.name);
+          }
+        }
+      } else if (p.KEYFLAG === "X") {
+        ret.push(p.FIELDNAME);
+      }
+    }
+    return ret;
+  }
+ 
+  public parseType(reg: IRegistry): AbstractType {
+    if (this.parsedData === undefined) {
+      this.parseXML();
+      if (this.parsedData === undefined) {
+        return new Types.UnknownType("Table, parser error");
+      }
+    }
+ 
+    if (reg.getConfig().getVersion() === Version.Cloud
+        && this.parsedData.dataClass === "USER3") {
+      return new Types.UnknownType("Data class = USER3 not allowed in cloud");
+    }
+ 
+    const references: IObjectAndToken[] = [];
+    const components: Types.IStructureComponent[] = [];
+    const ddic = new DDIC(reg);
+    for (const field of this.parsedData.fields) {
+      const comptype = field.COMPTYPE ? field.COMPTYPE : "";
+      if (comptype === "E") { // data element
+        const lookup = ddic.lookupDataElement(field.ROLLNAME);
+        components.push({name: field.FIELDNAME, type: lookup.type});
+        if (lookup.object) {
+          references.push({object: lookup.object});
+        }
+      } else if (field.FIELDNAME === ".INCLUDE" || field.FIELDNAME === ".INCLU--AP") { // incude or append structure
+        if (field.PRECFIELD === undefined) {
+          return new Types.UnknownType("Table, parser error, PRECFIELD undefined");
+        }
+        const lookup = ddic.lookupTableOrView(field.PRECFIELD);
+        let found = lookup.type;
+        if (lookup.object) {
+          references.push({object: lookup.object});
+        }
+        if (found instanceof TypedIdentifier) {
+          found = found.getType();
+        }
+        if (found instanceof Types.StructureType) {
+          if (field.GROUPNAME !== undefined) {
+            components.push({name: field.GROUPNAME, type: found});
+          }
+          for (const c of found.getComponents()) {
+            components.push({name: c.name, type: c.type});
+          }
+        } else if ((field.PRECFIELD?.startsWith("CI_") || field.PRECFIELD?.startsWith("SI_"))
+            && found instanceof Types.UnknownType) {
+          continue;
+        } else if (found instanceof Types.UnknownType) {
+          return found;
+        } else if (found instanceof Types.VoidType) {
+          // set the full structure to void
+          return found;
+        } else {
+          components.push({name: field.FIELDNAME, type: found});
+        }
+      } else if (comptype === "S" && field.FIELDNAME.startsWith(".INCLU-")) {
+        const lookup = ddic.lookupTableOrView(field.PRECFIELD);
+        if (lookup.object) {
+          references.push({object: lookup.object});
+        }
+        const found = lookup.type;
+        if (found instanceof Types.VoidType) {
+          // set the full structure to void
+          return found;
+        } else if (found instanceof Types.StructureType) {
+          const suffix = field.FIELDNAME.split("-")[1];
+          for (const c of found.getComponents()) {
+            components.push({name: c.name + suffix, type: c.type});
+          }
+        } else if (found instanceof Types.UnknownType) {
+          return found;
+        }
+      } else if (comptype === "S") {
+        const lookup = ddic.lookupTableOrView(field.ROLLNAME);
+        components.push({name: field.FIELDNAME, type: lookup.type});
+        if (lookup.object) {
+          references.push({object: lookup.object});
+        }
+      } else if (comptype === "R") {
+        if (field.ROLLNAME === undefined) {
+          throw new Error("Expected ROLLNAME");
+        }
+        if (field.ROLLNAME === "DATA") {
+          components.push({
+            name: field.FIELDNAME,
+            type: new DataReference(new AnyType())});
+        } else if (field.ROLLNAME === "OBJECT") {
+          components.push({
+            name: field.FIELDNAME,
+            type: new GenericObjectReferenceType()});
+        } else if (field.REFTYPE === "S") {
+          const lookup = ddic.lookupTableOrView(field.ROLLNAME);
+          components.push({name: field.FIELDNAME, type: new DataReference(lookup.type)});
+          if (lookup.object) {
+            references.push({object: lookup.object});
+          }
+        } else if (field.REFTYPE === "L") {
+          const lookup = ddic.lookupTableType(field.ROLLNAME);
+          components.push({name: field.FIELDNAME, type: new DataReference(lookup.type)});
+          if (lookup.object) {
+            references.push({object: lookup.object});
+          }
+        } else if (field.REFTYPE === "E") {
+          const lookup = ddic.lookupDataElement(field.ROLLNAME);
+          components.push({name: field.FIELDNAME, type: new DataReference(lookup.type)});
+          if (lookup.object) {
+            references.push({object: lookup.object});
+          }
+        } else {
+          const lookup = ddic.lookupObject(field.ROLLNAME);
+          components.push({name: field.FIELDNAME, type: lookup.type});
+          if (lookup.object) {
+            references.push({object: lookup.object});
+          }
+        }
+      } else if (comptype === "L") {
+        const lookup = ddic.lookupTableType(field.ROLLNAME);
+        components.push({name: field.FIELDNAME, type: lookup.type});
+        if (lookup.object) {
+          references.push({object: lookup.object});
+        }
+      } else if (comptype === "") { // built in
+        const datatype = field.DATATYPE;
+        if (datatype === undefined) {
+          throw new Error("Expected DATATYPE, while parsing TABL " + this.getName());
+        }
+        const length = field.LENG ? field.LENG : field.INTLEN;
+        components.push({
+          name: field.FIELDNAME,
+          type: ddic.textToType(datatype, length, field.DECIMALS, this.getName() + "-" + field.FIELDNAME)});
+      } else {
+        components.push({
+          name: field.FIELDNAME,
+          type: new Types.UnknownType("Table " + this.getName() + ", unknown component type \"" + comptype + "\"")});
+      }
+ 
+      if (field.CHECKTABLE) {
+        const lookup = ddic.lookupTableOrView2(field.CHECKTABLE);
+        if (lookup) {
+          references.push({object: lookup});
+        }
+      }
+    }
+ 
+    if (components.length === 0) {
+      return new Types.UnknownType("Table/Structure " + this.getName() + " does not contain any components");
+    }
+ 
+    reg.getDDICReferences().setUsing(this, references);
+    return new Types.StructureType(components, this.getName(), this.getName());
+  }
+ 
+  public getTableCategory(): TableCategory | undefined {
+    if (this.parsedData === undefined) {
+      this.parseXML();
+    }
+ 
+    return this.parsedData?.tableCategory;
+  }
+ 
+  public getEnhancementCategory(): EnhancementCategory {
+    if (this.parsedData === undefined) {
+      this.parseXML();
+    }
+    if (this.parsedData?.enhancementCategory === undefined) {
+      return EnhancementCategory.NotClassified;
+    }
+    return this.parsedData.enhancementCategory;
+  }
+ 
+///////////////
+ 
+  private parseXML() {
+    const parsed = super.parseRaw2();
+    if (parsed === undefined) {
+      return;
+    }
+ 
+    this.parsedData = {fields: []};
+ 
+    if (parsed.abapGit === undefined) {
+      return;
+    }
+ 
+// enhancement category
+    if (parsed.abapGit["asx:abap"]["asx:values"]?.DD02V?.EXCLASS === undefined) {
+      this.parsedData.enhancementCategory = EnhancementCategory.NotClassified;
+    } else {
+      this.parsedData.enhancementCategory = parsed.abapGit["asx:abap"]["asx:values"]?.DD02V?.EXCLASS;
+    }
+ 
+// table category
+    this.parsedData.tableCategory = parsed.abapGit["asx:abap"]["asx:values"]?.DD02V?.TABCLASS;
+    this.parsedData.dataClass = parsed.abapGit["asx:abap"]["asx:values"]?.DD09L?.TABART;
+ 
+// fields
+    const fields = parsed.abapGit["asx:abap"]["asx:values"]?.DD03P_TABLE;
+    for (const field of xmlToArray(fields?.DD03P)) {
+      this.parsedData.fields.push({
+        FIELDNAME: field.FIELDNAME,
+        ROLLNAME: field.ROLLNAME,
+        COMPTYPE: field.COMPTYPE,
+        PRECFIELD: field.PRECFIELD,
+        LENG: field.LENG,
+        INTLEN: field.INTLEN,
+        DATATYPE: field.DATATYPE,
+        DECIMALS: field.DECIMALS,
+        KEYFLAG: field.KEYFLAG,
+        GROUPNAME: field.GROUPNAME,
+        CHECKTABLE: field.CHECKTABLE,
+        REFTYPE: field.REFTYPE,
+      });
+    }
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/table_type.ts.html b/src/objects/table_type.ts.html new file mode 100644 index 00000000000..34e61e846db --- /dev/null +++ b/src/objects/table_type.ts.html @@ -0,0 +1,721 @@ + + + + + + Code coverage report for src/objects/table_type.ts + + + + + + + + + +
+
+

All files / src/objects table_type.ts

+
+ +
+ 93.86% + Statements + 199/212 +
+ + +
+ 70.83% + Branches + 51/72 +
+ + +
+ 88.88% + Functions + 8/9 +
+ + +
+ 93.86% + Lines + 199/212 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +2131x +1x +1x +1x +1x +1x +1x +1x +1x +31x +31x +31x +31x +31x +31x +31x +31x +31x +31x +31x +31x +31x +31x +31x +31x +333x +333x +31x +31x +4x +4x +4x +4x +4x +31x +31x +  +  +  +31x +31x +33x +33x +33x +31x +31x +63x +63x +63x +63x +63x +63x +63x +6x +63x +2x +2x +63x +63x +8x +6x +6x +8x +63x +2x +2x +63x +63x +31x +31x +63x +63x +51x +51x +63x +63x +63x +63x +63x +63x +63x +63x +63x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +  +  +2x +  +2x +2x +2x +2x +2x +2x +2x +2x +63x +63x +63x +31x +31x +63x +63x +63x +63x +63x +63x +63x +63x +63x +  +63x +29x +29x +29x +18x +18x +63x +6x +6x +6x +6x +6x +34x +  +  +  +  +  +28x +2x +28x +2x +26x +2x +2x +2x +2x +2x +24x +18x +  +18x +18x +18x +18x +22x +4x +4x +63x +63x +63x +63x +31x +31x +31x +31x +63x +32x +32x +31x +31x +31x +31x +31x +31x +31x +63x +4x +4x +27x +27x +27x +27x +63x +63x +63x +63x +63x +63x +63x +63x +63x +63x +63x +4x +4x +4x +4x +4x +63x +1x +1x +1x +1x +1x +1x +1x +27x +31x +31x + 
import {AbstractObject} from "./_abstract_object";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import * as Types from "../abap/types/basic";
+import {IRegistry} from "../_iregistry";
+import {DDIC} from "../ddic";
+import {IObjectAndToken} from "../_iddic_references";
+import {DataReference, GenericObjectReferenceType, ITableOptions, TableAccessType} from "../abap/types/basic";
+import {xmlToArray} from "../xml_utils";
+ 
+export class TableType extends AbstractObject {
+  private parsedXML: {
+    rowtype?: string,
+    rowkind?: string,
+    datatype?: string,
+    leng?: string,
+    decimals?: string,
+    accessmode?: string,
+    keykind?: string,
+    ddtext?: string,
+    keydef?: string,
+    dd42v: {keyname: string, keyfield: string}[];
+    dd43v: {keyname: string, accessmode: string, kind: string, unique: boolean}[];
+  } | undefined = undefined;
+ 
+  public getType(): string {
+    return "TTYP";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    this.parseXML();
+    return this.parsedXML?.ddtext;
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  private buildPrimaryKey() {
+    const primaryKey: Types.ITableKey = {
+      isUnique: this.parsedXML?.keykind === "U",
+      type: TableAccessType.standard,
+      keyFields: [],
+      name: "primary_key",
+    };
+    if (this.parsedXML?.accessmode === "S") {
+      primaryKey.type = TableAccessType.sorted;
+    } else if (this.parsedXML?.accessmode === "H") {
+      primaryKey.type = TableAccessType.hashed;
+    }
+ 
+    for (const f of this.parsedXML?.dd42v || []) {
+      if (f.keyname === "") {
+        primaryKey.keyFields.push(f.keyfield);
+      }
+    }
+    if (this.parsedXML?.keydef === "T" && primaryKey.keyFields.length === 0) {
+      primaryKey.keyFields.push("table_line");
+    }
+    return primaryKey;
+  }
+ 
+  private buildTableOptions(): ITableOptions {
+    let keyType = Types.TableKeyType.user;
+    if (this.parsedXML?.keydef === "D") {
+      keyType = Types.TableKeyType.default;
+    }
+ 
+    const tableOptions: ITableOptions = {
+      withHeader: false,
+      keyType: keyType,
+      primaryKey: this.buildPrimaryKey(),
+      secondary: [],
+    };
+ 
+    for (const k of this.parsedXML?.dd43v || []) {
+      const fields: string[] = [];
+      for (const f of this.parsedXML?.dd42v || []) {
+        if (f.keyname === k.keyname) {
+          fields.push(f.keyfield);
+        }
+      }
+      let accessType: TableAccessType = TableAccessType.standard;
+      switch (k.accessmode) {
+        case "S":
+          accessType = TableAccessType.sorted;
+          break;
+        case "H":
+          accessType = TableAccessType.hashed;
+          break;
+        default:
+          break;
+      }
+      tableOptions.secondary?.push({
+        name: k.keyname,
+        type: accessType,
+        keyFields: fields,
+        isUnique: k.unique,
+      });
+    }
+ 
+    return tableOptions;
+  }
+ 
+  public parseType(reg: IRegistry): AbstractType {
+    this.parseXML();
+ 
+    const ddic = new DDIC(reg);
+ 
+    const references: IObjectAndToken[] = [];
+    let type: AbstractType;
+    const tableOptions = this.buildTableOptions();
+ 
+    if (this.parsedXML === undefined) {
+      type = new Types.UnknownType("Table Type, parser error", this.getName());
+    } else if (this.parsedXML.rowkind === "S") {
+      const lookup = ddic.lookupTableOrView(this.parsedXML.rowtype);
+      type = new Types.TableType(lookup.type, tableOptions, this.getName());
+      if (lookup.object) {
+        references.push({object: lookup.object});
+      }
+    } else if (this.parsedXML.rowkind === "E") {
+      const lookup = ddic.lookupDataElement(this.parsedXML.rowtype);
+      type = new Types.TableType(lookup.type, tableOptions, this.getName());
+      if (lookup.object) {
+        references.push({object: lookup.object});
+      }
+    } else if (this.parsedXML.rowkind === "L") {
+      const lookup = ddic.lookupTableType(this.parsedXML.rowtype);
+      type = new Types.TableType(lookup.type, tableOptions, this.getName());
+      if (lookup.object) {
+        references.push({object: lookup.object});
+      }
+    } else if (this.parsedXML.rowkind === "R" && this.parsedXML.rowtype === "OBJECT") {
+      type = new Types.TableType(new GenericObjectReferenceType(), tableOptions, this.getName());
+    } else if (this.parsedXML.rowkind === "R" && this.parsedXML.rowtype === "DATA") {
+      type = new Types.TableType(new DataReference(new Types.DataType()), tableOptions, this.getName());
+    } else if (this.parsedXML.rowkind === "R" && this.parsedXML.rowtype !== undefined) {
+      const lookup = ddic.lookupObject(this.parsedXML.rowtype);
+      type = new Types.TableType(lookup.type, tableOptions, this.getName());
+      if (lookup.object) {
+        references.push({object: lookup.object});
+      }
+    } else if (this.parsedXML.rowkind === "") {
+      if (this.parsedXML.datatype === undefined) {
+        type = new Types.UnknownType("Table Type, empty DATATYPE" + this.getName(), this.getName());
+      } else {
+        const row = ddic.textToType(this.parsedXML.datatype, this.parsedXML.leng, this.parsedXML.decimals, this.getName());
+        type = new Types.TableType(row, tableOptions, this.getName());
+      }
+    } else {
+      type = new Types.UnknownType("Table Type, unknown kind \"" + this.parsedXML.rowkind + "\"" + this.getName(), this.getName());
+    }
+ 
+    reg.getDDICReferences().setUsing(this, references);
+    return type;
+  }
+ 
+////////////////////
+ 
+  private parseXML() {
+    if (this.parsedXML !== undefined) {
+      return;
+    }
+ 
+    this.parsedXML = {
+      dd42v: [],
+      dd43v: [],
+    };
+ 
+    const parsed = super.parseRaw2();
+    if (parsed === undefined || parsed.abapGit === undefined) {
+      return;
+    }
+ 
+    const values = parsed.abapGit["asx:abap"]["asx:values"];
+ 
+    const dd40v = values.DD40V;
+    this.parsedXML.rowtype = dd40v.ROWTYPE ? dd40v.ROWTYPE : "";
+    this.parsedXML.rowkind = dd40v.ROWKIND ? dd40v.ROWKIND : "";
+    this.parsedXML.datatype = dd40v.DATATYPE;
+    this.parsedXML.leng = dd40v.LENG;
+    this.parsedXML.decimals = dd40v.DECIMALS;
+    this.parsedXML.accessmode = dd40v.ACCESSMODE;
+    this.parsedXML.keykind = dd40v.KEYKIND;
+    this.parsedXML.ddtext = dd40v.DDTEXT;
+    this.parsedXML.keydef = dd40v.KEYDEF;
+ 
+    for (const x of xmlToArray(values.DD42V?.DD42V)) {
+      this.parsedXML.dd42v.push({
+        keyname: x.SECKEYNAME || "",
+        keyfield: x.KEYFIELD || "",
+      });
+    }
+    for (const x of xmlToArray(values.DD43V?.DD43V)) {
+      this.parsedXML.dd43v.push({
+        keyname: x.SECKEYNAME || "",
+        accessmode: x.ACCESSMODE || "",
+        kind: x.KIND || "",
+        unique: x.SECKEYUNIQUE === "X",
+      });
+    }
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/technical_job_definition.ts.html b/src/objects/technical_job_definition.ts.html new file mode 100644 index 00000000000..f399fbdf6da --- /dev/null +++ b/src/objects/technical_job_definition.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/technical_job_definition.ts + + + + + + + + + +
+
+

All files / src/objects technical_job_definition.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class TechnicalJobDefinition extends AbstractObject {
+ 
+  public getType(): string {
+    return "JOBD";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 32,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/transaction.ts.html b/src/objects/transaction.ts.html new file mode 100644 index 00000000000..b0bc65e5f7d --- /dev/null +++ b/src/objects/transaction.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/objects/transaction.ts + + + + + + + + + +
+
+

All files / src/objects transaction.ts

+
+ +
+ 90.9% + Statements + 50/55 +
+ + +
+ 76.47% + Branches + 13/17 +
+ + +
+ 83.33% + Functions + 5/6 +
+ + +
+ 90.9% + Lines + 50/55 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +551x +1x +1x +1x +1x +1x +1x +1x +1x +30x +30x +1x +1x +8x +8x +8x +1x +1x +  +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +9x +2x +2x +7x +7x +7x +7x +7x +7x +9x +6x +6x +1x +9x +9x +9x +9x +9x +9x +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class Transaction extends AbstractObject {
+  private parsedXML: {
+    description?: string,
+    programName?: string,
+  } | undefined;
+ 
+  public getType(): string {
+    return "TRAN";
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 20,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getProgramName(): string | undefined {
+    this.parse();
+    return this.parsedXML?.programName;
+  }
+ 
+  public getDescription(): string | undefined {
+    this.parse();
+    return this.parsedXML?.description;
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+    if (parsed === undefined
+        || parsed.abapGit === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    this.parsedXML.description = parsed.abapGit["asx:abap"]["asx:values"].TSTCT?.TTEXT;
+    this.parsedXML.programName = parsed.abapGit["asx:abap"]["asx:values"].TSTC?.PGMNA;
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/transaction_variant.ts.html b/src/objects/transaction_variant.ts.html new file mode 100644 index 00000000000..b4924cb318c --- /dev/null +++ b/src/objects/transaction_variant.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/transaction_variant.ts + + + + + + + + + +
+
+

All files / src/objects transaction_variant.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class TransactionVariant extends AbstractObject {
+ 
+  public getType(): string {
+    return "STVI";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/transformation.ts.html b/src/objects/transformation.ts.html new file mode 100644 index 00000000000..5e1b9759f8a --- /dev/null +++ b/src/objects/transformation.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/transformation.ts + + + + + + + + + +
+
+

All files / src/objects transformation.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +10x +10x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class Transformation extends AbstractObject {
+ 
+  public getType(): string {
+    return "XSLT";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/type_pool.ts.html b/src/objects/type_pool.ts.html new file mode 100644 index 00000000000..6e8777e093a --- /dev/null +++ b/src/objects/type_pool.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/objects/type_pool.ts + + + + + + + + + +
+
+

All files / src/objects type_pool.ts

+
+ +
+ 82.75% + Statements + 24/29 +
+ + +
+ 75% + Branches + 3/4 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 82.75% + Lines + 24/29 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +291x +1x +1x +1x +1x +1x +171x +171x +1x +1x +7x +7x +  +  +7x +7x +1x +1x +3x +3x +3x +3x +3x +1x +1x +  +  +  +1x
import {ABAPObject} from "./_abap_object";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class TypePool extends ABAPObject {
+ 
+  public getType(): string {
+    return "TYPE";
+  }
+ 
+  public getSequencedFiles(): readonly ABAPFile[] {
+    const main = this.getMainABAPFile();
+    if (main === undefined) {
+      return [];
+    }
+    return [main];
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 5,
+      allowNamespace: false,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/view.ts.html b/src/objects/view.ts.html new file mode 100644 index 00000000000..891d2bb5933 --- /dev/null +++ b/src/objects/view.ts.html @@ -0,0 +1,571 @@ + + + + + + Code coverage report for src/objects/view.ts + + + + + + + + + +
+
+

All files / src/objects view.ts

+
+ +
+ 87.03% + Statements + 141/162 +
+ + +
+ 71.73% + Branches + 33/46 +
+ + +
+ 75% + Functions + 6/8 +
+ + +
+ 87.03% + Lines + 141/162 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +1631x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +47x +47x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +1x +  +  +1x +1x +1x +1x +6x +6x +6x +1x +1x +9x +6x +6x +9x +  +  +9x +9x +9x +9x +9x +9x +22x +  +  +22x +  +  +  +  +22x +  +  +22x +22x +22x +22x +10x +10x +22x +2x +2x +2x +22x +8x +8x +  +8x +8x +8x +8x +20x +20x +20x +20x +9x +9x +9x +1x +1x +8x +8x +8x +1x +1x +  +  +  +1x +1x +1x +1x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +1x +1x +5x +6x +6x +6x +6x +6x +6x +6x +16x +16x +16x +16x +16x +16x +5x +6x +6x +1x +1x +1x +1x +1x +1x +1x +1x +5x +1x +1x + 
import * as Types from "../abap/types/basic";
+import {AbstractObject} from "./_abstract_object";
+import {xmlToArray} from "../xml_utils";
+import {IRegistry} from "../_iregistry";
+import {DDIC} from "../ddic";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {IObjectAndToken} from "../_iddic_references";
+ 
+enum ViewClass {
+  ExternalView = "X",
+}
+ 
+export class View extends AbstractObject {
+  private parsedData: {
+    header: {
+      VIEWCLASS: string,
+    },
+    fields: {
+      VIEWFIELD: string,
+      TABNAME: string,
+      FIELDNAME: string}[],
+    join: {
+      LTAB: string,
+      LFIELD: string,
+      OPERATOR: string,
+      RTAB: string,
+      RFIELD: string,
+    }[]} | undefined;
+ 
+  public getType(): string {
+    return "VIEW";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 16,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getFields() {
+    if (this.parsedData === undefined) {
+      this.parseXML();
+    }
+    return this.parsedData?.fields;
+  }
+ 
+  public getJoin() {
+    if (this.parsedData === undefined) {
+      this.parseXML();
+    }
+    return this.parsedData?.join;
+  }
+ 
+  public setDirty(): void {
+    this.parsedData = undefined;
+    super.setDirty();
+  }
+ 
+  public parseType(reg: IRegistry): AbstractType {
+    if (this.parsedData === undefined) {
+      this.parseXML();
+    }
+    if (this.parsedData === undefined) {
+      return new Types.UnknownType("View, parser error", this.getName());
+    }
+ 
+    const components: Types.IStructureComponent[] = [];
+    const references: IObjectAndToken[] = [];
+ 
+    const ddic = new DDIC(reg);
+    for (const field of this.parsedData.fields) {
+      if (field.VIEWFIELD === "*" || field.VIEWFIELD === "-") {
+        // ignore, this is a special case of old style .INCLUDE
+        continue;
+      } else if (this.parsedData.header.VIEWCLASS === ViewClass.ExternalView) {
+        components.push({
+          name: field.VIEWFIELD,
+          type: new Types.VoidType("ExternalView")});
+        continue;
+      } else if (field.TABNAME === this.getName()) {
+        throw new Error("Unexpected self reference in view " + this.getName() + ", " + field.FIELDNAME + " " + field.FIELDNAME);
+      }
+ 
+      const lookup = ddic.lookupTableOrView(field.TABNAME);
+      let found = lookup.type;
+      if (lookup.object) {
+        references.push({object: lookup.object});
+      }
+      if (field.VIEWFIELD === ".APPEND") {
+// it is already expanded in the abapGit xml
+        continue;
+      }
+      if (found instanceof Types.StructureType) {
+        const s = found.getComponentByName(field.FIELDNAME);
+        if (s === undefined) {
+          found = new Types.UnknownType(field.FIELDNAME + " not found in " + field.TABNAME + ", VIEW parse type");
+        } else {
+          found = s;
+        }
+      }
+      components.push({
+        name: field.VIEWFIELD,
+        type: found});
+    }
+ 
+    reg.getDDICReferences().setUsing(this, references);
+    if (components.length === 0) {
+      return new Types.UnknownType("View " + this.getName() + " does not contain any components");
+    }
+ 
+    return new Types.StructureType(components, this.getName());
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+ 
+///////////////
+ 
+  private parseXML() {
+    this.parsedData = {
+      header: {
+        VIEWCLASS: "",
+      },
+      fields: [],
+      join: [],
+    };
+ 
+    const parsed = super.parseRaw2();
+    if (parsed === undefined || parsed.abapGit === undefined) {
+      return;
+    }
+ 
+    const header = parsed.abapGit["asx:abap"]["asx:values"]?.DD25V;
+    this.parsedData.header = {
+      VIEWCLASS: header?.VIEWCLASS || "",
+    };
+ 
+    const fields = parsed.abapGit["asx:abap"]["asx:values"]?.DD27P_TABLE;
+    for (const field of xmlToArray(fields?.DD27P)) {
+      this.parsedData.fields.push({
+        VIEWFIELD: field.VIEWFIELD,
+        TABNAME: field.TABNAME,
+        FIELDNAME: field.FIELDNAME,
+      });
+    }
+ 
+    const join = parsed.abapGit["asx:abap"]["asx:values"]?.DD28J_TABLE;
+    for (const j of xmlToArray(join?.DD28J)) {
+      this.parsedData.join.push({
+        LTAB: j.LTAB,
+        LFIELD: j.LFIELD,
+        OPERATOR: j.OPERATOR,
+        RTAB: j.RTAB,
+        RFIELD: j.RFIELD,
+      });
+    }
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/view_cluster.ts.html b/src/objects/view_cluster.ts.html new file mode 100644 index 00000000000..03912331922 --- /dev/null +++ b/src/objects/view_cluster.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/view_cluster.ts + + + + + + + + + +
+
+

All files / src/objects view_cluster.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class ViewCluster extends AbstractObject {
+ 
+  public getType(): string {
+    return "VCLS";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/virtual_end_point.ts.html b/src/objects/virtual_end_point.ts.html new file mode 100644 index 00000000000..935664bca25 --- /dev/null +++ b/src/objects/virtual_end_point.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/virtual_end_point.ts + + + + + + + + + +
+
+

All files / src/objects virtual_end_point.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class VirtualEndPoint extends AbstractObject {
+ 
+  public getType(): string {
+    return "WEBI";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/web_dynpro_application.ts.html b/src/objects/web_dynpro_application.ts.html new file mode 100644 index 00000000000..1dcd69b2710 --- /dev/null +++ b/src/objects/web_dynpro_application.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/web_dynpro_application.ts + + + + + + + + + +
+
+

All files / src/objects web_dynpro_application.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class WebDynproApplication extends AbstractObject {
+ 
+  public getType(): string {
+    return "WDYA";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/web_dynpro_application_configuration.ts.html b/src/objects/web_dynpro_application_configuration.ts.html new file mode 100644 index 00000000000..cfba438983a --- /dev/null +++ b/src/objects/web_dynpro_application_configuration.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/web_dynpro_application_configuration.ts + + + + + + + + + +
+
+

All files / src/objects web_dynpro_application_configuration.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class WebDynproApplicationConfiguration extends AbstractObject {
+ 
+  public getType(): string {
+    return "WDCA";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/web_dynpro_component.ts.html b/src/objects/web_dynpro_component.ts.html new file mode 100644 index 00000000000..d1752501844 --- /dev/null +++ b/src/objects/web_dynpro_component.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/objects/web_dynpro_component.ts + + + + + + + + + +
+
+

All files / src/objects web_dynpro_component.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x + 
import {AbstractObject} from "./_abstract_object";
+ 
+export class WebDynproComponent extends AbstractObject {
+ 
+  public getType(): string {
+    return "WDYN";
+  }
+ 
+  public getAllowedNaming() {
+    return {
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/web_dynpro_component_configuration.ts.html b/src/objects/web_dynpro_component_configuration.ts.html new file mode 100644 index 00000000000..c7080b1bb70 --- /dev/null +++ b/src/objects/web_dynpro_component_configuration.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/objects/web_dynpro_component_configuration.ts + + + + + + + + + +
+
+

All files / src/objects web_dynpro_component_configuration.ts

+
+ +
+ 60% + Statements + 12/20 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 60% + Lines + 12/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +201x +1x +1x +1x +1x +1x +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +  +1x
import {AbstractObject} from "./_abstract_object";
+ 
+export class WebDynproComponentConfiguration extends AbstractObject {
+ 
+  public getType(): string {
+    return "WDCC";
+  }
+ 
+  public getAllowedNaming() {
+    return { // todo, verify
+      maxLength: 30,
+      allowNamespace: true,
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    // todo
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/objects/web_mime.ts.html b/src/objects/web_mime.ts.html new file mode 100644 index 00000000000..ee55f8d2dec --- /dev/null +++ b/src/objects/web_mime.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/objects/web_mime.ts + + + + + + + + + +
+
+

All files / src/objects web_mime.ts

+
+ +
+ 88.52% + Statements + 54/61 +
+ + +
+ 90% + Branches + 9/10 +
+ + +
+ 83.33% + Functions + 5/6 +
+ + +
+ 88.52% + Lines + 54/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +38x +38x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +12x +12x +12x +1x +1x +  +  +  +  +  +  +  +1x +1x +3x +1x +1x +2x +2x +2x +2x +2x +2x +2x +3x +1x +1x +1x +1x +1x +1x +1x +1x +1x + 
import {IFile} from "../files/_ifile";
+import {AbstractObject} from "./_abstract_object";
+import {IAllowedNaming} from "./_iobject";
+ 
+export class WebMIME extends AbstractObject {
+  private parsedXML: {
+    description?: string,
+  } | undefined;
+ 
+  public getType(): string {
+    return "W3MI";
+  }
+ 
+  public getAllowedNaming(): IAllowedNaming {
+    return {
+      maxLength: 40,
+      allowNamespace: true,
+      customRegex: new RegExp(/^[A-Z_-\d/<> ]+$/i),
+    };
+  }
+ 
+  public getDescription(): string | undefined {
+    this.parse();
+    return this.parsedXML?.description;
+  }
+ 
+  public setDirty(): void {
+    this.parsedXML = undefined;
+    super.setDirty();
+  }
+ 
+  public getDataFile(): IFile | undefined {
+    for (const f of this.getFiles()) {
+      if (f.getFilename().includes(".data.")) {
+        return f;
+      }
+    }
+    return undefined;
+  }
+ 
+  public parse() {
+    if (this.parsedXML) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    const start = Date.now();
+    this.parsedXML = {};
+    const parsed = super.parseRaw2();
+ 
+    if (parsed === undefined
+        || parsed.abapGit === undefined
+        || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return {updated: false, runtime: 0};
+    }
+ 
+    this.parsedXML.description = parsed.abapGit["asx:abap"]["asx:values"].TEXT;
+ 
+    const end = Date.now();
+    return {updated: true, runtime: end - start};
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/position.ts.html b/src/position.ts.html new file mode 100644 index 00000000000..9630a2ae9ec --- /dev/null +++ b/src/position.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/position.ts + + + + + + + + + +
+
+

All files / src position.ts

+
+ +
+ 100% + Statements + 34/34 +
+ + +
+ 100% + Branches + 13/13 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 34/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +361x +1x +1x +1x +1x +1x +254290x +254290x +254290x +1x +1x +159695x +159695x +1x +1x +140155x +140155x +1x +1x +6493x +6493x +1x +1x +6994x +6994x +1x +1x +5927x +5927x +1x +1x +6119x +6119x +1x +  + 
// first position is (1,1)
+export class Position {
+  private readonly row: number;
+  private readonly col: number;
+ 
+  public constructor(row: number, col: number) {
+    this.row = row;
+    this.col = col;
+  }
+ 
+  public getCol(): number {
+    return this.col;
+  }
+ 
+  public getRow(): number {
+    return this.row;
+  }
+ 
+  public isAfter(p: Position): boolean {
+    return this.row > p.row || (this.row === p.row && this.col >= p.col);
+  }
+ 
+  public equals(p: Position): boolean {
+    return this.row === p.getRow() && this.col === p.getCol();
+  }
+ 
+  public isBefore(p: Position): boolean {
+    return this.row < p.row || (this.row === p.row && this.col < p.col);
+  }
+ 
+  public isBetween(p1: Position, p2: Position): boolean {
+    return this.isAfter(p1) && this.isBefore(p2);
+  }
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/pretty_printer/fix_keyword_case.ts.html b/src/pretty_printer/fix_keyword_case.ts.html new file mode 100644 index 00000000000..e642c9001b9 --- /dev/null +++ b/src/pretty_printer/fix_keyword_case.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/pretty_printer/fix_keyword_case.ts + + + + + + + + + +
+
+

All files / src/pretty_printer fix_keyword_case.ts

+
+ +
+ 96.92% + Statements + 63/65 +
+ + +
+ 94.73% + Branches + 18/19 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 96.92% + Lines + 63/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +651x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +33x +33x +33x +33x +33x +1x +1x +129x +221x +36x +36x +8x +8x +28x +28x +221x +89x +89x +89x +20x +20x +185x +96x +96x +  +  +221x +129x +129x +129x +1x +1x +28x +28x +1x +1x +20x +20x +20x +20x +20x +1x +1x +48x +48x +48x +48x +48x +48x +48x +1x +1x
import {StatementNode, ExpressionNode, TokenNode, TokenNodeRegex} from "../abap/nodes";
+import {Identifier} from "../abap/1_lexer/tokens";
+import {Position} from "../position";
+import {KeywordCase, KeywordCaseStyle} from "../rules/keyword_case";
+import * as Tokens from "../abap/1_lexer/tokens";
+import {IConfiguration} from "../_config";
+ 
+export class FixCase {
+  private fileContents: string;
+  private readonly config: IConfiguration;
+  private readonly keywordCase: KeywordCase;
+ 
+  public constructor(fileContents: string, config: IConfiguration) {
+    this.keywordCase = new KeywordCase();
+    this.keywordCase.setConfig(config.readByRule(this.keywordCase.getMetadata().key));
+    this.fileContents = fileContents;
+    this.config = config;
+  }
+ 
+  public execute(statement: StatementNode | ExpressionNode): string {
+    for (const child of statement.getChildren()) {
+      if (child instanceof TokenNodeRegex) {
+        const token = child.get();
+        if (token instanceof Tokens.StringToken) {
+          continue;
+        }
+        this.replaceString(token.getStart(), this.formatNonKeyword(token.getStr()));
+        continue;
+      } else if (child instanceof TokenNode) {
+        const token = child.get();
+        const str = token.getStr();
+        if (this.keywordCase.violatesRule(str) && token instanceof Identifier) {
+          this.replaceString(token.getStart(), this.formatKeyword(str));
+        }
+      } else if (child instanceof ExpressionNode) {
+        this.execute(child);
+      } else {
+        throw new Error("pretty printer, traverse, unexpected node type");
+      }
+    }
+ 
+    return this.fileContents;
+  }
+ 
+  private formatNonKeyword(str: string): string {
+    return str.toLowerCase();
+  }
+ 
+  private formatKeyword(keyword: string): string {
+    const ruleKey = this.keywordCase.getMetadata().key;
+    const rule = this.config.readByRule(ruleKey);
+    const style: KeywordCaseStyle = rule ? rule["style"] : KeywordCaseStyle.Upper;
+    return style === KeywordCaseStyle.Lower ? keyword.toLowerCase() : keyword.toUpperCase();
+  }
+ 
+  private replaceString(pos: Position, str: string) {
+    const lines = this.fileContents.split("\n");
+    const line = lines[pos.getRow() - 1];
+ 
+    lines[pos.getRow() - 1] = line.substr(0, pos.getCol() - 1) + str + line.substr(pos.getCol() + str.length - 1);
+ 
+    this.fileContents = lines.join("\n");
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/pretty_printer/indent.ts.html b/src/pretty_printer/indent.ts.html new file mode 100644 index 00000000000..5ab9bee3fbf --- /dev/null +++ b/src/pretty_printer/indent.ts.html @@ -0,0 +1,769 @@ + + + + + + Code coverage report for src/pretty_printer/indent.ts + + + + + + + + + +
+
+

All files / src/pretty_printer indent.ts

+
+ +
+ 100% + Statements + 228/228 +
+ + +
+ 100% + Branches + 150/150 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 228/228 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +2291x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +331x +331x +1x +1x +25x +25x +25x +25x +25x +25x +38x +1x +1x +37x +38x +5x +5x +32x +32x +38x +2x +2x +32x +25x +25x +25x +1x +1x +1x +331x +331x +331x +331x +331x +331x +331x +331x +1706x +10x +10x +1696x +1696x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1560x +1560x +16x +1560x +1706x +1706x +1706x +1706x +203x +1706x +1493x +1493x +1493x +1493x +1493x +1493x +1493x +1493x +15x +15x +1493x +1478x +1478x +1478x +1478x +272x +272x +1478x +1206x +5x +1206x +1201x +1201x +1201x +1201x +1201x +116x +1201x +6x +1085x +1079x +239x +239x +1079x +840x +840x +840x +34x +34x +34x +34x +1662x +1706x +1706x +45x +45x +45x +45x +45x +1617x +1617x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1409x +1409x +16x +16x +1409x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +1706x +337x +1706x +6x +6x +1280x +1274x +1274x +1274x +239x +239x +239x +1617x +1617x +331x +331x +1x +1x +239x +234x +234x +5x +239x +2x +2x +2x +2x +2x +239x +2x +2x +1x +1x +2x +2x +2x +1x +1x +331x +331x +331x +331x +245x +245x +331x +331x +366x +366x +331x +331x +245x +245x +245x +245x +331x + 
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {MacroContent, Comment, Empty} from "../abap/2_statements/statements/_statement";
+import {StatementNode} from "../abap/nodes/statement_node";
+import {IIndentationOptions} from "./indentation_options";
+import {VirtualPosition} from "../virtual_position";
+import {ABAPFile} from "../abap/abap_file";
+ 
+// todo, will break if there is multiple statements per line?
+export class Indent {
+  private readonly options: IIndentationOptions;
+  private readonly globalClasses = new Set();
+ 
+  public constructor(options?: IIndentationOptions) {
+    this.options = options || {};
+  }
+ 
+  public execute(original: ABAPFile, modified: string): string {
+    const statements = original.getStatements();
+    const expected = this.getExpectedIndents(original);
+ 
+    const lines = modified.split("\n");
+ 
+    for (const statement of statements) {
+      if (statement.getFirstToken().getStart() instanceof VirtualPosition) {
+        continue; // macro contents
+      }
+      const exp = expected.shift();
+      if (exp === undefined || exp < 0) {
+        continue;
+      }
+      const row = statement.getFirstToken().getStart().getRow() - 1;
+      lines[row] = lines[row].trim();
+      for (let i = 1; i < exp; i++) {
+        lines[row] = " " + lines[row];
+      }
+    }
+ 
+    return lines.join("\n");
+  }
+ 
+  // returns list of expected indentation for each line/statement?
+  public getExpectedIndents(file: ABAPFile): number[] {
+    const ret: number[] = [];
+    const init: number = 1;
+    const stack = new Stack();
+    let indent: number = init;
+    let parentIsEvent: boolean = false;
+    let previousStatement: StatementNode | undefined = undefined;
+ 
+    for (const statement of file.getStatements()) {
+      if (statement.getFirstToken().getStart() instanceof VirtualPosition) {
+        continue; // skip macro contents
+      }
+      const type = statement.get();
+      if (type instanceof Statements.EndIf
+        || type instanceof Statements.EndWhile
+        || type instanceof Statements.EndModule
+        || type instanceof Statements.EndSelect
+        || type instanceof Statements.EndMethod
+        || type instanceof Statements.EndAt
+        || type instanceof Statements.Else
+        || type instanceof Statements.EndExec
+        || type instanceof Statements.EndOfDefinition
+        || type instanceof Statements.EndLoop
+        || type instanceof Statements.EndTestInjection
+        || type instanceof Statements.EndTestSeam
+        || type instanceof Statements.EndForm
+        || type instanceof Statements.EndCatch
+        || (this.options.selectionScreenBlockIndentation === true
+          && type instanceof Statements.SelectionScreen
+          && (statement.concatTokens().toUpperCase().includes("END OF SCREEN") ||
+          statement.concatTokens().toUpperCase().includes("END OF BLOCK") ||
+          statement.concatTokens().toUpperCase().includes("END OF LINE")))
+        || type instanceof Statements.ElseIf
+        || type instanceof Statements.EndFunction
+        || type instanceof Statements.EndInterface
+        || type instanceof Statements.EndDo) {
+        indent = indent - 2;
+      } else if (type instanceof Statements.StartOfSelection
+        || type instanceof Statements.AtSelectionScreen
+        || type instanceof Statements.AtLineSelection
+        || type instanceof Statements.Initialization
+        || type instanceof Statements.AtUserCommand
+        || type instanceof Statements.TopOfPage
+        || type instanceof Statements.Get
+        || type instanceof Statements.EndOfSelection
+        || type instanceof Statements.LoadOfProgram) {
+        indent = init;
+        parentIsEvent = true;
+      } else if (type instanceof Statements.Form
+        || (type instanceof Statements.Include && parentIsEvent)
+        || type instanceof Statements.Module
+        || type instanceof Statements.ClassImplementation
+        || type instanceof Statements.ClassDefinition) {
+        indent = init;
+        parentIsEvent = false;
+      } else if (type instanceof Statements.Cleanup
+        || type instanceof Statements.Catch) {
+        indent = stack.peek() - 2;
+      } else if (type instanceof Statements.Public
+        || type instanceof Statements.Protected
+        || type instanceof Statements.Private
+        || type instanceof Statements.WhenType
+        || type instanceof Statements.WhenOthers
+        || type instanceof Statements.When) {
+        indent = stack.peek();
+      } else if (type instanceof Statements.EndTry) {
+        indent = stack.pop() - (this.options.alignTryCatch ? 2 : 4);
+      } else if (type instanceof Statements.EndClass
+        || type instanceof Statements.EndCase) {
+        indent = stack.pop() - 2;
+        indent = Math.max(indent, init); // maybe move this out of switch before ret.push(indent)
+      } else if (type instanceof Comment
+        || type instanceof Statements.IncludeType
+        || type instanceof Empty
+        || type instanceof MacroContent) {
+        ret.push(-1);
+        previousStatement = statement;
+        continue;
+      }
+      if (previousStatement
+        && !(previousStatement.get() instanceof Comment)
+        && previousStatement.getLastToken().getEnd().getRow() === statement.getFirstToken().getStart().getRow()) {
+// any indentation allowed if there are multiple statements on the same line
+        ret.push(-1);
+        previousStatement = statement;
+        continue;
+      }
+      ret.push(indent);
+      if (type instanceof Statements.If
+        || type instanceof Statements.While
+        || type instanceof Statements.Module
+        || type instanceof Statements.SelectLoop
+        || type instanceof Statements.FunctionModule
+        || type instanceof Statements.Interface
+        || type instanceof Statements.Do
+        || type instanceof Statements.At
+        || type instanceof Statements.AtFirst
+        || type instanceof Statements.AtLast
+        || type instanceof Statements.ExecSQL
+        || type instanceof Statements.Catch
+        || type instanceof Statements.Define
+        || type instanceof Statements.When
+        || type instanceof Statements.WhenType
+        || type instanceof Statements.WhenOthers
+        || type instanceof Statements.Cleanup
+        || type instanceof Statements.Loop
+        || type instanceof Statements.LoopAtScreen
+        || type instanceof Statements.CatchSystemExceptions
+        || type instanceof Statements.Form
+        || type instanceof Statements.Else
+        || type instanceof Statements.ElseIf
+        || type instanceof Statements.MethodImplementation
+        || type instanceof Statements.TestInjection
+        || type instanceof Statements.TestSeam
+        || (this.options.selectionScreenBlockIndentation === true
+          && type instanceof Statements.SelectionScreen
+          && (statement.concatTokens().toUpperCase().includes("BEGIN OF SCREEN") ||
+          statement.concatTokens().toUpperCase().includes("BEGIN OF TABBED BLOCK") ||
+          statement.concatTokens().toUpperCase().includes("BEGIN OF BLOCK") ||
+          statement.concatTokens().toUpperCase().includes("BEGIN OF LINE")))
+        || type instanceof Statements.StartOfSelection
+        || type instanceof Statements.Get
+        || type instanceof Statements.AtSelectionScreen
+        || type instanceof Statements.AtLineSelection
+        || type instanceof Statements.LoadOfProgram
+        || type instanceof Statements.Initialization
+        || type instanceof Statements.AtUserCommand
+        || type instanceof Statements.TopOfPage
+        || type instanceof Statements.EndOfSelection
+        || type instanceof Statements.Public
+        || type instanceof Statements.Protected
+        || type instanceof Statements.Private) {
+        indent = indent + 2;
+      } else if (type instanceof Statements.Try) {
+        indent = indent + (this.options.alignTryCatch ? 2 : 4);
+        stack.push(indent);
+      } else if (type instanceof Statements.ClassDefinition
+        || type instanceof Statements.Case
+        || type instanceof Statements.CaseType
+        || type instanceof Statements.ClassImplementation) {
+        indent = indent + (this.skipIndentForGlobalClass(statement) ? 0 : 2);
+        stack.push(indent);
+      }
+      previousStatement = statement;
+    }
+    return ret;
+  }
+ 
+  private skipIndentForGlobalClass(statement: StatementNode): boolean {
+    if (!this.options.globalClassSkipFirst) {
+      return false;
+    }
+    const type = statement.get();
+    if (type instanceof Statements.ClassDefinition && statement.findFirstExpression(Expressions.ClassGlobal)) {
+      const className = statement.findFirstExpression(Expressions.ClassName);
+      if (className) {
+        this.globalClasses.add(className.getFirstToken().getStr().toUpperCase());
+      }
+      return true;
+    } else if (type instanceof Statements.ClassImplementation) {
+      const className = statement.findFirstExpression(Expressions.ClassName);
+      if (className && this.globalClasses.has(className.getFirstToken().getStr().toUpperCase())) {
+        return true;
+      }
+    }
+    return false;
+  }
+}
+ 
+class Stack {
+  private items: number[] = [];
+ 
+  public push(item: number) {
+    this.items.push(item);
+  }
+ 
+  public peek(): number {
+    return this.items[this.items.length - 1];
+  }
+ 
+  public pop() {
+    const peek = this.peek();
+    this.items = this.items.slice(0, this.items.length - 1);
+    return peek;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/pretty_printer/index.html b/src/pretty_printer/index.html new file mode 100644 index 00000000000..e2bdc46195b --- /dev/null +++ b/src/pretty_printer/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/pretty_printer + + + + + + + + + +
+
+

All files src/pretty_printer

+
+ +
+ 99.41% + Statements + 342/344 +
+ + +
+ 98.33% + Branches + 177/180 +
+ + +
+ 100% + Functions + 15/15 +
+ + +
+ 99.41% + Lines + 342/344 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
fix_keyword_case.ts +
+
96.92%63/6594.73%18/19100%5/596.92%63/65
indent.ts +
+
100%228/228100%150/150100%8/8100%228/228
pretty_printer.ts +
+
100%51/5181.81%9/11100%2/2100%51/51
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/pretty_printer/pretty_printer.ts.html b/src/pretty_printer/pretty_printer.ts.html new file mode 100644 index 00000000000..ec8ed03dd95 --- /dev/null +++ b/src/pretty_printer/pretty_printer.ts.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for src/pretty_printer/pretty_printer.ts + + + + + + + + + +
+
+

All files / src/pretty_printer pretty_printer.ts

+
+ +
+ 100% + Statements + 51/51 +
+ + +
+ 81.81% + Branches + 9/11 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 51/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +511x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +25x +25x +25x +25x +25x +25x +25x +25x +25x +25x +25x +1x +1x +25x +25x +38x +38x +38x +38x +38x +5x +5x +33x +33x +33x +33x +33x +25x +25x +25x +25x +25x +25x +1x +1x
import {Unknown, MacroContent, MacroCall, Comment} from "../abap/2_statements/statements/_statement";
+import {FixCase} from "./fix_keyword_case";
+import {Indent as Indent} from "./indent";
+import {IIndentationOptions} from "./indentation_options";
+import {IConfiguration} from "../_config";
+import {VirtualPosition} from "../virtual_position";
+import {ABAPFile} from "../abap/abap_file";
+import {Indentation, IndentationConf} from "../rules/indentation";
+ 
+export class PrettyPrinter {
+  private result: string;
+  private readonly file: ABAPFile;
+  private readonly options: IIndentationOptions;
+  private readonly config: IConfiguration;
+ 
+  public constructor(file: ABAPFile, config: IConfiguration) {
+    this.result = file.getRaw();
+    this.file = file;
+    this.config = config;
+ 
+    const indentationConf: IndentationConf = config.readByRule(new Indentation().getMetadata().key);
+ 
+    this.options = {
+      alignTryCatch: indentationConf?.alignTryCatch,
+      globalClassSkipFirst: indentationConf?.globalClassSkipFirst,
+    };
+  }
+ 
+  public run(): string {
+    const statements = this.file.getStatements();
+    for (const statement of statements) {
+      if (statement.get() instanceof Unknown
+        || statement.get() instanceof MacroContent
+        || statement.get() instanceof MacroCall
+        || statement.getFirstToken().getStart() instanceof VirtualPosition
+        || statement.get() instanceof Comment) {
+        continue;
+      }
+ 
+      // note that no positions are changed when case is changed
+      const fixCase = new FixCase(this.result, this.config);
+      this.result = fixCase.execute(statement);
+    }
+ 
+    const indentation = new Indent(this.options);
+    this.result = indentation.execute(this.file, this.result);
+ 
+    return this.result;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/registry.ts.html b/src/registry.ts.html new file mode 100644 index 00000000000..b533f4a53c8 --- /dev/null +++ b/src/registry.ts.html @@ -0,0 +1,1375 @@ + + + + + + Code coverage report for src/registry.ts + + + + + + + + + +
+
+

All files / src registry.ts

+
+ +
+ 85.81% + Statements + 369/430 +
+ + +
+ 83.2% + Branches + 109/131 +
+ + +
+ 92.1% + Functions + 35/38 +
+ + +
+ 85.81% + Lines + 369/430 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +4311x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7514x +7514x +7514x +7514x +7514x +1x +1x +7915x +7452x +7452x +7452x +7452x +7915x +7915x +7915x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +7073x +7073x +7073x +7073x +7073x +1x +1x +  +  +  +1x +1x +3562x +3562x +1x +1x +2903x +2903x +1x +1x +15360x +15360x +1x +1x +31912x +33934x +33939x +24657x +24652x +22630x +1x +1x +1292x +104x +98x +1286x +1x +1x +27x +45x +48x +48x +45x +27x +1x +1x +3581x +3581x +3581x +3581x +  +  +  +1x +1x +59x +59x +81x +1x +1x +80x +80x +59x +59x +1x +1x +1180x +1180x +1285x +1306x +1179x +1179x +1306x +106x +1x +1x +1x +1x +7460x +4x +4x +7456x +7456x +7460x +3500x +3500x +3956x +3956x +3956x +1x +1x +72747x +72747x +1x +1x +1x +764x +775x +775x +764x +764x +764x +1x +1x +1080x +1080x +1080x +1080x +1x +1x +7342x +7342x +1x +1x +497x +497x +497x +497x +1x +1x +41x +41x +41x +34x +34x +34x +34x +40x +40x +1x +1x +7493x +7493x +7493x +7493x +7570x +7570x +7570x +8x +8x +7562x +7562x +7570x +2x +2x +2x +7562x +7562x +7562x +7493x +7493x +1x +1x +7490x +7490x +7490x +1x +1x +  +  +  +  +  +1x +1x +3x +3x +  +  +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x +2x +2x +2x +1x +1x +8983x +8983x +1x +1x +159x +159x +  +  +159x +159x +  +  +159x +159x +159x +1x +1x +1x +487x +487x +523x +533x +487x +487x +533x +36x +  +  +1x +1x +1x +251x +89x +89x +251x +251x +1x +1x +1x +4x +  +  +4x +4x +1x +1x +1x +6456x +18x +18x +6438x +6438x +6438x +6456x +6621x +6621x +6438x +6438x +6438x +6438x +1x +1x +1080x +4x +4x +1076x +1076x +1080x +1080x +1080x +1294x +1294x +1294x +1080x +  +  +1080x +1080x +1080x +1080x +1x +1x +1x +1x +1x +7915x +7915x +7915x +7915x +1x +1x +7791x +7817x +7817x +7603x +7603x +7817x +188x +188x +1x +1x +7564x +7564x +7564x +7436x +7436x +7436x +7436x +7436x +7434x +7434x +7436x +7436x +7436x +7275x +7275x +7436x +7436x +7436x +7436x +7564x +1x +1x +36x +  +  +36x +36x +  +  +36x +36x +36x +36x +  +  +36x +36x +27x +36x +9x +9x +36x +1x +1x +8102x +8102x +8102x +8102x +8102x +664x +664x +7438x +7438x +7438x +1x +1x + 
import {IObject, IParseResult} from "./objects/_iobject";
+import {IFile} from "./files/_ifile";
+import {Config} from "./config";
+import {Issue} from "./issue";
+import {ArtifactsObjects} from "./artifacts_objects";
+import {IRegistry, IRunInput} from "./_iregistry";
+import {IConfiguration} from "./_config";
+import {FindGlobalDefinitions} from "./abap/5_syntax/global_definitions/find_global_definitions";
+import {ExcludeHelper} from "./utils/excludeHelper";
+import {DDICReferences} from "./ddic_references";
+import {IDDICReferences} from "./_iddic_references";
+import {RulesRunner} from "./rules_runner";
+import {IMSAGReferences} from "./_imsag_references";
+import {MSAGReferences} from "./msag_references";
+import {IMacroReferences} from "./_imacro_references";
+import {MacroReferences} from "./macro_references";
+ 
+// todo, this should really be an instance in case there are multiple Registry'ies
+class ParsingPerformance {
+  private static results: {runtime: number, name: string, extra: string}[];
+  private static lexing: number;
+  private static statements: number;
+  private static structure: number;
+ 
+  public static clear() {
+    this.results = [];
+    this.lexing = 0;
+    this.statements = 0;
+    this.structure = 0;
+  }
+ 
+  public static push(obj: IObject, result: IParseResult): void {
+    if (result.runtimeExtra) {
+      this.lexing += result.runtimeExtra.lexing;
+      this.statements += result.runtimeExtra.statements;
+      this.structure += result.runtimeExtra.structure;
+    }
+    if (result.runtime < 100) {
+      return;
+    }
+    if (this.results === undefined) {
+      this.results = [];
+    }
+
+    let extra = "";
+    if (result.runtimeExtra) {
+      extra = `\t(lexing: ${result.runtimeExtra.lexing
+      }ms, statements: ${result.runtimeExtra.statements
+      }ms, structure: ${result.runtimeExtra.structure}ms)`;
+    }
+
+    this.results.push({
+      runtime: result.runtime,
+      extra,
+      name: obj.getType() + " " + obj.getName(),
+    });
+  }
+ 
+  public static output() {
+    const MAX = 10;
+
+    this.results.sort((a, b) => { return b.runtime - a.runtime; });
+
+    for (let i = 0; i < MAX; i++) {
+      const row = this.results[i];
+      if (row === undefined) {
+        break;
+      }
+      process.stderr.write(`\t${row.runtime}ms\t${row.name} ${row.extra}\n`);
+    }
+    process.stderr.write(`\tTotal lexing:     ${this.lexing}ms\n`);
+    process.stderr.write(`\tTotal statements: ${this.statements}ms\n`);
+    process.stderr.write(`\tTotal structure:  ${this.structure}ms\n`);
+  }
+}
+ 
+///////////////////////////////////////////////////////////////////////////////////////////////
+ 
+export class Registry implements IRegistry {
+  private readonly objects: { [name: string]: { [type: string]: IObject } } = {};
+  private readonly objectsByType: { [type: string]: { [name: string]: IObject } } = {};
+  private readonly dependencies: { [type: string]: { [name: string]: boolean } } = {};
+  private readonly ddicReferences: IDDICReferences;
+  private readonly msagReferences: IMSAGReferences;
+  private readonly macroReferences: IMacroReferences;
+  private conf: IConfiguration;
+ 
+  public constructor(conf?: IConfiguration) {
+    this.conf = conf ? conf : Config.getDefault();
+    this.ddicReferences = new DDICReferences();
+    this.msagReferences = new MSAGReferences();
+    this.macroReferences = new MacroReferences();
+  }
+ 
+  public static abaplintVersion(): string {
+    // magic, see build script "version.sh"
+    return "{{ VERSION }}";
+  }
+ 
+  public getDDICReferences() {
+    return this.ddicReferences;
+  }
+ 
+  public getMSAGReferences() {
+    return this.msagReferences;
+  }
+ 
+  public getMacroReferences() {
+    return this.macroReferences;
+  }
+ 
+  public* getObjects(): Generator<IObject, void, undefined> {
+    for (const name in this.objects) {
+      for (const type in this.objects[name]) {
+        yield this.objects[name][type];
+      }
+    }
+  }
+ 
+  public* getObjectsByType(type: string): Generator<IObject, void, undefined> {
+    for (const name in this.objectsByType[type] || []) {
+      yield this.objectsByType[type][name];
+    }
+  }
+ 
+  public* getFiles(): Generator<IFile, void, undefined> {
+    for (const obj of this.getObjects()) {
+      for (const file of obj.getFiles()) {
+        yield file;
+      }
+    }
+  }
+ 
+  public getFirstObject(): IObject | undefined {
+    for (const name in this.objects) {
+      for (const type in this.objects[name]) {
+        return this.objects[name][type];
+      }
+    }
+    return undefined;
+  }
+ 
+  public getObjectCount(skipDependencies = true): number {
+    let res = 0;
+    for (const o of this.getObjects()) {
+      if (skipDependencies === true && this.isDependency(o)) {
+        continue;
+      }
+      res = res + 1;
+    }
+    return res;
+  }
+ 
+  public getFileByName(filename: string): IFile | undefined {
+    const upper = filename.toUpperCase();
+    for (const o of this.getObjects()) {
+      for (const f of o.getFiles()) {
+        if (f.getFilename().toUpperCase() === upper) {
+          return f;
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+  public getObject(type: string | undefined, name: string | undefined): IObject | undefined {
+    if (type === undefined || name === undefined) {
+      return undefined;
+    }
+ 
+    const searchName = name.toUpperCase();
+    if (this.objects[searchName]) {
+      return this.objects[searchName][type];
+    }
+ 
+    return undefined;
+  }
+ 
+  public getConfig(): IConfiguration {
+    return this.conf;
+  }
+ 
+  // assumption: Config is immutable, and can only be changed via this method
+  public setConfig(conf: IConfiguration): IRegistry {
+    for (const obj of this.getObjects()) {
+      obj.setDirty();
+    }
+    this.conf = conf;
+    return this;
+  }
+ 
+  public inErrorNamespace(name: string): boolean {
+    // todo: performance? cache regexp?
+    const reg = new RegExp(this.getConfig().getSyntaxSetttings().errorNamespace, "i");
+    return reg.test(name);
+  }
+ 
+  public addFile(file: IFile): IRegistry {
+    return this.addFiles([file]);
+  }
+ 
+  public updateFile(file: IFile): IRegistry {
+    const obj = this.find(file.getObjectName(), file.getObjectType());
+    obj.updateFile(file);
+    return this;
+  }
+ 
+  public removeFile(file: IFile): IRegistry {
+    const obj = this.find(file.getObjectName(), file.getObjectType());
+    obj.removeFile(file);
+    if (obj.getFiles().length === 0) {
+      this.ddicReferences.clear(obj);
+      this.msagReferences.clear(obj);
+      this.removeObject(obj);
+    }
+    return this;
+  }
+ 
+  private _addFiles(files: readonly IFile[], dependency: boolean): IRegistry {
+    const globalExclude = (this.conf.getGlobal().exclude ?? [])
+      .map(pattern => new RegExp(pattern, "i"));
+ 
+    for (const f of files) {
+      const filename = f.getFilename();
+      const isNotAbapgitFile = filename.split(".").length <= 2;
+      if (isNotAbapgitFile || ExcludeHelper.isExcluded(filename, globalExclude)) {
+        continue;
+      }
+      let found = this.findOrCreate(f.getObjectName(), f.getObjectType());
+ 
+      if (dependency === false && found && this.isDependency(found)) {
+        this.removeDependency(found);
+        found = this.findOrCreate(f.getObjectName(), f.getObjectType());
+      }
+ 
+      found.addFile(f);
+    }
+    return this;
+  }
+ 
+  public addFiles(files: readonly IFile[]): IRegistry {
+    this._addFiles(files, false);
+    return this;
+  }
+ 
+  public addDependencies(files: readonly IFile[]): IRegistry {
+    for (const f of files) {
+      this.addDependency(f);
+    }
+    return this;
+  }
+ 
+  public addDependency(file: IFile): IRegistry {
+    const type = file.getObjectType()?.toUpperCase();
+    if (type === undefined) {
+      return this;
+    }
+    const name = file.getObjectName().toUpperCase();
+ 
+    if (this.dependencies[type] === undefined) {
+      this.dependencies[type] = {};
+    }
+    this.dependencies[type][name] = true;
+    this._addFiles([file], true);
+    return this;
+  }
+ 
+  public removeDependency(obj: IObject) {
+    delete this.dependencies[obj.getType()]?.[obj.getName()];
+    this.removeObject(obj);
+  }
+ 
+  public isDependency(obj: IObject): boolean {
+    return this.dependencies[obj.getType()]?.[obj.getName()] === true;
+  }
+ 
+  public isFileDependency(filename: string): boolean {
+    const f = this.getFileByName(filename);
+    if (f === undefined) {
+      return false;
+    }
+    const type = f.getObjectType()?.toUpperCase();
+    if (type === undefined) {
+      return false;
+    }
+    const name = f.getObjectName().toUpperCase();
+    return this.dependencies[type]?.[name] === true;
+  }
+ 
+  // assumption: the file is already in the registry
+  public findObjectForFile(file: IFile): IObject | undefined {
+    const filename = file.getFilename();
+    for (const obj of this.getObjects()) {
+      for (const ofile of obj.getFiles()) {
+        if (ofile.getFilename() === filename) {
+          return obj;
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+  // todo, this will be changed to async sometime
+  public findIssues(input?: IRunInput): readonly Issue[] {
+    if (this.isDirty() === true) {
+      this.parse();
+    }
+    return new RulesRunner(this).runRules(this.getObjects(), input);
+  }
+ 
+  // todo, this will be changed to async sometime
+  public findIssuesObject(iobj: IObject): readonly Issue[] {
+    if (this.isDirty() === true) {
+      this.parse();
+    }
+    return new RulesRunner(this).runRules([iobj]);
+  }
+ 
+  // todo, this will be changed to async sometime
+  public parse() {
+    if (this.isDirty() === false) {
+      return this;
+    }
+ 
+    ParsingPerformance.clear();
+ 
+    for (const o of this.getObjects()) {
+      this.parsePrivate(o);
+    }
+    new FindGlobalDefinitions(this).run();
+ 
+    return this;
+  }
+ 
+  public async parseAsync(input?: IRunInput) {
+    if (this.isDirty() === false) {
+      return this;
+    }
+ 
+    ParsingPerformance.clear();
+    input?.progress?.set(this.getObjectCount(false), "Lexing and parsing");
+ 
+    for (const o of this.getObjects()) {
+      await input?.progress?.tick("Lexing and parsing(" + this.conf.getVersion() + ") - " + o.getType() + " " + o.getName());
+      this.parsePrivate(o);
+    }
+    if (input?.outputPerformance === true) {
+      ParsingPerformance.output();
+    }
+    new FindGlobalDefinitions(this).run(input?.progress);
+ 
+    return this;
+  }
+ 
+  //////////////////////////////////////////
+ 
+  // todo, refactor, this is a mess, see where-used, a lot of the code should be in this method instead
+  private parsePrivate(input: IObject) {
+    const config = this.getConfig();
+    const result = input.parse(config.getVersion(), config.getSyntaxSetttings().globalMacros, this);
+    ParsingPerformance.push(input, result);
+  }
+ 
+  private isDirty(): boolean {
+    for (const o of this.getObjects()) {
+      const dirty = o.isDirty();
+      if (dirty === true) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  private findOrCreate(name: string, type?: string): IObject {
+    try {
+      return this.find(name, type);
+    } catch {
+      const newName = name.toUpperCase();
+      const newType = type ? type : "UNKNOWN";
+      const add = ArtifactsObjects.newObject(newName, newType);
+ 
+      if (this.objects[newName] === undefined) {
+        this.objects[newName] = {};
+      }
+      this.objects[newName][newType] = add;
+ 
+      if (this.objectsByType[newType] === undefined) {
+        this.objectsByType[newType] = {};
+      }
+      this.objectsByType[newType][newName] = add;
+ 
+      return add;
+    }
+  }
+ 
+  private removeObject(remove: IObject | undefined): void {
+    if (remove === undefined) {
+      return;
+    }
+ 
+    if (this.objects[remove.getName()][remove.getType()] === undefined) {
+      throw new Error("removeObject: object not found");
+    }
+ 
+    if (Object.keys(this.objects[remove.getName()]).length === 1) {
+      delete this.objects[remove.getName()];
+    } else {
+      delete this.objects[remove.getName()][remove.getType()];
+    }
+ 
+    if (Object.keys(this.objectsByType[remove.getType()]).length === 1) {
+      delete this.objectsByType[remove.getType()];
+    } else {
+      delete this.objectsByType[remove.getType()][remove.getName()];
+    }
+  }
+ 
+  private find(name: string, type?: string): IObject {
+    const searchType = type ? type : "UNKNOWN";
+    const searchName = name.toUpperCase();
+ 
+    if (this.objects[searchName] !== undefined
+      && this.objects[searchName][searchType]) {
+      return this.objects[searchName][searchType];
+    }
+ 
+    throw new Error("find: object not found, " + type + " " + name);
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/7bit_ascii.ts.html b/src/rules/7bit_ascii.ts.html new file mode 100644 index 00000000000..cf7f866b758 --- /dev/null +++ b/src/rules/7bit_ascii.ts.html @@ -0,0 +1,322 @@ + + + + + + Code coverage report for src/rules/7bit_ascii.ts + + + + + + + + + +
+
+

All files / src/rules 7bit_ascii.ts

+
+ +
+ 100% + Statements + 80/80 +
+ + +
+ 100% + Branches + 12/12 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 80/80 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +801x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +21192x +21192x +21192x +21192x +21192x +21192x +21192x +21192x +21192x +21192x +21192x +21192x +21192x +21192x +10423x +10423x +250x +250x +10423x +10423x +9906x +9906x +10423x +10423x +244x +244x +10423x +10423x +316x +316x +316x +333x +333x +263x +263x +263x +1759x +1759x +1x +1x +1x +1x +1x +1x +1x +1759x +1759x +1759x +1759x +1759x +1x +1x +1x +1x +1x +1x +1x +1759x +1759x +263x +333x +316x +316x +316x +10423x +10423x
import {Issue} from "../issue";
+import {Position} from "../position";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IObject} from "../objects/_iobject";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IRegistry} from "../_iregistry";
+ 
+export class SevenBitAsciiConf extends BasicRuleConfig {
+}
+ 
+export class SevenBitAscii implements IRule {
+  private conf = new SevenBitAsciiConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "7bit_ascii",
+      title: "Check for 7bit ascii",
+      shortDescription: `Only allow characters from the 7bit ASCII set.`,
+      extendedInformation: `https://docs.abapopenchecks.org/checks/05/
+ 
+https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abencharacter_set_guidl.htm
+ 
+Checkes files with extensions ".abap" and ".asddls"`,
+      tags: [RuleTag.SingleFile],
+      badExample: `WRITE '뽑'.`,
+      goodExample: `WRITE cl_abap_conv_in_ce=>uccp( 'BF51' ).`,
+    };
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SevenBitAsciiConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const output: Issue[] = [];
+ 
+    for (const file of obj.getFiles()) {
+      const filename = file.getFilename();
+      if (filename.endsWith(".abap") || filename.endsWith(".asddls")) {
+        const rows = file.getRawRows();
+ 
+        for (let i = 0; i < rows.length; i++) {
+          const found = /[\u007f-\uffff]/.exec(rows[i]);
+          if (found !== null) {
+            const column = found.index + 1;
+            const start = new Position(i + 1, column);
+            const end = new Position(i + 1, column + 1);
+            const message = "Contains non 7 bit ascii character";
+            const issue = Issue.atRange(file, start, end, message, this.getMetadata().key, this.conf.severity);
+            output.push(issue);
+          }
+ 
+          // method getRawRows() splits by newline, so the carraige return
+          // should always be last character if present
+          const carriage = /\r.+$/.exec(rows[i]);
+          if (carriage !== null) {
+            const column = carriage.index + 1;
+            const start = new Position(i + 1, column);
+            const end = new Position(i + 1, column + 1);
+            const message = "Dangling carriage return";
+            const issue = Issue.atRange(file, start, end, message, this.getMetadata().key, this.conf.severity);
+            output.push(issue);
+          }
+ 
+        }
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/_abap_rule.ts.html b/src/rules/_abap_rule.ts.html new file mode 100644 index 00000000000..db9e13aff12 --- /dev/null +++ b/src/rules/_abap_rule.ts.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/rules/_abap_rule.ts + + + + + + + + + +
+
+

All files / src/rules _abap_rule.ts

+
+ +
+ 100% + Statements + 37/37 +
+ + +
+ 100% + Branches + 6/6 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 37/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +371x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +29442x +29442x +29442x +1x +1x +37089x +7069x +7069x +30020x +30020x +30020x +30020x +37089x +30827x +30827x +30020x +30020x +30020x +1x +1x
import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {Issue} from "../issue";
+import {IRegistry} from "../_iregistry";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export abstract class ABAPRule implements IRule {
+  protected reg: IRegistry;
+ 
+  public abstract getMetadata(): IRuleMetadata;
+  public abstract getConfig(): void;
+  public abstract setConfig(conf: any): void;
+ 
+  public abstract runParsed(file: ABAPFile, obj: ABAPObject): readonly Issue[];
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const abap = obj as ABAPObject;
+    const output: Issue[] = [];
+ 
+    for (const file of abap.getABAPFiles()) {
+      output.push(...this.runParsed(file, obj));
+    }
+ 
+    return output;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/_basic_rule_config.ts.html b/src/rules/_basic_rule_config.ts.html new file mode 100644 index 00000000000..89f89151604 --- /dev/null +++ b/src/rules/_basic_rule_config.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/rules/_basic_rule_config.ts + + + + + + + + + +
+
+

All files / src/rules _basic_rule_config.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +81x +1x +3503325x +3503325x +3503325x +3503325x +3503325x +3503325x
import {Severity} from "../severity";
+ 
+export abstract class BasicRuleConfig {
+  /** List of file regex filename patterns to exclude, case insensitive */
+  public exclude?: string[] = [];
+  /** Problem severity */
+  public severity?: Severity = Severity.Error;
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/_irule.ts.html b/src/rules/_irule.ts.html new file mode 100644 index 00000000000..d27df8a5eca --- /dev/null +++ b/src/rules/_irule.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/rules/_irule.ts + + + + + + + + + +
+
+

All files / src/rules _irule.ts

+
+ +
+ 100% + Statements + 54/54 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 54/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
import {IObject} from "../objects/_iobject";
+import {Issue} from "../issue";
+import {IRegistry} from "../_iregistry";
+ 
+export enum RuleTag {
+  Experimental = "Experimental",
+  DeprecationCandidate = "DeprecationCandidate",
+  Upport = "Upport",
+  Downport = "Downport",
+  Whitespace = "Whitespace",
+  Naming = "Naming",
+  Quickfix = "Quickfix",
+  Performance = "Performance",
+  Syntax = "Syntax",
+  Security = "Security",
+  /** Relevant wrt the official SAP ABAP style guide*/
+  Styleguide = "Styleguide",
+  /** Single file compatible, the rule gives correct results when having only information about the single file */
+  SingleFile = "SingleFile",
+}
+ 
+/** Rule Metadata */
+export interface IRuleMetadata {
+  /** Rule key, no whitespace allowed, always lower case, words separated by underscore
+   * Used in abaplint.json configuration files */
+  key: string;
+  /** Rule title */
+  title: string;
+  /** Short description in markdown, can be shown in editors */
+  shortDescription: string;
+  /** ABAP code with bad example, shown on rules.abaplint.org */
+  badExample?: string;
+  /** ABAP code with good example, shown on rules.abaplint.org */
+  goodExample?: string;
+  /** Extended information, markdown, only shown on rules.abaplint.org */
+  extendedInformation?: string;
+  /** Various tags with additional usage information */
+  tags?: RuleTag[];
+  /** Pragma that can be used to suppress the issue */
+  pragma?: string;
+  /** Pseudo comment that can be used to suppress the issue */
+  pseudoComment?: string;
+}
+ 
+/** Rule Interface */
+export interface IRule {
+  getMetadata(): IRuleMetadata;
+  getConfig(): void;
+  setConfig(conf: any): void;
+  /** called one time before run() */
+  initialize(reg: IRegistry): IRule;
+  /** called for each object */
+  run(obj: IObject): readonly Issue[];
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/_naming_rule_config.ts.html b/src/rules/_naming_rule_config.ts.html new file mode 100644 index 00000000000..9f1e5c4a19f --- /dev/null +++ b/src/rules/_naming_rule_config.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/rules/_naming_rule_config.ts + + + + + + + + + +
+
+

All files / src/rules _naming_rule_config.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +161x +1x +1x +1x +1x +125302x +125302x +125302x +125302x +125302x +125302x +125302x +125302x +125302x +125302x + 
import {BasicRuleConfig} from "./_basic_rule_config";
+ 
+// todo, change this to an enum instead
+export type PatternKind = "required" | "forbidden";
+ 
+export abstract class NamingRuleConfig extends BasicRuleConfig {
+  /** Specifies whether the pattern is forbidden (violation if name matches) or required (violation if name does not match). */
+  public patternKind?: PatternKind = "required";
+ 
+  /** A list of names to be ignored */
+  public ignoreNames?: string[] = [];
+ 
+  /** A list of patterns to be ignored. For example, you can use it to ignore ambiguous prefixes */
+  public ignorePatterns?: string[] = [];
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/abapdoc.ts.html b/src/rules/abapdoc.ts.html new file mode 100644 index 00000000000..b78fad8297e --- /dev/null +++ b/src/rules/abapdoc.ts.html @@ -0,0 +1,514 @@ + + + + + + Code coverage report for src/rules/abapdoc.ts + + + + + + + + + +
+
+

All files / src/rules abapdoc.ts

+
+ +
+ 90.97% + Statements + 131/144 +
+ + +
+ 89.47% + Branches + 34/38 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 90.97% + Lines + 131/144 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +1441x +1x +1x +1x +1x +1x +1x +1x +1x +20851x +20851x +20851x +20851x +20851x +20851x +20851x +20851x +1x +10426x +10426x +10426x +10426x +10426x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +10426x +10426x +9906x +9906x +10426x +10426x +246x +246x +10426x +10426x +281x +281x +281x +281x +281x +281x +281x +281x +131x +70x +70x +131x +4x +4x +57x +57x +131x +2x +2x +2x +2x +2x +2x +2x +131x +281x +281x +62x +34x +34x +28x +28x +62x +  +  +  +  +  +  +  +62x +281x +281x +49x +1x +1x +48x +49x +  +  +48x +49x +59x +7x +7x +7x +7x +59x +30x +30x +30x +30x +59x +  +  +  +  +59x +59x +48x +48x +281x +281x +10426x +10426x +48x +48x +48x +48x +48x +7x +7x +7x +48x +48x +48x +48x +18x +29x +29x +29x +18x +18x +11x +11x +18x +48x +48x +10426x
import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {Visibility} from "../abap/4_file_information/visibility";
+import {InfoMethodDefinition} from "../abap/4_file_information/_abap_file_information";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Position} from "../position";
+ 
+export class AbapdocConf extends BasicRuleConfig {
+  /** Check local classes and interfaces for abapdoc. */
+  public checkLocal: boolean = false;
+  public classDefinition: boolean = false;
+  public interfaceDefinition: boolean = false;
+  /** Ignores classes flagged as FOR TESTING */
+  public ignoreTestClasses: boolean = true;
+}
+ 
+export class Abapdoc extends ABAPRule {
+ 
+  private conf = new AbapdocConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "abapdoc",
+      title: "Check abapdoc",
+      shortDescription: `Various checks regarding abapdoc.`,
+      extendedInformation: `Base rule checks for existence of abapdoc for public class methods and all interface methods.
+ 
+Plus class and interface definitions.
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#abap-doc-only-for-public-apis`,
+      tags: [RuleTag.SingleFile, RuleTag.Styleguide],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: AbapdocConf): void {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+    const rows = file.getRawRows();
+    const regexEmptyTags = '^\\"! .*<[^/>]*><\\/';
+    const regexEmptyAbapdoc = '^\\"!.+$';
+    const regexEmptyParameterName = '^\\"! @parameter .+\\|';
+ 
+    let methods: InfoMethodDefinition[] = [];
+    for (const classDef of file.getInfo().listClassDefinitions()) {
+      if (this.conf.checkLocal === false && classDef.isLocal === true) {
+        continue;
+      }
+      if (this.conf.ignoreTestClasses === true && classDef.isForTesting === true) {
+        continue;
+      }
+      methods = methods.concat(classDef.methods.filter(m => m.visibility === Visibility.Public));
+ 
+      if (this.conf.classDefinition === true) {
+        const previousRow = classDef.identifier.getStart().getRow() - 2;
+        if (rows[previousRow]?.trim().substring(0, 2) !== "\"!") {
+          const message = "Missing ABAP Doc for class " + classDef.identifier.getToken().getStr();
+          const issue = Issue.atIdentifier(classDef.identifier, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    for (const interfaceDef of file.getInfo().listInterfaceDefinitions()) {
+      if (this.conf.checkLocal === false && interfaceDef.isLocal === true) {
+        continue;
+      }
+      methods = methods.concat(interfaceDef.methods);
+ 
+      if (this.conf.interfaceDefinition === true) {
+        const previousRow = interfaceDef.identifier.getStart().getRow() - 2;
+        if (rows[previousRow]?.trim().substring(0, 2) !== "\"!") {
+          const message = "Missing ABAP Doc for interface " + interfaceDef.identifier.getToken().getStr();
+          const issue = Issue.atIdentifier(interfaceDef.identifier, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    for (const method of methods) {
+      if (method.isRedefinition === true) {
+        continue;
+      }
+      const previousRowsTexts = this.getAbapdoc(rows, method.identifier.getStart());
+      if (previousRowsTexts === undefined) {
+        continue;
+      }
+ 
+      for (const rowText of previousRowsTexts) {
+        if (rowText.trim().match(regexEmptyTags) !== null) {
+          const message = "Empty tag(s) in ABAP Doc for method " + method.identifier.getToken().getStr() + " (" + rowText + ")";
+          const issue = Issue.atIdentifier(method.identifier, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+        if (rowText.trim().match(regexEmptyAbapdoc) === null && previousRowsTexts.indexOf(rowText) === previousRowsTexts.length - 1) {
+          const message = "Missing ABAP Doc for method " + method.identifier.getToken().getStr() + " (" + rowText + ")";
+          const issue = Issue.atIdentifier(method.identifier, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+        if (rowText.trim().match(regexEmptyParameterName) !== null) {
+          const message = "Missing ABAP Doc parameter name for method " + method.identifier.getToken().getStr() + " (" + rowText + ")";
+          const issue = Issue.atIdentifier(method.identifier, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+ 
+      }
+ 
+    }
+    return issues;
+  }
+ 
+  private getAbapdoc(rows: readonly string[], pos: Position): string[] {
+    let previousRow = pos.getRow() - 2;
+    let rowText = rows[previousRow].trim().toUpperCase();
+    const text: string[] = [];
+ 
+    if (rowText === "METHODS" || rowText === "CLASS-METHODS") {
+      previousRow--;
+      rowText = rows[previousRow].trim().toUpperCase();
+    }
+    text.push(rowText);
+    //we need to push the first row despite if it is actually an abapdoc or not
+    //if the first row above a method is abapdoc then try to get the rest of the abapdoc block above
+    if (rowText.trim().substring(0, 2) === "\"!") {
+      while (previousRow >= 0) {
+        previousRow--;
+        rowText = rows[previousRow].trim().toUpperCase();
+        if (rowText.trim().substring(0, 2) !== "\"!") {
+          break;
+        }
+        text.push(rowText);
+      }
+    }
+    return text;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/align_parameters.ts.html b/src/rules/align_parameters.ts.html new file mode 100644 index 00000000000..45302399c2b --- /dev/null +++ b/src/rules/align_parameters.ts.html @@ -0,0 +1,1351 @@ + + + + + + Code coverage report for src/rules/align_parameters.ts + + + + + + + + + +
+
+

All files / src/rules align_parameters.ts

+
+ +
+ 82.93% + Statements + 350/422 +
+ + +
+ 80.95% + Branches + 68/84 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 82.93% + Lines + 350/422 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +4231x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10461x +10461x +10461x +10461x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +31111x +10461x +10461x +9922x +9922x +10461x +10461x +243x +243x +10461x +10461x +295x +295x +295x +295x +12x +12x +283x +283x +283x +283x +283x +283x +283x +283x +295x +36x +36x +16x +16x +36x +283x +283x +283x +10461x +10461x +36x +  +  +36x +36x +36x +36x +75x +75x +2x +2x +73x +75x +54x +54x +75x +34x +36x +60x +16x +16x +13x +16x +3x +3x +16x +16x +16x +60x +18x +18x +18x +10461x +10461x +283x +283x +283x +4x +4x +4x +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +4x +4x +2x +4x +4x +  +  +4x +4x +4x +4x +4x +4x +2x +2x +2x +2x +4x +283x +283x +283x +10461x +10461x +283x +283x +283x +6x +6x +6x +1x +1x +6x +10x +10x +  +  +10x +10x +10x +10x +10x +10x +5x +5x +5x +6x +283x +283x +4x +4x +4x +1x +1x +4x +6x +6x +  +  +6x +6x +6x +6x +6x +6x +3x +3x +3x +4x +283x +283x +283x +10461x +10461x +283x +283x +283x +283x +283x +283x +13x +13x +13x +15x +15x +  +  +15x +15x +15x +15x +15x +15x +13x +13x +13x +5x +5x +  +  +5x +5x +5x +5x +5x +5x +13x +13x +8x +8x +13x +283x +283x +283x +10461x +10461x +283x +283x +283x +19x +19x +19x +7x +7x +  +  +7x +7x +7x +7x +7x +7x +19x +19x +19x +6x +4x +4x +  +  +4x +4x +4x +4x +4x +4x +6x +6x +2x +4x +4x +  +  +4x +4x +4x +4x +4x +4x +2x +6x +6x +6x +  +  +  +  +  +  +  +  +  +  +6x +6x +6x +4x +4x +  +  +4x +4x +4x +4x +4x +4x +6x +19x +19x +10x +10x +19x +283x +283x +283x +10461x +10461x +283x +283x +8x +8x +8x +16x +16x +  +  +16x +16x +16x +16x +16x +16x +8x +8x +  +  +  +  +  +  +  +  +  +  +  +  +8x +8x +8x +  +  +  +  +  +  +  +  +  +  +  +  +8x +8x +8x +8x +8x +283x +283x +10461x +10461x + 
import {Issue} from "../issue";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Position} from "../position";
+import {StructureNode} from "../abap/nodes";
+import {INode} from "../abap/nodes/_inode";
+import {Statements} from "..";
+import {EditHelper, IEdit} from "../edit_helper";
+ 
+ 
+export class AlignParametersConf extends BasicRuleConfig {
+}
+ 
+interface IParameterData {
+  left: INode;
+  eq: Position;
+  right: INode;
+}
+ 
+interface ICandidate {
+  parameters: IParameterData[];
+}
+ 
+export class AlignParameters extends ABAPRule {
+  private conf = new AlignParametersConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "align_parameters",
+      title: "Align Parameters",
+      shortDescription: `Checks for vertially aligned parameters`,
+      extendedInformation: `Checks:
+* function module calls
+* method calls
+* VALUE constructors
+* NEW constructors
+* RAISE EXCEPTION statements
+* CREATE OBJECT statements
+* RAISE EVENT statements
+ 
+https://github.com/SAP/styleguides/blob/master/clean-abap/CleanABAP.md#align-parameters
+ 
+Does not take effect on non functional method calls, use https://rules.abaplint.org/functional_writing/
+ 
+If parameters are on the same row, no issues are reported, see
+https://rules.abaplint.org/max_one_method_parameter_per_line/ for splitting parameters to lines`,
+      tags: [RuleTag.SingleFile, RuleTag.Whitespace, RuleTag.Styleguide, RuleTag.Quickfix],
+      badExample: `CALL FUNCTION 'FOOBAR'
+  EXPORTING
+    foo = 2
+    parameter = 3.
+ 
+foobar( moo = 1
+  param = 1 ).
+ 
+foo = VALUE #(
+    foo = bar
+        moo = 2 ).`,
+      goodExample: `CALL FUNCTION 'FOOBAR'
+  EXPORTING
+    foo       = 2
+    parameter = 3.
+ 
+foobar( moo   = 1
+        param = 1 ).
+ 
+foo = VALUE #(
+    foo = bar
+    moo = 2 ).
+ 
+DATA(sdf) = VALUE type(
+  common_val     = 2
+  another_common = 5
+  ( row_value = 4
+    value_foo = 5 ) ).`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: AlignParametersConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return issues; // parser error
+    }
+ 
+    const candidates: ICandidate[] = [];
+    candidates.push(...this.functionParameterCandidates(stru));
+    candidates.push(...this.methodCallParamCandidates(stru));
+    candidates.push(...this.valueBodyCandidates(stru));
+    candidates.push(...this.raiseAndCreateCandidates(stru));
+    candidates.push(...this.newCandidates(stru));
+ 
+    for (const c of candidates) {
+      const i = this.checkCandidate(c, file);
+      if (i) {
+        issues.push(i);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private checkCandidate(candidate: ICandidate, file: ABAPFile): Issue | undefined {
+    if (candidate.parameters.length === 0) {
+      return undefined;
+    }
+ 
+    let expectedEqualsColumn = 0;
+    let row = 0;
+    for (const p of candidate.parameters) {
+      const currentCol = p.left.getLastToken().getCol() + p.left.getLastToken().getStr().length + 1;
+      if (p.eq.getRow() === row) {
+        return undefined;
+      }
+      row = p.eq.getRow();
+      if (currentCol > expectedEqualsColumn) {
+        expectedEqualsColumn = currentCol;
+      }
+    }
+ 
+    for (const p of candidate.parameters) {
+      if (p.eq.getCol() !== expectedEqualsColumn) {
+        let fix: IEdit | undefined;
+        if (p.eq.getCol() < expectedEqualsColumn) {
+          fix = EditHelper.insertAt(file, p.eq, " ".repeat(expectedEqualsColumn - p.eq.getCol()));
+        } else {
+          fix = EditHelper.deleteRange(file, new Position(p.eq.getRow(), expectedEqualsColumn), p.eq);
+        }
+        const message = "Align parameters to column " + expectedEqualsColumn;
+        return Issue.atPosition(file, p.eq, message, this.getMetadata().key, this.getConfig().severity, fix);
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private newCandidates(stru: StructureNode): ICandidate[] {
+    const candidates: ICandidate[] = [];
+ 
+    for (const vb of stru.findAllExpressionsRecursive(Expressions.NewObject)) {
+      const parameters: IParameterData[] = [];
+ 
+      const fieldAssignments = vb.findDirectExpressions(Expressions.FieldAssignment);
+      if (fieldAssignments.length >= 2) {
+        for (const fs of fieldAssignments) {
+          const children = fs.getChildren();
+          if (children.length < 3) {
+            continue; // unexpected
+          }
+          parameters.push({
+            left: children[0],
+            eq: children[1].getFirstToken().getStart(),
+            right: children[2],
+          });
+        }
+        if (parameters.length > 0) {
+          candidates.push({parameters});
+          continue;
+        }
+      }
+ 
+      const list = vb.findDirectExpression(Expressions.ParameterListS);
+      if (list) {
+        for (const c of list.getChildren()) {
+          const children = c.getChildren();
+          if (children.length < 3) {
+            continue; // unexpected
+          }
+          parameters.push({
+            left: children[0],
+            eq: children[1].getFirstToken().getStart(),
+            right: children[2],
+          });
+        }
+        if (parameters.length > 0) {
+          candidates.push({parameters});
+        }
+      }
+    }
+ 
+    return candidates;
+  }
+ 
+  private valueBodyCandidates(stru: StructureNode): ICandidate[] {
+    const candidates: ICandidate[] = [];
+ 
+    for (const vb of stru.findAllExpressionsRecursive(Expressions.ValueBody)) {
+      const parameters: IParameterData[] = [];
+      const fieldAssignments = vb.findDirectExpressions(Expressions.FieldAssignment);
+      if (fieldAssignments.length <= 1) {
+        continue;
+      }
+      for (const fs of fieldAssignments) {
+        const children = fs.getChildren();
+        if (children.length < 3) {
+          continue; // unexpected
+        }
+        parameters.push({
+          left: children[0],
+          eq: children[1].getFirstToken().getStart(),
+          right: children[2],
+        });
+      }
+      if (parameters.length > 0) {
+        candidates.push({parameters});
+      }
+    }
+ 
+    for (const vb of stru.findAllExpressionsRecursive(Expressions.ValueBodyLine)) {
+      const parameters: IParameterData[] = [];
+      const fieldAssignments = vb.findDirectExpressions(Expressions.FieldAssignment);
+      if (fieldAssignments.length <= 1) {
+        continue;
+      }
+      for (const fs of fieldAssignments) {
+        const children = fs.getChildren();
+        if (children.length < 3) {
+          continue; // unexpected
+        }
+        parameters.push({
+          left: children[0],
+          eq: children[1].getFirstToken().getStart(),
+          right: children[2],
+        });
+      }
+      if (parameters.length > 0) {
+        candidates.push({parameters});
+      }
+    }
+ 
+    return candidates;
+  }
+ 
+  private raiseAndCreateCandidates(stru: StructureNode): ICandidate[] {
+    const candidates: ICandidate[] = [];
+ 
+    const statements = stru.findAllStatements(Statements.Raise);
+    statements.push(...stru.findAllStatements(Statements.CreateObject));
+    statements.push(...stru.findAllStatements(Statements.RaiseEvent));
+    for (const raise of statements) {
+      const parameters: IParameterData[] = [];
+      const param = raise.findDirectExpression(Expressions.ParameterListS);
+      for (const p of param?.getChildren() || []) {
+        const children = p.getChildren();
+        if (children.length < 3) {
+          continue; // unexpected
+        }
+        parameters.push({
+          left: children[0],
+          eq: children[1].getFirstToken().getStart(),
+          right: children[2],
+        });
+      }
+ 
+      const ex = raise.findDirectExpression(Expressions.ParameterListExceptions);
+      for (const e of ex?.getChildren() || []) {
+        const children = e.getChildren();
+        if (children.length < 3) {
+          continue; // unexpected
+        }
+        parameters.push({
+          left: children[0],
+          eq: children[1].getFirstToken().getStart(),
+          right: children[2],
+        });
+      }
+ 
+      if (parameters.length > 0) {
+        candidates.push({parameters});
+      }
+    }
+ 
+    return candidates;
+  }
+ 
+  private methodCallParamCandidates(stru: StructureNode): ICandidate[] {
+    const candidates: ICandidate[] = [];
+ 
+    for (const mcp of stru.findAllExpressionsRecursive(Expressions.MethodCallParam)) {
+      const parameters: IParameterData[] = [];
+ 
+      for (const param of mcp.findDirectExpression(Expressions.ParameterListS)?.getChildren() || []) {
+        const children = param.getChildren();
+        if (children.length < 3) {
+          continue; // unexpected
+        }
+        parameters.push({
+          left: children[0],
+          eq: children[1].getFirstToken().getStart(),
+          right: children[2],
+        });
+      }
+ 
+      const mp = mcp.findDirectExpression(Expressions.MethodParameters);
+      if (mp) {
+        for (const p of mp.findDirectExpression(Expressions.ParameterListS)?.getChildren() || []) {
+          const children = p.getChildren();
+          if (children.length < 3) {
+            continue; // unexpected
+          }
+          parameters.push({
+            left: children[0],
+            eq: children[1].getFirstToken().getStart(),
+            right: children[2],
+          });
+        }
+ 
+        for (const l of mp.findDirectExpressions(Expressions.ParameterListT)) {
+          for (const p of l.findDirectExpressions(Expressions.ParameterT) || []) {
+            const children = p.getChildren();
+            if (children.length < 3) {
+              continue; // unexpected
+            }
+            parameters.push({
+              left: children[0],
+              eq: children[1].getFirstToken().getStart(),
+              right: children[2],
+            });
+          }
+        }
+ 
+        const rec = mp.findDirectExpression(Expressions.ParameterT);
+        if (rec) {
+          const children = rec.getChildren();
+          if (children.length < 3) {
+            continue; // unexpected
+          }
+          parameters.push({
+            left: children[0],
+            eq: children[1].getFirstToken().getStart(),
+            right: children[2],
+          });
+        }
+ 
+ 
+        for (const ex of mp.findDirectExpression(Expressions.ParameterListExceptions)?.getChildren() || []) {
+          const children = ex.getChildren();
+          if (children.length < 3) {
+            continue; // unexpected
+          }
+          parameters.push({
+            left: children[0],
+            eq: children[1].getFirstToken().getStart(),
+            right: children[2],
+          });
+        }
+      }
+ 
+      if (parameters.length > 0) {
+        candidates.push({parameters});
+      }
+    }
+ 
+    return candidates;
+  }
+ 
+  private functionParameterCandidates(stru: StructureNode): ICandidate[] {
+    const candidates: ICandidate[] = [];
+    for (const fp of stru.findAllExpressionsRecursive(Expressions.FunctionParameters)) {
+      const parameters: IParameterData[] = [];
+ 
+      for (const p of fp.findAllExpressions(Expressions.FunctionExportingParameter)) {
+        const children = p.getChildren();
+        if (children.length < 3) {
+          continue; // unexpected
+        }
+        parameters.push({
+          left: children[0],
+          eq: children[1].getFirstToken().getStart(),
+          right: children[2],
+        });
+      }
+ 
+      for (const list of fp.findDirectExpressions(Expressions.ParameterListT)) {
+        for (const pt of list.findDirectExpressions(Expressions.ParameterT)) {
+          const children = pt.getChildren();
+          if (children.length < 3) {
+            continue; // unexpected
+          }
+          parameters.push({
+            left: children[0],
+            eq: children[1].getFirstToken().getStart(),
+            right: children[2],
+          });
+        }
+      }
+ 
+      const list = fp.findDirectExpression(Expressions.ParameterListExceptions);
+      if (list) {
+        for (const pt of list.findDirectExpressions(Expressions.ParameterException)) {
+          const children = pt.getChildren();
+          if (children.length < 3) {
+            continue; // unexpected
+          }
+          parameters.push({
+            left: children[0],
+            eq: children[1].getFirstToken().getStart(),
+            right: children[2],
+          });
+        }
+      }
+ 
+      if (parameters.length > 0) {
+        candidates.push({parameters});
+      }
+    }
+    return candidates;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/align_pseudo_comments.ts.html b/src/rules/align_pseudo_comments.ts.html new file mode 100644 index 00000000000..65885f792f3 --- /dev/null +++ b/src/rules/align_pseudo_comments.ts.html @@ -0,0 +1,310 @@ + + + + + + Code coverage report for src/rules/align_pseudo_comments.ts + + + + + + + + + +
+
+

All files / src/rules align_pseudo_comments.ts

+
+ +
+ 97.33% + Statements + 73/75 +
+ + +
+ 94.11% + Branches + 16/17 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.33% + Lines + 73/75 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +761x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10432x +10432x +10432x +10432x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +10432x +10432x +9906x +9906x +10432x +10432x +243x +243x +10432x +10432x +266x +266x +266x +266x +266x +1482x +1451x +1451x +1451x +31x +31x +1482x +12x +1482x +  +  +19x +19x +1482x +12x +12x +19x +19x +1482x +11x +11x +10x +11x +1x +1x +1x +11x +11x +11x +1482x +266x +266x +266x +10432x +10432x + 
import {ABAPFile} from "../abap/abap_file";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {Issue} from "../issue";
+import {Comment} from "../abap/2_statements/statements/_statement";
+import {Position} from "../position";
+import {EditHelper, IEdit} from "../edit_helper";
+ 
+export class AlignPseudoCommentsConf extends BasicRuleConfig {
+}
+ 
+export class AlignPseudoComments extends ABAPRule {
+  private conf = new AlignPseudoCommentsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "align_pseudo_comments",
+      title: "Align pseudo comments",
+      shortDescription: `Align code inspector pseudo comments in statements`,
+      tags: [RuleTag.SingleFile, RuleTag.Whitespace, RuleTag.Quickfix],
+      badExample: `WRITE 'sdf'. "#EC sdf`,
+      goodExample: `WRITE 'sdf'.                                                "#EC sdf`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: AlignPseudoCommentsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    let previousEnd: Position | undefined = undefined;
+ 
+    for (const statement of file.getStatements()) {
+      if (!(statement.get() instanceof Comment)) {
+        previousEnd = statement.getLastToken().getEnd();
+        continue;
+      }
+      const commentLength = statement.concatTokens().length;
+      const firstCommentToken = statement.getFirstToken();
+      if (firstCommentToken.getStr().startsWith(`"#`) === false) {
+        continue;
+      } else if (previousEnd === undefined) {
+        continue;
+      }
+ 
+      let expectedColumn = 61;
+      if (commentLength > 10) {
+        expectedColumn = 72 - commentLength;
+      }
+ 
+      const col = firstCommentToken.getStart().getCol();
+      if (previousEnd.getCol() < expectedColumn && col !== expectedColumn) {
+        let fix: IEdit | undefined = undefined;
+        if (col < expectedColumn) {
+          fix = EditHelper.insertAt(file, firstCommentToken.getStart(), " ".repeat(expectedColumn - col));
+        } else {
+          const from = new Position(firstCommentToken.getStart().getRow(), expectedColumn);
+          fix = EditHelper.deleteRange(file, from, firstCommentToken.getStart());
+        }
+        const message = "Align pseudo comment to column " + expectedColumn;
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/align_type_expressions.ts.html b/src/rules/align_type_expressions.ts.html new file mode 100644 index 00000000000..b71c60ea44f --- /dev/null +++ b/src/rules/align_type_expressions.ts.html @@ -0,0 +1,652 @@ + + + + + + Code coverage report for src/rules/align_type_expressions.ts + + + + + + + + + +
+
+

All files / src/rules align_type_expressions.ts

+
+ +
+ 100% + Statements + 189/189 +
+ + +
+ 100% + Branches + 32/32 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 100% + Lines + 189/189 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +1901x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20855x +20855x +20855x +20855x +1x +10433x +10433x +10433x +10433x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +10433x +10433x +9906x +9906x +10433x +10433x +243x +243x +10433x +10433x +267x +267x +267x +267x +13x +13x +254x +254x +254x +267x +51x +51x +2x +51x +1x +1x +51x +251x +251x +251x +251x +251x +251x +10433x +10433x +87x +87x +87x +87x +87x +87x +1x +1x +86x +86x +86x +87x +85x +77x +77x +8x +8x +85x +4x +4x +4x +4x +8x +8x +8x +8x +8x +86x +86x +86x +10433x +10433x +251x +251x +251x +251x +57x +57x +57x +57x +27x +27x +27x +27x +27x +27x +27x +57x +57x +57x +13x +13x +13x +13x +13x +13x +13x +57x +57x +57x +251x +251x +251x +10433x +10433x +251x +251x +251x +33x +3x +3x +30x +30x +30x +30x +33x +47x +47x +47x +47x +47x +47x +30x +30x +30x +251x +251x +251x +10433x +10433x + 
import {ABAPFile} from "../abap/abap_file";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Class} from "../objects";
+import {DDIC} from "../ddic";
+import {IObject} from "../objects/_iobject";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {Issue} from "../issue";
+import {Position} from "../position";
+import {StructureNode} from "../abap/nodes";
+import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {EditHelper, IEdit} from "../edit_helper";
+ 
+type fields = {nameEnd: Position, after: Position}[];
+ 
+export class AlignTypeExpressionsConf extends BasicRuleConfig {
+  /** Ignore global exception classes */
+  public ignoreExceptions: boolean = true;
+}
+ 
+export class AlignTypeExpressions extends ABAPRule {
+  private conf = new AlignTypeExpressionsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "align_type_expressions",
+      title: "Align TYPE expressions",
+      shortDescription: `Align TYPE expressions in statements`,
+      extendedInformation: `
+Currently works for METHODS + BEGIN OF
+ 
+If BEGIN OF has an INCLUDE TYPE its ignored
+ 
+Also note that clean ABAP does not recommend aligning TYPE clauses:
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-align-type-clauses`,
+      tags: [RuleTag.SingleFile, RuleTag.Whitespace, RuleTag.Quickfix],
+      badExample: `
+TYPES: BEGIN OF foo,
+         bar TYPE i,
+         foobar TYPE i,
+       END OF foo.
+ 
+INTERFACE lif.
+  METHODS bar
+    IMPORTING
+      foo TYPE i
+      foobar TYPE i.
+ENDINTERFACE.`,
+      goodExample: `
+TYPES: BEGIN OF foo,
+         bar    TYPE i,
+         foobar TYPE i,
+       END OF foo.
+ 
+INTERFACE lif.
+  METHODS bar
+    IMPORTING
+      foo    TYPE i
+      foobar TYPE i.
+ENDINTERFACE.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: AlignTypeExpressionsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: IObject) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return issues; // parser error
+    }
+ 
+    const ddic = new DDIC(this.reg);
+ 
+    if (obj instanceof Class) {
+      const definition = obj.getClassDefinition();
+      if (definition === undefined) {
+        return [];
+      } else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {
+        return [];
+      }
+    }
+ 
+    issues.push(...this.checkTypes(stru, file));
+    issues.push(...this.checkMethods(stru, file));
+ 
+    return issues;
+  }
+ 
+  private check(fields: fields, column: number, file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+ 
+    const rows = new Set<number>();
+    for (const f of fields) {
+      const row = f.after.getRow();
+      if (rows.has(row)) {
+        return [];
+      }
+      rows.add(row);
+    }
+ 
+    for (const f of fields) {
+      if (f.after.getCol() === column) {
+        continue;
+      }
+ 
+      let fix: IEdit | undefined = undefined;
+      if (f.after.getCol() < column) {
+        fix = EditHelper.insertAt(file, f.after, " ".repeat(column - f.after.getCol()));
+      } else {
+        fix = EditHelper.deleteRange(file, new Position(f.after.getRow(), column), f.after);
+      }
+ 
+      const message = `Align TYPE expressions to column ${column}`;
+      const issue = Issue.atPosition(file, f.after, message, this.getMetadata().key, this.conf.severity, fix);
+      issues.push(issue);
+    }
+ 
+    return issues;
+  }
+ 
+  private checkMethods(stru: StructureNode, file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+ 
+    const methods = stru.findAllStatements(Statements.MethodDef);
+    for (const m of methods) {
+      const fields: fields = [];
+      const params = m.findAllExpressions(Expressions.MethodParam);
+      let column = 0;
+      for (const p of params) {
+        const children = p.getChildren();
+        const name = children[children.length - 2];
+        fields.push({
+          nameEnd: name.getLastToken().getEnd(),
+          after: p.findFirstExpression(Expressions.TypeParam)!.getFirstToken().getStart()});
+        column = Math.max(column, name.getFirstToken().getEnd().getCol() + 1);
+      }
+ 
+      const ret = m.findFirstExpression(Expressions.MethodDefReturning);
+      if (ret) {
+        const children = ret.getChildren();
+        const name = children[children.length - 2];
+        fields.push({
+          nameEnd: name.getLastToken().getEnd(),
+          after: ret.findFirstExpression(Expressions.TypeParam)!.getFirstToken().getStart()});
+        column = Math.max(column, name.getLastToken().getEnd().getCol() + 1);
+      }
+ 
+      issues.push(...this.check(fields, column, file));
+    }
+ 
+    return issues;
+  }
+ 
+  private checkTypes(stru: StructureNode, file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+    const types = stru.findAllStructuresRecursive(Structures.Types);
+    for (const t of types) {
+      if (t.findDirectStatement(Statements.IncludeType)) {
+        continue;
+      }
+ 
+      const fields: fields = [];
+      let column = 0;
+      const st = t.findDirectStatements(Statements.Type);
+      for (const s of st) {
+        const name = s.getChildren()[1];
+        fields.push({
+          nameEnd: name.getLastToken().getEnd(),
+          after: s.getChildren()[2].getFirstToken().getStart()});
+        column = Math.max(column, name.getFirstToken().getEnd().getCol() + 1);
+      }
+ 
+      issues.push(...this.check(fields, column, file));
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/allowed_object_naming.ts.html b/src/rules/allowed_object_naming.ts.html new file mode 100644 index 00000000000..0546bc8ce1a --- /dev/null +++ b/src/rules/allowed_object_naming.ts.html @@ -0,0 +1,265 @@ + + + + + + Code coverage report for src/rules/allowed_object_naming.ts + + + + + + + + + +
+
+

All files / src/rules allowed_object_naming.ts

+
+ +
+ 98.33% + Statements + 59/60 +
+ + +
+ 93.75% + Branches + 15/16 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 98.33% + Lines + 59/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +611x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10450x +10450x +10450x +10450x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +10450x +10450x +243x +243x +10450x +10450x +9906x +9906x +10450x +10450x +243x +243x +10450x +10450x +337x +337x +337x +337x +337x +1x +337x +  +336x +29x +5x +5x +336x +2x +2x +337x +337x +8x +8x +329x +329x +329x +10450x +10450x + 
import {Issue} from "../issue";
+import {IObject} from "../objects/_iobject";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+ 
+const NAME_REGEX = /^(\/[A-Z_\d]{3,8}\/)?[A-Z_\d<> ]+$/i;
+ 
+export class AllowedObjectNamingConf extends BasicRuleConfig {
+}
+ 
+export class AllowedObjectNaming implements IRule {
+  private conf = new AllowedObjectNamingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "allowed_object_naming",
+      title: "Allowed object naming",
+      shortDescription: `Enforces basic name length and namespace restrictions, see note SAP 104010`,
+      tags: [RuleTag.Naming, RuleTag.SingleFile],
+    };
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public getConfig(): AllowedObjectNamingConf {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: AllowedObjectNamingConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const allowed = obj.getAllowedNaming();
+    const name = obj.getName();
+    let message = "";
+ 
+    if (name.length > allowed.maxLength) {
+      message = "Name exceeds max length";
+    } else if (allowed.allowNamespace === false && name.indexOf("/") >= 0) {
+      message = "Namespace not allowed for object type";
+    } else if (allowed.customRegex !== undefined) {
+      if (name.match(allowed.customRegex) === null) {
+        message = "Name not allowed";
+      }
+    } else if (name.match(NAME_REGEX) === null) {
+      message = "Name not allowed";
+    }
+ 
+    if (message.length > 0) {
+      return [Issue.atRow(obj.getFiles()[0], 1, message, this.getMetadata().key, this.conf.severity)];
+    }
+ 
+    return [];
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/allowed_object_types.ts.html b/src/rules/allowed_object_types.ts.html new file mode 100644 index 00000000000..11d107b569e --- /dev/null +++ b/src/rules/allowed_object_types.ts.html @@ -0,0 +1,283 @@ + + + + + + Code coverage report for src/rules/allowed_object_types.ts + + + + + + + + + +
+
+

All files / src/rules allowed_object_types.ts

+
+ +
+ 73.13% + Statements + 49/67 +
+ + +
+ 87.5% + Branches + 7/8 +
+ + +
+ 87.5% + Functions + 7/8 +
+ + +
+ 73.13% + Lines + 49/67 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +671x +1x +1x +1x +1x +1x +1x +20844x +20844x +20844x +20844x +20844x +20844x +1x +10422x +10422x +10422x +10422x +10422x +31095x +31095x +31095x +31095x +31095x +31095x +31095x +31095x +10422x +10422x +243x +243x +10422x +10422x +  +  +10422x +10422x +10215x +10215x +10422x +10422x +243x +243x +10422x +10422x +309x +309x +309x +309x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +10422x +10422x
import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {Issue} from "../issue";
+import {IObject} from "../objects/_iobject";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Position} from "../position";
+import {IRegistry} from "../_iregistry";
+ 
+export class AllowedObjectTypesConf extends BasicRuleConfig {
+  /** List of allowed object types, example: ["CLAS", "INTF"]
+   * @uniqueItems true
+  */
+  public allowed: string[] = [];
+}
+ 
+export class AllowedObjectTypes implements IRule {
+ 
+  private conf = new AllowedObjectTypesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "allowed_object_types",
+      title: "Check allowed object types",
+      shortDescription: `Restricts the set of allowed object types.`,
+      extendedInformation: `"allowed" is a list of 4 character R3TR object types, example: ["CLAS", "INTF"]`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  private getDescription(objectType: string): string {
+    return "Object type " + objectType + " not allowed";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: AllowedObjectTypesConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const allowed = this.getConfig().allowed;
+    if (allowed === undefined || allowed.length === 0) {
+      return [];
+    }
+
+    const objectType = obj.getType();
+    if (allowed.indexOf(objectType) < 0) {
+      const position = new Position(1, 1);
+      const issue = Issue.atPosition(
+        obj.getFiles()[0],
+        position,
+        this.getDescription(objectType),
+        this.getMetadata().key,
+        this.conf.severity);
+
+      return [issue];
+    }
+
+    return [];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/ambiguous_statement.ts.html b/src/rules/ambiguous_statement.ts.html new file mode 100644 index 00000000000..c736e3b4d60 --- /dev/null +++ b/src/rules/ambiguous_statement.ts.html @@ -0,0 +1,349 @@ + + + + + + Code coverage report for src/rules/ambiguous_statement.ts + + + + + + + + + +
+
+

All files / src/rules ambiguous_statement.ts

+
+ +
+ 97.75% + Statements + 87/89 +
+ + +
+ 94.11% + Branches + 16/17 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 97.75% + Lines + 87/89 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +891x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +2x +2x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +264x +264x +264x +  +  +264x +264x +1463x +1463x +1463x +1x +1463x +3x +1462x +1x +1459x +2x +2x +1463x +1463x +2x +2x +2x +1463x +1463x +264x +264x +264x +10423x +10423x +7x +7x +7x +7x +7x +7x +7x +7x +7x +10423x +10423x
import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {StatementNode} from "../abap/nodes";
+import {IStatement} from "../abap/2_statements/statements/_statement";
+import {Combi} from "../abap/2_statements/combi";
+import {IRegistry} from "../_iregistry";
+import {Version} from "../version";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class AmbiguousStatementConf extends BasicRuleConfig {
+}
+ 
+export class AmbiguousStatement extends ABAPRule {
+  private conf = new AmbiguousStatementConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "ambiguous_statement",
+      title: "Check for ambigious statements",
+      shortDescription: `Checks for ambiguity between deleting or modifying from internal and database table
+Add "TABLE" keyword or "@" for escaping SQL variables
+ 
+Only works if the target version is 740sp05 or above`,
+      tags: [RuleTag.SingleFile],
+      badExample: `DELETE foo FROM bar.
+MODIFY foo FROM bar.`,
+      goodExample: `DELETE foo FROM @bar.
+MODIFY TABLE foo FROM bar.
+MODIFY zfoo FROM @wa.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Ambiguous statement. Use explicit syntax.";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: AmbiguousStatementConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    if (this.reg.getConfig().getVersion() < Version.v740sp05) {
+      return [];
+    }
+ 
+    for (const statement of file.getStatements()) {
+      let match = false;
+ 
+      if (statement.get() instanceof Statements.DeleteDatabase) {
+        match = this.tryMatch(statement, this.reg, Statements.DeleteInternal);
+      } else if (statement.get() instanceof Statements.DeleteInternal) {
+        match = this.tryMatch(statement, this.reg, Statements.DeleteDatabase);
+      } else if (statement.get() instanceof Statements.ModifyInternal) {
+        match = this.tryMatch(statement, this.reg, Statements.ModifyDatabase);
+      } else if (statement.get() instanceof Statements.ModifyDatabase) {
+        match = this.tryMatch(statement, this.reg, Statements.ModifyInternal);
+      }
+ 
+      if (match) {
+        const issue = Issue.atStatement(file, statement, this.getMessage(), this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+ 
+    }
+ 
+    return issues;
+  }
+ 
+  private tryMatch(st: StatementNode, reg: IRegistry, type1: new () => IStatement): boolean {
+    const ver = reg.getConfig().getVersion();
+ 
+    const tokens = st.getTokens().slice(0);
+    tokens.pop();
+ 
+    const match = Combi.run(new type1().getMatcher(), tokens, ver);
+ 
+    return match !== undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/avoid_use.ts.html b/src/rules/avoid_use.ts.html new file mode 100644 index 00000000000..6666c20088c --- /dev/null +++ b/src/rules/avoid_use.ts.html @@ -0,0 +1,535 @@ + + + + + + Code coverage report for src/rules/avoid_use.ts + + + + + + + + + +
+
+

All files / src/rules avoid_use.ts

+
+ +
+ 100% + Statements + 150/150 +
+ + +
+ 92.3% + Branches + 48/52 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 150/150 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +1511x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +1x +10424x +10424x +10424x +10424x +10424x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +31125x +10424x +10424x +28x +28x +10424x +10424x +9906x +9906x +10424x +10424x +244x +244x +10424x +10424x +283x +283x +283x +283x +283x +1491x +1491x +1491x +1491x +1491x +1491x +2x +1491x +6x +6x +6x +6x +6x +1489x +1x +1x +1483x +1x +1482x +1x +1481x +2x +1480x +2x +2x +1x +1x +1x +1478x +1x +1476x +5x +5x +5x +1490x +1491x +19x +19x +1490x +1490x +1490x +1490x +1491x +215x +215x +215x +10x +10x +1x +1x +9x +9x +9x +215x +1491x +283x +283x +283x +10424x +10424x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +10424x + 
import * as Statements from "../abap/2_statements/statements";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {TypeTable, TypeTableKey} from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Version} from "../version";
+import {StatementNode} from "../abap/nodes/statement_node";
+import {EditHelper, IEdit} from "../edit_helper";
+import {Comment} from "../abap/2_statements/statements/_statement";
+ 
+export class AvoidUseConf extends BasicRuleConfig {
+  /** Do not emit quick fix suggestion */
+  public skipQuickFix?: boolean = false;
+  /** Detects DEFINE (macro definitions) */
+  public define: boolean = true;
+  /** Detects statics */
+  public statics: boolean = true;
+  /** Detects DEFAULT KEY definitions, from version v740sp02 and up. Use pseudo comment DEFAULT_KEY to ignore */
+  public defaultKey: boolean = true;
+  /** Detects BREAK and BREAK-POINTS */
+  public break: boolean = true;
+  /** Detects TEST SEAMS. Use pseudo comment TEST_SEAM_USAGE to ignore */
+  public testSeams: boolean = true;
+  /** Detects DESCRIBE TABLE LINES, use lines() instead */
+  public describeLines: boolean = true;
+  /** Detects EXPORT TO MEMORY */
+  public exportToMemory: boolean = true;
+  /** Detects EXPORT TO DATABASE */
+  public exportToDatabase: boolean = true;
+}
+ 
+export class AvoidUse extends ABAPRule {
+ 
+  private conf = new AvoidUseConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "avoid_use",
+      title: "Avoid use of certain statements",
+      shortDescription: `Detects usage of certain statements.`,
+      extendedInformation: `DEFAULT KEY: https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-default-key
+ 
+Macros: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abenmacros_guidl.htm
+ 
+STATICS: use CLASS-DATA instead
+ 
+DESCRIBE TABLE LINES: use lines() instead (quickfix exists)
+ 
+TEST-SEAMS: https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-test-seams-as-temporary-workaround
+ 
+BREAK points`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(statement: string): string {
+    return "Avoid use of " + statement;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: AvoidUseConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+    let isStaticsBlock: boolean = false;
+ 
+    const statements = file.getStatements();
+    for (let i = 0; i < statements.length; i++) {
+      const statementNode = statements[i];
+      const statement = statementNode.get();
+ 
+      let message: string | undefined = undefined;
+      let fix: IEdit | undefined = undefined;
+      if (this.conf.define && statement instanceof Statements.Define) {
+        message = "DEFINE";
+      } else if (this.conf.describeLines && statement instanceof Statements.Describe) {
+        const children = statementNode.getChildren();
+        if (children.length === 6 && children[3].getFirstToken().getStr().toUpperCase() === "LINES") {
+          message = "DESCRIBE LINES, use lines() instead";
+          fix = this.conf.skipQuickFix === true ? undefined : this.getDescribeLinesFix(file, statementNode);
+        }
+      } else if (this.conf.statics && statement instanceof Statements.StaticBegin) {
+        isStaticsBlock = true;
+        message = "STATICS";
+      } else if (this.conf.statics && statement instanceof Statements.StaticEnd) {
+        isStaticsBlock = false;
+      } else if (this.conf.exportToMemory && statement instanceof Statements.Export && statementNode.concatTokens().includes("TO MEMORY ")) {
+        message = "EXPORT TO MEMORY";
+      } else if (this.conf.exportToDatabase && statement instanceof Statements.Export && statementNode.concatTokens().includes("TO DATABASE ")) {
+        message = "EXPORT TO DATABASE";
+      } else if (this.conf.testSeams && statement instanceof Statements.TestSeam) {
+        const next = statements[i + 1];
+        if (next?.get() instanceof Comment && next.concatTokens().includes("EC TEST_SEAM_USAGE")) {
+          continue;
+        }
+        message = "TEST-SEAM";
+      } else if (this.conf.statics && statement instanceof Statements.Static && isStaticsBlock === false) {
+        message = "STATICS";
+      } else if (this.conf.break && statement instanceof Statements.Break) {
+        message = "BREAK/BREAK-POINT";
+        fix = this.conf.skipQuickFix === true ? undefined : EditHelper.deleteStatement(file, statementNode);
+      }
+ 
+      if (message) {
+        issues.push(Issue.atStatement(file, statementNode, this.getDescription(message), this.getMetadata().key, this.conf.severity, fix));
+      }
+ 
+      if (this.conf.defaultKey
+          && (this.reg.getConfig().getVersion() >= Version.v740sp02
+          || this.reg.getConfig().getVersion() === Version.Cloud)
+          && (statement instanceof Statements.Data || statement instanceof Statements.Type)) {
+        const tt = statementNode.findFirstExpression(TypeTable)?.findDirectExpression(TypeTableKey);
+        const token = tt?.findDirectTokenByText("DEFAULT");
+        if (tt && token) {
+          const next = statements[i + 1];
+          if (next?.get() instanceof Comment && next.concatTokens().includes("EC DEFAULT_KEY")) {
+            continue;
+          }
+          message = "DEFAULT KEY";
+          issues.push(Issue.atToken(file, token, this.getDescription(message), this.getMetadata().key, this.conf.severity));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private getDescribeLinesFix(file: ABAPFile, statementNode: StatementNode): IEdit|undefined {
+    const children = statementNode.getChildren();
+    const target = children[4].concatTokens();
+    const source = children[2].concatTokens();
+ 
+    const startPosition = children[0].getFirstToken().getStart();
+    const insertText = target + " = lines( " + source + " ).";
+ 
+    const deleteFix = EditHelper.deleteStatement(file, statementNode);
+    const insertFix = EditHelper.insertAt(file, startPosition, insertText);
+ 
+    const finalFix = EditHelper.merge(deleteFix, insertFix);
+ 
+    return finalFix;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/begin_end_names.ts.html b/src/rules/begin_end_names.ts.html new file mode 100644 index 00000000000..d466687a663 --- /dev/null +++ b/src/rules/begin_end_names.ts.html @@ -0,0 +1,397 @@ + + + + + + Code coverage report for src/rules/begin_end_names.ts + + + + + + + + + +
+
+

All files / src/rules begin_end_names.ts

+
+ +
+ 98.09% + Statements + 103/105 +
+ + +
+ 95% + Branches + 19/20 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 98.09% + Lines + 103/105 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +1051x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +285x +285x +285x +285x +12x +12x +273x +273x +285x +8x +8x +265x +265x +265x +265x +265x +265x +265x +265x +265x +265x +10424x +10424x +1590x +1590x +1590x +72x +72x +33x +33x +72x +  +  +72x +72x +72x +72x +33x +33x +72x +1x +1x +71x +71x +72x +11x +11x +11x +11x +11x +71x +72x +1x +1x +1x +1x +72x +1590x +1590x +1590x +10424x +10424x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Structures from "../abap/3_structures/structures";
+import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import {StructureNode} from "../abap/nodes";
+import {IStructure} from "../abap/3_structures/structures/_structure";
+import {IStatement, Unknown} from "../abap/2_statements/statements/_statement";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {EditHelper} from "../edit_helper";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class BeginEndNamesConf extends BasicRuleConfig {
+}
+ 
+export class BeginEndNames extends ABAPRule {
+  private conf = new BeginEndNamesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "begin_end_names",
+      title: "Check BEGIN END names",
+      shortDescription: `Check BEGIN OF and END OF names match, plus there must be statements between BEGIN and END`,
+      tags: [RuleTag.Syntax, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `DATA: BEGIN OF stru,
+        field TYPE i,
+      END OF structure_not_the_same.`,
+      goodExample: `DATA: BEGIN OF stru,
+        field TYPE i,
+      END OF stru.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: BeginEndNamesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const output: Issue[] = [];
+ 
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return [];
+    }
+ 
+    const containsUnknown = file.getStatements().some(s => s.get() instanceof Unknown);
+    if (containsUnknown === true) {
+      return [];
+    }
+ 
+    output.push(...this.test(struc, Structures.Data, Statements.DataBegin, Statements.DataEnd, file));
+    output.push(...this.test(struc, Structures.ClassData, Statements.ClassDataBegin, Statements.ClassDataEnd, file));
+    output.push(...this.test(struc, Structures.Constants, Statements.ConstantBegin, Statements.ConstantEnd, file));
+    output.push(...this.test(struc, Structures.Statics, Statements.StaticBegin, Statements.StaticEnd, file));
+    output.push(...this.test(struc, Structures.TypeEnum, Statements.TypeEnumBegin, Statements.TypeEnumEnd, file));
+    output.push(...this.test(struc, Structures.Types, Statements.TypeBegin, Statements.TypeEnd, file));
+ 
+    return output;
+  }
+ 
+  private test(stru: StructureNode, type: new() => IStructure, b: new() => IStatement, e: new() => IStatement, file: ABAPFile): Issue[] {
+    const output: Issue[] = [];
+ 
+    for (const sub of stru.findAllStructuresRecursive(type)) {
+      let begin = sub.findDirectStatements(b)[0].findFirstExpression(Expressions.NamespaceSimpleName);
+      if (begin === undefined) {
+        begin = sub.findDirectStatements(b)[0].findFirstExpression(Expressions.DefinitionName);
+      }
+      if (begin === undefined) {
+        continue;
+      }
+      const first = begin.getFirstToken();
+ 
+      let end = sub.findDirectStatements(e)[0].findFirstExpression(Expressions.NamespaceSimpleName);
+      if (end === undefined) {
+        end = sub.findDirectStatements(e)[0].findFirstExpression(Expressions.DefinitionName);
+      }
+      if (end === undefined) {
+        continue;
+      }
+      const last = end.getFirstToken();
+ 
+      if (first.getStr().toUpperCase() !== last.getStr().toUpperCase()) {
+        const fix = EditHelper.replaceRange(file, last.getStart(), last.getEnd(), first.getStr());
+        const message = "BEGIN END names must match";
+        const issue = Issue.atToken(file, first, message, this.getMetadata().key, this.conf.severity, fix);
+        output.push(issue);
+      }
+ 
+      if (sub.getChildren().length === 2) {
+        const message = "There must be statements between BEGIN and END";
+        const issue = Issue.atToken(file, first, message, this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/begin_single_include.ts.html b/src/rules/begin_single_include.ts.html new file mode 100644 index 00000000000..7d264fe3062 --- /dev/null +++ b/src/rules/begin_single_include.ts.html @@ -0,0 +1,370 @@ + + + + + + Code coverage report for src/rules/begin_single_include.ts + + + + + + + + + +
+
+

All files / src/rules begin_single_include.ts

+
+ +
+ 97.89% + Statements + 93/95 +
+ + +
+ 95% + Branches + 19/20 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.89% + Lines + 93/95 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +961x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +259x +259x +259x +259x +13x +13x +246x +259x +26x +12x +12x +26x +1x +1x +1x +1x +1x +26x +246x +259x +9x +1x +1x +9x +3x +3x +3x +3x +3x +9x +246x +259x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +246x +246x +246x +10423x +10423x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class BeginSingleIncludeConf extends BasicRuleConfig {
+}
+ 
+export class BeginSingleInclude extends ABAPRule {
+ 
+  private conf = new BeginSingleIncludeConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "begin_single_include",
+      title: "BEGIN contains single INCLUDE",
+      shortDescription: `Finds TYPE BEGIN with just one INCLUDE TYPE, and DATA with single INCLUDE STRUCTURE`,
+      tags: [RuleTag.SingleFile],
+      badExample: `TYPES: BEGIN OF dummy1.
+  INCLUDE TYPE dselc.
+TYPES: END OF dummy1.
+ 
+DATA BEGIN OF foo.
+INCLUDE STRUCTURE syst.
+DATA END OF foo.
+ 
+STATICS BEGIN OF bar.
+INCLUDE STRUCTURE syst.
+STATICS END OF bar.`,
+      goodExample: `DATA BEGIN OF foo.
+  DATA field TYPE i.
+  INCLUDE STRUCTURE dselc.
+DATA END OF foo.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: BeginSingleIncludeConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    for (const t of stru.findAllStructures(Structures.Types)) {
+      if (t.getChildren().length !== 3) {
+        continue;
+      }
+      if (t.findFirstStatement(Statements.IncludeType)) {
+        const token = t.getFirstToken();
+        const message = "TYPE BEGIN with single INCLUDE";
+        const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    for (const t of stru.findAllStructures(Structures.Data)) {
+      if (t.getChildren().length !== 3) {
+        continue;
+      }
+      if (t.findFirstStatement(Statements.IncludeType)) {
+        const token = t.getFirstToken();
+        const message = "DATA BEGIN with single INCLUDE";
+        const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    for (const t of stru.findAllStructures(Structures.Statics)) {
+      if (t.getChildren().length !== 3) {
+        continue;
+      }
+      if (t.findFirstStatement(Statements.IncludeType)) {
+        const token = t.getFirstToken();
+        const message = "STATICS BEGIN with single INCLUDE";
+        const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/call_transaction_authority_check.ts.html b/src/rules/call_transaction_authority_check.ts.html new file mode 100644 index 00000000000..846c0782ed7 --- /dev/null +++ b/src/rules/call_transaction_authority_check.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/rules/call_transaction_authority_check.ts + + + + + + + + + +
+
+

All files / src/rules call_transaction_authority_check.ts

+
+ +
+ 100% + Statements + 65/65 +
+ + +
+ 100% + Branches + 15/15 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 65/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +651x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10427x +10427x +10427x +10427x +10427x +10427x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10427x +10427x +3x +3x +10427x +10427x +9906x +9906x +10427x +10427x +243x +243x +10427x +10427x +261x +261x +261x +2x +2x +259x +259x +261x +20x +20x +239x +261x +1380x +1380x +3x +3x +1380x +239x +239x +10427x +10427x
import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import * as Statements from "../abap/2_statements/statements";
+import {ABAPFile} from "../abap/abap_file";
+import {Issue} from "../issue";
+import {ABAPObject} from "../objects/_abap_object";
+import {Version} from "../version";
+ 
+export class CallTransactionAuthorityCheckConf extends BasicRuleConfig {
+}
+export class CallTransactionAuthorityCheck extends ABAPRule {
+ 
+  private conf = new CallTransactionAuthorityCheckConf();
+  private readonly MINIMUM_VERSION = Version.v740sp02;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "call_transaction_authority_check",
+      title: "Call Transaction Authority-Check",
+      shortDescription: `Checks that usages of CALL TRANSACTION contain an authority-check.`,
+      extendedInformation: `https://docs.abapopenchecks.org/checks/54/`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile, RuleTag.Security],
+      badExample: `CALL TRANSACTION 'FOO'.`,
+      goodExample: `TRY.
+    CALL TRANSACTION 'FOO' WITH AUTHORITY-CHECK.
+  CATCH cx_sy_authorization_error.
+ENDTRY.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Add an authority check to CALL TRANSACTION";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CallTransactionAuthorityCheckConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const currentVersion = this.reg.getConfig().getVersion();
+    // Cloud version does not support CALL TRANSACTION
+    if (currentVersion < this.MINIMUM_VERSION || currentVersion === Version.Cloud) {
+      return [];
+    }
+    const issues: Issue[] = [];
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    for (const statNode of file.getStatements()) {
+      const statement = statNode.get();
+      if (statement instanceof Statements.CallTransaction && !statNode.concatTokensWithoutStringsAndComments().toUpperCase().includes("WITH AUTHORITY-CHECK")) {
+        issues.push(Issue.atStatement(file, statNode, this.getMessage(), this.getMetadata().key));
+      }
+    }
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/cds_comment_style.ts.html b/src/rules/cds_comment_style.ts.html new file mode 100644 index 00000000000..7afdcb48544 --- /dev/null +++ b/src/rules/cds_comment_style.ts.html @@ -0,0 +1,274 @@ + + + + + + Code coverage report for src/rules/cds_comment_style.ts + + + + + + + + + +
+
+

All files / src/rules cds_comment_style.ts

+
+ +
+ 96.87% + Statements + 62/64 +
+ + +
+ 85.71% + Branches + 12/14 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 96.87% + Lines + 62/64 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +641x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10425x +10425x +9907x +9907x +10425x +10425x +243x +243x +10425x +10425x +246x +246x +10425x +10425x +312x +312x +312x +312x +4x +4x +  +  +4x +4x +78x +1x +1x +78x +4x +312x +312x +312x +10425x +10425x
import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {CDSMetadataExtension, DataDefinition} from "../objects";
+import {CDSLexer} from "../cds/cds_lexer";
+import {Comment} from "../abap/1_lexer/tokens";
+ 
+export class CDSCommentStyleConf extends BasicRuleConfig {
+}
+ 
+export class CDSCommentStyle implements IRule {
+  private conf = new CDSCommentStyleConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "cds_comment_style",
+      title: "CDS Comment Style",
+      shortDescription: `Check for obsolete comment style`,
+      extendedInformation: `Check for obsolete comment style
+ 
+Comments starting with "--" are considered obsolete
+ 
+https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abencds_general_syntax_rules.htm`,
+      tags: [RuleTag.SingleFile],
+      badExample: "-- this is a comment",
+      goodExample: "// this is a comment",
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CDSCommentStyleConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry): IRule {
+    return this;
+  }
+ 
+  public run(object: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if ((object.getType() === "DDLS" && object instanceof DataDefinition) ||
+        (object.getType() === "DDLX" && object instanceof CDSMetadataExtension)) {
+      const file = object.findSourceFile();
+      if (file === undefined) {
+        return issues;
+      }
+      const tokens = CDSLexer.run(file);
+      for (const t of tokens) {
+        if (t instanceof Comment && t.getStr().startsWith("--")) {
+          issues.push(Issue.atToken(file, t, `Use "//" for comments instead of "--"`, this.getMetadata().key, this.getConfig().severity));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/cds_legacy_view.ts.html b/src/rules/cds_legacy_view.ts.html new file mode 100644 index 00000000000..ee59c90e9ce --- /dev/null +++ b/src/rules/cds_legacy_view.ts.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for src/rules/cds_legacy_view.ts + + + + + + + + + +
+
+

All files / src/rules cds_legacy_view.ts

+
+ +
+ 97.22% + Statements + 70/72 +
+ + +
+ 85.71% + Branches + 12/14 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 97.22% + Lines + 70/72 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +721x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +10425x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10425x +10425x +9907x +9907x +10425x +10425x +243x +243x +10425x +10425x +246x +246x +246x +10425x +10425x +312x +312x +312x +312x +  +  +312x +312x +308x +308x +4x +4x +4x +4x +1x +1x +4x +1x +1x +1x +1x +1x +4x +3x +3x +3x +10425x +10425x
import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {Version} from "../version";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {DataDefinition} from "../objects";
+ 
+export class CDSLegacyViewConf extends BasicRuleConfig {
+}
+ 
+export class CDSLegacyView implements IRule {
+  private conf = new CDSLegacyViewConf();
+  private reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "cds_legacy_view",
+      title: "CDS Legacy View",
+      shortDescription: `Identify CDS Legacy Views`,
+      // eslint-disable-next-line max-len
+      extendedInformation: `Use DEFINE VIEW ENTITY instead of DEFINE VIEW
+ 
+https://blogs.sap.com/2021/10/16/a-new-generation-of-cds-views-how-to-migrate-your-cds-views-to-cds-view-entities/
+ 
+v755 and up`,
+      tags: [RuleTag.SingleFile, RuleTag.Upport],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CDSLegacyViewConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry): IRule {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(o: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (this.reg.getConfig().getVersion() < Version.v755
+        && this.reg.getConfig().getVersion() !== Version.Cloud) {
+      return [];
+    }
+ 
+    if (o.getType() !== "DDLS") {
+      return [];
+    }
+ 
+    if (o instanceof DataDefinition) {
+      const tree = o.getTree();
+      if (tree === undefined) {
+        return []; // parser error
+      }
+      if (tree.findDirectTokenByText("ENTITY") === undefined) {
+        const file = o.findSourceFile();
+        if (file) {
+          issues.push(Issue.atRow(file, 1, "CDS Legacy View", this.getMetadata().key, this.getConfig().severity));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/cds_parser_error.ts.html b/src/rules/cds_parser_error.ts.html new file mode 100644 index 00000000000..33dc10fb52c --- /dev/null +++ b/src/rules/cds_parser_error.ts.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for src/rules/cds_parser_error.ts + + + + + + + + + +
+
+

All files / src/rules cds_parser_error.ts

+
+ +
+ 100% + Statements + 51/51 +
+ + +
+ 91.66% + Branches + 11/12 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 51/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +511x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10424x +10424x +9907x +9907x +10424x +10424x +243x +243x +10424x +10424x +245x +245x +10424x +10424x +311x +311x +311x +311x +3x +3x +3x +1x +1x +3x +311x +311x +311x +10424x +10424x
import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {CDSMetadataExtension, DataDefinition} from "../objects";
+ 
+export class CDSParserErrorConf extends BasicRuleConfig {
+}
+ 
+export class CDSParserError implements IRule {
+  private conf = new CDSParserErrorConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "cds_parser_error",
+      title: "CDS Parser Error",
+      shortDescription: `CDS parsing`,
+      extendedInformation: `Parses CDS and issues parser errors`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CDSParserErrorConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry): IRule {
+    return this;
+  }
+ 
+  public run(object: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if ((object.getType() === "DDLS" && object instanceof DataDefinition) ||
+        (object.getType() === "DDLX" && object instanceof CDSMetadataExtension)) {
+      const hasError = object.hasParserError();
+      const file = object.findSourceFile();
+      if (hasError === true && file) {
+        issues.push(Issue.atRow(file, 1, "CDS Parser error", this.getMetadata().key, this.getConfig().severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/chain_mainly_declarations.ts.html b/src/rules/chain_mainly_declarations.ts.html new file mode 100644 index 00000000000..42eba1ca010 --- /dev/null +++ b/src/rules/chain_mainly_declarations.ts.html @@ -0,0 +1,646 @@ + + + + + + Code coverage report for src/rules/chain_mainly_declarations.ts + + + + + + + + + +
+
+

All files / src/rules chain_mainly_declarations.ts

+
+ +
+ 94.65% + Statements + 177/187 +
+ + +
+ 83.05% + Branches + 49/59 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 94.65% + Lines + 177/187 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +1881x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +1x +10425x +10425x +10425x +10425x +10425x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +10425x +10425x +9906x +9906x +10425x +10425x +245x +245x +10425x +10425x +271x +271x +271x +271x +12x +12x +259x +259x +271x +1440x +1440x +1268x +1268x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +172x +1440x +161x +1440x +1x +11x +  +10x +  +10x +  +10x +  +10x +  +10x +  +10x +  +10x +  +10x +1x +1x +9x +9x +1440x +4x +4x +9x +9x +9x +9x +9x +9x +9x +9x +259x +259x +259x +10425x +10425x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +  +  +9x +9x +9x +9x +9x +9x +5x +5x +4x +4x +4x +9x +9x +9x +9x +4x +4x +9x +9x +9x +10425x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Statements from "../abap/2_statements/statements";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper, IEdit} from "../edit_helper";
+import {StatementNode} from "../abap/nodes";
+import {Position} from "../position";
+import {IStatement} from "../abap/2_statements/statements/_statement";
+ 
+export class ChainMainlyDeclarationsConf extends BasicRuleConfig {
+  /** Allow definition statements to be chained */
+  public definitions: boolean = true;
+  /** Allow WRITE statements to be chained */
+  public write: boolean = true;
+  /** Allow MOVE statements to be chained */
+  public move: boolean = true;
+  /** Allow REFRESH statements to be chained */
+  public refresh: boolean = true;
+  /** Allow UNASSIGN statements to be chained */
+  public unassign: boolean = true;
+  /** Allow CLEAR statements to be chained */
+  public clear: boolean = true;
+  /** Allow HIDE statements to be chained */
+  public hide: boolean = true;
+  /** Allow FREE statements to be chained */
+  public free: boolean = true;
+  /** Allow INCLUDE statements to be chained */
+  public include: boolean = true;
+  /** Allow CHECK statements to be chained */
+  public check: boolean = true;
+  /** Allow SORT statements to be chained */
+  public sort: boolean = true;
+}
+ 
+export class ChainMainlyDeclarations extends ABAPRule {
+ 
+  private conf = new ChainMainlyDeclarationsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "chain_mainly_declarations",
+      title: "Chain mainly declarations",
+      shortDescription: `Chain mainly declarations, allows chaining for the configured statements, reports errors for other statements.`,
+      extendedInformation: `
+https://docs.abapopenchecks.org/checks/23/
+ 
+https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abenchained_statements_guidl.htm
+`,
+      tags: [RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `CALL METHOD: bar.`,
+      goodExample: `CALL METHOD bar.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ChainMainlyDeclarationsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const structure = file.getStructure();
+    if (structure === undefined) {
+      return [];
+    }
+ 
+    let previousRow: number | undefined;
+    for (const statementNode of structure.findAllStatementNodes()) {
+      const colon = statementNode.getColon();
+      if (colon === undefined) {
+        continue;
+      }
+      const statement = statementNode.get();
+ 
+      if (this.conf.definitions === true
+          && (statement instanceof Statements.ClassData
+          || statement instanceof Statements.ClassDataBegin
+          || statement instanceof Statements.ClassDataEnd
+          || statement instanceof Statements.Static
+          || statement instanceof Statements.StaticBegin
+          || statement instanceof Statements.StaticEnd
+          || statement instanceof Statements.Local
+          || statement instanceof Statements.Constant
+          || statement instanceof Statements.ConstantBegin
+          || statement instanceof Statements.ConstantEnd
+          || statement instanceof Statements.Controls
+          || statement instanceof Statements.Parameter
+          || statement instanceof Statements.SelectOption
+          || statement instanceof Statements.SelectionScreen
+          || statement instanceof Statements.Aliases
+          || statement instanceof Statements.Tables
+          || statement instanceof Statements.MethodDef
+          || statement instanceof Statements.InterfaceDef
+          || statement instanceof Statements.Type
+          || statement instanceof Statements.TypeBegin
+          || statement instanceof Statements.TypeEnd
+          || statement instanceof Statements.TypeEnumBegin
+          || statement instanceof Statements.TypeEnumEnd
+          || statement instanceof Statements.TypeEnum
+          || statement instanceof Statements.Events
+          || statement instanceof Statements.Ranges
+          || statement instanceof Statements.TypePools
+          || statement instanceof Statements.FieldSymbol
+          || statement instanceof Statements.Data
+          || statement instanceof Statements.DataBegin
+          || statement instanceof Statements.DataEnd)) {
+        continue;
+      } else if (this.conf.write === true && statement instanceof Statements.Write) {
+        continue;
+      } else if (this.conf.move === true && statement instanceof Statements.Move) {
+        continue;
+      } else if (this.conf.refresh === true && statement instanceof Statements.Refresh) {
+        continue;
+      } else if (this.conf.unassign === true && statement instanceof Statements.Unassign) {
+        continue;
+      } else if (this.conf.clear === true && statement instanceof Statements.Clear) {
+        continue;
+      } else if (this.conf.hide === true && statement instanceof Statements.Hide) {
+        continue;
+      } else if (this.conf.free === true && statement instanceof Statements.Free) {
+        continue;
+      } else if (this.conf.include === true && statement instanceof Statements.Include) {
+        continue;
+      } else if (this.conf.check === true && statement instanceof Statements.Check) {
+        continue;
+      } else if (this.conf.sort === true && statement instanceof Statements.Sort) {
+        continue;
+      }
+ 
+      let prevFix: IEdit | undefined;
+      if (previousRow === colon.getStart().getRow()) {
+        prevFix = issues.pop()?.getDefaultFix();
+      }
+ 
+      const fix = this.getFix(file, statement, statementNode, prevFix);
+ 
+      const message = "Chain mainly declarations";
+      issues.push(Issue.atToken(file, statementNode.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix));
+ 
+      previousRow = statementNode.getColon()!.getStart().getRow();
+    }
+ 
+    return issues;
+  }
+ 
+  private getFix(file: ABAPFile, statement: IStatement, statementNode: StatementNode, prevFix: IEdit | undefined): IEdit | undefined {
+    if (statement instanceof Statements.ClassDataBegin ||
+      statement instanceof Statements.ClassDataEnd ||
+      statement instanceof Statements.StaticBegin ||
+      statement instanceof Statements.StaticEnd ||
+      statement instanceof Statements.ConstantBegin ||
+      statement instanceof Statements.ConstantEnd ||
+      statement instanceof Statements.TypeBegin ||
+      statement instanceof Statements.TypeEnd ||
+      statement instanceof Statements.TypeEnumBegin ||
+      statement instanceof Statements.TypeEnumEnd ||
+      statement instanceof Statements.DataBegin ||
+      statement instanceof Statements.DataEnd) {
+      return undefined;
+    }
+ 
+    let replacement = statementNode.concatTokens();
+    replacement = replacement.replace(",", ".");
+ 
+    let start: Position;
+    if (prevFix === undefined) {
+      start = statementNode.getStart();
+    }
+    else {
+      start = statementNode.getTokens()[1].getStart();
+    }
+ 
+    let fix = EditHelper.replaceRange(file, start, statementNode.getEnd(), replacement);
+ 
+    if (prevFix !== undefined) {
+      fix = EditHelper.merge(fix, prevFix);
+    }
+ 
+    return fix;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/change_if_to_case.ts.html b/src/rules/change_if_to_case.ts.html new file mode 100644 index 00000000000..ab2a051226e --- /dev/null +++ b/src/rules/change_if_to_case.ts.html @@ -0,0 +1,523 @@ + + + + + + Code coverage report for src/rules/change_if_to_case.ts + + + + + + + + + +
+
+

All files / src/rules change_if_to_case.ts

+
+ +
+ 88.43% + Statements + 130/147 +
+ + +
+ 72.58% + Branches + 45/62 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 88.43% + Lines + 130/147 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +1471x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20857x +20857x +20857x +20857x +20857x +20857x +1x +10435x +10435x +10435x +10435x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10435x +10435x +9914x +9914x +10435x +10435x +243x +243x +10435x +10435x +267x +267x +267x +267x +12x +12x +255x +267x +25x +25x +25x +25x +  +  +25x +25x +3x +3x +22x +25x +25x +9x +9x +25x +13x +13x +9x +9x +25x +4x +4x +4x +25x +255x +255x +255x +10435x +10435x +9x +9x +9x +16x +  +  +16x +16x +  +16x +1x +1x +15x +16x +19x +19x +  +19x +2x +2x +19x +19x +19x +19x +13x +9x +  +  +6x +6x +9x +3x +3x +  +3x +1x +3x +  +2x +2x +2x +4x +9x +  +  +  +  +  +4x +9x +12x +  +  +12x +4x +4x +4x +10435x +10435x
import {Issue} from "../issue";
+import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ExpressionNode} from "../abap/nodes";
+ 
+export class ChangeIfToCaseConf extends BasicRuleConfig {
+  /** skip specific names, case insensitive regular expression
+   * @uniqueItems true
+   */
+  public skipNames?: string[] = [];
+}
+ 
+export class ChangeIfToCase extends ABAPRule {
+  private conf = new ChangeIfToCaseConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "change_if_to_case",
+      title: "Change IF to CASE",
+      shortDescription: `Finds IF constructs that can be changed to CASE`,
+      // eslint-disable-next-line max-len
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-case-to-else-if-for-multiple-alternative-conditions
+ 
+If the first comparison is a boolean compare, no issue is reported.`,
+      tags: [RuleTag.SingleFile, RuleTag.Styleguide],
+      badExample: `IF l_fcat-fieldname EQ 'FOO'.
+ELSEIF l_fcat-fieldname = 'BAR'
+    OR l_fcat-fieldname = 'MOO'.
+ENDIF.`,
+      goodExample: `CASE l_fcat-fieldname.
+  WHEN 'FOO'.
+  WHEN 'BAR' OR 'MOO'.
+ENDCASE.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ChangeIfToCaseConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return issues;
+    }
+ 
+    for (const i of stru.findAllStructuresRecursive(Structures.If)) {
+      const conds: (ExpressionNode | undefined)[] = [];
+ 
+      const ifStatement = i.findDirectStatement(Statements.If);
+      if (ifStatement === undefined) {
+        continue;
+      }
+ 
+      if (ifStatement.concatTokens().match(/ (abap_true|abap_false)\s*\./i)) {
+        continue;
+      }
+ 
+      conds.push(ifStatement?.findDirectExpression(Expressions.Cond));
+      for (const ei of i.findDirectStructures(Structures.ElseIf)) {
+        conds.push(ei.findDirectStatement(Statements.ElseIf)?.findDirectExpression(Expressions.Cond));
+      }
+      if (conds.length === 1) {
+        continue;
+      }
+ 
+      const issue = this.analyze(conds);
+      if (issue === true) {
+        const message = "Change IF to CASE";
+        issues.push(Issue.atStatement(file, ifStatement, message, this.getMetadata().key, this.getConfig().severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private analyze(conds: (ExpressionNode | undefined)[]): boolean {
+    const tuples: {left: string, right: string}[] = [];
+ 
+    for (const c of conds) {
+      if (c === undefined) {
+        continue;
+      }
+ 
+      if (c.findFirstExpression(Expressions.CondSub)) {
+        return false;
+      } else if (c.findDirectTokenByText("AND") || c.findDirectTokenByText("EQUIV")) {
+        return false;
+      }
+ 
+      for (const compare of c.findAllExpressions(Expressions.Compare)) {
+        const op = compare.findDirectExpression(Expressions.CompareOperator)?.concatTokens().toUpperCase();
+        if (compare.getChildren().length !== 3) {
+          return false;
+        } else if (op !== "=" && op !== "EQ") {
+          return false;
+        }
+        const left = compare.getChildren()[0]?.concatTokens()?.toUpperCase();
+        const right = compare.getChildren()[2]?.concatTokens()?.toUpperCase();
+        tuples.push({left, right});
+      }
+    }
+    if (tuples.length === 1) {
+      return false;
+    }
+ 
+    let chain = "";
+    if (tuples[0].left === tuples[1].left) {
+      chain = tuples[0].left;
+    } else if (tuples[0].left === tuples[1].right) {
+      chain = tuples[0].left;
+    } else if (tuples[0].right === tuples[1].right) {
+      chain = tuples[0].right;
+    } else if (tuples[0].right === tuples[1].left) {
+      chain = tuples[0].right;
+    } else {
+      return false;
+    }
+ 
+    for (const skip of this.getConfig().skipNames || []) {
+      const reg = new RegExp(skip, "i");
+      if (chain.match(reg)) {
+        return false;
+      }
+    }
+ 
+    for (const t of tuples) {
+      if (t.left !== chain && t.right !== chain) {
+        return false;
+      }
+    }
+ 
+    return true;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/check_abstract.ts.html b/src/rules/check_abstract.ts.html new file mode 100644 index 00000000000..aa7d06b6626 --- /dev/null +++ b/src/rules/check_abstract.ts.html @@ -0,0 +1,313 @@ + + + + + + Code coverage report for src/rules/check_abstract.ts + + + + + + + + + +
+
+

All files / src/rules check_abstract.ts

+
+ +
+ 98.7% + Statements + 76/77 +
+ + +
+ 94.44% + Branches + 17/18 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 98.7% + Lines + 76/77 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +771x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +10423x +10423x +4x +4x +1x +4x +3x +4x +  +4x +4x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +262x +262x +262x +122x +6x +1x +1x +1x +1x +1x +1x +6x +6x +122x +49x +3x +3x +3x +3x +3x +3x +49x +116x +262x +262x +10423x
import {ABAPFile} from "../abap/abap_file";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+ 
+export class CheckAbstractConf extends BasicRuleConfig {
+}
+ 
+enum IssueType {
+  /** Abstract method defined in non-abstract class */
+  NotAbstractClass,
+  AbstractAndFinal,
+}
+ 
+export class CheckAbstract extends ABAPRule {
+ 
+  private conf = new CheckAbstractConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "check_abstract",
+      title: "Check abstract methods and classes",
+      shortDescription: `Checks abstract methods and classes:
+- class defined as abstract and final,
+- non-abstract class contains abstract methods`,
+      extendedInformation: `If a class defines only constants, use an interface instead`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(issueType: IssueType, name: string): string {
+    switch (issueType) {
+      case IssueType.AbstractAndFinal:
+        return "Classes should not be ABSTRACT and FINAL: " + name;
+      case IssueType.NotAbstractClass:
+        return "Abstract methods require abstract classes: " + name;
+      default:
+        return "";
+    }
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CheckAbstractConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const classDef of file.getInfo().listClassDefinitions()) {
+      if (classDef.isAbstract === true) {
+        if (classDef.isFinal === true && classDef.isForTesting === false) {
+          issues.push(Issue.atIdentifier(
+            classDef.identifier,
+            this.getDescription(IssueType.AbstractAndFinal, classDef.name),
+            this.getMetadata().key,
+            this.conf.severity));
+        }
+        continue;
+      }
+      for (const methodDef of classDef.methods) {
+        if (methodDef.isAbstract === true) {
+          issues.push(Issue.atIdentifier(
+            methodDef.identifier,
+            this.getDescription(IssueType.NotAbstractClass, methodDef.name),
+            this.getMetadata().key,
+            this.conf.severity));
+        }
+      }
+    }
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/check_comments.ts.html b/src/rules/check_comments.ts.html new file mode 100644 index 00000000000..d8644fce440 --- /dev/null +++ b/src/rules/check_comments.ts.html @@ -0,0 +1,328 @@ + + + + + + Code coverage report for src/rules/check_comments.ts + + + + + + + + + +
+
+

All files / src/rules check_comments.ts

+
+ +
+ 100% + Statements + 82/82 +
+ + +
+ 95.45% + Branches + 21/22 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 82/82 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +821x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +10423x +10423x +17x +17x +17x +17x +17x +10423x +10423x +9906x +9906x +10423x +10423x +259x +259x +10423x +10423x +270x +270x +270x +7x +7x +263x +270x +1777x +1777x +15x +15x +1777x +263x +270x +1494x +1494x +27x +27x +10x +10x +17x +17x +17x +17x +17x +17x +17x +17x +1494x +263x +263x +10423x
import {Issue} from "../issue";
+import {Comment} from "../abap/2_statements/statements/_statement";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class CheckCommentsConf extends BasicRuleConfig {
+  /** Allows the use of end-of-line comments. */
+  public allowEndOfLine: boolean = false;
+}
+ 
+enum IssueType {
+  EndOfLine,
+}
+export class CheckComments extends ABAPRule {
+  private conf = new CheckCommentsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "check_comments",
+      title: "Check Comments",
+      shortDescription: `
+Various checks for comment usage.`,
+      extendedInformation: `
+Detects end of line comments. Comments starting with "#EC" or "##" are ignored
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#put-comments-before-the-statement-they-relate-to`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `WRITE 2. " descriptive comment`,
+      goodExample: `" descriptive comment\nWRITE 2.`,
+    };
+  }
+ 
+  private getDescription(issueType: IssueType): string {
+    switch (issueType) {
+      case IssueType.EndOfLine: return `Do not use end of line comments - move comment to previous row instead`;
+      default: return "";
+    }
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CheckCommentsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+    const rows = file.getRawRows();
+    if (this.conf.allowEndOfLine === true) {
+      return [];
+    }
+    const commentRows: number[] = [];
+    for (let i = 0; i < rows.length; i++) {
+      const row = rows[i];
+      if (row.trim().startsWith("*") || row.trim().startsWith(`"`)) {
+        commentRows.push(i);
+      }
+    }
+    const statements = file.getStatements();
+    for (let i = statements.length - 1; i >= 0; i--) {
+      const statement = statements[i];
+      if (statement.get() instanceof Comment && !commentRows.includes(statement.getStart().getRow() - 1)) {
+        if (statement.getFirstToken().getStr().startsWith(`"#EC`)
+            || statement.getFirstToken().getStr().startsWith(`"##`)) {
+          continue;
+        }
+        issues.push(
+          Issue.atStatement(
+            file,
+            statement,
+            this.getDescription(IssueType.EndOfLine),
+            this.getMetadata().key,
+            this.conf.severity));
+      }
+    }
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/check_ddic.ts.html b/src/rules/check_ddic.ts.html new file mode 100644 index 00000000000..e4196b6bcf7 --- /dev/null +++ b/src/rules/check_ddic.ts.html @@ -0,0 +1,325 @@ + + + + + + Code coverage report for src/rules/check_ddic.ts + + + + + + + + + +
+
+

All files / src/rules check_ddic.ts

+
+ +
+ 100% + Statements + 81/81 +
+ + +
+ 95.83% + Branches + 23/24 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 81/81 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +811x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10430x +10430x +10430x +10430x +10430x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +10430x +10430x +251x +251x +251x +10430x +10430x +9906x +9906x +10430x +10430x +243x +243x +10430x +10430x +317x +317x +317x +317x +317x +317x +317x +317x +317x +63x +317x +254x +254x +63x +63x +63x +10430x +10430x +133x +133x +133x +14x +14x +14x +133x +22x +22x +67x +67x +119x +3x +3x +133x +133x +133x +133x +10430x +10430x
import {IRule, RuleTag} from "./_irule";
+import {Issue} from "../issue";
+import * as Objects from "../objects";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Position} from "../position";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {UnknownType, StructureType, TableType} from "../abap/types/basic";
+import {TypedIdentifier} from "../abap/types/_typed_identifier";
+ 
+export class CheckDDICConf extends BasicRuleConfig {
+// todo, add option to not allow any void types?
+}
+ 
+export class CheckDDIC implements IRule {
+  private reg: IRegistry;
+  private conf = new CheckDDICConf();
+ 
+  public getMetadata() {
+    return {
+      key: "check_ddic",
+      title: "Check DDIC",
+      // eslint-disable-next-line max-len
+      shortDescription: `Checks the types of DDIC objects can be resolved, the namespace of the development/errors can be configured in "errorNamespace" `,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CheckDDICConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    let found: AbstractType | undefined = undefined;
+    if (obj instanceof Objects.DataElement
+        || obj instanceof Objects.Domain
+        || obj instanceof Objects.Table
+        || obj instanceof Objects.View
+        || obj instanceof Objects.AuthorizationCheckField
+        || obj instanceof Objects.LockObject
+        || obj instanceof Objects.MaintenanceAndTransportObject
+        || obj instanceof Objects.TableType) {
+      found = obj.parseType(this.reg);
+    } else {
+      return [];
+    }
+ 
+    return this.check(found, obj);
+  }
+ 
+  private check(found: AbstractType | undefined, obj: IObject): Issue[] {
+    const ret: Issue[] = [];
+ 
+    if (found instanceof UnknownType) {
+      const position = new Position(1, 1);
+      const message = "Unknown/un-resolveable type in " + obj.getName() + ": " + found.getError();
+      ret.push(Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity));
+    } else if (found instanceof StructureType) {
+// assumption: no circular types
+      for (const c of found.getComponents()) {
+        ret.push(...this.check(c.type instanceof TypedIdentifier ? c.type.getType() : c.type, obj));
+      }
+    } else if (found instanceof TableType) {
+      ret.push(...this.check(found.getRowType(), obj));
+    }
+// todo, reference types?
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/check_include.ts.html b/src/rules/check_include.ts.html new file mode 100644 index 00000000000..19fae569a79 --- /dev/null +++ b/src/rules/check_include.ts.html @@ -0,0 +1,250 @@ + + + + + + Code coverage report for src/rules/check_include.ts + + + + + + + + + +
+
+

All files / src/rules check_include.ts

+
+ +
+ 100% + Statements + 56/56 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 56/56 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +561x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10441x +10441x +10441x +10441x +10441x +10441x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +10441x +10441x +9906x +9906x +10441x +10441x +243x +243x +10441x +10441x +255x +255x +255x +255x +10441x +10441x +326x +62x +62x +264x +264x +326x +273x +273x +264x +264x +10441x +10441x
import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPObject} from "../objects/_abap_object";
+import {IncludeGraph} from "../utils/include_graph";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {Issue} from "../issue";
+import {IObject} from "../objects/_iobject";
+ 
+export class CheckIncludeConf extends BasicRuleConfig {
+}
+ 
+export class CheckInclude implements IRule {
+  private reg: IRegistry;
+  private conf = new CheckIncludeConf();
+  private graph: IncludeGraph;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "check_include",
+      title: "Check INCLUDEs",
+      shortDescription: `Checks INCLUDE statements`,
+      extendedInformation: `
+* Reports unused includes
+* Errors if the includes are not found
+* Error if including a main program`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CheckIncludeConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    this.graph = new IncludeGraph(this.reg);
+    return this;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    let ret: Issue[] = [];
+    for (const file of obj.getABAPFiles()) {
+      ret = ret.concat(this.graph.getIssuesFile(file));
+    }
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/check_subrc.ts.html b/src/rules/check_subrc.ts.html new file mode 100644 index 00000000000..5b324c68c4d --- /dev/null +++ b/src/rules/check_subrc.ts.html @@ -0,0 +1,739 @@ + + + + + + Code coverage report for src/rules/check_subrc.ts + + + + + + + + + +
+
+

All files / src/rules check_subrc.ts

+
+ +
+ 94.52% + Statements + 207/219 +
+ + +
+ 85.05% + Branches + 74/87 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 94.52% + Lines + 207/219 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +2191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +31108x +10423x +10423x +10188x +10188x +10423x +10423x +243x +243x +10423x +10423x +8x +8x +8x +8x +8x +10423x +10423x +282x +282x +282x +282x +282x +282x +1519x +1519x +1519x +1519x +1519x +1x +1x +1518x +1518x +1518x +1519x +1x +1x +1519x +1517x +1517x +  +  +1517x +1517x +1517x +1517x +1517x +3x +3x +1x +1x +2x +2x +1517x +1514x +1514x +1514x +1514x +1514x +1514x +1x +1x +1514x +1513x +1513x +1513x +  +  +1513x +1513x +1513x +1513x +  +  +1513x +1513x +1513x +1513x +  +  +1513x +1513x +1513x +1x +1x +1513x +1512x +1512x +1512x +1x +1x +1512x +1511x +1511x +1511x +3x +3x +3x +1519x +1519x +1519x +1519x +10423x +10423x +10423x +10423x +9x +8x +8x +8x +5x +5x +8x +4x +4x +10423x +10423x +4x +4x +4x +10423x +10423x +5x +1x +1x +1x +  +1x +1x +  +1x +1x +1x +1x +4x +4x +10423x +10423x +21x +21x +21x +21x +21x +8x +8x +8x +8x +8x +21x +21x +15x +15x +15x +2x +1x +1x +15x +13x +2x +13x +11x +1x +1x +11x +  +  +10x +11x +11x +15x +9x +9x +10423x +10423x
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {StatementNode} from "../abap/nodes/statement_node";
+import {Comment} from "../abap/2_statements/statements/_statement";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper} from "../edit_helper";
+ 
+export class CheckSubrcConf extends BasicRuleConfig {
+  public openDataset: boolean = true;
+  public authorityCheck: boolean = true;
+  public selectSingle: boolean = true;
+  public selectTable: boolean = true;
+  public updateDatabase: boolean = true;
+  public insertDatabase: boolean = true;
+  public modifyDatabase: boolean = true;
+  public readTable: boolean = true;
+  public assign: boolean = true;
+  public find: boolean = true;
+}
+ 
+export class CheckSubrc extends ABAPRule {
+  private conf = new CheckSubrcConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "check_subrc",
+      title: "Check sy-subrc",
+      shortDescription: `Check sy-subrc`,
+      extendedInformation: `Pseudo comment "#EC CI_SUBRC can be added to suppress findings
+ 
+If sy-dbcnt is checked after database statements, it is considered okay.
+ 
+"SELECT SINGLE @abap_true FROM " is considered as an existence check, also "SELECT COUNT( * )" is considered okay
+ 
+If IS ASSIGNED is checked after assigning, it is considered okay.
+ 
+FIND statement with MATCH COUNT is considered okay if subrc is not checked`,
+      tags: [RuleTag.SingleFile, RuleTag.Quickfix],
+      pseudoComment: "EC CI_SUBRC",
+      pragma: "##SUBRC_OK",
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CheckSubrcConf) {
+    this.conf = conf;
+  }
+ 
+  private buildFix(file: ABAPFile, statement: StatementNode) {
+    return {
+      description: "Add ##SUBRC_OK",
+      edit: EditHelper.insertAt(file, statement.getLastToken().getStart(), " ##SUBRC_OK"),
+    };
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+    const statements = file.getStatements();
+    const message = "Check sy-subrc";
+    const config = this.getConfig();
+ 
+    for (let i = 0; i < statements.length; i++) {
+      const statement = statements[i];
+ 
+// todo: CALL FUNCTION
+ 
+      if (statement.getPragmas().some(t => t.getStr() === this.getMetadata().pragma)) {
+        continue;
+      }
+ 
+      if (config.openDataset === true
+          && statement.get() instanceof Statements.OpenDataset
+          && this.isChecked(i, statements) === false) {
+// it doesnt make sense to ignore the subrc for open dataset, so no quick fix
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));
+      } else if (config.authorityCheck === true
+          && statement.get() instanceof Statements.AuthorityCheck
+          && this.isChecked(i, statements) === false) {
+// it doesnt make sense to ignore the subrc for authority checks, so no quick fix
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));
+      } else if (config.selectSingle === true
+          && statement.get() instanceof Statements.Select
+          && statement.concatTokens().toUpperCase().startsWith("SELECT SINGLE ")
+          && this.isChecked(i, statements) === false
+          && this.checksDbcnt(i, statements) === false) {
+        const concat = statement.concatTokens().toUpperCase();
+        if (concat.startsWith("SELECT SINGLE @ABAP_TRUE FROM ")) {
+          continue;
+        }
+        const fix = this.buildFix(file, statement);
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, undefined, [fix]));
+      } else if (config.selectTable === true
+          && statement.get() instanceof Statements.Select
+          && statement.concatTokens().toUpperCase().startsWith("SELECT SINGLE ") === false
+          && statement.concatTokens().toUpperCase().startsWith("SELECT COUNT( * ) ") === false
+          && statement.concatTokens().toUpperCase().startsWith("SELECT COUNT(*) ") === false
+          && this.isChecked(i, statements) === false
+          && this.checksDbcnt(i, statements) === false) {
+        const fix = this.buildFix(file, statement);
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, undefined, [fix]));
+      } else if (config.updateDatabase === true
+          && statement.get() instanceof Statements.UpdateDatabase
+          && this.isChecked(i, statements) === false
+          && this.checksDbcnt(i, statements) === false) {
+        const fix = this.buildFix(file, statement);
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, undefined, [fix]));
+      } else if (config.insertDatabase === true
+          && statement.get() instanceof Statements.InsertDatabase
+          && this.isChecked(i, statements) === false
+          && this.checksDbcnt(i, statements) === false) {
+        const fix = this.buildFix(file, statement);
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, undefined, [fix]));
+      } else if (config.modifyDatabase === true
+          && statement.get() instanceof Statements.ModifyDatabase
+          && this.isChecked(i, statements) === false
+          && this.checksDbcnt(i, statements) === false) {
+        const fix = this.buildFix(file, statement);
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, undefined, [fix]));
+      } else if (config.readTable === true
+          && statement.get() instanceof Statements.ReadTable
+          && this.isChecked(i, statements) === false) {
+        const fix = this.buildFix(file, statement);
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, undefined, [fix]));
+      } else if (config.assign === true
+          && statement.get() instanceof Statements.Assign
+          && this.isSimpleAssign(statement) === false
+          && this.isChecked(i, statements) === false) {
+        const fix = this.buildFix(file, statement);
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, undefined, [fix]));
+      } else if (config.find === true
+          && statement.get() instanceof Statements.Find
+          && this.isExemptedFind(statement) === false
+          && this.isChecked(i, statements) === false) {
+        const fix = this.buildFix(file, statement);
+        issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, undefined, [fix]));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+////////////////
+ 
+  private isSimpleAssign(statement: StatementNode): boolean {
+    if (statement.getChildren().length === 5) {
+      const source = statement.findDirectExpression(Expressions.AssignSource);
+      if (source?.getChildren().length === 1
+          && source.findDirectExpression(Expressions.Source) !== undefined) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  private isExemptedFind(s: StatementNode): boolean {
+// see https://github.com/abaplint/abaplint/issues/2130
+    return s.concatTokens().toUpperCase().includes(" MATCH COUNT ") === true;
+  }
+ 
+  private checksDbcnt(index: number, statements: readonly StatementNode[]): boolean {
+    for (let i = index + 1; i < statements.length; i++) {
+      const statement = statements[i];
+      const concat = statement.concatTokens().toUpperCase();
+      if (statement.get() instanceof Comment) {
+        continue;
+      } else if (statement.get() instanceof Statements.EndIf
+          || statement.get() instanceof Statements.EndTestSeam) {
+        continue;
+      } else {
+        return concat.includes("SY-DBCNT");
+      }
+    }
+    return false;
+  }
+ 
+  private isChecked(index: number, statements: readonly StatementNode[]): boolean {
+    let assigned: string | undefined = undefined;
+    let assignedn: string | undefined = undefined;
+ 
+    if (statements[index].get() instanceof Statements.Assign
+        || statements[index].get() instanceof Statements.ReadTable) {
+      const fs = statements[index].findFirstExpression(Expressions.FSTarget
+      )?.findFirstExpression(Expressions.FieldSymbol)?.getFirstToken().getStr();
+      assigned = fs?.toUpperCase() + " IS ASSIGNED";
+      assignedn = fs?.toUpperCase() + " IS NOT ASSIGNED";
+    }
+ 
+    for (let i = index + 1; i < statements.length; i++) {
+      const statement = statements[i];
+      const concat = statement.concatTokens().toUpperCase();
+      if (statement.get() instanceof Comment) {
+        if (concat.includes("" + this.getMetadata().pseudoComment)) {
+          return true;
+        }
+      } else if (statement.get() instanceof Statements.EndIf
+          || statement.get() instanceof Statements.EndTestSeam) {
+        continue;
+      } else {
+        if (assigned && concat.includes(assigned)) {
+          return true;
+        }
+        if (assignedn && concat.includes(assignedn)) {
+          return true;
+        }
+        return concat.includes(" SY-SUBRC")
+          || concat.includes("CL_ABAP_UNIT_ASSERT=>ASSERT_SUBRC");
+      }
+    }
+    return false;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/check_syntax.ts.html b/src/rules/check_syntax.ts.html new file mode 100644 index 00000000000..c60ceee3754 --- /dev/null +++ b/src/rules/check_syntax.ts.html @@ -0,0 +1,262 @@ + + + + + + Code coverage report for src/rules/check_syntax.ts + + + + + + + + + +
+
+

All files / src/rules check_syntax.ts

+
+ +
+ 100% + Statements + 60/60 +
+ + +
+ 100% + Branches + 11/11 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 60/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +601x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31095x +31095x +31095x +31095x +31095x +31095x +31095x +10424x +10424x +9906x +9906x +10424x +10424x +245x +245x +245x +10424x +10424x +244x +244x +10424x +10424x +311x +62x +62x +249x +249x +249x +249x +249x +311x +1x +1x +1x +1x +1x +1x +249x +249x +249x +10424x +10424x
import {IRegistry} from "../_iregistry";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {Issue} from "../issue";
+import {RuleTag, IRuleMetadata, IRule} from "./_irule";
+import {Severity} from "../severity";
+import {CheckSyntaxKey} from "../abap/5_syntax/_syntax_input";
+ 
+export class CheckSyntaxConf extends BasicRuleConfig {
+}
+ 
+export class CheckSyntax implements IRule {
+  private reg: IRegistry;
+  private conf = new CheckSyntaxConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: CheckSyntaxKey,
+      title: "Check syntax",
+      shortDescription: `Enables syntax check and variable resolution`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public setConfig(conf: CheckSyntaxConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const issues = new SyntaxLogic(this.reg, obj).run().issues;
+ 
+// the syntax logic does not know the rule severity when its run
+    if (this.conf.severity
+        && this.conf.severity !== Severity.Error) {
+      issues.forEach((value: Issue, index: number) => {
+        const data = value.getData();
+        data.severity = this.conf.severity!;
+        issues[index] = new Issue(data);
+      });
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/check_text_elements.ts.html b/src/rules/check_text_elements.ts.html new file mode 100644 index 00000000000..697ca18e000 --- /dev/null +++ b/src/rules/check_text_elements.ts.html @@ -0,0 +1,388 @@ + + + + + + Code coverage report for src/rules/check_text_elements.ts + + + + + + + + + +
+
+

All files / src/rules check_text_elements.ts

+
+ +
+ 98.03% + Statements + 100/102 +
+ + +
+ 88.88% + Branches + 24/27 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 98.03% + Lines + 100/102 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +1021x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10435x +10435x +10435x +10435x +10435x +10435x +31099x +31099x +31099x +31099x +31099x +31099x +10435x +10435x +9906x +9906x +10435x +10435x +243x +243x +10435x +10435x +256x +256x +256x +256x +10435x +10435x +322x +62x +62x +260x +260x +260x +322x +267x +267x +12x +12x +255x +255x +255x +255x +255x +255x +255x +267x +12x +12x +12x +12x +12x +12x +12x +  +  +12x +255x +267x +12x +6x +6x +6x +1x +1x +1x +6x +6x +6x +6x +6x +6x +6x +4x +4x +6x +1x +1x +6x +5x +2x +2x +6x +12x +255x +260x +260x +260x +10435x +10435x
import {IRule} from "./_irule";
+import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPObject, ITextElements} from "../objects/_abap_object";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {IncludeGraph} from "../utils/include_graph";
+ 
+export class CheckTextElementsConf extends BasicRuleConfig {
+}
+ 
+export class CheckTextElements implements IRule {
+  private reg: IRegistry;
+  private conf = new CheckTextElementsConf();
+  private graph: IncludeGraph;
+ 
+  public getMetadata() {
+    return {
+      key: "check_text_elements",
+      title: "Check text elements",
+      shortDescription: `Check text elements exists or matches code`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CheckTextElementsConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    this.graph = new IncludeGraph(this.reg);
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const output: Issue[] = [];
+ 
+    for (const file of obj.getABAPFiles()) {
+      const stru = file.getStructure();
+      if (stru === undefined) {
+        continue;
+      }
+ 
+      let texts: ITextElements;
+      let mainName: string | undefined = undefined;
+ 
+      const expressions = stru.findAllExpressionsMulti([Expressions.TextElement, Expressions.TextElementString]);
+ 
+      // optimize: no need to find main and texts if there are no expressions to check
+      if (expressions.length > 0) {
+        const mains = this.graph.listMainForInclude(file.getFilename());
+        if (mains.length === 1) {
+// todo, this only checks the first main
+          mainName = mains[0];
+          const main1 = this.reg.findObjectForFile(this.reg.getFileByName(mains[0])!)! as ABAPObject;
+          texts = main1.getTexts();
+        } else {
+          texts = obj.getTexts();
+        }
+      }
+ 
+      for (const e of expressions) {
+        if (e.get() instanceof Expressions.TextElement) {
+          const token = e.findFirstExpression(Expressions.TextElementKey)!.getFirstToken();
+          const key = token.getStr().toUpperCase();
+          if (texts![key] === undefined) {
+            const message = `Text element "${key}" not found` + (mainName ? ", " + mainName : "");
+            output.push(Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity));
+          }
+        } else {
+          // its a Expressions.TextElementString
+          const token = e.findFirstExpression(Expressions.TextElementKey)!.getFirstToken();
+          const code = e.getFirstToken().getStr();
+          const key = token.getStr().toUpperCase();
+          let found = texts![key];
+          if (found && code.startsWith("'")) {
+            found = found.replace(/'/g, "''");
+          }
+          if (found === undefined) {
+            const message = `Text element "${key}" not found` + (mainName ? ", " + mainName : "");
+            output.push(Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity));
+          } else if (code !== "'" + found + "'"
+              && code !== "`" + found + "`") {
+            output.push(Issue.atToken(file, token, "Text does not match text element", this.getMetadata().key, this.conf.severity));
+          }
+        }
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/check_transformation_exists.ts.html b/src/rules/check_transformation_exists.ts.html new file mode 100644 index 00000000000..e362aadf89d --- /dev/null +++ b/src/rules/check_transformation_exists.ts.html @@ -0,0 +1,274 @@ + + + + + + Code coverage report for src/rules/check_transformation_exists.ts + + + + + + + + + +
+
+

All files / src/rules check_transformation_exists.ts

+
+ +
+ 100% + Statements + 63/63 +
+ + +
+ 100% + Branches + 15/15 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 63/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +641x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10428x +10428x +10428x +10428x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10428x +10428x +1x +1x +10428x +10428x +9906x +9906x +10428x +10428x +243x +243x +10428x +10428x +259x +259x +259x +259x +13x +13x +246x +259x +1439x +4x +4x +1x +1x +3x +3x +3x +4x +1x +1x +1x +4x +1439x +246x +246x +246x +10428x +10428x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {CallTransformation} from "../abap/2_statements/statements";
+import {NamespaceSimpleName} from "../abap/2_statements/expressions";
+import {RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class CheckTransformationExistsConf extends BasicRuleConfig {
+}
+ 
+export class CheckTransformationExists extends ABAPRule {
+  private conf = new CheckTransformationExistsConf();
+ 
+  public getMetadata() {
+    return {
+      key: "check_transformation_exists",
+      title: "Check transformation exists",
+      shortDescription: `Checks that used XSLT transformations exist.`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  private getDescription(name: string): string {
+    return "Transformation \"" + name + "\" not found";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CheckTransformationExistsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const output: Issue[] = [];
+ 
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return [];
+    }
+ 
+    for (const s of file.getStatements()) {
+      if (s.get() instanceof CallTransformation) {
+        const nameExpression = s.findFirstExpression(NamespaceSimpleName);
+        if (nameExpression === undefined) {
+          continue;
+        }
+        const tok = nameExpression.getFirstToken();
+        const name = tok.getStr();
+        if (this.reg.inErrorNamespace(name) === true
+            && this.reg.getObject("XSLT", name) === undefined) {
+          const issue = Issue.atToken(file, tok, this.getDescription(name), this.getMetadata().key);
+          output.push(issue);
+        }
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/class_attribute_names.ts.html b/src/rules/class_attribute_names.ts.html new file mode 100644 index 00000000000..ae1c21352db --- /dev/null +++ b/src/rules/class_attribute_names.ts.html @@ -0,0 +1,436 @@ + + + + + + Code coverage report for src/rules/class_attribute_names.ts + + + + + + + + + +
+
+

All files / src/rules class_attribute_names.ts

+
+ +
+ 97.45% + Statements + 115/118 +
+ + +
+ 93.33% + Branches + 28/30 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 97.45% + Lines + 115/118 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +1181x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20910x +20910x +20910x +20910x +20910x +20910x +20910x +20910x +20910x +20910x +20910x +20910x +20910x +20910x +1x +10472x +10472x +10472x +10472x +10472x +31135x +31135x +31135x +31135x +31135x +31135x +31135x +10472x +10472x +40x +40x +40x +40x +10472x +10472x +9906x +9906x +10472x +10472x +291x +291x +10472x +10472x +304x +304x +16x +16x +304x +304x +304x +142x +142x +73x +73x +69x +69x +304x +304x +301x +70x +36x +36x +34x +34x +301x +304x +304x +304x +304x +10472x +10472x +304x +  +  +304x +304x +304x +70x +70x +36x +36x +70x +10x +10x +70x +24x +24x +70x +  +70x +70x +304x +304x +10472x +10472x +70x +70x +70x +70x +40x +40x +40x +70x +70x +70x +10472x +10472x
import {Issue} from "../issue";
+import {NamingRuleConfig} from "./_naming_rule_config";
+import {NameValidator} from "../utils/name_validator";
+import {ABAPRule} from "./_abap_rule";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {InfoAttribute, AttributeLevel} from "../abap/4_file_information/_abap_file_information";
+import {RuleTag} from "./_irule";
+import {ABAPObject} from "../objects/_abap_object";
+import {DDIC} from "../ddic";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class ClassAttributeNamesConf extends NamingRuleConfig {
+  /** Ignore global exception classes */
+  public ignoreExceptions: boolean = true;
+  /** Ignore local classes */
+  public ignoreLocal: boolean = true;
+  /** Ignore interfaces */
+  public ignoreInterfaces: boolean = false;
+  /** The pattern for static variable names */
+  public statics: string = "^G._.+$";
+  /** The pattern for instance variable names */
+  public instance: string = "^M._.+$";
+  /** The pattern for constant variable names */
+  public constants: string = "";
+}
+ 
+export class ClassAttributeNames extends ABAPRule {
+ 
+  private conf = new ClassAttributeNamesConf();
+ 
+  public getMetadata() {
+    return {
+      key: "class_attribute_names",
+      title: "Class attributes naming",
+      shortDescription: `Allows you to enforce a pattern, such as a prefix, for class variable names.`,
+      tags: [RuleTag.Naming, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(actual: string, expected: string): string {
+    return this.conf.patternKind === "required" ?
+      "Class attribute name \"" + actual + "\" does not match pattern " + expected :
+      "Class attribute name \"" + actual + "\" must not match pattern " + expected;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ClassAttributeNamesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject): Issue[] {
+    let issues: Issue[] = [];
+    if (this.conf.patternKind === undefined) {
+      this.conf.patternKind = "required";
+    }
+    let attributes: InfoAttribute[] = [];
+    const ddic = new DDIC(this.reg);
+    for (const classDef of file.getInfo().listClassDefinitions()) {
+      if ((classDef.isLocal && this.conf.ignoreLocal)
+        || (ddic.isException(classDef, obj) && this.conf.ignoreExceptions)) {
+        continue;
+      }
+      attributes = attributes.concat(classDef.attributes);
+    }
+ 
+    if (this.conf.ignoreInterfaces === false) {
+      for (const intfDef of file.getInfo().listInterfaceDefinitions()) {
+        if (intfDef.isLocal && this.conf.ignoreLocal) {
+          continue;
+        }
+        attributes = attributes.concat(intfDef.attributes);
+      }
+    }
+ 
+    issues = this.checkAttributes(attributes);
+    return issues;
+  }
+ 
+  private checkAttributes(attr: InfoAttribute[] | undefined): Issue[] {
+    if (attr === undefined) {
+      return [];
+    }
+ 
+    let ret: Issue[] = [];
+    for (const a of attr) {
+      switch (a.level) {
+        case AttributeLevel.Instance:
+          ret = ret.concat(this.checkName(a.identifier, this.conf.instance));
+          break;
+        case AttributeLevel.Static:
+          ret = ret.concat(this.checkName(a.identifier, this.conf.statics));
+          break;
+        case AttributeLevel.Constant:
+          ret = ret.concat(this.checkName(a.identifier, this.conf.constants));
+          break;
+        default:
+          break;
+      }
+    }
+    return ret;
+  }
+ 
+  private checkName(attr: Identifier, expected: string): Issue[] {
+    const ret: Issue[] = [];
+    const regex = new RegExp(expected, "i");
+    const name = attr.getName();
+    if (NameValidator.violatesRule(name, regex, this.conf)) {
+      const issue = Issue.atIdentifier(attr, this.getDescription(name, expected), this.getMetadata().key, this.conf.severity);
+      ret.push(issue);
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/classic_exceptions_overlap.ts.html b/src/rules/classic_exceptions_overlap.ts.html new file mode 100644 index 00000000000..8d15f940847 --- /dev/null +++ b/src/rules/classic_exceptions_overlap.ts.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for src/rules/classic_exceptions_overlap.ts + + + + + + + + + +
+
+

All files / src/rules classic_exceptions_overlap.ts

+
+ +
+ 97.22% + Statements + 70/72 +
+ + +
+ 85.71% + Branches + 12/14 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.22% + Lines + 70/72 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +721x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10427x +10427x +10427x +10427x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10427x +10427x +9909x +9909x +10427x +10427x +243x +243x +10427x +10427x +259x +259x +259x +259x +12x +12x +247x +259x +4x +4x +10x +10x +  +  +10x +3x +3x +3x +3x +3x +7x +7x +4x +247x +247x +247x +10427x +10427x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class ClassicExceptionsOverlapConf extends BasicRuleConfig {
+}
+ 
+export class ClassicExceptionsOverlap extends ABAPRule {
+  private conf = new ClassicExceptionsOverlapConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "classic_exceptions_overlap",
+      title: "Classic exceptions overlap when catching",
+      shortDescription: `Find overlapping classic exceptions`,
+      extendedInformation: `When debugging its typically good to know exactly which exception is caught`,
+      tags: [RuleTag.SingleFile],
+      badExample: `CALL FUNCTION 'SOMETHING'
+  EXCEPTIONS
+    system_failure        = 1 MESSAGE lv_message
+    communication_failure = 1 MESSAGE lv_message
+    resource_failure      = 1
+    OTHERS                = 1.`,
+      goodExample: `CALL FUNCTION 'SOMETHING'
+  EXCEPTIONS
+    system_failure        = 1 MESSAGE lv_message
+    communication_failure = 2 MESSAGE lv_message
+    resource_failure      = 3
+    OTHERS                = 4.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ClassicExceptionsOverlapConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const output: Issue[] = [];
+ 
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return []; // syntax error
+    }
+ 
+    for (const p of struc.findAllExpressions(Expressions.ParameterListExceptions)) {
+      const set = new Set<string>();
+      for (const e of p.findAllExpressions(Expressions.ParameterException)) {
+        const text = e.findDirectExpression(Expressions.SimpleName)?.concatTokens().toUpperCase();
+        if (text === undefined) {
+          continue;
+        }
+        if (set.has(text)) {
+          const message = "Exception overlap, " + text;
+          const issue = Issue.atToken(file, e.getFirstToken(), message, this.getMetadata().key, this.getConfig().severity);
+          output.push(issue);
+          break;
+        }
+        set.add(text);
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/cloud_types.ts.html b/src/rules/cloud_types.ts.html new file mode 100644 index 00000000000..d4b3e9034e2 --- /dev/null +++ b/src/rules/cloud_types.ts.html @@ -0,0 +1,382 @@ + + + + + + Code coverage report for src/rules/cloud_types.ts + + + + + + + + + +
+
+

All files / src/rules cloud_types.ts

+
+ +
+ 48% + Statements + 48/100 +
+ + +
+ 75% + Branches + 6/8 +
+ + +
+ 75% + Functions + 6/8 +
+ + +
+ 48% + Lines + 48/100 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +1001x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10422x +10422x +10422x +10422x +10422x +31095x +31095x +31095x +31095x +31095x +31095x +31095x +10422x +10422x +  +  +10422x +10422x +9906x +9906x +10422x +10422x +243x +243x +10422x +10422x +243x +243x +243x +10422x +10422x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +10422x +10422x +309x +309x +309x +  +  +  +  +  +  +  +  +  +  +10422x +10422x
import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {Issue} from "../issue";
+import {Version} from "../version";
+import * as Objects from "../objects";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Position} from "../position";
+ 
+export class CloudTypesConf extends BasicRuleConfig {
+}
+ 
+export class CloudTypes implements IRule {
+  private reg: IRegistry;
+  private conf = new CloudTypesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "cloud_types",
+      title: "Check cloud types",
+      shortDescription: `Checks that the package does not contain any object types unsupported in cloud ABAP.`,
+      tags: [RuleTag.SingleFile, RuleTag.Syntax],
+    };
+  }
+ 
+  private getDescription(objectType: string): string {
+    return "Object type " + objectType + " not supported in cloud";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CloudTypesConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public static isCloud(obj: IObject): boolean {
+    return obj instanceof Objects.ApplicationJobCatalogEntry
+      || obj instanceof Objects.ApplicationJobTemplate
+      || obj instanceof Objects.AssignmentServiceToAuthorizationGroup
+      || obj instanceof Objects.ATCCheckCategory
+      || obj instanceof Objects.ATCCheckObject
+      || obj instanceof Objects.ATCCheckVariant
+      || obj instanceof Objects.AuthorizationCheckField
+      || obj instanceof Objects.AuthorizationObject
+      || obj instanceof Objects.AuthorizationObjectExtension
+      || obj instanceof Objects.BehaviorDefinition
+      || obj instanceof Objects.BusinessCatalog
+      || obj instanceof Objects.BusinessCatalogAppAssignment
+      || obj instanceof Objects.CDSMetadataExtension
+      || obj instanceof Objects.Class
+      || obj instanceof Objects.ApplicationLogObject
+      || obj instanceof Objects.CommunicationScenario
+      || obj instanceof Objects.DataControl
+      || obj instanceof Objects.DataDefinition
+      || obj instanceof Objects.DataElement
+      || obj instanceof Objects.Domain
+      || obj instanceof Objects.EventBinding
+      || obj instanceof Objects.EventConsumer
+      || obj instanceof Objects.FunctionGroup
+      || obj instanceof Objects.HttpService
+      || obj instanceof Objects.IAMApp
+      || obj instanceof Objects.InboundService
+      || obj instanceof Objects.Interface
+      || obj instanceof Objects.LockObject
+      || obj instanceof Objects.MessageClass
+      || obj instanceof Objects.NumberRange
+      || obj instanceof Objects.OutboundService
+      || obj instanceof Objects.Package
+      || obj instanceof Objects.RestrictionField
+      || obj instanceof Objects.RestrictionType
+      || obj instanceof Objects.ServiceBinding
+      || obj instanceof Objects.ServiceDefinition
+      || obj instanceof Objects.Table
+      || obj instanceof Objects.TableType
+      || obj instanceof Objects.Transformation;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (this.reg.getConfig().getVersion() !== Version.Cloud || CloudTypes.isCloud(obj)) {
+      return [];
+    }
+
+    const position = new Position(1, 1);
+    const issue = Issue.atPosition(
+      obj.getFiles()[0],
+      position,
+      this.getDescription(obj.getType()),
+      this.getMetadata().key,
+      this.conf.severity);
+    return [issue];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/colon_missing_space.ts.html b/src/rules/colon_missing_space.ts.html new file mode 100644 index 00000000000..af542b0ca2b --- /dev/null +++ b/src/rules/colon_missing_space.ts.html @@ -0,0 +1,262 @@ + + + + + + Code coverage report for src/rules/colon_missing_space.ts + + + + + + + + + +
+
+

All files / src/rules colon_missing_space.ts

+
+ +
+ 100% + Statements + 60/60 +
+ + +
+ 100% + Branches + 11/11 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 60/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +601x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +2x +2x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +259x +259x +259x +259x +259x +5915x +5915x +5915x +5915x +5915x +2x +2x +2x +2x +2x +2x +5915x +259x +259x +259x +10423x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Position} from "../position";
+import {EditHelper} from "../edit_helper";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class ColonMissingSpaceConf extends BasicRuleConfig {
+}
+ 
+export class ColonMissingSpace extends ABAPRule {
+ 
+  private conf = new ColonMissingSpaceConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "colon_missing_space",
+      title: "Colon missing space",
+      shortDescription: `Checks for missing spaces after colons in chained statements.`,
+      tags: [RuleTag.Whitespace, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `WRITE:hello, world.`,
+      goodExample: `WRITE: hello, world.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Missing space after the colon";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ColonMissingSpaceConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const tokens = file.getTokens();
+ 
+    for (let i = 0; i < tokens.length; i++) {
+      const token = tokens[i];
+      if (token.getStr() === ":"
+          && tokens[i + 1] !== undefined
+          && tokens[i + 1].getRow() === token.getRow()
+          && tokens[i + 1].getCol() === token.getCol() + 1) {
+        const start = token.getStart();
+        const end = new Position(start.getRow(), start.getCol() + 1);
+        const fix = EditHelper.insertAt(file, end, " ");
+        const issue = Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/commented_code.ts.html b/src/rules/commented_code.ts.html new file mode 100644 index 00000000000..e80b3a6e9bc --- /dev/null +++ b/src/rules/commented_code.ts.html @@ -0,0 +1,436 @@ + + + + + + Code coverage report for src/rules/commented_code.ts + + + + + + + + + +
+
+

All files / src/rules commented_code.ts

+
+ +
+ 96.61% + Statements + 114/118 +
+ + +
+ 90.9% + Branches + 30/33 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 96.61% + Lines + 114/118 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +1181x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20846x +20846x +20846x +20846x +1x +10424x +10424x +10424x +10424x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +10424x +10424x +10x +10x +10424x +10424x +9920x +9920x +10424x +10424x +243x +243x +10424x +10424x +272x +272x +272x +272x +272x +272x +272x +272x +272x +1801x +41x +17x +17x +41x +41x +1801x +7x +7x +7x +1801x +272x +272x +15x +15x +272x +272x +272x +10424x +10424x +22x +22x +11x +11x +11x +11x +11x +11x +22x +  +  +11x +11x +22x +14x +14x +14x +14x +  +  +14x +14x +14x +10x +10x +10x +14x +22x +1x +1x +10x +10x +10x +10x +10x +10424x +10424x +1801x +1801x +1801x +10424x
import {Issue} from "../issue";
+import {Position} from "../position";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Unknown, Empty, Comment} from "../abap/2_statements/statements/_statement";
+import {ABAPObject} from "../objects/_abap_object";
+import {FunctionGroup} from "../objects";
+import {Include} from "../abap/2_statements/statements";
+import {ABAPParser} from "../abap/abap_parser";
+import {RuleTag, IRuleMetadata} from "./_irule";
+import {EditHelper} from "../edit_helper";
+import {ABAPFile} from "../abap/abap_file";
+import {MemoryFile} from "../files/memory_file";
+ 
+export class CommentedCodeConf extends BasicRuleConfig {
+  /** Allow INCLUDEs in function groups */
+  public allowIncludeInFugr: boolean = true;
+}
+ 
+export class CommentedCode extends ABAPRule {
+  private conf = new CommentedCodeConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "commented_code",
+      title: "Find commented code",
+      shortDescription: `Detects usage of commented out code.`,
+      extendedInformation:
+`https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#delete-code-instead-of-commenting-it
+https://docs.abapopenchecks.org/checks/14/`,
+      tags: [RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `* WRITE 'hello world'.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Commented code";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CommentedCodeConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    let issues: Issue[] = [];
+ 
+    const rows = file.getRawRows();
+ 
+    let code = "";
+    let posEnd: Position | undefined = undefined;
+    let posStart: Position | undefined = undefined;
+ 
+    for (let i = 0; i < rows.length; i++) {
+      if (this.isCommentLine(rows[i])) {
+        if (code === "") {
+          posStart = new Position(i + 1, 1);
+        }
+        code = code + rows[i].trim().substr(1) + "\n";
+        posEnd = new Position(i + 1, rows[i].length + 1);
+      } else if (code !== "" && posStart && posEnd) {
+        issues = issues.concat(this.check(code.trim(), file, posStart, posEnd, obj));
+        code = "";
+      }
+    }
+ 
+    if (posStart && posEnd) {
+      issues = issues.concat(this.check(code.trim(), file, posStart, posEnd, obj));
+    }
+ 
+    return issues;
+  }
+ 
+  private check(code: string, file: ABAPFile, posStart: Position, posEnd: Position, obj: ABAPObject): Issue[] {
+    // assumption: code must end with "." in order to be valid ABAP
+    if (code === "" || code.charAt(code.length - 1) !== ".") {
+      return [];
+    }
+ 
+    const commented = new MemoryFile("_foobar.prog.abap", code);
+    const abapFile = new ABAPParser().parse([commented]).output[0];
+    const statementNodes = abapFile.getStatements();
+    if (statementNodes.length === 0) {
+      return [];
+    }
+ 
+    let containsStatement: boolean = false;
+    for (const statementNode of statementNodes) {
+      const statement = statementNode.get();
+      if (this.getConfig().allowIncludeInFugr === true
+          && obj instanceof FunctionGroup
+          && statement instanceof Include) {
+        continue;
+      }
+      if (!(statement instanceof Unknown
+          || statement instanceof Empty
+          || statement instanceof Comment)) {
+        containsStatement = true;
+        break;
+      }
+    }
+    if (!containsStatement) {
+      return [];
+    }
+ 
+    const fix = EditHelper.deleteRange(file, posStart, posEnd);
+    const issue = Issue.atRange(file, posStart, posEnd, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+    return [issue];
+  }
+ 
+  private isCommentLine(text: string): boolean {
+    return (text.substr(0, 1) === "*")
+      || (text.trim().substr(0, 1) === "\"" && text.trim().substr(1, 1) !== "!");
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/constant_classes.ts.html b/src/rules/constant_classes.ts.html new file mode 100644 index 00000000000..4bea9c9b780 --- /dev/null +++ b/src/rules/constant_classes.ts.html @@ -0,0 +1,607 @@ + + + + + + Code coverage report for src/rules/constant_classes.ts + + + + + + + + + +
+
+

All files / src/rules constant_classes.ts

+
+ +
+ 91.42% + Statements + 160/175 +
+ + +
+ 90.69% + Branches + 39/43 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 91.42% + Lines + 160/175 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +1751x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20868x +20868x +20868x +20868x +1x +10434x +10434x +10434x +10434x +10434x +31112x +31112x +31112x +31112x +31112x +31112x +31112x +31112x +31112x +10434x +10434x +255x +255x +255x +10434x +10434x +9906x +9906x +10434x +10434x +255x +255x +10434x +10434x +321x +321x +321x +15x +15x +3x +3x +12x +15x +15x +1x +1x +1x +1x +1x +1x +1x +1x +11x +15x +  +  +11x +15x +  +  +  +  +11x +11x +11x +11x +11x +15x +  +  +  +  +  +  +  +  +  +11x +11x +11x +11x +15x +40x +40x +40x +2x +2x +2x +1x +1x +1x +1x +2x +2x +2x +38x +40x +4x +4x +4x +4x +4x +38x +40x +2x +2x +2x +2x +2x +38x +40x +1x +1x +1x +1x +1x +40x +11x +15x +44x +7x +7x +7x +7x +7x +7x +7x +7x +7x +44x +11x +15x +1x +1x +1x +1x +1x +1x +1x +1x +11x +11x +11x +306x +306x +306x +10434x +10434x +8x +8x +8x +8x +8x +8x +10434x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject, IRegistry, Objects, Visibility} from "..";
+import {InfoConstant} from "../abap/4_file_information/_abap_file_information";
+import {Class} from "../objects";
+ 
+export interface DomainClassMapping {
+  /** Domain name. The domain must have fixed values. */
+  domain: string,
+  /** Class name */
+  class: string,
+  /** Ensure the type of the constant is an exact match of the domain name. */
+  useExactType?: boolean,
+  /** Specify additional constant name containing the domain name (optional).
+   * A domain name constant is preferable to using a hardcoded value as the usage can be located by a where-used-list */
+  constantForDomainName?: string,
+}
+ 
+/** Checks that constants classes are in sync with domain fixed values */
+export class ConstantClassesConf extends BasicRuleConfig {
+  /** Specify a list of domain-class pairs which will be validated */
+  public mapping: DomainClassMapping[] = [];
+}
+ 
+export class ConstantClasses implements IRule {
+  private conf = new ConstantClassesConf();
+  private reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "constant_classes",
+      title: "Validate constant classes",
+      shortDescription: `Checks that a class contains exactly the constants corresponding to a domain's fixed values.`,
+      extendedInformation:
+        `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-enumeration-classes-to-constants-interfaces`,
+      tags: [RuleTag.Styleguide],
+    };
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ConstantClassesConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (this.conf
+      && this.conf.mapping
+      && obj instanceof Objects.Domain) {
+      const configEntry = this.conf.mapping.find(x => x.domain.toUpperCase() === obj.getName().toUpperCase());
+      if (!configEntry) {
+        return [];
+      }
+ 
+      const classWithConstants = this.reg.getObject("CLAS", configEntry?.class.toUpperCase()) as Class | undefined;
+      if (!classWithConstants) {
+        return [Issue.atIdentifier(
+          obj.getIdentifier()!,
+          `Constant class pattern implementation ${configEntry.class} missing for domain ${configEntry.domain}`,
+          this.getMetadata().key,
+          this.conf.severity)];
+ 
+        // quickfix will implement the whole class
+      }
+      const classContents = classWithConstants.getMainABAPFile();
+      if (classContents === undefined) {
+        return [];
+      }
+      const def = classWithConstants.getClassDefinition();
+      if (!def) {
+        // this issue is checked by rule implement_methods.
+        // we will not issue errors that all constants are missing until there is a class implementation
+        return [];
+      }
+ 
+      const domainValueInfo = obj.getFixedValues();
+      const domainValues = domainValueInfo.map(x => x.low);
+      const issues: Issue[] = [];
+ 
+      if (obj.getFixedValues().length === 0) {
+        // possibly this is not even a domain with fixed values
+        issues.push(
+          Issue.atStatement(
+            classContents,
+            classContents.getStatements()[0],
+            `Domain ${configEntry.domain} does not contain any fixed values. Either add some values or disable this check`,
+            this.getMetadata().key,
+            this.conf.severity));
+      }
+ 
+      // later we will raise an issue if we did not find it
+      let domainNameConstantFound = false;
+ 
+      for (const constant of def.constants) {
+ 
+        if (configEntry.constantForDomainName
+          && constant.name === configEntry.constantForDomainName) {
+          // we require the constant value to be uppercase just in case
+          // in the config it does not matter
+          if (constant.value !== configEntry.domain.toLocaleUpperCase()) {
+            issues.push(this.issueAtConstant(
+              constant,
+              `Constant value ${constant.value} must match domain name ${configEntry.domain} `));
+          }
+          domainNameConstantFound = true;
+          continue;
+        }
+ 
+        if (configEntry.useExactType && constant.typeName.toLowerCase() !== configEntry.domain.toLowerCase()) {
+          issues.push(this.issueAtConstant(
+            constant,
+            `Use exact type ${configEntry.domain} instead of ${constant.typeName}`));
+          // quickfix will change the type
+        }
+ 
+        if (constant.visibility !== Visibility.Public) {
+          issues.push(this.issueAtConstant(
+            constant,
+            `Constant ${constant.name} should be public`));
+          // quickfix will move constant
+        }
+ 
+        if (!domainValues.includes(constant.value)) {
+          issues.push(this.issueAtConstant(
+            constant,
+            `Extra constant ${constant.name} found which is not present in domain ${configEntry.domain}`));
+          // quickfix will remove constant
+        }
+      }
+ 
+      for (const d of domainValueInfo) {
+        if (!def.constants.find(c => c.value === d.low)) {
+          issues.push(
+            Issue.atStatement(
+              classContents,
+              classContents.getStatements()[0],
+              `Missing constant for ${d.low} (domain ${configEntry.domain})`,
+              this.getMetadata().key,
+              this.conf.severity));
+          // quickfix will add constant
+        }
+      }
+ 
+      if (configEntry.constantForDomainName && !domainNameConstantFound) {
+        issues.push(
+          Issue.atStatement(
+            classContents,
+            classContents.getStatements()[0],
+            `Missing constant ${configEntry.constantForDomainName} for name of domain ${configEntry.domain}`,
+            this.getMetadata().key,
+            this.conf.severity));
+      }
+      return issues;
+ 
+    }
+ 
+    return [];
+  }
+ 
+  private issueAtConstant(constant: InfoConstant, message: string): Issue {
+    return Issue.atIdentifier(
+      constant.identifier,
+      message,
+      this.getMetadata().key,
+      this.conf.severity);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/constructor_visibility_public.ts.html b/src/rules/constructor_visibility_public.ts.html new file mode 100644 index 00000000000..64cc8172121 --- /dev/null +++ b/src/rules/constructor_visibility_public.ts.html @@ -0,0 +1,286 @@ + + + + + + Code coverage report for src/rules/constructor_visibility_public.ts + + + + + + + + + +
+
+

All files / src/rules constructor_visibility_public.ts

+
+ +
+ 100% + Statements + 68/68 +
+ + +
+ 100% + Branches + 15/15 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 68/68 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +681x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10425x +10425x +1x +1x +10425x +10425x +9906x +9906x +10425x +10425x +246x +246x +10425x +10425x +243x +243x +10425x +10425x +312x +312x +312x +262x +262x +50x +50x +312x +3x +3x +47x +312x +18x +18x +1x +1x +1x +18x +47x +47x +47x +10425x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRule, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {Class} from "../objects";
+import {Visibility} from "../abap/4_file_information/visibility";
+import {IRegistry} from "../_iregistry";
+ 
+export class ConstructorVisibilityPublicConf extends BasicRuleConfig {
+}
+ 
+export class ConstructorVisibilityPublic implements IRule {
+  private conf = new ConstructorVisibilityPublicConf();
+ 
+  public getMetadata() {
+    return {
+      key: "constructor_visibility_public",
+      title: "Check constructor visibility is public",
+      shortDescription: `Constructor must be placed in the public section, even if the class is not CREATE PUBLIC.`,
+      extendedInformation:
+`
+This only applies to global classes.
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#if-your-global-class-is-create-private-leave-the-constructor-public
+https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abeninstance_constructor_guidl.htm`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Constructor visibility should be public";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public setConfig(conf: ConstructorVisibilityPublicConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (!(obj instanceof Class)) {
+      return [];
+    }
+ 
+    const def = obj.getClassDefinition();
+    if (def === undefined) {
+      return [];
+    }
+ 
+    for (const method of def.methods) {
+      if (method.name.toUpperCase() === "CONSTRUCTOR"
+          && method.visibility !== Visibility.Public) {
+        const issue = Issue.atIdentifier(method.identifier, this.getMessage(), this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/contains_tab.ts.html b/src/rules/contains_tab.ts.html new file mode 100644 index 00000000000..bdde29d1cc6 --- /dev/null +++ b/src/rules/contains_tab.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/rules/contains_tab.ts + + + + + + + + + +
+
+

All files / src/rules contains_tab.ts

+
+ +
+ 97.14% + Statements + 68/70 +
+ + +
+ 91.66% + Branches + 11/12 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 97.14% + Lines + 68/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +1x +1x +1x +1x +20846x +20846x +20846x +20846x +1x +10424x +10424x +10424x +10424x +10424x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +10424x +10424x +7x +7x +10424x +10424x +9913x +  +  +9913x +9913x +10424x +10424x +243x +243x +10424x +10424x +266x +266x +266x +266x +1755x +1755x +7x +7x +12x +12x +7x +7x +266x +266x +266x +10424x +10424x +7x +7x +7x +7x +7x +10424x
import {Issue} from "../issue";
+import {Position} from "../position";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {EditHelper} from "../edit_helper";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class ContainsTabConf extends BasicRuleConfig {
+  /** quick fix replace with number of spaces */
+  public spaces: number = 1;
+}
+ 
+export class ContainsTab extends ABAPRule {
+ 
+  private conf = new ContainsTabConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "contains_tab",
+      title: "Code contains tab",
+      shortDescription: `Checks for usage of tabs (enable to enforce spaces)`,
+      extendedInformation: `
+https://docs.abapopenchecks.org/checks/09/
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#indent-and-snap-to-tab`,
+      tags: [RuleTag.Whitespace, RuleTag.Quickfix, RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `\tWRITE 'hello world'.`,
+      goodExample: `  WRITE 'hello world'.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Code should not contain tabs";
+  }
+ 
+  public getConfig() {
+    if (this.conf.spaces === undefined) {
+      this.conf.spaces = 1;
+    }
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ContainsTabConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const lines = file.getRaw().split("\n");
+    lines.forEach((_, i) => {
+      const tabCol = lines[i].indexOf("\t");
+      if (tabCol >= 0) {
+        let tabAmount = 1;
+        while(lines[i].indexOf("\t", tabCol + tabAmount - 1) >= 0){
+          tabAmount++;
+        }
+        issues.push(this.createIssue(i, tabCol, tabAmount, file));
+      }
+    });
+    return issues;
+  }
+ 
+  private createIssue(line: number, tabCol: number, tabAmount: number, file: ABAPFile) {
+    const tabStartPos = new Position(line + 1, tabCol + 1);
+    const tabEndPos = new Position(line + 1, tabCol + tabAmount);
+    const fix = EditHelper.replaceRange(file, tabStartPos, tabEndPos, " ".repeat(this.getConfig().spaces));
+    return Issue.atRange(file, tabStartPos, tabEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/cyclic_oo.ts.html b/src/rules/cyclic_oo.ts.html new file mode 100644 index 00000000000..d326e91b335 --- /dev/null +++ b/src/rules/cyclic_oo.ts.html @@ -0,0 +1,604 @@ + + + + + + Code coverage report for src/rules/cyclic_oo.ts + + + + + + + + + +
+
+

All files / src/rules cyclic_oo.ts

+
+ +
+ 91.37% + Statements + 159/174 +
+ + +
+ 83.92% + Branches + 47/56 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 91.37% + Lines + 159/174 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +1741x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +1x +10426x +10426x +10426x +10426x +10426x +10426x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10426x +10426x +9906x +9906x +10426x +10426x +243x +243x +  +  +243x +10426x +10426x +247x +247x +247x +49x +  +  +49x +49x +  +49x +  +49x +  +  +49x +49x +2x +2x +47x +47x +247x +247x +25x +  +  +25x +25x +  +25x +  +  +25x +25x +1x +1x +24x +24x +247x +247x +10426x +10426x +313x +242x +242x +71x +71x +313x +3x +3x +68x +68x +68x +68x +313x +3x +3x +3x +65x +65x +65x +10426x +10426x +10426x +10426x +86x +65x +65x +21x +21x +21x +3x +3x +18x +18x +18x +18x +3x +3x +18x +21x +15x +15x +15x +10426x +10426x +315x +89x +89x +89x +41x +41x +48x +48x +48x +89x +1x +1x +47x +47x +89x +21x +18x +18x +21x +21x +18x +18x +18x +  +  +18x +18x +18x +21x +89x +315x +315x +244x +244x +315x +10426x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {Class, Interface} from "../objects";
+import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {BuiltIn} from "../abap/5_syntax/_builtin";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class CyclicOOConf extends BasicRuleConfig {
+  /** List of object names to skip, must be full upper case name
+   * @uniqueItems true
+  */
+  public skip: string[] = [];
+  /** Skips shared memory enabled classes */
+  public skipSharedMemory: boolean = true;
+  /** Skip testclass inclues */
+  public skipTestclasses: boolean = true;
+}
+ 
+export class CyclicOO implements IRule {
+  private conf = new CyclicOOConf();
+  private reg: IRegistry;
+  private edges: { [from: string]: string[] } = {};
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "cyclic_oo",
+      title: "Cyclic OO",
+      shortDescription: `Finds cyclic OO references`,
+      extendedInformation: `Runs for global INTF + CLAS objects
+ 
+Objects must be without syntax errors for this rule to take effect
+ 
+References in testclass includes are ignored`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CyclicOOConf) {
+    this.conf = conf;
+    if (this.conf.skip === undefined) {
+      this.conf.skip = [];
+    }
+  }
+ 
+  public initialize(reg: IRegistry): IRule {
+    this.reg = reg;
+    this.edges = {};
+    for (const obj of this.reg.getObjectsByType("CLAS")) {
+      if (this.reg.isDependency(obj)) {
+        continue;
+      }
+      const name = obj.getName().toUpperCase();
+      if (!(obj instanceof Class)) {
+        continue;
+      } else if (this.conf.skip.indexOf(name) >= 0) {
+        continue;
+      } else if (this.conf.skipSharedMemory === true && obj.getClassDefinition()?.isSharedMemory === true) {
+        continue;
+      }
+      const run = new SyntaxLogic(this.reg, obj).run();
+      if (run.issues.length > 0) {
+        continue;
+      }
+      this.buildEdges(name, run.spaghetti.getTop());
+    }
+ 
+    for (const obj of this.reg.getObjectsByType("INTF")) {
+      if (this.reg.isDependency(obj)) {
+        continue;
+      }
+      const name = obj.getName().toUpperCase();
+      if (!(obj instanceof ABAPObject)) {
+        continue;
+      } else if (this.conf.skip.indexOf(name) >= 0) {
+        continue;
+      }
+      const run = new SyntaxLogic(this.reg, obj).run();
+      if (run.issues.length > 0) {
+        continue;
+      }
+      this.buildEdges(name, run.spaghetti.getTop());
+    }
+    return this;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    if (!(obj instanceof Interface) && !(obj instanceof Class)) {
+      return [];
+    }
+ 
+    const id = obj.getIdentifier();
+    if (id === undefined) {
+      return [];
+    }
+ 
+    const previous: { [key: string]: boolean } = {};
+    previous[obj.getName()] = true;
+    const path = this.findCycle(obj.getName(), obj.getName(), previous);
+    if (path) {
+      const message = "Cyclic definition/usage: " + obj.getName() + " -> " + path;
+      return [Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity)];
+    }
+ 
+    return [];
+  }
+ 
+/////////////////////////////
+ 
+  private findCycle(source: string, current: string, previous: { [key: string]: boolean }): string | undefined {
+    if (this.edges[current] === undefined) {
+      return undefined;
+    }
+ 
+    for (const e of this.edges[current]) {
+      if (e === source) {
+        return e;
+      }
+      if (previous[e] === undefined) { // dont revisit vertices
+        previous[e] = true;
+        const found = this.findCycle(source, e, previous);
+        if (found) {
+          return e + " -> " + found;
+        }
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private buildEdges(from: string, node: ISpaghettiScopeNode): void {
+    for (const r of node.getData().references) {
+      if (r.resolved === undefined
+          || node.getIdentifier().filename === r.resolved.getFilename()
+          || r.resolved.getFilename() === BuiltIn.filename) {
+        continue;
+      }
+ 
+      if (this.conf.skipTestclasses === true
+          && ( r.position.getFilename().includes(".testclasses.")
+          || r.resolved.getFilename().includes(".testclasses.") ) ) {
+        continue;
+      }
+ 
+      if (r.referenceType === ReferenceType.ObjectOrientedReference
+          && r.extra?.ooName) {
+        if (this.edges[from] === undefined) {
+          this.edges[from] = [];
+        }
+        const name = r.extra.ooName.toUpperCase();
+        if (name !== from && this.edges[from].indexOf(name) < 0) {
+ 
+          const obj = this.reg.getObject("INTF", name) || this.reg.getObject("CLAS", name);
+          if (obj && this.reg.isDependency(obj)) {
+            continue;
+          }
+ 
+          this.edges[from].push(name);
+        }
+      }
+    }
+ 
+    for (const c of node.getChildren()) {
+      this.buildEdges(from, c);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/cyclomatic_complexity.ts.html b/src/rules/cyclomatic_complexity.ts.html new file mode 100644 index 00000000000..5dd8e770604 --- /dev/null +++ b/src/rules/cyclomatic_complexity.ts.html @@ -0,0 +1,247 @@ + + + + + + Code coverage report for src/rules/cyclomatic_complexity.ts + + + + + + + + + +
+
+

All files / src/rules cyclomatic_complexity.ts

+
+ +
+ 96.36% + Statements + 53/55 +
+ + +
+ 90% + Branches + 9/10 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 96.36% + Lines + 53/55 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +551x +1x +1x +1x +1x +1x +1x +20846x +20846x +20846x +1x +10424x +10424x +10424x +10424x +10424x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +  +  +243x +10424x +10424x +245x +245x +10424x +10424x +311x +311x +311x +311x +311x +47x +1x +1x +1x +1x +47x +311x +311x +10424x +10424x
import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IRegistry} from "../_iregistry";
+import {IObject} from "../objects/_iobject";
+import {CyclomaticComplexityStats} from "../utils/cyclomatic_complexity_stats";
+ 
+export class CyclomaticComplexityConf extends BasicRuleConfig {
+  public max: number = 20;
+}
+ 
+export class CyclomaticComplexity implements IRule {
+ 
+  private conf = new CyclomaticComplexityConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "cyclomatic_complexity",
+      title: "Cyclomatic Complexity",
+      shortDescription: `Cyclomatic complexity, only reported for methods`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: CyclomaticComplexityConf): void {
+    this.conf = conf;
+    if (this.conf.max === undefined) {
+      this.conf.max = new CyclomaticComplexityConf().max;
+    }
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    const stats = CyclomaticComplexityStats.run(obj);
+ 
+    for (const s of stats) {
+      if (s.count > this.conf.max) {
+        const message = "Max cyclomatic complexity reached, " + s.count + ", " + s.name;
+        const issue = Issue.atPosition(s.file, s.pos, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/dangerous_statement.ts.html b/src/rules/dangerous_statement.ts.html new file mode 100644 index 00000000000..3564b436c3a --- /dev/null +++ b/src/rules/dangerous_statement.ts.html @@ -0,0 +1,439 @@ + + + + + + Code coverage report for src/rules/dangerous_statement.ts + + + + + + + + + +
+
+

All files / src/rules dangerous_statement.ts

+
+ +
+ 93.22% + Statements + 110/118 +
+ + +
+ 80% + Branches + 28/35 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 93.22% + Lines + 110/118 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +1191x +1x +1x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +10423x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +10423x +10423x +7x +7x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +267x +267x +267x +1466x +1466x +1466x +1x +1466x +1x +1465x +1x +1464x +1x +1463x +  +1462x +  +1462x +  +1462x +  +1462x +  +1462x +  +1462x +  +  +1466x +1466x +4x +4x +1466x +1466x +1466x +1466x +3x +3x +1466x +1466x +267x +267x +267x +10423x +10423x +1466x +1466x +1466x +1466x +1466x +1466x +1466x +10x +10x +3x +3x +10x +1463x +1463x +10423x +10423x + 
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {StatementNode} from "../abap/nodes";
+ 
+export class DangerousStatementConf extends BasicRuleConfig {
+  /** Detects execSQL (dynamic SQL) */
+  public execSQL: boolean = true;
+  /** Detects kernel calls */
+  public kernelCall: boolean = true;
+  /** Detects SYSTEM-CALL */
+  public systemCall: boolean = true;
+  /** Detects INSERT REPORT */
+  public insertReport: boolean = true;
+  public generateDynpro: boolean = true;
+  public generateReport: boolean = true;
+  public generateSubroutine: boolean = true;
+  public deleteReport: boolean = true;
+  public deleteTextpool: boolean = true;
+  public deleteDynpro: boolean = true;
+  public exportDynpro: boolean = true;
+  /** Finds instances of dynamic SQL: SELECT, UPDATE, DELETE, INSERT, MODIFY */
+  public dynamicSQL: boolean = true;
+}
+ 
+export class DangerousStatement extends ABAPRule {
+ 
+  private conf = new DangerousStatementConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "dangerous_statement",
+      title: "Dangerous statement",
+      shortDescription: `Detects potentially dangerous statements`,
+      extendedInformation: `Dynamic SQL: Typically ABAP logic does not need dynamic SQL,
+dynamic SQL can potentially create SQL injection problems`,
+      tags: [RuleTag.SingleFile, RuleTag.Security],
+    };
+  }
+ 
+  private getDescription(statement: string): string {
+    return "Potential dangerous statement " + statement;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: DangerousStatementConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const statementNode of file.getStatements()) {
+      const statement = statementNode.get();
+      let message: string | undefined = undefined;
+      if (this.conf.execSQL && statement instanceof Statements.ExecSQL) {
+        message = "EXEC SQL";
+      } else if (this.conf.kernelCall && statement instanceof Statements.CallKernel) {
+        message = "KERNEL CALL";
+      } else if (this.conf.systemCall && statement instanceof Statements.SystemCall) {
+        message = "SYSTEM-CALL";
+      } else if (this.conf.insertReport && statement instanceof Statements.InsertReport) {
+        message = "INSERT REPORT";
+      } else if (this.conf.generateDynpro && statement instanceof Statements.GenerateDynpro) {
+        message = "GENERATE DYNPRO";
+      } else if (this.conf.generateReport && statement instanceof Statements.GenerateReport) {
+        message = "GENERATE REPORT";
+      } else if (this.conf.generateSubroutine && statement instanceof Statements.GenerateSubroutine) {
+        message = "GENERATE SUBROUTINE";
+      } else if (this.conf.deleteReport && statement instanceof Statements.DeleteReport) {
+        message = "DELETE REPORT";
+      } else if (this.conf.deleteTextpool && statement instanceof Statements.DeleteTextpool) {
+        message = "DELETE TEXTPOOL";
+      } else if (this.conf.deleteDynpro && statement instanceof Statements.DeleteDynpro) {
+        message = "DELETE DYNPRO";
+      } else if (this.conf.exportDynpro && statement instanceof Statements.ExportDynpro) {
+        message = "EXPORT DYNPRO";
+      }
+ 
+      if (message) {
+        issues.push(Issue.atStatement(file, statementNode, this.getDescription(message), this.getMetadata().key, this.conf.severity));
+      }
+ 
+      if (this.conf.dynamicSQL) {
+        message = this.findDynamicSQL(statementNode);
+        if (message) {
+          issues.push(Issue.atStatement(file, statementNode, this.getDescription(message), this.getMetadata().key, this.conf.severity));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private findDynamicSQL(statementNode: StatementNode): string | undefined {
+    const statement = statementNode.get();
+    if (statement instanceof Statements.UpdateDatabase
+        || statement instanceof Statements.Select
+        || statement instanceof Statements.SelectLoop
+        || statement instanceof Statements.InsertDatabase
+        || statement instanceof Statements.ModifyDatabase
+        || statement instanceof Statements.DeleteDatabase) {
+      const dyn = statementNode.findFirstExpression(Expressions.Dynamic);
+      if (dyn && dyn.findDirectExpression(Expressions.Constant) === undefined) {
+        return "Dynamic SQL";
+      }
+    }
+    return undefined;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/db_operation_in_loop.ts.html b/src/rules/db_operation_in_loop.ts.html new file mode 100644 index 00000000000..14ad8457db8 --- /dev/null +++ b/src/rules/db_operation_in_loop.ts.html @@ -0,0 +1,310 @@ + + + + + + Code coverage report for src/rules/db_operation_in_loop.ts + + + + + + + + + +
+
+

All files / src/rules db_operation_in_loop.ts

+
+ +
+ 100% + Statements + 76/76 +
+ + +
+ 100% + Branches + 15/15 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 76/76 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +761x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +258x +12x +12x +246x +246x +246x +246x +246x +258x +13x +13x +13x +13x +13x +12x +12x +13x +12x +12x +13x +11x +11x +13x +11x +11x +13x +11x +11x +13x +13x +2x +2x +2x +13x +246x +246x +246x +10423x +10423x
import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {StatementNode} from "../abap/nodes/statement_node";
+ 
+export class DbOperationInLoopConf extends BasicRuleConfig {
+}
+ 
+export class DbOperationInLoop extends ABAPRule {
+ 
+  private conf = new DbOperationInLoopConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "db_operation_in_loop",
+      title: "Database operation in loop",
+      shortDescription: `Database operation in LOOP/DO/WHILE`,
+      tags: [RuleTag.SingleFile, RuleTag.Performance],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: DbOperationInLoopConf): void {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return issues;
+    }
+ 
+    const loops = stru.findAllStructures(Structures.Loop);
+    loops.push(...stru.findAllStructures(Structures.Do));
+    loops.push(...stru.findAllStructures(Structures.While));
+ 
+    for (const l of loops) {
+      let found: StatementNode | undefined = undefined;
+      if (found === undefined) {
+        found = l.findFirstStatement(Statements.Select);
+      }
+      if (found === undefined) {
+        found = l.findFirstStatement(Statements.SelectLoop);
+      }
+      if (found === undefined) {
+        found = l.findFirstStatement(Statements.InsertDatabase);
+      }
+      if (found === undefined) {
+        found = l.findFirstStatement(Statements.DeleteDatabase);
+      }
+      if (found === undefined) {
+        found = l.findFirstStatement(Statements.UpdateDatabase);
+      }
+      if (found === undefined) {
+        found = l.findFirstStatement(Statements.ModifyDatabase);
+      }
+ 
+      if (found) {
+        const message = "Database operation in loop";
+        issues.push(Issue.atStatement(file, found, message, this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/definitions_top.ts.html b/src/rules/definitions_top.ts.html new file mode 100644 index 00000000000..d88f130246f --- /dev/null +++ b/src/rules/definitions_top.ts.html @@ -0,0 +1,646 @@ + + + + + + Code coverage report for src/rules/definitions_top.ts + + + + + + + + + +
+
+

All files / src/rules definitions_top.ts

+
+ +
+ 98.4% + Statements + 185/188 +
+ + +
+ 86.76% + Branches + 59/68 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 98.4% + Lines + 185/188 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +1881x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10428x +10428x +10428x +10428x +10428x +10428x +10428x +10428x +10428x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +10428x +10428x +17x +17x +10428x +10428x +9906x +9906x +10428x +10428x +243x +243x +10428x +10428x +282x +282x +282x +282x +13x +13x +269x +269x +282x +7x +7x +262x +262x +282x +102x +102x +102x +102x +102x +102x +102x +102x +17x +17x +102x +262x +262x +262x +10428x +10428x +10428x +10428x +406x +406x +406x +681x +681x +681x +366x +  +366x +1x +366x +53x +365x +48x +48x +366x +579x +579x +681x +315x +315x +681x +10x +3x +3x +3x +3x +3x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +3x +3x +10x +7x +7x +681x +569x +264x +264x +264x +264x +569x +39x +15x +15x +14x +14x +14x +14x +14x +14x +14x +39x +24x +24x +569x +1x +1x +530x +  +  +529x +101x +529x +304x +304x +55x +55x +304x +506x +506x +506x +333x +333x +333x +10428x +10428x +14x +14x +14x +14x +14x +14x +14x +14x +14x +10428x
import {Issue} from "../issue";
+import {Comment, Unknown} from "../abap/2_statements/statements/_statement";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper, IEdit} from "../edit_helper";
+import {StructureNode, StatementNode} from "../abap/nodes";
+import {Position} from "../position";
+ 
+export class DefinitionsTopConf extends BasicRuleConfig {
+}
+ 
+// todo, use enum instead?
+// const ANY = 1;
+const DEFINITION = 2;
+const AFTER = 3;
+const IGNORE = 4;
+ 
+export class DefinitionsTop extends ABAPRule {
+ 
+  private conf = new DefinitionsTopConf();
+ 
+  private mode: number;
+  private fixed: boolean;
+  private moveTo: Position | undefined;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "definitions_top",
+      title: "Place definitions in top of routine",
+      shortDescription: `Checks that definitions are placed at the beginning of METHODs, FORMs and FUNCTIONs.`,
+      extendedInformation: `https://docs.abapopenchecks.org/checks/17/`,
+      tags: [RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `FROM foo.
+  WRITE 'hello'.
+  DATA int TYPE i.
+ENDFORM.`,
+      goodExample: `FROM foo.
+  DATA int TYPE i.
+  WRITE 'hello'.
+ENDFORM.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Reorder definitions to top of routine";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: DefinitionsTopConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const structure = file.getStructure();
+    if (structure === undefined) {
+      return [];
+    }
+ 
+    const containsUnknown = file.getStatements().some(s => s.get() instanceof Unknown);
+    if (containsUnknown === true) {
+      return [];
+    }
+ 
+    const routines = structure.findAllStructuresMulti([Structures.Form, Structures.Method, Structures.FunctionModule]);
+    for (const r of routines) {
+      // one fix per routine
+      this.fixed = false;
+ 
+      this.mode = DEFINITION;
+      this.moveTo = r.getFirstStatement()?.getLastToken().getEnd();
+ 
+      const found = this.walk(r, file);
+      if (found) {
+        issues.push(found);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+//////////////////
+ 
+  private walk(r: StructureNode, file: ABAPFile): Issue | undefined {
+ 
+    let previous: StatementNode | StructureNode | undefined = undefined;
+    for (const c of r.getChildren()) {
+      const get = c.get();
+ 
+      if (c instanceof StatementNode) {
+        if (get instanceof Comment) {
+          continue;
+        } else if (get instanceof Statements.FunctionModule) {
+          continue;
+        } else if (get instanceof Statements.Form) {
+          continue;
+        } else if (get instanceof Statements.MethodImplementation) {
+          continue;
+        }
+      }
+ 
+      if (c instanceof StructureNode
+          && (get instanceof Structures.Data
+          || get instanceof Structures.Types
+          || get instanceof Structures.Constants
+          || get instanceof Structures.Statics)) {
+        if (this.mode === AFTER) {
+          // These are chained structured statements
+          let fix = undefined;
+          if (c.getLastChild()?.getLastChild()?.getFirstToken().getStr() === "."
+              && !(previous instanceof StructureNode)
+              && this.moveTo) {
+            // this is not perfect, but will work for now
+            const start = c.getFirstChild()?.getFirstChild()?.getFirstToken().getStart();
+            const end = c.getLastChild()?.getLastChild()?.getLastToken().getEnd();
+            if (start && end ) {
+              let concat = c.concatTokens();
+              concat = concat.replace(/,/g, ".\n");
+              const fix1 = EditHelper.deleteRange(file, start, end);
+              const fix2 = EditHelper.insertAt(file, this.moveTo, "\n" + concat);
+              fix = EditHelper.merge(fix1, fix2);
+            }
+          }
+          // no quick fixes for these, its difficult?
+          return Issue.atStatement(file, c.getFirstStatement()!, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+        } else {
+          this.moveTo = c.getLastToken().getEnd();
+        }
+      } else if (c instanceof StatementNode
+          && (get instanceof Statements.Data
+          || get instanceof Statements.Type
+          || get instanceof Statements.Constant
+          || (get instanceof Statements.Move && c.concatTokens().toUpperCase().startsWith("DATA("))
+          || get instanceof Statements.Static
+          || get instanceof Statements.FieldSymbol)) {
+        if (this.mode === AFTER) {
+          // only one fix per routine, as it reorders a lot
+          if (!(get instanceof Statements.Move && c.concatTokens().toUpperCase().startsWith("DATA("))) {
+            let fix = undefined;
+            if (this.fixed === false && this.moveTo) {
+              fix = this.buildFix(file, c, this.moveTo);
+              this.fixed = true;
+            }
+            return Issue.atStatement(file, c, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+          }
+        } else {
+          this.moveTo = c.getLastToken().getEnd();
+        }
+      } else if (c instanceof StructureNode && get instanceof Structures.Define) {
+        this.mode = IGNORE;
+        return undefined;
+      } else if (c instanceof StatementNode && get instanceof Unknown) {
+        this.mode = IGNORE;
+        return undefined;
+      } else if (c instanceof StatementNode && this.mode === DEFINITION) {
+        this.mode = AFTER;
+      } else if (c instanceof StructureNode) {
+        const found = this.walk(c, file);
+        if (found) {
+          return found;
+        }
+      }
+ 
+      previous = c;
+    }
+ 
+    return undefined;
+  }
+ 
+  private buildFix(file: ABAPFile, statement: StatementNode, at: Position): IEdit {
+    let concat = statement.concatTokens();
+    concat = concat.replace(/,$/, ".");
+ 
+    const fix1 = EditHelper.deleteStatement(file, statement);
+    const indentation = " ".repeat(statement.getFirstToken().getCol() - 1);
+    const fix2 = EditHelper.insertAt(file, at, "\n" + indentation + concat);
+ 
+    return EditHelper.merge(fix1, fix2);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/description_empty.ts.html b/src/rules/description_empty.ts.html new file mode 100644 index 00000000000..63afc41e9cd --- /dev/null +++ b/src/rules/description_empty.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/rules/description_empty.ts + + + + + + + + + +
+
+

All files / src/rules description_empty.ts

+
+ +
+ 100% + Statements + 63/63 +
+ + +
+ 100% + Branches + 13/13 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 63/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +631x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +10425x +31157x +31157x +31157x +31157x +31157x +31157x +10425x +10425x +62x +62x +10425x +10425x +9906x +9906x +10425x +10425x +243x +243x +10425x +10425x +246x +246x +10425x +10425x +312x +312x +312x +71x +71x +71x +1x +71x +61x +61x +71x +62x +62x +62x +62x +71x +312x +312x +312x +10425x +10425x
import {Issue} from "../issue";
+import {IRule} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {Class, Interface} from "../objects";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Position} from "../position";
+ 
+// standard class CL_OO_CLASS assumes classes have descriptions
+ 
+export class DescriptionEmptyConf extends BasicRuleConfig {
+}
+ 
+export class DescriptionEmpty implements IRule {
+ 
+  private conf = new DescriptionEmptyConf();
+ 
+  public getMetadata() {
+    return {
+      key: "description_empty",
+      title: "Description in class must exist",
+      shortDescription: `Ensures descriptions in class metadata exist.`,
+    };
+  }
+ 
+  private getDescription(name: string): string {
+    return "Description empty in " + name;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: DescriptionEmptyConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (obj instanceof Class || obj instanceof Interface) {
+      const description = obj.getDescription();
+      let message: string | undefined = undefined;
+      if (description === "") {
+        message = this.getDescription(obj.getName());
+      } else if (description === undefined) {
+        message = this.getDescription(obj.getName() + ", class XML file not found") ;
+      }
+      if (message) {
+        const position = new Position(1, 1);
+        const issue = Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/double_space.ts.html b/src/rules/double_space.ts.html new file mode 100644 index 00000000000..6fabb2940d4 --- /dev/null +++ b/src/rules/double_space.ts.html @@ -0,0 +1,709 @@ + + + + + + Code coverage report for src/rules/double_space.ts + + + + + + + + + +
+
+

All files / src/rules double_space.ts

+
+ +
+ 98.08% + Statements + 205/209 +
+ + +
+ 96.96% + Branches + 64/66 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 98.08% + Lines + 205/209 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +2091x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +1x +10425x +10425x +10425x +10425x +10425x +31115x +31115x +31115x +31115x +31115x +31115x +31115x +31115x +31115x +10425x +10425x +17x +17x +10425x +10425x +21669x +21669x +10425x +10425x +244x +244x +  +  +244x +10425x +10425x +294x +294x +294x +1500x +1500x +1500x +1500x +1500x +1500x +1500x +1431x +1431x +1500x +1500x +1500x +294x +294x +294x +294x +294x +10425x +10425x +294x +294x +294x +294x +  +  +294x +294x +1437x +1437x +1314x +1437x +72x +72x +51x +51x +51x +1437x +106x +10x +106x +55x +55x +41x +106x +2x +2x +2x +2x +2x +41x +41x +41x +41x +284x +284x +284x +10425x +10425x +1500x +1500x +1500x +1500x +6217x +1500x +1500x +1500x +4717x +4717x +4717x +6217x +6217x +6217x +5x +5x +5x +5x +5x +5x +5x +4717x +4717x +4717x +6217x +6217x +6217x +4x +4x +4x +4x +3x +3x +4x +4717x +4717x +4717x +1500x +1500x +1500x +10425x +10425x +9x +9x +1x +1x +1x +1x +9x +9x +10425x +10425x +1431x +1431x +1431x +1431x +160x +160x +160x +1271x +1431x +4790x +1271x +1271x +1271x +3519x +3519x +3519x +4790x +4790x +4790x +1195x +1195x +1195x +1195x +2324x +2324x +4790x +7x +7x +7x +7x +7x +7x +2317x +2317x +2317x +1264x +1264x +10425x +10425x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {ParenLeftW, Comment, WParenRightW, WParenRight} from "../abap/1_lexer/tokens";
+import {TokenNode, StatementNode, TokenNodeRegex} from "../abap/nodes";
+import {Unknown, MacroContent, MacroCall} from "../abap/2_statements/statements/_statement";
+import {Events, MethodDef} from "../abap/2_statements/statements";
+import {Position} from "../position";
+import {EditHelper} from "../edit_helper";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class DoubleSpaceConf extends BasicRuleConfig {
+  /** Check for double space after keywords */
+  public keywords: boolean = true;
+  /** list of keywords to skip, case insensitive */
+  public skipKeywords?: string[] = ["CHANGING", "EXPORTING", "OTHERS"];
+  /** Check for double space after start parenthesis */
+  public startParen: boolean = true;
+  /** Check for double space before end parenthesis */
+  public endParen: boolean = true;
+  /** Check for double space after colon/chaining operator */
+  public afterColon: boolean = true;
+}
+ 
+export class DoubleSpace extends ABAPRule {
+ 
+  private conf = new DoubleSpaceConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "double_space",
+      title: "Double space",
+      shortDescription: `Checks that only a single space follows certain common statements.`,
+      tags: [RuleTag.Whitespace, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `DATA  foo TYPE i.`,
+      goodExample: `DATA foo TYPE i.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Remove double space";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: DoubleSpaceConf) {
+    this.conf = conf;
+    if (this.conf.skipKeywords === undefined) {
+      this.conf.skipKeywords = new DoubleSpaceConf().skipKeywords;
+    }
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    let issues: Issue[] = [];
+ 
+    for (const s of file.getStatements()) {
+ 
+      if (this.conf.keywords === true
+          && !(s.get() instanceof Unknown)
+          && !(s.get() instanceof MethodDef)
+          && !(s.get() instanceof MacroCall)
+          && !(s.get() instanceof Events)
+          && !(s.get() instanceof MacroContent)) {
+        issues = issues.concat(this.checkKeywords(s, file));
+      }
+ 
+      issues = issues.concat(this.checkParen(s, file));
+    }
+ 
+    issues = issues.concat(this.checkAfterColon(file));
+ 
+    return issues;
+  }
+ 
+  private checkAfterColon(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+    let cPosition: Position | undefined = undefined;
+ 
+    if (this.conf.afterColon !== true) {
+      return [];
+    }
+ 
+    for (const s of file.getStatements()) {
+      const colon = s.getColon();
+      if (colon === undefined) {
+        continue;
+      } else if (cPosition !== undefined && cPosition.getCol() === colon.getCol()) {
+        continue;
+      }
+ 
+      cPosition = colon.getStart();
+ 
+      for (const t of s.getTokens()) {
+        if (t.getRow() !== cPosition.getRow()) {
+          return [];
+        } else if (t.getCol() < cPosition.getCol()) {
+          continue;
+        }
+ 
+        if (t.getCol() > cPosition.getCol() + 2) {
+          const issueStartPos = new Position(cPosition.getRow(), cPosition.getCol() + 2);
+          const issueEndPos = new Position(t.getRow(), t.getCol());
+          const fix = EditHelper.deleteRange(file, issueStartPos, issueEndPos);
+          issues.push(Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));
+        }
+ 
+        break;
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private checkParen(s: StatementNode, file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+ 
+    let prev: AbstractToken | undefined = undefined;
+    for (const t of s.getTokens()) {
+      if (prev === undefined) {
+        prev = t;
+        continue;
+      }
+ 
+      if (this.getConfig().startParen === true
+          && prev.getRow() === t.getRow()
+          && prev instanceof ParenLeftW
+          && !(t instanceof Comment)
+          && prev.getEnd().getCol() + 1 < t.getCol()) {
+        const issueStartPos = new Position(prev.getRow(), prev.getCol() + 2);
+        const issueEndPos = new Position(t.getRow(), t.getCol());
+        const fix = EditHelper.deleteRange(file, issueStartPos, issueEndPos);
+        if (this.pragmaInRange(s.getPragmas(), issueStartPos, issueEndPos) === false) {
+          issues.push(Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));
+        }
+      }
+ 
+      if (this.getConfig().endParen === true
+          && prev.getRow() === t.getRow()
+          && !(prev instanceof ParenLeftW)
+          && (t instanceof WParenRightW || t instanceof WParenRight)
+          && prev.getEnd().getCol() + 1 < t.getCol()) {
+        const issueStartPos = new Position(prev.getEnd().getRow(), prev.getEnd().getCol() + 1);
+        const issueEndPos = new Position(t.getRow(), t.getCol());
+        const fix = EditHelper.deleteRange(file, issueStartPos, issueEndPos);
+        if (this.pragmaInRange(s.getPragmas(), issueStartPos, issueEndPos) === false) {
+          issues.push(Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));
+        }
+      }
+ 
+      prev = t;
+    }
+ 
+    return issues;
+  }
+ 
+  private pragmaInRange(pragmas: readonly AbstractToken[], start: Position, end: Position): boolean {
+    let ret = false;
+    for (const p of pragmas) {
+      if (p.getStart().isBetween(start, end)) {
+        ret = true;
+      }
+    }
+    return ret;
+  }
+ 
+  private checkKeywords(s: StatementNode, file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+    let prev: TokenNode | undefined = undefined;
+ 
+    if (s.getColon() !== undefined || s.getPragmas().length > 0) {
+      // for chained statments just give up
+      return [];
+    }
+ 
+    for (const n of s.getTokenNodes()) {
+      if (prev === undefined) {
+        prev = n;
+        continue;
+      }
+ 
+      const upper = prev.get().getStr().toUpperCase();
+      if (prev instanceof TokenNodeRegex
+          || upper === "("
+          || upper === ")"
+          || this.getConfig().skipKeywords!.some(e => e.toUpperCase() === upper)) {
+        // not a keyword, continue
+        prev = n;
+        continue;
+      }
+ 
+      if (prev.get().getStart().getRow() === n.get().getStart().getRow()
+          && prev.get().getEnd().getCol() + 1 < n.get().getStart().getCol()) {
+        const issueStartPos = new Position(prev.get().getEnd().getRow(), prev.get().getEnd().getCol() + 1 );
+        const issueEndPos = new Position(n.get().getRow(), n.get().getCol());
+        const fix = EditHelper.deleteRange(file, issueStartPos, issueEndPos);
+        issues.push(Issue.atRange( file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));
+        return issues;
+      }
+ 
+      prev = n;
+    }
+    return [];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/downport.ts.html b/src/rules/downport.ts.html new file mode 100644 index 00000000000..8fa0fe95322 --- /dev/null +++ b/src/rules/downport.ts.html @@ -0,0 +1,10039 @@ + + + + + + Code coverage report for src/rules/downport.ts + + + + + + + + + +
+
+

All files / src/rules downport.ts

+
+ +
+ 92.16% + Statements + 3058/3318 +
+ + +
+ 79.39% + Branches + 1110/1398 +
+ + +
+ 100% + Functions + 79/79 +
+ + +
+ 92.16% + Lines + 3058/3318 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1407 +1408 +1409 +1410 +1411 +1412 +1413 +1414 +1415 +1416 +1417 +1418 +1419 +1420 +1421 +1422 +1423 +1424 +1425 +1426 +1427 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1449 +1450 +1451 +1452 +1453 +1454 +1455 +1456 +1457 +1458 +1459 +1460 +1461 +1462 +1463 +1464 +1465 +1466 +1467 +1468 +1469 +1470 +1471 +1472 +1473 +1474 +1475 +1476 +1477 +1478 +1479 +1480 +1481 +1482 +1483 +1484 +1485 +1486 +1487 +1488 +1489 +1490 +1491 +1492 +1493 +1494 +1495 +1496 +1497 +1498 +1499 +1500 +1501 +1502 +1503 +1504 +1505 +1506 +1507 +1508 +1509 +1510 +1511 +1512 +1513 +1514 +1515 +1516 +1517 +1518 +1519 +1520 +1521 +1522 +1523 +1524 +1525 +1526 +1527 +1528 +1529 +1530 +1531 +1532 +1533 +1534 +1535 +1536 +1537 +1538 +1539 +1540 +1541 +1542 +1543 +1544 +1545 +1546 +1547 +1548 +1549 +1550 +1551 +1552 +1553 +1554 +1555 +1556 +1557 +1558 +1559 +1560 +1561 +1562 +1563 +1564 +1565 +1566 +1567 +1568 +1569 +1570 +1571 +1572 +1573 +1574 +1575 +1576 +1577 +1578 +1579 +1580 +1581 +1582 +1583 +1584 +1585 +1586 +1587 +1588 +1589 +1590 +1591 +1592 +1593 +1594 +1595 +1596 +1597 +1598 +1599 +1600 +1601 +1602 +1603 +1604 +1605 +1606 +1607 +1608 +1609 +1610 +1611 +1612 +1613 +1614 +1615 +1616 +1617 +1618 +1619 +1620 +1621 +1622 +1623 +1624 +1625 +1626 +1627 +1628 +1629 +1630 +1631 +1632 +1633 +1634 +1635 +1636 +1637 +1638 +1639 +1640 +1641 +1642 +1643 +1644 +1645 +1646 +1647 +1648 +1649 +1650 +1651 +1652 +1653 +1654 +1655 +1656 +1657 +1658 +1659 +1660 +1661 +1662 +1663 +1664 +1665 +1666 +1667 +1668 +1669 +1670 +1671 +1672 +1673 +1674 +1675 +1676 +1677 +1678 +1679 +1680 +1681 +1682 +1683 +1684 +1685 +1686 +1687 +1688 +1689 +1690 +1691 +1692 +1693 +1694 +1695 +1696 +1697 +1698 +1699 +1700 +1701 +1702 +1703 +1704 +1705 +1706 +1707 +1708 +1709 +1710 +1711 +1712 +1713 +1714 +1715 +1716 +1717 +1718 +1719 +1720 +1721 +1722 +1723 +1724 +1725 +1726 +1727 +1728 +1729 +1730 +1731 +1732 +1733 +1734 +1735 +1736 +1737 +1738 +1739 +1740 +1741 +1742 +1743 +1744 +1745 +1746 +1747 +1748 +1749 +1750 +1751 +1752 +1753 +1754 +1755 +1756 +1757 +1758 +1759 +1760 +1761 +1762 +1763 +1764 +1765 +1766 +1767 +1768 +1769 +1770 +1771 +1772 +1773 +1774 +1775 +1776 +1777 +1778 +1779 +1780 +1781 +1782 +1783 +1784 +1785 +1786 +1787 +1788 +1789 +1790 +1791 +1792 +1793 +1794 +1795 +1796 +1797 +1798 +1799 +1800 +1801 +1802 +1803 +1804 +1805 +1806 +1807 +1808 +1809 +1810 +1811 +1812 +1813 +1814 +1815 +1816 +1817 +1818 +1819 +1820 +1821 +1822 +1823 +1824 +1825 +1826 +1827 +1828 +1829 +1830 +1831 +1832 +1833 +1834 +1835 +1836 +1837 +1838 +1839 +1840 +1841 +1842 +1843 +1844 +1845 +1846 +1847 +1848 +1849 +1850 +1851 +1852 +1853 +1854 +1855 +1856 +1857 +1858 +1859 +1860 +1861 +1862 +1863 +1864 +1865 +1866 +1867 +1868 +1869 +1870 +1871 +1872 +1873 +1874 +1875 +1876 +1877 +1878 +1879 +1880 +1881 +1882 +1883 +1884 +1885 +1886 +1887 +1888 +1889 +1890 +1891 +1892 +1893 +1894 +1895 +1896 +1897 +1898 +1899 +1900 +1901 +1902 +1903 +1904 +1905 +1906 +1907 +1908 +1909 +1910 +1911 +1912 +1913 +1914 +1915 +1916 +1917 +1918 +1919 +1920 +1921 +1922 +1923 +1924 +1925 +1926 +1927 +1928 +1929 +1930 +1931 +1932 +1933 +1934 +1935 +1936 +1937 +1938 +1939 +1940 +1941 +1942 +1943 +1944 +1945 +1946 +1947 +1948 +1949 +1950 +1951 +1952 +1953 +1954 +1955 +1956 +1957 +1958 +1959 +1960 +1961 +1962 +1963 +1964 +1965 +1966 +1967 +1968 +1969 +1970 +1971 +1972 +1973 +1974 +1975 +1976 +1977 +1978 +1979 +1980 +1981 +1982 +1983 +1984 +1985 +1986 +1987 +1988 +1989 +1990 +1991 +1992 +1993 +1994 +1995 +1996 +1997 +1998 +1999 +2000 +2001 +2002 +2003 +2004 +2005 +2006 +2007 +2008 +2009 +2010 +2011 +2012 +2013 +2014 +2015 +2016 +2017 +2018 +2019 +2020 +2021 +2022 +2023 +2024 +2025 +2026 +2027 +2028 +2029 +2030 +2031 +2032 +2033 +2034 +2035 +2036 +2037 +2038 +2039 +2040 +2041 +2042 +2043 +2044 +2045 +2046 +2047 +2048 +2049 +2050 +2051 +2052 +2053 +2054 +2055 +2056 +2057 +2058 +2059 +2060 +2061 +2062 +2063 +2064 +2065 +2066 +2067 +2068 +2069 +2070 +2071 +2072 +2073 +2074 +2075 +2076 +2077 +2078 +2079 +2080 +2081 +2082 +2083 +2084 +2085 +2086 +2087 +2088 +2089 +2090 +2091 +2092 +2093 +2094 +2095 +2096 +2097 +2098 +2099 +2100 +2101 +2102 +2103 +2104 +2105 +2106 +2107 +2108 +2109 +2110 +2111 +2112 +2113 +2114 +2115 +2116 +2117 +2118 +2119 +2120 +2121 +2122 +2123 +2124 +2125 +2126 +2127 +2128 +2129 +2130 +2131 +2132 +2133 +2134 +2135 +2136 +2137 +2138 +2139 +2140 +2141 +2142 +2143 +2144 +2145 +2146 +2147 +2148 +2149 +2150 +2151 +2152 +2153 +2154 +2155 +2156 +2157 +2158 +2159 +2160 +2161 +2162 +2163 +2164 +2165 +2166 +2167 +2168 +2169 +2170 +2171 +2172 +2173 +2174 +2175 +2176 +2177 +2178 +2179 +2180 +2181 +2182 +2183 +2184 +2185 +2186 +2187 +2188 +2189 +2190 +2191 +2192 +2193 +2194 +2195 +2196 +2197 +2198 +2199 +2200 +2201 +2202 +2203 +2204 +2205 +2206 +2207 +2208 +2209 +2210 +2211 +2212 +2213 +2214 +2215 +2216 +2217 +2218 +2219 +2220 +2221 +2222 +2223 +2224 +2225 +2226 +2227 +2228 +2229 +2230 +2231 +2232 +2233 +2234 +2235 +2236 +2237 +2238 +2239 +2240 +2241 +2242 +2243 +2244 +2245 +2246 +2247 +2248 +2249 +2250 +2251 +2252 +2253 +2254 +2255 +2256 +2257 +2258 +2259 +2260 +2261 +2262 +2263 +2264 +2265 +2266 +2267 +2268 +2269 +2270 +2271 +2272 +2273 +2274 +2275 +2276 +2277 +2278 +2279 +2280 +2281 +2282 +2283 +2284 +2285 +2286 +2287 +2288 +2289 +2290 +2291 +2292 +2293 +2294 +2295 +2296 +2297 +2298 +2299 +2300 +2301 +2302 +2303 +2304 +2305 +2306 +2307 +2308 +2309 +2310 +2311 +2312 +2313 +2314 +2315 +2316 +2317 +2318 +2319 +2320 +2321 +2322 +2323 +2324 +2325 +2326 +2327 +2328 +2329 +2330 +2331 +2332 +2333 +2334 +2335 +2336 +2337 +2338 +2339 +2340 +2341 +2342 +2343 +2344 +2345 +2346 +2347 +2348 +2349 +2350 +2351 +2352 +2353 +2354 +2355 +2356 +2357 +2358 +2359 +2360 +2361 +2362 +2363 +2364 +2365 +2366 +2367 +2368 +2369 +2370 +2371 +2372 +2373 +2374 +2375 +2376 +2377 +2378 +2379 +2380 +2381 +2382 +2383 +2384 +2385 +2386 +2387 +2388 +2389 +2390 +2391 +2392 +2393 +2394 +2395 +2396 +2397 +2398 +2399 +2400 +2401 +2402 +2403 +2404 +2405 +2406 +2407 +2408 +2409 +2410 +2411 +2412 +2413 +2414 +2415 +2416 +2417 +2418 +2419 +2420 +2421 +2422 +2423 +2424 +2425 +2426 +2427 +2428 +2429 +2430 +2431 +2432 +2433 +2434 +2435 +2436 +2437 +2438 +2439 +2440 +2441 +2442 +2443 +2444 +2445 +2446 +2447 +2448 +2449 +2450 +2451 +2452 +2453 +2454 +2455 +2456 +2457 +2458 +2459 +2460 +2461 +2462 +2463 +2464 +2465 +2466 +2467 +2468 +2469 +2470 +2471 +2472 +2473 +2474 +2475 +2476 +2477 +2478 +2479 +2480 +2481 +2482 +2483 +2484 +2485 +2486 +2487 +2488 +2489 +2490 +2491 +2492 +2493 +2494 +2495 +2496 +2497 +2498 +2499 +2500 +2501 +2502 +2503 +2504 +2505 +2506 +2507 +2508 +2509 +2510 +2511 +2512 +2513 +2514 +2515 +2516 +2517 +2518 +2519 +2520 +2521 +2522 +2523 +2524 +2525 +2526 +2527 +2528 +2529 +2530 +2531 +2532 +2533 +2534 +2535 +2536 +2537 +2538 +2539 +2540 +2541 +2542 +2543 +2544 +2545 +2546 +2547 +2548 +2549 +2550 +2551 +2552 +2553 +2554 +2555 +2556 +2557 +2558 +2559 +2560 +2561 +2562 +2563 +2564 +2565 +2566 +2567 +2568 +2569 +2570 +2571 +2572 +2573 +2574 +2575 +2576 +2577 +2578 +2579 +2580 +2581 +2582 +2583 +2584 +2585 +2586 +2587 +2588 +2589 +2590 +2591 +2592 +2593 +2594 +2595 +2596 +2597 +2598 +2599 +2600 +2601 +2602 +2603 +2604 +2605 +2606 +2607 +2608 +2609 +2610 +2611 +2612 +2613 +2614 +2615 +2616 +2617 +2618 +2619 +2620 +2621 +2622 +2623 +2624 +2625 +2626 +2627 +2628 +2629 +2630 +2631 +2632 +2633 +2634 +2635 +2636 +2637 +2638 +2639 +2640 +2641 +2642 +2643 +2644 +2645 +2646 +2647 +2648 +2649 +2650 +2651 +2652 +2653 +2654 +2655 +2656 +2657 +2658 +2659 +2660 +2661 +2662 +2663 +2664 +2665 +2666 +2667 +2668 +2669 +2670 +2671 +2672 +2673 +2674 +2675 +2676 +2677 +2678 +2679 +2680 +2681 +2682 +2683 +2684 +2685 +2686 +2687 +2688 +2689 +2690 +2691 +2692 +2693 +2694 +2695 +2696 +2697 +2698 +2699 +2700 +2701 +2702 +2703 +2704 +2705 +2706 +2707 +2708 +2709 +2710 +2711 +2712 +2713 +2714 +2715 +2716 +2717 +2718 +2719 +2720 +2721 +2722 +2723 +2724 +2725 +2726 +2727 +2728 +2729 +2730 +2731 +2732 +2733 +2734 +2735 +2736 +2737 +2738 +2739 +2740 +2741 +2742 +2743 +2744 +2745 +2746 +2747 +2748 +2749 +2750 +2751 +2752 +2753 +2754 +2755 +2756 +2757 +2758 +2759 +2760 +2761 +2762 +2763 +2764 +2765 +2766 +2767 +2768 +2769 +2770 +2771 +2772 +2773 +2774 +2775 +2776 +2777 +2778 +2779 +2780 +2781 +2782 +2783 +2784 +2785 +2786 +2787 +2788 +2789 +2790 +2791 +2792 +2793 +2794 +2795 +2796 +2797 +2798 +2799 +2800 +2801 +2802 +2803 +2804 +2805 +2806 +2807 +2808 +2809 +2810 +2811 +2812 +2813 +2814 +2815 +2816 +2817 +2818 +2819 +2820 +2821 +2822 +2823 +2824 +2825 +2826 +2827 +2828 +2829 +2830 +2831 +2832 +2833 +2834 +2835 +2836 +2837 +2838 +2839 +2840 +2841 +2842 +2843 +2844 +2845 +2846 +2847 +2848 +2849 +2850 +2851 +2852 +2853 +2854 +2855 +2856 +2857 +2858 +2859 +2860 +2861 +2862 +2863 +2864 +2865 +2866 +2867 +2868 +2869 +2870 +2871 +2872 +2873 +2874 +2875 +2876 +2877 +2878 +2879 +2880 +2881 +2882 +2883 +2884 +2885 +2886 +2887 +2888 +2889 +2890 +2891 +2892 +2893 +2894 +2895 +2896 +2897 +2898 +2899 +2900 +2901 +2902 +2903 +2904 +2905 +2906 +2907 +2908 +2909 +2910 +2911 +2912 +2913 +2914 +2915 +2916 +2917 +2918 +2919 +2920 +2921 +2922 +2923 +2924 +2925 +2926 +2927 +2928 +2929 +2930 +2931 +2932 +2933 +2934 +2935 +2936 +2937 +2938 +2939 +2940 +2941 +2942 +2943 +2944 +2945 +2946 +2947 +2948 +2949 +2950 +2951 +2952 +2953 +2954 +2955 +2956 +2957 +2958 +2959 +2960 +2961 +2962 +2963 +2964 +2965 +2966 +2967 +2968 +2969 +2970 +2971 +2972 +2973 +2974 +2975 +2976 +2977 +2978 +2979 +2980 +2981 +2982 +2983 +2984 +2985 +2986 +2987 +2988 +2989 +2990 +2991 +2992 +2993 +2994 +2995 +2996 +2997 +2998 +2999 +3000 +3001 +3002 +3003 +3004 +3005 +3006 +3007 +3008 +3009 +3010 +3011 +3012 +3013 +3014 +3015 +3016 +3017 +3018 +3019 +3020 +3021 +3022 +3023 +3024 +3025 +3026 +3027 +3028 +3029 +3030 +3031 +3032 +3033 +3034 +3035 +3036 +3037 +3038 +3039 +3040 +3041 +3042 +3043 +3044 +3045 +3046 +3047 +3048 +3049 +3050 +3051 +3052 +3053 +3054 +3055 +3056 +3057 +3058 +3059 +3060 +3061 +3062 +3063 +3064 +3065 +3066 +3067 +3068 +3069 +3070 +3071 +3072 +3073 +3074 +3075 +3076 +3077 +3078 +3079 +3080 +3081 +3082 +3083 +3084 +3085 +3086 +3087 +3088 +3089 +3090 +3091 +3092 +3093 +3094 +3095 +3096 +3097 +3098 +3099 +3100 +3101 +3102 +3103 +3104 +3105 +3106 +3107 +3108 +3109 +3110 +3111 +3112 +3113 +3114 +3115 +3116 +3117 +3118 +3119 +3120 +3121 +3122 +3123 +3124 +3125 +3126 +3127 +3128 +3129 +3130 +3131 +3132 +3133 +3134 +3135 +3136 +3137 +3138 +3139 +3140 +3141 +3142 +3143 +3144 +3145 +3146 +3147 +3148 +3149 +3150 +3151 +3152 +3153 +3154 +3155 +3156 +3157 +3158 +3159 +3160 +3161 +3162 +3163 +3164 +3165 +3166 +3167 +3168 +3169 +3170 +3171 +3172 +3173 +3174 +3175 +3176 +3177 +3178 +3179 +3180 +3181 +3182 +3183 +3184 +3185 +3186 +3187 +3188 +3189 +3190 +3191 +3192 +3193 +3194 +3195 +3196 +3197 +3198 +3199 +3200 +3201 +3202 +3203 +3204 +3205 +3206 +3207 +3208 +3209 +3210 +3211 +3212 +3213 +3214 +3215 +3216 +3217 +3218 +3219 +3220 +3221 +3222 +3223 +3224 +3225 +3226 +3227 +3228 +3229 +3230 +3231 +3232 +3233 +3234 +3235 +3236 +3237 +3238 +3239 +3240 +3241 +3242 +3243 +3244 +3245 +3246 +3247 +3248 +3249 +3250 +3251 +3252 +3253 +3254 +3255 +3256 +3257 +3258 +3259 +3260 +3261 +3262 +3263 +3264 +3265 +3266 +3267 +3268 +3269 +3270 +3271 +3272 +3273 +3274 +3275 +3276 +3277 +3278 +3279 +3280 +3281 +3282 +3283 +3284 +3285 +3286 +3287 +3288 +3289 +3290 +3291 +3292 +3293 +3294 +3295 +3296 +3297 +3298 +3299 +3300 +3301 +3302 +3303 +3304 +3305 +3306 +3307 +3308 +3309 +3310 +3311 +3312 +3313 +3314 +3315 +3316 +3317 +3318 +33191x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +5x +5x +5x +1x +1x +1x +1x +1x +1x +292x +292x +1x +1x +5x +5x +5x +5x +9x +  +  +9x +5x +5x +5x +12x +12x +5x +12x +7x +7x +12x +5x +5x +5x +1x +1x +6x +6x +6x +16x +16x +6x +6x +20x +14x +14x +14x +14x +14x +12x +12x +14x +20x +6x +1x +1x +2x +2x +2x +2x +1x +6x +6x +1x +1x +218x +218x +5x +5x +213x +218x +150x +150x +6x +6x +150x +207x +207x +207x +1x +1x +68x +68x +68x +17x +17x +68x +68x +  +  +68x +68x +1x +1x +1x +10686x +10686x +10686x +10686x +10686x +10686x +10686x +10686x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +31517x +10686x +10686x +9906x +9906x +10686x +10686x +243x +243x +10686x +10686x +757x +757x +757x +514x +514x +757x +757x +10686x +10686x +1x +  +  +1x +1x +1x +1x +1x +1x +10686x +10686x +514x +514x +3498x +1x +1x +3498x +514x +  +  +514x +513x +513x +513x +10686x +10686x +823x +823x +823x +823x +823x +309x +823x +  +  +514x +514x +823x +  +  +514x +514x +514x +823x +1x +1x +513x +513x +823x +1x +1x +  +  +1x +1x +  +  +1x +1x +513x +513x +513x +513x +513x +513x +  +  +513x +513x +513x +513x +  +  +  +  +  +  +  +  +  +  +  +513x +513x +513x +513x +513x +513x +513x +3489x +3489x +3489x +3489x +435x +435x +435x +435x +435x +406x +406x +435x +435x +7x +5x +5x +7x +2x +2x +7x +435x +3489x +511x +513x +11x +11x +115x +115x +12x +12x +3x +3x +12x +115x +11x +511x +513x +8x +74x +74x +74x +8x +8x +74x +8x +513x +513x +511x +511x +511x +10686x +10686x +10686x +10686x +10686x +514x +514x +514x +514x +514x +514x +514x +514x +514x +525x +526x +  +526x +526x +526x +526x +525x +514x +514x +514x +10686x +10686x +10686x +435x +435x +  +  +435x +435x +435x +435x +435x +435x +435x +435x +435x +435x +435x +2x +2x +433x +433x +435x +1x +1x +432x +432x +435x +5x +5x +427x +427x +435x +4x +4x +423x +423x +435x +5x +5x +418x +418x +435x +6x +6x +412x +412x +435x +8x +8x +404x +404x +435x +5x +5x +399x +399x +435x +1x +1x +398x +398x +435x +5x +5x +393x +393x +435x +4x +4x +389x +389x +435x +1x +1x +388x +388x +435x +11x +11x +377x +377x +435x +2x +2x +375x +375x +435x +2x +2x +373x +373x +435x +12x +12x +361x +361x +435x +1x +1x +360x +360x +435x +22x +22x +338x +338x +435x +1x +1x +337x +337x +435x +41x +41x +296x +296x +296x +296x +296x +435x +7x +7x +7x +  +7x +7x +7x +7x +296x +435x +289x +289x +57x +57x +289x +237x +237x +237x +237x +23x +23x +237x +212x +212x +435x +2x +2x +210x +210x +435x +1x +1x +209x +209x +435x +4x +4x +205x +205x +435x +2x +2x +203x +203x +435x +3x +3x +200x +200x +435x +14x +14x +186x +186x +435x +17x +17x +168x +168x +435x +1x +1x +167x +167x +435x +3x +3x +164x +164x +435x +27x +27x +137x +137x +435x +52x +52x +85x +85x +435x +11x +11x +74x +74x +435x +15x +15x +59x +59x +435x +10x +10x +49x +49x +435x +  +  +49x +49x +435x +1x +1x +48x +48x +435x +2x +2x +46x +46x +435x +7x +7x +37x +37x +435x +2x +2x +35x +35x +435x +8x +8x +27x +27x +435x +1x +1x +26x +26x +435x +3x +3x +23x +23x +435x +1x +1x +22x +22x +22x +10686x +10686x +10686x +10686x +10686x +360x +112x +112x +248x +248x +360x +360x +360x +360x +360x +225x +225x +23x +23x +23x +32x +32x +20x +32x +12x +12x +23x +23x +23x +23x +23x +23x +360x +43x +43x +25x +25x +1x +1x +1x +1x +1x +1x +25x +24x +24x +25x +43x +22x +360x +27x +16x +8x +8x +16x +27x +22x +360x +20x +20x +2x +360x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10686x +10686x +361x +112x +361x +229x +229x +20x +20x +361x +18x +18x +361x +361x +1x +1x +1x +361x +  +  +361x +361x +361x +361x +361x +361x +361x +361x +361x +361x +361x +10686x +10686x +373x +373x +112x +373x +226x +226x +35x +35x +35x +373x +8x +8x +27x +27x +373x +4x +4x +23x +23x +23x +10686x +10686x +210x +210x +83x +210x +126x +126x +1x +1x +210x +  +  +1x +210x +210x +  +  +1x +1x +1x +1x +1x +1x +10686x +10686x +35x +35x +  +  +35x +35x +35x +13x +13x +22x +22x +35x +14x +14x +8x +8x +35x +  +  +8x +35x +35x +  +  +8x +8x +8x +35x +1x +1x +35x +  +  +8x +8x +35x +35x +3x +35x +2x +5x +1x +3x +2x +1x +1x +  +  +  +  +  +1x +1x +2x +2x +2x +1x +1x +1x +8x +8x +8x +8x +8x +8x +8x +8x +10686x +10686x +27x +27x +  +  +27x +27x +27x +15x +15x +12x +12x +12x +27x +8x +8x +4x +4x +27x +  +  +4x +27x +27x +  +  +4x +4x +27x +  +  +4x +27x +6x +6x +3x +3x +3x +3x +6x +6x +4x +4x +27x +27x +27x +27x +27x +27x +27x +1x +1x +1x +4x +4x +4x +4x +4x +4x +10686x +10686x +10686x +12x +  +  +12x +12x +12x +9x +9x +3x +3x +3x +3x +3x +3x +3x +3x +3x +10686x +10686x +26x +23x +23x +3x +26x +  +  +3x +3x +26x +5x +  +5x +1x +5x +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +3x +  +  +  +10686x +10686x +37x +35x +35x +2x +2x +2x +2x +2x +2x +  +  +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +  +  +  +10686x +10686x +23x +20x +20x +3x +3x +23x +1x +1x +1x +1x +1x +1x +1x +1x +2x +2x +2x +10686x +10686x +27x +23x +23x +4x +4x +27x +1x +1x +1x +1x +1x +1x +1x +1x +3x +3x +3x +10686x +10686x +35x +27x +27x +8x +8x +8x +8x +8x +8x +  +  +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +  +  +  +10686x +10686x +46x +5x +5x +41x +46x +30x +30x +21x +21x +9x +9x +30x +  +  +  +9x +9x +9x +30x +20x +9x +20x +9x +9x +11x +11x +30x +  +  +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +9x +30x +2x +2x +7x +7x +7x +32x +32x +32x +10686x +10686x +11x +11x +11x +54x +22x +54x +8x +7x +8x +1x +1x +32x +3x +24x +1x +21x +1x +1x +1x +30x +30x +11x +11x +10686x +10686x +168x +168x +168x +167x +167x +1x +1x +168x +  +  +1x +1x +168x +  +  +1x +1x +168x +168x +168x +168x +168x +168x +168x +168x +168x +168x +10686x +10686x +167x +164x +164x +3x +3x +167x +  +  +3x +3x +167x +  +  +3x +167x +167x +167x +167x +167x +167x +167x +167x +167x +167x +10686x +10686x +164x +66x +66x +98x +98x +164x +25x +25x +73x +73x +73x +164x +  +164x +6x +73x +34x +67x +1x +33x +1x +32x +3x +3x +3x +3x +3x +1x +3x +2x +2x +31x +28x +28x +28x +28x +2x +2x +28x +26x +26x +26x +27x +164x +164x +164x +164x +164x +164x +164x +164x +164x +164x +10686x +10686x +433x +433x +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +432x +432x +432x +10686x +10686x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +425x +425x +7x +7x +7x +7x +7x +432x +2x +2x +2x +2x +  +  +2x +2x +1x +1x +432x +5x +5x +2x +2x +3x +5x +2x +5x +1x +1x +3x +5x +2x +5x +1x +1x +3x +3x +3x +5x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +432x +2x +2x +2x +2x +2x +5x +5x +432x +2x +2x +5x +432x +6x +6x +6x +5x +5x +5x +5x +5x +5x +10686x +10686x +427x +112x +112x +315x +427x +4x +4x +  +  +4x +4x +4x +  +  +4x +4x +  +  +4x +4x +4x +4x +311x +311x +311x +10686x +10686x +377x +375x +375x +2x +2x +377x +3x +3x +3x +3x +1x +1x +3x +2x +2x +3x +377x +  +  +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +10686x +10686x +393x +393x +393x +388x +388x +5x +5x +393x +  +  +5x +393x +393x +1x +1x +1x +1x +1x +1x +1x +393x +3x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x +1x +10686x +10686x +398x +398x +398x +393x +393x +5x +5x +398x +  +  +398x +398x +398x +  +  +5x +5x +398x +1x +1x +1x +1x +1x +1x +398x +4x +4x +4x +4x +4x +3x +3x +3x +3x +3x +1x +1x +1x +3x +3x +4x +4x +5x +5x +5x +5x +5x +5x +5x +10686x +10686x +388x +331x +331x +57x +388x +46x +46x +388x +388x +388x +388x +388x +388x +388x +388x +388x +388x +388x +388x +388x +11x +11x +11x +10x +10x +11x +11x +11x +11x +11x +11x +388x +10x +10x +10x +2x +2x +10x +1x +1x +8x +7x +1x +1x +7x +7x +7x +7x +10x +10x +11x +11x +388x +5x +5x +5x +5x +5x +5x +5x +11x +11x +11x +11x +11x +11x +11x +11x +388x +388x +1x +1x +11x +11x +388x +2x +2x +388x +388x +388x +388x +10x +10x +10x +1x +10x +2x +9x +7x +7x +10x +388x +5x +5x +388x +388x +388x +388x +388x +388x +388x +388x +388x +11x +11x +  +  +11x +15x +4x +4x +  +  +4x +4x +4x +4x +4x +15x +11x +11x +11x +11x +10686x +10686x +389x +112x +112x +277x +277x +389x +770x +770x +1x +1x +770x +389x +276x +276x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10686x +10686x +404x +112x +112x +292x +404x +285x +404x +  +  +7x +404x +404x +404x +404x +404x +2x +2x +5x +5x +404x +2x +2x +  +  +2x +404x +3x +3x +3x +3x +3x +5x +5x +404x +12x +5x +5x +7x +7x +5x +5x +404x +404x +404x +404x +404x +404x +10686x +10686x +399x +112x +112x +287x +399x +285x +285x +2x +2x +399x +1x +1x +1x +1x +399x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10686x +10686x +412x +112x +112x +300x +300x +412x +142x +142x +158x +158x +412x +  +  +158x +412x +  +  +158x +412x +39x +39x +119x +412x +79x +79x +40x +412x +7x +7x +33x +33x +412x +24x +412x +1x +1x +8x +8x +8x +412x +9x +9x +8x +8x +8x +8x +8x +8x +8x +8x +10686x +10686x +10686x +435x +435x +433x +433x +435x +435x +  +  +435x +  +  +2x +435x +435x +435x +435x +435x +435x +435x +435x +4x +4x +4x +2x +2x +4x +4x +2x +2x +2x +2x +2x +2x +2x +2x +2x +10686x +10686x +375x +112x +112x +263x +375x +122x +122x +141x +141x +375x +  +  +141x +375x +139x +139x +2x +375x +  +  +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +375x +375x +  +  +2x +2x +2x +2x +10686x +10686x +418x +112x +418x +142x +142x +164x +164x +418x +  +  +164x +164x +164x +164x +418x +1x +1x +418x +1x +1x +418x +1x +1x +418x +1x +1x +418x +2x +2x +418x +158x +418x +6x +418x +418x +  +  +6x +418x +418x +  +  +6x +6x +6x +6x +6x +10686x +10686x +10686x +423x +112x +112x +311x +423x +51x +51x +51x +51x +40x +40x +11x +11x +51x +51x +51x +51x +1x +1x +51x +4x +4x +51x +6x +51x +5x +5x +51x +51x +51x +51x +51x +51x +51x +51x +51x +51x +51x +51x +51x +51x +300x +300x +300x +300x +10686x +10686x +338x +112x +338x +209x +226x +16x +16x +1x +1x +1x +338x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10686x +10686x +337x +337x +292x +292x +45x +337x +337x +  +  +45x +45x +337x +4x +4x +41x +41x +41x +337x +337x +29x +29x +29x +9x +9x +9x +29x +29x +29x +29x +29x +12x +337x +337x +12x +12x +12x +12x +12x +12x +12x +  +  +  +10686x +10686x +43x +43x +43x +43x +43x +43x +43x +43x +43x +5x +5x +5x +43x +3x +3x +3x +43x +43x +25x +25x +25x +25x +2x +2x +25x +25x +41x +43x +43x +1x +1x +41x +41x +43x +43x +43x +43x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +15x +1x +15x +14x +14x +15x +15x +43x +23x +23x +23x +23x +23x +23x +23x +3x +1x +1x +3x +3x +23x +2x +2x +23x +23x +3x +3x +23x +3x +3x +23x +  +  +23x +23x +23x +5x +5x +1x +5x +4x +4x +5x +23x +23x +23x +1x +1x +23x +23x +23x +1x +1x +23x +23x +23x +1x +1x +23x +26x +3x +3x +3x +3x +1x +1x +3x +3x +41x +41x +43x +1x +1x +41x +41x +41x +10686x +10686x +205x +83x +83x +122x +205x +340x +340x +338x +338x +2x +2x +340x +  +  +2x +340x +340x +  +  +2x +2x +340x +  +340x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +120x +120x +120x +10686x +10686x +209x +83x +83x +126x +209x +348x +348x +343x +343x +5x +5x +348x +3x +3x +3x +2x +2x +3x +1x +1x +348x +2x +2x +4x +4x +4x +4x +4x +4x +4x +348x +  +  +4x +348x +  +  +  +4x +4x +4x +4x +348x +36x +4x +4x +36x +7x +7x +32x +7x +7x +25x +  +18x +2x +2x +18x +7x +16x +9x +9x +36x +4x +4x +4x +4x +4x +4x +4x +4x +122x +122x +122x +10686x +10686x +237x +83x +83x +154x +237x +397x +397x +371x +371x +26x +26x +397x +1x +1x +25x +25x +25x +25x +25x +25x +25x +397x +  +  +25x +25x +397x +1x +1x +25x +25x +397x +29x +29x +25x +25x +29x +29x +29x +1x +1x +28x +29x +29x +29x +27x +2x +27x +25x +25x +29x +1x +1x +29x +24x +24x +397x +25x +25x +25x +25x +23x +23x +397x +  +  +397x +104x +104x +23x +104x +27x +81x +27x +27x +27x +27x +104x +23x +23x +23x +23x +23x +23x +23x +23x +23x +23x +23x +23x +23x +23x +129x +129x +129x +10686x +10686x +212x +83x +83x +129x +129x +212x +370x +370x +367x +367x +3x +3x +3x +370x +1x +1x +2x +2x +2x +2x +2x +370x +  +  +  +  +  +  +370x +2x +2x +2x +2x +2x +370x +370x +370x +370x +370x +370x +370x +370x +127x +127x +127x +10686x +10686x +289x +83x +83x +206x +206x +289x +536x +536x +476x +476x +60x +60x +60x +60x +536x +17x +16x +16x +17x +1x +1x +536x +43x +43x +59x +59x +59x +59x +536x +536x +8x +8x +59x +59x +59x +59x +59x +59x +59x +536x +33x +33x +33x +33x +59x +536x +100x +13x +10x +10x +10x +13x +100x +18x +18x +18x +18x +87x +12x +12x +1x +1x +69x +6x +6x +100x +40x +40x +128x +26x +10x +10x +10x +26x +128x +21x +21x +21x +102x +1x +1x +81x +40x +3x +3x +3x +40x +18x +18x +40x +128x +128x +40x +100x +57x +536x +3x +3x +3x +3x +3x +3x +3x +8x +3x +8x +3x +5x +2x +2x +8x +3x +3x +3x +1x +3x +2x +2x +3x +3x +3x +3x +3x +3x +3x +3x +1x +1x +3x +57x +536x +15x +15x +15x +57x +57x +57x +57x +57x +57x +57x +57x +57x +57x +57x +147x +147x +147x +10686x +10686x +12x +12x +14x +14x +  +  +14x +14x +14x +14x +  +  +14x +14x +2x +2x +12x +12x +14x +  +  +  +  +  +  +14x +14x +14x +14x +14x +14x +12x +12x +14x +10x +10x +10686x +10686x +5x +5x +5x +5x +5x +10686x +10686x +137x +137x +  +  +137x +137x +137x +137x +71x +71x +66x +66x +137x +  +  +66x +66x +137x +278x +278x +278x +278x +47x +47x +47x +278x +137x +19x +19x +47x +137x +2x +137x +45x +45x +137x +10686x +10686x +85x +85x +9x +9x +76x +85x +11x +11x +  +  +11x +11x +11x +11x +1x +11x +10x +10x +  +  +10x +10x +  +10x +  +  +10x +10x +10x +11x +11x +11x +11x +11x +11x +11x +11x +11x +65x +65x +65x +10686x +10686x +137x +137x +137x +62x +62x +  +  +62x +62x +62x +62x +  +  +62x +62x +62x +  +62x +9x +62x +1x +1x +52x +52x +62x +62x +62x +3x +3x +62x +  +  +52x +52x +52x +52x +52x +52x +52x +52x +52x +85x +85x +85x +10686x +10686x +186x +83x +83x +103x +186x +197x +178x +178x +19x +19x +197x +  +  +19x +19x +19x +197x +3x +3x +3x +2x +2x +3x +1x +1x +197x +16x +16x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +18x +85x +85x +85x +10686x +10686x +18x +18x +18x +18x +18x +102x +49x +49x +18x +17x +17x +18x +1x +1x +18x +49x +18x +18x +49x +13x +13x +13x +49x +  +49x +102x +18x +53x +4x +35x +29x +31x +2x +2x +  +  +102x +18x +4x +4x +4x +4x +17x +17x +17x +17x +17x +17x +10686x +10686x +200x +83x +83x +117x +200x +290x +276x +276x +14x +290x +  +  +14x +290x +290x +  +  +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x +103x +103x +103x +10686x +10686x +10686x +203x +83x +83x +120x +203x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +117x +117x +117x +10686x +10686x +311x +311x +  +  +  +  +311x +311x +311x +2x +2x +2x +2x +311x +311x +352x +352x +352x +352x +311x +311x +352x +311x +10686x +10686x +10686x +498x +498x +36x +36x +462x +498x +151x +6x +6x +151x +456x +456x +456x +10686x +10686x +74x +74x +74x +157x +157x +27x +27x +27x +27x +10x +8x +8x +8x +10x +27x +27x +19x +19x +8x +8x +8x +8x +8x +8x +157x +66x +66x +66x +10686x +10686x +11x +11x +11x +11x +11x +  +  +10686x +10686x +48x +5x +5x +43x +48x +21x +21x +19x +19x +2x +2x +21x +  +  +  +2x +2x +2x +21x +3x +3x +1x +1x +1x +3x +2x +2x +2x +21x +1x +1x +1x +1x +2x +2x +41x +41x +41x +10686x +10686x +49x +49x +49x +  +49x +49x +  +  +49x +49x +49x +  +  +  +  +  +  +  +  +  +  +10686x +10686x +49x +49x +49x +49x +49x +22x +22x +3x +3x +22x +49x +46x +46x +3x +49x +4x +2x +2x +2x +4x +1x +1x +1x +1x +  +  +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +4x +2x +2x +2x +10686x +10686x +59x +59x +59x +286x +266x +266x +20x +286x +10x +10x +10x +10x +  +  +10x +10x +10x +57x +20x +57x +9x +37x +1x +1x +37x +37x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +3x +3x +3x +  +  +3x +10x +10x +10x +10x +10x +10x +10x +10x +286x +49x +49x +49x +10686x +10686x +3x +3x +3x +4x +4x +3x +3x +4x +1x +  +  +  +10686x +10686x +74x +5x +5x +69x +69x +69x +69x +69x +69x +74x +11x +11x +11x +11x +11x +11x +11x +9x +9x +9x +9x +9x +11x +69x +74x +60x +60x +54x +54x +6x +6x +60x +  +  +6x +6x +6x +6x +6x +6x +6x +6x +60x +1x +1x +60x +5x +5x +5x +5x +60x +15x +15x +15x +74x +  +  +74x +10686x +10686x +15x +15x +15x +15x +15x +1x +15x +14x +14x +3x +3x +3x +3x +3x +9x +9x +9x +3x +3x +9x +3x +3x +  +  +3x +3x +3x +3x +  +  +  +  +  +  +3x +14x +15x +15x +15x +15x +15x +10686x +10686x +3x +3x +4x +4x +3x +3x +1x +1x +1x +4x +  +  +4x +3x +10686x +10686x + 
/* eslint-disable max-len */
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import * as Structures from "../abap/3_structures/structures";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {Unknown} from "../abap/2_statements/statements/_statement";
+import {ExpressionNode, StatementNode, TokenNode} from "../abap/nodes";
+import {IEdit, EditHelper} from "../edit_helper";
+import {Position} from "../position";
+import {VirtualPosition} from "../virtual_position";
+import {ABAPFile} from "../abap/abap_file";
+import {IRegistry} from "../_iregistry";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {Version} from "../version";
+import {Registry} from "../registry";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScopeNode, ISyntaxResult} from "../abap/5_syntax/_spaghetti_scope";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {IClassDefinition} from "../abap/types/_class_definition";
+import {TypedIdentifier} from "../abap/types/_typed_identifier";
+import {AnyType, ObjectReferenceType, StructureType, TableType, VoidType} from "../abap/types/basic";
+import {Config} from "../config";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {At, ParenLeftW, WAt, WParenLeftW, WParenRight, WParenRightW} from "../abap/1_lexer/tokens";
+import {IncludeGraph} from "../utils/include_graph";
+import {Program} from "../objects";
+import {BuiltIn} from "../abap/5_syntax/_builtin";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {ElseIf} from "../abap/2_statements/statements";
+import * as crypto from "crypto";
+ 
+// todo: refactor each sub-rule to new classes?
+// todo: add configuration
+ 
+export class DownportConf extends BasicRuleConfig {
+}
+ 
+class SkipToNextFile extends Error {
+  public issue: Issue;
+  public constructor(issue: Issue) {
+    super();
+    this.issue = issue;
+  }
+}
+ 
+class SpagHelper {
+  private readonly spag: ISpaghettiScopeNode;
+ 
+  public constructor(spag: ISpaghettiScopeNode) {
+    this.spag = spag;
+  }
+ 
+  public renameVariable(oldName: string, pos: Position, lowFile: ABAPFile, newName: string) {
+    let fix: IEdit | undefined = undefined;
+ 
+    const references = this.findReferences(oldName, pos);
+    references.sort((a, b) => {
+      if (a.start.equals(b.start)) {
+        return 0;
+      }
+      return a.start.isAfter(b.start) ? 1 : -1;
+    });
+ 
+    for (const r of references) {
+      const replace = EditHelper.replaceRange(lowFile, r.start, r.end, newName);
+      if (fix === undefined) {
+        fix = replace;
+      } else {
+        fix = EditHelper.merge(replace, fix);
+      }
+    }
+ 
+    return fix;
+  }
+ 
+  private findReferences(name: string, pos: Position): {start: Position, end: Position}[] {
+    const positions: {start: Position, end: Position}[] = [];
+ 
+    function has(element: {start: Position, end: Position}): boolean {
+      return positions.some(a => a.start.equals(element.start));
+    }
+ 
+    for (const r of this.spag.getData().references) {
+      if (r.resolved?.getName() === name && r.resolved?.getStart().equals(pos)) {
+        const sub = {
+          start: r.position.getStart(),
+          end: r.position.getEnd(),
+        };
+        if (has(sub) === false) {
+          positions.push(sub);
+        }
+      }
+    }
+    for (const child of this.spag.getChildren()) {
+      const subPositions = new SpagHelper(child).findReferences(name, pos);
+      for (const sub of subPositions) {
+        if (has(sub) === false) {
+          positions.push(sub);
+        }
+      }
+    }
+    return positions;
+  }
+ 
+  public findRecursiveDuplicate(name: string, skip: Position): TypedIdentifier | undefined {
+    const found = this.spag.findVariable(name);
+    if (found?.getStart().equals(skip) === false) {
+      return found;
+    }
+ 
+    for (const child of this.spag?.getChildren() || []) {
+      const sub = new SpagHelper(child).findRecursiveDuplicate(name, skip);
+      if (sub) {
+        return sub;
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  public isDuplicateName(name: string, pos: Position) {
+    let parent = this.spag.getParent();
+    while (parent?.getIdentifier().stype === ScopeType.Let
+        || parent?.getIdentifier().stype === ScopeType.For) {
+      parent = parent.getParent();
+    }
+ 
+    if (parent === undefined) {
+      return undefined;
+    }
+    return new SpagHelper(parent).findRecursiveDuplicate(name, pos) !== undefined;
+  }
+ 
+}
+ 
+export class Downport implements IRule {
+  private lowReg: IRegistry;
+  private highReg: IRegistry;
+  private conf = new DownportConf();
+  private counter: number;
+  private graph: IncludeGraph | undefined;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "downport",
+      title: "Downport statement",
+      shortDescription: `Downport functionality`,
+      extendedInformation: `Much like the 'commented_code' rule this rule loops through unknown statements and tries parsing with
+a higher level language version. If successful, various rules are applied to downport the statement.
+Target downport version is always v702, thus rule is only enabled if target version is v702.
+ 
+Current rules:
+* NEW transformed to CREATE OBJECT, opposite of https://rules.abaplint.org/use_new/
+* DATA() definitions are outlined, opposite of https://rules.abaplint.org/prefer_inline/
+* FIELD-SYMBOL() definitions are outlined
+* CONV is outlined
+* COND is outlined
+* REDUCE is outlined
+* SWITCH is outlined
+* FILTER is outlined
+* APPEND expression is outlined
+* INSERT expression is outlined
+* EMPTY KEY is changed to DEFAULT KEY, opposite of DEFAULT KEY in https://rules.abaplint.org/avoid_use/
+* CAST changed to ?=
+* LOOP AT method_call( ) is outlined
+* VALUE # with structure fields
+* VALUE # with internal table lines
+* Table Expressions are outlined
+* SELECT INTO @DATA definitions are outlined
+* Some occurrences of string template formatting option ALPHA changed to function module call
+* SELECT/INSERT/MODIFY/DELETE/UPDATE "," in field list removed, "@" in source/targets removed
+* PARTIALLY IMPLEMENTED removed, it can be quick fixed via rule implement_methods
+* RAISE EXCEPTION ... MESSAGE
+* Moving with +=, -=, /=, *=, &&= is expanded
+* line_exists and line_index is downported to READ TABLE
+* ENUMs, but does not nessesarily give the correct type and value
+* MESSAGE with non simple source
+ 
+Only one transformation is applied to a statement at a time, so multiple steps might be required to do the full downport.
+ 
+Make sure to test the downported code, it might not always be completely correct.`,
+      tags: [RuleTag.Downport, RuleTag.Quickfix],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: DownportConf): void {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.lowReg = reg;
+    const version = this.lowReg.getConfig().getVersion();
+    if (version === Version.v702 || version === Version.OpenABAP) {
+      this.initHighReg();
+    }
+    return this;
+  }
+ 
+  private listMainForInclude(filename: string | undefined) {
+    if (filename === undefined) {
+      return [];
+    }
+    // only initialize this.graph if needed
+    if (this.graph === undefined) {
+      this.graph = new IncludeGraph(this.lowReg);
+    }
+    return this.graph.listMainForInclude(filename);
+  }
+ 
+  private containsError(highObj: ABAPObject): boolean {
+    for (const file of highObj.getABAPFiles()) {
+      for (const statement of file.getStatements()) {
+        if (statement.get() instanceof Unknown) {
+          return true; // contains parser errors
+        }
+      }
+      if (file.getStructure() === undefined) {
+        return true;
+      }
+    }
+ 
+    return false;
+  }
+ 
+  public run(lowObj: IObject): Issue[] {
+    const ret: Issue[] = [];
+    this.counter = 1;
+ 
+    const version = this.lowReg.getConfig().getVersion();
+    if (version !== Version.v702 && version !== Version.OpenABAP) {
+      return ret;
+    } else if (!(lowObj instanceof ABAPObject)) {
+      return ret;
+    }
+ 
+    const highObj = this.highReg.getObject(lowObj.getType(), lowObj.getName());
+    if (highObj === undefined || !(highObj instanceof ABAPObject)) {
+      return ret;
+    }
+ 
+    let highSyntaxObj = highObj;
+ 
+    if (this.containsError(highObj)) {
+      return ret;
+    }
+ 
+    // for includes do the syntax check via a main program
+    if (lowObj instanceof Program && lowObj.isInclude()) {
+      const mains = this.listMainForInclude(lowObj.getMainABAPFile()?.getFilename());
+      if (mains.length <= 0) {
+        return [];
+      }
+      const f = this.highReg.getFileByName(mains[0]);
+      if (f === undefined) {
+        return [];
+      }
+      highSyntaxObj = this.highReg.findObjectForFile(f) as ABAPObject;
+    }
+ 
+    for (const lowFile of lowObj.getABAPFiles()) {
+      let highSyntax: ISyntaxResult | undefined = undefined;
+ 
+      const highFile = highObj.getABAPFileByName(lowFile.getFilename());
+      if (highFile === undefined) {
+        continue;
+      }
+ 
+      const lowStatements = lowFile.getStatements();
+      const highStatements = highFile.getStatements();
+      if (lowStatements.length !== highStatements.length) {
+        // after applying a fix, there might be more statements in lowFile
+        // should highReg be initialized again?
+        /*
+        const message = "Internal Error: Statement lengths does not match";
+        ret.push(Issue.atStatement(lowFile, lowStatements[0], message, this.getMetadata().key));
+        */
+        // hmm, add some way to disable lazyUnknown() in statement_parser.ts
+        // alternatively explicit enable it in vscode, its only relevant when a user is
+        // actively editing the files
+        continue;
+      }
+ 
+      if (highSyntax === undefined) {
+        highSyntax = new SyntaxLogic(this.highReg, highSyntaxObj).run();
+      }
+ 
+      let containsUnknown = false;
+      for (let i = 0; i < lowStatements.length; i++) {
+        const low = lowStatements[i];
+        const high = highStatements[i];
+        if ((low.get() instanceof Unknown && !(high.get() instanceof Unknown))
+            || high.findFirstExpression(Expressions.InlineData)) {
+          containsUnknown = true;
+ 
+          try {
+            const issue = this.checkStatement(low, high, lowFile, highSyntax, highFile);
+            if (issue) {
+              ret.push(issue);
+            }
+ 
+          } catch (e) {
+            if (e instanceof SkipToNextFile) {
+              ret.push(e.issue);
+              break;
+            } else {
+              throw e;
+            }
+          }
+        }
+      }
+ 
+      if (ret.length === 0 && containsUnknown) {
+// this is a hack in order not to change too many unit tests
+        for (let i = 0; i < lowStatements.length; i++) {
+          const high = highStatements[i];
+          if (high.get() instanceof Statements.Data) {
+            const issue = this.anonymousTableType(high, lowFile, highSyntax);
+            if (issue) {
+              ret.push(issue);
+            }
+          }
+        }
+      }
+ 
+      if (ret.length === 0 && lowFile.getRaw().includes(" xsdbool(")) {
+        for (let i = 0; i < lowStatements.length; i++) {
+          const high = highStatements[i];
+          const issue = this.replaceXsdBool(high, lowFile, highSyntax);
+          if (issue) {
+            ret.push(issue);
+          }
+        }
+      }
+ 
+    }
+ 
+    return ret;
+  }
+ 
+////////////////////
+ 
+  /** clones the orginal repository into highReg, and parses it with higher language version */
+  private initHighReg() {
+    // use default configuration, ie. default target version
+    const highConfig = Config.getDefault().get();
+    const lowConfig = this.lowReg.getConfig().get();
+    highConfig.syntax.errorNamespace = lowConfig.syntax.errorNamespace;
+    highConfig.syntax.globalConstants = lowConfig.syntax.globalConstants;
+    highConfig.syntax.globalMacros = lowConfig.syntax.globalMacros;
+    this.highReg = new Registry();
+ 
+    for (const o of this.lowReg.getObjects()) {
+      for (const f of o.getFiles()) {
+        if (this.lowReg.isDependency(o) === true) {
+          this.highReg.addDependency(f);
+        } else {
+          this.highReg.addFile(f);
+        }
+      }
+    }
+ 
+    this.highReg.parse();
+  }
+ 
+  /** applies one rule at a time, multiple iterations are required to transform complex statements */
+  private checkStatement(low: StatementNode, high: StatementNode, lowFile: ABAPFile,
+                         highSyntax: ISyntaxResult, highFile: ABAPFile): Issue | undefined {
+    if (low.getFirstToken().getStart() instanceof VirtualPosition) {
+      return undefined;
+    }
+ 
+    // downport XSDBOOL() early, as it is valid 702 syntax
+    /*
+    let found = this.replaceXsdBool(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+    */
+ 
+    let found = this.downportEnum(low, high, lowFile, highSyntax, highFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.partiallyImplemented(high, lowFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.raiseException(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.emptyKey(low, high, lowFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.stringTemplateAlpha(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.moveWithOperator(low, high, lowFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.moveWithSimpleValue(low, high, lowFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.assignWithTable(low, high, lowFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.assignComponent(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportRefSimple(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportCorrespondingSimple(high, lowFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportRef(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportLoopGroup(high, lowFile, highSyntax, highFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.callFunctionParameterSimple(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.moveWithTableTarget(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportSelectInline(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportSelectExistence(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportSQLExtras(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineLoopInput(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineLoopTarget(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    let skipValue = false;
+    let skipReduce = false;
+    const valueBody = high.findFirstExpression(Expressions.ValueBody);
+    const reduceBody = high.findFirstExpression(Expressions.ReduceBody);
+    if (valueBody && reduceBody) {
+      const valueToken = valueBody.getFirstToken();
+      const reduceToken = reduceBody.getFirstToken();
+      if (valueToken.getStart().isBefore(reduceToken.getStart())) {
+        skipReduce = true;
+      } else {
+        skipValue = true;
+      }
+    }
+ 
+    if (skipValue !== true) {
+      found = this.outlineValue(low, high, lowFile, highSyntax);
+      if (found) {
+        return found;
+      }
+    }
+ 
+    if (skipReduce !== true) {
+      found = this.outlineReduce(low, high, lowFile, highSyntax);
+      if (found) {
+        return found;
+      }
+    }
+ 
+    found = this.outlineCorresponding(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportSelectFields(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineSwitch(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineFilter(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineCast(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineConv(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineCond(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineCatchSimple(high, lowFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineGetReferenceSimple(high, lowFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineDataSimple(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineData(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.outlineFS(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.newToCreateObject(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.replaceLineFunctions(high, lowFile, highSyntax, highFile);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.getReference(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.replaceContains(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.replaceMethodConditional(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.replaceTableExpression(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.replaceAppendExpression(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.replaceInsertExpression(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportMessageSource(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportMessage(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportReadTable(high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    return undefined;
+  }
+ 
+//////////////////////////////////////////
+ 
+  /** removes @'s */
+  private downportSQLExtras(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    if (!(high.get() instanceof Statements.Select)
+        && !(high.get() instanceof Statements.SelectLoop)
+        && !(high.get() instanceof Statements.UpdateDatabase)
+        && !(high.get() instanceof Statements.ModifyDatabase)
+        && !(high.get() instanceof Statements.DeleteDatabase)
+        && !(high.get() instanceof Statements.InsertDatabase)) {
+      return undefined;
+    }
+ 
+    let fix: IEdit | undefined = undefined;
+    const addFix = (token: AbstractToken) => {
+      const add = EditHelper.deleteToken(lowFile, token);
+      if (fix === undefined) {
+        fix = add;
+      } else {
+        fix = EditHelper.merge(fix, add);
+      }
+    };
+ 
+    const candidates = [high.findAllExpressionsRecursive(Expressions.SQLTarget),
+      high.findAllExpressionsRecursive(Expressions.SQLSource),
+      high.findAllExpressionsRecursive(Expressions.SQLSourceNoSpace),
+      high.findAllExpressionsRecursive(Expressions.SQLSourceSimple)].flat();
+    for (const c of candidates.reverse()) {
+      if (c.getFirstToken() instanceof WAt
+          || c.getFirstToken() instanceof At) {
+        const tokens = c.getAllTokens();
+        if (tokens[1] instanceof ParenLeftW && tokens[tokens.length - 1] instanceof WParenRightW) {
+          const source = c.findDirectExpression(Expressions.Source);
+          const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+          const fix1 = EditHelper.insertAt(lowFile, high.getStart(), `DATA(${uniqueName}) = ${source?.concatTokens()}.\n`);
+          const fix2 = EditHelper.replaceRange(lowFile, c.getFirstToken().getStart(), c.getLastToken().getEnd(), "@" + uniqueName);
+          const fix = EditHelper.merge(fix2, fix1);
+          return Issue.atToken(lowFile, low.getFirstToken(), "SQL, outline complex @", this.getMetadata().key, this.conf.severity, fix);
+        } else {
+          addFix(c.getFirstToken());
+        }
+      }
+    }
+ 
+    for (const fieldList of high.findAllExpressionsMulti([Expressions.SQLFieldList, Expressions.SQLFieldListLoop], true)) {
+      for (const token of fieldList.getDirectTokens()) {
+        if (token.getStr() === ",") {
+          addFix(token);
+        }
+      }
+    }
+ 
+    if (fix !== undefined) {
+      return Issue.atToken(lowFile, low.getFirstToken(), "SQL, remove @ and ,", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    for (const c of high.findAllExpressionsRecursive(Expressions.SQLIn)) {
+      const children = c.getChildren();
+      const first = children[1];
+      if (!(first.get() instanceof WParenLeftW)) {
+        continue;
+      }
+      const last = children[children.length - 1];
+      if (last.get() instanceof WParenRightW || last.get() instanceof WParenRight) {
+        const firstEnd = first.getFirstToken().getEnd();
+        const endDelete = new Position(firstEnd.getRow(), firstEnd.getCol() + 1);
+        const fix1 = EditHelper.deleteRange(lowFile, firstEnd, endDelete);
+ 
+        const lastStart = last.getFirstToken().getStart();
+        const startDelete = new Position(lastStart.getRow(), lastStart.getCol() - 1);
+        const fix2 = EditHelper.deleteRange(lowFile, startDelete, lastStart);
+        fix = EditHelper.merge(fix2, fix1);
+        return Issue.atToken(lowFile, low.getFirstToken(), "SQL, remove spaces", this.getMetadata().key, this.conf.severity, fix);
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private downportSelectExistence(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    } else if (!(high.get() instanceof Statements.Select)) {
+      return undefined;
+    }
+ 
+    const fieldList = high.findFirstExpression(Expressions.SQLFieldList);
+    if (fieldList?.concatTokens().toUpperCase() !== "@ABAP_TRUE") {
+      return undefined;
+    }
+    const fieldName = high.findFirstExpression(Expressions.SQLCond)?.findFirstExpression(Expressions.SQLFieldName)?.concatTokens();
+    if (fieldName === undefined) {
+      return undefined;
+    }
+    const into = high.findFirstExpression(Expressions.SQLIntoStructure);
+    if (into === undefined) {
+      return undefined;
+    }
+    const intoName = into.findFirstExpression(Expressions.SQLTarget)?.findFirstExpression(Expressions.Target)?.concatTokens();
+ 
+    const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    const fix1 = EditHelper.replaceRange(lowFile, fieldList.getFirstToken().getStart(), fieldList.getLastToken().getEnd(), fieldName);
+    const fix2 = EditHelper.replaceRange(lowFile, into?.getFirstToken().getStart(), into?.getLastToken().getEnd(), `INTO @DATA(${uniqueName})`);
+    let fix = EditHelper.merge(fix2, fix1);
+    const fix3 = EditHelper.insertAt(lowFile, high.getLastToken().getEnd(), `\nCLEAR ${intoName}.\nIF sy-subrc = 0.\n  ${intoName} = abap_true.\nENDIF.`);
+    fix = EditHelper.merge(fix, fix3);
+ 
+    return Issue.atToken(lowFile, low.getFirstToken(), "SQL, refactor existence check", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private downportSelectInline(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+ 
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    } else if (!(high.get() instanceof Statements.Select) && !(high.get() instanceof Statements.SelectLoop)) {
+      return undefined;
+    }
+ 
+// as first step outline the @DATA, note that void types are okay, as long the field names are specified
+    let found = this.downportSelectSingleInline(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    found = this.downportSelectTableInline(low, high, lowFile, highSyntax);
+    if (found) {
+      return found;
+    }
+ 
+    return undefined;
+  }
+ 
+  private downportSelectFields(low: StatementNode, high: StatementNode, lowFile: ABAPFile, _highSyntax: ISyntaxResult): Issue | undefined {
+ 
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    } else if (!(high.get() instanceof Statements.Select)) {
+      return undefined;
+    }
+ 
+    const fields = high.findFirstExpression(Expressions.SQLFields);
+    if (fields === undefined) {
+      return undefined;
+    }
+ 
+    const code = fields.getLastChild()?.concatTokens();
+    if (code === undefined) {
+      return undefined;
+    }
+ 
+    const fix1 = EditHelper.deleteRange(lowFile, fields.getFirstToken().getStart(), fields.getLastToken().getEnd());
+    const fix2 = EditHelper.insertAt(lowFile, high.getFirstToken().getEnd(), " " + code);
+    const fix = EditHelper.merge(fix1, fix2);
+    return Issue.atToken(lowFile, fields.getFirstToken(), "Replace FIELDS", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private downportSelectSingleInline(low: StatementNode, high: StatementNode,
+                                     lowFile: ABAPFile, _highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    const targets = high.findFirstExpression(Expressions.SQLIntoStructure)?.findDirectExpressions(Expressions.SQLTarget) || [];
+    if (targets.length !== 1) {
+      return undefined;
+    }
+ 
+    const inlineData = targets[0].findFirstExpression(Expressions.InlineData);
+    if (inlineData === undefined) {
+      return undefined;
+    }
+ 
+    const sqlFrom = high.findAllExpressions(Expressions.SQLFromSource);
+    if (sqlFrom.length !== 1) {
+      return undefined;
+    }
+ 
+    const tableName = sqlFrom[0].findDirectExpression(Expressions.DatabaseTable)?.concatTokens();
+    if (tableName === undefined) {
+      return undefined;
+    }
+ 
+    const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+    let fieldList = high.findFirstExpression(Expressions.SQLFieldList);
+    if (fieldList === undefined) {
+      fieldList = high.findFirstExpression(Expressions.SQLFieldListLoop);
+    }
+    if (fieldList === undefined) {
+      return undefined;
+    }
+    let fieldDefinition = "";
+    const fields = fieldList.findAllExpressions(Expressions.SQLFieldName);
+    const name = inlineData.findFirstExpression(Expressions.TargetField)?.concatTokens() || "error";
+    if (fields.length === 1) {
+      fieldDefinition = `DATA ${name} TYPE ${tableName}-${fields[0].concatTokens()}.`;
+    } else if (fieldList.concatTokens() === "*") {
+      fieldDefinition = `DATA ${name} TYPE ${tableName}.`;
+    } else if (fieldList.concatTokens().toUpperCase() === "COUNT( * )") {
+      fieldDefinition = `DATA ${name} TYPE i.`;
+    } else if (fieldList.concatTokens().toUpperCase() === "@ABAP_TRUE"
+        || fieldList.concatTokens().toUpperCase() === "@ABAP_FALSE") {
+      fieldDefinition = `DATA ${name} TYPE abap_bool.`;
+    } else if (fieldList.getChildren().length === 1 && fieldList.getChildren()[0].get() instanceof Expressions.SQLAggregation) {
+      const c = fieldList.getChildren()[0];
+      if (c instanceof ExpressionNode) {
+        const concat = c.findFirstExpression(Expressions.SQLArithmetics)?.concatTokens();
+        fieldDefinition = `DATA ${name} TYPE ${tableName}-${concat}.`;
+      }
+    } else {
+      for (const f of fields) {
+        const fieldName = f.concatTokens();
+        fieldDefinition += indentation + "        " + fieldName + " TYPE " + tableName + "-" + fieldName + ",\n";
+      }
+      fieldDefinition = `DATA: BEGIN OF ${name},
+${fieldDefinition}${indentation}      END OF ${name}.`;
+    }
+ 
+    const fix1 = EditHelper.insertAt(lowFile, high.getStart(), `${fieldDefinition}
+${indentation}`);
+    const fix2 = EditHelper.replaceRange(lowFile, inlineData.getFirstToken().getStart(), inlineData.getLastToken().getEnd(), name);
+    const fix = EditHelper.merge(fix2, fix1);
+ 
+    return Issue.atToken(lowFile, inlineData.getFirstToken(), "Outline SELECT @DATA", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private downportSelectTableInline(low: StatementNode, high: StatementNode,
+                                    lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    const targets = high.findFirstExpression(Expressions.SQLIntoTable)?.findDirectExpressions(Expressions.SQLTarget) || [];
+    if (targets.length !== 1) {
+      return undefined;
+    }
+    const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+ 
+    const inlineData = targets[0].findFirstExpression(Expressions.InlineData);
+    if (inlineData === undefined) {
+      return undefined;
+    }
+ 
+    const sqlFrom = high.findAllExpressions(Expressions.SQLFromSource);
+    if (sqlFrom.length === 0) {
+      return Issue.atToken(lowFile, high.getFirstToken(), "Error outlining, sqlFrom not found", this.getMetadata().key, this.conf.severity);
+    }
+ 
+    let tableName = sqlFrom[0].findDirectExpression(Expressions.DatabaseTable)?.concatTokens();
+    if (tableName === undefined) {
+      return undefined;
+    }
+ 
+    const fieldList = high.findFirstExpression(Expressions.SQLFieldList);
+    if (fieldList === undefined) {
+      return undefined;
+    }
+    let fieldDefinitions = "";
+    for (const f of fieldList.findAllExpressions(Expressions.SQLFieldName)) {
+      let fieldName = f.concatTokens();
+      if (fieldName.includes("~")) {
+        const split = fieldName.split("~");
+        tableName = split[0];
+        fieldName = split[1];
+      }
+      fieldDefinitions += indentation + "        " + fieldName + " TYPE " + tableName + "-" + fieldName + ",\n";
+    }
+ 
+    const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    const name = inlineData.findFirstExpression(Expressions.TargetField)?.concatTokens() || "error";
+ 
+    let fix1 = EditHelper.insertAt(lowFile, high.getStart(), `TYPES: BEGIN OF ${uniqueName},
+${fieldDefinitions}${indentation}      END OF ${uniqueName}.
+${indentation}DATA ${name} TYPE STANDARD TABLE OF ${uniqueName} WITH DEFAULT KEY.
+${indentation}`);
+    if (fieldDefinitions === "") {
+      fix1 = EditHelper.insertAt(lowFile, high.getStart(), `DATA ${name} TYPE STANDARD TABLE OF ${tableName} WITH DEFAULT KEY.
+${indentation}`);
+    }
+ 
+    const fix2 = EditHelper.replaceRange(lowFile, inlineData.getFirstToken().getStart(), inlineData.getLastToken().getEnd(), name);
+    const fix = EditHelper.merge(fix2, fix1);
+ 
+    return Issue.atToken(lowFile, inlineData.getFirstToken(), "Outline SELECT @DATA", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  // the anonymous type minght be used in inferred type statements, define it so it can be referred
+  private anonymousTableType(high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(high.get() instanceof Statements.Data)) {
+      return undefined;
+    }
+ 
+    const tt = high.findFirstExpression(Expressions.TypeTable);
+    if (tt === undefined) {
+      return undefined;
+    }
+ 
+    const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    const code = `TYPES ${uniqueName} ${tt.concatTokens()}.\n`;
+ 
+    const fix1 = EditHelper.insertAt(lowFile, high.getStart(), code);
+    const fix2 = EditHelper.replaceRange(lowFile, tt.getFirstToken().getStart(), tt.getLastToken().getEnd(), "TYPE " + uniqueName);
+    const fix = EditHelper.merge(fix2, fix1);
+    return Issue.atToken(lowFile, high.getFirstToken(), "Add type for table definition", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private downportMessage(high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(high.get() instanceof Statements.Message)) {
+      return undefined;
+    }
+    const foundWith = high.findExpressionAfterToken("WITH");
+    if (foundWith === undefined) {
+      return undefined;
+    }
+    const likeSource = high.findExpressionAfterToken("LIKE");
+ 
+    for (const s of high.findAllExpressions(Expressions.Source)) {
+      if (s === likeSource) {
+        continue;
+      } else if (s.getChildren().length === 1 && s.getFirstChild()?.get() instanceof Expressions.Constant) {
+        continue;
+      } else if (s.getChildren().length === 1 && s.getFirstChild()?.get() instanceof Expressions.FieldChain) {
+        continue;
+      }
+      const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const firstToken = high.getFirstToken();
+      const code = `DATA(${uniqueName}) = ${s.concatTokens()}.\n${indentation}`;
+      const fix1 = EditHelper.insertAt(lowFile, firstToken.getStart(), code);
+      const fix2 = EditHelper.replaceRange(lowFile, s.getFirstToken().getStart(), s.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+      return Issue.atToken(lowFile, high.getFirstToken(), "Refactor MESSAGE WITH source", this.getMetadata().key, this.conf.severity, fix);
+    }
+
+    return undefined;
+  }
+ 
+  private replaceAppendExpression(high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(high.get() instanceof Statements.Append)) {
+      return undefined;
+    }
+ 
+    const children = high.getChildren();
+    if (children[1].get() instanceof Expressions.Source) {
+      const source = children[1];
+      const target = high.findDirectExpression(Expressions.Target);
+      if (target === undefined) {
+        return undefined;
+      }
+ 
+      const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const firstToken = high.getFirstToken();
+      const fix1 = EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${uniqueName} LIKE LINE OF ${target?.concatTokens()}.
+${indentation}${uniqueName} = ${source.concatTokens()}.\n${indentation}`);
+      const fix2 = EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, high.getFirstToken(), "Outline APPEND source expression", this.getMetadata().key, this.conf.severity, fix);
+    }
+
+    return undefined;
+  }
+ 
+  private downportReadTable(high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(high.get() instanceof Statements.ReadTable)) {
+      return undefined;
+    }
+ 
+    const source = high.findExpressionAfterToken("TABLE");
+    if (source?.get() instanceof Expressions.Source) {
+      const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const firstToken = high.getFirstToken();
+      const fix1 = EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA(${uniqueName}) = ${source.concatTokens()}.\n` + indentation);
+      const fix2 = EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+      return Issue.atToken(lowFile, high.getFirstToken(), "Outline table source", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private downportMessageSource(high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(high.get() instanceof Statements.Message)) {
+      return undefined;
+    }
+ 
+    const source = high.findExpressionAfterToken("MESSAGE");
+    if (source?.get() instanceof Expressions.Source) {
+      const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const firstToken = high.getFirstToken();
+      const fix1 = EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA(${uniqueName}) = ${source.concatTokens()}.\n` + indentation);
+      const fix2 = EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+      return Issue.atToken(lowFile, high.getFirstToken(), "Outline message source", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private replaceInsertExpression(high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(high.get() instanceof Statements.InsertInternal)) {
+      return undefined;
+    }
+ 
+    const children = high.getChildren();
+    if (children[1].get() instanceof Expressions.Source) {
+      const source = children[1];
+      const target = high.findDirectExpression(Expressions.Target);
+      if (target === undefined) {
+        return undefined;
+      }
+ 
+      const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const firstToken = high.getFirstToken();
+      const fix1 = EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${uniqueName} LIKE LINE OF ${target?.concatTokens()}.
+${indentation}${uniqueName} = ${source.concatTokens()}.\n${indentation}`);
+      const fix2 = EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, high.getFirstToken(), "Outline INSERT source expression", this.getMetadata().key, this.conf.severity, fix);
+    }
+
+    return undefined;
+  }
+ 
+  private replaceTableExpression(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (const fieldChain of high.findAllExpressionsRecursive(Expressions.FieldChain)) {
+      const tableExpression = fieldChain.findDirectExpression(Expressions.TableExpression);
+      if (tableExpression === undefined) {
+        continue;
+      }
+ 
+      const concat = high.concatTokens().toUpperCase();
+      if (concat.includes(" LINE_EXISTS( ") || concat.includes(" LINE_INDEX( ")) {
+        // note: line_exists() must be replaced before handling table expressions
+        continue;
+      }
+ 
+      let pre = "";
+      let startToken: AbstractToken | undefined = undefined;
+      for (const child of fieldChain.getChildren()) {
+        if (startToken === undefined) {
+          startToken = child.getFirstToken();
+        } else if (child === tableExpression) {
+          break;
+        }
+        pre += child.concatTokens();
+      }
+      if (startToken === undefined) {
+        continue;
+      }
+ 
+      const condition = this.tableCondition(tableExpression);
+ 
+      const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const tabixBackup = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const firstToken = high.getFirstToken();
+      // note that the tabix restore should be done before throwing the exception
+      const fix1 = EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${uniqueName} LIKE LINE OF ${pre}.
+${indentation}DATA ${tabixBackup} LIKE sy-tabix.
+${indentation}${tabixBackup} = sy-tabix.
+${indentation}READ TABLE ${pre} ${condition}INTO ${uniqueName}.
+${indentation}sy-tabix = ${tabixBackup}.
+${indentation}IF sy-subrc <> 0.
+${indentation}  RAISE EXCEPTION TYPE cx_sy_itab_line_not_found.
+${indentation}ENDIF.
+${indentation}`);
+      const fix2 = EditHelper.replaceRange(lowFile, startToken.getStart(), tableExpression.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      if (high.get() instanceof Statements.ElseIf) {
+        throw "downport, unable to downport table expression in ELSEIF";
+      }
+ 
+      return Issue.atToken(lowFile, high.getFirstToken(), "Outline table expression", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private tableCondition(tableExpression: ExpressionNode) {
+    let condition = "";
+    let keyName = "";
+    for (const c of tableExpression.getChildren() || []) {
+      if (c.getFirstToken().getStr() === "[" || c.getFirstToken().getStr() === "]") {
+        continue;
+      } else if (c.get() instanceof Expressions.ComponentChainSimple && condition === "") {
+        if (keyName === "") {
+          condition = "WITH KEY ";
+        } else {
+          condition = "WITH TABLE KEY " + keyName + " COMPONENTS ";
+        }
+      } else if (c.get() instanceof Expressions.Source && condition === "") {
+        condition = "INDEX ";
+      } else if (c instanceof TokenNode && c.getFirstToken().getStr().toUpperCase() === "KEY") {
+        continue;
+      } else if (c.get() instanceof Expressions.SimpleName) {
+        keyName = c.concatTokens();
+        continue;
+      }
+      condition += c.concatTokens() + " ";
+    }
+    return condition;
+  }
+ 
+  private outlineCatchSimple(node: StatementNode, lowFile: ABAPFile): Issue | undefined {
+    // outlines "CATCH cx_bcs INTO DATA(lx_bcs_excep).", note that this does not need to look at types
+ 
+    if (!(node.get() instanceof Statements.Catch)) {
+      return undefined;
+    }
+ 
+    const target = node.findFirstExpression(Expressions.Target);
+    if (!(target?.getFirstChild()?.get() instanceof Expressions.InlineData)) {
+      return undefined;
+    }
+ 
+    const classNames = node.findDirectExpressions(Expressions.ClassName);
+    if (classNames.length !== 1) {
+      return undefined;
+    }
+    const className = classNames[0].concatTokens();
+ 
+    const targetName = target.findFirstExpression(Expressions.TargetField)?.concatTokens();
+    const indentation = " ".repeat(node.getFirstToken().getStart().getCol() - 1);
+ 
+    const code = `  DATA ${targetName} TYPE REF TO ${className}.
+${indentation}CATCH ${className} INTO ${targetName}.`;
+ 
+    const fix = EditHelper.replaceRange(lowFile, node.getStart(), node.getEnd(), code);
+ 
+    return Issue.atToken(lowFile, node.getFirstToken(), "Outline DATA", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private outlineGetReferenceSimple(node: StatementNode, lowFile: ABAPFile): Issue | undefined {
+    if (!(node.get() instanceof Statements.GetReference)) {
+      return undefined;
+    }
+ 
+    const target = node.findFirstExpression(Expressions.Target);
+    if (!(target?.getFirstChild()?.get() instanceof Expressions.InlineData)) {
+      return undefined;
+    }
+ 
+    const source = node.findFirstExpression(Expressions.Source);
+    if (!(source?.getFirstChild()?.get() instanceof Expressions.FieldChain)) {
+      return undefined;
+    }
+ 
+    const targetName = target.findFirstExpression(Expressions.TargetField)?.concatTokens() || "errorError";
+    const indentation = " ".repeat(node.getFirstToken().getStart().getCol() - 1);
+    const firstToken = target.getFirstToken();
+    const lastToken = target.getLastToken();
+    const fix1 = EditHelper.insertAt(lowFile, node.getStart(), `DATA ${targetName} LIKE REF TO ${source.concatTokens()}.\n${indentation}`);
+    const fix2 = EditHelper.replaceRange(lowFile, firstToken.getStart(), lastToken.getEnd(), targetName);
+    const fix = EditHelper.merge(fix2, fix1);
+ 
+    return Issue.atToken(lowFile, node.getFirstToken(), "Outline DATA", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private outlineDataSimple(node: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(node.get() instanceof Statements.Move)) {
+      return undefined;
+    }
+ 
+    const target = node.findFirstExpression(Expressions.Target);
+    if (!(target?.getFirstChild()?.get() instanceof Expressions.InlineData)) {
+      return undefined;
+    }
+ 
+    let type = "";
+    const source = node.findFirstExpression(Expressions.Source);
+    if (source === undefined) {
+      return undefined;
+    } else if (source.getChildren().length !== 1) {
+      return undefined;
+    } else if (!(source.getFirstChild()?.get() instanceof Expressions.FieldChain)) {
+      return undefined;
+    } else if (source.findFirstExpression(Expressions.FieldOffset)) {
+      return undefined;
+    } else if (source.findFirstExpression(Expressions.FieldLength)) {
+      return undefined;
+    } else if (source.findFirstExpression(Expressions.TableExpression)) {
+      const chain = source.findDirectExpression(Expressions.FieldChain);
+      if (chain !== undefined
+          && chain.getChildren().length === 2
+          && chain.getChildren()[0].get() instanceof Expressions.SourceField
+          && chain.getChildren()[1].get() instanceof Expressions.TableExpression) {
+        type = "LINE OF " + chain.getChildren()[0].concatTokens();
+      } else {
+        return undefined;
+      }
+    } else {
+      const spag = highSyntax.spaghetti.lookupPosition(source.getFirstToken().getStart(), lowFile.getFilename());
+      if (spag) {
+        const found = spag.findVariable(source.concatTokens());
+        if (found && found.getType().isGeneric() === true) {
+          return undefined;
+        }
+      }
+ 
+      type = source.concatTokens();
+    }
+ 
+    const targetName = target.findFirstExpression(Expressions.TargetField)?.concatTokens();
+    const indentation = " ".repeat(node.getFirstToken().getStart().getCol() - 1);
+    const firstToken = node.getFirstToken();
+    const lastToken = node.getLastToken();
+    const fix1 = EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${targetName} LIKE ${type}.\n${indentation}`);
+    const fix2 = EditHelper.replaceRange(lowFile, firstToken.getStart(), lastToken.getEnd(), `${targetName} = ${source.concatTokens()}.`);
+    const fix = EditHelper.merge(fix2, fix1);
+ 
+    return Issue.atToken(lowFile, node.getFirstToken(), "Outline DATA", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private partiallyImplemented(node: StatementNode, lowFile: ABAPFile): Issue | undefined {
+ 
+    if (node.get() instanceof Statements.InterfaceDef) {
+      const partially = node.findDirectTokenByText("PARTIALLY");
+      if (partially === undefined) {
+        return undefined;
+      }
+      const implemented = node.findDirectTokenByText("IMPLEMENTED");
+      if (implemented === undefined) {
+        return undefined;
+      }
+      const fix = EditHelper.deleteRange(lowFile, partially.getStart(), implemented.getEnd());
+      return Issue.atToken(lowFile, partially, "Downport PARTIALLY IMPLEMENTED", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private raiseException(node: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+ 
+    /*
+    Note: IF_T100_DYN_MSG does not exist in 702, so this rule is mostly relevant for the transpiler
+ 
+    DATA foo LIKE if_t100_message=>t100key.
+    foo-msgid = 'ZHVAM'.
+    foo-msgno = '001'.
+    foo-attr1 = 'IF_T100_DYN_MSG~MSGV1'.
+    foo-attr2 = 'IF_T100_DYN_MSG~MSGV2'.
+    foo-attr3 = 'IF_T100_DYN_MSG~MSGV3'.
+    foo-attr4 = 'IF_T100_DYN_MSG~MSGV4'.
+    DATA bar TYPE REF TO zcl_hvam_exception.
+    CREATE OBJECT bar EXPORTING textid = foo.
+    bar->if_t100_dyn_msg~msgty = 'E'.
+    bar->if_t100_dyn_msg~msgv1 = 'abc'.
+    bar->if_t100_dyn_msg~msgv2 = 'abc'.
+    bar->if_t100_dyn_msg~msgv3 = 'abc'.
+    bar->if_t100_dyn_msg~msgv4 = 'abc'.
+    RAISE EXCEPTION bar.
+    */
+ 
+    if (!(node.get() instanceof Statements.Raise)) {
+      return undefined;
+    }
+ 
+    let id: string | undefined = undefined;
+    let number: string | undefined = undefined;
+ 
+    let startToken = node.findDirectTokenByText("ID");
+    if (startToken) {
+      const sources = node.findDirectExpressions(Expressions.Source);
+      id = sources[0].concatTokens();
+      const numberExpression = node.findExpressionAfterToken("NUMBER");
+      if (numberExpression === undefined) {
+        throw "downport raiseException, could not find number";
+      }
+      number = numberExpression.concatTokens();
+      if (numberExpression.get() instanceof Expressions.MessageNumber) {
+        number = "'" + number + "'";
+      }
+    } else {
+      const s = node.findDirectExpression(Expressions.MessageSource);
+      if (s === undefined) {
+        return undefined;
+      }
+ 
+      if (s.findDirectExpression(Expressions.MessageClass)) {
+        id = "'" + s.findDirectExpression(Expressions.MessageClass)?.concatTokens()?.toUpperCase() + "'";
+      } else {
+        id = s.findExpressionAfterToken("ID")?.concatTokens();
+      }
+ 
+      if (s.findDirectExpression(Expressions.MessageTypeAndNumber)) {
+        number = "'" + s.findDirectExpression(Expressions.MessageTypeAndNumber)?.concatTokens().substring(1) + "'";
+      } else {
+        number = s.findExpressionAfterToken("NUMBER")?.concatTokens();
+      }
+ 
+      startToken = node.getFirstToken();
+    }
+ 
+    const withs = node.findDirectExpression(Expressions.RaiseWith)?.findDirectExpressions(Expressions.SimpleSource1) || [];
+ 
+    const className = node.findDirectExpression(Expressions.ClassName)?.concatTokens() || "ERROR";
+ 
+    const uniqueName1 = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    const uniqueName2 = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    const indentation = " ".repeat(node.getFirstToken().getStart().getCol() - 1);
+ 
+    let abap = `DATA ${uniqueName1} LIKE if_t100_message=>t100key.
+${indentation}${uniqueName1}-msgid = ${id}.
+${indentation}${uniqueName1}-msgno = ${number}.\n`;
+    if (withs.length > 0) {
+      abap += `${indentation}${uniqueName1}-attr1 = 'IF_T100_DYN_MSG~MSGV1'.
+${indentation}${uniqueName1}-attr2 = 'IF_T100_DYN_MSG~MSGV2'.
+${indentation}${uniqueName1}-attr3 = 'IF_T100_DYN_MSG~MSGV3'.
+${indentation}${uniqueName1}-attr4 = 'IF_T100_DYN_MSG~MSGV4'.\n`;
+    }
+    abap += `${indentation}DATA ${uniqueName2} TYPE REF TO ${className}.
+${indentation}CREATE OBJECT ${uniqueName2} EXPORTING textid = ${uniqueName1}.\n`;
+    if (withs.length > 0) {
+      abap += `${indentation}${uniqueName2}->if_t100_dyn_msg~msgty = 'E'.\n`;
+    }
+    let count = 1;
+    for (const w of withs) {
+      abap += `${indentation}${uniqueName2}->if_t100_dyn_msg~msgv${count} = ${w.concatTokens()}.\n`;
+      count++;
+    }
+ 
+    abap += `${indentation}RAISE EXCEPTION ${uniqueName2}.`;
+ 
+    const fix = EditHelper.replaceRange(lowFile, node.getStart(), node.getEnd(), abap);
+    return Issue.atToken(lowFile, startToken, "Downport RAISE MESSAGE", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private emptyKey(low: StatementNode, node: StatementNode, lowFile: ABAPFile): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (let i of node.findAllExpressions(Expressions.TypeTable)) {
+      const key = i.findDirectExpression(Expressions.TypeTableKey);
+      if (key === undefined) {
+        continue;
+      }
+      i = key;
+      const concat = i.concatTokens();
+      if (concat.toUpperCase().includes("WITH EMPTY KEY") === false) {
+        continue;
+      }
+      const token = i.findDirectTokenByText("EMPTY");
+      if (token === undefined) {
+        continue;
+      }
+ 
+      const fix = EditHelper.replaceToken(lowFile, token, "DEFAULT");
+      return Issue.atToken(lowFile, i.getFirstToken(), "Downport EMPTY KEY", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private callFunctionParameterSimple(high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(high.get() instanceof Statements.CallFunction)) {
+      return undefined;
+    }
+ 
+    let found: ExpressionNode | undefined = undefined;
+    for (const p of high.findAllExpressions(Expressions.FunctionExportingParameter)) {
+      found = p.findDirectExpression(Expressions.Source);
+      if (found && (found.findDirectExpression(Expressions.FieldChain)
+          || found.findDirectExpression(Expressions.Constant)
+          || found.findDirectExpression(Expressions.TextElement))) {
+// its actually simple, ok
+        found = undefined;
+      } else if (found !== undefined) {
+        break;
+      }
+    }
+    if (found === undefined) {
+      return undefined;
+    }
+ 
+    const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+ 
+    const code = `DATA(${uniqueName}) = ${found.concatTokens()}.\n`;
+ 
+    const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);
+    const fix2 = EditHelper.replaceRange(lowFile, found.getFirstToken().getStart(), found.getLastToken().getEnd(), uniqueName);
+    const fix = EditHelper.merge(fix2, fix1);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Downport, call function parameter", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private downportCorrespondingSimple(high: StatementNode, lowFile: ABAPFile): Issue | undefined {
+    if (!(high.get() instanceof Statements.Move)
+        || high.getChildren().length !== 4
+        || high.getChildren()[2].getFirstToken().getStr().toUpperCase() !== "CORRESPONDING") {
+      return undefined;
+    }
+ 
+    const target = high.findDirectExpression(Expressions.Target);
+    if (target === undefined) {
+      return undefined;
+    }
+ 
+    const sourceRef = high.findFirstExpression(Expressions.Source)?.findFirstExpression(Expressions.CorrespondingBody);
+    if (sourceRef?.getChildren().length === 1 && target.concatTokens().toUpperCase().startsWith("DATA(") === false) {
+      const code = `MOVE-CORRESPONDING ${sourceRef.concatTokens()} TO ${target.concatTokens()}`;
+ 
+      const start = high.getFirstToken().getStart();
+      const end = high.getLastToken().getStart();
+      const fix = EditHelper.replaceRange(lowFile, start, end, code);
+ 
+      return Issue.atToken(lowFile, high.getFirstToken(), "Downport, simple CORRESPONDING move", this.getMetadata().key, this.conf.severity, fix);
+    } else if (sourceRef?.getChildren().length === 5 && sourceRef.getFirstChild()?.concatTokens().toUpperCase() === "BASE") {
+      let code = `${target.concatTokens()} = ${sourceRef.getChildren()[2].concatTokens()}.\n`;
+      code += `MOVE-CORRESPONDING ${sourceRef.getChildren()[4].concatTokens()} TO ${target.concatTokens()}`;
+ 
+      const start = high.getFirstToken().getStart();
+      const end = high.getLastToken().getStart();
+      const fix = EditHelper.replaceRange(lowFile, start, end, code);
+ 
+      return Issue.atToken(lowFile, high.getFirstToken(), "Downport, CORRESPONDING BASE move", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private downportRefSimple(high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(high.get() instanceof Statements.Move)
+        || high.getChildren().length !== 4
+        || high.getChildren()[2].getFirstToken().getStr().toUpperCase() !== "REF") {
+      return undefined;
+    }
+ 
+    const target = high.findDirectExpression(Expressions.Target);
+    if (target === undefined) {
+      return undefined;
+    }
+    const sourceRef = high.findFirstExpression(Expressions.Source)?.findDirectExpression(Expressions.Source);
+    if (sourceRef === undefined
+        || sourceRef.getChildren().length !== 1 ) {
+      return undefined;
+    }
+ 
+    let code = "";
+    if (sourceRef.findFirstExpression(Expressions.TableExpression)) {
+      const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      code = `ASSIGN ${sourceRef.concatTokens()} TO FIELD-SYMBOL(<${uniqueName}>).
+IF sy-subrc <> 0.
+  RAISE EXCEPTION TYPE cx_sy_itab_line_not_found.
+ENDIF.
+GET REFERENCE OF <${uniqueName}> INTO ${target.concatTokens()}`;
+    } else {
+      const concat = target.concatTokens();
+      code = `GET REFERENCE OF ${sourceRef.concatTokens()} INTO ${concat}`;
+ 
+      // workaround for handling generic ANY type,
+      if (concat.toUpperCase().startsWith("DATA(")) {
+        const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());
+        if (spag !== undefined) {
+          const found = spag.findVariable(sourceRef.concatTokens());
+          const tt = found?.getType();
+          if (tt instanceof AnyType) {
+            const tname = target.findFirstExpression(Expressions.TargetField)?.concatTokens();
+            code = `DATA ${tname} TYPE REF TO data.\nGET REFERENCE OF ${sourceRef.concatTokens()} INTO ${tname}`;
+          }
+        }
+      }
+ 
+    }
+ 
+    const start = high.getFirstToken().getStart();
+    const end = high.getLastToken().getStart();
+    const fix = EditHelper.replaceRange(lowFile, start, end, code);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Downport, simple REF move", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private downportLoopGroup(high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult, highFile: ABAPFile): Issue | undefined {
+    if (!(high.get() instanceof Statements.Loop)) {
+      return undefined;
+    }
+    const group = high.findDirectExpression(Expressions.LoopGroupBy);
+    if (group === undefined) {
+      return undefined;
+    }
+    const groupTargetName = group.findFirstExpression(Expressions.TargetField)?.concatTokens()
+      || group.findFirstExpression(Expressions.TargetFieldSymbol)?.concatTokens().replace("<", "_").replace(">", "_")
+      || "nameNotFound";
+    const loopSourceName = high.findFirstExpression(Expressions.SimpleSource2)?.concatTokens() || "nameNotFound";
+    const loopTargetName = high.findFirstExpression(Expressions.TargetField)?.concatTokens()
+      || high.findFirstExpression(Expressions.TargetFieldSymbol)?.concatTokens()
+      || "nameNotFound";
+    const groupTarget = group.findDirectExpression(Expressions.LoopGroupByTarget)?.concatTokens() || "";
+    const isReference = high.findFirstExpression(Expressions.LoopTarget)?.concatTokens().toUpperCase().startsWith("REFERENCE INTO ");
+ 
+    let loopSourceRowType = "typeNotFound";
+    const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());
+    if (spag !== undefined) {
+      const found = spag.findVariable(loopSourceName);
+      const tt = found?.getType();
+      if (tt instanceof TableType) {
+        loopSourceRowType = tt.getRowType().getQualifiedName() || "typeNotFound";
+      }
+    }
+ 
+    let code = `TYPES: BEGIN OF ${groupTargetName}type,\n`;
+    let condition = "";
+    let groupCountName: string | undefined = undefined;
+    let groupIndexName: string | undefined = undefined;
+    for (const c of group.findAllExpressions(Expressions.LoopGroupByComponent)) {
+      const name = c.findFirstExpression(Expressions.ComponentName);
+      let type = c.findFirstExpression(Expressions.Source)?.concatTokens() || "todo";
+      if (c.concatTokens()?.toUpperCase().endsWith(" = GROUP SIZE")) {
+        type = "i";
+        groupCountName = name?.concatTokens();
+      } else if (c.concatTokens()?.toUpperCase().endsWith(" = GROUP INDEX")) {
+        type = "i";
+        groupIndexName = name?.concatTokens();
+      } else {
+        if (condition !== "") {
+          condition += " ";
+        }
+        condition += c.concatTokens();
+        type = type.replace(loopTargetName, loopSourceRowType);
+        type = type.replace("->", "-");
+      }
+      code += `         ${name?.concatTokens()} TYPE ${type},\n`;
+    }
+    const s = group.findDirectExpression(Expressions.Source);
+    let singleName = "";
+    if (s) {
+      let type = s.concatTokens();
+      type = type.replace(loopTargetName, loopSourceRowType);
+      type = type.replace("->", "-");
+      singleName = s.concatTokens().split("-")[1];
+      code += `         ${singleName} TYPE ${type},\n`;
+      condition = singleName + " = " + s.concatTokens();
+    }
+ 
+    const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    const uniqueFS = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    const uniqueNameIndex = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    code += `         items LIKE ${loopSourceName},
+       END OF ${groupTargetName}type.
+DATA ${groupTargetName}tab TYPE STANDARD TABLE OF ${groupTargetName}type WITH DEFAULT KEY.
+DATA ${uniqueName} LIKE LINE OF ${groupTargetName}tab.
+LOOP AT ${loopSourceName} ${high.findFirstExpression(Expressions.LoopTarget)?.concatTokens()}.\n`;
+    if (groupIndexName !== undefined) {
+      code += `DATA(${uniqueNameIndex}) = sy-tabix.\n`;
+    }
+    code += `READ TABLE ${groupTargetName}tab ASSIGNING FIELD-SYMBOL(<${uniqueFS}>) WITH KEY ${condition}.
+IF sy-subrc = 0.\n`;
+    if (groupCountName !== undefined) {
+      code += `  <${uniqueFS}>-${groupCountName} = <${uniqueFS}>-${groupCountName} + 1.\n`;
+    }
+    code += `  INSERT ${loopTargetName}${isReference ? "->*" : ""} INTO TABLE <${uniqueFS}>-items.
+ELSE.\n`;
+    code += `  CLEAR ${uniqueName}.\n`;
+    for (const c of group.findAllExpressions(Expressions.LoopGroupByComponent)) {
+      const concat = c.concatTokens();
+//      console.dir(concat);
+      if (concat.endsWith(" GROUP INDEX")) {
+        code += `  ${uniqueName}-${groupIndexName} = ${uniqueNameIndex}.\n`;
+      } else if (concat.endsWith(" GROUP SIZE")) {
+        code += `  ${uniqueName}-${groupCountName} = 1.\n`;
+      } else {
+        code += `  ${uniqueName}-${concat}.\n`;
+      }
+    }
+    if (singleName !== "") {
+      code += `  ${uniqueName}-${singleName} = ${loopTargetName}-${singleName}.\n`;
+    }
+    code += `  INSERT ${loopTargetName}${isReference ? "->*" : ""} INTO TABLE ${uniqueName}-items.\n`;
+    code += `  INSERT ${uniqueName} INTO TABLE ${groupTargetName}tab.\n`;
+    code += `ENDIF.
+ENDLOOP.
+LOOP AT ${groupTargetName}tab ${groupTarget}.`;
+ 
+    let fix = EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), code);
+ 
+    for (const l of highFile.getStructure()?.findAllStructures(Structures.Loop) || []) {
+// make sure to find the correct/current loop statement
+      if (l.findDirectStatement(Statements.Loop) !== high) {
+        continue;
+      }
+      for (const loop of l.findAllStatements(Statements.Loop)) {
+        if (loop.concatTokens()?.toUpperCase().startsWith("LOOP AT GROUP ")) {
+          const subLoopSource = loop.findFirstExpression(Expressions.SimpleSource2);
+          if (subLoopSource === undefined) {
+            continue;
+          }
+          const subLoopSourceName = subLoopSource?.concatTokens() || "nameNotFound";
+          const subCode = `LOOP AT ${subLoopSourceName}${isReference ? "->" : "-"}items`;
+          const subFix = EditHelper.replaceRange(lowFile, loop.getFirstToken().getStart(), subLoopSource.getLastToken().getEnd(), subCode);
+          fix = EditHelper.merge(subFix, fix);
+        }
+      }
+    }
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Downport, LOOP GROUP", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private downportRef(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    let found: ExpressionNode | undefined = undefined;
+    for (const s of high.findAllExpressionsRecursive(Expressions.Source)) {
+      if (s.getFirstToken().getStr().toUpperCase() === "REF"
+          && s.findDirectExpression(Expressions.TypeNameOrInfer)) {
+        found = s;
+      }
+    }
+    if (found === undefined) {
+      return undefined;
+    }
+ 
+    const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+ 
+    const code = `DATA(${uniqueName}) = ${found.concatTokens()}.\n`;
+ 
+    const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);
+    const fix2 = EditHelper.replaceRange(lowFile, found.getFirstToken().getStart(), found.getLastToken().getEnd(), uniqueName);
+    const fix = EditHelper.merge(fix2, fix1);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Downport, REF", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private assignWithTable(low: StatementNode, high: StatementNode, lowFile: ABAPFile): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    if (!(high.get() instanceof Statements.Assign)) {
+      return undefined;
+    } else if (high.getChildren().length !== 5) {
+      return undefined;
+    }
+ 
+    const fieldChain = high.findDirectExpression(Expressions.AssignSource)?.findDirectExpression(Expressions.Source)?.findDirectExpression(Expressions.FieldChain);
+    const tableExpression = fieldChain?.getLastChild();
+    if (tableExpression === undefined
+        || !(tableExpression.get() instanceof Expressions.TableExpression)
+        || !(tableExpression instanceof ExpressionNode)) {
+      return undefined;
+    }
+ 
+    let condition = "";
+    if (tableExpression.getChildren().length === 3) {
+      const index = tableExpression.findDirectExpression(Expressions.Source);
+      if (index === undefined) {
+        return undefined;
+      }
+      condition = `INDEX ${index.concatTokens()}`;
+    } else {
+      let concat = tableExpression.concatTokens();
+      concat = concat.substring(2);
+      concat = concat.substring(0, concat.length - 2);
+      condition = `WITH KEY ${concat}`;
+    }
+ 
+    let pre = "";
+    for (const c of fieldChain!.getChildren() ) {
+      if (c === tableExpression) {
+        break;
+      }
+      pre += c.concatTokens();
+    }
+ 
+    const fsTarget = high.findDirectExpression(Expressions.FSTarget);
+    const code = `READ TABLE ${pre} ${condition} ASSIGNING ${fsTarget?.concatTokens()}.`;
+ 
+    const fix = EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), code);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Downport, ASSIGN table expr", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private assignComponent(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    if (!(high.get() instanceof Statements.Assign)) {
+      return undefined;
+    }
+ 
+    const assignSource = high.findDirectExpression(Expressions.AssignSource);
+    if (assignSource === undefined || assignSource.getFirstToken().getStr().toUpperCase() !== "COMPONENT") {
+      return undefined;
+    }
+ 
+    const componentSource = assignSource.findExpressionAfterToken("COMPONENT");
+    if (componentSource === undefined || componentSource.get() instanceof Expressions.SimpleSource3) {
+      return undefined;
+    }
+ 
+    const uniqueName = this.uniqueName(assignSource.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+ 
+    const code = `DATA(${uniqueName}) = ${componentSource.concatTokens()}.\n`;
+    const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);
+    const fix2 = EditHelper.replaceRange(lowFile, componentSource.getFirstToken().getStart(), componentSource.getLastToken().getEnd(), uniqueName);
+    const fix = EditHelper.merge(fix2, fix1);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Downport, ASSIGN COMPONENT source", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private moveWithSimpleValue(low: StatementNode, high: StatementNode, lowFile: ABAPFile): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    if (!(high.get() instanceof Statements.Move)
+        || high.getChildren().length !== 4) {
+      return undefined;
+    }
+ 
+    const target = high.findDirectExpression(Expressions.Target);
+    if (target === undefined) {
+      return undefined;
+    }
+    const source = high.findDirectExpression(Expressions.Source);
+    if (source === undefined) {
+      return undefined;
+    }
+    const field = target.findDirectExpression(Expressions.TargetField);
+    if (field === undefined) {
+      return;
+    }
+    const valueBody = source.findDirectExpression(Expressions.ValueBody);
+    if (valueBody === undefined) {
+      return;
+    }
+    const type = source.findDirectExpression(Expressions.TypeNameOrInfer);
+    if (type === undefined || type?.concatTokens() !== "#") {
+      return;
+    }
+ 
+    const fieldAssignments = valueBody.findDirectExpressions(Expressions.FieldAssignment);
+    if (fieldAssignments.length === 0) {
+      return;
+    } else if (fieldAssignments.length !== valueBody.getChildren().length) {
+      return;
+    }
+ 
+    const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+    let code = `CLEAR ${target.concatTokens()}.\n`;
+    for (const fieldAssignment of fieldAssignments) {
+      code += indentation + target.concatTokens() + "-" + fieldAssignment.concatTokensWithLinebreaks() + `.\n`;
+    }
+    code = code.trimEnd();
+ 
+    const start = high.getFirstToken().getStart();
+    const end = high.getLastToken().getEnd();
+    const fix = EditHelper.replaceRange(lowFile, start, end, code);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Downport, simple move", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  // note, downporting ENUM does not give the correct types, but it will work in most cases?
+  private downportEnum(_low: StatementNode, high: StatementNode, lowFile: ABAPFile,
+                       _highSyntax: ISyntaxResult, highFile: ABAPFile): Issue | undefined {
+    if (!(high.get() instanceof Statements.TypeEnumBegin)) {
+      return undefined;
+    }
+    const enumStructure = highFile.getStructure()?.findFirstStructure(Structures.TypeEnum);
+    if (enumStructure === undefined) {
+      return undefined;
+    }
+    if (enumStructure.getFirstStatement() !== high) {
+      return undefined;
+    }
+ 
+    const enumName = high.findExpressionAfterToken("ENUM")?.concatTokens();
+    const structureName = high.findExpressionAfterToken("STRUCTURE")?.concatTokens();
+ 
+// all ENUMS are char like?
+    let code = `TYPES ${enumName} TYPE string.
+CONSTANTS: BEGIN OF ${structureName},\n`;
+    let count = 1;
+    for (const e of enumStructure.findDirectStatements(Statements.TypeEnum).concat(enumStructure.findDirectStatements(Statements.Type))) {
+      const name = e.findFirstExpression(Expressions.NamespaceSimpleName)?.concatTokens();
+      let value = e.findFirstExpression(Expressions.Value)?.concatTokens();
+      if (value === undefined) {
+        value = "VALUE '" + count++ + "'";
+      }
+      code += `             ${name} TYPE ${enumName} ${value},\n`;
+    }
+    code += `           END OF ${structureName}.`;
+ 
+    const start = enumStructure.getFirstToken().getStart();
+    const end = enumStructure.getLastToken().getEnd();
+    const fix = EditHelper.replaceRange(lowFile, start, end, code);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Downport ENUM", this.getMetadata().key, this.conf.severity, fix);
+ 
+  }
+ 
+  private moveWithTableTarget(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    if (!(high.get() instanceof Statements.Move)) {
+      return undefined;
+    }
+ 
+    const target = high.findDirectExpression(Expressions.Target);
+    if (target === undefined) {
+      return undefined;
+    }
+    const tableExpression = target.findDirectExpression(Expressions.TableExpression);
+    if (tableExpression === undefined) {
+      return undefined;
+    }
+    const index = tableExpression.findDirectExpression(Expressions.Source);
+    if (index === undefined) {
+      return undefined;
+    }
+ 
+    let uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    uniqueName = `<${uniqueName}>`;
+ 
+    const tName = target.concatTokens().split("[")[0];
+    const condition = this.tableCondition(tableExpression);
+ 
+    const tabixBackup = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+    const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+    // restore tabix before exeption
+    const code = `FIELD-SYMBOLS ${uniqueName} LIKE LINE OF ${tName}.
+${indentation}DATA ${tabixBackup} LIKE sy-tabix.
+${indentation}${tabixBackup} = sy-tabix.
+${indentation}READ TABLE ${tName} ${condition}ASSIGNING ${uniqueName}.
+${indentation}sy-tabix = ${tabixBackup}.
+${indentation}IF sy-subrc <> 0.
+${indentation}  RAISE EXCEPTION TYPE cx_sy_itab_line_not_found.
+${indentation}ENDIF.
+${indentation}${uniqueName}`;
+ 
+    const start = target.getFirstToken().getStart();
+    const end = tableExpression.findDirectTokenByText("]")?.getEnd();
+    if (end === undefined) {
+      return undefined;
+    }
+    const fix = EditHelper.replaceRange(lowFile, start, end, code);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Downport, move with table target", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private moveWithOperator(low: StatementNode, high: StatementNode, lowFile: ABAPFile): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    } else if (!(high.get() instanceof Statements.Move)) {
+      return undefined;
+    }
+    const children = high.getChildren();
+    const secondChild = children[1];
+    if (secondChild === undefined) {
+      return undefined;
+    }
+ 
+    const op = secondChild.getFirstToken();
+    let operator = "";
+    switch (op.getStr()) {
+      case "+":
+        operator = " + ";
+        break;
+      case "-":
+        operator = " - ";
+        break;
+      case "/=":
+        operator = " / ";
+        break;
+      case "*=":
+        operator = " * ";
+        break;
+      case "&&=":
+        operator = " && ";
+        break;
+      default:
+        return undefined;
+    }
+ 
+    const target = high.findDirectExpression(Expressions.Target)?.concatTokens();
+    if (target === undefined) {
+      return;
+    }
+ 
+    const sourceStart = high.findDirectExpression(Expressions.Source)?.getFirstChild()?.getFirstToken().getStart();
+    if (sourceStart === undefined) {
+      return;
+    }
+ 
+    const fix = EditHelper.replaceRange(lowFile, op.getStart(), sourceStart, "= " + target + operator);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Expand operator", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  // must be very simple string templates, like "|{ ls_line-no ALPHA = IN }|"
+  private stringTemplateAlpha(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (const child of high.findAllExpressionsRecursive(Expressions.StringTemplate)) {
+      const templateTokens = child.getChildren();
+      if (templateTokens.length !== 3
+          || templateTokens[0].getFirstToken().getStr() !== "|{"
+          || templateTokens[2].getFirstToken().getStr() !== "}|") {
+        continue;
+      }
+ 
+      const templateSource = child.findDirectExpression(Expressions.StringTemplateSource);
+      const formatting = templateSource?.findDirectExpression(Expressions.StringTemplateFormatting)?.concatTokens();
+      let functionName = "";
+      switch (formatting) {
+        case "ALPHA = IN":
+          functionName = "CONVERSION_EXIT_ALPHA_INPUT";
+          break;
+        case "ALPHA = OUT":
+          functionName = "CONVERSION_EXIT_ALPHA_OUTPUT";
+          break;
+        default:
+          return undefined;
+      }
+ 
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const source = templateSource?.findDirectExpression(Expressions.Source)?.concatTokens();
+      const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+ 
+      const code = `DATA ${uniqueName} TYPE string.
+${indentation}CALL FUNCTION '${functionName}'
+${indentation}  EXPORTING
+${indentation}    input  = ${source}
+${indentation}  IMPORTING
+${indentation}    output = ${uniqueName}.\n`;
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);
+      const fix2 = EditHelper.replaceRange(lowFile, child.getFirstToken().getStart(), child.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+      return Issue.atToken(lowFile, high.getFirstToken(), "Downport ALPHA", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+ 
+  }
+ 
+  private outlineLoopInput(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    } else if (!(high.get() instanceof Statements.Loop)) {
+      return undefined;
+    } else if (high.findDirectExpression(Expressions.SimpleSource2)) {
+      return undefined;
+    }
+ 
+    // the first Source must be outlined
+    const s = high.findDirectExpression(Expressions.Source);
+    if (s === undefined) {
+      return undefined;
+    }
+ 
+    const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+ 
+    const code = `DATA(${uniqueName}) = ${s.concatTokens()}.\n` +
+      " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+    const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);
+    const fix2 = EditHelper.replaceRange(lowFile, s.getFirstToken().getStart(), s.getLastToken().getEnd(), uniqueName);
+    const fix = EditHelper.merge(fix2, fix1);
+ 
+    return Issue.atToken(lowFile, high.getFirstToken(), "Outline LOOP input", this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private outlineLoopTarget(node: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+// also allows outlining of voided types
+    if (!(node.get() instanceof Statements.Loop)) {
+      return undefined;
+    }
+ 
+    const sourceName = node.findDirectExpression(Expressions.SimpleSource2)?.concatTokens();
+    if (sourceName === undefined) {
+      return undefined;
+    }
+ 
+    const concat = node.concatTokens().toUpperCase();
+    if (concat.includes(" GROUP BY ") || concat.startsWith("LOOP AT GROUP ")) {
+      return undefined;
+    }
+    const isReference = concat.includes(" REFERENCE INTO ");
+    const indentation = " ".repeat(node.getFirstToken().getStart().getCol() - 1);
+ 
+    const dataTarget = node.findDirectExpression(Expressions.LoopTarget)?.findDirectExpression(Expressions.Target)?.findDirectExpression(Expressions.InlineData);
+    if (dataTarget) {
+      const targetName = dataTarget.findDirectExpression(Expressions.TargetField)?.concatTokens() || "DOWNPORT_ERROR";
+      let code = `DATA ${targetName} LIKE LINE OF ${sourceName}.\n${indentation}`;
+      if (isReference) {
+        const likeName = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+        code = `DATA ${likeName} LIKE LINE OF ${sourceName}.\n${indentation}DATA ${targetName} LIKE REF TO ${likeName}.\n${indentation}`;
+      }
+      const fix1 = EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);
+      const fix2 = EditHelper.replaceRange(lowFile, dataTarget.getFirstToken().getStart(), dataTarget.getLastToken().getEnd(), targetName);
+      const fix = EditHelper.merge(fix2, fix1);
+      return Issue.atToken(lowFile, node.getFirstToken(), "Outline LOOP data target", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    const fsTarget = node.findDirectExpression(Expressions.LoopTarget)?.findDirectExpression(Expressions.FSTarget)?.findDirectExpression(Expressions.InlineFS);
+    if (fsTarget) {
+      const targetName = fsTarget.findDirectExpression(Expressions.TargetFieldSymbol)?.concatTokens() || "DOWNPORT_ERROR";
+      const code = `FIELD-SYMBOLS ${targetName} LIKE LINE OF ${sourceName}.\n${indentation}`;
+      const fix1 = EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);
+      const fix2 = EditHelper.replaceRange(lowFile, fsTarget.getFirstToken().getStart(), fsTarget.getLastToken().getEnd(), targetName);
+      const fix = EditHelper.merge(fix2, fix1);
+      return Issue.atToken(lowFile, node.getFirstToken(), "Outline LOOP fs target", this.getMetadata().key, this.conf.severity, fix);
+    }
+
+    return undefined;
+  }
+ 
+  private outlineFor(forLoop: ExpressionNode, indentation: string, lowFile: ABAPFile, highSyntax: ISyntaxResult):
+  {body: string, end: string} {
+    let body = "";
+    let end = "";
+    const loopSource = forLoop.findFirstExpression(Expressions.Source)?.concatTokens();
+ 
+    let loopTargetFieldExpression = forLoop.findFirstExpression(Expressions.TargetField);
+    let loopTargetFieldName = loopTargetFieldExpression?.concatTokens();
+    const of = forLoop.findExpressionAfterToken("OF");
+    if (of !== undefined) {
+      loopTargetFieldExpression = of;
+      loopTargetFieldName = of?.concatTokens();
+    }
+    if (forLoop.findDirectExpression(Expressions.InlineLoopDefinition)?.getFirstChild()?.get() instanceof Expressions.TargetFieldSymbol) {
+      loopTargetFieldExpression = undefined;
+      loopTargetFieldName = undefined;
+    }
+ 
+    if (loopTargetFieldExpression) {
+      const start = loopTargetFieldExpression.getFirstToken().getStart();
+      const spag = highSyntax.spaghetti.lookupPosition(start, lowFile.getFilename());
+      if (loopTargetFieldName && spag) {
+        if (new SpagHelper(spag).isDuplicateName(loopTargetFieldName, start)) {
+          this.renameVariable(spag, loopTargetFieldName, start, lowFile, highSyntax);
+        }
+      }
+    }
+ 
+    let cond = forLoop.findDirectExpression(Expressions.ComponentCond)?.concatTokens() || "";
+    if (cond !== "") {
+      cond = " WHERE " + cond;
+    }
+ 
+    const loop = forLoop.findDirectExpression(Expressions.InlineLoopDefinition);
+    const indexInto = loop?.findExpressionAfterToken("INTO")?.concatTokens();
+ 
+    if (forLoop.findDirectTokenByText("UNTIL")
+        || forLoop.findDirectTokenByText("WHILE")) {
+      const fieldDef = forLoop.findDirectExpression(Expressions.InlineFieldDefinition);
+      const field = fieldDef?.findFirstExpression(Expressions.Field)?.concatTokens();
+      const indexBackup = this.uniqueName(forLoop.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      body += indentation + "DATA " + field + " TYPE i.\n";
+      const second = fieldDef?.getChildren()[2];
+      if (second?.get() instanceof Expressions.Source) {
+        body += indentation + field + " = " + second.concatTokens() + ".\n";
+      }
+ 
+      const not = forLoop.findDirectTokenByText("UNTIL") ? " NOT" : "";
+      const cond = forLoop.findFirstExpression(Expressions.Cond);
+      body += indentation + `DATA ${indexBackup} LIKE sy-index.\n`;
+      body += indentation + `${indexBackup} = sy-index.\n`;
+      body += indentation + `WHILE${not} ${cond?.concatTokens()}.\n`;
+      body += indentation + `  sy-index = ${indexBackup}.\n`;
+ 
+      const then = forLoop.findExpressionAfterToken("THEN");
+      if (then) {
+        end += `  ${field} = ${then.concatTokens()}.\n`;
+      } else {
+        end += `  ${field} = ${field} + 1.\n`;
+      }
+ 
+      end += indentation + "ENDWHILE";
+    } else if (loopTargetFieldName !== undefined) {
+      let from = forLoop.findExpressionAfterToken("FROM")?.concatTokens();
+      from = from ? " FROM " + from : "";
+      let to = forLoop.findExpressionAfterToken("TO")?.concatTokens();
+      to = to ? " TO " + to : "";
+ 
+      let gby = "";
+      for (const lg of forLoop.findDirectExpressions(Expressions.LoopGroupByComponent)) {
+        if (gby !== "") {
+          gby += " ";
+        }
+        gby += lg.concatTokens();
+      }
+      if (gby !== "") {
+        gby = " GROUP BY ( " + gby + " )";
+      }
+      const fc = forLoop.findDirectExpression(Expressions.FieldChain);
+      if (fc) {
+        gby = " GROUP BY " + fc.concatTokens();
+      }
+      if (forLoop.findDirectTokenByText("ASCENDING")) {
+        gby += " ASCENDING";
+      }
+      if (forLoop.findDirectTokenByText("DESCENDING")) {
+        gby += " DESCENDING";
+      }
+ 
+      const groups = forLoop.findExpressionAfterToken("GROUPS");
+      if (groups) {
+        const concat = groups.concatTokens();
+        if (concat.startsWith("<")) {
+          gby += " ASSIGNING FIELD-SYMBOL(" + concat + ")";
+        } else {
+          gby += " INTO DATA(" + concat + ")";
+        }
+      }
+ 
+      let inGroup = "";
+      if(forLoop.concatTokens().toUpperCase().includes(" IN GROUP ")) {
+        inGroup = "-items";
+      }
+ 
+      let into = "INTO DATA";
+      if (loopTargetFieldName.startsWith("<")) {
+        into = "ASSIGNING FIELD-SYMBOL";
+      }
+      // todo, also backup sy-index / sy-tabix here?
+      body += indentation + `LOOP AT ${loopSource}${inGroup} ${into}(${loopTargetFieldName})${from}${to}${cond}${gby}.\n`;
+      if (indexInto) {
+        body += indentation + "  DATA(" + indexInto + ") = sy-tabix.\n";
+      }
+      end = "ENDLOOP";
+    } else if (loopTargetFieldName === undefined) {
+      // todo, also backup sy-index / sy-tabix here?
+      const loopTargetFieldSymbol = forLoop.findFirstExpression(Expressions.TargetFieldSymbol)?.concatTokens();
+      body += indentation + `LOOP AT ${loopSource} ASSIGNING FIELD-SYMBOL(${loopTargetFieldSymbol})${cond}.\n`;
+      if (indexInto) {
+        body += indentation + "  DATA(" + indexInto + ") = sy-tabix.\n";
+      }
+      end = "ENDLOOP";
+    }
+ 
+    const l = forLoop.findDirectExpression(Expressions.Let);
+    if (l) {
+      body += this.outlineLet(l, indentation, highSyntax, lowFile);
+    }
+ 
+    return {body, end};
+  }
+ 
+  private outlineFilter(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {
+      const firstToken = i.getFirstToken();
+      if (firstToken.getStr().toUpperCase() !== "FILTER") {
+        continue;
+      }
+ 
+      const filterBody = i.findDirectExpression(Expressions.FilterBody);
+      if (filterBody === undefined) {
+        continue;
+      }
+ 
+      const sourceName = filterBody.findDirectExpression(Expressions.Source)?.concatTokens();
+      if (sourceName === undefined) {
+        continue;
+      }
+ 
+      let type = this.findType(i, lowFile, highSyntax);
+      if (type === undefined) {
+        type = "LIKE " + sourceName;
+      } else {
+        type = "TYPE " + type;
+      }
+ 
+      const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);
+      const loopName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      let body = "";
+ 
+      body += `DATA ${uniqueName} ${type}.\n`;
+      body += `${indentation}LOOP AT ${sourceName} INTO DATA(${loopName}) ${filterBody.concatTokens().substring(sourceName.length + 1)}.\n`;
+      body += `${indentation}  INSERT ${loopName} INTO TABLE ${uniqueName}.\n`;
+      body += `${indentation}ENDLOOP.\n${indentation}`;
+ 
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), body);
+      const fix2 = EditHelper.replaceRange(lowFile, firstToken.getStart(), i.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, firstToken, "Downport FILTER", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private outlineSwitch(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {
+      const firstToken = i.getFirstToken();
+      if (firstToken.getStr().toUpperCase() !== "SWITCH") {
+        continue;
+      }
+ 
+      let type = this.findType(i, lowFile, highSyntax);
+      if (type === undefined) {
+        if (high.get() instanceof Statements.Move
+            && high.findDirectExpression(Expressions.Source) === i
+            && high.findDirectExpression(Expressions.Target)?.findDirectExpression(Expressions.TargetField) !== undefined) {
+          type = "LIKE " + high.findDirectExpression(Expressions.Target)?.concatTokens();
+        }
+        if (type === undefined) {
+          continue;
+        }
+      } else {
+        type = "TYPE " + type;
+      }
+ 
+      const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      let body = "";
+      let name = "";
+ 
+      const switchBody = i.findDirectExpression(Expressions.SwitchBody);
+      if (switchBody === undefined) {
+        continue;
+      }
+ 
+      for (const l of switchBody?.findDirectExpression(Expressions.Let)?.findDirectExpressions(Expressions.InlineFieldDefinition) || []) {
+        name = l.getFirstToken().getStr();
+        body += indentation + `DATA(${name}) = ${switchBody.findFirstExpression(Expressions.Source)?.concatTokens()}.\n`;
+      }
+ 
+      body += `DATA ${uniqueName} ${type}.\n`;
+      let firstSource = false;
+      let inWhen = false;
+      for (const c of switchBody.getChildren()) {
+        if (c.get() instanceof Expressions.Source && firstSource === false) {
+          body += indentation + `CASE ${c.concatTokens()}.`;
+          firstSource = true;
+        } else if (c instanceof TokenNode && c.concatTokens().toUpperCase() === "THEN") {
+          inWhen = true;
+          body += ".\n";
+        } else if (c instanceof TokenNode && c.concatTokens().toUpperCase() === "WHEN") {
+          inWhen = false;
+          body += `\n${indentation}  WHEN `;
+        } else if (c instanceof TokenNode && c.concatTokens().toUpperCase() === "OR") {
+          body += ` OR `;
+        } else if (c instanceof TokenNode && c.concatTokens().toUpperCase() === "ELSE") {
+          inWhen = true;
+          body += `\n${indentation}  WHEN OTHERS.\n`;
+        } else if (inWhen === false) {
+          body += c.concatTokens();
+        } else {
+          body += indentation + "    " + uniqueName + " = " + c.concatTokens() + ".";
+        }
+      }
+      body += "\n" + indentation + "ENDCASE.\n" + indentation;
+ 
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), body);
+      const fix2 = EditHelper.replaceRange(lowFile, firstToken.getStart(), i.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, firstToken, "Downport SWITCH", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private outlineReduce(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {
+      const firstToken = i.getFirstToken();
+      if (firstToken.getStr().toUpperCase() !== "REDUCE") {
+        continue;
+      }
+ 
+      const type = this.findType(i, lowFile, highSyntax);
+      if (type === undefined) {
+        continue;
+      }
+ 
+      const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      let body = "";
+      let name = "";
+ 
+      const reduceBody = i.findDirectExpression(Expressions.ReduceBody);
+      if (reduceBody === undefined) {
+        continue;
+      }
+ 
+      const letNode = reduceBody.findDirectExpression(Expressions.Let);
+      if (letNode) {
+        body += this.outlineLet(letNode, indentation, highSyntax, lowFile);
+      }
+ 
+      let firstName = "";
+      for (const init of reduceBody.findDirectExpressions(Expressions.InlineFieldDefinition)) {
+        name = init.getFirstToken().getStr();
+        if (firstName === "") {
+          firstName = name;
+        }
+ 
+        const spag = highSyntax.spaghetti.lookupPosition(init.getFirstToken().getStart(), lowFile.getFilename());
+        if (spag && new SpagHelper(spag).isDuplicateName(name, init.getFirstToken().getStart())) {
+          this.renameVariable(spag, name, init.getFirstToken().getStart(), lowFile, highSyntax);
+        }
+ 
+        const s = init.findFirstExpression(Expressions.Source)?.concatTokens();
+        const t = init.findFirstExpression(Expressions.TypeName)?.concatTokens();
+        if (s) {
+          if (s.toUpperCase().startsWith("VALUE #")) {
+            body += indentation + `DATA(${name}) = ${s.replace("#", type)}.\n`;
+          } else {
+            body += indentation + `DATA(${name}) = ${s}.\n`;
+          }
+        } else {
+          body += indentation + `DATA ${name} TYPE ${t}.\n`;
+        }
+      }
+ 
+      let end = "";
+      for (const forLoop of reduceBody?.findDirectExpressions(Expressions.For) || []) {
+        const outlineFor = this.outlineFor(forLoop, indentation, lowFile, highSyntax);
+        body += outlineFor.body;
+        end = outlineFor.end + `.\n` + end;
+      }
+ 
+      const next = reduceBody.findDirectExpression(Expressions.ReduceNext);
+      if (next === undefined) {
+        continue;
+      }
+      for (const n of next.getChildren()) {
+        const concat = n.concatTokens();
+        if (concat.toUpperCase() === "NEXT") {
+          continue;
+        } else if (n.get() instanceof Expressions.SimpleTarget) {
+          body += indentation + "  " + concat + " ";
+        } else if (n.get() instanceof Expressions.Source) {
+          body += " " + concat + ".\n";
+        } else {
+          body += concat;
+        }
+      }
+ 
+      body += indentation + end;
+      body += indentation + `${uniqueName} = ${firstName}.\n`;
+ 
+      const abap = `DATA ${uniqueName} TYPE ${type}.\n` +
+        body +
+        indentation;
+      const reduceEnd = i.findDirectTokenByText(")");
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);
+      const fix2 = EditHelper.replaceRange(lowFile, firstToken.getStart(), reduceEnd!.getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, firstToken, "Downport REDUCE", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private outlineCorresponding(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    const allSources = high.findAllExpressionsRecursive(Expressions.Source);
+    for (const s of allSources) {
+      const firstToken = s.getFirstToken();
+      if (firstToken.getStr().toUpperCase() !== "CORRESPONDING") {
+        continue;
+      }
+ 
+      const correspondingBody = s.findDirectExpression(Expressions.CorrespondingBody);
+ 
+      if (correspondingBody?.getFirstToken().getStr().toUpperCase() === "BASE") {
+        continue;
+      }
+ 
+      const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+ 
+      let type = this.findType(s, lowFile, highSyntax);
+      if (type === undefined) {
+        if (high.get() instanceof Statements.Move && high.findDirectExpression(Expressions.Source) === s) {
+          type = "LIKE " + high.findDirectExpression(Expressions.Target)?.concatTokens();
+        }
+        if (type === undefined) {
+          continue;
+        }
+      } else {
+        type = "TYPE " + type;
+      }
+ 
+      const abap = `DATA ${uniqueName} ${type}.\n` +
+        indentation + `CLEAR ${uniqueName}.\n` + // might be called inside a loop
+        indentation + `MOVE-CORRESPONDING ${correspondingBody?.concatTokens()} TO ${uniqueName}.\n` +
+        indentation;
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);
+      const fix2 = EditHelper.replaceRange(lowFile, firstToken.getStart(), s.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, firstToken, "Downport CORRESPONDING", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private outlineValue(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    const allSources = high.findAllExpressionsRecursive(Expressions.Source);
+    for (const s of allSources) {
+      const firstToken = s.getFirstToken();
+      if (firstToken.getStr().toUpperCase() !== "VALUE") {
+        continue;
+      }
+ 
+      const valueBody = s.findDirectExpression(Expressions.ValueBody);
+ 
+      let type = this.findType(s, lowFile, highSyntax);
+      if (type === undefined) {
+        if (high.get() instanceof Statements.Move && high.findDirectExpression(Expressions.Source) === s) {
+          type = "LIKE " + high.findDirectExpression(Expressions.Target)?.concatTokens();
+        }
+        if (type === undefined) {
+          continue;
+        }
+      } else {
+        type = "TYPE " + type;
+      }
+ 
+      const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);
+      let indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      let body = "";
+      const base = valueBody?.findExpressionAfterToken("BASE");
+      if (base) {
+        body += indentation + uniqueName + " = " + base.concatTokens() + ".\n";
+      }
+      let end = "";
+ 
+      let structureName = uniqueName;
+      let added = false;
+      let data = "";
+      let previous: ExpressionNode | TokenNode | undefined = undefined;
+ 
+      if (valueBody?.findDirectExpression(Expressions.ValueBodyLine) !== undefined) {
+        structureName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);
+        const extra = valueBody?.findDirectExpression(Expressions.For) ? "  " : "";
+        data = indentation + extra + `DATA ${structureName} LIKE LINE OF ${uniqueName}.\n`;
+      }
+ 
+      for (const a of valueBody?.getChildren() || []) {
+        if (a.get() instanceof Expressions.FieldAssignment) {
+          if (added === false) {
+            body += data;
+            added = true;
+          }
+          body += indentation + structureName + "-" + a.concatTokens() + ".\n";
+        } else if (a instanceof ExpressionNode && a.get() instanceof Expressions.For) {
+          const outlineFor = this.outlineFor(a, indentation, lowFile, highSyntax);
+          body += outlineFor.body;
+          end = outlineFor.end + `.\n` + end;
+          indentation += "  ";
+        } else if (a instanceof ExpressionNode && a.get() instanceof Expressions.Source) {
+          // special handling for superflous value expression
+          if (valueBody?.getChildren().length === 1) {
+            body += indentation + uniqueName + " = " + a.concatTokens() + `.\n`;
+          }
+        } else if (a instanceof ExpressionNode && a.get() instanceof Expressions.Let) {
+          body += this.outlineLet(a, indentation, highSyntax, lowFile);
+        }
+        if (a instanceof ExpressionNode && a.get() instanceof Expressions.ValueBodyLine) {
+          let skip = false;
+          for (const b of a?.getChildren() || []) {
+            if (b.get() instanceof Expressions.FieldAssignment) {
+              if (added === false) {
+                body += data;
+                added = true;
+              }
+              body += indentation + structureName + "-" + (b as ExpressionNode).concatTokensWithLinebreaks() + ".\n";
+            } else if (b.get() instanceof Expressions.Source) {
+// note: it wont work with APPEND for Hashed/Sorted Tables, so use INSERT,
+              body += indentation + "INSERT " + b.concatTokens() + ` INTO TABLE ${uniqueName}.\n`;
+              skip = true;
+            } else if (b.get() instanceof Expressions.ValueBodyLines) {
+              body += indentation + "INSERT " + b.concatTokens() + ` INTO TABLE ${uniqueName}.\n`;
+              skip = true;
+            } else if (b.concatTokens() === ")") {
+              if (added === false && previous?.concatTokens() === "(") {
+                body += data;
+                added = true;
+              }
+              if (skip === false) {
+                body += indentation + `INSERT ${structureName} INTO TABLE ${uniqueName}.\n`;
+              }
+            }
+            previous = b;
+          }
+        }
+      }
+ 
+      if (body === "" && valueBody?.getLastChild()?.getFirstToken().getStr().toUpperCase() === "OPTIONAL") {
+        const fieldChain = valueBody.findFirstExpression(Expressions.FieldChain);
+        const rowName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);
+ 
+        let tableExpression: ExpressionNode | undefined = undefined;
+        let tabName = "";
+        let after = "";
+        for (const c of fieldChain?.getChildren() || []) {
+          if (c.get() instanceof Expressions.TableExpression && c instanceof ExpressionNode) {
+            tableExpression = c;
+          } else if (tableExpression === undefined) {
+            tabName += c.concatTokens();
+          } else {
+            after += c.concatTokens();
+          }
+        }
+ 
+        let condition = "";
+        if (tableExpression?.getChildren().length === 3) {
+          condition = "INDEX " + tableExpression?.findDirectExpression(Expressions.Source)?.concatTokens();
+        } else {
+          condition = "WITH KEY " + tableExpression?.concatTokens().replace("[ ", "").replace(" ]", "");
+        }
+ 
+        body +=
+          indentation + `READ TABLE ${tabName} INTO DATA(${rowName}) ${condition}.\n` +
+          indentation + `IF sy-subrc = 0.\n` +
+          indentation + `  ${uniqueName} = ${rowName}${after}.\n` +
+          indentation + `ENDIF.\n`;
+ 
+        if (type.includes("LIKE DATA(")) {
+          type = `LIKE LINE OF ${tabName}`;
+        }
+      }
+ 
+      if (end !== "") {
+        indentation = indentation.substring(2);
+        body += indentation + end;
+      }
+ 
+      const abap = `DATA ${uniqueName} ${type}.\n` +
+        indentation + `CLEAR ${uniqueName}.\n` + // might be called inside a loop
+        body +
+        indentation;
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);
+      const fix2 = EditHelper.replaceRange(lowFile, firstToken.getStart(), s.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, firstToken, "Downport VALUE", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private outlineLet(node: ExpressionNode, indentation: string, highSyntax: ISyntaxResult, lowFile: ABAPFile): string {
+    let ret = "";
+    for (const f of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {
+      const c = f.getFirstChild();
+      if (c === undefined) {
+        continue;
+      }
+      const name = c.concatTokens().toLowerCase();
+ 
+      const spag = highSyntax.spaghetti.lookupPosition(c.getFirstToken().getStart(), lowFile.getFilename());
+      if (spag === undefined) {
+        continue;
+      }
+ 
+      if (new SpagHelper(spag).isDuplicateName(name, c.getFirstToken().getStart())) {
+        this.renameVariable(spag, name, c.getFirstToken().getStart(), lowFile, highSyntax);
+      }
+ 
+      const found = spag.findVariable(name);
+      if (found === undefined) {
+        const source = f.findFirstExpression(Expressions.Source);
+        if (source) {
+          ret += indentation + "DATA(" + name + `) = ${source.concatTokens()}.\n`;
+        }
+        continue;
+      }
+      const type = found.getType().getQualifiedName() ? found.getType().getQualifiedName()?.toLowerCase() : found.getType().toABAP();
+ 
+      ret += indentation + "DATA " + name + ` TYPE ${type}.\n`;
+ 
+      const source = f.findFirstExpression(Expressions.Source);
+      if (source) {
+        ret += indentation + name + ` = ${source.concatTokens()}.\n`;
+      }
+    }
+    return ret;
+  }
+ 
+  private renameVariable(spag: ISpaghettiScopeNode, name: string, pos: Position, lowFile: ABAPFile, highSyntax: ISyntaxResult) {
+    const newName = this.uniqueName(pos, lowFile.getFilename(), highSyntax);
+    const fix = new SpagHelper(spag).renameVariable(name, pos, lowFile, newName);
+    const issue = Issue.atPosition(lowFile, pos, "Rename before outline", this.getMetadata().key, this.conf.severity, fix);
+    throw new SkipToNextFile(issue);
+  }
+ 
+  private findType(i: ExpressionNode, lowFile: ABAPFile, highSyntax: ISyntaxResult, ref = false): string | undefined {
+    const expr = i.findDirectExpression(Expressions.TypeNameOrInfer);
+    if (expr === undefined) {
+      return undefined;
+    }
+    const firstToken = expr.getFirstToken();
+ 
+    const concat = expr.concatTokens().toLowerCase();
+    if (concat !== "#") {
+      return ref ? "REF TO " + concat : concat;
+    }
+ 
+    const spag = highSyntax.spaghetti.lookupPosition(firstToken.getStart(), lowFile.getFilename());
+    if (spag === undefined) {
+      return undefined;
+    }
+ 
+    let inferred: TypedIdentifier | undefined = undefined;
+    for (const r of spag?.getData().references || []) {
+      if (r.referenceType === ReferenceType.InferredType
+          && r.resolved
+          && r.position.getStart().equals(firstToken.getStart())
+          && r.resolved instanceof TypedIdentifier) {
+        inferred = r.resolved;
+        break;
+      }
+    }
+    if (inferred === undefined) {
+      return undefined;
+    }
+ 
+    if (inferred.getType() instanceof ObjectReferenceType) {
+      return inferred.getType().toABAP();
+    } else {
+      return inferred.getType().getQualifiedName()?.toLowerCase();
+    }
+  }
+ 
+  private outlineFS(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)
+        || (high.get() instanceof Statements.Loop)) {
+      return undefined;
+    }
+ 
+    for (const i of high.findAllExpressionsRecursive(Expressions.InlineFS)) {
+      const nameToken = i.findDirectExpression(Expressions.TargetFieldSymbol)?.getFirstToken();
+      if (nameToken === undefined) {
+        continue;
+      }
+      const name = nameToken.getStr();
+ 
+      let type = "";
+      if (high.concatTokens().toUpperCase().startsWith("APPEND INITIAL LINE TO ")) {
+        type = "LIKE LINE OF " + high.findFirstExpression(Expressions.Target)?.concatTokens();
+      } else {
+        const spag = highSyntax.spaghetti.lookupPosition(nameToken.getStart(), lowFile.getFilename());
+        if (spag === undefined) {
+          continue;
+        }
+        const found = spag.findVariable(name);
+        if (found === undefined) {
+          continue;
+        } else if (found.getType() instanceof VoidType) {
+          return Issue.atToken(lowFile, i.getFirstToken(), "Error outlining voided type", this.getMetadata().key, this.conf.severity);
+        }
+        type = "TYPE ";
+        type += found.getType().getQualifiedName() ? found.getType().getQualifiedName()!.toLowerCase() : found.getType().toABAP();
+      }
+ 
+      const code = `FIELD-SYMBOLS ${name} ${type}.\n` +
+        " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);
+      const fix2 = EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), i.getLastToken().getEnd(), name);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, i.getFirstToken(), "Outline FIELD-SYMBOL", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private outlineData(node: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    // hmm, no guard here, as DATA(SDF) is valid in 702
+ 
+    for (const i of node.findAllExpressionsRecursive(Expressions.InlineData)) {
+      const nameToken = i.findDirectExpression(Expressions.TargetField)?.getFirstToken();
+      if (nameToken === undefined) {
+        continue;
+      }
+      const name = nameToken.getStr();
+ 
+      const spag = highSyntax.spaghetti.lookupPosition(nameToken.getStart(), lowFile.getFilename());
+      if (spag === undefined) {
+        continue;
+      }
+ 
+      const found = spag.findVariable(name);
+      if (found === undefined) {
+        continue;
+      } else if (found.getType() instanceof VoidType && found.getType().getQualifiedName() === undefined) {
+        continue;
+      } else if (found.getType() instanceof StructureType && found.getType().getQualifiedName() === undefined) {
+        continue;
+      }
+ 
+      let type = found.getType().getQualifiedName()
+        ? found.getType().getQualifiedName()?.toLowerCase()
+        : found.getType().toABAP();
+      if (found.getType() instanceof ObjectReferenceType) {
+        type = found.getType().toABAP();
+      }
+      if (type === "") {
+        continue;
+      }
+ 
+      const code = `DATA ${name} TYPE ${type}.\n` +
+        " ".repeat(node.getFirstToken().getStart().getCol() - 1);
+      const fix1 = EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);
+      const fix2 = EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), i.getLastToken().getEnd(), name);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, i.getFirstToken(), "Outline DATA", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private outlineCond(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {
+      if (i.getFirstToken().getStr().toUpperCase() !== "COND") {
+        continue;
+      }
+ 
+      const body = i.findDirectExpression(Expressions.CondBody);
+      if (body === undefined) {
+        continue;
+      }
+ 
+      const uniqueName = this.uniqueName(i.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      let type = this.findType(i, lowFile, highSyntax);
+      if (type === undefined) {
+        if (high.get() instanceof Statements.Move
+            && high.findDirectExpression(Expressions.Source) === i
+            && high.findDirectExpression(Expressions.Target)?.findDirectExpression(Expressions.TargetField) !== undefined) {
+          type = "LIKE " + high.findDirectExpression(Expressions.Target)?.concatTokens();
+        }
+        if (type === undefined) {
+          continue;
+        }
+      } else {
+        type = "TYPE " + type;
+      }
+ 
+      const indent = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const bodyCode = this.buildCondBody(body, uniqueName, indent, lowFile, highSyntax);
+ 
+      const last = i.findDirectTokenByText(")")!;
+ 
+      const abap = `DATA ${uniqueName} ${type}.\n` + bodyCode;
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);
+      const fix2 = EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), last.getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+      return Issue.atToken(lowFile, i.getFirstToken(), "Downport COND", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private buildCondBody(body: ExpressionNode, uniqueName: string, indent: string, lowFile: ABAPFile, highSyntax: ISyntaxResult) {
+    let code = "";
+ 
+    let first = true;
+    let addElse = true;
+    for (const c of body.getChildren()) {
+      if (c instanceof TokenNode) {
+        switch (c.getFirstToken().getStr().toUpperCase()) {
+          case "WHEN":
+            if (first === true) {
+              code += indent + "IF ";
+              first = false;
+            } else {
+              code += indent + "ELSEIF ";
+            }
+            break;
+          case "THEN":
+            code += ".\n";
+            break;
+          case "ELSE":
+            code += indent + "ELSE.\n";
+            addElse = false;
+            break;
+          default:
+            throw "buildCondBody, unexpected token";
+        }
+      } else if (c.get() instanceof Expressions.Cond) {
+        code += c.concatTokens();
+      } else if (c.get() instanceof Expressions.Let) {
+        code += this.outlineLet(c, indent, highSyntax, lowFile);
+      } else if (c.get() instanceof Expressions.Source) {
+        code += indent + "  " + uniqueName + " = " + c.concatTokens() + ".\n";
+      } else if (c.get() instanceof Expressions.Throw) {
+        code += indent + "  " + c.concatTokens().replace(/THROW /i, "RAISE EXCEPTION NEW ") + ".\n";
+      } else {
+        throw "buildCondBody, unexpected expression, " + c.get().constructor.name;
+      }
+    }
+    if (addElse) {
+      // COND might be called inside a loop
+      code += indent + "ELSE.\n";
+      code += indent + `  CLEAR ${uniqueName}.\n`;
+    }
+ 
+    code += indent + "ENDIF.\n";
+ 
+    code += indent;
+    return code;
+  }
+ 
+  private outlineConv(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {
+      if (i.getFirstToken().getStr().toUpperCase() !== "CONV") {
+        continue;
+      }
+      const end = i.findDirectTokenByText(")");
+      if (end === undefined) {
+        continue;
+      }
+ 
+      const body = i.findDirectExpression(Expressions.ConvBody)?.concatTokens();
+      if (body === undefined) {
+        continue;
+      }
+ 
+      const uniqueName = this.uniqueName(i.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const type = this.findType(i, lowFile, highSyntax);
+      const indent = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+ 
+      const abap = `DATA ${uniqueName} TYPE ${type}.\n` +
+        indent + `${uniqueName} = ${body}.\n` +
+        indent;
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);
+      const fix2 = EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), end.getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, i.getFirstToken(), "Downport CONV", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  // "CAST" to "?="
+  private outlineCast(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (const i of high.findAllExpressionsRecursive(Expressions.Cast)) {
+      const uniqueName = this.uniqueName(i.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const type = this.findType(i, lowFile, highSyntax, true);
+      const body = i.findDirectExpression(Expressions.Source)?.concatTokens();
+ 
+      const abap = `DATA ${uniqueName} TYPE ${type}.\n` +
+        " ".repeat(high.getFirstToken().getStart().getCol() - 1) +
+        `${uniqueName} ?= ${body}.\n` +
+        " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+      const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);
+      const fix2 = EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), i.getLastToken().getEnd(), uniqueName);
+      const fix = EditHelper.merge(fix2, fix1);
+ 
+      return Issue.atToken(lowFile, i.getFirstToken(), "Downport CAST", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private uniqueName(position: Position, filename: string, highSyntax: ISyntaxResult): string {
+    const spag = highSyntax.spaghetti.lookupPosition(position, filename);
+    if (spag === undefined) {
+      const name = "temprr" + this.counter;
+      this.counter++;
+      return name;
+    }
+ 
+    let postfix = "";
+    if(spag.getIdentifier().stype === ScopeType.ClassDefinition) {
+// try making sure this name is not used in subclasses
+      const hash = crypto.createHash("sha1").update(spag.getIdentifier().sname).digest("hex");
+      postfix = "_" + hash.substring(0, 10);
+    }
+ 
+    while (true) {
+      const name = "temp" + this.counter + postfix;
+      const exists = this.existsRecursive(spag, name);
+      this.counter++;
+      if (exists === false) {
+        return name;
+      }
+    }
+  }
+ 
+  // todo, optimize, the findVariable() and findType() does a lot of redundant checks
+  private existsRecursive(spag: ISpaghettiScopeNode, name: string): boolean {
+    const existsDirect = spag.findVariable(name) || spag.findType(name);
+    if (existsDirect) {
+      return true;
+    }
+ 
+    for (const child of spag.getChildren()) {
+      if (child.findVariable(name) || child.findType(name) || this.existsRecursive(child, name)) {
+        return true;
+      }
+    }
+ 
+    return false;
+  }
+ 
+  private replaceXsdBool(node: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());
+ 
+    for (const r of spag?.getData().references || []) {
+      if (r.referenceType === ReferenceType.BuiltinMethodReference
+          && r.position.getName().toUpperCase() === "XSDBOOL") {
+        const token = r.position.getToken();
+ 
+        let source: ExpressionNode | undefined = undefined;
+        for (const s of node.findAllExpressionsRecursive(Expressions.Source)) {
+          if (s.getFirstToken().getStart().equals(token.getStart())) {
+            source = s;
+            break;
+          }
+        }
+        const children = source?.getChildren();
+        if (source === undefined || children?.length !== 4) {
+          continue;
+        }
+ 
+        // make sure to convert to the correct type, RTTI might be used on the result of XSDBOOL
+        const code = "CONV xsdboolean( boolc( " + children[2].concatTokens() + " ) )";
+        const fix = EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), code);
+        return Issue.atToken(lowFile, token, "Use BOOLC", this.getMetadata().key, this.conf.severity, fix);
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private findMethodCallExpression(node: StatementNode, token: AbstractToken) {
+    for (const m of node.findAllExpressions(Expressions.MethodCall)) {
+      if (m.findDirectExpression(Expressions.MethodName)?.getFirstToken().getStart().equals(token.getStart())) {
+        return m;
+      }
+    }
+    return undefined;
+  }
+ 
+  private replaceMethodConditional(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    for (const c of high.findAllExpressionsRecursive(Expressions.Compare)) {
+      const chain = c.findDirectExpression(Expressions.MethodCallChain);
+      if (chain === undefined) {
+        continue;
+      }
+ 
+      const concat = chain.concatTokens().toUpperCase();
+      if (concat.startsWith("LINE_EXISTS( ") || concat.startsWith("LINE_INDEX( ")) {
+        // these are handled separately
+        continue;
+      }
+ 
+      let predicate = false;
+      const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());
+      for (const r of spag?.getData().references || []) {
+        if (r.referenceType === ReferenceType.BuiltinMethodReference &&
+              new BuiltIn().isPredicate(chain.getFirstToken().getStr().toUpperCase())) {
+          predicate = true;
+          break;
+        }
+      }
+ 
+      const end = chain.getLastToken().getEnd();
+      let fix = EditHelper.insertAt(lowFile, end, " IS NOT INITIAL");
+      if (predicate === true) {
+        fix = EditHelper.insertAt(lowFile, end, " ) = abap_true");
+        const fix1 = EditHelper.insertAt(lowFile, chain.getFirstToken().getStart(), "boolc( ");
+        fix = EditHelper.merge(fix, fix1);
+      }
+      return Issue.atToken(lowFile, chain.getFirstToken(), "Downport method conditional", this.getMetadata().key, this.conf.severity, fix);
+    }
+ 
+    return undefined;
+  }
+ 
+  private getReference(node: StatementNode, lowFile: ABAPFile, _highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(node.get() instanceof Statements.GetReference)) {
+      return undefined;
+    }
+
+    const inline = node.findDirectExpression(Expressions.Target)?.findDirectExpression(Expressions.InlineData);
+    if (inline === undefined) {
+      return undefined;
+    }
+    const targetName = inline.findDirectExpression(Expressions.TargetField)?.concatTokens();
+    const sourceName = node.findDirectExpression(Expressions.Source)?.concatTokens();
+    if (targetName === undefined || sourceName === undefined) {
+      return undefined;
+    }
+
+    const code = `DATA ${targetName} LIKE REF TO ${sourceName}.\n`;
+    const fix1 = EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);
+    const fix2 = EditHelper.replaceRange(lowFile, inline.getFirstToken().getStart(), inline.getLastToken().getEnd(), targetName);
+    const fix = EditHelper.merge(fix2, fix1);
+    return Issue.atToken(lowFile, inline.getFirstToken(), "Downport, outline DATA ref", this.getMetadata().key, this.conf.severity, fix);
+
+  }
+ 
+  private replaceContains(node: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());
+ 
+    // only downport if its an single method call condition
+    let found = false;
+    for (const c of node.findAllExpressionsRecursive(Expressions.Compare)) {
+      found = c.findDirectExpression(Expressions.MethodCallChain) !== undefined;
+      if (found === true) {
+        break;
+      }
+    }
+    if (found === false) {
+      return undefined;
+    }
+ 
+    for (const r of spag?.getData().references || []) {
+      if (r.referenceType !== ReferenceType.BuiltinMethodReference) {
+        continue;
+      }
+      const func = r.position.getName().toUpperCase();
+      if (func === "CONTAINS") {
+        const token = r.position.getToken();
+ 
+        const expression = this.findMethodCallExpression(node, token);
+        if (expression === undefined) {
+          continue;
+        }
+ 
+        const sList = expression.findAllExpressions(Expressions.Source).map(e => e.concatTokens());
+        if (sList.length !== 2) {
+          continue;
+        }
+ 
+        const code = sList[0] + " CS " + sList[1];
+        const start = expression.getFirstToken().getStart();
+        const end = expression.getLastToken().getEnd();
+        const fix = EditHelper.replaceRange(lowFile, start, end, code);
+ 
+        return Issue.atToken(lowFile, token, "Downport contains()", this.getMetadata().key, this.conf.severity, fix);
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private replaceLineFunctions(node: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult, highFile: ABAPFile): Issue | undefined {
+    const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());
+ 
+    for (const r of spag?.getData().references || []) {
+      if (r.referenceType !== ReferenceType.BuiltinMethodReference) {
+        continue;
+      }
+      const func = r.position.getName().toUpperCase();
+      if (func === "LINE_EXISTS" || func === "LINE_INDEX") {
+        const token = r.position.getToken();
+ 
+        const expression = this.findMethodCallExpression(node, token);
+        if (expression === undefined) {
+          continue;
+        }
+ 
+        let condition = "";
+        for (const c of expression?.findFirstExpression(Expressions.TableExpression)?.getChildren() || []) {
+          if (c.getFirstToken().getStr() === "[" || c.getFirstToken().getStr() === "]") {
+            continue;
+          } else if (c.get() instanceof Expressions.ComponentChainSimple && condition === "") {
+            condition = "WITH KEY ";
+          } else if (c.get() instanceof Expressions.Source && condition === "") {
+            condition = "INDEX ";
+          }
+          condition += c.concatTokens() + " ";
+        }
+ 
+        const tableName = expression.findFirstExpression(Expressions.Source)?.concatTokens().split("[")[0];
+ 
+        const uniqueName = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+        const indentation = " ".repeat(node.getFirstToken().getStart().getCol() - 1);
+ 
+        const sy = func === "LINE_EXISTS" ? "sy-subrc" : "sy-tabix";
+ 
+        const code = `DATA ${uniqueName} LIKE sy-subrc.\n` +
+          indentation + `READ TABLE ${tableName} ${condition}TRANSPORTING NO FIELDS.\n` +
+          indentation + uniqueName + ` = ${sy}.\n` +
+          indentation ;
+        let insertAt: Position | undefined = node.getFirstToken().getStart();
+        if (node.get() instanceof ElseIf) {
+          // assumption: no side effects in IF conditions
+          insertAt = this.findStartOfIf(node, highFile);
+          if (insertAt === undefined) {
+            continue;
+          }
+        }
+        const fix1 = EditHelper.insertAt(lowFile, insertAt, code);
+        const start = expression.getFirstToken().getStart();
+        const end = expression.getLastToken().getEnd();
+        const fix2 = EditHelper.replaceRange(lowFile, start, end, uniqueName + (func === "LINE_EXISTS" ? " = 0" : ""));
+        const fix = EditHelper.merge(fix2, fix1);
+ 
+        return Issue.atToken(lowFile, token, "Replace line function", this.getMetadata().key, this.conf.severity, fix);
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private findStartOfIf(node: StatementNode, highFile: ABAPFile): Position | undefined {
+    const structure = highFile.getStructure();
+ 
+    for (const c of structure?.findAllStructuresRecursive(Structures.If) || []) {
+      for (const ei of c.findDirectStructures(Structures.ElseIf)) {
+        if (ei.getFirstStatement() === node) {
+          return c.getFirstToken().getStart();
+        }
+      }
+    }
+
+    return undefined;
+  }
+ 
+  private newToCreateObject(low: StatementNode, high: StatementNode, lowFile: ABAPFile, highSyntax: ISyntaxResult): Issue | undefined {
+    if (!(low.get() instanceof Unknown)) {
+      return undefined;
+    }
+ 
+    const source = high.findDirectExpression(Expressions.Source);
+ 
+    let fix: IEdit | undefined = undefined;
+    if (high.get() instanceof Statements.Move
+        && source
+        && source.getFirstToken().getStr().toUpperCase() === "NEW") {
+      const target = high.findDirectExpression(Expressions.Target);
+      const found = source?.findFirstExpression(Expressions.NewObject);
+      // must be at top level of the source for quickfix to work(todo: handle more scenarios)
+      if (target
+          && found
+          && source.concatTokens() === found.concatTokens()
+          && target.findDirectExpression(Expressions.InlineData) === undefined) {
+        const abap = this.newParameters(found, target.concatTokens(), highSyntax, lowFile);
+        if (abap !== undefined) {
+          fix = EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), abap);
+        }
+      }
+    }
+ 
+    if (fix === undefined && high.findAllExpressions(Expressions.NewObject)) {
+      const found = high.findFirstExpression(Expressions.NewObject);
+      if (found === undefined) {
+        return undefined;
+      }
+      const name = this.uniqueName(found.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
+      const abap = this.newParameters(found, name, highSyntax, lowFile);
+      if (abap === undefined) {
+        return undefined;
+      }
+ 
+      const type = this.findType(found, lowFile, highSyntax);
+      const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
+ 
+      const data = `DATA ${name} TYPE REF TO ${type}.\n` +
+        indentation + abap + "\n" +
+        indentation;
+      if (found.getFirstToken().getStart().equals(high.getFirstToken().getStart())
+          && found.getLastToken().getEnd().equals(high.getLastToken().getStart())) {
+// full statement = standalone NEW expression
+        fix = EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), abap);
+      } else {
+        const fix1 = EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), data);
+        const fix2 = EditHelper.replaceRange(lowFile, found.getFirstToken().getStart(), found.getLastToken().getEnd(), name);
+        fix = EditHelper.merge(fix2, fix1);
+      }
+    }
+ 
+    if (fix) {
+      return Issue.atToken(lowFile, high.getFirstToken(), "Use CREATE OBJECT instead of NEW", this.getMetadata().key, this.conf.severity, fix);
+    } else {
+      return undefined;
+    }
+  }
+ 
+  private newParameters(found: ExpressionNode, name: string, highSyntax: ISyntaxResult, lowFile: ABAPFile): string | undefined {
+    const typeToken = found.findDirectExpression(Expressions.TypeNameOrInfer)?.getFirstToken();
+    let extra = typeToken?.getStr() === "#" ? "" : " TYPE " + typeToken?.getStr();
+ 
+    const parameters = found.findFirstExpression(Expressions.ParameterListS);
+    if (parameters) {
+      extra = parameters ? extra + " EXPORTING " + parameters.concatTokens() : extra;
+    } else if (typeToken) {
+      const source = found.findDirectExpression(Expressions.Source)?.concatTokens();
+      if (source) {
+        // find the default parameter name for the constructor
+        const spag = highSyntax.spaghetti.lookupPosition(typeToken?.getStart(), lowFile.getFilename());
+ 
+        let cdef: IClassDefinition | undefined = undefined;
+        for (const r of spag?.getData().references || []) {
+          if ((r.referenceType === ReferenceType.InferredType
+              || r.referenceType === ReferenceType.ObjectOrientedReference)
+              && r.resolved && r.position.getStart().equals(typeToken.getStart())) {
+            cdef = r.resolved as IClassDefinition;
+          }
+        }
+ 
+        if (cdef && cdef.getMethodDefinitions === undefined) {
+          return undefined; // something wrong
+        }
+        const importing = this.findConstructor(cdef, spag)?.getParameters().getDefaultImporting();
+        if (importing) {
+          extra += " EXPORTING " + importing + " = " + source;
+        } else if (spag === undefined) {
+          extra += " SpagUndefined ERROR";
+        } else if (cdef === undefined) {
+          extra += " ClassDefinitionNotFound ERROR";
+        } else {
+          extra += " SomeError ERROR";
+        }
+      }
+    }
+ 
+    const abap = `CREATE OBJECT ${name}${extra}.`;
+ 
+    return abap;
+  }
+ 
+  private findConstructor(cdef: IClassDefinition | undefined, spag: ISpaghettiScopeNode | undefined): any {
+    let def = cdef;
+    while (def !== undefined) {
+      const method = def?.getMethodDefinitions().getByName("CONSTRUCTOR");
+      if (method) {
+        return method;
+      }
+      const name = def.getSuperClass();
+      if (name) {
+        def = spag?.findClassDefinition(name);
+      } else {
+        return undefined;
+      }
+    }
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/dynpro_checks.ts.html b/src/rules/dynpro_checks.ts.html new file mode 100644 index 00000000000..b56e78dc459 --- /dev/null +++ b/src/rules/dynpro_checks.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/rules/dynpro_checks.ts + + + + + + + + + +
+
+

All files / src/rules dynpro_checks.ts

+
+ +
+ 100% + Statements + 61/61 +
+ + +
+ 100% + Branches + 13/13 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 61/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10423x +10423x +244x +244x +10423x +10423x +9907x +9907x +10423x +10423x +243x +243x +10423x +10423x +310x +310x +310x +134x +134x +176x +176x +310x +175x +175x +1x +1x +1x +2x +1x +1x +1x +2x +1x +1x +1x +1x +10423x +10423x + 
import {Issue} from "../issue";
+import {IObject} from "../objects/_iobject";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {Program} from "../objects";
+import {Position} from "../position";
+ 
+export class DynproChecksConf extends BasicRuleConfig {
+}
+ 
+export class DynproChecks implements IRule {
+  private conf = new DynproChecksConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "dynpro_checks",
+      title: "Dynpro Checks",
+      shortDescription: `Various Dynpro checks`,
+      extendedInformation: `* Check length of PUSH elements less than 132`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public getConfig(): DynproChecksConf {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: DynproChecksConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const ret: Issue[] = [];
+ 
+    if (!(obj instanceof Program)) {
+      return [];
+    }
+ 
+    const file = obj.getXMLFile();
+    if (file === undefined) {
+      return [];
+    }
+ 
+    for (const dynpro of obj.getDynpros()) {
+      for (const field of dynpro.fields) {
+        if (field.type === "PUSH" && field.length > 132) {
+          const message = `Screen ${dynpro.number}, field ${field.name} LENGTH longer than 132`;
+          ret.push(Issue.atPosition(file, new Position(1, 1), message, this.getMetadata().key, this.getConfig().severity));
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/easy_to_find_messages.ts.html b/src/rules/easy_to_find_messages.ts.html new file mode 100644 index 00000000000..13fe82a0e7d --- /dev/null +++ b/src/rules/easy_to_find_messages.ts.html @@ -0,0 +1,322 @@ + + + + + + Code coverage report for src/rules/easy_to_find_messages.ts + + + + + + + + + +
+
+

All files / src/rules easy_to_find_messages.ts

+
+ +
+ 100% + Statements + 80/80 +
+ + +
+ 100% + Branches + 12/12 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 80/80 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +801x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10429x +10429x +10429x +10429x +10429x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10429x +10429x +9906x +9906x +10429x +10429x +243x +243x +10429x +10429x +250x +250x +250x +250x +324x +255x +255x +324x +250x +250x +250x +10429x +10429x +316x +316x +316x +10x +10x +10x +10x +3x +3x +3x +3x +10x +1x +1x +1x +1x +1x +10x +10x +316x +316x +316x +10429x +10429x
import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IMSAGReferences} from "../_imsag_references";
+import {Position} from "../position";
+import {MessageClass} from "../objects";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class EasyToFindMessagesConf extends BasicRuleConfig {
+}
+ 
+export class EasyToFindMessages implements IRule {
+  private conf = new EasyToFindMessagesConf();
+  private msagReferences: IMSAGReferences;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "easy_to_find_messages",
+      title: "Easy to find messages",
+      shortDescription: `Make messages easy to find`,
+      extendedInformation: `All messages must be statically referenced exactly once
+ 
+Only MESSAGE and RAISE statments are counted as static references
+ 
+Also see rule "message_exists"
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#make-messages-easy-to-find`,
+      tags: [RuleTag.Styleguide],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: EasyToFindMessagesConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry): IRule {
+    this.msagReferences = reg.getMSAGReferences();
+ 
+    // the SyntaxLogic builds the references
+    for (const obj of reg.getObjects()) {
+      if (obj instanceof ABAPObject) {
+        new SyntaxLogic(reg, obj).run();
+      }
+    }
+ 
+    return this;
+  }
+ 
+  public run(object: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (object.getType() === "MSAG") {
+      const msag = object as MessageClass;
+      for (const message of msag.getMessages()) {
+        const where = this.msagReferences.listByMessage(msag.getName().toUpperCase(), message.getNumber());
+        if (where.length === 0) {
+          const text = `Message ${message.getNumber()} not statically referenced`;
+          const position = new Position(1, 1);
+          const issue = Issue.atPosition(object.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        } else if (where.length >= 2) {
+          const text = `Message ${message.getNumber()} referenced more than once`;
+          const position = new Position(1, 1);
+          const issue = Issue.atPosition(object.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/empty_line_in_statement.ts.html b/src/rules/empty_line_in_statement.ts.html new file mode 100644 index 00000000000..1b0dec165a5 --- /dev/null +++ b/src/rules/empty_line_in_statement.ts.html @@ -0,0 +1,337 @@ + + + + + + Code coverage report for src/rules/empty_line_in_statement.ts + + + + + + + + + +
+
+

All files / src/rules empty_line_in_statement.ts

+
+ +
+ 98.82% + Statements + 84/85 +
+ + +
+ 88.88% + Branches + 24/27 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 98.82% + Lines + 84/85 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +851x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20846x +20846x +20846x +20846x +1x +10424x +10424x +10424x +10424x +10424x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10424x +10424x +2x +2x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +266x +266x +266x +266x +12x +12x +254x +266x +1458x +1458x +7x +7x +1458x +247x +247x +266x +5883x +21x +5883x +1324x +1324x +5883x +2x +2x +2x +2x +5883x +1324x +5883x +  +4538x +4538x +4538x +5883x +247x +247x +247x +10424x +10424x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Punctuation, Comment as CommentToken} from "../abap/1_lexer/tokens";
+import {NativeSQL, Unknown} from "../abap/2_statements/statements/_statement";
+import {EditHelper} from "../edit_helper";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {Position} from "../position";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class EmptyLineinStatementConf extends BasicRuleConfig {
+  /** Allow changed empty lines in chanined statements */
+  public allowChained: boolean = false;
+}
+ 
+export class EmptyLineinStatement extends ABAPRule {
+ 
+  private conf = new EmptyLineinStatementConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "empty_line_in_statement",
+      title: "Find empty lines in statements",
+      shortDescription: `Checks that statements do not contain empty lines.`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-obsess-with-separating-blank-lines
+ 
+https://docs.abapopenchecks.org/checks/41/`,
+      tags: [RuleTag.Quickfix, RuleTag.Whitespace, RuleTag.SingleFile, RuleTag.Styleguide],
+      badExample: `WRITE\n\nhello.`,
+      goodExample: `WRITE hello.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Remove empty line in statement";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: EmptyLineinStatementConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    for (const s of file.getStatements()) {
+      if (s.get() instanceof Unknown
+          || s.get() instanceof NativeSQL) {
+        return []; // skip the file if there are parser errors or native/sqlscript
+      }
+    }
+ 
+    let prevLine: number | undefined = undefined;
+    for (const t of file.getTokens()) {
+      if (prevLine === undefined && t instanceof CommentToken) {
+        continue;
+      } else if (prevLine === undefined) {
+        prevLine = t.getRow();
+      }
+      if (prevLine && t.getRow() - prevLine >= 2) {
+        const fix = EditHelper.deleteRange(file, new Position(prevLine + 1, 1), t.getStart());
+        const issue = Issue.atToken(file, t, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+      if (t instanceof Punctuation && t.getStr() === ".") {
+        prevLine = undefined;
+      } else if (this.conf.allowChained === true && t instanceof Punctuation && t.getStr() === ",") {
+        prevLine = undefined;
+      } else {
+        prevLine = t.getRow();
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/empty_statement.ts.html b/src/rules/empty_statement.ts.html new file mode 100644 index 00000000000..cd82f0e97b2 --- /dev/null +++ b/src/rules/empty_statement.ts.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for src/rules/empty_statement.ts + + + + + + + + + +
+
+

All files / src/rules empty_statement.ts

+
+ +
+ 100% + Statements + 57/57 +
+ + +
+ 100% + Branches + 7/7 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 57/57 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +571x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +269x +269x +269x +269x +269x +269x +269x +1476x +10x +10x +10x +10x +10x +10x +1476x +1476x +1476x +269x +269x +269x +10424x
import {Issue} from "../issue";
+import {Empty} from "../abap/2_statements/statements/_statement";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {EditHelper} from "../edit_helper";
+import {Position} from "../position";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class EmptyStatementConf extends BasicRuleConfig {
+}
+ 
+export class EmptyStatement extends ABAPRule {
+ 
+  private conf = new EmptyStatementConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "empty_statement",
+      title: "Remove empty statement",
+      shortDescription: `Checks for empty statements (an empty statement is a single dot)`,
+      tags: [RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `WRITE 'hello world'..`,
+      goodExample: `WRITE 'hello world'.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: EmptyStatementConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const statements = file.getStatements();
+ 
+    let previousEnd = new Position(1, 1);
+ 
+    for (const sta of statements) {
+      if (sta.get() instanceof Empty) {
+        const token = sta.getFirstToken();
+        const fix = EditHelper.deleteRange(file, previousEnd, token.getEnd());
+ 
+        const issue = Issue.atStatement(file, sta, "Remove empty statement", this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+ 
+      previousEnd = sta.getLastToken().getEnd();
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/empty_structure.ts.html b/src/rules/empty_structure.ts.html new file mode 100644 index 00000000000..b5113cacde3 --- /dev/null +++ b/src/rules/empty_structure.ts.html @@ -0,0 +1,625 @@ + + + + + + Code coverage report for src/rules/empty_structure.ts + + + + + + + + + +
+
+

All files / src/rules empty_structure.ts

+
+ +
+ 100% + Statements + 181/181 +
+ + +
+ 100% + Branches + 26/26 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 181/181 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +1811x +1x +1x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +10423x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +10423x +10423x +22x +22x +10423x +10423x +12210x +12210x +10423x +10423x +243x +243x +10423x +10423x +274x +274x +274x +274x +12x +12x +262x +262x +274x +1500x +6x +6x +1500x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +256x +274x +16x +5x +5x +5x +5x +16x +256x +256x +256x +256x +5x +5x +3x +3x +3x +3x +3x +3x +3x +3x +3x +5x +256x +256x +256x +256x +256x +10x +2x +2x +2x +2x +1x +1x +1x +1x +1x +1x +1x +1x +10x +256x +256x +256x +256x +256x +256x +256x +26x +26x +7x +7x +7x +7x +7x +7x +7x +7x +7x +26x +256x +256x +256x +256x +256x +256x +14x +6x +6x +6x +6x +6x +14x +256x +256x +256x +256x +10423x +10423x
import {Issue} from "../issue";
+import * as Structures from "../abap/3_structures/structures";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {StructureNode} from "../abap/nodes";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Unknown} from "../abap/2_statements/statements/_statement";
+ 
+export class EmptyStructureConf extends BasicRuleConfig {
+  /** Checks for empty LOOP blocks */
+  public loop: boolean = true;
+  /** Allow empty LOOP if subrc is checked after the loop */
+  public loopAllowIfSubrc: boolean = true;
+  /** Checks for empty IF blocks */
+  public if: boolean = true;
+  /** Checks for empty WHILE blocks */
+  public while: boolean = true;
+  /** Checks for empty CASE blocks */
+  public case: boolean = true;
+  /** Checks for empty SELECT blockss */
+  public select: boolean = true;
+  /** Checks for empty DO blocks */
+  public do: boolean = true;
+  /** Checks for empty AT blocks */
+  public at: boolean = true;
+  /** Checks for empty TRY blocks */
+  public try: boolean = true;
+  /** Checks for empty WHEN blocks */
+  public when: boolean = true;
+  // todo, other category containing ELSE
+}
+ 
+export class EmptyStructure extends ABAPRule {
+ 
+  private conf = new EmptyStructureConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "empty_structure",
+      title: "Find empty blocks",
+      shortDescription: `Checks that the code does not contain empty blocks.`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#no-empty-if-branches`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `IF foo = bar.
+ENDIF.
+ 
+DO 2 TIMES.
+ENDDO.`,
+      goodExample: `LOOP AT itab WHERE qty = 0 OR date > sy-datum.
+ENDLOOP.
+result = xsdbool( sy-subrc = 0 ).`,
+    };
+  }
+ 
+  private getDescription(name: string): string {
+    return "Empty block, add code: " + name;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: EmptyStructureConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    const statements = file.getStatements();
+    for (const statement of statements) {
+      if (statement.get() instanceof Unknown) {
+        return []; // contains parser errors
+      }
+    }
+ 
+    const candidates: StructureNode[] = [];
+    if (this.getConfig().while === true) {
+      candidates.push(...stru.findAllStructuresRecursive(Structures.While));
+    }
+    if (this.getConfig().case === true) {
+      candidates.push(...stru.findAllStructuresRecursive(Structures.Case));
+    }
+    if (this.getConfig().select === true) {
+      candidates.push(...stru.findAllStructuresRecursive(Structures.Select));
+    }
+    if (this.getConfig().do === true) {
+      candidates.push(...stru.findAllStructuresRecursive(Structures.Do));
+    }
+    if (this.getConfig().at === true) {
+      candidates.push(...stru.findAllStructuresRecursive(Structures.At));
+      candidates.push(...stru.findAllStructuresRecursive(Structures.AtFirst));
+      candidates.push(...stru.findAllStructuresRecursive(Structures.AtLast));
+    }
+ 
+    for (const l of candidates) {
+      if (l.getChildren().length === 2) {
+        const token = l.getFirstToken();
+        const issue = Issue.atToken(file, token, this.getDescription(l.get().constructor.name), this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    if (this.getConfig().try === true) {
+      const tries = stru.findAllStructuresRecursive(Structures.Try);
+      for (const t of tries) {
+        const normal = t.findDirectStructure(Structures.Body);
+        if (normal === undefined) {
+          const token = t.getFirstToken();
+          const issue = Issue.atToken(
+            file,
+            token,
+            this.getDescription(t.get().constructor.name),
+            this.getMetadata().key,
+            this.conf.severity);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    if (this.getConfig().loop === true) {
+      const loops = stru.findAllStructuresRecursive(Structures.Loop);
+      for (const loop of loops) {
+        if (loop.getChildren().length === 2) {
+          const endloopStatement = loop.getLastChild();
+          const endloopIndex = statements.findIndex((s) => s === endloopStatement);
+          const afterEndloop = statements[endloopIndex + 1];
+          if (afterEndloop !== undefined && afterEndloop.concatTokens().toUpperCase().includes("SY-SUBRC")) {
+            continue;
+          }
+ 
+          const token = loop.getFirstToken();
+          const issue = Issue.atToken(
+            file, token, this.getDescription(loop.get().constructor.name), this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    if (this.getConfig().if === true) {
+      const tries = stru.findAllStructuresRecursive(Structures.If)
+        .concat(stru.findAllStructuresRecursive(Structures.Else))
+        .concat(stru.findAllStructuresRecursive(Structures.ElseIf));
+      for (const t of tries) {
+        const normal = t.findDirectStructure(Structures.Body);
+        if (normal === undefined) {
+          const token = t.getFirstToken();
+          const issue = Issue.atToken(
+            file,
+            token,
+            this.getDescription(t.get().constructor.name),
+            this.getMetadata().key,
+            this.conf.severity);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    if (this.getConfig().when === true) {
+      const tries = stru.findAllStructuresRecursive(Structures.When);
+ 
+      for (const t of tries) {
+        if (t.getChildren().length === 1) {
+          const token = t.getFirstToken();
+          const message = this.getDescription(t.get().constructor.name);
+          const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/exit_or_check.ts.html b/src/rules/exit_or_check.ts.html new file mode 100644 index 00000000000..837a0b54176 --- /dev/null +++ b/src/rules/exit_or_check.ts.html @@ -0,0 +1,313 @@ + + + + + + Code coverage report for src/rules/exit_or_check.ts + + + + + + + + + +
+
+

All files / src/rules exit_or_check.ts

+
+ +
+ 100% + Statements + 77/77 +
+ + +
+ 100% + Branches + 25/25 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 77/77 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +771x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +1x +10425x +10425x +10425x +10425x +10425x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +10425x +10425x +9906x +9906x +10425x +10425x +244x +244x +10425x +10425x +267x +267x +267x +267x +267x +1483x +1483x +1483x +1483x +1483x +1483x +18x +1483x +1465x +1465x +1465x +18x +1465x +3x +3x +3x +3x +3x +3x +3x +1447x +3x +3x +3x +3x +3x +1483x +267x +267x +267x +10425x +10425x
import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import {ABAPRule} from "./_abap_rule";
+import {StatementNode} from "../abap/nodes";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper} from "../edit_helper";
+ 
+export class ExitOrCheckConf extends BasicRuleConfig {
+  public allowExit: boolean = false;
+  public allowCheck: boolean = false;
+}
+ 
+export class ExitOrCheck extends ABAPRule {
+ 
+  private conf = new ExitOrCheckConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "exit_or_check",
+      title: "Find EXIT or CHECK outside loops",
+      shortDescription: `Detects usages of EXIT or CHECK statements outside of loops.
+Use RETURN to leave procesing blocks instead.`,
+      extendedInformation: `https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abenleave_processing_blocks.htm
+https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abapcheck_processing_blocks.htm
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#check-vs-return`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile, RuleTag.Quickfix],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ExitOrCheckConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stack: StatementNode[] = [];
+ 
+    for (const statement of file.getStatements()) {
+      const get = statement.get();
+      if (get instanceof Statements.Loop
+          || get instanceof Statements.While
+          || get instanceof Statements.LoopAtScreen
+          || get instanceof Statements.SelectLoop
+          || get instanceof Statements.Do) {
+        stack.push(statement);
+      } else if (get instanceof Statements.EndLoop
+          || get instanceof Statements.EndWhile
+          || get instanceof Statements.EndSelect
+          || get instanceof Statements.EndDo) {
+        stack.pop();
+      } else if (this.conf.allowCheck === false && get instanceof Statements.Check && stack.length === 0) {
+        const message = "CHECK is not allowed outside of loops";
+        let tokensString = statement.concatTokens();
+        tokensString = tokensString.slice(statement.getFirstToken().getEnd().getCol());
+        const replacement = "IF NOT " + tokensString + "\n  RETURN.\nENDIF.";
+        const fix = EditHelper.replaceRange(file, statement.getFirstToken().getStart(), statement.getLastToken().getEnd(), replacement);
+        const issue = Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      } else if (this.conf.allowExit === false && get instanceof Statements.Exit && stack.length === 0) {
+        const message = "EXIT is not allowed outside of loops";
+        const fix = EditHelper.replaceToken(file, statement.getFirstToken(), "RETURN");
+        const issue = Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/expand_macros.ts.html b/src/rules/expand_macros.ts.html new file mode 100644 index 00000000000..2b4c6dd4e7a --- /dev/null +++ b/src/rules/expand_macros.ts.html @@ -0,0 +1,349 @@ + + + + + + Code coverage report for src/rules/expand_macros.ts + + + + + + + + + +
+
+

All files / src/rules expand_macros.ts

+
+ +
+ 100% + Statements + 88/88 +
+ + +
+ 100% + Branches + 18/18 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 88/88 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +891x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10430x +10430x +10430x +10430x +10430x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +10430x +10430x +9906x +9906x +10430x +10430x +243x +243x +10430x +10430x +272x +272x +272x +272x +272x +1536x +1536x +1536x +1536x +1526x +1526x +10x +10x +1536x +15x +15x +12x +1x +1x +12x +2x +2x +11x +15x +3x +3x +15x +1536x +3x +3x +10x +10x +10x +10x +10x +10x +10x +10x +10x +10x +272x +272x +272x +10430x +10430x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper} from "../edit_helper";
+import {MacroCall} from "../abap/2_statements/statements/_statement";
+import {VirtualPosition} from "../virtual_position";
+ 
+export class ExpandMacrosConf extends BasicRuleConfig {
+ 
+}
+ 
+export class ExpandMacros extends ABAPRule {
+ 
+  private conf = new ExpandMacrosConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "expand_macros",
+      title: "Expand Macros",
+      shortDescription: `Allows expanding macro calls with quick fixes`,
+      extendedInformation: `Macros: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abenmacros_guidl.htm
+ 
+Note that macros/DEFINE cannot be used in the ABAP Cloud programming model`,
+      badExample: `DEFINE _hello.
+  WRITE 'hello'.
+END-OF-DEFINITION.
+_hello.`,
+      goodExample: `WRITE 'hello'.`,
+      tags: [RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.Upport],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ExpandMacrosConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+    const message = "Expand macro call";
+ 
+    const statements = file.getStatements();
+    for (let i = 0; i < statements.length; i++) {
+      const statementNode = statements[i];
+      const statement = statementNode.get();
+ 
+      if (!(statement instanceof MacroCall)) {
+        continue;
+      }
+ 
+      let replace = "";
+      for (let j = i + 1; j < statements.length; j++) {
+        const sub = statements[j];
+        if (sub.getFirstToken().getStart() instanceof VirtualPosition) {
+          if (sub.get() instanceof MacroCall) {
+            continue;
+          }
+          if (replace !== "") {
+            replace += "\n";
+          }
+          replace += sub.concatTokensVirtual();
+        } else {
+          break;
+        }
+      }
+      if (statementNode.getColon()) {
+        replace += "\n";
+      }
+ 
+      const fix1 = EditHelper.deleteStatement(file, statementNode);
+      const fix2 = EditHelper.insertAt(file, statementNode.getStart(), replace);
+      const fix = EditHelper.merge(fix1, fix2);
+ 
+      issues.push(Issue.atStatement(file, statementNode, message, this.getMetadata().key, this.conf.severity, fix));
+ 
+      // only one fix at a time per file
+      break;
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/exporting.ts.html b/src/rules/exporting.ts.html new file mode 100644 index 00000000000..a6a460e30d4 --- /dev/null +++ b/src/rules/exporting.ts.html @@ -0,0 +1,379 @@ + + + + + + Code coverage report for src/rules/exporting.ts + + + + + + + + + +
+
+

All files / src/rules exporting.ts

+
+ +
+ 98.98% + Statements + 98/99 +
+ + +
+ 96% + Branches + 24/25 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 98.98% + Lines + 98/99 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +991x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +10424x +10424x +7x +7x +10424x +10424x +274x +274x +274x +20x +20x +254x +274x +1395x +1395x +1395x +26x +2x +2x +2x +  +26x +24x +24x +26x +1395x +254x +254x +254x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +24x +24x +15x +15x +9x +24x +1x +1x +8x +8x +8x +8x +8x +8x +24x +24x +24x +7x +7x +7x +7x +7x +7x +7x +1x +1x +1x +10424x +10424x +10424x
import {Issue} from "../issue";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {MethodParameters, MethodCallBody, MethodCall} from "../abap/2_statements/expressions";
+import {ExpressionNode} from "../abap/nodes";
+import {EditHelper} from "../edit_helper";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class ExportingConf extends BasicRuleConfig {
+}
+ 
+export class Exporting extends ABAPRule {
+ 
+  private conf = new ExportingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "exporting",
+      title: "EXPORTING can be omitted",
+      shortDescription: `Detects EXPORTING statements which can be omitted.`,
+      badExample: `call_method( EXPORTING foo = bar ).`,
+      goodExample: `call_method( foo = bar ).`,
+      extendedInformation:
+`https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-optional-keyword-exporting
+https://docs.abapopenchecks.org/checks/30/`,
+      tags: [RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getMessage(): string {
+    return "The EXPORTING keyword can be omitted";
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    let issues: Issue[] = [];
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    for (const statement of file.getStatements()) {
+      const expressions = statement.findAllExpressionsMulti([MethodCallBody, MethodCall]);
+ 
+      for (const b of expressions) {
+        if (b.get() instanceof MethodCallBody) {
+          if (b.getFirstToken().getStr() !== "(") {
+            continue;
+          }
+          issues = issues.concat(this.check(b, file));
+        } else if (b.get() instanceof MethodCall) {
+          issues = issues.concat(this.check(b, file));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ExportingConf) {
+    this.conf = conf;
+  }
+ 
+  private check(node: ExpressionNode, file: ABAPFile): Issue[] {
+    const e = node.findFirstExpression(MethodParameters);
+    if (e === undefined) {
+      return [];
+    }
+ 
+    if (e.getFirstToken().getStr().toUpperCase() !== "EXPORTING") {
+      return [];
+    }
+ 
+    const tokens = e.getDirectTokens();
+    const strings = tokens.map(t => t.getStr().toUpperCase());
+ 
+    if (strings[0] === "EXPORTING"
+          && strings.includes("IMPORTING") === false
+          && strings.includes("RECEIVING") === false
+          && strings.includes("EXCEPTIONS") === false
+          && strings.includes("CHANGING") === false) {
+ 
+      const next = e.getAllTokens()[1];
+      const fix = EditHelper.deleteRange(file, tokens[0].getStart(), next.getStart());
+ 
+      const issue = Issue.atToken(file, tokens[0], this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+      return [issue];
+    }
+ 
+    return [];
+  }
+ 
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/forbidden_identifier.ts.html b/src/rules/forbidden_identifier.ts.html new file mode 100644 index 00000000000..d828d6e1af6 --- /dev/null +++ b/src/rules/forbidden_identifier.ts.html @@ -0,0 +1,340 @@ + + + + + + Code coverage report for src/rules/forbidden_identifier.ts + + + + + + + + + +
+
+

All files / src/rules forbidden_identifier.ts

+
+ +
+ 97.64% + Statements + 83/85 +
+ + +
+ 94.44% + Branches + 17/18 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 97.64% + Lines + 83/85 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +861x +1x +1x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +20847x +20847x +1x +10424x +10424x +10424x +10424x +10424x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +10424x +10424x +9906x +9906x +10424x +10424x +244x +244x +  +  +244x +10424x +10424x +260x +256x +256x +4x +4x +4x +4x +4x +4x +4x +4x +10424x +10424x +20x +20x +20x +34x +7x +34x +11x +27x +16x +16x +34x +20x +20x +20x +10424x +10424x +7x +7x +7x +14x +14x +3x +3x +3x +14x +7x +7x +10424x +10424x + 
import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {TokenNodeRegex, TokenNode} from "../abap/nodes";
+import {INode} from "../abap/nodes/_inode";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class ForbiddenIdentifierConf extends BasicRuleConfig {
+  /** List of forbideen identifiers, array of string regex
+   * @uniqueItems true
+  */
+  public check: string[] = [];
+}
+ 
+export class ForbiddenIdentifier extends ABAPRule {
+ 
+  private conf = new ForbiddenIdentifierConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "forbidden_identifier",
+      title: "Forbidden Identifier",
+      shortDescription: `Forbid use of specified identifiers, list of regex.`,
+      extendedInformation: `Used in the transpiler to find javascript keywords in ABAP identifiers,
+https://github.com/abaplint/transpiler/blob/bda94b8b56e2b7f2f87be2168f12361aa530220e/packages/transpiler/src/validation.ts#L44`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ForbiddenIdentifierConf): void {
+    this.conf = conf;
+    if (this.conf.check === undefined) {
+      this.conf.check = [];
+    }
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    if (this.conf.check.length === 0) {
+      return [];
+    }
+ 
+    let ret: Issue[] = [];
+    for (const s of file.getStatements()) {
+      ret = ret.concat(this.traverse(s, file));
+    }
+ 
+    return ret;
+  }
+ 
+  private traverse(node: INode, file: ABAPFile): Issue[] {
+    let ret: Issue[] = [];
+ 
+    for (const c of node.getChildren()) {
+      if (c instanceof TokenNodeRegex) {
+        ret = ret.concat(this.check(c.get(), file));
+      } else if (c instanceof TokenNode) {
+        continue;
+      } else {
+        ret = ret.concat(this.traverse(c, file));
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private check(token: AbstractToken, file: ABAPFile): Issue[] {
+    const str = token.getStr();
+    const ret: Issue[] = [];
+    for (const c of this.conf.check) {
+      const reg = new RegExp(c, "i");
+      if (reg.exec(str)) {
+        const message = "Identifer \"" + str + "\" not allowed";
+        ret.push(Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity));
+      }
+    }
+    return ret;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/forbidden_pseudo_and_pragma.ts.html b/src/rules/forbidden_pseudo_and_pragma.ts.html new file mode 100644 index 00000000000..37ceecfd8f2 --- /dev/null +++ b/src/rules/forbidden_pseudo_and_pragma.ts.html @@ -0,0 +1,514 @@ + + + + + + Code coverage report for src/rules/forbidden_pseudo_and_pragma.ts + + + + + + + + + +
+
+

All files / src/rules forbidden_pseudo_and_pragma.ts

+
+ +
+ 68.05% + Statements + 98/144 +
+ + +
+ 60.86% + Branches + 14/23 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 68.05% + Lines + 98/144 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +1441x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +1x +10424x +10424x +10424x +10424x +10424x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10424x +10424x +9906x +9906x +  +  +9906x +  +  +9906x +  +  +9906x +9906x +10424x +10424x +244x +244x +10424x +10424x +10424x +10424x +261x +261x +261x +261x +5x +6x +6x +  +  +  +  +  +  +  +  +  +6x +6x +  +  +  +  +  +  +  +  +  +6x +6x +  +  +6x +6x +6x +6x +1x +1x +1x +1x +6x +5x +261x +261x +261x +261x +261x +1461x +1461x +  +  +  +  +  +  +  +  +  +1461x +1461x +  +  +  +  +  +  +  +  +  +1461x +1461x +  +  +1461x +1461x +1439x +1439x +22x +1461x +1x +1x +1x +1x +1461x +261x +261x +261x +261x +10424x +10424x
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {EditHelper} from "../edit_helper";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {Comment} from "../abap/2_statements/statements/_statement";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class ForbiddenPseudoAndPragmaConf extends BasicRuleConfig {
+  /** @uniqueItems true */
+  public pseudo: string[] = [`"#EC *`];
+  /** @uniqueItems true */
+  public pragmas: string[] = [];
+  public ignoreGlobalClassDefinition: boolean = false;
+  public ignoreGlobalInterface: boolean = false;
+}
+ 
+export class ForbiddenPseudoAndPragma extends ABAPRule {
+ 
+  private conf = new ForbiddenPseudoAndPragmaConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "forbidden_pseudo_and_pragma",
+      title: "Forbidden pseudo comments and pragma",
+      shortDescription: `Checks for unwanted pseudo comments and pragma`,
+      tags: [RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `DATA i TYPE i. "#EC *`,
+      goodExample: `DATA i TYPE i.`,
+    };
+  }
+ 
+  public getConfig() {
+    // @ts-ignore
+    if (this.conf === true) {
+      this.conf = new ForbiddenPseudoAndPragmaConf();
+    }
+    if (this.conf.pseudo === undefined) {
+      this.conf.pseudo = [];
+    }
+    if (this.conf.pragmas === undefined) {
+      this.conf.pragmas = [];
+    }
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ForbiddenPseudoAndPragmaConf) {
+    this.conf = conf;
+  }
+ 
+  // todo, this method could use some refactoring
+  // note that the top loop is on the configuration, which makes the default config run fast
+  public runParsed(file: ABAPFile) {
+    let skip = false;
+    const issues: Issue[] = [];
+ 
+    for (const p of this.conf.pragmas) {
+      for (const s of file.getStatements()) {
+ 
+        if (this.conf.ignoreGlobalClassDefinition === true) {
+          if (s.get() instanceof Statements.ClassDefinition
+              && s.findFirstExpression(Expressions.ClassGlobal)) {
+            skip = true;
+            continue;
+          } else if (skip === true && s.get() instanceof Statements.EndClass) {
+            skip = false;
+            continue;
+          }
+        }
+ 
+        if (this.conf.ignoreGlobalInterface === true) {
+          if (s.get() instanceof Statements.Interface
+              && s.findFirstExpression(Expressions.ClassGlobal)) {
+            skip = true;
+            continue;
+          } else if (skip === true && s.get() instanceof Statements.EndInterface) {
+            skip = false;
+            continue;
+          }
+        }
+ 
+        if (skip === true) {
+          continue;
+        }
+ 
+        const list = s.getPragmas();
+        const found = list.find((a) => a.getStr().toUpperCase() === p.toUpperCase());
+        if (found) {
+          const fix = EditHelper.deleteToken(file, found);
+          const message = "Forbidden pragma";
+          issues.push(Issue.atToken(file, found, message, this.getMetadata().key, this.conf.severity, fix));
+        }
+      }
+    }
+ 
+    skip = false;
+ 
+    for (const p of this.conf.pseudo) {
+      for (const s of file.getStatements()) {
+ 
+        if (this.conf.ignoreGlobalClassDefinition === true) {
+          if (s.get() instanceof Statements.ClassDefinition
+              && s.findFirstExpression(Expressions.ClassGlobal)) {
+            skip = true;
+            continue;
+          } else if (skip === true && s.get() instanceof Statements.EndClass) {
+            skip = false;
+            continue;
+          }
+        }
+ 
+        if (this.conf.ignoreGlobalInterface === true) {
+          if (s.get() instanceof Statements.Interface
+              && s.findFirstExpression(Expressions.ClassGlobal)) {
+            skip = true;
+            continue;
+          } else if (skip === true && s.get() instanceof Statements.EndInterface) {
+            skip = false;
+            continue;
+          }
+        }
+ 
+        if (skip === true) {
+          continue;
+        }
+ 
+        if (!(s.get() instanceof Comment)) {
+          continue;
+        }
+ 
+        if (s.concatTokens().toUpperCase().includes(p.toUpperCase())) {
+          const fix = EditHelper.deleteStatement(file, s);
+          const message = "Forbidden pseudo comment";
+          issues.push(Issue.atStatement(file, s, message, this.getMetadata().key, this.conf.severity, fix));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/forbidden_void_type.ts.html b/src/rules/forbidden_void_type.ts.html new file mode 100644 index 00000000000..8793f171232 --- /dev/null +++ b/src/rules/forbidden_void_type.ts.html @@ -0,0 +1,430 @@ + + + + + + Code coverage report for src/rules/forbidden_void_type.ts + + + + + + + + + +
+
+

All files / src/rules forbidden_void_type.ts

+
+ +
+ 86.95% + Statements + 100/115 +
+ + +
+ 79.31% + Branches + 23/29 +
+ + +
+ 90% + Functions + 9/10 +
+ + +
+ 86.95% + Lines + 100/115 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +1161x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +20847x +20847x +1x +10424x +10424x +10424x +10424x +10424x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +10424x +10424x +9906x +9906x +10424x +10424x +244x +244x +  +  +244x +10424x +10424x +256x +256x +256x +10424x +10424x +322x +311x +311x +11x +11x +11x +10424x +10424x +10424x +10424x +35x +35x +35x +35x +24x +12x +12x +12x +4x +4x +12x +12x +12x +5x +5x +12x +24x +35x +35x +24x +24x +35x +35x +35x +10424x +10424x +  +  +  +  +  +  +  +  +  +10424x +10424x +9x +  +  +9x +9x +23x +23x +23x +9x +9x +23x +  +  +10424x +10424x + 
import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {VoidType} from "../abap/types/basic/void_type";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {StructureType} from "../abap/types/basic";
+import {IRuleMetadata, IRule} from "./_irule";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+ 
+export class ForbiddenVoidTypeConf extends BasicRuleConfig {
+  /** List of forbidden void types, array of string regex, case in-sensitive
+   * @uniqueItems true
+  */
+  public check: string[] = [];
+}
+ 
+export class ForbiddenVoidType implements IRule {
+  private reg: IRegistry;
+  private conf = new ForbiddenVoidTypeConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "forbidden_void_type",
+      title: "Forbidden Void Types",
+      shortDescription: `Avoid usage of specified void types.`,
+      extendedInformation: `Inspiration:
+BOOLEAN, BOOLE_D, CHAR01, CHAR1, CHAR10, CHAR12, CHAR128, CHAR2, CHAR20, CHAR4, CHAR70,
+DATS, TIMS, DATUM, FLAG, INT4, NUMC3, NUMC4, SAP_BOOL, TEXT25, TEXT80, X255, XFELD`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ForbiddenVoidTypeConf): void {
+    this.conf = conf;
+    if (this.conf.check === undefined) {
+      this.conf.check = [];
+    }
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    if (!(obj instanceof ABAPObject) || this.conf.check.length === 0) {
+      return [];
+    }
+ 
+    return this.traverse(new SyntaxLogic(this.reg, obj).run().spaghetti.getTop());
+  }
+ 
+///////////////
+ 
+  private traverse(node: ISpaghettiScopeNode): readonly Issue[] {
+    let ret: Issue[] = [];
+    const message = "Forbidden void type: ";
+ 
+    if (node.getIdentifier().stype !== ScopeType.BuiltIn) {
+      for (const r of node.getData().references) {
+        if (r.referenceType === ReferenceType.ObjectOrientedVoidReference
+            && r.extra?.ooName !== undefined
+            && this.isForbiddenName(r.extra?.ooName)) {
+          ret.push(Issue.atIdentifier(r.position, message + r.extra?.ooName, this.getMetadata().key, this.conf.severity));
+        }
+        if ((r.referenceType === ReferenceType.VoidType
+            || r.referenceType === ReferenceType.TableVoidReference)
+            && this.isForbiddenName(r.position.getName())) {
+          ret.push(Issue.atIdentifier(r.position, message + r.position.getName(), this.getMetadata().key, this.conf.severity));
+        }
+      }
+    }
+ 
+    for (const c of node.getChildren()) {
+      ret = ret.concat(this.traverse(c));
+    }
+ 
+    return ret;
+  }
+ 
+  private isForbiddenType(type: AbstractType): boolean {
+    if (type instanceof StructureType) {
+      return type.getComponents().some(c => this.isForbiddenType(c.type));
+    } else if (!(type instanceof VoidType)) {
+      return false;
+    }
+
+    const name = type.getVoided();
+    return this.isForbiddenName(name);
+  }
+ 
+  private isForbiddenName(name: string | undefined): boolean {
+    if (name === undefined) {
+      return false;
+    }
+ 
+    for (const c of this.conf.check) {
+      const reg = new RegExp(c, "i");
+      const match = reg.test(name);
+      if (match === true) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/form_tables_obsolete.ts.html b/src/rules/form_tables_obsolete.ts.html new file mode 100644 index 00000000000..edb0f1dde99 --- /dev/null +++ b/src/rules/form_tables_obsolete.ts.html @@ -0,0 +1,250 @@ + + + + + + Code coverage report for src/rules/form_tables_obsolete.ts + + + + + + + + + +
+
+

All files / src/rules form_tables_obsolete.ts

+
+ +
+ 100% + Statements + 56/56 +
+ + +
+ 100% + Branches + 11/11 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 56/56 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +561x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +2x +2x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +258x +63x +63x +195x +258x +2x +2x +2x +2x +195x +195x +195x +10423x +10423x
import {Issue} from "../issue";
+import {Class} from "../objects";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPObject} from "../objects/_abap_object";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class FormTablesObsoleteConf extends BasicRuleConfig {
+}
+ 
+export class FormTablesObsolete extends ABAPRule {
+ 
+  private conf = new FormTablesObsoleteConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "form_tables_obsolete",
+      title: "TABLES parameters are obsolete",
+      shortDescription: `Checks for TABLES parameters in forms.`,
+      extendedInformation: `https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapform_tables.htm`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  private getMessage(): string {
+    return "FORM TABLES parameters are obsolete";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: FormTablesObsoleteConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const ret: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (obj instanceof Class || stru === undefined) {
+      return ret;
+    }
+ 
+    for (const form of stru.findAllExpressions(Expressions.FormTables)) {
+      const token = form.getFirstToken();
+      const issue = Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);
+      ret.push(issue);
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/fully_type_constants.ts.html b/src/rules/fully_type_constants.ts.html new file mode 100644 index 00000000000..df988de8534 --- /dev/null +++ b/src/rules/fully_type_constants.ts.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for src/rules/fully_type_constants.ts + + + + + + + + + +
+
+

All files / src/rules fully_type_constants.ts

+
+ +
+ 97.26% + Statements + 71/73 +
+ + +
+ 84.21% + Branches + 16/19 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 97.26% + Lines + 71/73 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +731x +1x +1x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +1x +10423x +10423x +10423x +10423x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +10423x +10423x +17x +17x +10423x +10423x +9906x +9906x +10423x +10423x +259x +259x +10423x +10423x +270x +270x +270x +1485x +1485x +1485x +17x +17x +17x +17x +17x +17x +17x +  +  +17x +17x +17x +17x +17x +17x +17x +17x +17x +1485x +270x +270x +10423x +10423x +163x +163x +10423x
import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import {StatementNode} from "../abap/nodes/statement_node";
+import {Type, TypeTable, NamespaceSimpleName, DefinitionName} from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class FullyTypeConsantsConf extends BasicRuleConfig {
+  /** Add check for implicit data definition, require full typing. */
+  public checkData: boolean = true;
+}
+ 
+export class FullyTypeConstants extends ABAPRule {
+  private conf = new FullyTypeConsantsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "fully_type_constants",
+      title: "Fully type constants",
+      shortDescription: `Checks constants for full typing - no implicit typing allowed.`,
+      badExample: "CONSTANTS foo VALUE 'a'.",
+      goodExample: "CONSTANTS foo TYPE c LENGTH 1 VALUE 'a'.",
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(type: string): string {
+    return `Fully type ${type}, no implicit typing`;
+  }
+ 
+  public getConfig(): FullyTypeConsantsConf {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: FullyTypeConsantsConf): void {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+ 
+    for (const stat of file.getStatements()) {
+      if ((stat.get() instanceof Statements.Constant
+          || (this.conf.checkData === true && stat.get() instanceof Statements.Data))
+          && (!this.isTyped(stat))) {
+        const type = stat.get() instanceof Statements.Constant ? "constant definition" : "data definition";
+ 
+        let token = stat.findFirstExpression(NamespaceSimpleName)?.getFirstToken();
+        if (token === undefined) {
+          token = stat.findFirstExpression(DefinitionName)?.getFirstToken();
+        }
+        if (token === undefined) {
+          throw new Error("fully type constants, unexpected node");
+        }
+ 
+        issues.push(
+          Issue.atToken(
+            file,
+            token,
+            this.getDescription(type),
+            this.getMetadata().key,
+            this.conf.severity));
+      }
+    }
+    return issues;
+  }
+ 
+  private isTyped(stat: StatementNode) {
+    return (stat.findFirstExpression(Type) || stat.findFirstExpression(TypeTable));
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/fully_type_itabs.ts.html b/src/rules/fully_type_itabs.ts.html new file mode 100644 index 00000000000..6f6953cbb33 --- /dev/null +++ b/src/rules/fully_type_itabs.ts.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for src/rules/fully_type_itabs.ts + + + + + + + + + +
+
+

All files / src/rules fully_type_itabs.ts

+
+ +
+ 100% + Statements + 73/73 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 73/73 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +731x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10429x +10429x +10429x +10429x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10429x +10429x +9906x +9906x +10429x +10429x +243x +243x +10429x +10429x +261x +261x +261x +1461x +1331x +1331x +130x +130x +1461x +114x +114x +16x +16x +16x +1461x +2x +2x +2x +2x +2x +2x +2x +2x +1461x +2x +2x +2x +2x +2x +2x +2x +2x +2x +1461x +261x +261x +10429x +10429x
import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class FullyTypeITabsConf extends BasicRuleConfig {
+}
+ 
+export class FullyTypeITabs extends ABAPRule {
+  private conf = new FullyTypeITabsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "fully_type_itabs",
+      title: "Fully type internal tables",
+      shortDescription: `No implict table types or table keys`,
+      badExample: `DATA lt_foo TYPE TABLE OF ty.
+DATA lt_bar TYPE STANDARD TABLE OF ty.`,
+      goodExample: `DATA lt_foo TYPE STANDARD TABLE OF ty WITH EMPTY KEY.`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig(): FullyTypeITabsConf {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: FullyTypeITabsConf): void {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+ 
+    for (const statement of file.getStatements()) {
+      if (!(statement.get() instanceof Statements.Data)) {
+        continue;
+      }
+ 
+      const tt = statement.findFirstExpression(Expressions.TypeTable);
+      if (tt === undefined) {
+        continue;
+      }
+ 
+      const concat = tt.concatTokens().toUpperCase();
+ 
+      if (concat.includes("TYPE TABLE OF")) {
+        const message = "Specify table type";
+        issues.push(
+          Issue.atPosition(
+            file,
+            tt.getFirstToken().getStart(),
+            message,
+            this.getMetadata().key,
+            this.conf.severity));
+      } else if (concat.includes(" WITH ") === false && concat.includes(" RANGE OF ") === false) {
+        const message = "Specify table key";
+        issues.push(
+          Issue.atPosition(
+            file,
+            tt.getFirstToken().getStart(),
+            message,
+            this.getMetadata().key,
+            this.conf.severity));
+      }
+    }
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/function_module_recommendations.ts.html b/src/rules/function_module_recommendations.ts.html new file mode 100644 index 00000000000..09c2425a139 --- /dev/null +++ b/src/rules/function_module_recommendations.ts.html @@ -0,0 +1,400 @@ + + + + + + Code coverage report for src/rules/function_module_recommendations.ts + + + + + + + + + +
+
+

All files / src/rules function_module_recommendations.ts

+
+ +
+ 98.11% + Statements + 104/106 +
+ + +
+ 94.44% + Branches + 17/18 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 98.11% + Lines + 104/106 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +1061x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +1x +10426x +10426x +10426x +10426x +10426x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10426x +10426x +9909x +9909x +10426x +10426x +246x +246x +10426x +10426x +261x +261x +  +  +261x +261x +261x +6x +6x +6x +6x +2x +2x +4x +4x +4x +4x +6x +2x +2x +6x +261x +261x +10426x +10426x +10426x +2x +2x +10426x +10426x
import {ABAPFile, Issue, Version} from "..";
+import {FunctionName} from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+ 
+ 
+export type Recommendations = {
+  /** @pattern ^\w+$ */
+  name: string,
+  replace: string,
+  from?: Version,
+};
+ 
+export class FunctionModuleRecommendationsConf extends BasicRuleConfig {
+ 
+  /** Tuple of Function Module Name to be replaced, the recommended alternative and
+   * the version from which the recommendation is valid.
+   * @uniqueItems true
+   */
+  public recommendations: Recommendations[] = [
+    {name: "CALCULATE_HASH_FOR_RAW", replace: "use CL_ABAP_HMAC or CL_ABAP_MESSAGE_DIGEST"},
+    {name: "CCU_TIMESTAMP_DIFFERENCE", replace: "use CL_ABAP_TSTMP"},
+    {name: "CONVERT_DATE_TO_EXTERNAL", replace: "use CL_ABAP_DATFM"},
+    {name: "CONVERT_TIME_INPUT", replace: "use CL_ABAP_TIMEFM"},
+    {name: "ECATT_CONV_XSTRING_TO_STRING", replace: "use CL_BINARY_CONVERT"},
+    {name: "F4_FILENAME", replace: "use CL_GUI_FRONTEND_SERVICES"},
+    {name: "FUNCTION_EXISTS", replace: "surround with try-catch CX_SY_DYN_CALL_ILLEGAL_METHOD instead"},
+    {name: "GUI_DOWNLOAD", replace: "use CL_GUI_FRONTEND_SERVICES"},
+    {name: "GUI_UPLOAD", replace: "use CL_GUI_FRONTEND_SERVICES"},
+    {name: "GUID_CREATE", replace: "use CL_SYSTEM_UUID"},
+    {name: "IGN_TIMESTAMP_DIFFERENCE", replace: "use CL_ABAP_TSTMP"},
+    {name: "IGN_TIMESTAMP_PLUSMINUS", replace: "use CL_ABAP_TSTMP"},
+    {name: "ISM_SD_GET_PRICING_CONDITIONS", replace: "use CL_PRC_RESULT_FACTORY as per note 2220005"},
+    {name: "JOB_CREATE", replace: "use CL_BP_ABAP_JOB"},
+    {name: "JOB_SUBMIT", replace: "use CL_BP_ABAP_JOB"},
+    {name: "POPUP_TO_CONFIRM_STEP", replace: "use POPUP_TO_CONFIRM"},
+    {name: "POPUP_TO_DECIDE", replace: "use POPUP_TO_CONFIRM"},
+    {name: "POPUP_TO_GET_VALUE", replace: "use POPUP_GET_VALUES"},
+    {name: "QF05_RANDOM_INTEGER", replace: "use CL_ABAP_RANDOM_INT"},
+    {name: "REUSE_ALV_GRID_DISPLAY", replace: "use CL_SALV_TABLE=>FACTORY or CL_GUI_ALV_GRID"},
+    {name: "ROUND", replace: "use built in function: round()"},
+    {name: "SAPGUI_PROGRESS_INDICATOR", replace: "use CL_PROGRESS_INDICATOR"},
+    {name: "SCMS_BASE64_DECODE_STR", replace: "use class CL_HTTP_UTILITY methods"},
+    {name: "SCMS_STRING_TO_XSTRING", replace: "use CL_BINARY_CONVERT"},
+    {name: "SO_NEW_DOCUMENT_ATT_SEND_API1", replace: "use CL_BCS"},
+    {name: "SSFC_BASE64_DECODE", replace: "use class CL_HTTP_UTILITY methods"},
+    {name: "SSFC_BASE64_ENCODE", replace: "use class CL_HTTP_UTILITY methods"},
+    {name: "SUBST_GET_FILE_LIST", replace: "see note 1686357"},
+    {name: "WS_FILENAME_GET", replace: "use CL_GUI_FRONTEND_SERVICES"},
+  ];
+}
+ 
+export class FunctionModuleRecommendations extends ABAPRule {
+ 
+  private conf = new FunctionModuleRecommendationsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "function_module_recommendations",
+      title: "Function Module Recommendations",
+      shortDescription: `Suggests replacements for various function modules`,
+      extendedInformation: `https://docs.abapopenchecks.org/checks/53/`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: FunctionModuleRecommendationsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+    if (!this.conf.recommendations) {
+      return issues;
+    }
+    const configVersion = this.reg.getConfig().getVersion();
+ 
+    for (const exNode of file.getStructure()?.findAllExpressions(FunctionName) || []) {
+      const token = exNode.getFirstToken();
+      let funcName = token.getStr().toUpperCase();
+      // only check constant FM names
+      if (!funcName.startsWith("'")) {
+        continue;
+      }
+      // remove leading and trailing single quote
+      funcName = funcName.slice(1, funcName.length - 1);
+      const index = this.conf.recommendations.findIndex(
+        i => i.name.toUpperCase() === funcName && (i.from === undefined || configVersion >= i.from));
+      if (index >= 0) {
+        issues.push(Issue.atToken(file, token, this.getMessage(index), this.getMetadata().key, this.conf.severity));
+      }
+    }
+    return issues;
+  }
+ 
+ 
+  private getMessage(index: number) {
+    return `Recommendation: Replace Function ${this.conf.recommendations[index].name} with: ${this.conf.recommendations[index].replace}`;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/functional_writing.ts.html b/src/rules/functional_writing.ts.html new file mode 100644 index 00000000000..22d912c07f6 --- /dev/null +++ b/src/rules/functional_writing.ts.html @@ -0,0 +1,484 @@ + + + + + + Code coverage report for src/rules/functional_writing.ts + + + + + + + + + +
+
+

All files / src/rules functional_writing.ts

+
+ +
+ 100% + Statements + 134/134 +
+ + +
+ 91.42% + Branches + 32/35 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 100% + Lines + 134/134 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +1341x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20846x +20846x +20846x +20846x +1x +10424x +10424x +10424x +10424x +10424x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +10424x +10424x +7x +7x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +268x +268x +268x +268x +20x +20x +248x +248x +268x +53x +53x +248x +248x +248x +268x +1393x +1393x +1393x +1393x +1x +1393x +228x +1392x +22x +12x +12x +10x +22x +22x +3x +3x +7x +7x +1393x +248x +248x +248x +10424x +10424x +7x +7x +7x +7x +10424x +10424x +7x +7x +7x +7x +7x +7x +6x +6x +3x +3x +3x +3x +3x +3x +3x +6x +1x +1x +1x +1x +7x +7x +10424x +10424x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Class} from "../objects";
+import {InfoClassDefinition} from "../abap/4_file_information/_abap_file_information";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPObject} from "../objects/_abap_object";
+import {DDIC} from "../ddic";
+import {EditHelper} from "../edit_helper";
+import {StatementNode} from "../abap/nodes/statement_node";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class FunctionalWritingConf extends BasicRuleConfig {
+  /** Ignore functional writing in exception classes, local + global */
+  public ignoreExceptions: boolean = true;
+}
+ 
+export class FunctionalWriting extends ABAPRule {
+ 
+  private conf = new FunctionalWritingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "functional_writing",
+      title: "Use functional writing",
+      shortDescription: `Detects usage of call method when functional style calls can be used.`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-functional-to-procedural-calls
+https://docs.abapopenchecks.org/checks/07/`,
+      tags: [RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `CALL METHOD zcl_class=>method( ).
+CALL METHOD cl_abap_typedescr=>describe_by_name
+  EXPORTING
+    p_name         = 'NAME'
+  RECEIVING
+    p_descr_ref    = lr_typedescr
+  EXCEPTIONS
+    type_not_found = 1
+    OTHERS         = 2.`,
+      goodExample: `zcl_class=>method( ).
+cl_abap_typedescr=>describe_by_name(
+  EXPORTING
+    p_name         = 'NAME'
+  RECEIVING
+    p_descr_ref    = lr_typedescr
+  EXCEPTIONS
+    type_not_found = 1
+    OTHERS         = 2 ).`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Use functional writing style for method calls";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: FunctionalWritingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject): readonly Issue[] {
+    const issues: Issue[] = [];
+    let exception = false;
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    let definition: InfoClassDefinition | undefined = undefined;
+    if (obj instanceof Class) {
+      definition = obj.getClassDefinition();
+    }
+ 
+    const ddic = new DDIC(this.reg);
+ 
+    for (const statNode of file.getStatements()) {
+      if (statNode.get() instanceof Statements.ClassImplementation
+        && definition
+        && ddic.isException(definition, obj)
+        && this.conf.ignoreExceptions) {
+        exception = true;
+      } else if (statNode.get() instanceof Statements.EndClass) {
+        exception = false;
+      } else if (exception === false && statNode.get() instanceof Statements.Call) {
+        if (statNode.getFirstChild()?.get() instanceof Expressions.MethodCallChain) {
+          continue;
+        }
+ 
+        const dynamic = statNode.findDirectExpression(Expressions.MethodSource)?.findDirectExpression(Expressions.Dynamic);
+        if (dynamic !== undefined) {
+          continue;
+        }
+        issues.push(this.createIssueForStatementNode(file, statNode));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private createIssueForStatementNode(file: ABAPFile, statNode: StatementNode): Issue {
+    const fixString = this.buildFixString(statNode);
+    const fix = EditHelper.replaceRange(file, statNode.getStart(), statNode.getEnd(), fixString);
+    return Issue.atStatement(file, statNode, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+  }
+ 
+  private buildFixString(statNode: StatementNode) {
+    // Note: line breaks from source are lost
+    const methodSource = statNode.findDirectExpression(Expressions.MethodSource);
+    let methodSourceStr = methodSource?.concatTokens();
+    const methodBody = statNode.findDirectExpression(Expressions.MethodCallBody);
+    let methodBodyStr = "";
+    if (methodBody) {
+      const methodCallParam = methodBody.findDirectExpression(Expressions.MethodCallParam);
+      if (methodCallParam && methodCallParam.getFirstToken().getStr() === "(") {
+        // has parameters and parantheses
+        methodBodyStr = `${methodBody.concatTokens()}.`;
+      } else {
+        // has parameters, but parentheses are missing
+        methodSourceStr = `${methodSourceStr}( `;
+        methodBodyStr = `${methodBody.concatTokens()} ).`;
+      }
+    }
+    else {
+      // no body means no parentheses and no parameters
+      methodBodyStr = "( ).";
+    }
+    return methodSourceStr + methodBodyStr;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/global_class.ts.html b/src/rules/global_class.ts.html new file mode 100644 index 00000000000..69be8526014 --- /dev/null +++ b/src/rules/global_class.ts.html @@ -0,0 +1,346 @@ + + + + + + Code coverage report for src/rules/global_class.ts + + + + + + + + + +
+
+

All files / src/rules global_class.ts

+
+ +
+ 96.59% + Statements + 85/88 +
+ + +
+ 96.15% + Branches + 25/26 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 96.59% + Lines + 85/88 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +881x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10428x +10428x +10428x +10428x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +10428x +10428x +9906x +9906x +10428x +10428x +243x +243x +10428x +10428x +260x +260x +260x +116x +2x +2x +2x +116x +116x +2x +2x +2x +116x +116x +  +  +  +116x +260x +260x +114x +114x +114x +2x +2x +2x +114x +260x +260x +55x +55x +55x +1x +1x +1x +55x +260x +260x +55x +2x +2x +2x +55x +260x +260x +260x +10428x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {IObject} from "../objects/_iobject";
+import * as Objects from "../objects";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class GlobalClassConf extends BasicRuleConfig {
+}
+ 
+export class GlobalClass extends ABAPRule {
+  private conf = new GlobalClassConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "global_class",
+      title: "Global class checks",
+      shortDescription: `Checks related to global classes`,
+      extendedInformation: `* global classes must be in own files
+ 
+* file names must match class name
+ 
+* file names must match interface name
+ 
+* global classes must be global definitions
+ 
+* global interfaces must be global definitions`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: GlobalClassConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: IObject) {
+    const output: Issue[] = [];
+ 
+    for (const definition of file.getInfo().listClassDefinitions()) {
+      if (definition.isLocal && obj instanceof Objects.Class && file.getFilename().match(/\.clas\.abap$/)) {
+        const issue = Issue.atIdentifier(definition.identifier, "Global classes must be global", this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+      }
+ 
+      if (definition.isGlobal && obj instanceof Objects.Class && definition.name.toUpperCase() !== obj.getName().toUpperCase()) {
+        const issue = Issue.atIdentifier(definition.identifier, "Class definition name must match filename", this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+      }
+ 
+      if (definition.isGlobal && !(obj instanceof Objects.Class)) {
+        const issue = Issue.atIdentifier(definition.identifier, "Class must be local", this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+      }
+    }
+ 
+    for (const impl of file.getInfo().listClassImplementations()) {
+      if (file.getFilename().match(/\.clas\.abap$/)
+          && obj instanceof Objects.Class
+          && impl.identifier.getName().toUpperCase() !== obj.getName().toUpperCase()) {
+        const issue = Issue.atIdentifier(impl.identifier, "Class implementation name must match filename", this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+      }
+    }
+ 
+    for (const impl of file.getInfo().listInterfaceDefinitions()) {
+      if (file.getFilename().match(/\.intf\.abap$/)
+          && obj instanceof Objects.Interface
+          && impl.identifier.getName().toUpperCase() !== obj.getName().toUpperCase()) {
+        const issue = Issue.atIdentifier(impl.identifier, "Interface implementation name must match filename", this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+      }
+    }
+ 
+    for (const intf of file.getInfo().listInterfaceDefinitions()) {
+      if (intf.isLocal && obj instanceof Objects.Interface && file.getFilename().match(/\.intf\.abap$/)) {
+        const issue = Issue.atIdentifier(intf.identifier, "Global interface must be global", this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+      }
+    }
+ 
+    return output;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/identical_conditions.ts.html b/src/rules/identical_conditions.ts.html new file mode 100644 index 00000000000..e6d5ecf5824 --- /dev/null +++ b/src/rules/identical_conditions.ts.html @@ -0,0 +1,586 @@ + + + + + + Code coverage report for src/rules/identical_conditions.ts + + + + + + + + + +
+
+

All files / src/rules identical_conditions.ts

+
+ +
+ 97.61% + Statements + 164/168 +
+ + +
+ 90.69% + Branches + 39/43 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 97.61% + Lines + 164/168 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +1681x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +48x +48x +1x +1x +62x +62x +1x +1x +47x +47x +1x +1x +1x +1x +1x +1x +10432x +10432x +10432x +10432x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +10432x +10432x +9906x +9906x +10432x +10432x +243x +243x +10432x +10432x +264x +264x +264x +264x +12x +12x +252x +264x +18x +18x +264x +5x +5x +264x +25x +25x +252x +252x +252x +10432x +10432x +10432x +10432x +25x +25x +25x +25x +38x +31x +38x +5x +7x +1x +1x +38x +24x +24x +25x +3x +3x +3x +3x +21x +21x +21x +10432x +10432x +18x +18x +18x +18x +  +  +18x +18x +18x +18x +18x +18x +2x +2x +2x +2x +2x +18x +18x +18x +1x +1x +1x +1x +17x +17x +17x +10432x +10432x +5x +5x +5x +5x +  +  +5x +5x +10x +10x +1x +1x +10x +11x +11x +9x +5x +5x +5x +2x +2x +2x +2x +3x +3x +3x +10432x
import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ExpressionNode, StructureNode} from "../abap/nodes";
+import {ABAPFile} from "../abap/abap_file";
+ 
+class Conditions {
+  private readonly arr: string[] = [];
+ 
+  public constructor() {
+    this.arr = [];
+  }
+ 
+  public push(e: ExpressionNode) {
+    this.arr.push(e.concatTokens());
+  }
+ 
+  public findFirstDuplicate() {
+    return this.arr.find(x => this.arr.indexOf(x) !== this.arr.lastIndexOf(x));
+  }
+}
+ 
+ 
+export class IdenticalConditionsConf extends BasicRuleConfig {
+}
+ 
+export class IdenticalConditions extends ABAPRule {
+  private conf = new IdenticalConditionsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "identical_conditions",
+      title: "Identical conditions",
+      shortDescription: `Find identical conditions in IF + CASE + WHILE etc
+ 
+Prerequsites: code is pretty printed with identical cAsE`,
+      tags: [RuleTag.SingleFile],
+      badExample: `IF foo = bar OR 1 = a OR foo = bar.
+ENDIF.
+CASE bar.
+  WHEN '1'.
+  WHEN 'A' OR '1'.
+ENDCASE.`,
+      goodExample: `IF foo = bar OR 1 = a.
+ENDIF.
+CASE bar.
+  WHEN '1'.
+  WHEN 'A'.
+ENDCASE.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: IdenticalConditionsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    let issues: Issue[] = [];
+ 
+    const structure = file.getStructure();
+    if (structure === undefined) {
+      return [];
+    }
+ 
+    for (const i of structure.findAllStructures(Structures.If)) {
+      issues = issues.concat(this.analyzeIf(file, i));
+    }
+    for (const i of structure.findAllStructures(Structures.Case)) {
+      issues = issues.concat(this.analyzeWhen(file, i));
+    }
+    for (const i of structure.findAllExpressions(Expressions.Cond)) {
+      issues = issues.concat(this.analyzeCond(file, i));
+    }
+ 
+    return issues;
+  }
+ 
+////////////////
+ 
+  private analyzeCond(file: ABAPFile, node: ExpressionNode): Issue[] {
+    const conditions = new Conditions();
+    let operator = "";
+ 
+    for (const c of node.getChildren()) {
+      if (c instanceof ExpressionNode) {
+        conditions.push(c);
+      } else if (operator === "") {
+        operator = c.get().getStr().toUpperCase();
+      } else if (operator !== c.get().getStr().toUpperCase()) {
+        return [];
+      }
+    }
+ 
+    const duplicate = conditions.findFirstDuplicate();
+    if (duplicate) {
+      const message = "Identical conditions: " + duplicate;
+      const issue = Issue.atToken(file, node.getFirstToken(), message, this.getMetadata().key, this.conf.severity);
+      return [issue];
+    }
+ 
+    return [];
+  }
+ 
+  private analyzeIf(file: ABAPFile, node: StructureNode): Issue[] {
+    const conditions = new Conditions();
+ 
+    const i = node.findDirectStatement(Statements.If);
+    if (i === undefined) {
+      throw new Error("identical_conditions, no IF found");
+    }
+    const c = i?.findDirectExpression(Expressions.Cond);
+    if (c) {
+      conditions.push(c);
+    }
+ 
+    for (const e of node.findDirectStructures(Structures.ElseIf)) {
+      const c = e.findDirectStatement(Statements.ElseIf)?.findDirectExpression(Expressions.Cond);
+      if (c) {
+        conditions.push(c);
+      }
+    }
+ 
+    const duplicate = conditions.findFirstDuplicate();
+    if (duplicate) {
+      const message = "Identical conditions: " + duplicate;
+      const issue = Issue.atStatement(file, i, message, this.getMetadata().key, this.conf.severity);
+      return [issue];
+    }
+ 
+    return [];
+  }
+ 
+  private analyzeWhen(file: ABAPFile, node: StructureNode): Issue[] {
+    const conditions = new Conditions();
+ 
+    const i = node.findDirectStatement(Statements.Case);
+    if (i === undefined) {
+      throw new Error("identical_conditions, no CASE found");
+    }
+ 
+    for (const e of node.findDirectStructures(Structures.When)) {
+      const w = e.findDirectStatement(Statements.When);
+      if (w === undefined) {
+        continue;
+      }
+      for (const s of w.findAllExpressions(Expressions.Source)) {
+        conditions.push(s);
+      }
+    }
+ 
+    const duplicate = conditions.findFirstDuplicate();
+    if (duplicate) {
+      const message = "Identical conditions: " + duplicate;
+      const issue = Issue.atStatement(file, i, message, this.getMetadata().key, this.conf.severity);
+      return [issue];
+    }
+ 
+    return [];
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/identical_contents.ts.html b/src/rules/identical_contents.ts.html new file mode 100644 index 00000000000..a36246f2640 --- /dev/null +++ b/src/rules/identical_contents.ts.html @@ -0,0 +1,451 @@ + + + + + + Code coverage report for src/rules/identical_contents.ts + + + + + + + + + +
+
+

All files / src/rules identical_contents.ts

+
+ +
+ 96.74% + Statements + 119/123 +
+ + +
+ 88.57% + Branches + 31/35 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 96.74% + Lines + 119/123 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +1231x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +266x +266x +266x +266x +12x +12x +266x +1512x +7x +7x +1512x +247x +266x +27x +27x +247x +247x +247x +10423x +10423x +10423x +10423x +27x +18x +18x +9x +9x +27x +1x +1x +27x +27x +  +  +8x +8x +8x +8x +27x +1x +27x +3x +3x +3x +3x +27x +4x +4x +4x +4x +27x +  +27x +1x +1x +1x +1x +27x +3x +3x +3x +10423x +10423x +24x +  +24x +12x +12x +12x +12x +24x +10423x +10423x
import * as Structures from "../abap/3_structures/structures";
+import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {StatementNode, StructureNode} from "../abap/nodes";
+import {ABAPFile} from "../abap/abap_file";
+import {Unknown} from "../abap/2_statements/statements/_statement";
+ 
+export class IdenticalContentsConf extends BasicRuleConfig {
+}
+ 
+export class IdenticalContents extends ABAPRule {
+  private conf = new IdenticalContentsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "identical_contents",
+      title: "Identical contents",
+      shortDescription: `Find identical contents in blocks inside IFs, both in the beginning and in the end.`,
+      extendedInformation: `
+Prerequsites: code is pretty printed with identical cAsE
+ 
+Chained statments are ignored`,
+      tags: [RuleTag.SingleFile],
+      badExample: `IF foo = bar.
+  WRITE 'bar'.
+  WRITE 'world'.
+ELSE.
+  WRITE 'foo'.
+  WRITE 'world'.
+ENDIF.`,
+      goodExample: `IF foo = bar.
+  WRITE 'bar'.
+ELSE.
+  WRITE 'foo'.
+ENDIF.
+WRITE 'world'.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: IdenticalContentsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    let issues: Issue[] = [];
+ 
+    const structure = file.getStructure();
+    if (structure === undefined) {
+      return [];
+    }
+    for (const statement of file.getStatements()) {
+      if (statement.get() instanceof Unknown) {
+        return []; // contains parser errors
+      }
+    }
+ 
+    for (const i of structure.findAllStructuresRecursive(Structures.If)) {
+      issues = issues.concat(this.analyzeIf(file, i));
+    }
+ 
+    return issues;
+  }
+ 
+////////////////
+ 
+  private analyzeIf(file: ABAPFile, node: StructureNode): Issue[] {
+    if (node.getChildren().length !== 4) {
+      return [];
+    }
+ 
+    const ifBody = node.findDirectStructure(Structures.Body);
+    if (node.findDirectStructure(Structures.ElseIf)) {
+      return [];
+    }
+    const elseBody = node.findDirectStructure(Structures.Else)?.findDirectStructure(Structures.Body);
+    if (elseBody === undefined || ifBody === undefined) {
+      return [];
+    }
+ 
+    {
+      const ifFirst = ifBody.getFirstChild();
+      const elseFirst = elseBody.getFirstChild();
+      if (ifFirst === undefined || elseFirst === undefined || this.isChained(ifFirst)) {
+        return [];
+      } else if (ifFirst.concatTokens() === elseFirst.concatTokens()) {
+        const message = "Identical contents";
+        const issue = Issue.atToken(file, node.getFirstToken(), message, this.getMetadata().key, this.conf.severity);
+        return [issue];
+      }
+    }
+ 
+    {
+      const ifLast = ifBody.getLastChild();
+      const elseLast = elseBody.getLastChild();
+      if (ifLast === undefined || elseLast === undefined || this.isChained(ifLast)) {
+        return [];
+      } else if (ifLast.concatTokens() === elseLast.concatTokens()) {
+        const message = "Identical contents";
+        const issue = Issue.atToken(file, node.getFirstToken(), message, this.getMetadata().key, this.conf.severity);
+        return [issue];
+      }
+    }
+ 
+    return [];
+  }
+ 
+  private isChained(node: StructureNode | StatementNode | undefined): boolean {
+    if (node === undefined) {
+      return false;
+    } else if (node instanceof StatementNode) {
+      return node.getColon() !== undefined;
+    } else {
+      return this.isChained(node.getFirstStatement());
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/identical_descriptions.ts.html b/src/rules/identical_descriptions.ts.html new file mode 100644 index 00000000000..9d8ef3d0f96 --- /dev/null +++ b/src/rules/identical_descriptions.ts.html @@ -0,0 +1,394 @@ + + + + + + Code coverage report for src/rules/identical_descriptions.ts + + + + + + + + + +
+
+

All files / src/rules identical_descriptions.ts

+
+ +
+ 96.15% + Statements + 100/104 +
+ + +
+ 91.66% + Branches + 33/36 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 96.15% + Lines + 100/104 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +1041x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +10425x +10425x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +10425x +10425x +9914x +9914x +10425x +10425x +243x +243x +10425x +10425x +246x +246x +246x +314x +  +  +314x +314x +103x +103x +69x +69x +103x +30x +30x +103x +30x +30x +34x +34x +314x +246x +246x +10425x +10425x +312x +312x +312x +101x +101x +68x +68x +33x +33x +101x +7x +7x +7x +101x +244x +312x +2x +2x +244x +244x +244x +10425x +10425x +2x +2x +3x +3x +  +  +3x +1x +1x +1x +2x +2x +1x +1x +10425x +10425x
import {Issue} from "../issue";
+import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {FunctionGroup} from "../objects";
+ 
+export class IdenticalDescriptionsConf extends BasicRuleConfig {
+}
+ 
+export class IdenticalDescriptions implements IRule {
+  private conf = new IdenticalDescriptionsConf();
+  private descriptions: {[type: string]: {[description: string]: string[]}};
+  private types: string[];
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "identical_descriptions",
+      title: "Identical descriptions",
+      shortDescription: `Searches for objects with the same type and same description`,
+      extendedInformation: `Case insensitive
+ 
+Only checks the master language descriptions
+ 
+Dependencies are skipped
+ 
+Works for: INTF, CLAS, DOMA, DTEL, FUNC in same FUGR`,
+      tags: [],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: IdenticalDescriptionsConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.descriptions = {};
+    this.types = ["INTF", "CLAS", "DOMA", "DTEL"];
+    for (const o of reg.getObjects()) {
+      if (reg.isDependency(o)) {
+        continue;
+      }
+      const type = o.getType();
+      if (this.types.includes(type)) {
+        const description = o.getDescription()?.toUpperCase();
+        if (description === undefined || description === "") {
+          continue;
+        }
+        if (this.descriptions[type] === undefined) {
+          this.descriptions[type] = {};
+        }
+        if (this.descriptions[type][description] === undefined) {
+          this.descriptions[type][description] = [];
+        }
+        this.descriptions[type][description].push(o.getName());
+      }
+    }
+    return this;
+  }
+ 
+  public run(o: IObject): Issue[] {
+    const issues: Issue[] = [];
+    const type = o.getType();
+    if (this.types.includes(type)) {
+      const description = o.getDescription()?.toUpperCase();
+      if (description === undefined || description === "") {
+        return issues;
+      }
+ 
+      const found = this.descriptions[type][description].filter(a => a !== o.getName());
+      if (found.length > 0) {
+        const message = "Identical description: " + found[0];
+        issues.push(Issue.atRow(o.getXMLFile()!, 1, message, this.getMetadata().key, this.getConfig().severity));
+      }
+    }
+ 
+    if (o instanceof FunctionGroup) {
+      issues.push(...this.checkFunctionModules(o));
+    }
+ 
+    return issues;
+  }
+ 
+  private checkFunctionModules(fugr: FunctionGroup): Issue[] {
+    const descriptions: {[type: string]: boolean} = {};
+    for (const fm of fugr.getModules()) {
+      const d = fm.getDescription()?.toUpperCase();
+      if (d === undefined || d === "") {
+        continue;
+      }
+      if (descriptions[d] !== undefined) {
+        const message = "FUGR " + fugr.getName() + " contains function modules with identical descriptions";
+        return [Issue.atRow(fugr.getXMLFile()!, 1, message, this.getMetadata().key, this.getConfig().severity)];
+      }
+      descriptions[d] = true;
+    }
+    return [];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/identical_form_names.ts.html b/src/rules/identical_form_names.ts.html new file mode 100644 index 00000000000..c71a55fc772 --- /dev/null +++ b/src/rules/identical_form_names.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/rules/identical_form_names.ts + + + + + + + + + +
+
+

All files / src/rules identical_form_names.ts

+
+ +
+ 100% + Statements + 62/62 +
+ + +
+ 100% + Branches + 13/13 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 62/62 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +250x +250x +10423x +10423x +316x +62x +62x +254x +254x +254x +254x +316x +261x +42x +42x +2x +2x +2x +42x +40x +40x +42x +261x +254x +254x +254x +10423x +10423x
import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class IdenticalFormNamesConf extends BasicRuleConfig {
+}
+ 
+// todo: deprecation candidate? this is/should be handled by the syntax check?
+ 
+export class IdenticalFormNames implements IRule {
+ 
+  private conf = new IdenticalFormNamesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "identical_form_names",
+      title: "Identical FORM names",
+      shortDescription: `Detects identically named FORMs`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: IdenticalFormNamesConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const ret: Issue[] = [];
+    const found: string[] = [];
+ 
+    for (const file of obj.getABAPFiles()) {
+      for (const form of file.getInfo().listFormDefinitions()) {
+        const name = form.name.toUpperCase();
+        if (found.indexOf(name) >= 0) {
+          const message = "Identical FORM Names: \"" + name + "\"";
+          const issue = Issue.atIdentifier(form.identifier, message, this.getMetadata().key, this.conf.severity);
+          ret.push(issue);
+        } else {
+          found.push(name);
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/if_in_if.ts.html b/src/rules/if_in_if.ts.html new file mode 100644 index 00000000000..21df0f30c1d --- /dev/null +++ b/src/rules/if_in_if.ts.html @@ -0,0 +1,508 @@ + + + + + + Code coverage report for src/rules/if_in_if.ts + + + + + + + + + +
+
+

All files / src/rules if_in_if.ts

+
+ +
+ 98.59% + Statements + 140/142 +
+ + +
+ 85.71% + Branches + 24/28 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 98.59% + Lines + 140/142 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +1421x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +267x +267x +267x +20x +20x +247x +247x +267x +12x +12x +235x +235x +235x +235x +235x +267x +30x +30x +9x +9x +21x +21x +30x +4x +4x +17x +17x +30x +5x +5x +12x +12x +30x +8x +8x +4x +4x +4x +30x +30x +  +  +4x +4x +4x +4x +30x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +4x +4x +4x +4x +4x +235x +235x +235x +10424x +10424x
import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+import {EditHelper, IEdit} from "../edit_helper";
+ 
+export class IfInIfConf extends BasicRuleConfig {
+}
+ 
+export class IfInIf extends ABAPRule {
+ 
+  private conf = new IfInIfConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "if_in_if",
+      title: "IF in IF",
+      shortDescription: `Detects nested ifs which can be refactored.`,
+      extendedInformation: `
+Directly nested IFs without ELSE can be refactored to a single condition using AND.
+ 
+ELSE condtions with directly nested IF refactored to ELSEIF, quickfixes are suggested for this case.
+ 
+https://docs.abapopenchecks.org/checks/01/
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-the-nesting-depth-low`,
+      badExample: `IF condition1.
+  IF condition2.
+    ...
+  ENDIF.
+ENDIF.
+ 
+IF condition1.
+  ...
+ELSE.
+  IF condition2.
+    ...
+  ENDIF.
+ENDIF.`,
+      goodExample: `IF ( condition1 ) AND ( condition2 ).
+  ...
+ENDIF.
+ 
+IF condition1.
+  ...
+ELSEIF condition2.
+  ...
+ENDIF.
+ 
+CASE variable.
+  WHEN value1.
+  ...
+  WHEN value2.
+    IF condition2.
+      ...
+    ENDIF.
+ENDCASE.`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile, RuleTag.Quickfix],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: IfInIfConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    let fixed = false;
+    let possible = stru.findAllStructures(Structures.If);
+    possible = possible.concat(stru.findAllStructures(Structures.Else));
+ 
+    for (const i of possible) {
+      if (i.findDirectStructures(Structures.ElseIf).length > 0
+          || i.findDirectStructures(Structures.Else).length > 0) {
+        continue;
+      }
+ 
+      const blist = i.findDirectStructures(Structures.Body);
+      if (blist.length === 0) {
+        continue;
+      }
+ 
+      const nlist = blist[0].findDirectStructures(Structures.Normal);
+      if (nlist.length !== 1) {
+        continue;
+      }
+ 
+      const niflist = nlist[0].findDirectStructures(Structures.If);
+      if (niflist.length !== 1) {
+        continue;
+      }
+ 
+      const nestedIf = niflist[0];
+      if (i.get() instanceof Structures.If
+          && (nestedIf.findDirectStructures(Structures.ElseIf).length > 0
+          || nestedIf.findDirectStructures(Structures.Else).length > 0)) {
+        continue;
+      }
+ 
+      let message = "IF in IF. Use IF cond1 AND cond2 instead";
+ 
+      let fix: IEdit | undefined = undefined;
+      if (i.get() instanceof Structures.Else) {
+        message = "Change ELSE part to ELSEIF";
+        const els = i.findFirstStatement(Statements.Else);
+        const iff = i.findFirstStructure(Structures.If)?.findDirectStatement(Statements.If);
+        const endif = i.findFirstStructure(Structures.If)?.findDirectStatement(Statements.EndIf);
+        if (fixed === false && iff && els && endif) {
+          const fix1 = EditHelper.deleteRange(file, els.getLastToken().getStart(), iff?.getFirstToken().getStart());
+          const fix2 = EditHelper.deleteStatement(file, endif);
+          fix = EditHelper.merge(fix1, fix2);
+          // max one fix per file at a time
+          fixed = true;
+        }
+      }
+ 
+      const token = i.getFirstToken();
+      const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix);
+      issues.push(issue);
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/implement_methods.ts.html b/src/rules/implement_methods.ts.html new file mode 100644 index 00000000000..7b38ad8e488 --- /dev/null +++ b/src/rules/implement_methods.ts.html @@ -0,0 +1,961 @@ + + + + + + Code coverage report for src/rules/implement_methods.ts + + + + + + + + + +
+
+

All files / src/rules implement_methods.ts

+
+ +
+ 90.1% + Statements + 264/293 +
+ + +
+ 81.48% + Branches + 66/81 +
+ + +
+ 100% + Functions + 16/16 +
+ + +
+ 90.1% + Lines + 264/293 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +2931x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10453x +10453x +10453x +10453x +10453x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +10453x +10453x +9906x +9906x +10453x +10453x +243x +243x +10453x +10453x +290x +290x +290x +14x +290x +1x +1x +275x +275x +275x +290x +145x +145x +145x +145x +145x +275x +275x +275x +10453x +10453x +10453x +10453x +147x +156x +156x +142x +142x +156x +5x +5x +10453x +10453x +2x +2x +2x +2x +2x +2x +  +  +10453x +10453x +145x +145x +145x +48x +48x +48x +2x +1x +1x +1x +2x +2x +46x +48x +  +  +  +48x +2x +2x +2x +2x +2x +48x +145x +145x +145x +10453x +10453x +4x +4x +  +  +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +  +  +  +10453x +10453x +40x +40x +40x +3x +3x +3x +3x +37x +37x +37x +10453x +10453x +44x +44x +44x +44x +36x +36x +36x +36x +34x +34x +34x +36x +44x +8x +8x +44x +44x +44x +10453x +10453x +10453x +29x +10x +29x +29x +6x +6x +6x +6x +6x +6x +6x +29x +29x +10453x +10453x +2x +2x +2x +2x +2x +  +  +  +  +  +  +  +  +  +  +  +  +10453x +10453x +145x +145x +145x +34x +34x +34x +2x +34x +3x +3x +29x +34x +16x +1x +1x +15x +16x +2x +2x +2x +2x +2x +2x +  +  +  +2x +16x +29x +142x +142x +142x +10453x +10453x +17x +  +  +17x +17x +17x +17x +17x +7x +7x +1x +1x +1x +1x +1x +7x +17x +17x +2x +2x +2x +2x +2x +15x +17x +4x +4x +4x +  +  +4x +4x +2x +2x +4x +2x +13x +13x +13x +10453x +10453x +4x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +10453x +10453x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPObject} from "../objects/_abap_object";
+import {Class, Interface, Program} from "../objects";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {InfoClassImplementation, InfoClassDefinition, InfoInterfaceDefinition, InfoMethodDefinition} from "../abap/4_file_information/_abap_file_information";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper, IEdit} from "../edit_helper";
+ 
+// todo: abstract methods from superclass parents(might be multiple), if class is not abstract
+ 
+export class ImplementMethodsConf extends BasicRuleConfig {
+}
+ 
+interface IMethod {
+  objectName: string;
+  method: InfoMethodDefinition;
+}
+ 
+export class ImplementMethods extends ABAPRule {
+  private conf = new ImplementMethodsConf();
+  private obj: ABAPObject;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "implement_methods",
+      title: "Implement methods",
+      shortDescription: `Checks for abstract methods and methods from interfaces which need implementing.`,
+      extendedInformation: `INCLUDE programs are only checked in connection with their main programs.`,
+      tags: [RuleTag.Syntax, RuleTag.Quickfix],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ImplementMethodsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    let ret: Issue[] = [];
+ 
+    if (file.getStructure() === undefined) {
+      return [];
+    } else if (obj instanceof Program && obj.isInclude() === true) {
+      return [];
+    }
+ 
+    this.obj = obj;
+ 
+    for (const classDefinition of file.getInfo().listClassDefinitions()) {
+      const classImplementation = this.lookupImplementationInObject(classDefinition.name, obj);
+ 
+      ret = ret.concat(this.checkClass(classDefinition, classImplementation));
+      ret = ret.concat(this.checkInterfaces(classDefinition, classImplementation));
+    }
+ 
+    return ret;
+  }
+ 
+/////////////////////////////////
+ 
+  private lookupImplementationInObject(name: string, obj: ABAPObject) {
+    for (const sub of obj.getABAPFiles()) {
+      const impl = sub.getInfo().getClassImplementationByName(name);
+      if (impl !== undefined) {
+        return impl;
+      }
+    }
+    return undefined;
+  }
+ 
+  private lookupDefinitionInObject(name: string) {
+    for (const sub of this.obj.getABAPFiles()) {
+      const def = sub.getInfo().getClassDefinitionByName(name);
+      if (def !== undefined) {
+        return def;
+      }
+    }
+    return undefined;
+  }
+ 
+  private checkClass(def: InfoClassDefinition, impl: InfoClassImplementation | undefined): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const md of def.methods) {
+      const found = impl?.methods.find(m => m.getName().toUpperCase() === md.name.toUpperCase());
+ 
+      if (md.isAbstract === true) {
+        if (found !== undefined) {
+          const issue = Issue.atIdentifier(found, "Do not implement abstract method \"" + md.name + "\"", this.getMetadata().key, this.conf.severity);
+          ret.push(issue);
+        }
+        continue;
+      }
+ 
+      if (impl === undefined) {
+        const message = "Class implementation for \"" + def.name + "\" not found";
+        const issue = Issue.atIdentifier(def.identifier, message, this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      } else if (found === undefined) {
+        const message = "Implement method \"" + md.name + "\"";
+        const fix = this.buildFix(impl, md.name);
+        const issue = Issue.atIdentifier(impl.identifier, message, this.getMetadata().key, this.conf.severity, fix);
+        ret.push(issue);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private buildFix(impl: InfoClassImplementation, methodName: string): IEdit | undefined {
+    const file = this.obj.getABAPFileByName(impl.identifier.getFilename());
+    if (file === undefined) {
+      return undefined;
+    }
+ 
+    for (const i of file.getStructure()?.findAllStatements(Statements.ClassImplementation) || []) {
+      const name = i.findFirstExpression(Expressions.ClassName)?.getFirstToken().getStr().toUpperCase();
+      if (name === impl.identifier.getName().toUpperCase()) {
+        return EditHelper.insertAt(file, i.getLastToken().getEnd(), `
+  METHOD ${methodName.toLowerCase()}.
+    RETURN. " todo, implement method
+  ENDMETHOD.`);
+      }
+    }
+
+    return undefined;
+  }
+ 
+  private findInterface(identifier: Identifier, name: string): InfoInterfaceDefinition | Issue | undefined {
+    const idef = this.findInterfaceByName(name);
+ 
+    if (idef === undefined) {
+      const message = "Implemented interface \"" + name + "\" not found";
+      const issue = Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity);
+      return issue;
+    }
+ 
+    return idef;
+  }
+ 
+  private findInterfaceByName(name: string): InfoInterfaceDefinition | undefined {
+    let idef: InfoInterfaceDefinition | undefined = undefined;
+ 
+    const intf = this.reg.getObject("INTF", name) as Interface | undefined;
+    if (intf === undefined) {
+      // lookup in localfiles
+      for (const file of this.obj.getABAPFiles()) {
+        const found = file.getInfo().getInterfaceDefinitionByName(name);
+        if (found) {
+          idef = found;
+          break;
+        }
+      }
+    } else {
+      idef = intf.getMainABAPFile()?.getInfo().listInterfaceDefinitions()[0];
+    }
+ 
+    return idef;
+  }
+ 
+  /** including implemented super interfaces */
+  private findInterfaceMethods(idef: InfoInterfaceDefinition): IMethod[] {
+    const methods = idef.methods.map((m) => {
+      return {objectName: idef.name, method: m};
+    });
+    for (const i of idef.interfaces) {
+      const sup = this.findInterface(idef.identifier, i.name);
+      if (sup !== undefined && !(sup instanceof Issue)) {
+        sup.methods.forEach(m => {
+          methods.push({objectName: sup.name, method: m});
+        });
+      }
+    }
+    return methods;
+  }
+ 
+  private findClass(name: string): {def: InfoClassDefinition, impl: InfoClassImplementation} | undefined {
+    let def = this.lookupDefinitionInObject(name);
+    let impl = this.lookupImplementationInObject(name, this.obj);
+    if (def && impl) {
+      return {def, impl};
+    }
+
+    const global = this.reg.getObject("CLAS", name) as Class | undefined;
+    if (global) {
+      def = global.getClassDefinition();
+      impl = this.lookupImplementationInObject(name, global);
+      if (def && impl) {
+        return {def, impl};
+      }
+    }
+
+    return undefined;
+  }
+ 
+  private checkInterfaces(def: InfoClassDefinition, impl: InfoClassImplementation | undefined): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const interfaceInfo of def.interfaces) {
+      const idef = this.findInterface(def.identifier, interfaceInfo.name);
+ 
+      if (idef === undefined || interfaceInfo.partial === true || interfaceInfo.allAbstract === true) {
+        continue; // ignore parser errors in interface
+      } else if (idef instanceof Issue) {
+        return [idef];
+      }
+ 
+      for (const m of this.findInterfaceMethods(idef)) {
+        if (interfaceInfo.abstractMethods.includes(m.method.name.toUpperCase())) {
+          continue;
+        }
+ 
+        if (this.isImplemented(m, def, impl) === false) {
+          const message = "Implement method \"" + m.method.name + "\" from interface \"" + m.objectName + "\"";
+          if (impl) {
+            const fix = this.buildFix(impl, m.objectName + "~" + m.method.name);
+            const issue = Issue.atIdentifier(impl.identifier, message, this.getMetadata().key, this.conf.severity, fix);
+            ret.push(issue);
+          } else {
+            const issue = Issue.atIdentifier(def.identifier, message, this.getMetadata().key, this.conf.severity);
+            ret.push(issue);
+          }
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private isImplemented(m: IMethod, def: InfoClassDefinition, impl: InfoClassImplementation | undefined): boolean {
+    if (impl === undefined) {
+      return false;
+    }
+ 
+    const name = m.objectName + "~" + m.method.name;
+    let found = impl.methods.find(m => m.getName().toUpperCase() === name.toUpperCase());
+ 
+    if (found === undefined) {
+      // try looking for ALIASes
+      for (const alias of def.aliases) {
+        if (alias.component.toUpperCase() === name.toUpperCase()) {
+          found = impl.methods.find(m => m.getName().toUpperCase() === alias.name.toUpperCase());
+          break;
+        }
+      }
+    }
+ 
+    if (found === undefined && def.superClassName !== undefined) {
+      const clas = this.findClass(def.superClassName);
+      if (clas) {
+        return this.isImplemented(m, clas?.def, clas?.impl);
+      }
+    }
+ 
+    if (found === undefined) {
+      for (const i of def.interfaces) {
+        const idef = this.findInterfaceByName(i.name);
+        if (idef === undefined) {
+          continue;
+        }
+        const ali = this.viaAliasInInterface(m, idef, impl);
+        if (ali) {
+          return ali;
+        }
+      }
+    }
+ 
+    return found !== undefined;
+  }
+ 
+  private viaAliasInInterface(m: IMethod, intf: InfoInterfaceDefinition, impl: InfoClassImplementation): boolean {
+    for (const a of intf.aliases) {
+      if (a.component.toUpperCase() === m.objectName.toUpperCase() + "~" + m.method.name.toUpperCase()) {
+        const name = intf.name + "~" + a.name;
+        const found = impl.methods.find(m => m.getName().toUpperCase() === name.toUpperCase());
+        if (found) {
+          return true;
+        }
+      }
+    }
+ 
+    return false;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/in_statement_indentation.ts.html b/src/rules/in_statement_indentation.ts.html new file mode 100644 index 00000000000..15012d2be9e --- /dev/null +++ b/src/rules/in_statement_indentation.ts.html @@ -0,0 +1,445 @@ + + + + + + Code coverage report for src/rules/in_statement_indentation.ts + + + + + + + + + +
+
+

All files / src/rules in_statement_indentation.ts

+
+ +
+ 98.33% + Statements + 118/120 +
+ + +
+ 97.56% + Branches + 40/41 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 98.33% + Lines + 118/120 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +1211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +20848x +20848x +1x +10425x +10425x +10425x +10425x +10425x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +10425x +10425x +8x +8x +10425x +10425x +9906x +9906x +10425x +10425x +244x +244x +10425x +10425x +268x +268x +268x +268x +268x +53x +53x +4x +53x +1x +1x +53x +263x +268x +1451x +26x +26x +1425x +1425x +1451x +  +  +1425x +1425x +1425x +1425x +1451x +1451x +1451x +1451x +1451x +1451x +1451x +1451x +1451x +1451x +1451x +1451x +1451x +1451x +1451x +131x +131x +1451x +5892x +5158x +5158x +5892x +8x +8x +8x +8x +8x +5892x +1425x +263x +263x +263x +10425x +10425x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {IObject} from "../objects/_iobject";
+import {Class} from "../objects";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Statements from "../abap/2_statements/statements";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {DDIC} from "../ddic";
+import {Unknown, Comment} from "../abap/2_statements/statements/_statement";
+import {EditHelper} from "../edit_helper";
+import {Position} from "../position";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class InStatementIndentationConf extends BasicRuleConfig {
+  /** Additional indent for first statement of blocks */
+  public blockStatements: number = 2;
+  /** Ignore global exception classes */
+  public ignoreExceptions: boolean = true;
+}
+ 
+export class InStatementIndentation extends ABAPRule {
+ 
+  private conf = new InStatementIndentationConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "in_statement_indentation",
+      title: "In-statement indentation",
+      shortDescription: "Checks alignment within statements which span multiple lines.",
+      extendedInformation: `Lines following the first line should be indented once (2 spaces).
+      
+For block declaration statements, lines after the first should be indented an additional time (default: +2 spaces)
+to distinguish them better from code within the block.`,
+      badExample: `IF 1 = 1
+  AND 2 = 2.
+  WRITE 'hello' &&
+  'world'.
+ENDIF.`,
+      goodExample: `IF 1 = 1
+    AND 2 = 2.
+  WRITE 'hello' &&
+    'world'.
+ENDIF.`,
+      tags: [RuleTag.Whitespace, RuleTag.Quickfix, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Fix in-statement indentation";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: InStatementIndentationConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: IObject) {
+    const ret: Issue[] = [];
+ 
+    const ddic = new DDIC(this.reg);
+ 
+    if (obj instanceof Class) {
+      const definition = obj.getClassDefinition();
+      if (definition === undefined) {
+        return [];
+      } else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {
+        return [];
+      }
+    }
+ 
+    for (const s of file.getStatements()) {
+      if (s.get() instanceof Comment || s.get() instanceof Unknown) {
+        continue;
+      }
+ 
+      const tokens = s.getTokens();
+      if (tokens.length === 0) {
+        continue;
+      }
+      const beginLine = tokens[0].getRow();
+      let expected = tokens[0].getCol() + 2;
+      const type = s.get();
+      if (type instanceof Statements.If
+          || type instanceof Statements.While
+          || type instanceof Statements.Module
+          || type instanceof Statements.SelectLoop
+          || type instanceof Statements.FunctionModule
+          || type instanceof Statements.Do
+          || type instanceof Statements.At
+          || type instanceof Statements.Catch
+          || type instanceof Statements.Case
+          || type instanceof Statements.When
+          || type instanceof Statements.Cleanup
+          || type instanceof Statements.Loop
+          || type instanceof Statements.Form
+          || type instanceof Statements.Else
+          || type instanceof Statements.ElseIf
+          || type instanceof Statements.MethodImplementation) {
+        expected = expected + this.conf.blockStatements;
+      }
+      for (const t of tokens) {
+        if (t.getRow() === beginLine) {
+          continue;
+        }
+        if (t.getCol() < expected) {
+          const fix = EditHelper.replaceRange(file, new Position(t.getRow(), 1), t.getStart(), " ".repeat(expected - 1));
+          const issue = Issue.atToken(file, t, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+          ret.push(issue);
+          break;
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/indentation.ts.html b/src/rules/indentation.ts.html new file mode 100644 index 00000000000..b2ad16558ad --- /dev/null +++ b/src/rules/indentation.ts.html @@ -0,0 +1,508 @@ + + + + + + Code coverage report for src/rules/indentation.ts + + + + + + + + + +
+
+

All files / src/rules indentation.ts

+
+ +
+ 95.77% + Statements + 136/142 +
+ + +
+ 85.71% + Branches + 36/42 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 95.77% + Lines + 136/142 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +1421x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20874x +20874x +20874x +20874x +20874x +20874x +20874x +20874x +20874x +20874x +20874x +1x +10451x +10451x +10451x +10451x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +31319x +10451x +10451x +9906x +9906x +10451x +10451x +244x +244x +10451x +10451x +319x +319x +319x +319x +20x +20x +299x +319x +51x +51x +51x +2x +51x +1x +1x +51x +296x +296x +319x +319x +319x +319x +319x +319x +319x +319x +319x +1624x +1624x +9x +9x +1615x +1615x +1615x +1624x +27x +27x +1x +1x +27x +1x +1x +26x +3x +3x +27x +1610x +1624x +22x +22x +1x +1x +22x +  +  +21x +  +  +22x +1609x +1624x +197x +197x +197x +197x +197x +197x +  +  +197x +1624x +296x +296x +296x +10451x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {IObject} from "../objects/_iobject";
+import {Class} from "../objects";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IIndentationOptions} from "../pretty_printer/indentation_options";
+import {Indent} from "../pretty_printer/indent";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {DDIC} from "../ddic";
+import {Position} from "../position";
+import {VirtualPosition} from "../virtual_position";
+import {EditHelper} from "../edit_helper";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class IndentationConf extends BasicRuleConfig {
+  /** Ignore global exception classes */
+  public ignoreExceptions: boolean = true;
+  /** Align TRY CATCH, TRY and CATCH should have the same indentation */
+  public alignTryCatch: boolean = false;
+  /** Add indentation for SELECTION SCREEN BLOCK, standard pretty printer indents this from 754 */
+  public selectionScreenBlockIndentation: boolean = false;
+  public globalClassSkipFirst: boolean = false;
+  public ignoreGlobalClassDefinition: boolean = false;
+  public ignoreGlobalInterface: boolean = false;
+}
+ 
+export class Indentation extends ABAPRule {
+  private conf = new IndentationConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "indentation",
+      title: "Indentation",
+      shortDescription: `Checks indentation`,
+      tags: [RuleTag.Whitespace, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `CLASS lcl DEFINITION.
+PRIVATE SECTION.
+METHODS constructor.
+ENDCLASS.
+ 
+CLASS lcl IMPLEMENTATION.
+METHOD constructor.
+ENDMETHOD.
+ENDCLASS.`,
+      goodExample: `CLASS lcl DEFINITION.
+  PRIVATE SECTION.
+    METHODS constructor.
+ENDCLASS.
+ 
+CLASS lcl IMPLEMENTATION.
+  METHOD constructor.
+  ENDMETHOD.
+ENDCLASS.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: IndentationConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: IObject) {
+    const MAX_ISSUES = 100;
+    let skip = false;
+ 
+    if (file.getStructure() === undefined) {
+      return []; // syntax error in file
+    }
+ 
+    if (obj instanceof Class) {
+      const definition = obj.getClassDefinition();
+      const ddic = new DDIC(this.reg);
+      if (definition === undefined) {
+        return [];
+      } else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {
+        return [];
+      }
+    }
+ 
+    const indentOpts: IIndentationOptions = {
+      selectionScreenBlockIndentation: this.conf?.selectionScreenBlockIndentation,
+      alignTryCatch: this.conf?.alignTryCatch,
+      globalClassSkipFirst: this.conf.globalClassSkipFirst,
+    };
+ 
+    const expected = new Indent(indentOpts).getExpectedIndents(file);
+    const ret: Issue[] = [];
+ 
+    for (const statement of file.getStatements()) {
+      const position = statement.getFirstToken().getStart();
+      if (position instanceof VirtualPosition) {
+        continue;
+      }
+ 
+      const indent = expected.shift();
+ 
+      if (this.conf.ignoreGlobalClassDefinition) {
+        if (statement.get() instanceof Statements.ClassDefinition
+          && statement.findFirstExpression(Expressions.ClassGlobal)) {
+          skip = true;
+          continue;
+        } else if (skip === true && statement.get() instanceof Statements.EndClass) {
+          skip = false;
+          continue;
+        } else if (skip === true) {
+          continue;
+        }
+      }
+ 
+      if (this.conf.ignoreGlobalInterface) {
+        if (statement.get() instanceof Statements.Interface
+          && statement.findFirstExpression(Expressions.ClassGlobal)) {
+          skip = true;
+          continue;
+        } else if (skip === true && statement.get() instanceof Statements.EndInterface) {
+          skip = false;
+          continue;
+        } else if (skip === true) {
+          continue;
+        }
+      }
+ 
+      if (indent && indent > 0 && indent !== position.getCol()) {
+        const expected = indent - 1;
+        const fix = EditHelper.replaceRange(file, new Position(position.getRow(), 1), position, " ".repeat(expected));
+        const message = "Indentation problem, expected " + expected + " spaces";
+        const issue = Issue.atPosition(file, position, message, this.getMetadata().key, this.conf.severity, fix);
+        ret.push(issue);
+        if (ret.length >= MAX_ISSUES) {
+          break;
+        }
+      }
+    }
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/index.html b/src/rules/index.html new file mode 100644 index 00000000000..601b1cd6690 --- /dev/null +++ b/src/rules/index.html @@ -0,0 +1,2696 @@ + + + + + + Code coverage report for src/rules + + + + + + + + + +
+
+

All files src/rules

+
+ +
+ 95.29% + Statements + 20941/21975 +
+ + +
+ 87.62% + Branches + 5507/6285 +
+ + +
+ 99.69% + Functions + 1296/1300 +
+ + +
+ 95.29% + Lines + 20941/21975 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
7bit_ascii.ts +
+
100%80/80100%12/12100%6/6100%80/80
_abap_rule.ts +
+
100%37/37100%6/6100%2/2100%37/37
_basic_rule_config.ts +
+
100%8/8100%1/1100%1/1100%8/8
_irule.ts +
+
100%54/54100%1/1100%0/0100%54/54
_naming_rule_config.ts +
+
100%15/15100%1/1100%1/1100%15/15
abapdoc.ts +
+
90.97%131/14489.47%34/38100%7/790.97%131/144
align_parameters.ts +
+
82.93%350/42280.95%68/84100%11/1182.93%350/422
align_pseudo_comments.ts +
+
97.33%73/7594.11%16/17100%5/597.33%73/75
align_type_expressions.ts +
+
100%189/189100%32/32100%9/9100%189/189
allowed_object_naming.ts +
+
98.33%59/6093.75%15/16100%6/698.33%59/60
allowed_object_types.ts +
+
73.13%49/6787.5%7/887.5%7/873.13%49/67
ambiguous_statement.ts +
+
97.75%87/8994.11%16/17100%7/797.75%87/89
avoid_use.ts +
+
100%150/15092.3%48/52100%8/8100%150/150
begin_end_names.ts +
+
98.09%103/10595%19/20100%6/698.09%103/105
begin_single_include.ts +
+
97.89%93/9595%19/20100%5/597.89%93/95
call_transaction_authority_check.ts +
+
100%65/65100%15/15100%6/6100%65/65
cds_comment_style.ts +
+
96.87%62/6485.71%12/14100%6/696.87%62/64
cds_legacy_view.ts +
+
97.22%70/7285.71%12/14100%6/697.22%70/72
cds_parser_error.ts +
+
100%51/5191.66%11/12100%6/6100%51/51
chain_mainly_declarations.ts +
+
94.65%177/18783.05%49/59100%7/794.65%177/187
change_if_to_case.ts +
+
88.43%130/14772.58%45/62100%7/788.43%130/147
check_abstract.ts +
+
98.7%76/7794.44%17/18100%6/698.7%76/77
check_comments.ts +
+
100%82/8295.45%21/22100%7/7100%82/82
check_ddic.ts +
+
100%81/8195.83%23/24100%7/7100%81/81
check_include.ts +
+
100%56/56100%10/10100%6/6100%56/56
check_subrc.ts +
+
94.52%207/21985.05%74/87100%11/1194.52%207/219
check_syntax.ts +
+
100%60/60100%11/11100%6/6100%60/60
check_text_elements.ts +
+
98.03%100/10288.88%24/27100%6/698.03%100/102
check_transformation_exists.ts +
+
100%63/63100%15/15100%6/6100%63/63
class_attribute_names.ts +
+
97.45%115/11893.33%28/30100%9/997.45%115/118
classic_exceptions_overlap.ts +
+
97.22%70/7285.71%12/14100%5/597.22%70/72
cloud_types.ts +
+
48%48/10075%6/875%6/848%48/100
colon_missing_space.ts +
+
100%60/60100%11/11100%6/6100%60/60
commented_code.ts +
+
96.61%114/11890.9%30/33100%9/996.61%114/118
constant_classes.ts +
+
91.42%160/17590.69%39/43100%8/891.42%160/175
constructor_visibility_public.ts +
+
100%68/68100%15/15100%7/7100%68/68
contains_tab.ts +
+
97.14%68/7091.66%11/12100%8/897.14%68/70
cyclic_oo.ts +
+
91.37%159/17483.92%47/56100%9/991.37%159/174
cyclomatic_complexity.ts +
+
96.36%53/5590%9/10100%7/796.36%53/55
dangerous_statement.ts +
+
93.22%110/11880%28/35100%8/893.22%110/118
db_operation_in_loop.ts +
+
100%76/76100%15/15100%5/5100%76/76
definitions_top.ts +
+
98.4%185/18886.76%59/68100%8/898.4%185/188
description_empty.ts +
+
100%63/63100%13/13100%7/7100%63/63
double_space.ts +
+
98.08%205/20996.96%64/66100%11/1198.08%205/209
downport.ts +
+
92.16%3058/331879.39%1110/1398100%79/7992.16%3058/3318
dynpro_checks.ts +
+
100%61/61100%13/13100%6/6100%61/61
easy_to_find_messages.ts +
+
100%80/80100%12/12100%6/6100%80/80
empty_line_in_statement.ts +
+
98.82%84/8588.88%24/27100%7/798.82%84/85
empty_statement.ts +
+
100%57/57100%7/7100%5/5100%57/57
empty_structure.ts +
+
100%181/181100%26/26100%7/7100%181/181
exit_or_check.ts +
+
100%77/77100%25/25100%6/6100%77/77
expand_macros.ts +
+
100%88/88100%18/18100%5/5100%88/88
exporting.ts +
+
98.98%98/9996%24/25100%7/798.98%98/99
forbidden_identifier.ts +
+
97.64%83/8594.44%17/18100%8/897.64%83/85
forbidden_pseudo_and_pragma.ts +
+
68.05%98/14460.86%14/23100%6/668.05%98/144
forbidden_void_type.ts +
+
86.95%100/11579.31%23/2990%9/1086.95%100/115
form_tables_obsolete.ts +
+
100%56/56100%11/11100%6/6100%56/56
fully_type_constants.ts +
+
97.26%71/7384.21%16/19100%8/897.26%71/73
fully_type_itabs.ts +
+
100%73/73100%14/14100%5/5100%73/73
function_module_recommendations.ts +
+
98.11%104/10694.44%17/18100%7/798.11%104/106
functional_writing.ts +
+
100%134/13491.42%32/35100%9/9100%134/134
global_class.ts +
+
96.59%85/8896.15%25/26100%5/596.59%85/88
identical_conditions.ts +
+
97.61%164/16890.69%39/43100%11/1197.61%164/168
identical_contents.ts +
+
96.74%119/12388.57%31/35100%7/796.74%119/123
identical_descriptions.ts +
+
96.15%100/10491.66%33/36100%7/796.15%100/104
identical_form_names.ts +
+
100%62/62100%13/13100%6/6100%62/62
if_in_if.ts +
+
98.59%140/14285.71%24/28100%5/598.59%140/142
implement_methods.ts +
+
90.1%264/29381.48%66/81100%16/1690.1%264/293
in_statement_indentation.ts +
+
98.33%118/12097.56%40/41100%7/798.33%118/120
indentation.ts +
+
95.77%136/14285.71%36/42100%6/695.77%136/142
index.ts +
+
100%168/168100%0/0100%0/0100%168/168
inline_data_old_versions.ts +
+
87.69%57/6566.66%8/12100%5/587.69%57/65
intf_referencing_clas.ts +
+
94.25%82/8771.42%15/21100%8/894.25%82/87
invalid_table_index.ts +
+
97.46%77/7990.47%19/21100%5/597.46%77/79
keep_single_parameter_on_one_line.ts +
+
96.62%172/17892.98%53/57100%15/1596.62%172/178
keyword_case.ts +
+
93.66%266/28489.32%92/103100%11/1193.66%266/284
line_break_multiple_parameters.ts +
+
97.67%84/8695.23%20/21100%6/697.67%84/86
line_break_style.ts +
+
100%56/56100%10/10100%6/6100%56/56
line_length.ts +
+
94.44%51/5490%9/10100%6/694.44%51/54
line_only_punc.ts +
+
100%90/90100%21/21100%7/7100%90/90
local_class_naming.ts +
+
97.67%84/8695.23%20/21100%7/797.67%84/86
local_testclass_consistency.ts +
+
89.7%61/6889.47%17/19100%5/589.7%61/68
local_variable_names.ts +
+
100%164/16496.87%31/32100%9/9100%164/164
macro_naming.ts +
+
97.36%74/7693.75%15/16100%6/697.36%74/76
main_file_contents.ts +
+
95.61%109/11493.93%31/33100%7/795.61%109/114
many_parentheses.ts +
+
94.35%184/19591.66%55/60100%9/994.35%184/195
max_one_method_parameter_per_line.ts +
+
100%65/65100%14/14100%5/5100%65/65
max_one_statement.ts +
+
100%77/77100%17/17100%6/6100%77/77
message_exists.ts +
+
98.83%169/17197.61%41/42100%11/1198.83%169/171
method_implemented_twice.ts +
+
100%76/76100%17/17100%5/5100%76/76
method_length.ts +
+
98.36%120/12297.05%33/34100%10/1098.36%120/122
method_overwrites_builtin.ts +
+
100%64/64100%8/8100%5/5100%64/64
method_parameter_names.ts +
+
96.12%124/12990.9%30/33100%10/1096.12%124/129
mix_returning.ts +
+
100%68/68100%14/14100%6/6100%68/68
modify_only_own_db_tables.ts +
+
96.22%102/10682.75%24/29100%7/796.22%102/106
msag_consistency.ts +
+
81.18%82/10183.33%15/18100%8/881.18%82/101
names_no_dash.ts +
+
100%97/97100%26/26100%6/6100%97/97
nesting.ts +
+
100%82/82100%24/24100%7/7100%82/82
newline_between_methods.ts +
+
100%90/9096.87%31/32100%8/8100%90/90
no_aliases.ts +
+
100%51/51100%10/10100%5/5100%51/51
no_chained_assignment.ts +
+
100%55/55100%9/9100%5/5100%55/55
no_external_form_calls.ts +
+
100%54/54100%11/11100%5/5100%54/54
no_inline_in_optional_branches.ts +
+
97.53%79/8190.9%10/11100%5/597.53%79/81
no_prefixes.ts +
+
96.61%228/23667.21%41/61100%12/1296.61%228/236
no_public_attributes.ts +
+
97.95%96/9892.3%24/26100%11/1197.95%96/98
no_yoda_conditions.ts +
+
94.59%105/11183.78%31/37100%9/994.59%105/111
nrob_consistency.ts +
+
71.21%47/6660%6/10100%6/671.21%47/66
object_naming.ts +
+
98.55%136/13889.47%17/19100%8/898.55%136/138
obsolete_statement.ts +
+
99.37%479/48298.42%125/127100%7/799.37%479/482
omit_parameter_name.ts +
+
88.88%120/13577.27%34/44100%7/788.88%120/135
omit_preceding_zeros.ts +
+
100%70/7087.5%14/16100%5/5100%70/70
omit_receiving.ts +
+
94.36%67/7186.66%13/15100%5/594.36%67/71
parser_702_chaining.ts +
+
94.66%71/7590.47%19/21100%5/594.66%71/75
parser_error.ts +
+
96.34%79/8292.85%13/14100%6/696.34%79/82
parser_missing_space.ts +
+
97.88%278/28496.62%86/89100%15/1597.88%278/284
pragma_style.ts +
+
89.04%65/7375%12/16100%6/689.04%65/73
prefer_corresponding.ts +
+
96.29%52/5488.88%8/9100%5/596.29%52/54
prefer_inline.ts +
+
94.11%240/25580%80/100100%11/1194.11%240/255
prefer_is_not.ts +
+
100%111/111100%31/31100%6/6100%111/111
prefer_pragmas.ts +
+
100%78/78100%14/14100%6/6100%78/78
prefer_raise_exception_new.ts +
+
100%83/83100%18/18100%6/6100%83/83
prefer_returning_to_exporting.ts +
+
97.97%97/9997.22%35/36100%5/597.97%97/99
prefer_xsdbool.ts +
+
96.66%58/6084.61%11/13100%5/596.66%58/60
preferred_compare_operator.ts +
+
100%101/10194.44%17/18100%9/9100%101/101
prefix_is_current_class.ts +
+
96.96%128/13288.88%24/27100%8/896.96%128/132
reduce_procedural_code.ts +
+
100%85/85100%21/21100%6/6100%85/85
reduce_string_templates.ts +
+
93.4%85/9183.33%20/24100%5/593.4%85/91
release_idoc.ts +
+
100%62/62100%15/15100%7/7100%62/62
remove_descriptions.ts +
+
91.66%121/13280.55%29/36100%10/1091.66%121/132
rfc_error_handling.ts +
+
100%85/85100%18/18100%6/6100%85/85
select_add_order_by.ts +
+
96.8%121/12582.97%39/47100%8/896.8%121/125
select_performance.ts +
+
98.52%134/13691.17%31/34100%8/898.52%134/136
select_single_full_key.ts +
+
89.05%122/13776.08%35/46100%9/989.05%122/137
selection_screen_naming.ts +
+
96.29%104/10893.75%30/32100%9/996.29%104/108
sequential_blank.ts +
+
100%74/74100%14/14100%8/8100%74/74
short_case.ts +
+
97.26%71/7393.33%14/15100%7/797.26%71/73
sicf_consistency.ts +
+
78.81%93/11875%15/20100%8/878.81%93/118
slow_parameter_passing.ts +
+
98.41%124/12689.65%26/29100%8/898.41%124/126
smim_consistency.ts +
+
97.18%69/7181.25%13/16100%8/897.18%69/71
space_before_colon.ts +
+
96.96%64/6691.66%11/12100%6/696.96%64/66
space_before_dot.ts +
+
100%99/99100%28/28100%7/7100%99/99
sql_escape_host_variables.ts +
+
97.77%88/9077.41%24/31100%5/597.77%88/90
sql_value_conversion.ts +
+
97.43%76/7892.3%12/13100%7/797.43%76/78
start_at_tab.ts +
+
97.43%76/7895.45%21/22100%6/697.43%76/78
static_call_via_instance.ts +
+
97.75%87/8990%18/20100%7/797.75%87/89
strict_sql.ts +
+
97.72%86/8894.28%33/35100%5/597.72%86/88
superclass_final.ts +
+
100%79/79100%22/22100%6/6100%79/79
superfluous_value.ts +
+
92.4%73/7977.27%17/22100%5/592.4%73/79
sy_modification.ts +
+
100%63/63100%16/16100%5/5100%63/63
tabl_enhancement_category.ts +
+
100%61/61100%11/11100%7/7100%61/61
tables_declared_locally.ts +
+
100%59/59100%10/10100%5/5100%59/59
try_without_catch.ts +
+
100%57/57100%12/12100%6/6100%57/57
type_form_parameters.ts +
+
100%61/61100%12/12100%6/6100%61/61
types_naming.ts +
+
100%88/88100%24/24100%6/6100%88/88
uncaught_exception.ts +
+
94.36%251/26682.05%96/117100%15/1594.36%251/266
unknown_types.ts +
+
100%178/17894.73%54/57100%10/10100%178/178
unnecessary_chaining.ts +
+
100%78/78100%29/29100%5/5100%78/78
unnecessary_pragma.ts +
+
100%196/196100%72/72100%10/10100%196/196
unnecessary_return.ts +
+
100%105/105100%28/28100%6/6100%105/105
unreachable_code.ts +
+
98.23%111/11394.11%48/51100%8/898.23%111/113
unsecure_fae.ts +
+
100%63/63100%16/16100%6/6100%63/63
unused_ddic.ts +
+
100%63/63100%15/15100%7/7100%63/63
unused_macros.ts +
+
97.43%76/7887.5%14/16100%7/797.43%76/78
unused_methods.ts +
+
95.16%236/24888.63%78/88100%16/1695.16%236/248
unused_types.ts +
+
93.8%212/22687.32%62/71100%16/1693.8%212/226
unused_variables.ts +
+
94.86%277/29289%89/100100%18/1894.86%277/292
use_bool_expression.ts +
+
96.96%128/13277.27%51/66100%5/596.96%128/132
use_class_based_exceptions.ts +
+
100%58/58100%11/11100%6/6100%58/58
use_line_exists.ts +
+
92.85%104/11282.35%28/34100%7/792.85%104/112
use_new.ts +
+
95.95%95/9984.37%27/32100%7/795.95%95/99
when_others_last.ts +
+
100%71/71100%12/12100%6/6100%71/71
whitespace_end.ts +
+
97.1%67/6991.66%11/12100%7/797.1%67/69
xml_consistency.ts +
+
95.18%79/8377.77%21/27100%6/695.18%79/83
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/index.ts.html b/src/rules/index.ts.html new file mode 100644 index 00000000000..8c595d33482 --- /dev/null +++ b/src/rules/index.ts.html @@ -0,0 +1,586 @@ + + + + + + Code coverage report for src/rules/index.ts + + + + + + + + + +
+
+

All files / src/rules index.ts

+
+ +
+ 100% + Statements + 168/168 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 168/168 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +1681x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x
export * from "./7bit_ascii";
+export * from "./abapdoc";
+export * from "./align_parameters";
+export * from "./align_pseudo_comments";
+export * from "./align_type_expressions";
+export * from "./allowed_object_naming";
+export * from "./allowed_object_types";
+export * from "./ambiguous_statement";
+export * from "./avoid_use";
+export * from "./begin_end_names";
+export * from "./begin_single_include";
+export * from "./call_transaction_authority_check";
+export * from "./cds_comment_style";
+export * from "./cds_legacy_view";
+export * from "./cds_parser_error";
+export * from "./chain_mainly_declarations";
+export * from "./change_if_to_case";
+export * from "./check_abstract";
+export * from "./check_comments";
+export * from "./check_ddic";
+export * from "./check_include";
+export * from "./check_subrc";
+export * from "./check_syntax";
+export * from "./check_text_elements";
+export * from "./check_transformation_exists";
+export * from "./class_attribute_names";
+export * from "./classic_exceptions_overlap";
+export * from "./cloud_types";
+export * from "./colon_missing_space";
+export * from "./commented_code";
+export * from "./constant_classes";
+export * from "./constructor_visibility_public";
+export * from "./contains_tab";
+export * from "./cyclic_oo";
+export * from "./cyclomatic_complexity";
+export * from "./dangerous_statement";
+export * from "./db_operation_in_loop";
+export * from "./definitions_top";
+export * from "./description_empty";
+export * from "./double_space";
+export * from "./downport";
+export * from "./dynpro_checks";
+export * from "./easy_to_find_messages";
+export * from "./empty_line_in_statement";
+export * from "./empty_statement";
+export * from "./empty_structure";
+export * from "./exit_or_check";
+export * from "./expand_macros";
+export * from "./exporting";
+export * from "./forbidden_identifier";
+export * from "./forbidden_pseudo_and_pragma";
+export * from "./forbidden_void_type";
+export * from "./form_tables_obsolete";
+export * from "./fully_type_constants";
+export * from "./fully_type_itabs";
+export * from "./function_module_recommendations";
+export * from "./functional_writing";
+export * from "./global_class";
+export * from "./identical_conditions";
+export * from "./identical_contents";
+export * from "./identical_descriptions";
+export * from "./identical_form_names";
+export * from "./if_in_if";
+export * from "./implement_methods";
+export * from "./in_statement_indentation";
+export * from "./indentation";
+export * from "./inline_data_old_versions";
+export * from "./intf_referencing_clas";
+export * from "./invalid_table_index";
+export * from "./keep_single_parameter_on_one_line";
+export * from "./keyword_case";
+export * from "./line_break_multiple_parameters";
+export * from "./line_break_style";
+export * from "./line_length";
+export * from "./line_only_punc";
+export * from "./local_class_naming";
+export * from "./local_testclass_consistency";
+export * from "./local_variable_names";
+export * from "./macro_naming";
+export * from "./main_file_contents";
+export * from "./many_parentheses";
+export * from "./max_one_method_parameter_per_line";
+export * from "./max_one_statement";
+export * from "./message_exists";
+export * from "./method_implemented_twice";
+export * from "./method_length";
+export * from "./method_overwrites_builtin";
+export * from "./method_parameter_names";
+export * from "./mix_returning";
+export * from "./modify_only_own_db_tables";
+export * from "./msag_consistency";
+export * from "./names_no_dash";
+export * from "./nesting";
+export * from "./newline_between_methods";
+export * from "./no_aliases";
+export * from "./no_chained_assignment";
+export * from "./no_external_form_calls";
+export * from "./no_inline_in_optional_branches";
+export * from "./no_prefixes";
+export * from "./no_public_attributes";
+export * from "./no_yoda_conditions";
+export * from "./nrob_consistency";
+export * from "./object_naming";
+export * from "./obsolete_statement";
+export * from "./omit_parameter_name";
+export * from "./omit_preceding_zeros";
+export * from "./omit_receiving";
+export * from "./parser_702_chaining";
+export * from "./parser_error";
+export * from "./parser_missing_space";
+export * from "./pragma_style";
+export * from "./prefer_corresponding";
+export * from "./prefer_inline";
+export * from "./prefer_is_not";
+export * from "./prefer_pragmas";
+export * from "./prefer_raise_exception_new";
+export * from "./prefer_returning_to_exporting";
+export * from "./prefer_xsdbool";
+export * from "./preferred_compare_operator";
+export * from "./prefix_is_current_class";
+export * from "./reduce_procedural_code";
+export * from "./reduce_string_templates";
+export * from "./release_idoc";
+export * from "./remove_descriptions";
+export * from "./rfc_error_handling";
+export * from "./select_add_order_by";
+export * from "./select_performance";
+export * from "./select_single_full_key";
+export * from "./selection_screen_naming";
+export * from "./sequential_blank";
+export * from "./short_case";
+export * from "./sicf_consistency";
+export * from "./slow_parameter_passing";
+export * from "./smim_consistency";
+export * from "./space_before_colon";
+export * from "./space_before_dot";
+export * from "./sql_escape_host_variables";
+export * from "./sql_value_conversion";
+export * from "./start_at_tab";
+export * from "./static_call_via_instance";
+export * from "./strict_sql";
+export * from "./superclass_final";
+export * from "./superfluous_value";
+export * from "./sy_modification";
+export * from "./tabl_enhancement_category";
+export * from "./tables_declared_locally";
+export * from "./try_without_catch";
+export * from "./type_form_parameters";
+export * from "./types_naming";
+export * from "./uncaught_exception";
+export * from "./unknown_types";
+export * from "./unnecessary_chaining";
+export * from "./unnecessary_pragma";
+export * from "./unnecessary_return";
+export * from "./unreachable_code";
+export * from "./unsecure_fae";
+export * from "./unused_ddic";
+export * from "./unused_macros";
+export * from "./unused_methods";
+export * from "./unused_types";
+export * from "./unused_variables";
+export * from "./use_bool_expression";
+export * from "./use_class_based_exceptions";
+export * from "./use_line_exists";
+export * from "./use_new";
+export * from "./when_others_last";
+export * from "./whitespace_end";
+export * from "./xml_consistency";
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/inline_data_old_versions.ts.html b/src/rules/inline_data_old_versions.ts.html new file mode 100644 index 00000000000..39f007a76ad --- /dev/null +++ b/src/rules/inline_data_old_versions.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/rules/inline_data_old_versions.ts + + + + + + + + + +
+
+

All files / src/rules inline_data_old_versions.ts

+
+ +
+ 87.69% + Statements + 57/65 +
+ + +
+ 66.66% + Branches + 8/12 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 87.69% + Lines + 57/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +651x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10425x +10425x +9906x +9906x +10425x +10425x +243x +243x +10425x +10425x +257x +257x +257x +257x +256x +256x +1x +1x +1x +1x +1x +1x +  +  +1x +  +  +1x +  +  +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {Version} from "../version";
+import {Target} from "../abap/2_statements/expressions";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class InlineDataOldVersionsConf extends BasicRuleConfig {
+}
+ 
+export class InlineDataOldVersions extends ABAPRule {
+  private conf = new InlineDataOldVersionsConf();
+ 
+  public getMetadata() {
+    return {
+      key: "inline_data_old_versions",
+      title: "Inline data, old versions",
+      shortDescription: `Checks for inline data declarations in older releases. Only active for versions less than v740sp02`,
+      tags: [RuleTag.Syntax, RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: InlineDataOldVersionsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    if (this.reg.getConfig().getVersion() >= Version.v740sp02
+        || this.reg.getConfig().getVersion() === Version.Cloud) {
+      return [];
+    }
+ 
+    for (const statement of file.getStatements()) {
+// when parsed in old versions these expressions are NOT InlineData
+      for (const target of statement.findAllExpressions(Target)) {
+        const tokens = target.getAllTokens();
+        if (tokens.length !== 4) {
+          continue;
+        }
+        if (!tokens[0].getStr().match(/DATA/i)) {
+          continue;
+        }
+        if (tokens[1].getStr() !== "(") {
+          continue;
+        }
+        if (tokens[3].getStr() !== ")") {
+          continue;
+        }
+ 
+        const message = "Inline DATA not possible in " + this.reg.getConfig().getVersion();
+        const issue = Issue.atToken(file, tokens[0], message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/intf_referencing_clas.ts.html b/src/rules/intf_referencing_clas.ts.html new file mode 100644 index 00000000000..d58f995385e --- /dev/null +++ b/src/rules/intf_referencing_clas.ts.html @@ -0,0 +1,343 @@ + + + + + + Code coverage report for src/rules/intf_referencing_clas.ts + + + + + + + + + +
+
+

All files / src/rules intf_referencing_clas.ts

+
+ +
+ 94.25% + Statements + 82/87 +
+ + +
+ 71.42% + Branches + 15/21 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 94.25% + Lines + 82/87 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +871x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +20847x +20847x +1x +10425x +10425x +10425x +10425x +10425x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10425x +10425x +9908x +  +  +9908x +9908x +10425x +10425x +243x +243x +10425x +10425x +246x +246x +246x +10425x +10425x +313x +292x +292x +21x +21x +21x +10425x +10425x +10425x +10425x +68x +68x +68x +68x +68x +68x +14x +14x +14x +2x +2x +  +2x +  +  +2x +2x +14x +68x +68x +47x +47x +68x +68x +68x +10425x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {Class, Interface} from "../objects";
+import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {DDIC} from "../ddic";
+ 
+export class IntfReferencingClasConf extends BasicRuleConfig {
+  /** List of classes allowed to be referenced, regex, case insensitive
+   * @uniqueItems true
+  */
+  public allow: string[] = [];
+}
+ 
+export class IntfReferencingClas implements IRule {
+  private conf = new IntfReferencingClasConf();
+  private reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "intf_referencing_clas",
+      title: "INTF referencing CLAS",
+      shortDescription: `Interface contains references to class`,
+      extendedInformation: `Only global interfaces are checked.
+      Only first level references are checked.
+      Exception class references are ignored.
+      Void references are ignored.`,
+    };
+  }
+ 
+  public getConfig() {
+    if (this.conf.allow === undefined) {
+      this.conf.allow = [];
+    }
+    return this.conf;
+  }
+ 
+  public setConfig(conf: IntfReferencingClasConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry): IRule {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    if (!(obj instanceof Interface)) {
+      return [];
+    }
+ 
+    return this.traverse(new SyntaxLogic(this.reg, obj).run().spaghetti.getTop());
+  }
+ 
+////////////////
+ 
+  private traverse(node: ISpaghettiScopeNode): readonly Issue[] {
+    let ret: Issue[] = [];
+    const message = "Referencing CLAS: ";
+ 
+    const ddic = new DDIC(this.reg);
+ 
+    for (const r of node.getData().references) {
+      if (r.referenceType === ReferenceType.ObjectOrientedReference
+          && r.extra?.ooType === "CLAS"
+          && r.extra?.ooName !== undefined) {
+        const found = this.reg.getObject("CLAS", r.extra.ooName) as Class || undefined;
+        if (found && ddic.isException(found.getClassDefinition(), found)) {
+          continue;
+        } else if (this.getConfig().allow.some(reg => new RegExp(reg, "i").test(r.extra!.ooName!))) {
+          continue;
+        }
+        ret.push(Issue.atIdentifier(r.position, message + r.extra.ooName, this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    for (const c of node.getChildren()) {
+      ret = ret.concat(this.traverse(c));
+    }
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/invalid_table_index.ts.html b/src/rules/invalid_table_index.ts.html new file mode 100644 index 00000000000..e691487272c --- /dev/null +++ b/src/rules/invalid_table_index.ts.html @@ -0,0 +1,322 @@ + + + + + + Code coverage report for src/rules/invalid_table_index.ts + + + + + + + + + +
+
+

All files / src/rules invalid_table_index.ts

+
+ +
+ 97.46% + Statements + 77/79 +
+ + +
+ 90.47% + Branches + 19/21 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.46% + Lines + 77/79 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +801x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +258x +12x +12x +246x +246x +258x +2x +2x +2x +2x +  +  +2x +1x +1x +1x +1x +1x +2x +246x +258x +3x +2x +3x +3x +1x +1x +3x +1x +1x +1x +1x +1x +3x +246x +246x +246x +10423x + 
import {Issue} from "../issue";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper} from "../edit_helper";
+import {ReadTable} from "../abap/2_statements/statements";
+ 
+ 
+export class InvalidTableIndexConf extends BasicRuleConfig {
+}
+ 
+export class InvalidTableIndex extends ABAPRule {
+  private conf = new InvalidTableIndexConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "invalid_table_index",
+      title: "Invalid Table Index",
+      shortDescription: `Issues error for constant table index zero, as ABAP starts from 1`,
+      tags: [RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `DATA(first) = table[ 0 ].
+READ TABLE gt_stack ASSIGNING <ls_stack> INDEX 0.`,
+      goodExample: `DATA(first) = table[ 1 ].
+READ TABLE gt_stack ASSIGNING <ls_stack> INDEX 1.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: InvalidTableIndexConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return issues; // parser error
+    }
+ 
+    const expr = stru.findAllExpressionsRecursive(Expressions.TableExpression);
+    for (const e of expr) {
+      const token = e.findDirectExpression(Expressions.Source)
+        ?.findDirectExpression(Expressions.Constant)
+        ?.findFirstExpression(Expressions.Integer)?.getFirstToken();
+      if (token === undefined) {
+        continue;
+      }
+      if (token.getStr() === "0") {
+        const message = "Table index starts from 1";
+        const fix = EditHelper.replaceToken(file, token, "1");
+        const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+    }
+ 
+    for (const rt of stru.findAllStatements(ReadTable)) {
+      const token = rt.findExpressionAfterToken("INDEX")
+        ?.findDirectExpression(Expressions.Constant)
+        ?.findFirstExpression(Expressions.Integer)?.getFirstToken();
+      if (token === undefined) {
+        continue;
+      }
+      if (token.getStr() === "0") {
+        const message = "Table index starts from 1";
+        const fix = EditHelper.replaceToken(file, token, "1");
+        const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/keep_single_parameter_on_one_line.ts.html b/src/rules/keep_single_parameter_on_one_line.ts.html new file mode 100644 index 00000000000..db114605d73 --- /dev/null +++ b/src/rules/keep_single_parameter_on_one_line.ts.html @@ -0,0 +1,616 @@ + + + + + + Code coverage report for src/rules/keep_single_parameter_on_one_line.ts + + + + + + + + + +
+
+

All files / src/rules keep_single_parameter_on_one_line.ts

+
+ +
+ 96.62% + Statements + 172/178 +
+ + +
+ 92.98% + Branches + 53/57 +
+ + +
+ 100% + Functions + 15/15 +
+ + +
+ 96.62% + Lines + 172/178 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +1781x +1x +1x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +10423x +10423x +10030x +10030x +10423x +10423x +243x +243x +10423x +10423x +271x +271x +271x +20x +20x +251x +251x +271x +12x +12x +239x +271x +1371x +1371x +1371x +1371x +1371x +1371x +1254x +1254x +1371x +6x +6x +117x +239x +239x +239x +10423x +10423x +10423x +10423x +119x +119x +119x +10423x +10423x +120x +1x +1x +1x +1x +119x +119x +10423x +10423x +121x +11x +11x +1x +1x +11x +120x +120x +10423x +10423x +118x +4x +4x +1x +1x +4x +3x +117x +117x +10423x +10423x +6x +4x +4x +2x +2x +  +  +2x +4x +4x +4x +4x +2x +2x +10423x +10423x +10423x +124x +124x +941x +124x +124x +941x +941x +124x +124x +10423x +10423x +1375x +1375x +1375x +1375x +1375x +10423x +10423x +1x +1x +10423x +10423x +8x +4x +3x +2x +2x +3x +2x +2x +2x +4x +4x +8x +2x +2x +2x +2x +8x +1x +  +  +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {ExpressionNode, StatementNode} from "../abap/nodes";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class KeepSingleParameterCallsOnOneLineConf extends BasicRuleConfig {
+  /** Max line length, in characters */
+  public length: number = 120;
+}
+ 
+export class KeepSingleParameterCallsOnOneLine extends ABAPRule {
+  private conf = new KeepSingleParameterCallsOnOneLineConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "keep_single_parameter_on_one_line",
+      title: "Keep single parameters on one line",
+      shortDescription: `Keep single parameter calls on one line`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-single-parameter-calls-on-one-line`,
+      tags: [RuleTag.Whitespace, RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `call_method(\n  2 ).`,
+      goodExample: `call_method( 2 ).`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: KeepSingleParameterCallsOnOneLineConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject): Issue[] {
+    let issues: Issue[] = [];
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    for (const s of file.getStatements()) {
+      if (this.isMultiLine(s) === false
+          || this.calcStatementLength(s) > this.getConfig().length
+          || this.containsNewLineValue(s)
+          || this.containsNewLineTableExpression(s)
+          || this.containsFieldAssigments(s)
+          || this.containsNewLineTemplate(s)) {
+        continue;
+      }
+      for (const c of s.findAllExpressions(Expressions.MethodCallParam)) {
+        issues = issues.concat(this.check(c, file));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+///////////////////////////////////////
+ 
+  private containsFieldAssigments(s: StatementNode): boolean {
+    const fs = s.findAllExpressions(Expressions.FieldAssignment);
+    return fs.length > 1;
+  }
+ 
+  private containsNewLineTableExpression(s: StatementNode): boolean {
+    for (const st of s.findAllExpressions(Expressions.TableExpression)) {
+      if (st.getFirstToken().getRow() !== st.getLastToken().getRow()) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  private containsNewLineValue(s: StatementNode): boolean {
+    for (const st of s.findAllExpressions(Expressions.Source)) {
+      const first = st.getFirstToken().getStr().toUpperCase();
+      if (first === "VALUE" && st.getFirstToken().getRow() !== st.getLastToken().getRow()) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  private containsNewLineTemplate(s: StatementNode): boolean {
+    for (const st of s.findAllExpressions(Expressions.StringTemplate)) {
+      for (const t of st.getAllTokens()) {
+        if (t.getStr().includes("\\n")) {
+          return true;
+        }
+      }
+    }
+    return false;
+  }
+ 
+  private check(c: ExpressionNode, file: ABAPFile): Issue[] {
+    if (this.isSingleParameter(c) === true && this.isMultiLine(c) === true) {
+ 
+      for (const sub of c.findAllExpressions(Expressions.MethodCallParam)) {
+        if (this.isSingleParameter(sub) === false
+            && this.isWithoutParameters(sub) === false) {
+          return [];
+        }
+      }
+ 
+      const message = "Keep single parameter on one line";
+      return [Issue.atToken(file, c.getFirstToken(), message, this.getMetadata().key, this.conf.severity)];
+    }
+    return [];
+  }
+ 
+  // including first indentation, worst case calculation add space after each token
+  private calcStatementLength(c: StatementNode): number {
+    let length = 0;
+    for (const t of c.getTokens()) {
+      if (length === 0) {
+        length = length + t.getStart().getCol();
+      }
+      length = length + t.getStr().length + 1;
+    }
+    return length;
+  }
+ 
+  private isMultiLine(c: ExpressionNode | StatementNode): boolean {
+    const first = c.getFirstToken();
+    const last = c.getLastToken();
+ 
+    return first.getStart().getRow() < last.getStart().getRow();
+  }
+ 
+  private isWithoutParameters(c: ExpressionNode): boolean {
+    return c.getChildren().length === 2;
+  }
+ 
+  private isSingleParameter(c: ExpressionNode): boolean {
+    if (c.findDirectExpression(Expressions.Source)) {
+      for (const params of c.findAllExpressions(Expressions.ParameterListS)) {
+        if (params.getChildren().length > 1) {
+          return false;
+        }
+      }
+ 
+      return true;
+    }
+ 
+    const list = c.findDirectExpression(Expressions.ParameterListS);
+    if (list) {
+      return list.getChildren().length === 1;
+    }
+ 
+    const param = c.findDirectExpression(Expressions.MethodParameters);
+    if (param) {
+      if (param.getChildren().length > 2) {
+        return false;
+      }
+      const paramsource = param.findDirectExpression(Expressions.ParameterListS);
+      if (paramsource && paramsource.getChildren().length === 1) {
+        return true;
+      }
+ 
+      const paramtarget = param.findDirectExpression(Expressions.ParameterListT);
+      if (paramtarget && paramtarget.getChildren().length === 1) {
+        return true;
+      }
+    }
+ 
+    return false;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/keyword_case.ts.html b/src/rules/keyword_case.ts.html new file mode 100644 index 00000000000..62d009d77f0 --- /dev/null +++ b/src/rules/keyword_case.ts.html @@ -0,0 +1,934 @@ + + + + + + Code coverage report for src/rules/keyword_case.ts + + + + + + + + + +
+
+

All files / src/rules keyword_case.ts

+
+ +
+ 93.66% + Statements + 266/284 +
+ + +
+ 89.32% + Branches + 92/103 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 93.66% + Lines + 266/284 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +2841x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20896x +20896x +20896x +20896x +20896x +20896x +20896x +20896x +20896x +20896x +20896x +20896x +20896x +20896x +1x +1x +1x +1x +1x +1x +1x +1x +363x +363x +1x +1x +1629x +1629x +1629x +1629x +1629x +1629x +27x +27x +1602x +1629x +35x +35x +1x +1x +35x +1x +1x +35x +4x +4x +35x +29x +12x +12x +35x +1584x +1629x +7x +7x +2x +2x +7x +2x +2x +5x +1x +1x +7x +1579x +1629x +2x +2x +1x +1x +1x +  +  +1x +  +  +2x +1578x +1578x +1578x +1x +1x +1x +1x +10464x +10464x +10464x +10464x +31201x +31201x +31201x +31201x +31201x +31201x +31201x +31201x +31201x +31201x +10464x +10464x +10269x +10269x +10464x +10464x +283x +283x +1x +1x +283x +1x +1x +283x +  +  +283x +10464x +10464x +368x +368x +368x +368x +368x +53x +53x +5x +5x +53x +363x +363x +363x +368x +1629x +51x +51x +1578x +1578x +1629x +54x +8x +8x +54x +6x +6x +6x +46x +46x +54x +  +  +46x +46x +1629x +363x +363x +363x +10464x +10464x +10464x +10464x +46x +46x +46x +46x +46x +46x +46x +37x +46x +9x +9x +46x +46x +46x +62x +62x +62x +49x +23x +49x +26x +26x +62x +13x +13x +62x +46x +46x +46x +46x +46x +46x +46x +46x +46x +46x +46x +10464x +10464x +10464x +5149x +5149x +5149x +5149x +10520x +10520x +10520x +1746x +1746x +1746x +1746x +116x +116x +1630x +1630x +1630x +1746x +  +  +1630x +1746x +4x +4x +1626x +1626x +1746x +  +1746x +  +  +1746x +16x +16x +10520x +5203x +5203x +75x +75x +8774x +3571x +3571x +  +  +10520x +5149x +5149x +5149x +10464x +10464x +5292x +10x +10x +5292x +272x +5292x +5010x +5010x +  +  +  +10464x +10464x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {StatementNode, ExpressionNode, TokenNode, TokenNodeRegex} from "../abap/nodes";
+import {Unknown, Comment, MacroContent, MacroCall, IStatement} from "../abap/2_statements/statements/_statement";
+import {Identifier} from "../abap/1_lexer/tokens";
+import {IObject} from "../objects/_iobject";
+import {Class} from "../objects";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {DDIC} from "../ddic";
+import {VirtualPosition} from "../virtual_position";
+import {ABAPFile} from "../abap/abap_file";
+import {EditDraft} from "../edit_helper";
+import {IFile} from "../files/_ifile";
+ 
+export enum KeywordCaseStyle {
+  Upper = "upper",
+  Lower = "lower",
+}
+ 
+export class KeywordCaseConf extends BasicRuleConfig {
+  public style: KeywordCaseStyle = KeywordCaseStyle.Upper;
+  /** Ignore global exception classes */
+  public ignoreExceptions: boolean = true;
+  public ignoreLowerClassImplmentationStatement: boolean = true;
+  public ignoreGlobalClassDefinition: boolean = false;
+  public ignoreGlobalInterface: boolean = false;
+  public ignoreFunctionModuleName: boolean = false;
+  // this ignores keywords in CLASS/ENDCLASS statements of a global class (and only in them, the rest is checked)
+  public ignoreGlobalClassBoundaries: boolean = false;
+ 
+  /** A list of keywords to be ignored */
+  public ignoreKeywords: string[] = [];
+}
+ 
+class Skip {
+  private readonly conf: KeywordCaseConf;
+  private skip = false;
+  private isGlobalClass = false;
+  private isGlobalIf = false;
+ 
+  public constructor(conf: KeywordCaseConf) {
+    this.conf = conf;
+  }
+ 
+  public skipStatement(statement: StatementNode): boolean {
+    const get = statement.get();
+    if (get instanceof Unknown
+      || get instanceof MacroContent
+      || get instanceof MacroCall
+      || statement.getFirstToken().getStart() instanceof VirtualPosition
+      || get instanceof Comment) {
+      return true;
+    }
+ 
+    if (this.conf.ignoreGlobalClassBoundaries) {
+      const node = get;
+      if (node instanceof Statements.Interface && statement.findFirstExpression(Expressions.ClassGlobal)) {
+        this.isGlobalIf = true;
+        return true;
+      } else if (this.isGlobalIf === true && node instanceof Statements.EndInterface) {
+        return true;
+      }
+      if (node instanceof Statements.ClassDefinition && statement.findFirstExpression(Expressions.ClassGlobal)) {
+        this.isGlobalClass = true;
+        return true;
+      } else if (this.isGlobalClass === true
+        && (node instanceof Statements.EndClass || node instanceof Statements.ClassImplementation)) {
+        return true;
+      }
+    }
+ 
+    if (this.conf.ignoreGlobalClassDefinition) {
+      if (get instanceof Statements.ClassDefinition
+        && statement.findFirstExpression(Expressions.ClassGlobal)) {
+        this.skip = true;
+        return true;
+      } else if (this.skip === true && get instanceof Statements.EndClass) {
+        this.skip = false;
+        return true;
+      } else if (this.skip === true) {
+        return true;
+      }
+    }
+ 
+    if (this.conf.ignoreGlobalInterface) {
+      if (get instanceof Statements.Interface
+        && statement.findFirstExpression(Expressions.ClassGlobal)) {
+        this.skip = true;
+        return true;
+      } else if (this.skip === true && get instanceof Statements.EndInterface) {
+        this.skip = false;
+        return true;
+      } else if (this.skip === true) {
+        return true;
+      }
+    }
+ 
+    return false;
+  }
+}
+ 
+type TokenAndKeyword = {token: AbstractToken, keyword: boolean};
+ 
+export class KeywordCase extends ABAPRule {
+  private conf = new KeywordCaseConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "keyword_case",
+      title: "Keyword case",
+      shortDescription: `Checks that keywords have the same case. Non-keywords must be lower case.`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-your-pretty-printer-team-settings`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `write 'hello world'.`,
+      goodExample: `WRITE 'hello world'.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: KeywordCaseConf) {
+    this.conf = conf;
+    if (this.conf === undefined) {
+      this.conf = new KeywordCaseConf();
+    }
+    if (this.conf.style === undefined) {
+      this.conf = new KeywordCaseConf();
+    }
+    if (this.conf.ignoreExceptions === undefined) {
+      this.conf.ignoreExceptions = new KeywordCaseConf().ignoreExceptions;
+    }
+  }
+ 
+  public runParsed(file: ABAPFile, obj: IObject) {
+    const issues: Issue[] = [];
+    const ddic = new DDIC(this.reg);
+    const MAX_ISSUES = 100;
+ 
+    if (this.conf.ignoreExceptions && obj instanceof Class) {
+      const definition = obj.getClassDefinition();
+      if (definition === undefined || ddic.isException(definition, obj)) {
+        return [];
+      }
+    }
+ 
+    const skip = new Skip(this.getConfig());
+    let prev: AbstractToken | undefined = undefined;
+    for (const statement of file.getStatements()) {
+      if (skip.skipStatement(statement) === true) {
+        continue;
+      }
+ 
+      let result = this.traverse(statement, statement.get());
+      if (result.length > 0) {
+        if (prev && result[0].token.getStart().equals(prev.getStart())) {
+          continue;
+        }
+        if (statement.getColon() !== undefined) {
+          // if its a chained statement, go token by token
+          result = [result[0]];
+        }
+        const issue = this.build(result, file);
+        issues.push(issue);
+        if (issues.length > MAX_ISSUES) {
+          break;
+        }
+        prev = result[0].token;
+      }
+    }
+ 
+    return issues;
+  }
+ 
+//////////////////
+ 
+  private build(tokens: TokenAndKeyword[], file: IFile): Issue {
+    const first = tokens[0];
+    const firstToken = tokens[0].token;
+    const lastToken = tokens[tokens.length - 1].token;
+    const firstTokenValue = firstToken.getStr();
+ 
+    let description = "";
+    if (first.keyword === true) {
+      description = `Keyword should be ${this.conf.style} case: "${firstTokenValue}"`;
+    } else {
+      description = `Identifiers should be lower case: "${firstTokenValue}"`;
+    }
+ 
+    const draft = new EditDraft(file);
+    for (const token of tokens) {
+      const str = token.token.getStr();
+      const pos = token.token.getStart();
+      if (token.keyword === true) {
+        if (this.conf.style === KeywordCaseStyle.Lower) {
+          draft.replace(pos, str.toLowerCase());
+        } else {
+          draft.replace(pos, str.toUpperCase());
+        }
+      } else {
+        draft.replace(pos, str.toLowerCase());
+      }
+    }
+    const fix = draft.toEdit();
+ 
+    return Issue.atRange(
+      file,
+      firstToken.getStart(),
+      lastToken.getEnd(),
+      description,
+      this.getMetadata().key,
+      this.conf.severity,
+      fix);
+  }
+ 
+  /** returns a list of tokens which violates the keyword_case rule */
+  private traverse(s: StatementNode | ExpressionNode, parent: IStatement): TokenAndKeyword[] {
+    let ret: TokenAndKeyword[] = [];
+ 
+    const children = s.getChildren();
+    for (let i = 0; i < children.length; i++) {
+      const child = children[i];
+ 
+      if (child instanceof TokenNodeRegex) {
+        const next = children[i + 1];
+ 
+        if (this.conf.ignoreLowerClassImplmentationStatement
+          && parent instanceof Statements.ClassImplementation) {
+          continue;
+        }
+        const str = child.get().getStr();
+        const upper = str.toUpperCase();
+        // todo, this is a hack, the parser should recongize OTHERS/TEXT as a keyword
+        if (upper === "OTHERS" || (upper === "TEXT" && next?.concatTokens() === "-")) {
+          continue;
+        }
+        if (this.conf.ignoreFunctionModuleName === true
+          && parent instanceof Statements.FunctionModule && upper !== "FUNCTION") {
+          continue;
+        }
+        // todo, this is a hack, the parser should recigize SCREEN as a keyword
+        if (upper === "SCREEN"
+            && (parent instanceof Statements.ModifyDatabase
+              || parent instanceof Statements.ModifyInternal
+              || parent instanceof Statements.Loop)) {
+          continue;
+        }
+        if (str !== str.toLowerCase() && child.get() instanceof Identifier) {
+          ret.push({token: child.get(), keyword: false});
+        }
+      } else if (child instanceof TokenNode) {
+        const str = child.get().getStr();
+        if (this.violatesRule(str) && child.get() instanceof Identifier) {
+          ret.push({token: child.get(), keyword: true});
+        }
+      } else if (child instanceof ExpressionNode) {
+        ret = ret.concat(this.traverse(child, parent));
+      } else {
+        throw new Error("keyword_case, traverseStatement, unexpected node type");
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  public violatesRule(keyword: string): boolean {
+    if (this.conf.ignoreKeywords && this.conf.ignoreKeywords.map(k => {return k.toUpperCase();}).includes(keyword.toUpperCase())) {
+      return false;
+    }
+    if (this.conf.style === KeywordCaseStyle.Lower) {
+      return keyword !== keyword.toLowerCase();
+    } else if (this.conf.style === KeywordCaseStyle.Upper) {
+      return keyword !== keyword.toUpperCase();
+    }
+
+    return false;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/line_break_multiple_parameters.ts.html b/src/rules/line_break_multiple_parameters.ts.html new file mode 100644 index 00000000000..ee0005d0ed3 --- /dev/null +++ b/src/rules/line_break_multiple_parameters.ts.html @@ -0,0 +1,343 @@ + + + + + + Code coverage report for src/rules/line_break_multiple_parameters.ts + + + + + + + + + +
+
+

All files / src/rules line_break_multiple_parameters.ts

+
+ +
+ 97.67% + Statements + 84/86 +
+ + +
+ 95.23% + Branches + 20/21 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 97.67% + Lines + 84/86 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +871x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +1x +10425x +10425x +10425x +10425x +10425x +31112x +31112x +31112x +31112x +31112x +31112x +31112x +31112x +31112x +31112x +10425x +10425x +9906x +9906x +10425x +10425x +244x +244x +10425x +10425x +265x +265x +265x +20x +20x +245x +265x +1390x +10x +1x +1x +9x +9x +10x +  +  +9x +10x +12x +12x +12x +3x +3x +3x +9x +9x +12x +7x +7x +7x +7x +7x +7x +7x +7x +7x +9x +9x +9x +9x +1390x +245x +245x +245x +10425x +10425x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {EditHelper} from "../edit_helper";
+import {VirtualPosition} from "../virtual_position";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class LineBreakMultipleParametersConf extends BasicRuleConfig {
+  /** Amount of allowed parameters on one line */
+  public count: number = 1;
+}
+ 
+export class LineBreakMultipleParameters extends ABAPRule {
+ 
+  private conf = new LineBreakMultipleParametersConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "line_break_multiple_parameters",
+      title: "Line break multiple parameters",
+      shortDescription: `Line break multiple parameters`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#line-break-multiple-parameters`,
+      badExample: `method( parameter1 = value parameter2 = value ).`,
+      goodExample: `method( parameter1 = value\n        parameter2 = value ).`,
+      tags: [RuleTag.Whitespace, RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: LineBreakMultipleParametersConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    for (const s of file.getStatements()) {
+      for (const e of s.findAllExpressions(Expressions.ParameterListS)) {
+        if (s.getFirstToken().getStart() instanceof VirtualPosition) {
+          continue; // skip macro content
+        }
+ 
+        const parameters = e.findDirectExpressions(Expressions.ParameterS);
+        if (parameters.length <= 1) {
+          continue;
+        }
+        let previous = parameters[0];
+        for (let i = 1; i < parameters.length; i++) {
+          const current = parameters[i];
+ 
+          if (this.conf.count && i < this.conf.count) {
+            previous = current;
+            continue;
+          }
+ 
+          const first = current.getFirstToken();
+          if (previous.getFirstToken().getRow() === first.getRow()) {
+            const fix = EditHelper.insertAt(file, first.getStart(), "\n" + " ".repeat(parameters[0].getFirstToken().getStart().getCol() - 1));
+            issues.push(Issue.atToken(
+              file,
+              current.getFirstToken(),
+              this.getMetadata().title,
+              this.getMetadata().key,
+              this.conf.severity,
+              fix));
+          }
+          previous = current;
+        }
+ 
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/line_break_style.ts.html b/src/rules/line_break_style.ts.html new file mode 100644 index 00000000000..8a99de50494 --- /dev/null +++ b/src/rules/line_break_style.ts.html @@ -0,0 +1,250 @@ + + + + + + Code coverage report for src/rules/line_break_style.ts + + + + + + + + + +
+
+

All files / src/rules line_break_style.ts

+
+ +
+ 100% + Statements + 56/56 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 56/56 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +561x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10423x +10423x +249x +249x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +315x +315x +315x +332x +261x +261x +1751x +1x +1x +1x +1x +1x +1751x +261x +332x +315x +315x +315x +10423x +10423x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IObject} from "../objects/_iobject";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IRegistry} from "../_iregistry";
+ 
+export class LineBreakStyleConf extends BasicRuleConfig {
+}
+ 
+export class LineBreakStyle implements IRule {
+  private conf = new LineBreakStyleConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "line_break_style",
+      title: "Makes sure line breaks are consistent in the ABAP code",
+      shortDescription: `Enforces LF as newlines in ABAP files
+ 
+abapGit does not work with CRLF`,
+      tags: [RuleTag.Whitespace, RuleTag.SingleFile],
+    };
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: LineBreakStyleConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const output: Issue[] = [];
+ 
+    for (const file of obj.getFiles()) {
+      if (file.getFilename().endsWith(".abap")) {
+        const rows = file.getRawRows();
+        for (let i = 0; i < rows.length; i++) {
+          if (rows[i].endsWith("\r") === true) {
+            const message = "Line contains carriage return";
+            const issue = Issue.atRow(file, i + 1, message, this.getMetadata().key, this.conf.severity);
+            output.push(issue);
+            break; // only one finding per file
+          }
+        }
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/line_length.ts.html b/src/rules/line_length.ts.html new file mode 100644 index 00000000000..dbc0e26fc2c --- /dev/null +++ b/src/rules/line_length.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/rules/line_length.ts + + + + + + + + + +
+
+

All files / src/rules line_length.ts

+
+ +
+ 94.44% + Statements + 51/54 +
+ + +
+ 90% + Branches + 9/10 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 94.44% + Lines + 51/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +1x +10424x +10424x +10424x +10424x +10424x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10424x +10424x +9906x +9906x +10424x +10424x +244x +244x +10424x +10424x +258x +258x +258x +258x +258x +258x +1747x +1747x +2x +2x +1747x +  +  +  +1747x +258x +258x +10424x +10424x
import {ABAPFile} from "../abap/abap_file";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {RuleTag} from "./_irule";
+ 
+export class LineLengthConf extends BasicRuleConfig {
+  /** Maximum line length in characters, trailing whitespace ignored */
+  public length: number = 120;
+}
+ 
+export class LineLength extends ABAPRule {
+ 
+  private conf = new LineLengthConf();
+ 
+  public getMetadata() {
+    return {
+      key: "line_length",
+      title: "Line length",
+      shortDescription: `Detects lines exceeding the provided maximum length.`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#stick-to-a-reasonable-line-length
+https://docs.abapopenchecks.org/checks/04/`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: LineLengthConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+    // maximum line length in abap files
+    const maxLineLength: number = 255;
+ 
+    const array = file.getRawRows();
+    for (let rowIndex = 0; rowIndex < array.length; rowIndex++) {
+      const row = array[rowIndex].replace("\r", "");
+      if (row.length > maxLineLength) {
+        const message = `Maximum allowed line length of ${maxLineLength} exceeded, currently ${row.length}`;
+        issues.push(Issue.atRow(file, rowIndex + 1, message, this.getMetadata().key, this.conf.severity));
+      } else if (row.length > this.conf.length) {
+        const message = `Reduce line length to max ${this.conf.length}, currently ${row.length}`;
+        issues.push(Issue.atRow(file, rowIndex + 1, message, this.getMetadata().key, this.conf.severity));
+      }
+    }
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/line_only_punc.ts.html b/src/rules/line_only_punc.ts.html new file mode 100644 index 00000000000..1589efe9f07 --- /dev/null +++ b/src/rules/line_only_punc.ts.html @@ -0,0 +1,352 @@ + + + + + + Code coverage report for src/rules/line_only_punc.ts + + + + + + + + + +
+
+

All files / src/rules line_only_punc.ts

+
+ +
+ 100% + Statements + 90/90 +
+ + +
+ 100% + Branches + 21/21 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 90/90 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +901x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20846x +20846x +20846x +20846x +1x +10424x +10424x +10424x +10424x +10424x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +10424x +10424x +10x +10x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +275x +275x +275x +275x +275x +53x +53x +4x +53x +1x +1x +53x +270x +270x +270x +270x +275x +1759x +10x +10x +10x +10x +10x +10x +10x +4x +4x +10x +10x +2x +2x +10x +10x +10x +10x +10x +10x +10x +1759x +270x +270x +270x +10424x +10424x
import {Issue} from "../issue";
+import {Position} from "../position";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IObject} from "../objects/_iobject";
+import {Class} from "../objects";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {EditHelper} from "../edit_helper";
+import {DDIC} from "../ddic";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class LineOnlyPuncConf extends BasicRuleConfig {
+  /** Ignore lines with only puncutation in global exception classes */
+  public ignoreExceptions: boolean = true;
+}
+ 
+export class LineOnlyPunc extends ABAPRule {
+ 
+  private conf = new LineOnlyPuncConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "line_only_punc",
+      title: "Line containing only punctuation",
+      shortDescription: `Detects lines containing only punctuation.`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#close-brackets-at-line-end
+https://docs.abapopenchecks.org/checks/16/`,
+      tags: [RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: "zcl_class=>method(\n).",
+      goodExample: "zcl_class=>method( ).",
+    };
+  }
+ 
+  private getMessage(): string {
+    return "A line should not contain only \".\" or \").\"";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: LineOnlyPuncConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: IObject) {
+    const issues: Issue[] = [];
+ 
+    const ddic = new DDIC(this.reg);
+ 
+    if (obj instanceof Class) {
+      const definition = obj.getClassDefinition();
+      if (definition === undefined) {
+        return [];
+      } else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {
+        return [];
+      }
+    }
+ 
+    const rows = file.getRawRows();
+    const reg = new RegExp("^\\)?\\. *(\\\".*)?$");
+ 
+    for (let i = 0; i < rows.length; i++) {
+      if (reg.exec(rows[i].trim())) {
+        const column = rows[i].indexOf(")") >= 0 ? rows[i].indexOf(")") + 1 : rows[i].indexOf(".") + 1;
+        const position = new Position(i + 1, column);
+ 
+        // merge punc into previous row
+        let rowContent = rows[i].trim();
+        // if reported row contains a paranthesis, prefix with space if needed
+        if (rowContent.length > 1 && !rows[i - 1].endsWith(" ") && !rows[i - 1].endsWith(" \r")) {
+          rowContent = " " + rowContent;
+        }
+        let offset = 0;
+        if (rows[i - 1].endsWith("\r")) {
+          offset = -1;
+        }
+        const startPos = new Position(i, rows[i - 1].length + 1 + offset);
+        const endPos = new Position(i + 1, rows[i].length + 1);
+        const fix = EditHelper.replaceRange(file, startPos, endPos, rowContent);
+ 
+        const issue = Issue.atPosition(file, position, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/local_class_naming.ts.html b/src/rules/local_class_naming.ts.html new file mode 100644 index 00000000000..cd92a4bfcf5 --- /dev/null +++ b/src/rules/local_class_naming.ts.html @@ -0,0 +1,340 @@ + + + + + + Code coverage report for src/rules/local_class_naming.ts + + + + + + + + + +
+
+

All files / src/rules local_class_naming.ts

+
+ +
+ 97.67% + Statements + 84/86 +
+ + +
+ 95.23% + Branches + 20/21 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 97.67% + Lines + 84/86 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +861x +1x +1x +1x +1x +1x +1x +1x +1x +20849x +20849x +20849x +20849x +20849x +20849x +20849x +20849x +1x +10425x +10425x +10425x +10425x +10425x +31142x +31142x +31142x +31142x +31142x +31142x +31142x +10425x +10425x +44x +44x +44x +44x +10425x +10425x +9906x +9906x +10425x +10425x +245x +245x +10425x +10425x +274x +274x +1x +1x +274x +274x +274x +274x +130x +45x +45x +85x +85x +85x +85x +130x +7x +130x +6x +78x +72x +72x +130x +  +  +85x +85x +130x +44x +44x +44x +44x +44x +44x +44x +130x +274x +274x +10425x +10425x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {NamingRuleConfig} from "./_naming_rule_config";
+import {NameValidator} from "../utils/name_validator";
+import {RuleTag} from "./_irule";
+import {ABAPObject} from "../objects/_abap_object";
+import {DDIC} from "../ddic";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class LocalClassNamingConf extends NamingRuleConfig {
+  /** The pattern for local class names */
+  public local: string = "^LCL_.+$";
+  /** The pattern for local exception names */
+  public exception: string = "^LCX_.+$";
+  /** The pattern for local test class names */
+  public test: string = "^LTCL_.+$";
+}
+ 
+export class LocalClassNaming extends ABAPRule {
+ 
+  private conf = new LocalClassNamingConf();
+ 
+  public getMetadata() {
+    return {
+      key: "local_class_naming",
+      title: "Local class naming conventions",
+      shortDescription: `Allows you to enforce a pattern, such as a prefix, for local class names.`,
+      tags: [RuleTag.Naming, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(expected: string, actual: string): string {
+    return this.conf.patternKind === "required" ?
+      "Local class name does not match pattern " + expected + ": " + actual :
+      "Local class name must not match pattern " + expected + ": " + actual;
+  }
+ 
+  public getConfig(): LocalClassNamingConf {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: LocalClassNamingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject): Issue[] {
+    const issues: Issue[] = [];
+    if (this.conf.patternKind === undefined) {
+      this.conf.patternKind = "required";
+    }
+ 
+    const ddic = new DDIC(this.reg);
+ 
+    for (const classDef of file.getInfo().listClassDefinitions()) {
+      if (classDef.isGlobal) {
+        continue;
+      }
+ 
+      const className = classDef.name;
+      let expected = "";
+ 
+      if (classDef.isForTesting) {
+        expected = this.conf.test;
+      } else if (ddic.isException(classDef, obj) ) {
+        expected = this.conf.exception;
+      } else {
+        expected = this.conf.local;
+      }
+      if (expected === undefined || expected.length === 0) {
+        continue;
+      }
+      const regex = new RegExp(expected, "i");
+ 
+      if (NameValidator.violatesRule(className, regex, this.conf)) {
+        issues.push(
+          Issue.atIdentifier(
+            classDef.identifier,
+            this.getDescription(expected, className),
+            this.getMetadata().key,
+            this.conf.severity));
+      }
+    }
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/local_testclass_consistency.ts.html b/src/rules/local_testclass_consistency.ts.html new file mode 100644 index 00000000000..9f5b87e50fa --- /dev/null +++ b/src/rules/local_testclass_consistency.ts.html @@ -0,0 +1,286 @@ + + + + + + Code coverage report for src/rules/local_testclass_consistency.ts + + + + + + + + + +
+
+

All files / src/rules local_testclass_consistency.ts

+
+ +
+ 89.7% + Statements + 61/68 +
+ + +
+ 89.47% + Branches + 17/19 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 89.7% + Lines + 61/68 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +681x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +257x +257x +257x +  +  +  +257x +257x +202x +202x +55x +257x +50x +  +  +  +  +50x +55x +55x +257x +257x +1x +1x +1x +1x +1x +1x +1x +55x +55x +55x +10424x +10424x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Class} from "../objects";
+import {IObject} from "../objects/_iobject";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Version} from "../version";
+ 
+export class LocalTestclassConsistencyConf extends BasicRuleConfig {
+}
+ 
+export class LocalTestclassConsistency extends ABAPRule {
+ 
+  private conf = new LocalTestclassConsistencyConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "local_testclass_consistency",
+      title: "Local testclass consistency",
+      shortDescription: `Checks that local test classes are placed in the test include, and class unit test flag is set`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: LocalTestclassConsistencyConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: IObject) {
+    const issues: Issue[] = [];
+ 
+    if (this.reg.getConfig().getVersion() === Version.v700) {
+      // 700 does not have testclass includes
+      return [];
+    }
+ 
+    if (!(obj instanceof Class)) {
+      return [];
+    }
+ 
+    for (const c of file.getInfo().listClassDefinitions()) {
+      if (c.isLocal && c.isForTesting && !file.getFilename().includes(".testclasses.abap")) {
+        const message = "Place local testclass \"" + c.name + "\" in the testclass include";
+        const issue = Issue.atIdentifier(c.identifier, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    if (file.getFilename().includes(".testclasses.") === true
+        && obj.getTestclassFile() !== undefined
+        && obj.getXML()?.includes("<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>") === false) {
+      const id = obj.getIdentifier();
+      if (id) {
+        const message = "Has testclass, but XML does not set <WITH_UNIT_TESTS>";
+        const issue = Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/local_variable_names.ts.html b/src/rules/local_variable_names.ts.html new file mode 100644 index 00000000000..c5a0412210e --- /dev/null +++ b/src/rules/local_variable_names.ts.html @@ -0,0 +1,580 @@ + + + + + + Code coverage report for src/rules/local_variable_names.ts + + + + + + + + + +
+
+

All files / src/rules local_variable_names.ts

+
+ +
+ 100% + Statements + 164/164 +
+ + +
+ 96.87% + Branches + 31/32 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 100% + Lines + 164/164 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +1661x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20888x +20888x +20888x +20888x +20888x +20888x +20888x +20888x +1x +10454x +10454x +10454x +10454x +10454x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +10454x +10454x +31x +31x +31x +31x +10454x +10454x +9906x +9906x +10454x +10454x +269x +269x +10454x +10454x +286x +286x +2x +2x +286x +286x +286x +12x +12x +274x +274x +286x +54x +54x +286x +52x +52x +286x +3x +3x +274x +274x +274x +10454x +10454x +109x +109x +109x +109x +64x +64x +40x +40x +24x +24x +24x +24x +24x +64x +109x +109x +109x +3x +3x +3x +3x +3x +3x +109x +109x +109x +109x +8x +8x +8x +8x +8x +8x +8x +8x +109x +109x +5x +5x +5x +5x +5x +5x +109x +109x +109x +2x +2x +2x +2x +2x +2x +109x +109x +109x +6x +6x +2x +2x +4x +4x +4x +4x +4x +6x +109x +109x +109x +10454x +10454x +46x +46x +46x +46x +31x +31x +31x +31x +46x +46x +10454x +10454x +  + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Structures from "../abap/3_structures/structures";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {StructureNode} from "../abap/nodes";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {NamingRuleConfig} from "./_naming_rule_config";
+import {NameValidator} from "../utils/name_validator";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class LocalVariableNamesConf extends NamingRuleConfig {
+  /** The pattern for local variable names */
+  public expectedData: string = "^L._.+$";
+  /** The pattern for local constant names */
+  public expectedConstant: string = "^LC_.+$";
+  /** The pattern for field symbol names */
+  public expectedFS: string = "^<L._.+>$";
+}
+ 
+export class LocalVariableNames extends ABAPRule {
+ 
+  private conf = new LocalVariableNamesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "local_variable_names",
+      title: "Local variable naming conventions",
+      shortDescription: `
+Allows you to enforce a pattern, such as a prefix, for local variables, constants and field symbols.
+Regexes are case-insensitive.`,
+      tags: [RuleTag.Naming, RuleTag.SingleFile],
+      badExample: `FORM bar.
+  DATA foo.
+ENDFORM.`,
+      goodExample: `FORM bar.
+  DATA lv_foo.
+ENDFORM.`,
+    };
+  }
+ 
+  private getDescription(expected: string, actual: string): string {
+    return this.conf.patternKind === "required" ?
+      "Local variable name does not match pattern " + expected + ": " + actual :
+      "Local variable name must not match pattern " + expected + ": " + actual;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: LocalVariableNamesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const ret: Issue[] = [];
+    if (this.conf.patternKind === undefined) {
+      this.conf.patternKind = "required";
+    }
+    const stru = file.getStructure();
+ 
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    // inside METHOD, FORM, FUNCTION MODULE
+    for (const node of stru.findAllStructures(Structures.Form)) {
+      ret.push(...this.checkLocals(node, file));
+    }
+    for (const node of stru.findAllStructures(Structures.Method)) {
+      ret.push(...this.checkLocals(node, file));
+    }
+    for (const node of stru.findAllStructures(Structures.FunctionModule)) {
+      ret.push(...this.checkLocals(node, file));
+    }
+ 
+    return ret;
+  }
+ 
+  private checkLocals(structure: StructureNode, file: ABAPFile): Issue[] {
+    let ret: Issue[] = [];
+ 
+    // data, field symbols
+    for (const dat of structure.findAllStatements(Statements.Data)) {
+      const parent = structure.findParent(dat);
+      if (parent && parent.get() instanceof Structures.Data) {
+        continue; // inside DATA BEGIN OF
+      }
+      const found = dat.findFirstExpression(Expressions.DefinitionName);
+      if (found) {
+        const token = found.getFirstToken();
+        ret = ret.concat(this.checkName(token, file, this.conf.expectedData));
+      }
+    }
+ 
+    // inline data
+    for (const dat of structure.findAllExpressions(Expressions.InlineData)) {
+      const found = dat.findFirstExpression(Expressions.TargetField);
+      if (found) {
+        const token = found.getFirstToken();
+        ret = ret.concat(this.checkName(token, file, this.conf.expectedData));
+      }
+    }
+ 
+    // data structures, data begin of, first level
+    const dataStructures = structure.findAllStructures(Structures.Data);
+    for (const struc of dataStructures) {
+      // ignore nested DATA BEGIN
+      const stat = struc.findFirstStatement(Statements.DataBegin);
+      const found = stat?.findFirstExpression(Expressions.DefinitionName);
+      if (found) {
+        const token = found.getFirstToken();
+        ret = ret.concat(this.checkName(token, file, this.conf.expectedData));
+      }
+    }
+ 
+    for (const fieldsymbol of structure.findAllStatements(Statements.FieldSymbol)) {
+      const found = fieldsymbol.findFirstExpression(Expressions.FieldSymbol);
+      if (found) {
+        const token = found.getFirstToken();
+        ret = ret.concat(this.checkName(token, file, this.conf.expectedFS));
+      }
+    }
+ 
+    // inline field symbols
+    for (const fieldsymbol of structure.findAllExpressions(Expressions.InlineFS)) {
+      const found = fieldsymbol.findFirstExpression(Expressions.TargetFieldSymbol);
+      if (found) {
+        const token = found.getFirstToken();
+        ret = ret.concat(this.checkName(token, file, this.conf.expectedFS));
+      }
+    }
+ 
+    const constants = structure.findAllStatements(Statements.Constant);
+    for (const constant of constants) {
+      const parent = structure.findParent(constant);
+      if (parent && parent.get() instanceof Structures.Constants) {
+        continue; // inside DATA BEGIN OF
+      }
+      const found = constant.findFirstExpression(Expressions.DefinitionName);
+      if (found) {
+        const token = found.getFirstToken();
+        ret = ret.concat(this.checkName(token, file, this.conf.expectedConstant));
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private checkName(token: AbstractToken, file: ABAPFile, expected: string): Issue[] {
+    const ret: Issue[] = [];
+    const regex = new RegExp(expected, "i");
+    const name = token.getStr();
+    if (NameValidator.violatesRule(name, regex, this.conf)) {
+      const message = this.getDescription(expected, name);
+      const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);
+      ret.push(issue);
+    }
+    return ret;
+  }
+ 
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/macro_naming.ts.html b/src/rules/macro_naming.ts.html new file mode 100644 index 00000000000..c9819a70da6 --- /dev/null +++ b/src/rules/macro_naming.ts.html @@ -0,0 +1,310 @@ + + + + + + Code coverage report for src/rules/macro_naming.ts + + + + + + + + + +
+
+

All files / src/rules macro_naming.ts

+
+ +
+ 97.36% + Statements + 74/76 +
+ + +
+ 93.75% + Branches + 15/16 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 97.36% + Lines + 74/76 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +761x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +258x +3x +3x +255x +258x +1450x +1450x +1447x +1447x +3x +3x +1450x +  +  +3x +3x +3x +1450x +1x +1450x +2x +2x +2x +2x +1450x +1450x +255x +255x +255x +10423x +10423x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+import {TypePool} from "../objects";
+ 
+export class MacroNamingConf extends BasicRuleConfig {
+  /** The pattern for macros, case insensitive */
+  public pattern: string = "^_.+$";
+}
+ 
+export class MacroNaming extends ABAPRule {
+ 
+  private conf = new MacroNamingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "macro_naming",
+      title: "Macro naming conventions",
+      shortDescription: `Allows you to enforce a pattern for macro definitions`,
+      extendedInformation: `Use rule "avoid_use" to avoid macros altogether.`,
+      tags: [RuleTag.Naming, RuleTag.SingleFile],
+      badExample: `DEFINE something.
+END-OF-DEFINITION.`,
+      goodExample: `DEFINE _something.
+END-OF-DEFINITION.`,
+    };
+  }
+ 
+  public getConfig(): MacroNamingConf {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MacroNamingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+    const testRegex = new RegExp(this.conf.pattern, "i");
+ 
+    if (obj instanceof TypePool) {
+      return [];
+    }
+ 
+    for (const stat of file.getStatements()) {
+ 
+      if (!(stat.get() instanceof Statements.Define)) {
+        continue;
+      }
+ 
+      const expr = stat.findDirectExpression(Expressions.MacroName);
+      if (expr === undefined) {
+        continue;
+      }
+ 
+      const token = expr.getFirstToken();
+ 
+      if (testRegex.exec(token.getStr())) {
+        continue;
+      } else {
+        const message = "Bad macro name naming, expected \"" + this.conf.pattern + "\", got \"" + token.getStr() + "\"";
+        const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+ 
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/main_file_contents.ts.html b/src/rules/main_file_contents.ts.html new file mode 100644 index 00000000000..624261f17f7 --- /dev/null +++ b/src/rules/main_file_contents.ts.html @@ -0,0 +1,424 @@ + + + + + + Code coverage report for src/rules/main_file_contents.ts + + + + + + + + + +
+
+

All files / src/rules main_file_contents.ts

+
+ +
+ 95.61% + Statements + 109/114 +
+ + +
+ 93.93% + Branches + 31/33 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 95.61% + Lines + 109/114 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +1141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10435x +10435x +10435x +10435x +10435x +31250x +31250x +31250x +31250x +31250x +31250x +31250x +31250x +31250x +31250x +31250x +10435x +10435x +155x +155x +10435x +10435x +9906x +9906x +10435x +10435x +243x +243x +10435x +10435x +256x +256x +256x +10435x +10435x +322x +322x +62x +62x +260x +260x +322x +  +  +260x +322x +12x +12x +248x +248x +322x +322x +175x +175x +175x +4x +4x +4x +175x +175x +151x +151x +151x +151x +24x +175x +1x +1x +1x +1x +175x +1x +1x +1x +1x +322x +6x +6x +6x +  +  +  +6x +1x +1x +1x +1x +5x +6x +1x +1x +1x +1x +6x +93x +93x +93x +10435x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {IObject} from "../objects/_iobject";
+import * as Objects from "../objects";
+import {ABAPObject} from "../objects/_abap_object";
+import {IRule, IRuleMetadata} from "./_irule";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {Position} from "../position";
+import {Comment} from "../abap/2_statements/statements/_statement";
+import {Version} from "../version";
+ 
+export class MainFileContentsConf extends BasicRuleConfig {
+}
+ 
+export class MainFileContents implements IRule {
+  private conf = new MainFileContentsConf();
+  private reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "main_file_contents",
+      title: "Main file contents",
+      shortDescription: `Checks related to report declarations.`,
+      extendedInformation: `Does not run if the target version is Cloud
+ 
+* PROGs must begin with "REPORT <name>." or "PROGRAM <name>.
+* TYPEs must begin with "TYPE-POOL <name>."
+`,
+    };
+  }
+ 
+  private getDescription(details: string): string {
+    return "Main file must have specific contents: " + details;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MainFileContentsConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof ABAPObject)
+        || this.reg.getConfig().getVersion() === Version.Cloud) {
+      return [];
+    }
+ 
+    const main = obj.getMainABAPFile();
+    if (main === undefined) {
+      return [];
+    }
+    const stru = main.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    if (obj instanceof Objects.Program
+        && obj.isInclude() === false
+        && obj.isModulePool() === false) {
+      let count = 0;
+      let first = main.getStatements()[count];
+      while (first !== undefined && first.get() instanceof Comment) {
+        count = count + 1;
+        first = main.getStatements()[count];
+      }
+      if (first === undefined || !(first.get() instanceof Statements.Report
+          || first.get() instanceof Statements.Program)) {
+        const position = new Position(1, 1);
+        const issue = Issue.atPosition(main, position, this.getDescription("Report must begin with REPORT or PROGRAM"), this.getMetadata().key, this.conf.severity);
+        return [issue];
+      }
+      const name = first.findFirstExpression(Expressions.ReportName);
+      if (name === undefined) {
+        const token = first.getFirstToken();
+        const issue = Issue.atToken(
+          main, token, this.getDescription("Add report name to REPORT or PROGRAM statement"), this.getMetadata().key, this.conf.severity);
+        return [issue];
+      } else if (name.getFirstToken().getStr().toUpperCase() !== obj.getName()) {
+        const token = name.getFirstToken();
+        const issue = Issue.atToken(main, token, this.getDescription("REPORT or PROGRAM name must match filename"), this.getMetadata().key, this.conf.severity);
+        return [issue];
+      }
+    } else if (obj instanceof Objects.TypePool) {
+      let count = 0;
+      let first = main.getStatements()[count];
+      while (first !== undefined && first.get() instanceof Comment) {
+        count = count + 1;
+        first = main.getStatements()[count];
+      }
+      if (first === undefined || !(first.get() instanceof Statements.TypePool)) {
+        const position = new Position(1, 1);
+        const issue = Issue.atPosition(main, position, this.getDescription("Type pool must begin with TYPE-POOL"), this.getMetadata().key, this.conf.severity);
+        return [issue];
+      }
+      const name = first.getChildren()[3];
+      if (name.getFirstToken().getStr().toUpperCase() !== obj.getName()) {
+        const token = name.getFirstToken();
+        const issue = Issue.atToken(main, token, this.getDescription("TYPE-POOL name must match filename"), this.getMetadata().key, this.conf.severity);
+        return [issue];
+      }
+    }
+ 
+    return [];
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/many_parentheses.ts.html b/src/rules/many_parentheses.ts.html new file mode 100644 index 00000000000..0ffcc66f617 --- /dev/null +++ b/src/rules/many_parentheses.ts.html @@ -0,0 +1,667 @@ + + + + + + Code coverage report for src/rules/many_parentheses.ts + + + + + + + + + +
+
+

All files / src/rules many_parentheses.ts

+
+ +
+ 94.35% + Statements + 184/195 +
+ + +
+ 91.66% + Branches + 55/60 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 94.35% + Lines + 184/195 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +1951x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +10425x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +10425x +10425x +9906x +9906x +10425x +10425x +243x +243x +10425x +10425x +290x +290x +290x +290x +12x +12x +278x +290x +49x +49x +278x +290x +28x +28x +25x +28x +3x +3x +28x +  +  +28x +9x +9x +9x +9x +9x +9x +2x +2x +2x +9x +9x +9x +9x +9x +9x +28x +278x +290x +11x +11x +290x +5x +5x +278x +278x +278x +10425x +10425x +10425x +10425x +5x +5x +4x +4x +1x +1x +5x +  +  +1x +1x +5x +1x +1x +1x +  +  +  +10425x +10425x +11x +11x +11x +11x +11x +11x +11x +11x +1x +1x +1x +11x +11x +11x +10425x +10425x +49x +49x +49x +49x +49x +88x +88x +20x +88x +68x +27x +4x +4x +23x +27x +3x +3x +27x +  +  +23x +27x +16x +16x +27x +88x +59x +88x +5x +5x +88x +40x +49x +10x +10x +10x +10x +40x +40x +40x +10425x +10425x +23x +23x +23x +23x +63x +20x +20x +16x +20x +  +  +20x +63x +23x +23x +23x +10425x +10425x
import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ExpressionNode, StatementNode, TokenNode} from "../abap/nodes";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper} from "../edit_helper";
+ 
+export class ManyParenthesesConf extends BasicRuleConfig {
+}
+ 
+export class ManyParentheses extends ABAPRule {
+ 
+  private conf = new ManyParenthesesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "many_parentheses",
+      title: "Too many parentheses",
+      shortDescription: `Searches for expressions where extra parentheses can safely be removed`,
+      tags: [RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `
+IF ( destination IS INITIAL ).
+ENDIF.
+IF foo = boo AND ( bar = lar AND moo = loo ).
+ENDIF.
+`,
+      goodExample: `
+IF destination IS INITIAL.
+ENDIF.
+IF foo = boo AND bar = lar AND moo = loo.
+ENDIF.
+`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ManyParenthesesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const structure = file.getStructure();
+    if (structure === undefined) {
+      return [];
+    }
+ 
+    for (const cond of structure.findAllExpressionsMulti([Expressions.Cond, Expressions.ComponentCond])) {
+      issues.push(...this.analyze(file, cond));
+    }
+ 
+    for (const sub of structure.findAllExpressionsMulti([Expressions.CondSub, Expressions.ComponentCondSub])) {
+      let cond: readonly ExpressionNode[] = [];
+      if (sub.get() instanceof Expressions.CondSub) {
+        cond = sub.findDirectExpressions(Expressions.Cond);
+      } else {
+        cond = sub.findDirectExpressions(Expressions.ComponentCond);
+      }
+      if (cond.length !== 1) {
+        continue;
+      }
+      if (cond[0].getChildren().length === 1) {
+        const message = "Too many parentheses, simple";
+        const children = sub.getChildren();
+ 
+        let startToken = sub.getFirstToken();
+        let fixText = sub.getChildren()[1].concatTokens();
+        if (startToken.getStr().toUpperCase() === "NOT") {
+          startToken = children[1].getFirstToken();
+          fixText = sub.getChildren()[2].concatTokens();
+        }
+ 
+        const fix = EditHelper.replaceRange(file, startToken.getStart(), sub.getLastToken().getEnd(), fixText);
+ 
+        const issue = Issue.atToken(file, startToken, message, this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+    }
+ 
+    for (const m of structure.findAllStatements(Statements.Move)) {
+      issues.push(...this.analyzeMove(file, m));
+    }
+    for (const m of structure.findAllStatements(Statements.Select)) {
+      issues.push(...this.analyzeInto(file, m));
+    }
+ 
+    return issues;
+  }
+ 
+////////////////////
+ 
+  private analyzeInto(file: ABAPFile, m: StatementNode): Issue[] {
+    const into = m.findFirstExpression(Expressions.SQLIntoList);
+    if (into === undefined) {
+      return [];
+    }
+ 
+    const second = into.getAllTokens()[1];
+    if (second === undefined || second.getStr() !== "(") {
+      return [];
+    }
+ 
+    const concat = into.concatTokens();
+    if (concat.endsWith(")") === true && concat.includes(",") === false) {
+      const issue = Issue.atStatement(file, m, "Too many parentheses", this.getMetadata().key, this.conf.severity);
+      return [issue];
+    }
+
+    return [];
+  }
+ 
+  private analyzeMove(file: ABAPFile, m: StatementNode): Issue[] {
+    const issues: Issue[] = [];
+ 
+    const children = m.getChildren();
+    const last = children[ children.length - 2];
+    const lastChildren = last.getChildren();
+    if (lastChildren.length === 3
+        && lastChildren[0].getFirstToken().getStr() === "("
+        && lastChildren[2].getFirstToken().getStr() === ")") {
+      const issue = Issue.atToken(file, last.getFirstToken(), "Too many parentheses", this.getMetadata().key, this.conf.severity);
+      issues.push(issue);
+    }
+ 
+    return issues;
+  }
+ 
+  private analyze(file: ABAPFile, cond: ExpressionNode): Issue[] {
+    const issues: Issue[] = [];
+    let comparator = "";
+    let found = false;
+ 
+    for (const c of cond.getChildren()) {
+      let current = "";
+      if (c instanceof TokenNode) {
+        current = c.get().getStr().toUpperCase();
+      } else if (c instanceof ExpressionNode
+          && (c.get() instanceof Expressions.CondSub || c.get() instanceof Expressions.ComponentCondSub)) {
+        if (c.getFirstToken().getStr().toUpperCase() === "NOT") {
+          return [];
+        }
+        let i = c.findDirectExpression(Expressions.Cond);
+        if (i === undefined) {
+          i = c.findDirectExpression(Expressions.ComponentCond);
+        }
+        if (i === undefined) {
+          return [];
+        }
+        current = this.findComparator(i);
+        if (current !== "") {
+          found = true; // dont report for the simple case that contains quick fixes
+        }
+      }
+      if (comparator === "") {
+        comparator = current;
+      } else if (comparator !== "" && current !== "" && comparator !== current) {
+        return [];
+      }
+    }
+ 
+    if (comparator !== "" && comparator !== "MIXED" && found === true) {
+      const message = "Too many parentheses, complex";
+      const issue = Issue.atToken(file, cond.getFirstToken(), message, this.getMetadata().key, this.conf.severity);
+      issues.push(issue);
+    }
+ 
+    return issues;
+  }
+ 
+  private findComparator(cond: ExpressionNode): string {
+    let comparator = "";
+ 
+    const children = cond.getChildren();
+    for (const c of children) {
+      if (c instanceof TokenNode) {
+        const current = c.get().getStr().toUpperCase();
+        if (comparator === "") {
+          comparator = current;
+        } else if (current !== comparator) {
+          return "MIXED";
+        }
+      }
+    }
+ 
+    return comparator;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/max_one_method_parameter_per_line.ts.html b/src/rules/max_one_method_parameter_per_line.ts.html new file mode 100644 index 00000000000..7737fe3200a --- /dev/null +++ b/src/rules/max_one_method_parameter_per_line.ts.html @@ -0,0 +1,277 @@ + + + + + + Code coverage report for src/rules/max_one_method_parameter_per_line.ts + + + + + + + + + +
+
+

All files / src/rules max_one_method_parameter_per_line.ts

+
+ +
+ 100% + Statements + 65/65 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 65/65 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +651x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +259x +259x +259x +54x +54x +24x +19x +19x +19x +5x +24x +1x +1x +1x +5x +5x +5x +54x +259x +259x +259x +10423x +10423x
import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ExpressionNode} from "../abap/nodes/expression_node";
+ 
+export class MaxOneMethodParameterPerLineConf extends BasicRuleConfig {
+}
+ 
+export class MaxOneMethodParameterPerLine extends ABAPRule {
+  private conf = new MaxOneMethodParameterPerLineConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "max_one_method_parameter_per_line",
+      title: "Max one method parameter definition per line",
+      shortDescription: `Keep max one method parameter description per line`,
+      tags: [RuleTag.SingleFile, RuleTag.Whitespace],
+      badExample: `
+METHODS apps_scope_token
+  IMPORTING
+    body TYPE bodyapps_scope_token client_id TYPE str.`,
+      goodExample: `
+METHODS apps_scope_token
+  IMPORTING
+    body      TYPE bodyapps_scope_token
+    client_id TYPE str.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MaxOneMethodParameterPerLineConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const statement of file.getStructure()?.findAllStatements(Statements.MethodDef) || []) {
+      let prev: ExpressionNode | undefined = undefined;
+      for (const p of statement.findAllExpressions(Expressions.MethodParam)) {
+        if (prev === undefined) {
+          prev = p;
+          continue;
+        }
+ 
+        if (prev.getFirstToken().getStart().getRow() === p.getFirstToken().getStart().getRow()) {
+          const issue = Issue.atToken(file, prev.getFirstToken(), this.getMetadata().title, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+ 
+        prev = p;
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/max_one_statement.ts.html b/src/rules/max_one_statement.ts.html new file mode 100644 index 00000000000..5f65ae27081 --- /dev/null +++ b/src/rules/max_one_statement.ts.html @@ -0,0 +1,313 @@ + + + + + + Code coverage report for src/rules/max_one_statement.ts + + + + + + + + + +
+
+

All files / src/rules max_one_statement.ts

+
+ +
+ 100% + Statements + 77/77 +
+ + +
+ 100% + Branches + 17/17 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 77/77 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +771x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +10424x +10424x +12x +12x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +263x +263x +263x +263x +263x +1476x +1476x +1476x +1476x +115x +115x +1361x +1361x +1476x +1x +1x +1360x +1476x +12x +12x +12x +12x +12x +1360x +1360x +263x +263x +263x +10424x +10424x
import {Issue} from "../issue";
+import {Comment, NativeSQL} from "../abap/2_statements/statements/_statement";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {EditHelper} from "../edit_helper";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {VirtualPosition} from "../virtual_position";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class MaxOneStatementConf extends BasicRuleConfig {
+}
+ 
+export class MaxOneStatement extends ABAPRule {
+ 
+  private conf = new MaxOneStatementConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "max_one_statement",
+      title: "Max one statement per line",
+      shortDescription: `Checks that each line contains only a single statement.`,
+      extendedInformation:
+`Does not report empty statements, use rule empty_statement for detecting empty statements.
+ 
+Does not report anything for chained statements.
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#no-more-than-one-statement-per-line
+https://docs.abapopenchecks.org/checks/11/`,
+      tags: [RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `WRITE foo. WRITE bar.`,
+      goodExample: `WRITE foo.\nWRITE bar.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Only one statement is allowed per line";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MaxOneStatementConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    let prev: number = 0;
+    let reported: number = 0;
+    for (const statement of file.getStatements()) {
+      const term = statement.getTerminator();
+      if (statement.get() instanceof Comment
+          || statement.get() instanceof NativeSQL
+          || term === ",") {
+        continue;
+      }
+ 
+      const pos = statement.getStart();
+      if (pos instanceof VirtualPosition) {
+        continue;
+      }
+      const row = pos.getRow();
+      if (prev === row && row !== reported && statement.getFirstToken().getStr() !== ".") {
+        const fix = EditHelper.insertAt(file, pos, "\n");
+        const issue = Issue.atPosition(file, pos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+        reported = row;
+      }
+      prev = row;
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/message_exists.ts.html b/src/rules/message_exists.ts.html new file mode 100644 index 00000000000..4ea99bd5bc3 --- /dev/null +++ b/src/rules/message_exists.ts.html @@ -0,0 +1,595 @@ + + + + + + Code coverage report for src/rules/message_exists.ts + + + + + + + + + +
+
+

All files / src/rules message_exists.ts

+
+ +
+ 98.83% + Statements + 169/171 +
+ + +
+ 97.61% + Branches + 41/42 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 98.83% + Lines + 169/171 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +1711x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20862x +20862x +20862x +1x +10440x +10440x +10440x +10440x +10440x +10440x +10440x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +10440x +10440x +9915x +9915x +10440x +10440x +243x +243x +10440x +10440x +261x +261x +261x +261x +261x +346x +266x +266x +346x +261x +261x +261x +10440x +10440x +327x +327x +265x +272x +272x +12x +12x +260x +260x +260x +260x +253x +315x +315x +10440x +10440x +10440x +10440x +260x +260x +260x +1449x +1429x +1429x +20x +1449x +3x +3x +1x +1x +3x +1449x +260x +260x +260x +10440x +10440x +3x +3x +3x +3x +1x +1x +1x +2x +2x +10440x +10440x +260x +260x +260x +260x +1449x +15x +15x +15x +15x +15x +5x +5x +5x +5x +5x +5x +10x +10x +15x +1x +1x +1x +1x +9x +9x +9x +9x +9x +1x +1x +1x +9x +15x +15x +15x +1449x +260x +260x +260x +10440x +10440x +9x +9x +  +  +9x +9x +9x +9x +40x +1x +1x +1x +40x +2x +1x +1x +1x +1x +2x +40x +9x +9x +9x +10440x +10440x
import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {DDIC} from "../ddic";
+import {ABAPFile} from "../abap/abap_file";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {ExpressionNode, StatementNode, TokenNode} from "../abap/nodes";
+import {IRegistry} from "../_iregistry";
+import {IMSAGReferences} from "../_imsag_references";
+import {ABAPObject} from "../objects/_abap_object";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {IObject} from "../objects/_iobject";
+import {MessageClass} from "../objects";
+ 
+export class MessageExistsConf extends BasicRuleConfig {
+  public checkPlaceholders = true;
+}
+ 
+export class MessageExistsRule implements IRule {
+  private conf = new MessageExistsConf();
+  // @ts-ignore
+  private msagReferences: IMSAGReferences;
+  private reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "message_exists",
+      title: "Check MESSAGE exists",
+      shortDescription: `In message statements, check that the message class + id exist`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MessageExistsConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry): IRule {
+    this.msagReferences = reg.getMSAGReferences();
+    this.reg = reg;
+ 
+    // the SyntaxLogic builds the references
+    for (const obj of reg.getObjects()) {
+      if (obj instanceof ABAPObject) {
+        new SyntaxLogic(reg, obj).run();
+      }
+    }
+ 
+    return this;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    const issues: Issue[] = [];
+    if (obj instanceof ABAPObject) {
+      for (const file of obj.getABAPFiles()) {
+        const struc = file.getStructure();
+        if (struc === undefined) {
+          return [];
+        }
+ 
+        issues.push(...this.checkReportStatement(file));
+        issues.push(...this.checkSource(file));
+      }
+    }
+    return issues;
+  }
+ 
+////////////////////////////////
+ 
+  private checkReportStatement(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const statement of file.getStatements()) {
+      if (!(statement.get() instanceof Statements.Report)) {
+        continue;
+      }
+      const expression = statement.findFirstExpression(Expressions.MessageClass);
+      if (expression) {
+        const issue = this.checkClass(expression, file);
+        if (issue) {
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private checkClass(node: ExpressionNode, file: ABAPFile): Issue | undefined {
+    const token = node.getFirstToken();
+    const name = token.getStr();
+    if (this.reg.getObject("MSAG", name) === undefined
+        && new DDIC(this.reg).inErrorNamespace(name) === true) {
+      const message = "Message class \"" + name + "\" not found";
+      return Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);
+    }
+    return undefined;
+  }
+ 
+  private checkSource(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+    const references = this.msagReferences.listByFilename(file.getFilename());
+ 
+    for (const statement of file.getStatements()) {
+      if (statement.get() instanceof Statements.Raise || statement.get() instanceof Statements.Message) {
+        for (const ref of references) {
+          // always max one message reference per statement? chained statements?
+          if (ref.token.getStart().isBetween(statement.getStart(), statement.getEnd())) {
+            const msag = this.reg.getObject("MSAG", ref.messageClass) as MessageClass | undefined;
+            if (msag === undefined) {
+              if (new DDIC(this.reg).inErrorNamespace(ref.messageClass) === true) {
+                const message = "Message class \"" + ref.messageClass + "\" not found";
+                issues.push(Issue.atToken(file, ref.token, message, this.getMetadata().key, this.conf.severity));
+              }
+              continue;
+            }
+ 
+            const text = msag.getByNumber(ref.number);
+            if (text === undefined) {
+              const message = "Message number \"" + ref.number + "\" not found in class \"" + ref.messageClass + "\"";
+              issues.push(Issue.atToken(file, ref.token, message, this.getMetadata().key, this.conf.severity));
+              continue;
+            }
+ 
+            if (this.getConfig().checkPlaceholders === true) {
+              const count = this.countWith(statement);
+              const textCount = text.getPlaceholderCount();
+              if (count !== textCount) {
+                const message = `Message ${ref.number}, expected ${textCount} WITH parameters`;
+                issues.push(Issue.atToken(file, ref.token, message, this.getMetadata().key, this.conf.severity));
+              }
+            }
+          }
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private countWith(statement: StatementNode): number {
+    const raiseWith = statement.findDirectExpression(Expressions.RaiseWith);
+    if (raiseWith) {
+      return raiseWith.getChildren().length - 1;
+    }
+ 
+    let count = 0;
+    let afterWith = false;
+    for (const expression of statement.getChildren()) {
+      if (expression instanceof TokenNode && expression.concatTokens().toUpperCase() === "WITH") {
+        afterWith = true;
+        continue;
+      }
+      if (afterWith === true) {
+        if (expression instanceof ExpressionNode) {
+          count++;
+        } else {
+          break;
+        }
+      }
+    }
+ 
+    return count;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/method_implemented_twice.ts.html b/src/rules/method_implemented_twice.ts.html new file mode 100644 index 00000000000..3cb134b0d1b --- /dev/null +++ b/src/rules/method_implemented_twice.ts.html @@ -0,0 +1,310 @@ + + + + + + Code coverage report for src/rules/method_implemented_twice.ts + + + + + + + + + +
+
+

All files / src/rules method_implemented_twice.ts

+
+ +
+ 100% + Statements + 76/76 +
+ + +
+ 100% + Branches + 17/17 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 76/76 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +761x +1x +1x +1x +1x +1x +1x +1x +1x +10431x +10431x +10431x +10431x +10431x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10431x +10431x +9910x +9910x +10431x +10431x +243x +243x +10431x +10431x +263x +263x +263x +119x +119x +53x +53x +52x +53x +1x +1x +1x +53x +119x +263x +263x +121x +121x +47x +47x +45x +47x +2x +2x +2x +47x +121x +263x +263x +54x +54x +13x +13x +12x +13x +1x +1x +1x +13x +54x +263x +263x +263x +10431x +10431x
import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class MethodImplementedTwiceConf extends BasicRuleConfig {
+}
+ 
+export class MethodImplementedTwice extends ABAPRule {
+ 
+  private conf = new MethodImplementedTwiceConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "method_implemented_twice",
+      title: "Method implemented twice",
+      shortDescription: `Reports an error if a method is implemented or defined twice`,
+      tags: [RuleTag.SingleFile, RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MethodImplementedTwiceConf): void {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const classDef of file.getInfo().listClassImplementations()) {
+      const names: {[index: string]: boolean} = {};
+      for (const m of classDef.methods) {
+        const name = m.getName().toUpperCase();
+        if (names[name] === undefined) {
+          names[name] = true;
+        } else {
+          const message = `Method ${name} implemented twice`;
+          issues.push(Issue.atToken(file, m.getToken(), message, this.getMetadata().key, this.getConfig().severity));
+        }
+      }
+    }
+ 
+    for (const classDef of file.getInfo().listClassDefinitions()) {
+      const names: {[index: string]: boolean} = {};
+      for (const m of classDef.methods) {
+        const name = m.name.toUpperCase();
+        if (names[name] === undefined) {
+          names[name] = true;
+        } else {
+          const message = `Method ${name} defined twice`;
+          issues.push(Issue.atToken(file, m.identifier.getToken(), message, this.getMetadata().key, this.getConfig().severity));
+        }
+      }
+    }
+ 
+    for (const iDef of file.getInfo().listInterfaceDefinitions()) {
+      const names: {[index: string]: boolean} = {};
+      for (const m of iDef.methods) {
+        const name = m.name.toUpperCase();
+        if (names[name] === undefined) {
+          names[name] = true;
+        } else {
+          const message = `Method ${name} implemented twice`;
+          issues.push(Issue.atIdentifier(m.identifier, message, this.getMetadata().key, this.getConfig().severity));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/method_length.ts.html b/src/rules/method_length.ts.html new file mode 100644 index 00000000000..bbcac14f425 --- /dev/null +++ b/src/rules/method_length.ts.html @@ -0,0 +1,448 @@ + + + + + + Code coverage report for src/rules/method_length.ts + + + + + + + + + +
+
+

All files / src/rules method_length.ts

+
+ +
+ 98.36% + Statements + 120/122 +
+ + +
+ 97.05% + Branches + 33/34 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 98.36% + Lines + 120/122 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +1221x +1x +1x +1x +1x +1x +1x +1x +1x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +1x +1x +1x +1x +1x +1x +10436x +10436x +10436x +10436x +10436x +31128x +31128x +31128x +31128x +31128x +31128x +31128x +31128x +31128x +31128x +10436x +10436x +31x +31x +26x +26x +31x +5x +5x +31x +  +  +31x +31x +10436x +10436x +9906x +9906x +10436x +10436x +256x +256x +10436x +10436x +262x +262x +10436x +10436x +328x +328x +328x +328x +1x +1x +327x +327x +327x +327x +327x +328x +325x +325x +325x +327x +327x +327x +10436x +10436x +10436x +10436x +652x +652x +652x +92x +92x +2x +2x +90x +92x +27x +1x +1x +26x +26x +26x +26x +92x +5x +5x +5x +5x +92x +652x +652x +652x +10436x +10436x +27x +27x +27x +10436x +10436x
import {Issue} from "../issue";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import * as Objects from "../objects";
+import {IMethodLengthResult, MethodLengthStats} from "../utils/method_length_stats";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {FormLengthStats} from "../utils/form_length_stats";
+ 
+export class MethodLengthConf extends BasicRuleConfig {
+  /** Maximum method/form length in statements. */
+  public statements: number = 100;
+  /** Checks for empty methods/forms. */
+  public errorWhenEmpty: boolean = true;
+  /** Option to ignore test classes for this check. */
+  public ignoreTestClasses: boolean = false;
+  /** Option to check forms. */
+  public checkForms: boolean = true;
+}
+ 
+enum IssueType {
+  EmptyMethod,
+  MaxStatements,
+}
+ 
+export class MethodLength implements IRule {
+ 
+  private conf = new MethodLengthConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "method_length",
+      title: "Method/Form Length",
+      shortDescription: `Checks relating to method/form length.`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-methods-small
+ 
+Abstract methods without statements are considered okay.`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(issueType: IssueType, actual: string, type: string): string {
+    switch (issueType) {
+      case IssueType.EmptyMethod: {
+        return "Empty " + type;
+      }
+      case IssueType.MaxStatements: {
+        return "Reduce " + type + " length to max " + this.conf.statements + " statements, currently " + actual;
+      }
+      default: {
+        return "";
+      }
+    }
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MethodLengthConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+ 
+    if (this.conf.ignoreTestClasses === true
+        && obj instanceof Objects.Class
+        && obj.getClassDefinition()?.isForTesting === true) {
+      return [];
+    }
+ 
+    const methodStats = MethodLengthStats.run(obj);
+    const methodIssues = this.check(methodStats, "METHOD");
+ 
+    let formIssues: Issue[] = [];
+    if (this.conf.checkForms) {
+      const formStats = FormLengthStats.run(obj);
+      formIssues = this.check(formStats, "FORM");
+    }
+ 
+    return methodIssues.concat(formIssues);
+  }
+ 
+// ***********************
+ 
+  private check(stats: IMethodLengthResult[], type: string) {
+    const issues: Issue[] = [];
+ 
+    for (const s of stats) {
+      if ((this.conf.ignoreTestClasses === true)
+        && s.file.getFilename().includes(".testclasses.")) {
+        continue;
+      }
+ 
+      if (s.count === 0 && this.conf.errorWhenEmpty === true) {
+        if (this.isAbstract(s)) {
+          continue;
+        }
+        const issue = Issue.atPosition(s.file, s.pos, this.getDescription(IssueType.EmptyMethod, "0", type), this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+        continue;
+      }
+      if (s.count > this.conf.statements) {
+        const message = this.getDescription(IssueType.MaxStatements, s.count.toString(), type);
+        const issue = Issue.atPosition(s.file, s.pos, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private isAbstract(result: IMethodLengthResult): boolean {
+    const cdef = result.file.getInfo().getClassDefinitionByName(result.className);
+    return cdef?.isAbstract === true;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/method_overwrites_builtin.ts.html b/src/rules/method_overwrites_builtin.ts.html new file mode 100644 index 00000000000..7d85da1754c --- /dev/null +++ b/src/rules/method_overwrites_builtin.ts.html @@ -0,0 +1,274 @@ + + + + + + Code coverage report for src/rules/method_overwrites_builtin.ts + + + + + + + + + +
+
+

All files / src/rules method_overwrites_builtin.ts

+
+ +
+ 100% + Statements + 64/64 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 64/64 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +641x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +258x +117x +117x +258x +258x +258x +45x +2x +2x +2x +45x +258x +258x +258x +10423x
import {ABAPFile, Issue} from "..";
+import {InfoMethodDefinition} from "../abap/4_file_information/_abap_file_information";
+import {BuiltIn} from "../abap/5_syntax/_builtin";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+ 
+export class MethodOverwritesBuiltInConf extends BasicRuleConfig {
+}
+ 
+export class MethodOverwritesBuiltIn extends ABAPRule {
+ 
+  private conf = new MethodOverwritesBuiltInConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "method_overwrites_builtin",
+      title: "Method name overwrites builtin function",
+      shortDescription: `Checks Method names that overwrite builtin SAP functions`,
+      extendedInformation: `https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abenbuilt_in_functions_overview.htm
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-obscuring-built-in-functions
+ 
+Interface method names are ignored`,
+      tags: [RuleTag.Naming, RuleTag.SingleFile, RuleTag.Styleguide],
+      badExample: `CLASS lcl DEFINITION.
+  PUBLIC SECTION.
+    METHODS matches.
+ENDCLASS.
+ 
+CLASS lcl IMPLEMENTATION.
+  METHOD matches.
+  ENDMETHOD.
+ENDCLASS.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MethodOverwritesBuiltInConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+    let methods: InfoMethodDefinition[] = [];
+ 
+    for (const classDef of file.getInfo().listClassDefinitions()) {
+      methods = methods.concat(classDef.methods);
+    }
+ 
+    const builtIn = new BuiltIn();
+    for (const method of methods) {
+      if (builtIn.searchBuiltin(method.name.toUpperCase())) {
+        const message = `Method name "${method.name}" overwrites built-in SAP function name`;
+        issues.push(Issue.atIdentifier(method.identifier, message, this.getMetadata().key));
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/method_parameter_names.ts.html b/src/rules/method_parameter_names.ts.html new file mode 100644 index 00000000000..a48542f3015 --- /dev/null +++ b/src/rules/method_parameter_names.ts.html @@ -0,0 +1,469 @@ + + + + + + Code coverage report for src/rules/method_parameter_names.ts + + + + + + + + + +
+
+

All files / src/rules method_parameter_names.ts

+
+ +
+ 96.12% + Statements + 124/129 +
+ + +
+ 90.9% + Branches + 30/33 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 96.12% + Lines + 124/129 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +1291x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20870x +20870x +20870x +20870x +20870x +20870x +20870x +20870x +20870x +20870x +20870x +20870x +1x +10441x +10441x +10441x +10441x +10441x +10441x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +10441x +10441x +31x +31x +31x +31x +10441x +10441x +9906x +9906x +10441x +10441x +258x +258x +10441x +10441x +262x +262x +262x +10441x +10441x +328x +328x +  +  +328x +328x +62x +62x +266x +266x +266x +328x +273x +60x +17x +17x +60x +273x +122x +2x +2x +122x +49x +8x +8x +41x +41x +120x +273x +266x +266x +266x +10441x +10441x +58x +58x +58x +43x +43x +30x +30x +43x +3x +3x +43x +  +  +43x +10x +10x +43x +  +43x +43x +58x +58x +58x +10441x +10441x +43x +43x +43x +43x +31x +31x +31x +31x +43x +43x +43x +10441x +10441x
import {Issue} from "../issue";
+import {IRule, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {NamingRuleConfig} from "./_naming_rule_config";
+import {NameValidator} from "../utils/name_validator";
+import {InfoMethodDefinition, MethodParameterDirection, InfoMethodParameter} from "../abap/4_file_information/_abap_file_information";
+import {DDIC} from "../ddic";
+ 
+export class MethodParameterNamesConf extends NamingRuleConfig {
+  /** Ignore parameters in methods of exception classes */
+  public ignoreExceptions: boolean = true;
+  /** The pattern for importing parameters */
+  public importing: string = "^I._.+$";
+  /** The pattern for returning parameters */
+  public returning: string = "^R._.+$";
+  /** The pattern for changing parameters */
+  public changing: string = "^C._.+$";
+  /** The pattern for exporting parameters */
+  public exporting: string = "^E._.+$";
+}
+ 
+export class MethodParameterNames implements IRule {
+ 
+  private conf = new MethodParameterNamesConf();
+  private reg: IRegistry;
+ 
+  public getMetadata() {
+    return {
+      key: "method_parameter_names",
+      title: "Method parameter naming conventions",
+      shortDescription: `Allows you to enforce a pattern, such as a prefix, for method parameter names`,
+      tags: [RuleTag.Naming, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(expected: string, actual: string): string {
+    return this.conf.patternKind === "required" ?
+      "Method parameter name does not match pattern " + expected + ": " + actual :
+      "Method parameter name must not match pattern " + expected + ": " + actual;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MethodParameterNamesConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    let ret: Issue[] = [];
+    if (this.conf.patternKind === undefined) {
+      this.conf.patternKind = "required";
+    }
+ 
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const ddic = new DDIC(this.reg);
+ 
+    for (const file of obj.getABAPFiles()) {
+      for (const def of file.getInfo().listInterfaceDefinitions()) {
+        for (const method of def.methods) {
+          ret = ret.concat(this.checkMethod(method));
+        }
+      }
+      for (const def of file.getInfo().listClassDefinitions()) {
+        if (this.conf.ignoreExceptions && ddic.isException(def, obj)) {
+          continue;
+        }
+        for (const method of def.methods) {
+          if (method.isEventHandler) {
+            continue;
+          }
+          ret = ret.concat(this.checkMethod(method));
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private checkMethod(method: InfoMethodDefinition): Issue[] {
+    let ret: Issue[] = [];
+ 
+    for (const p of method.parameters) {
+      switch (p.direction) {
+        case MethodParameterDirection.Importing:
+          ret = ret.concat(this.checkParameter(p, this.conf.importing));
+          break;
+        case MethodParameterDirection.Exporting:
+          ret = ret.concat(this.checkParameter(p, this.conf.exporting));
+          break;
+        case MethodParameterDirection.Changing:
+          ret = ret.concat(this.checkParameter(p, this.conf.changing));
+          break;
+        case MethodParameterDirection.Returning:
+          ret = ret.concat(this.checkParameter(p, this.conf.returning));
+          break;
+        default:
+          break;
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private checkParameter(param: InfoMethodParameter, expected: string): Issue[] {
+    const ret: Issue[] = [];
+    const regex = new RegExp(expected, "i");
+    const name = param.name;
+    if (NameValidator.violatesRule(name, regex, this.conf)) {
+      const message = this.getDescription(expected, name);
+      const issue = Issue.atIdentifier(param.identifier, message, this.getMetadata().key, this.conf.severity);
+      ret.push(issue);
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/mix_returning.ts.html b/src/rules/mix_returning.ts.html new file mode 100644 index 00000000000..0e03948844a --- /dev/null +++ b/src/rules/mix_returning.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/rules/mix_returning.ts + + + + + + + + + +
+
+

All files / src/rules mix_returning.ts

+
+ +
+ 100% + Statements + 68/68 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 68/68 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10426x +10426x +10426x +10426x +10426x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10426x +10426x +1x +1x +10426x +10426x +9906x +9906x +10426x +10426x +243x +243x +10426x +10426x +258x +258x +258x +12x +12x +246x +258x +55x +43x +43x +12x +55x +1x +1x +1x +1x +55x +246x +246x +246x +10426x +10426x +  + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class MixReturningConf extends BasicRuleConfig {
+}
+ 
+export class MixReturning extends ABAPRule {
+ 
+  private conf = new MixReturningConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "mix_returning",
+      title: "Mix of returning and exporting",
+      shortDescription: `Checks that methods don't have a mixture of returning and exporting/changing parameters`,
+      // eslint-disable-next-line max-len
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-either-returning-or-exporting-or-changing-but-not-a-combination`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `CLASS lcl DEFINITION.
+  PUBLIC SECTION.
+    METHODS
+      foobar
+        EXPORTING foo TYPE i
+        RETURNING VALUE(rv_string) TYPE string.
+ENDCLASS.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Don't mix RETURNING and EXPORTING/CHANGING parameters in a single method.";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MixReturningConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const ret: Issue[] = [];
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    for (const def of stru.findAllStatements(Statements.MethodDef)) {
+      if (!def.findFirstExpression(Expressions.MethodDefReturning)) {
+        continue;
+      }
+      if (def.findFirstExpression(Expressions.MethodDefExporting)
+          || def.findFirstExpression(Expressions.MethodDefChanging)) {
+        const token = def.getFirstToken();
+        const issue = Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/modify_only_own_db_tables.ts.html b/src/rules/modify_only_own_db_tables.ts.html new file mode 100644 index 00000000000..f62e522f481 --- /dev/null +++ b/src/rules/modify_only_own_db_tables.ts.html @@ -0,0 +1,403 @@ + + + + + + Code coverage report for src/rules/modify_only_own_db_tables.ts + + + + + + + + + +
+
+

All files / src/rules modify_only_own_db_tables.ts

+
+ +
+ 96.22% + Statements + 102/106 +
+ + +
+ 82.75% + Branches + 24/29 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 96.22% + Lines + 102/106 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +1071x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20853x +20853x +20853x +20853x +20853x +1x +10430x +10430x +10430x +10430x +10430x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +10430x +10430x +10162x +10162x +10430x +10430x +244x +244x +10430x +10430x +252x +252x +252x +10430x +10430x +318x +62x +62x +256x +256x +256x +256x +318x +263x +263x +12x +12x +251x +251x +251x +263x +1450x +1450x +1450x +1450x +1450x +6x +6x +  +  +6x +6x +2x +1x +1x +2x +2x +4x +4x +6x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +2x +2x +3x +3x +3x +  +  +3x +6x +1450x +251x +244x +244x +244x +10430x +10430x + 
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IRegistry} from "../_iregistry";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScope} from "../abap/5_syntax/_spaghetti_scope";
+ 
+export class ModifyOnlyOwnDBTablesConf extends BasicRuleConfig {
+  public reportDynamic: boolean = true;
+  /** Case insensitve regex for own tables */
+  public ownTables: string = "^[yz]";
+}
+ 
+export class ModifyOnlyOwnDBTables implements IRule {
+  private conf = new ModifyOnlyOwnDBTablesConf();
+  protected reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "modify_only_own_db_tables",
+      title: "Modify only own DB tables",
+      shortDescription: `Modify only own DB tables`,
+      extendedInformation: `https://docs.abapopenchecks.org/checks/26/`,
+      tags: [RuleTag.Security],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ModifyOnlyOwnDBTablesConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    let spaghetti: ISpaghettiScope | undefined = undefined;
+    const output: Issue[] = [];
+ 
+    for (const file of obj.getABAPFiles()) {
+      const struc = file.getStructure();
+      if (struc === undefined) {
+        return [];
+      }
+ 
+      const regExp = new RegExp(this.getConfig().ownTables, "i");
+ 
+      for (const s of file.getStatements()) {
+        const g = s.get();
+        if (g instanceof Statements.DeleteDatabase
+          || g instanceof Statements.UpdateDatabase
+          || g instanceof Statements.InsertDatabase
+          || g instanceof Statements.ModifyDatabase) {
+          const databaseTable = s.findFirstExpression(Expressions.DatabaseTable);
+          if (databaseTable === undefined) {
+            continue;
+          }
+ 
+          if (databaseTable.getFirstChild()?.get() instanceof Expressions.Dynamic) {
+            if (this.getConfig().reportDynamic === true) {
+              output.push(Issue.atStatement(file, s, this.getMetadata().title, this.getMetadata().key, this.getConfig().severity));
+            }
+            continue;
+          }
+ 
+          const concat = databaseTable.concatTokens().toUpperCase();
+          if (regExp.test(concat) === false) {
+            // must contain a ReferenceType.TableVoidReference or a ReferenceType.TableReference if its a dependency
+            if (spaghetti === undefined) {
+              spaghetti = new SyntaxLogic(this.reg, obj).run().spaghetti;
+            }
+ 
+            const start = databaseTable.getFirstToken().getStart();
+            const scope = spaghetti.lookupPosition(start, file.getFilename());
+ 
+            const found1 = scope?.findTableVoidReference(start);
+            if (found1) {
+              output.push(Issue.atStatement(file, s, this.getMetadata().title, this.getMetadata().key, this.getConfig().severity));
+            }
+ 
+            const found2 = scope?.findTableReference(start);
+            if (found2) {
+              output.push(Issue.atStatement(file, s, this.getMetadata().title, this.getMetadata().key, this.getConfig().severity));
+            }
+          }
+        }
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/msag_consistency.ts.html b/src/rules/msag_consistency.ts.html new file mode 100644 index 00000000000..61dd737a659 --- /dev/null +++ b/src/rules/msag_consistency.ts.html @@ -0,0 +1,385 @@ + + + + + + Code coverage report for src/rules/msag_consistency.ts + + + + + + + + + +
+
+

All files / src/rules msag_consistency.ts

+
+ +
+ 81.18% + Statements + 82/101 +
+ + +
+ 83.33% + Branches + 15/18 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 81.18% + Lines + 82/101 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +1011x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +1x +10426x +10426x +10426x +10426x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10426x +10426x +1x +1x +10426x +10426x +9912x +9912x +10426x +10426x +243x +243x +10426x +10426x +247x +247x +10426x +10426x +313x +313x +313x +306x +306x +7x +7x +7x +313x +6x +6x +1x +1x +1x +1x +1x +6x +6x +  +  +  +  +  +6x +6x +6x +1x +1x +1x +1x +6x +5x +5x +6x +6x +6x +6x +  +  +  +  +  +6x +6x +  +  +  +  +  +  +  +  +  +6x +6x +7x +7x +7x +10426x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {MessageClass} from "../objects";
+import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {Position} from "../position";
+ 
+export class MSAGConsistencyConf extends BasicRuleConfig {
+  /** parameters must be numbered */
+  public numericParameters = true;
+}
+ 
+export class MSAGConsistency implements IRule {
+  private conf = new MSAGConsistencyConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "msag_consistency",
+      title: "MSAG consistency check",
+      shortDescription: `Checks the validity of messages in message classes`,
+      extendedInformation: `Message numbers must be 3 digits, message text must not be empty, no message number duplicates`,
+    };
+  }
+ 
+  private getDescription(reason: string): string {
+    return "Message class invalid: " + reason;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: MSAGConsistencyConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (!(obj instanceof MessageClass)) {
+      return [];
+    }
+ 
+    const numbers = new Set<string>();
+ 
+    for (const message of obj.getMessages()) {
+// todo, get the right positions in xml file, and report the issue there
+      if (!message.getNumber().match(/\d\d\d/)) {
+        const text = this.getDescription("Message number must be 3 digits: message " + message.getNumber());
+        const position = new Position(1, 1);
+        const issue = Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+ 
+      if (message.getMessage() === "") {
+        const text = "Message text empty: message " + message.getNumber();
+        const position = new Position(1, 1);
+        const issue = Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+ 
+      const num = message.getNumber();
+      if (numbers.has(num)) {
+        const text = "Duplicate message number " + num;
+        const position = new Position(1, 1);
+        const issue = Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      } else {
+        numbers.add(num);
+      }
+ 
+      if (this.getConfig().numericParameters === true) {
+        const placeholderCount = message.getPlaceholderCount();
+        if (placeholderCount > 4) {
+          const text = `More than 4 placeholders in mesasge ${message.getNumber()}` ;
+          const position = new Position(1, 1);
+          const issue = Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+ 
+        for (let i = 1; i <= placeholderCount; i++) {
+          const placeholder = "&" + i;
+          if (message.getMessage().includes(placeholder) === false) {
+            const text = `Expected placeholder ${placeholder} in message ${message.getNumber()}` ;
+            const position = new Position(1, 1);
+            const issue = Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+            break;
+          }
+        }
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/names_no_dash.ts.html b/src/rules/names_no_dash.ts.html new file mode 100644 index 00000000000..499d896c7e5 --- /dev/null +++ b/src/rules/names_no_dash.ts.html @@ -0,0 +1,373 @@ + + + + + + Code coverage report for src/rules/names_no_dash.ts + + + + + + + + + +
+
+

All files / src/rules names_no_dash.ts

+
+ +
+ 100% + Statements + 97/97 +
+ + +
+ 100% + Branches + 26/26 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 97/97 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +971x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +10423x +10423x +5x +5x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +263x +263x +263x +263x +12x +12x +251x +263x +180x +35x +35x +37x +2x +2x +2x +2x +37x +35x +180x +180x +2x +2x +3x +1x +1x +1x +1x +3x +2x +180x +180x +2x +2x +3x +1x +1x +1x +1x +3x +2x +180x +251x +263x +168x +168x +1x +1x +1x +168x +251x +251x +251x +10423x +10423x
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {Dash, DashW} from "../abap/1_lexer/tokens";
+import {FormName} from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class NamesNoDashConf extends BasicRuleConfig {
+}
+ 
+// todo, also check for other characters like %&$, rename rule? and extend to more kinds of identifiers?
+export class NamesNoDash extends ABAPRule {
+ 
+  private conf = new NamesNoDashConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "names_no_dash",
+      title: "No dashes in FORM and DATA names",
+      shortDescription: `Checks for a "-" in FORM, DATA, PARAMETER and SELECT-OPTION names`,
+      tags: [RuleTag.SingleFile, RuleTag.Naming],
+      badExample: "DATA foo-bar TYPE i.",
+      goodExample: "DATA foobar TYPE i.",
+    };
+  }
+ 
+  private getMessage(): string {
+    return "No dash allowed in FORM and DATA names";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NamesNoDashConf): void {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+ 
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return issues;
+    }
+ 
+    if (obj.getType() !== "CLAS" && obj.getType() !== "INTF") {
+      for (const form of struc.findAllStatements(Statements.Form)) {
+        const expr = form.findFirstExpression(FormName);
+        for (const token of expr!.getTokens()) {
+          if (token instanceof Dash || token instanceof DashW) {
+            const issue = Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+            break;
+          }
+        }
+      }
+ 
+      for (const form of struc.findAllStatements(Statements.Parameter)) {
+        const expr = form.findFirstExpression(Expressions.FieldSub);
+        for (const token of expr!.getTokens()) {
+          if (token instanceof Dash || token instanceof DashW) {
+            const issue = Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+            break;
+          }
+        }
+      }
+ 
+      for (const form of struc.findAllStatements(Statements.SelectOption)) {
+        const expr = form.findFirstExpression(Expressions.FieldSub);
+        for (const token of expr!.getTokens()) {
+          if (token instanceof Dash || token instanceof DashW) {
+            const issue = Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+            break;
+          }
+        }
+      }
+    }
+ 
+    for (const name of struc.findAllExpressions(Expressions.DefinitionName)) {
+      const text = name.concatTokens();
+      if (text.includes("-")) {
+        const issue = Issue.atToken(file, name.getFirstToken(), this.getMessage(), this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/nesting.ts.html b/src/rules/nesting.ts.html new file mode 100644 index 00000000000..8300fcedabf --- /dev/null +++ b/src/rules/nesting.ts.html @@ -0,0 +1,328 @@ + + + + + + Code coverage report for src/rules/nesting.ts + + + + + + + + + +
+
+

All files / src/rules nesting.ts

+
+ +
+ 100% + Statements + 82/82 +
+ + +
+ 100% + Branches + 24/24 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 82/82 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +821x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +10423x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10423x +10423x +1x +1x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +256x +256x +256x +256x +256x +1460x +1460x +1460x +1460x +1460x +1460x +1460x +1460x +1460x +45x +1460x +1415x +1415x +1415x +1415x +1415x +1415x +34x +34x +1460x +1460x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1460x +256x +256x +256x +10423x +10423x
import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class NestingConf extends BasicRuleConfig {
+  /** Maximum allowed nesting depth */
+  public depth: number = 5;
+}
+ 
+export class Nesting extends ABAPRule {
+ 
+  private conf = new NestingConf();
+ 
+  public getMetadata() {
+    return {
+      key: "nesting",
+      title: "Check nesting depth",
+      shortDescription: `Checks for methods exceeding a maximum nesting depth`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-the-nesting-depth-low
+https://docs.abapopenchecks.org/checks/74/`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(max: string): string {
+    return "Reduce nesting depth to max " + max;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NestingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    let depth: number = 0;
+ 
+    for (const statement of file.getStatements()) {
+      const type = statement.get();
+ 
+      if (type instanceof Statements.If
+        || type instanceof Statements.Case
+        || type instanceof Statements.While
+        || type instanceof Statements.Loop
+        || type instanceof Statements.SelectLoop
+        || type instanceof Statements.Do
+        || type instanceof Statements.Try) {
+        depth = depth + 1;
+      } else if (type instanceof Statements.EndIf
+        || type instanceof Statements.EndCase
+        || type instanceof Statements.EndWhile
+        || type instanceof Statements.EndLoop
+        || type instanceof Statements.EndSelect
+        || type instanceof Statements.EndDo
+        || type instanceof Statements.EndTry) {
+        depth = depth - 1;
+      }
+ 
+      if (depth > this.conf.depth) {
+        const pos = statement.getFirstToken().getStart();
+        const issue = Issue.atPosition(
+          file,
+          pos,
+          this.getDescription(this.conf.depth.toString()),
+          this.getMetadata().key,
+          this.conf.severity);
+        issues.push(issue);
+        break; // only one finding per file
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/newline_between_methods.ts.html b/src/rules/newline_between_methods.ts.html new file mode 100644 index 00000000000..1b945e30f5c --- /dev/null +++ b/src/rules/newline_between_methods.ts.html @@ -0,0 +1,352 @@ + + + + + + Code coverage report for src/rules/newline_between_methods.ts + + + + + + + + + +
+
+

All files / src/rules newline_between_methods.ts

+
+ +
+ 100% + Statements + 90/90 +
+ + +
+ 96.87% + Branches + 31/32 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 90/90 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +901x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +20848x +1x +10423x +10423x +10423x +10423x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +10423x +10423x +11x +11x +11x +11x +11x +11x +10423x +10423x +9906x +9906x +10423x +10423x +258x +258x +10423x +10423x +269x +269x +269x +5x +5x +269x +1591x +1591x +1574x +1574x +17x +1591x +26x +26x +26x +1591x +1591x +1591x +11x +11x +11x +11x +11x +11x +11x +1591x +264x +264x +10423x +10423x +269x +5x +269x +264x +264x +269x +10423x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {SequentialBlank} from "./sequential_blank";
+import * as Statements from "../abap/2_statements/statements";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export enum NewlineLogic {
+  Exact = "exact",
+  Less = "less",
+}
+ 
+export class NewlineBetweenMethodsConf extends BasicRuleConfig {
+  /** Amount of newlines, works in conjunction with "newlineLogic" */
+  public count: number = 3;
+  /**
+   *  Exact: the exact number of required newlines between methods is defined by "newlineAmount"
+   *
+   *  Less: the required number of newlines has to be less than "newlineAmount"
+   */
+  public logic: NewlineLogic = NewlineLogic.Less;
+}
+ 
+export class NewlineBetweenMethods extends ABAPRule {
+  private conf = new NewlineBetweenMethodsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "newline_between_methods",
+      title: "New line between methods",
+      shortDescription: `Checks for newlines between method implementations.`,
+      tags: [RuleTag.Whitespace, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getMessage(): string {
+    switch (this.conf.logic) {
+      case NewlineLogic.Exact: return `Exactly ${this.conf.count} newlines are required in between methods`;
+      case NewlineLogic.Less: return `Less than ${this.conf.count} newlines and at least a single newline are required in between methods`;
+      default: return "";
+    }
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NewlineBetweenMethodsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+    const rows = file.getRawRows();
+    if (!this.isConfigurationValid()) {
+      return [];
+    }
+    for (const statement of file.getStatements()) {
+      let nextRow = statement.getStart().getRow();
+      if (!(statement.get() instanceof Statements.EndMethod) || (rows[nextRow]?.toUpperCase().includes("ENDCLASS."))) {
+        continue;
+      }
+      let counter = 0;
+      while (SequentialBlank.isBlankOrWhitespace(rows[nextRow]) && (counter <= this.conf.count + 1)) {
+        counter++;
+        nextRow++;
+      }
+      if ((counter !== this.conf.count && this.conf.logic === NewlineLogic.Exact)
+        || (counter >= this.conf.count && this.conf.logic === NewlineLogic.Less)
+        || counter === 0) {
+        issues.push(Issue.atStatement(
+          file,
+          statement,
+          this.getMessage(),
+          this.getMetadata().key,
+          this.conf.severity));
+      }
+    }
+    return issues;
+  }
+ 
+  private isConfigurationValid(): boolean {
+    if (this.conf.count < 1 || (this.conf.count === 1 && this.conf.logic === NewlineLogic.Less)) {
+      return false;
+    } else {
+      return true;
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/no_aliases.ts.html b/src/rules/no_aliases.ts.html new file mode 100644 index 00000000000..73d1683cc87 --- /dev/null +++ b/src/rules/no_aliases.ts.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for src/rules/no_aliases.ts + + + + + + + + + +
+
+

All files / src/rules no_aliases.ts

+
+ +
+ 100% + Statements + 51/51 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 51/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +511x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +258x +258x +1467x +10x +1x +1x +9x +9x +9x +1467x +258x +258x +258x +10423x +10423x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import * as Statements from "../abap/2_statements/statements";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {StatementNode} from "../abap/nodes";
+ 
+export class NoAliasesConf extends BasicRuleConfig {
+}
+ 
+export class NoAliases extends ABAPRule {
+  private conf = new NoAliasesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "no_aliases",
+      title: "No ALIASES",
+      shortDescription: `Detects use of the ALIAS statement`,
+      extendedInformation: `Only one issue is reported for chained statements`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NoAliasesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const message = "Do not use ALIASES";
+    let prev: StatementNode | undefined = undefined;
+    for (const stat of file.getStatements()) {
+      if (stat.get() instanceof Statements.Aliases) {
+        if (prev && prev.getColon() === stat.getColon()) {
+          continue;
+        }
+        issues.push(Issue.atStatement(file, stat, message, this.getMetadata().key, this.conf.severity));
+        prev = stat;
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/no_chained_assignment.ts.html b/src/rules/no_chained_assignment.ts.html new file mode 100644 index 00000000000..3dea1b88e87 --- /dev/null +++ b/src/rules/no_chained_assignment.ts.html @@ -0,0 +1,250 @@ + + + + + + Code coverage report for src/rules/no_chained_assignment.ts + + + + + + + + + +
+
+

All files / src/rules no_chained_assignment.ts

+
+ +
+ 100% + Statements + 55/55 +
+ + +
+ 100% + Branches + 9/9 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 55/55 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +561x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +257x +257x +257x +1457x +1445x +1445x +12x +1457x +1x +1x +1x +1x +1457x +257x +257x +257x +10423x +10423x + 
import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class NoChainedAssignmentConf extends BasicRuleConfig {
+}
+ 
+export class NoChainedAssignment extends ABAPRule {
+ 
+  private conf = new NoChainedAssignmentConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "no_chained_assignment",
+      title: "No chained assignment",
+      shortDescription: `Find chained assingments and reports issues`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-chain-assignments`,
+      tags: [RuleTag.SingleFile, RuleTag.Styleguide],
+      badExample: `var1 = var2 = var3.`,
+      goodExample: `var2 = var3.
+var1 = var2.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NoChainedAssignmentConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const s of file.getStatements()) {
+      if (!(s.get() instanceof Statements.Move)) {
+        continue;
+      }
+ 
+      if (s.findDirectExpressions(Expressions.Target).length >= 2) {
+        const message = "No chained assignment";
+        const issue = Issue.atStatement(file, s, message, this.getMetadata().key);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/no_external_form_calls.ts.html b/src/rules/no_external_form_calls.ts.html new file mode 100644 index 00000000000..143eda33e99 --- /dev/null +++ b/src/rules/no_external_form_calls.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/rules/no_external_form_calls.ts + + + + + + + + + +
+
+

All files / src/rules no_external_form_calls.ts

+
+ +
+ 100% + Statements + 54/54 +
+ + +
+ 100% + Branches + 11/11 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 54/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +260x +260x +260x +260x +12x +12x +248x +260x +3x +2x +2x +2x +3x +248x +248x +248x +10423x +10423x
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class NoExternalFormCallsConf extends BasicRuleConfig {
+}
+ 
+export class NoExternalFormCalls extends ABAPRule {
+ 
+  private conf = new NoExternalFormCallsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "no_external_form_calls",
+      title: "No external FORM calls",
+      shortDescription: `Detect external form calls`,
+      badExample: `PERFORM foo IN PROGRAM bar.
+ 
+PERFORM foo(bar).`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NoExternalFormCallsConf): void {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return issues; // parser error
+    }
+ 
+    for (const p of stru.findAllStatements(Statements.Perform)) {
+      if (p.findDirectExpression(Expressions.IncludeName) || p.findDirectTokenByText("PROGRAM")) {
+        const message = "No external FORM calls";
+        issues.push(Issue.atStatement(file, p, message, this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/no_inline_in_optional_branches.ts.html b/src/rules/no_inline_in_optional_branches.ts.html new file mode 100644 index 00000000000..910a6d26470 --- /dev/null +++ b/src/rules/no_inline_in_optional_branches.ts.html @@ -0,0 +1,325 @@ + + + + + + Code coverage report for src/rules/no_inline_in_optional_branches.ts + + + + + + + + + +
+
+

All files / src/rules no_inline_in_optional_branches.ts

+
+ +
+ 97.53% + Statements + 79/81 +
+ + +
+ 90.9% + Branches + 10/11 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.53% + Lines + 79/81 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +811x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10425x +10425x +9907x +9907x +10425x +10425x +243x +243x +10425x +10425x +257x +257x +257x +257x +257x +257x +  +  +257x +257x +257x +12x +12x +245x +245x +245x +245x +245x +245x +245x +245x +245x +245x +257x +29x +29x +1x +1x +1x +1x +29x +245x +245x +245x +10425x +10425x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Structures from "../abap/3_structures/structures";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Version} from "../version";
+ 
+export class NoInlineInOptionalBranchesConf extends BasicRuleConfig {
+}
+ 
+export class NoInlineInOptionalBranches extends ABAPRule {
+  private conf = new NoInlineInOptionalBranchesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "no_inline_in_optional_branches",
+      title: "Don't declare inline in optional branches",
+      shortDescription: `Don't declare inline in optional branches`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-declare-inline-in-optional-branches
+ 
+Considered optional branches:
+* inside IF/ELSEIF/ELSE
+* inside LOOP
+* inside WHILE
+* inside CASE/WHEN, CASE TYPE OF
+* inside DO
+* inside SELECT loops
+ 
+Not considered optional branches:
+* TRY/CATCH/CLEANUP`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NoInlineInOptionalBranchesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const output: Issue[] = [];
+ 
+    const version = this.reg.getConfig().getVersion();
+    if (version === Version.v700
+        || version === Version.v702
+        || version === Version.OpenABAP) {
+      return [];
+    }
+ 
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return []; // syntax error
+    }
+ 
+    const candidates = [
+      ...struc.findAllStructures(Structures.If),
+      ...struc.findAllStructures(Structures.Loop),
+      ...struc.findAllStructures(Structures.While),
+      ...struc.findAllStructures(Structures.Case),
+      ...struc.findAllStructures(Structures.CaseType),
+      ...struc.findAllStructures(Structures.Do),
+      ...struc.findAllStructures(Structures.Select)];
+ 
+    for (const c of candidates) {
+      const inline = c.findFirstExpression(Expressions.InlineData);
+      if (inline) {
+        const message = "Don't declare inline in optional branches";
+        const issue = Issue.atToken(file, inline.getFirstToken(), message, this.getMetadata().key, this.getConfig().severity);
+        output.push(issue);
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/no_prefixes.ts.html b/src/rules/no_prefixes.ts.html new file mode 100644 index 00000000000..7c98adc6a91 --- /dev/null +++ b/src/rules/no_prefixes.ts.html @@ -0,0 +1,793 @@ + + + + + + Code coverage report for src/rules/no_prefixes.ts + + + + + + + + + +
+
+

All files / src/rules no_prefixes.ts

+
+ +
+ 96.61% + Statements + 228/236 +
+ + +
+ 67.21% + Branches + 41/61 +
+ + +
+ 100% + Functions + 12/12 +
+ + +
+ 96.61% + Lines + 228/236 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +2371x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +20858x +1x +1x +1x +10436x +10436x +10436x +10436x +10436x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +31165x +10436x +10436x +10208x +10208x +10436x +10436x +243x +243x +10436x +10436x +268x +268x +268x +268x +268x +268x +12x +12x +12x +256x +268x +256x +256x +256x +268x +256x +256x +256x +268x +256x +256x +256x +268x +256x +256x +256x +268x +256x +256x +256x +268x +256x +256x +256x +256x +256x +10436x +10436x +256x +256x +256x +256x +256x +256x +133x +133x +133x +133x +133x +133x +19x +19x +19x +133x +256x +256x +7x +7x +7x +3x +3x +3x +7x +256x +256x +256x +10436x +10436x +256x +256x +256x +256x +  +  +  +  +  +  +  +  +256x +256x +256x +10436x +10436x +256x +256x +256x +4x +4x +4x +1x +1x +1x +4x +256x +256x +3x +3x +3x +2x +2x +2x +3x +256x +256x +256x +10436x +10436x +256x +256x +256x +256x +25x +25x +25x +25x +4x +4x +4x +25x +256x +256x +256x +10436x +10436x +256x +256x +256x +256x +256x +256x +256x +256x +116x +116x +116x +116x +35x +35x +35x +116x +256x +256x +256x +10436x +10436x +256x +256x +256x +56x +34x +34x +34x +34x +2x +2x +32x +34x +34x +6x +6x +6x +34x +56x +256x +256x +256x +10436x +10436x + 
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {StructureNode} from "../abap/nodes";
+import {IFile} from "../files/_ifile";
+ 
+export class NoPrefixesConf extends BasicRuleConfig {
+  /** DATA, CLASS-DATA, DATA BEGIN OF, CLASS-DATA BEGIN OF, FINAL(), DATA(), case insensitive regex */
+  public data: string = "^[LGM].?_";
+  /** STATICS, STATICS BEGIN OF, case insensitive regex */
+  public statics: string = "^S.?_";
+  /** FIELD-SYMBOLS and inline FIELD-SYMBOLS(), case insensitive regex */
+  public fieldSymbols: string = "^<[LGM].?_";
+  /** CONSTANTS, CONSTANTS BEGIN OF, case insensitive regex */
+  public constants: string = "^[LGM]?C.?_";
+  /** TYPES, ENUM, MESH, case insensitive regex */
+  public types: string = "^TY_";
+  /** importing, exporting, returning and changing parameters, case insensitive regex */
+  public methodParameters: string = "^[ICER].?_";
+  public allowIsPrefixBoolean: boolean = true;
+ 
+  // todo, public localClass: string = "";
+  // todo, public localInterface: string = "";
+  // todo, public functionModuleParameters: string = "";
+  // todo, public parameters: string = "";
+  // todo, public selectOptions: string = "";
+  // todo, public formParameters: string = "";
+}
+ 
+const MESSAGE = "Avoid hungarian notation";
+ 
+export class NoPrefixes extends ABAPRule {
+ 
+  private conf = new NoPrefixesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "no_prefixes",
+      title: "No Prefixes",
+      shortDescription: `Dont use hungarian notation`,
+      extendedInformation: `
+Note: not prefixing TYPES will require changing the errorNamespace in the abaplint configuration,
+allowing all types to become voided, abaplint will then provide less precise syntax errors.
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-encodings-esp-hungarian-notation-and-prefixes
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/sub-sections/AvoidEncodings.md`,
+      tags: [RuleTag.SingleFile, RuleTag.Styleguide],
+      badExample: `DATA lv_foo TYPE i.`,
+      goodExample: `DATA foo TYPE i.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NoPrefixesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const ret: Issue[] = [];
+ 
+    const config = this.getConfig();
+ 
+    const structure = file.getStructure();
+    if (structure === undefined) {
+      // syntax error, skip
+      return [];
+    }
+ 
+    if (config.data !== undefined && config.data !== "") {
+      ret.push(...this.checkData(structure, new RegExp(config.data, "i"), file));
+    }
+ 
+    if (config.statics !== undefined && config.statics !== "") {
+      ret.push(...this.checkStatics(structure, new RegExp(config.statics, "i"), file));
+    }
+ 
+    if (config.fieldSymbols !== undefined && config.fieldSymbols !== "") {
+      ret.push(...this.checkFieldSymbols(structure, new RegExp(config.fieldSymbols, "i"), file));
+    }
+ 
+    if (config.constants !== undefined && config.constants !== "") {
+      ret.push(...this.checkConstants(structure, new RegExp(config.constants, "i"), file));
+    }
+ 
+    if (config.types !== undefined && config.types !== "") {
+      ret.push(...this.checkTypes(structure, new RegExp(config.types, "i"), file));
+    }
+ 
+    if (config.methodParameters !== undefined && config.methodParameters !== "") {
+      ret.push(...this.checkMethodParameters(structure, new RegExp(config.methodParameters, "i"), file));
+    }
+ 
+    return ret;
+  }
+ 
+  private checkData(topNode: StructureNode, regex: RegExp, file: IFile): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const data of topNode.findAllStatements(Statements.Data).concat(
+      topNode.findAllStatements(Statements.DataBegin)).concat(
+      topNode.findAllStatements(Statements.ClassDataBegin)).concat(
+      topNode.findAllStatements(Statements.ClassData))) {
+ 
+      const nameExpression = data.findFirstExpression(Expressions.DefinitionName)
+        || data.findFirstExpression(Expressions.NamespaceSimpleName);
+      const name = nameExpression?.concatTokens() || "";
+ 
+      if (name !== "" && nameExpression && name.match(regex)) {
+        const issue = Issue.atToken(file, nameExpression.getFirstToken(), MESSAGE, this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      }
+    }
+ 
+    for (const data of topNode.findAllExpressions(Expressions.InlineData)) {
+      const nameExpression = data.findFirstExpression(Expressions.TargetField);
+      const name = nameExpression?.concatTokens() || "";
+      if (name !== "" && nameExpression && name.match(regex)) {
+        const issue = Issue.atToken(file, nameExpression.getFirstToken(), MESSAGE, this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private checkStatics(topNode: StructureNode, regex: RegExp, file: IFile): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const data of topNode.findAllStatements(Statements.Static).concat(
+      topNode.findAllStatements(Statements.StaticBegin))) {
+
+      const nameExpression = data.findFirstExpression(Expressions.DefinitionName);
+      const name = nameExpression?.concatTokens() || "";
+      if (name !== "" && nameExpression && name.match(regex)) {
+        const issue = Issue.atToken(file, nameExpression.getFirstToken(), MESSAGE, this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private checkFieldSymbols(topNode: StructureNode, regex: RegExp, file: IFile): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const data of topNode.findAllStatements(Statements.FieldSymbol)) {
+      const nameExpression = data.findFirstExpression(Expressions.FieldSymbol);
+      const name = nameExpression?.concatTokens() || "";
+      if (name !== "" && nameExpression && name.match(regex)) {
+        const issue = Issue.atToken(file, nameExpression.getFirstToken(), MESSAGE, this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      }
+    }
+ 
+    for (const data of topNode.findAllExpressions(Expressions.InlineFS)) {
+      const nameExpression = data.findFirstExpression(Expressions.FieldSymbol);
+      const name = nameExpression?.concatTokens() || "";
+      if (name !== "" && nameExpression && name.match(regex)) {
+        const issue = Issue.atToken(file, nameExpression.getFirstToken(), MESSAGE, this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private checkConstants(topNode: StructureNode, regex: RegExp, file: IFile): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const data of topNode.findAllStatements(Statements.Constant).concat(
+      topNode.findAllStatements(Statements.ConstantBegin))) {
+ 
+      const nameExpression = data.findFirstExpression(Expressions.DefinitionName);
+      const name = nameExpression?.concatTokens() || "";
+      if (name !== "" && nameExpression && name.match(regex)) {
+        const issue = Issue.atToken(file, nameExpression.getFirstToken(), MESSAGE, this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private checkTypes(topNode: StructureNode, regex: RegExp, file: IFile): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const data of topNode.findAllStatements(Statements.Type).concat(
+      topNode.findAllStatements(Statements.TypeEnum)).concat(
+      topNode.findAllStatements(Statements.TypeEnumBegin)).concat(
+      topNode.findAllStatements(Statements.TypeMesh)).concat(
+      topNode.findAllStatements(Statements.TypeMeshBegin)).concat(
+      topNode.findAllStatements(Statements.TypeBegin))) {
+ 
+      const nameExpression = data.findFirstExpression(Expressions.NamespaceSimpleName);
+      const name = nameExpression?.concatTokens() || "";
+      if (name !== "" && nameExpression && name.match(regex)) {
+        const issue = Issue.atToken(file, nameExpression.getFirstToken(), MESSAGE, this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private checkMethodParameters(topNode: StructureNode, regex: RegExp, file: IFile): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const method of topNode.findAllStatements(Statements.MethodDef)) {
+      for (const param of method.findAllExpressionsMulti([Expressions.MethodDefReturning, Expressions.MethodParam])) {
+        const nameToken = param?.findFirstExpression(Expressions.MethodParamName);
+        const type = param?.findFirstExpression(Expressions.TypeParam)?.concatTokens()?.toUpperCase();
+ 
+        if (this.getConfig().allowIsPrefixBoolean === true && type?.endsWith("TYPE ABAP_BOOL")) {
+          continue;
+        }
+ 
+        const name = nameToken?.concatTokens();
+        if (nameToken && name && name !== "" && name.match(regex)) {
+          const issue = Issue.atToken(file, nameToken.getFirstToken(), MESSAGE, this.getMetadata().key, this.conf.severity);
+          ret.push(issue);
+        }
+      }
+    }
+ 
+    return ret;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/no_public_attributes.ts.html b/src/rules/no_public_attributes.ts.html new file mode 100644 index 00000000000..bde1ed5e928 --- /dev/null +++ b/src/rules/no_public_attributes.ts.html @@ -0,0 +1,376 @@ + + + + + + Code coverage report for src/rules/no_public_attributes.ts + + + + + + + + + +
+
+

All files / src/rules no_public_attributes.ts

+
+ +
+ 97.95% + Statements + 96/98 +
+ + +
+ 92.3% + Branches + 24/26 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 97.95% + Lines + 96/98 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +981x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +20847x +20847x +1x +10424x +10424x +10424x +10424x +10424x +10424x +31149x +31149x +31149x +31149x +31149x +31149x +31149x +31149x +31149x +31149x +10424x +10424x +52x +52x +10424x +10424x +9906x +9906x +10424x +10424x +244x +244x +10424x +10424x +265x +265x +265x +265x +10424x +10424x +265x +265x +265x +265x +265x +10424x +10424x +265x +265x +265x +125x +3x +3x +122x +122x +265x +265x +10424x +10424x +265x +265x +52x +52x +265x +265x +10424x +10424x +265x +265x +65x +3x +65x +10x +62x +52x +  +  +52x +52x +52x +265x +265x +10424x +10424x +10424x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {Visibility} from "../abap/4_file_information/visibility";
+import {InfoAttribute, AttributeLevel} from "../abap/4_file_information/_abap_file_information";
+import {ABAPObject} from "../objects/_abap_object";
+import {DDIC} from "../ddic";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class NoPublicAttributesConf extends BasicRuleConfig {
+  /** Allows public attributes, if they are declared as READ-ONLY. */
+  public allowReadOnly: boolean = false;
+  /** Option to ignore test classes for this check. */
+  public ignoreTestClasses: boolean = false;
+}
+ 
+export class NoPublicAttributes extends ABAPRule {
+  private conf = new NoPublicAttributesConf();
+ 
+  private file: ABAPFile;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "no_public_attributes",
+      title: "No public attributes",
+      shortDescription: `Checks that classes and interfaces don't contain any public attributes.
+Exceptions are excluded from this rule.`,
+      extendedInformation:
+        `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#members-private-by-default-protected-only-if-needed`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(name: string): string {
+    return "Public attributes are not allowed, attribute \"" + name + "\"";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NoPublicAttributesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    this.file = file;
+    const attributes = this.getAllPublicAttributes(obj);
+    return this.findAllIssues(attributes);
+  }
+ 
+  private getAllPublicAttributes(obj: ABAPObject): InfoAttribute[] {
+    let attributes: InfoAttribute[] = [];
+    attributes = attributes.concat(this.getAllPublicClassAttributes(obj));
+    attributes = attributes.concat(this.getAllPublicInterfaceAttributes());
+    return attributes;
+  }
+ 
+  private getAllPublicClassAttributes(obj: ABAPObject): InfoAttribute[] {
+    let attributes: InfoAttribute[] = [];
+    const ddic = new DDIC(this.reg);
+    for (const classDef of this.file.getInfo().listClassDefinitions()) {
+      if (ddic.isException(classDef, obj)) {
+        continue;
+      }
+      attributes = attributes.concat(classDef.attributes.filter(a => a.visibility === Visibility.Public));
+    }
+    return attributes;
+  }
+ 
+  private getAllPublicInterfaceAttributes(): InfoAttribute[] {
+    let attributes: InfoAttribute[] = [];
+    for (const interfaceDef of this.file.getInfo().listInterfaceDefinitions()) {
+      attributes = attributes.concat(interfaceDef.attributes.filter(a => a.visibility === Visibility.Public));
+    }
+    return attributes;
+  }
+ 
+  private findAllIssues(attributes: InfoAttribute[]): Issue[] {
+    const issues: Issue[] = [];
+    for (const attr of attributes) {
+      if (this.conf.allowReadOnly === true && attr.readOnly) {
+        continue;
+      } else if (attr.level === AttributeLevel.Constant) {
+        continue;
+      } else if ((this.conf.ignoreTestClasses === true)
+        && this.file.getFilename().includes(".testclasses.")) {
+        continue;
+      }
+      const issue = Issue.atIdentifier(attr.identifier, this.getDescription(attr.name), this.getMetadata().key, this.conf.severity);
+      issues.push(issue);
+    }
+    return issues;
+  }
+ 
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/no_yoda_conditions.ts.html b/src/rules/no_yoda_conditions.ts.html new file mode 100644 index 00000000000..f57228aa5bc --- /dev/null +++ b/src/rules/no_yoda_conditions.ts.html @@ -0,0 +1,418 @@ + + + + + + Code coverage report for src/rules/no_yoda_conditions.ts + + + + + + + + + +
+
+

All files / src/rules no_yoda_conditions.ts

+
+ +
+ 94.59% + Statements + 105/111 +
+ + +
+ 83.78% + Branches + 31/37 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 94.59% + Lines + 105/111 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +1121x +1x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +1x +10424x +10424x +10424x +10424x +10424x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +10424x +10424x +9906x +9906x +10424x +10424x +244x +244x +10424x +10424x +272x +272x +272x +33x +33x +33x +33x +33x +33x +33x +33x +33x +33x +4x +4x +29x +29x +33x +  +  +29x +33x +5x +1x +1x +1x +1x +1x +5x +5x +24x +24x +24x +24x +24x +24x +33x +33x +4x +4x +4x +4x +4x +33x +272x +272x +272x +10424x +10424x +28x +  +  +28x +28x +28x +10424x +10424x +5x +  +  +5x +5x +5x +10424x +10424x +47x +47x +10424x +10424x + 
import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ExpressionNode} from "../abap/nodes";
+ 
+export class NoYodaConditionsConf extends BasicRuleConfig {
+  /** Only report issues where the left side is a constant */
+  public onlyConstants: boolean = false;
+}
+ 
+export class NoYodaConditions extends ABAPRule {
+ 
+  private conf = new NoYodaConditionsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "no_yoda_conditions",
+      title: "No Yoda conditions",
+      shortDescription: `Finds Yoda conditions and reports issues`,
+      extendedInformation: `https://en.wikipedia.org/wiki/Yoda_conditions
+ 
+Conditions with operators CP, NP, CS, NS, CA, NA, CO, CN are ignored`,
+      tags: [RuleTag.SingleFile],
+      badExample: `IF 0 <> sy-subrc.
+ENDIF.`,
+      goodExample: `IF sy-subrc <> 0.
+ENDIF.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NoYodaConditionsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const c of file.getStructure()?.findAllExpressions(Expressions.Compare) || []) {
+      const operator = c.findDirectExpression(Expressions.CompareOperator)?.concatTokens().toUpperCase();
+      if (operator === undefined
+          || operator === "CP"
+          || operator === "NP"
+          || operator === "CS"
+          || operator === "NS"
+          || operator === "CA"
+          || operator === "NA"
+          || operator === "CO"
+          || operator === "CN") {
+        continue;
+      }
+ 
+      const sources = c.findDirectExpressions(Expressions.Source);
+      if (sources.length !== 2) {
+        continue;
+      }
+ 
+      if (this.conf.onlyConstants === true) {
+        if (this.isConstant(sources[0]) === true && this.isConstant(sources[1]) === false) {
+          const start = sources[0].getFirstToken().getStart();
+          const end = sources[1].getLastToken().getEnd();
+          const issue = Issue.atRange(file, start, end, "No Yoda conditions", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+        continue;
+      }
+ 
+  // Scenarios:
+  //   constant COMPARE chain
+  //   constant COMPARE multiple tokens with spaces
+  //   fieldChain COMPARE multiple tokens with spaces
+ 
+      if ((this.withoutSpaces(sources[0]) === false && this.withoutSpaces(sources[1]) === true) || (
+        (this.isConstant(sources[0]) === true && this.isFieldChain(sources[1]) === true))) {
+        const start = sources[0].getFirstToken().getStart();
+        const end = sources[1].getLastToken().getEnd();
+        const issue = Issue.atRange(file, start, end, "No Yoda conditions", this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private isConstant(node: ExpressionNode): boolean {
+    if (node.getChildren().length > 1) {
+      return false;
+    }
+ 
+    return node.getFirstChild()?.get() instanceof Expressions.Constant;
+  }
+ 
+  private isFieldChain(node: ExpressionNode): boolean {
+    if (node.getChildren().length > 1) {
+      return false;
+    }
+ 
+    return node.getFirstChild()?.get() instanceof Expressions.FieldChain;
+  }
+ 
+  private withoutSpaces(node: ExpressionNode): boolean {
+    return node.concatTokensWithoutStringsAndComments().includes(" ");
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/nrob_consistency.ts.html b/src/rules/nrob_consistency.ts.html new file mode 100644 index 00000000000..36a7c45c0f0 --- /dev/null +++ b/src/rules/nrob_consistency.ts.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/rules/nrob_consistency.ts + + + + + + + + + +
+
+

All files / src/rules nrob_consistency.ts

+
+ +
+ 71.21% + Statements + 47/66 +
+ + +
+ 60% + Branches + 6/10 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 71.21% + Lines + 47/66 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +661x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10422x +10422x +10422x +10422x +10422x +31095x +31095x +31095x +31095x +31095x +31095x +31095x +31095x +31095x +31095x +10422x +10422x +9906x +9906x +10422x +10422x +243x +243x +10422x +10422x +243x +243x +243x +10422x +10422x +309x +309x +309x +  +  +  +  +  +  +309x +  +  +  +  +  +  +  +309x +  +  +  +  +  +  +10422x +10422x
import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {Issue} from "../issue";
+import * as Objects from "../objects";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+ 
+export class NROBConsistencyConf extends BasicRuleConfig {
+}
+ 
+export class NROBConsistency implements IRule {
+  private reg: IRegistry;
+  private conf = new NROBConsistencyConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "nrob_consistency",
+      title: "Number range consistency",
+      shortDescription: `Consistency checks for number ranges`,
+      extendedInformation: `Issue reported if percentage warning is over 50%
+ 
+Issue reported if the referenced domain is not found(taking error namespace into account)`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: NROBConsistencyConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof Objects.NumberRange)) {
+      return [];
+    }
+    const issues: Issue[] = [];
+    const id = obj.getIdentifier();
+    if (id === undefined) {
+      return [];
+    }
+
+    if (obj.getPercentage() || 0 > 50) {
+      const message = "Percentage more than 50";
+      issues.push(Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));
+    }
+
+    const domain = obj.getDomain();
+    if (domain
+        && this.reg.getObject("DOMA", domain) === undefined
+        && this.reg.inErrorNamespace(domain) === true) {
+      const message = "Domain " + domain + " not found";
+      issues.push(Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));
+    }
+
+    return [];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/object_naming.ts.html b/src/rules/object_naming.ts.html new file mode 100644 index 00000000000..caf9370ab7a --- /dev/null +++ b/src/rules/object_naming.ts.html @@ -0,0 +1,496 @@ + + + + + + Code coverage report for src/rules/object_naming.ts + + + + + + + + + +
+
+

All files / src/rules object_naming.ts

+
+ +
+ 98.55% + Statements + 136/138 +
+ + +
+ 89.47% + Branches + 17/19 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 98.55% + Lines + 136/138 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +1381x +1x +1x +1x +1x +1x +1x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +20935x +1x +10494x +10494x +10494x +10494x +31162x +31162x +31162x +31162x +31162x +31162x +31162x +10494x +10494x +67x +67x +67x +67x +10494x +10494x +10287x +  +  +10287x +10287x +10287x +10494x +10494x +315x +315x +10494x +10494x +315x +315x +10494x +10494x +381x +381x +381x +1x +1x +381x +381x +381x +381x +381x +381x +381x +381x +8x +8x +373x +373x +373x +381x +67x +67x +373x +381x +67x +67x +306x +306x +306x +10494x
import {Issue} from "../issue";
+import {NamingRuleConfig} from "./_naming_rule_config";
+import {IRegistry} from "../_iregistry";
+import {IObject} from "../objects/_iobject";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {NameValidator} from "../utils/name_validator";
+ 
+export class ObjectNamingConf extends NamingRuleConfig {
+  /** The regex pattern for global class names */
+  public clas?: string = "^ZC(L|X)";
+  /** The regex pattern for global interface names */
+  public intf?: string = "^ZIF";
+  /** The regex pattern for program (report) names */
+  public prog?: string = "^Z";
+  /** The regex pattern for function group names */
+  public fugr?: string = "^Z";
+  /** The regex pattern for DDIC table names */
+  public tabl?: string = "^Z";
+  /** The regex pattern for DDIC table type names */
+  public ttyp?: string = "^Z";
+  /** The regex pattern for data element names */
+  public dtel?: string = "^Z";
+  /** The regex pattern for domain names */
+  public doma?: string = "^Z";
+  /** The regex pattern for message class names */
+  public msag?: string = "^Z";
+  /** The regex pattern for transaction names */
+  public tran?: string = "^Z";
+  /** The regex pattern for lock object names */
+  public enqu?: string = "^EZ";
+  /** The regex pattern for authorization object names */
+  public auth?: string = "^Z";
+  /** The regex pattern for package interface names */
+  public pinf?: string = "^Z";
+  /** The regex pattern for idoc names */
+  public idoc?: string = "^Z";
+  /** The regex pattern for transformation names */
+  public xslt?: string = "^Z";
+  /** The regex pattern for smartform names */
+  public ssfo?: string = "^Z";
+  /** The regex pattern for smartstyle names */
+  public ssst?: string = "^Z";
+  /** The regex pattern for search helps */
+  public shlp?: string = "^Z";
+  /** The regex pattern for BADI Implementation */
+  public sxci?: string = "^Z";
+  /** The regex pattern for Enhancement Spot */
+  public enhs?: string = "^Z";
+  /** The regex pattern for Enhancement Implementation */
+  public enho?: string = "^Z";
+  /** The regex pattern for Customer enhancement projects */
+  public cmod?: string = "^Z";
+  /** The regex pattern for SAPscript form */
+  public form?: string = "^Z";
+  /** The regex pattern for Adobe Form Definition */
+  public sfpf?: string = "^Z";
+  /** The regex pattern for Adobe Interface Definition */
+  public sfpi?: string = "^Z";
+  /** The regex pattern for ABAP Query: Query */
+  public aqqu?: string = "^Z";
+  /** The regex pattern for ABAP Query: Functional area */
+  public aqsg?: string = "^Z";
+  /** The regex pattern for ABAP Query: User group */
+  public aqbg?: string = "^Z";
+  /** The regex pattern for Authorization Object */
+  public suso?: string = "^Z";
+  /** The regex pattern for Authorization Group */
+  public sucu?: string = "^Z";
+  /** The regex pattern for Web Dynpro Application */
+  public wdya?: string = "^Z";
+  /** The regex pattern for Web Dynpro Component */
+  public wdyn?: string = "^Z";
+}
+ 
+export class ObjectNaming implements IRule {
+  private conf = new ObjectNamingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "object_naming",
+      title: "Object naming conventions",
+      shortDescription: `Allows you to enforce a pattern, such as a prefix, for object names`,
+      tags: [RuleTag.Naming],
+    };
+  }
+ 
+  private getDescription(expected: string, actual: string): string {
+    return this.conf.patternKind === "required" ?
+      "Object name does not match pattern " + expected + ": " + actual :
+      "Object name must not match pattern " + expected + ": " + actual;
+  }
+ 
+  public getConfig(): ObjectNamingConf {
+    if (typeof this.conf === "boolean" && this.conf === true) {
+      return new ObjectNamingConf();
+    }
+ 
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ObjectNamingConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    let message: string | undefined = undefined;
+ 
+    if (this.conf.patternKind === undefined) {
+      this.conf.patternKind = "required";
+    }
+ 
+    const abapType = obj.getType().toLowerCase();
+    const config = this.getConfig();
+ 
+    // @ts-ignore
+    const pattern = config[abapType];
+ 
+    if (pattern === undefined) {
+      return [];
+    }
+ 
+    const regex = new RegExp(pattern, "i");
+ 
+    if (NameValidator.violatesRule(obj.getName(), regex, this.conf)) {
+      message = this.getDescription(pattern, obj.getName());
+    }
+ 
+    if (message) {
+      return [Issue.atRow(obj.getFiles()[0], 1, message, this.getMetadata().key, this.conf.severity)];
+    }
+ 
+    return [];
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/obsolete_statement.ts.html b/src/rules/obsolete_statement.ts.html new file mode 100644 index 00000000000..d19137800f7 --- /dev/null +++ b/src/rules/obsolete_statement.ts.html @@ -0,0 +1,1531 @@ + + + + + + Code coverage report for src/rules/obsolete_statement.ts + + + + + + + + + +
+
+

All files / src/rules obsolete_statement.ts

+
+ +
+ 99.37% + Statements + 479/482 +
+ + +
+ 98.42% + Branches + 125/127 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 99.37% + Lines + 479/482 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +4831x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +20862x +1x +10440x +10440x +10440x +10440x +10440x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +31161x +10440x +10440x +9906x +9906x +10440x +10440x +243x +243x +10440x +10440x +361x +361x +361x +361x +361x +361x +361x +1563x +1563x +1563x +1563x +1563x +1563x +1563x +1563x +1563x +1563x +1543x +1543x +1563x +27x +26x +26x +26x +26x +26x +27x +27x +1563x +1563x +1x +1x +1x +1563x +1563x +1x +1x +1x +1563x +1563x +1x +1x +1x +1563x +1563x +5x +5x +5x +2x +2x +2x +2x +5x +1563x +1563x +3x +3x +3x +2x +2x +2x +2x +2x +3x +3x +3x +3x +1563x +1563x +1563x +1563x +1563x +1563x +3x +3x +1x +1x +1x +3x +1563x +1563x +28x +28x +28x +4x +4x +4x +4x +28x +28x +1563x +1563x +1563x +1563x +1563x +1563x +40x +40x +7x +7x +7x +40x +1563x +1563x +130x +130x +1x +1x +1x +130x +1563x +1563x +1563x +129x +2x +2x +2x +2x +2x +2x +129x +1563x +1563x +3x +3x +1x +1x +1x +3x +1563x +1563x +2x +2x +2x +2x +1563x +1563x +2x +2x +1x +1x +1x +2x +1563x +1563x +6x +6x +1x +1x +1x +6x +1563x +1563x +2x +2x +2x +1x +1x +1x +2x +1563x +1563x +2x +2x +2x +1x +1x +1x +2x +1563x +1563x +4x +4x +1x +1x +1x +4x +1563x +1563x +1x +1x +1x +1563x +1563x +32x +1x +1x +1x +32x +1563x +1563x +1563x +1563x +1563x +1563x +1563x +1563x +8x +8x +1x +1x +1x +8x +1563x +1563x +1556x +6x +2x +2x +2x +6x +1550x +1550x +1550x +1550x +1550x +14x +14x +14x +14x +2x +1x +1x +1x +2x +12x +1x +1x +1x +1x +1x +14x +1550x +1556x +1563x +361x +361x +10440x +10440x +26x +3x +1x +1x +2x +2x +2x +23x +4x +4x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +2x +4x +19x +19x +5x +5x +5x +5x +5x +5x +3x +3x +2x +2x +2x +5x +5x +5x +14x +14x +4x +4x +4x +4x +4x +4x +2x +2x +2x +2x +2x +4x +4x +4x +10x +6x +1x +1x +5x +5x +5x +5x +5x +5x +6x +3x +3x +2x +2x +2x +5x +5x +5x +5x +5x +4x +4x +4x +4x +4x +2x +2x +2x +2x +2x +4x +4x +4x +4x +4x +  +  +  +10440x + 
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {ABAPFile} from "../abap/abap_file";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Position} from "../position";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {Version} from "../version";
+import {EditHelper, IEdit} from "../edit_helper";
+import {IStatement} from "../abap/2_statements/statements/_statement";
+import {ExpressionNode, StatementNode} from "../abap/nodes";
+import {SourceFieldSymbol} from "../abap/2_statements/expressions";
+ 
+ 
+export class ObsoleteStatementConf extends BasicRuleConfig {
+  /** Check for REFRESH statement */
+  public refresh: boolean = true;
+  /** Check for COMPUTE statement */
+  public compute: boolean = true;
+  /** Check for ADD statement */
+  public add: boolean = true;
+  /** Check for SUBTRACT statement */
+  public subtract: boolean = true;
+  /** Check for MULTIPLY statement */
+  public multiply: boolean = true;
+  /** Check for DIVIDE statement */
+  public divide: boolean = true;
+  /** Check for MOVE statement */
+  public move: boolean = true;
+  /** Checks for usages of IS REQUESTED */
+  public requested: boolean = true;
+  /** Checks for usages of OCCURS */
+  public occurs: boolean = true;
+  /** Checks for SET EXTENDED CHECK */
+  public setExtended: boolean = true;
+  /** Checks for WITH HEADER LINE */
+  public withHeaderLine: boolean = true;
+  /** Checks for FIELD-SYMBOLS ... STRUCTURE */
+  public fieldSymbolStructure: boolean = true;
+  /** Checks for TYPE-POOLS */
+  public typePools: boolean = true;
+  /** Checks for addition LOAD */
+  public load: boolean = true;
+  /** Checks for PARAMETER */
+  public parameter: boolean = true;
+  /** Checks for RANGES */
+  public ranges: boolean = true;
+  /** Checks for COMMUNICATION */
+  public communication: boolean = true;
+  /** Checks for PACK */
+  public pack: boolean = true;
+  /** Checks for SELECT without INTO */
+  public selectWithoutInto: boolean = true;
+  /** FREE MEMORY, without ID */
+  public freeMemory: boolean = true;
+  /** Checks for EXIT FROM SQL */
+  public exitFromSQL: boolean = true;
+  /** Checks for SORT itab BY <fs> */
+  public sortByFS: boolean = true;
+  /** Checks for CALL TRANSFORMATION OBJECTS */
+  public callTransformation: boolean = true;
+  /** Check for POSIX REGEX usage */
+  public regex: boolean = true;
+  /** Check for OCCURENCES vs OCCURRENCES usage */
+  public occurences: boolean = true;
+  /** Check for CLIENT SPECIFIED */
+  public clientSpecified: boolean = true;
+  /** Check for FORM DEFINITION */
+  public formDefinition: boolean = true;
+  /** Check for FORM IMPLEMENTATION */
+  public formImplementation: boolean = true;
+}
+ 
+export class ObsoleteStatement extends ABAPRule {
+ 
+  private conf = new ObsoleteStatementConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "obsolete_statement",
+      title: "Obsolete statements",
+      shortDescription: `Checks for usages of certain obsolete statements`,
+      tags: [RuleTag.SingleFile, RuleTag.Styleguide, RuleTag.Quickfix],
+      extendedInformation: `
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-functional-to-procedural-language-constructs
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-obsolete-language-elements
+ 
+SET EXTENDED CHECK: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapset_extended_check.htm
+ 
+IS REQUESTED: https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abenlogexp_requested.htm
+ 
+WITH HEADER LINE: https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abapdata_header_line.htm
+ 
+FIELD-SYMBOLS STRUCTURE: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapfield-symbols_obsolete_typing.htm
+ 
+TYPE-POOLS: from 702, https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-71-program_load.htm
+ 
+LOAD addition: from 702, https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-71-program_load.htm
+ 
+COMMUICATION: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapcommunication.htm
+ 
+OCCURS: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapdata_occurs.htm
+ 
+PARAMETER: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapparameter.htm
+ 
+RANGES: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapranges.htm
+ 
+PACK: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abappack.htm
+ 
+MOVE: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapmove_obs.htm
+ 
+SELECT without INTO: https://help.sap.com/doc/abapdocu_731_index_htm/7.31/en-US/abapselect_obsolete.htm
+SELECT COUNT(*) is considered okay
+ 
+FREE MEMORY: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abapfree_mem_id_obsolete.htm
+ 
+SORT BY FS: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapsort_itab_obsolete.htm
+ 
+CALL TRANSFORMATION OBJECTS: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapcall_transformation_objects.htm
+ 
+POSIX REGEX: https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm
+ 
+OCCURENCES: check for OCCURENCES vs OCCURRENCES
+ 
+CLIENT SPECIFIED, from 754: https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm?file=abapselect_client_obsolete.htm`,
+      badExample: `REFRESH itab.
+ 
+COMPUTE foo = 2 + 2.
+ 
+MULTIPLY lv_foo BY 2.
+ 
+INTERFACE intf LOAD.
+ 
+IF foo IS SUPPLIED.
+ENDIF.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ObsoleteStatementConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const statements = file.getStatements();
+    let prev: Position | undefined = undefined;
+    const configVersion = this.reg.getConfig().getVersion();
+ 
+    for (const staNode of statements) {
+      const sta = staNode.get();
+      if ((sta instanceof Statements.Refresh && this.conf.refresh)
+          || (sta instanceof Statements.Compute && this.conf.compute)
+          || (sta instanceof Statements.Add && this.conf.add)
+          || (sta instanceof Statements.Subtract && this.conf.subtract)
+          || (sta instanceof Statements.ClassDefinitionLoad && this.conf.load && configVersion >= Version.v702)
+          || (sta instanceof Statements.InterfaceLoad && this.conf.load && configVersion >= Version.v702)
+          || (sta instanceof Statements.Multiply && this.conf.multiply)
+          || (sta instanceof Statements.Divide && this.conf.divide)
+          || (sta instanceof Statements.Move && this.conf.move
+          && staNode.getTokens()[0].getStr().toUpperCase() === "MOVE"
+          && staNode.getTokens()[1].getStr() !== "-"
+          && staNode.getTokens()[1].getStr().toUpperCase() !== "EXACT") ) {
+        if (prev === undefined || staNode.getStart().getCol() !== prev.getCol() || staNode.getStart().getRow() !== prev.getRow()) {
+          const message = "Statement \"" + staNode.getFirstToken().getStr() + "\" is obsolete";
+          const fix = this.getFix(file, sta, staNode);
+          const issue = Issue.atStatement(file, staNode, message, this.getMetadata().key, this.conf.severity, fix);
+          issues.push(issue);
+        }
+        prev = staNode.getStart();
+      }
+ 
+      if (this.conf.setExtended && sta instanceof Statements.SetExtendedCheck) {
+        const issue = Issue.atStatement(file, staNode, "SET EXTENDED CHECK is obsolete", this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+ 
+      if (this.conf.communication && sta instanceof Statements.Communication) {
+        const issue = Issue.atStatement(file, staNode, "COMMUNICATION is obsolete", this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+ 
+      if (this.conf.pack && sta instanceof Statements.Pack) {
+        const issue = Issue.atStatement(file, staNode, "PACK is obsolete", this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+ 
+      if (this.conf.parameter && sta instanceof Statements.Parameter) {
+        const token = staNode.getFirstToken();
+ 
+        if (token.getStr().toUpperCase() === "PARAMETER") {
+          const fix = EditHelper.replaceToken(file, token, "PARAMETERS");
+          const issue = Issue.atStatement(file, staNode, "Use PARAMETERS instead of PARAMETER", this.getMetadata().key, this.conf.severity, fix);
+          issues.push(issue);
+        }
+      }
+ 
+      if (this.conf.ranges && sta instanceof Statements.Ranges) {
+        const children = staNode.getChildren();
+        let fix = undefined;
+        if (children.length === 5) {
+          const simpleNameString = children[1].concatTokens();
+          const fieldSubString = children[3].concatTokens();
+          const replacement = "TYPES " + simpleNameString + " LIKE RANGE OF " + fieldSubString + ".";
+          fix = EditHelper.replaceRange(file, staNode.getStart(), staNode.getEnd(), replacement);
+        }
+ 
+        const issue = Issue.atStatement(file, staNode, "Use LIKE RANGE OF instead of RANGES", this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+ 
+      if (this.conf.selectWithoutInto
+          && (sta instanceof Statements.Select || sta instanceof Statements.SelectLoop)
+          && staNode.findFirstExpression(Expressions.SQLIntoStructure) === undefined
+          && staNode.findFirstExpression(Expressions.SQLIntoList) === undefined
+          && staNode.findFirstExpression(Expressions.SQLIntoTable) === undefined) {
+        const concat = staNode.findFirstExpression(Expressions.SQLFieldList)?.concatTokens().toUpperCase();
+        if (concat !== "COUNT(*)" && concat !== "COUNT( * )") {
+          const issue = Issue.atStatement(file, staNode, "SELECT without INTO", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+ 
+      if (this.conf.requested && sta instanceof Statements.If) {
+        for (const compare of staNode.findAllExpressions(Expressions.Compare)) {
+          const token = compare.findDirectTokenByText("REQUESTED");
+          if (token) {
+            const fix = EditHelper.replaceToken(file, token, "SUPPLIED");
+            const issue = Issue.atToken(file, token, "IS REQUESTED is obsolete", this.getMetadata().key, this.conf.severity, fix);
+            issues.push(issue);
+          }
+        }
+      }
+ 
+      if (this.conf.occurs) {
+        if ((sta instanceof Statements.Describe)
+          || (sta instanceof Statements.Ranges)
+          || (sta instanceof Statements.DataBegin)
+          || (sta instanceof Statements.TypeBegin)) {
+          const token = staNode.findDirectTokenByText("OCCURS");
+          if (token) {
+            const issue = Issue.atToken(file, token, "OCCURS is obsolete", this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+          }
+        }
+ 
+        for (const dataDef of staNode.findAllExpressions(Expressions.DataDefinition)) {
+          const token = dataDef.findDirectExpression(Expressions.TypeTable)?.findDirectTokenByText("OCCURS");
+          if (token) {
+            const issue = Issue.atToken(file, token, "OCCURS is obsolete", this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+          }
+        }
+      }
+ 
+      if (this.conf.withHeaderLine === true && sta instanceof Statements.Data) {
+        if (staNode.concatTokens().toUpperCase().includes("WITH HEADER LINE")) {
+          const token = staNode.getTokens().find(t => t.getStr().toUpperCase() === "WITH");
+          if (token) {
+            const issue = Issue.atToken(file, token, "WITH HEADER LINE is obsolete", this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+          }
+        }
+      }
+ 
+      if (this.conf.fieldSymbolStructure && sta instanceof Statements.FieldSymbol){
+        const token = staNode.findDirectTokenByText("STRUCTURE");
+        if (token) {
+          const issue = Issue.atToken(file, token, "FIELD-SYMBOLS ... STRUCTURE is obsolete", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+ 
+      if (this.conf.typePools && sta instanceof Statements.TypePools && configVersion >= Version.v702){
+        const fix = EditHelper.deleteStatement(file, staNode);
+        const issue = Issue.atStatement(file, staNode, "Statement \"TYPE-POOLS\" is obsolete", this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+ 
+      if (this.conf.freeMemory && sta instanceof Statements.FreeMemory) {
+        const concat = staNode.concatTokens().toUpperCase();
+        if (concat === "FREE MEMORY.") {
+          const issue = Issue.atStatement(file, staNode, "Statement \"FREE MEMORY\" without ID is obsolete", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+ 
+      if (this.conf.exitFromSQL && sta instanceof Statements.Exit) {
+        const concat = staNode.concatTokens().toUpperCase();
+        if (concat === "EXIT FROM SQL.") {
+          const issue = Issue.atStatement(file, staNode, "Statement \"EXIT FROM SQL\" is obsolete", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+ 
+      if (this.conf.sortByFS && sta instanceof Statements.Sort) {
+        const afterBy = staNode.findExpressionAfterToken("BY");
+ 
+        if (afterBy instanceof ExpressionNode && afterBy.get() instanceof SourceFieldSymbol) {
+          const issue = Issue.atStatement(file, staNode, "Statement \"SORT itab BY <fs>\" is obsolete", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+ 
+      if (this.conf.callTransformation && sta instanceof Statements.CallTransformation) {
+        const objects = staNode.findExpressionAfterToken("OBJECTS");
+ 
+        if (objects) {
+          const issue = Issue.atStatement(file, staNode, "Use PARAMETERS instead of OBJECTS", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+ 
+      if (this.conf.occurences && sta instanceof Statements.Replace) {
+        const concat = staNode.concatTokens().toUpperCase();
+        if (concat.includes(" OCCURENCES ")) {
+          const issue = Issue.atStatement(file, staNode, "Use \"OCCURRENCES\"", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+ 
+      if (this.conf.formDefinition && sta instanceof Statements.FormDefinition) {
+        const issue = Issue.atStatement(file, staNode, "FORM DEFINITION", this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+ 
+      if (this.conf.formImplementation && sta instanceof Statements.Form) {
+        if (staNode.findDirectTokenByText("IMPLEMENTATION")) {
+          const issue = Issue.atStatement(file, staNode, "FORM IMPLEMENTATION", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+ 
+      if (configVersion >= Version.v754 && this.conf.clientSpecified
+          && (sta instanceof Statements.Select
+          || sta instanceof Statements.SelectLoop
+          || sta instanceof Statements.DeleteDatabase
+          || sta instanceof Statements.InsertDatabase
+          || sta instanceof Statements.ModifyDatabase
+          || sta instanceof Statements.UpdateDatabase)) {
+        const concat = staNode.concatTokens().toUpperCase();
+        if (concat.includes(" CLIENT SPECIFIED")) {
+          const issue = Issue.atStatement(file, staNode, "Use USING CLIENT", this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+ 
+      if (configVersion >= Version.v756 && this.conf.regex) {
+        if (sta instanceof Statements.Find || sta instanceof Statements.Replace) {
+          if (staNode.findFirstExpression(Expressions.FindType)?.concatTokens().includes("REGEX")) {
+            const issue = Issue.atStatement(file, staNode, "REGEX obsolete, use PCRE", this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+          }
+        }
+        else {
+          const classNameExpression = staNode.findAllExpressions(Expressions.ClassName);
+          const methodNameExpression = staNode.findAllExpressions(Expressions.MethodName);
+ 
+          if (classNameExpression.length !== 0 && methodNameExpression.length !== 0) {
+            const className = classNameExpression[0].concatTokens();
+            const methodName = methodNameExpression[0].concatTokens();
+ 
+            if (className === "cl_abap_regex") {
+              if (methodName === "create_posix") {
+                const issue = Issue.atStatement(file, staNode, "create_posix obsolete, use create_pcre", this.getMetadata().key, this.conf.severity);
+                issues.push(issue);
+              }
+            }
+            else if (className === "cl_abap_matcher") {
+              if (methodName.includes("posix")) {
+                const issue = Issue.atStatement(file, staNode, "posix methods obsolete, use pcre methods", this.getMetadata().key, this.conf.severity);
+                issues.push(issue);
+              }
+            }
+          }
+        }
+      }
+    }
+    return issues;
+  }
+ 
+  private getFix(file: ABAPFile, statement: IStatement, statementNode: StatementNode): IEdit | undefined {
+    if (statement instanceof Statements.Refresh) {
+      if (statementNode.getChildren().length === 6) {
+        return undefined;
+      }
+ 
+      return EditHelper.replaceToken(file, statementNode.getFirstToken(), "CLEAR");
+    }
+    else if (statement instanceof Statements.Compute) {
+      const children = statementNode.getChildren();
+      if (children.length === 5) {
+        const tokenForDeletion = statementNode.getFirstToken();
+        let endPosition = tokenForDeletion.getEnd();
+        endPosition = new Position(endPosition.getRow(), endPosition.getCol() + 1);
+        return EditHelper.deleteRange(file, tokenForDeletion.getStart(), endPosition);
+      }
+      else {
+        const targetString = children[2].concatTokens();
+        const sourceString = children[4].concatTokens();
+        const replacement = targetString + " = EXACT #( " + sourceString + " ).";
+        return EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);
+      }
+    }
+    else if (statement instanceof Statements.Add ||
+            statement instanceof Statements.Subtract) {
+      const children = statementNode.getChildren();
+      const sourceString = children[1].concatTokens();
+      const targetString = children[3].concatTokens();
+      let replacement = "";
+ 
+      if (statement instanceof Statements.Add) {
+        replacement = targetString + " = " + targetString + " + " + sourceString + ".";
+      }
+      else if (statement instanceof Statements.Subtract) {
+        replacement = targetString + " = " + targetString + " - " + sourceString + ".";
+      }
+ 
+      return EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);
+    }
+    else if (statement instanceof Statements.Multiply ||
+          statement instanceof Statements.Divide) {
+      const children = statementNode.getChildren();
+      const targetString = children[1].concatTokens();
+      const sourceString = children[3].concatTokens();
+      let replacement = "";
+ 
+      if (statement instanceof Statements.Multiply) {
+        replacement = targetString + " = " + targetString + " * " + sourceString + ".";
+      }
+      else if (statement instanceof Statements.Divide) {
+        replacement = targetString + " = " + targetString + " / " + sourceString + ".";
+      }
+ 
+      return EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);
+    }
+    else if (statement instanceof Statements.Move) {
+      if (statementNode.getColon() !== undefined) {
+        return undefined;
+      }
+ 
+      const children = statementNode.getChildren();
+      const sourceString = children[1].concatTokens();
+      const targetString = children[3].concatTokens();
+ 
+      let operator = children[2].concatTokens().toUpperCase();
+      if (operator === "TO") {
+        operator = " = ";
+      }
+      else {
+        operator = " ?= ";
+      }
+ 
+      const replacement = targetString + operator + sourceString + ".";
+ 
+      return EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);
+    }
+    else if (statement instanceof Statements.ClassDefinitionLoad ||
+            statement instanceof Statements.InterfaceLoad) {
+ 
+      let token = undefined;
+      if (statement instanceof Statements.ClassDefinitionLoad) {
+        token = statementNode.getChildren()[3].getFirstToken();
+      }
+      else {
+        token = statementNode.getChildren()[2].getFirstToken();
+      }
+ 
+      let startPosition = token.getStart();
+      startPosition = new Position(startPosition.getRow(), startPosition.getCol() - 1);
+      return EditHelper.deleteRange(file, startPosition, token.getEnd());
+    }
+
+    return undefined;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/omit_parameter_name.ts.html b/src/rules/omit_parameter_name.ts.html new file mode 100644 index 00000000000..8e2cb53c2e6 --- /dev/null +++ b/src/rules/omit_parameter_name.ts.html @@ -0,0 +1,487 @@ + + + + + + Code coverage report for src/rules/omit_parameter_name.ts + + + + + + + + + +
+
+

All files / src/rules omit_parameter_name.ts

+
+ +
+ 88.88% + Statements + 120/135 +
+ + +
+ 77.27% + Branches + 34/44 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 88.88% + Lines + 120/135 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +1351x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10432x +10432x +10432x +10432x +10432x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +10432x +10432x +254x +254x +254x +10432x +10432x +9911x +9911x +10432x +10432x +243x +243x +10432x +10432x +320x +320x +82x +82x +238x +238x +238x +320x +245x +245x +12x +12x +233x +245x +17x +  +  +17x +17x +17x +11x +11x +6x +17x +  +  +6x +17x +  +  +6x +6x +17x +  +  +6x +6x +17x +1x +1x +17x +17x +17x +5x +5x +5x +5x +5x +5x +  +  +5x +17x +233x +238x +238x +238x +10432x +10432x +10432x +10432x +6x +6x +  +  +6x +6x +15x +15x +9x +15x +6x +1x +6x +5x +5x +6x +15x +  +  +  +10432x +10432x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IRegistry} from "../_iregistry";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {ISpaghettiScope} from "../abap/5_syntax/_spaghetti_scope";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {MethodDefinition} from "../abap/types/method_definition";
+import {EditHelper} from "../edit_helper";
+import {BuiltInMethod} from "../abap/5_syntax/_builtin";
+import {IMethodParameters} from "../abap/types/_method_parameters";
+ 
+export class OmitParameterNameConf extends BasicRuleConfig {
+}
+ 
+export class OmitParameterName implements IRule {
+  private reg: IRegistry;
+  private conf = new OmitParameterNameConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "omit_parameter_name",
+      title: "Omit parameter name",
+      shortDescription: `Omit the parameter name in single parameter calls`,
+      extendedInformation: `
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-parameter-name-in-single-parameter-calls
+ 
+EXPORTING must already be omitted for this rule to take effect, https://rules.abaplint.org/exporting/`,
+      tags: [RuleTag.Styleguide, RuleTag.Quickfix],
+      badExample: `method( param = 2 ).`,
+      goodExample: `method( 2 ).`,
+    };
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: OmitParameterNameConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+    if (!(obj instanceof ABAPObject) || obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    const spaghetti = new SyntaxLogic(this.reg, obj).run().spaghetti;
+ 
+    for (const file of obj.getABAPFiles()) {
+      const stru = file.getStructure();
+      if (stru === undefined) {
+        continue;
+      }
+ 
+      for (const c of stru.findAllExpressions(Expressions.MethodCall)) {
+        if (c.findFirstExpression(Expressions.MethodParameters)) {
+          continue;
+        }
+        // hmm, this will break for nested method calls?
+        const parameters = c.findAllExpressions(Expressions.ParameterS);
+        if (parameters.length > 1 || parameters.length === 0) {
+          continue;
+        }
+        const name = c.findDirectExpression(Expressions.MethodName);
+        if (name === undefined) {
+          continue;
+        }
+        const param = c.findDirectExpression(Expressions.MethodCallParam);
+        if (param === undefined) {
+          continue;
+        }
+ 
+        const ref = this.findMethodReference(name.getFirstToken(), spaghetti, file.getFilename());
+        if (ref === undefined) {
+          continue;
+        }
+ 
+        const i = ref.getDefaultImporting();
+        if (i === undefined) {
+          continue;
+        }
+        const p = parameters[0].findDirectExpression(Expressions.ParameterName)?.getFirstToken();
+ 
+        if (p?.getStr().toUpperCase() === i.toUpperCase()) {
+          const message = "Omit default parameter name \"" + i + "\"";
+          const end = parameters[0].findDirectExpression(Expressions.Source)?.getFirstToken().getStart();
+          if (end) {
+            const fix = EditHelper.deleteRange(file, p.getStart(), end);
+            issues.push(Issue.atRange(file, p.getStart(), end, message, this.getMetadata().key, this.getConfig().severity, fix));
+          } else {
+            issues.push(Issue.atToken(file, name.getFirstToken(), message, this.getMetadata().key, this.getConfig().severity));
+          }
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+///////////////////
+ 
+  private findMethodReference(token: AbstractToken, spaghetti: ISpaghettiScope, filename: string): undefined | IMethodParameters {
+    const scope = spaghetti.lookupPosition(token.getStart(), filename);
+    if (scope === undefined) {
+      return undefined;
+    }
+ 
+    for (const r of scope.getData().references) {
+      if (r.referenceType !== ReferenceType.MethodReference
+          && r.referenceType !== ReferenceType.BuiltinMethodReference) {
+        continue;
+      } else if (r.position.getStart().equals(token.getStart())) {
+        if (r.resolved instanceof BuiltInMethod) {
+          return r.resolved;
+        } else if (r.resolved instanceof MethodDefinition) {
+          return r.resolved.getParameters();
+        }
+      }
+    }
+
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/omit_preceding_zeros.ts.html b/src/rules/omit_preceding_zeros.ts.html new file mode 100644 index 00000000000..a6fbaf70c74 --- /dev/null +++ b/src/rules/omit_preceding_zeros.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/rules/omit_preceding_zeros.ts + + + + + + + + + +
+
+

All files / src/rules omit_preceding_zeros.ts

+
+ +
+ 100% + Statements + 70/70 +
+ + +
+ 87.5% + Branches + 14/16 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 70/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +10424x +10424x +9910x +9910x +10424x +10424x +243x +243x +10424x +10424x +270x +270x +270x +270x +1469x +52x +52x +52x +4x +2x +2x +2x +2x +2x +2x +2x +52x +1469x +1469x +4x +4x +4x +2x +2x +2x +2x +2x +4x +1469x +270x +270x +270x +10424x +10424x
import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {CallScreen, SetScreen} from "../abap/2_statements/statements";
+import {EditHelper} from "../edit_helper";
+ 
+export class OmitPrecedingZerosConf extends BasicRuleConfig {
+}
+ 
+export class OmitPrecedingZeros extends ABAPRule {
+ 
+  private conf = new OmitPrecedingZerosConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "omit_preceding_zeros",
+      title: "Omit preceding zeros",
+      shortDescription: `Omit preceding zeros from integer constants`,
+      tags: [RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `int = -001.`,
+      goodExample: `int = -1.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: OmitPrecedingZerosConf): void {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+    const message = "Omit preceding zeros";
+ 
+    for (const s of file.getStatements()) {
+      for (const i of s.findAllExpressions(Expressions.Integer)) {
+        const token = i.getLastToken();
+        const str = token.getStr();
+        if (str.length > 1 && str.startsWith("0")) {
+          if (s.get() instanceof CallScreen || s.get() instanceof SetScreen) {
+            continue;
+          }
+          const replace = str.replace(/^0+/, "");
+          const fix = EditHelper.replaceRange(file, token.getStart(), token.getEnd(), replace);
+          const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.getConfig().severity, fix);
+          issues.push(issue);
+        }
+      }
+ 
+      for (const i of s.findAllExpressions(Expressions.ParameterException)) {
+        const token = i.findDirectExpression(Expressions.SimpleName)?.getFirstToken();
+        const str = token?.getStr();
+        if (token && str && str.length > 1 && str.startsWith("0")) {
+          const replace = str.replace(/^0+/, "");
+          const fix = EditHelper.replaceRange(file, token.getStart(), token.getEnd(), replace);
+          const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.getConfig().severity, fix);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/omit_receiving.ts.html b/src/rules/omit_receiving.ts.html new file mode 100644 index 00000000000..33b5e59a66e --- /dev/null +++ b/src/rules/omit_receiving.ts.html @@ -0,0 +1,298 @@ + + + + + + Code coverage report for src/rules/omit_receiving.ts + + + + + + + + + +
+
+

All files / src/rules omit_receiving.ts

+
+ +
+ 94.36% + Statements + 67/71 +
+ + +
+ 86.66% + Branches + 13/15 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 94.36% + Lines + 67/71 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +721x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10425x +10425x +9907x +9907x +10425x +10425x +243x +243x +10425x +10425x +257x +257x +257x +9x +9x +8x +8x +1x +1x +9x +  +  +1x +9x +  +  +1x +1x +1x +257x +257x +257x +10425x +10425x + 
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class OmitReceivingConf extends BasicRuleConfig {
+}
+ 
+export class OmitReceiving extends ABAPRule {
+  private conf = new OmitReceivingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "omit_receiving",
+      title: "Omit RECEIVING",
+      shortDescription: `Omit RECEIVING`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-receiving`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `
+      upload_pack(
+        EXPORTING
+          io_client       = lo_client
+          iv_url          = iv_url
+          iv_deepen_level = iv_deepen_level
+          it_hashes       = lt_hashes
+        RECEIVING
+          rt_objects      = et_objects ).`,
+      goodExample: `
+      et_objects = upload_pack(
+        io_client       = lo_client
+        iv_url          = iv_url
+        iv_deepen_level = iv_deepen_level
+        it_hashes       = lt_hashes ).`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: OmitReceivingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const e of file.getStructure()?.findAllExpressions(Expressions.MethodCallParam) || []) {
+      const p = e.findDirectExpression(Expressions.MethodParameters);
+      if (p === undefined) {
+        continue;
+      }
+ 
+      const r = p.findDirectTokenByText("RECEIVING");
+      if (r === undefined) {
+        continue;
+      }
+      const ex = p.findDirectTokenByText("EXCEPTIONS");
+      if (ex !== undefined) {
+        continue;
+      }
+ 
+      issues.push(Issue.atToken(file, r, "Omit RECEIVING", this.getMetadata().key, this.getConfig().severity));
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/parser_702_chaining.ts.html b/src/rules/parser_702_chaining.ts.html new file mode 100644 index 00000000000..8013a4e0c2a --- /dev/null +++ b/src/rules/parser_702_chaining.ts.html @@ -0,0 +1,307 @@ + + + + + + Code coverage report for src/rules/parser_702_chaining.ts + + + + + + + + + +
+
+

All files / src/rules parser_702_chaining.ts

+
+ +
+ 94.66% + Statements + 71/75 +
+ + +
+ 90.47% + Branches + 19/21 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 94.66% + Lines + 71/75 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +751x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10428x +10428x +10428x +10428x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10428x +10428x +9906x +9906x +10428x +10428x +243x +243x +10428x +10428x +260x +260x +260x +260x +254x +254x +6x +6x +260x +  +  +6x +260x +5x +5x +2x +2x +5x +6x +6x +  +  +6x +6x +3x +3x +3x +6x +6x +3x +3x +3x +3x +6x +3x +6x +6x +6x +10428x +10428x
import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {RuleTag, IRuleMetadata} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Version} from "../version";
+ 
+export class Parser702ChainingConf extends BasicRuleConfig {
+}
+ 
+export class Parser702Chaining extends ABAPRule {
+  private conf = new Parser702ChainingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "parser_702_chaining",
+      title: "Parser Error, bad chanining on 702",
+      shortDescription:
+`ABAP on 702 does not allow for method chaining with IMPORTING/EXPORTING/CHANGING keywords,
+this rule finds these and reports errors.
+Only active on target version 702 and below.`,
+      tags: [RuleTag.Syntax, RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: Parser702ChainingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    if (this.reg.getConfig().getVersion() !== Version.v702
+        && this.reg.getConfig().getVersion() !== Version.v700) {
+      return [];
+    }
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    for (const chain of stru.findAllExpressions(Expressions.MethodCallChain)) {
+      const calls = chain.findDirectExpressions(Expressions.MethodCall);
+      if (calls.length < 2) {
+        continue;
+      }
+      for (const call of calls) {
+        const callParam = call.findDirectExpression(Expressions.MethodCallParam);
+        if (callParam === undefined) {
+          continue;
+        }
+        const param = callParam.findDirectExpression(Expressions.MethodParameters);
+        if (param === undefined) {
+          continue;
+        }
+        if (param.findDirectTokenByText("IMPORTING")
+            || param.findDirectTokenByText("CHANGING")
+            || param.findDirectTokenByText("EXCEPTIONS")) {
+          const message = "This kind of method chaining not possible in 702";
+          const issue = Issue.atPosition(file, param.getFirstToken().getStart(), message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/parser_error.ts.html b/src/rules/parser_error.ts.html new file mode 100644 index 00000000000..7807fbe69f3 --- /dev/null +++ b/src/rules/parser_error.ts.html @@ -0,0 +1,328 @@ + + + + + + Code coverage report for src/rules/parser_error.ts + + + + + + + + + +
+
+

All files / src/rules parser_error.ts

+
+ +
+ 96.34% + Statements + 79/82 +
+ + +
+ 92.85% + Branches + 13/14 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 96.34% + Lines + 79/82 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +821x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10426x +10426x +10426x +10426x +10426x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +31113x +10426x +10426x +264x +264x +264x +10426x +10426x +9906x +9906x +10426x +10426x +243x +243x +10426x +10426x +330x +330x +330x +330x +330x +268x +275x +275x +1511x +1501x +1501x +10x +1511x +  +  +  +1511x +10x +10x +10x +10x +10x +1511x +275x +275x +1x +1x +1x +1x +1x +1x +1x +1x +275x +268x +330x +330x +330x +10426x +10426x
import {Issue} from "../issue";
+import {Unknown} from "../abap/2_statements/statements/_statement";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {STATEMENT_MAX_TOKENS} from "../abap/2_statements/statement_parser";
+import {IRule, RuleTag} from "./_irule";
+import {Version} from "../version";
+import {ABAPObject} from "../objects/_abap_object";
+import {IRegistry} from "../_iregistry";
+import {IObject} from "../objects/_iobject";
+ 
+export class ParserErrorConf extends BasicRuleConfig {
+}
+ 
+export class ParserError implements IRule {
+  private conf = new ParserErrorConf();
+  protected reg: IRegistry;
+ 
+  public getMetadata() {
+    return {
+      key: "parser_error",
+      title: "Parser error",
+      shortDescription: `Checks for syntax not recognized by abaplint.
+ 
+See recognized syntax at https://syntax.abaplint.org`,
+      tags: [RuleTag.Syntax, RuleTag.SingleFile],
+    };
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ParserErrorConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    const issues: Issue[] = [];
+ 
+    issues.push(...obj.getParsingIssues());
+ 
+    if (obj instanceof ABAPObject) {
+      for (const file of obj.getABAPFiles()) {
+ 
+        for (const statement of file.getStatements()) {
+          if (!(statement.get() instanceof Unknown)) {
+            continue;
+          }
+ 
+          if (statement.getTokens().length > STATEMENT_MAX_TOKENS) {
+            const message = "Statement too long, refactor statement";
+            const issue = Issue.atToken(file, statement.getTokens()[0], message, this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+          } else {
+            const tok = statement.getFirstToken();
+            const message = "Statement does not exist in ABAP" + this.reg.getConfig().getVersion() + "(or a parser error), \"" + tok.getStr() + "\"";
+            const issue = Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+          }
+        }
+ 
+        if (this.reg.getConfig().getVersion() === Version.v700) {
+          for (const statement of file.getStatements()) {
+            if (statement.getPragmas().length > 0) {
+              const message = "Pragmas not allowed in v700";
+              const issue = Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity);
+              issues.push(issue);
+            }
+          }
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/parser_missing_space.ts.html b/src/rules/parser_missing_space.ts.html new file mode 100644 index 00000000000..a8a23c536b5 --- /dev/null +++ b/src/rules/parser_missing_space.ts.html @@ -0,0 +1,934 @@ + + + + + + Code coverage report for src/rules/parser_missing_space.ts + + + + + + + + + +
+
+

All files / src/rules parser_missing_space.ts

+
+ +
+ 97.88% + Statements + 278/284 +
+ + +
+ 96.62% + Branches + 86/89 +
+ + +
+ 100% + Functions + 15/15 +
+ + +
+ 97.88% + Lines + 278/284 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +2841x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31115x +31115x +31115x +31115x +31115x +31115x +31115x +31115x +31115x +31115x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +286x +286x +286x +286x +1489x +1489x +19x +19x +19x +19x +19x +1489x +286x +286x +286x +10423x +10423x +1489x +1489x +1489x +1489x +1489x +1489x +1489x +1489x +233x +233x +37x +233x +156x +196x +4x +40x +3x +36x +2x +33x +3x +31x +4x +28x +4x +24x +20x +20x +233x +233x +19x +19x +233x +1470x +1470x +1470x +10423x +10423x +3x +3x +8x +2x +2x +2x +2x +2x +2x +2x +  +  +2x +2x +2x +2x +1x +1x +2x +8x +2x +2x +10423x +10423x +4x +4x +4x +4x +4x +4x +4x +1x +1x +4x +3x +3x +3x +10423x +10423x +4x +4x +9x +4x +4x +4x +4x +4x +4x +4x +2x +2x +2x +2x +2x +4x +1x +1x +4x +4x +9x +1x +1x +10423x +10423x +2x +2x +5x +2x +2x +2x +2x +2x +2x +2x +  +  +2x +2x +2x +2x +1x +1x +2x +2x +5x +1x +1x +10423x +10423x +3x +3x +10x +10x +10x +10x +10x +10x +  +  +10x +3x +3x +3x +10423x +10423x +4x +4x +10x +10x +10x +7x +7x +7x +7x +7x +7x +7x +1x +1x +6x +6x +6x +7x +7x +1x +1x +7x +7x +10x +2x +2x +10423x +10423x +37x +37x +96x +96x +96x +96x +96x +96x +2x +2x +96x +35x +35x +35x +10423x +10423x +156x +156x +131x +131x +25x +25x +25x +25x +25x +156x +156x +2x +2x +23x +23x +23x +10423x +10423x +20x +20x +20x +20x +20x +20x +20x +3x +3x +20x +17x +17x +17x +17x +17x +20x +4x +4x +20x +13x +13x +13x +10423x +10423x
import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {Position} from "../position";
+import {ABAPRule} from "./_abap_rule";
+import {ExpressionNode, StatementNode, TokenNode} from "../abap/nodes";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {RuleTag, IRuleMetadata} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+// todo: this rule needs refactoring
+ 
+export class ParserMissingSpaceConf extends BasicRuleConfig {
+}
+ 
+export class ParserMissingSpace extends ABAPRule {
+  private conf = new ParserMissingSpaceConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "parser_missing_space",
+      title: "Parser Error, missing space",
+      shortDescription: `In special cases the ABAP language allows for not having spaces before or after string literals.
+This rule makes sure the spaces are consistently required across the language.`,
+      tags: [RuleTag.Syntax, RuleTag.Whitespace, RuleTag.SingleFile],
+      badExample: `IF ( foo = 'bar').`,
+      goodExample: `IF ( foo = 'bar' ).`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ParserMissingSpaceConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    let start = new Position(0, 0);
+    for (const statement of file.getStatements()) {
+      const missing = this.missingSpace(statement);
+      if (missing) {
+        const message = "Missing space between string or character literal and parentheses";
+        start = missing;
+        const issue = Issue.atPosition(file, start, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private missingSpace(statement: StatementNode): Position | undefined {
+ 
+    const found = statement.findAllExpressionsMulti([
+      Expressions.CondSub, Expressions.SQLCond, Expressions.ValueBodyLine,
+      Expressions.NewObject, Expressions.Cond, Expressions.ComponentCond,
+      Expressions.Source,
+      Expressions.ComponentCondSub, Expressions.MethodCallParam], true);
+    let pos: Position | undefined = undefined;
+    for (const f of found) {
+      const type = f.get();
+      if (type instanceof Expressions.Cond) {
+        pos = this.checkCond(f);
+      } else if (type instanceof Expressions.Source) {
+        pos = this.checkSource(f);
+      } else if (type instanceof Expressions.CondSub) {
+        pos = this.checkCondSub(f);
+      } else if (type instanceof Expressions.ComponentCond) {
+        pos = this.checkComponentCond(f);
+      } else if (type instanceof Expressions.ComponentCondSub) {
+        pos = this.checkComponentCondSub(f);
+      } else if (type instanceof Expressions.SQLCond) {
+        pos = this.checkSQLCond(f);
+      } else if (type instanceof Expressions.ValueBodyLine) {
+        pos = this.checkValueBodyLine(f);
+      } else if (type instanceof Expressions.NewObject) {
+        pos = this.checkNewObject(f);
+      } else if (type instanceof Expressions.MethodCallParam) {
+        pos = this.checkMethodCallParam(f);
+      }
+ 
+      if (pos) {
+        return pos;
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private checkSQLCond(cond: ExpressionNode): Position | undefined {
+    const children = cond.getChildren();
+    for (let i = 0; i < children.length; i++) {
+      if (children[i].get() instanceof Expressions.SQLCond) {
+        const current = children[i];
+        const prev = children[i - 1].getLastToken();
+        const next = children[i + 1].getFirstToken();
+ 
+        if (prev.getStr() === "("
+            && prev.getRow() === current.getFirstToken().getRow()
+            && prev.getCol() + 1 === current.getFirstToken().getStart().getCol()) {
+          return current.getFirstToken().getStart();
+        }
+ 
+        if (next.getStr() === ")"
+            && next.getRow() === current.getLastToken().getRow()
+            && next.getCol() === current.getLastToken().getEnd().getCol()) {
+          return current.getLastToken().getEnd();
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+  private checkNewObject(cond: ExpressionNode): Position | undefined {
+    const children = cond.getChildren();
+ 
+    {
+      const first = children[children.length - 2].getLastToken();
+      const second = children[children.length - 1].getFirstToken();
+      if (first.getRow() === second.getRow()
+          && first.getEnd().getCol() === second.getStart().getCol()) {
+        return second.getStart();
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private checkCondSub(cond: ExpressionNode): Position | undefined {
+    const children = cond.getChildren();
+    for (let i = 0; i < children.length; i++) {
+      if (children[i].get() instanceof Expressions.Cond) {
+        const current = children[i];
+        const prev = children[i - 1].getLastToken();
+        const next = children[i + 1].getFirstToken();
+ 
+        if (prev.getStr() === "("
+            && prev.getRow() === current.getFirstToken().getRow()
+            && prev.getCol() + 1 === current.getFirstToken().getStart().getCol()) {
+          return current.getFirstToken().getStart();
+        }
+ 
+        if (next.getStr() === ")"
+            && next.getRow() === current.getLastToken().getRow()
+            && next.getCol() === current.getLastToken().getEnd().getCol()) {
+          return current.getLastToken().getEnd();
+        }
+ 
+      }
+    }
+    return undefined;
+  }
+ 
+  private checkComponentCondSub(cond: ExpressionNode): Position | undefined {
+    const children = cond.getChildren();
+    for (let i = 0; i < children.length; i++) {
+      if (children[i].get() instanceof Expressions.ComponentCond) {
+        const current = children[i];
+        const prev = children[i - 1].getLastToken();
+        const next = children[i + 1].getFirstToken();
+ 
+        if (prev.getStr() === "("
+            && prev.getRow() === current.getFirstToken().getRow()
+            && prev.getCol() + 1 === current.getFirstToken().getStart().getCol()) {
+          return current.getFirstToken().getStart();
+        }
+ 
+        if (next.getStr() === ")"
+            && next.getRow() === current.getLastToken().getRow()
+            && next.getCol() === current.getLastToken().getEnd().getCol()) {
+          return current.getLastToken().getEnd();
+        }
+ 
+      }
+    }
+    return undefined;
+  }
+ 
+  private checkComponentCond(cond: ExpressionNode): Position | undefined {
+    const children = cond.getAllTokens();
+    for (let i = 0; i < children.length - 1; i++) {
+      const current = children[i];
+      const next = children[i + 1];
+ 
+      if (next.getStr().startsWith("'")
+          && next.getRow() === current.getRow()
+          && next.getCol() === current.getEnd().getCol()) {
+        return current.getEnd();
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private checkValueBodyLine(vb: ExpressionNode): Position | undefined {
+    const children = vb.getChildren();
+    for (let i = 0; i < children.length; i++) {
+      const current = children[i];
+ 
+      if (current instanceof TokenNode) {
+        const prev = children[i - 1]?.getLastToken();
+        const next = children[i + 1]?.getFirstToken();
+ 
+        if (current.getFirstToken().getStr() === "("
+            && next
+            && next.getRow() === current.getLastToken().getRow()
+            && next.getCol() === current.getLastToken().getEnd().getCol()) {
+          return current.getFirstToken().getStart();
+        }
+ 
+        if (current.getFirstToken().getStr() === ")"
+            && prev
+            && prev.getRow() === current.getFirstToken().getRow()
+            && prev.getEnd().getCol() === current.getFirstToken().getStart().getCol()) {
+          return current.getLastToken().getEnd();
+        }
+ 
+      }
+    }
+    return undefined;
+  }
+ 
+  private checkCond(cond: ExpressionNode): Position | undefined {
+    const children = cond.getAllTokens();
+    for (let i = 0; i < children.length - 1; i++) {
+      const current = children[i];
+      const next = children[i + 1];
+ 
+      if (next.getStr().startsWith("'")
+          && next.getRow() === current.getRow()
+          && next.getCol() === current.getEnd().getCol()) {
+        return current.getEnd();
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+  private checkSource(cond: ExpressionNode): Position | undefined {
+    const children = cond.getAllTokens();
+    if (children.length < 2) {
+      return undefined;
+    }
+ 
+    const nextLast = children[children.length - 2];
+    const last = children[children.length - 1];
+ 
+    if (nextLast.getStr().startsWith("'")
+        && nextLast.getRow() === last.getRow()
+        && nextLast.getEnd().getCol() === last.getStart().getCol()) {
+      return last.getEnd();
+    }
+ 
+    return undefined;
+  }
+ 
+  private checkMethodCallParam(call: ExpressionNode): Position | undefined {
+    const children = call.getChildren();
+ 
+    {
+      const first = children[0].getFirstToken();
+      const second = children[1].getFirstToken();
+      if (first.getRow() === second.getRow()
+          && first.getCol() + 1 === second.getStart().getCol()) {
+        return second.getStart();
+      }
+    }
+ 
+    {
+      const first = children[children.length - 2].getLastToken();
+      const second = children[children.length - 1].getFirstToken();
+      if (first.getRow() === second.getRow()
+          && first.getEnd().getCol() === second.getStart().getCol()) {
+        return second.getStart();
+      }
+    }
+ 
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/pragma_style.ts.html b/src/rules/pragma_style.ts.html new file mode 100644 index 00000000000..80b8db8f403 --- /dev/null +++ b/src/rules/pragma_style.ts.html @@ -0,0 +1,304 @@ + + + + + + Code coverage report for src/rules/pragma_style.ts + + + + + + + + + +
+
+

All files / src/rules pragma_style.ts

+
+ +
+ 89.04% + Statements + 65/73 +
+ + +
+ 75% + Branches + 12/16 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 89.04% + Lines + 65/73 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +741x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +  +  +243x +10423x +10423x +263x +263x +263x +1462x +1457x +1457x +5x +5x +5x +5x +  +  +5x +1x +1x +1x +1x +1x +4x +5x +2x +2x +2x +2x +  +  +  +  +5x +5x +263x +263x +263x +10423x +10423x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {RuleTag, IRuleMetadata} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {KeywordCaseStyle} from "./keyword_case";
+ 
+export class PragmaStyleConf extends BasicRuleConfig {
+  public style: KeywordCaseStyle = KeywordCaseStyle.Upper;
+}
+ 
+export class PragmaStyle extends ABAPRule {
+  private conf = new PragmaStyleConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "pragma_style",
+      title: "Pragma Style",
+      shortDescription: `Check pragmas placement and case`,
+      tags: [RuleTag.SingleFile],
+      extendedInformation: `https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/abenpragma.htm`,
+      badExample: `DATA field ##NO_TEXT TYPE i.`,
+      goodExample: `DATA field TYPE i ##NO_TEXT.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: PragmaStyleConf) {
+    this.conf = conf;
+    if (this.conf.style === undefined) {
+      this.conf.style = KeywordCaseStyle.Upper;
+    }
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const s of file.getStatements()) {
+      if (s.getPragmas().length === 0) {
+        continue;
+      }
+ 
+      for (const p of s.getPragmas()) {
+        const children = s.getChildren();
+        if (children.length === 1) {
+          break; // empty statement with pragma
+        }
+        if (children[children.length - 2].getLastToken().getStart().isAfter(p.getStart())) {
+          const message = "Place pragma at end of statement";
+          const issue = Issue.atToken(file, p, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+          continue; // max one finding per statement
+        }
+ 
+        if (this.conf.style === KeywordCaseStyle.Upper && p.getStr() !== p.getStr().toUpperCase()) {
+          const message = "Upper case pragmas";
+          const issue = Issue.atToken(file, p, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        } else if (this.conf.style === KeywordCaseStyle.Lower && p.getStr() !== p.getStr().toLowerCase()) {
+          const message = "Lower case pragmas";
+          const issue = Issue.atToken(file, p, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/prefer_corresponding.ts.html b/src/rules/prefer_corresponding.ts.html new file mode 100644 index 00000000000..77a6a07b097 --- /dev/null +++ b/src/rules/prefer_corresponding.ts.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/rules/prefer_corresponding.ts + + + + + + + + + +
+
+

All files / src/rules prefer_corresponding.ts

+
+ +
+ 96.29% + Statements + 52/54 +
+ + +
+ 88.88% + Branches + 8/9 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 96.29% + Lines + 52/54 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +541x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +  +  +258x +258x +258x +1457x +1457x +2x +2x +1457x +258x +258x +258x +10423x +10423x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import * as Statements from "../abap/2_statements/statements";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Version} from "../version";
+ 
+export class PreferCorrespondingConf extends BasicRuleConfig {
+}
+ 
+export class PreferCorresponding extends ABAPRule {
+  private conf = new PreferCorrespondingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "prefer_corresponding",
+      title: "Prefer corresponding( ) to MOVE-CORRESPONDING",
+      shortDescription: `Prefer corresponding( ) to MOVE-CORRESPONDING, from v740sp05 and up`,
+      extendedInformation:
+        `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-functional-to-procedural-language-constructs`,
+      tags: [RuleTag.SingleFile, RuleTag.Upport, RuleTag.Styleguide],
+      badExample: `MOVE-CORRESPONDING foo TO bar.`,
+      goodExample: `bar = CORRESPONDING #( foo ).`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: PreferCorrespondingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    if (this.reg.getConfig().getVersion() < Version.v740sp05) {
+      return issues;
+    }
+ 
+    const message = "Use CORRESPONDING type( ... ) instead of MOVE-CORRESPONDING";
+    for (const stat of file.getStatements()) {
+      if (stat.get() instanceof Statements.MoveCorresponding
+          && stat.getChildren().length === 7) {
+        issues.push(Issue.atStatement(file, stat, message, this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/prefer_inline.ts.html b/src/rules/prefer_inline.ts.html new file mode 100644 index 00000000000..b37967fb918 --- /dev/null +++ b/src/rules/prefer_inline.ts.html @@ -0,0 +1,847 @@ + + + + + + Code coverage report for src/rules/prefer_inline.ts + + + + + + + + + +
+
+

All files / src/rules prefer_inline.ts

+
+ +
+ 94.11% + Statements + 240/255 +
+ + +
+ 80% + Branches + 80/100 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 94.11% + Lines + 240/255 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +2551x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10444x +10444x +10444x +10444x +10444x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +10444x +10444x +9906x +9906x +10444x +10444x +268x +268x +268x +10444x +10444x +243x +243x +10444x +10444x +334x +334x +20x +20x +314x +334x +  +334x +62x +62x +252x +252x +334x +25x +25x +227x +227x +227x +334x +77x +77x +227x +227x +227x +10444x +10444x +10444x +10444x +77x +77x +77x +77x +72x +72x +72x +72x +38x +72x +1x +34x +2x +2x +31x +31x +72x +21x +21x +10x +10x +10x +72x +  +72x +1x +1x +9x +9x +72x +72x +  +  +9x +9x +9x +72x +72x +72x +72x +72x +5x +5x +4x +4x +72x +72x +  +  +4x +72x +4x +4x +4x +4x +4x +4x +4x +4x +4x +77x +77x +77x +10444x +10444x +10444x +10444x +10x +10x +10x +  +  +10x +10x +188x +10x +10x +188x +  +  +  +10444x +10444x +31x +31x +31x +73x +73x +2x +2x +73x +29x +29x +31x +59x +59x +48x +48x +11x +11x +11x +11x +59x +29x +29x +31x +62x +62x +49x +49x +13x +13x +13x +13x +62x +29x +31x +18x +31x +8x +11x +3x +3x +3x +3x +  +  +  +  +10444x +10444x +72x +72x +72x +41x +72x +31x +31x +72x +10444x +10444x +1062x +1062x +1062x +77x +77x +985x +985x +1062x +835x +835x +985x +985x +10444x +10444x
import * as Statements from "../abap/2_statements/statements";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IRegistry} from "../_iregistry";
+import {IRuleMetadata, RuleTag, IRule} from "./_irule";
+import {Version} from "../version";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {IdentifierMeta, TypedIdentifier} from "../abap/types/_typed_identifier";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {EditHelper, IEdit} from "../edit_helper";
+ 
+interface IVariableReference {
+  position: Identifier,
+  resolved: Identifier
+}
+ 
+export class PreferInlineConf extends BasicRuleConfig {
+ 
+}
+ 
+export class PreferInline implements IRule {
+  private reg: IRegistry;
+  private conf = new PreferInlineConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "prefer_inline",
+      title: "Prefer Inline Declarations",
+      shortDescription: `Prefer inline to up-front declarations.`,
+      extendedInformation: `EXPERIMENTAL
+ 
+Activates if language version is v740sp02 or above.
+ 
+Variables must be local(METHOD or FORM).
+ 
+No generic or void typed variables. No syntax errors.
+ 
+First position used must be a full/pure write.
+ 
+Move statment is not a cast(?=)
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-inline-to-up-front-declarations`,
+      tags: [RuleTag.Styleguide, RuleTag.Upport, RuleTag.Experimental, RuleTag.Quickfix],
+      badExample: `DATA foo TYPE i.
+foo = 2.
+DATA percentage TYPE decfloat34.
+percentage = ( comment_number / abs_statement_number ) * 100.`,
+      goodExample: `DATA(foo) = 2.
+DATA(percentage) = CONV decfloat34( comment_number / abs_statement_number ) * 100.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public setConfig(conf: PreferInlineConf): void {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    if (this.reg.getConfig().getVersion() < Version.v740sp02 && this.reg.getConfig().getVersion() !== Version.Cloud) {
+      return [];
+    } else if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const run = new SyntaxLogic(this.reg, obj).run();
+    if (run.issues.length > 0) {
+      return [];
+    }
+    const scopes = this.findScopeCandidates(run.spaghetti.getTop());
+ 
+    const ret: Issue[] = [];
+    for (const s of scopes) {
+      ret.push(...this.analyzeScope(s, obj));
+    }
+ 
+    return ret;
+  }
+ 
+///////////////////////////
+ 
+  private analyzeScope(node: ISpaghettiScopeNode, obj: ABAPObject): Issue[] {
+    const ret: Issue[] = [];
+ 
+    const vars = node.getData().vars;
+    for (const name in vars) {
+      const identifier = vars[name];
+      if (this.isLocalDefinition(node, identifier) === false
+          || identifier.getMeta().includes(IdentifierMeta.InlineDefinition)
+          || identifier.getMeta().includes(IdentifierMeta.FormParameter)) {
+        continue;
+      } else if (identifier.getType().isGeneric() === true) {
+        continue;
+      } else if (identifier.getType().containsVoid() === true) {
+        continue;
+      }
+ 
+      const write = this.firstUseIsWrite(node, identifier);
+      if (write === undefined) {
+        continue;
+      }
+ 
+      // check that it is a pure write, eg not sub component assignment
+      const next = this.findNextToken(write, obj);
+      if (next === undefined) {
+        continue;
+      } else if (next?.getStart().equals(write.position.getEnd()) && next.getStr() !== "." && next.getStr() !== ",") {
+        continue;
+      }
+      const file = obj.getABAPFileByName(identifier.getFilename());
+      const writeStatement = EditHelper.findStatement(next, file);
+      const statementType = writeStatement?.get();
+      if (statementType === undefined) {
+        continue;
+      }
+ 
+      // for now only allow some specific target statements, todo refactor
+      if (!(statementType instanceof Statements.Move
+          || statementType instanceof Statements.Catch
+          || statementType instanceof Statements.ReadTable
+          || statementType instanceof Statements.Loop)
+          || writeStatement?.concatTokens()?.includes("?=")
+          || writeStatement?.concatTokens()?.includes(" #(")) {
+        continue;
+      }
+ 
+      const statement = EditHelper.findStatement(identifier.getToken(), file);
+      const concat = statement?.concatTokens().toUpperCase();
+      if (concat?.includes("BEGIN OF")) {
+        continue;
+      }
+      let fix: IEdit | undefined = undefined;
+      if (file && statement) {
+        const fix1 = EditHelper.deleteStatement(file, statement);
+        const name = identifier.getName();
+        const replace = name.startsWith("<") ? "FIELD-SYMBOL(" + name + ")" : "DATA(" + name + ")";
+        const fix2 = EditHelper.replaceRange(file, write.position.getStart(), write.position.getEnd(), replace);
+        fix = EditHelper.merge(fix1, fix2);
+      }
+      const message = this.getMetadata().title + ", " + name;
+      ret.push(Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity, fix));
+    }
+ 
+    return ret;
+  }
+ 
+////////////////////////
+ 
+  private findNextToken(ref: IVariableReference, obj: ABAPObject): AbstractToken | undefined {
+ 
+    const file = obj.getABAPFileByName(ref.resolved.getFilename());
+    if (file === undefined) {
+      return undefined;
+    }
+ 
+    for (const t of file.getTokens()) {
+      if (t.getStart().isAfter(ref.position.getEnd())) {
+        return t;
+      }
+    }
+
+    return undefined;
+  }
+ 
+  private firstUseIsWrite(node: ISpaghettiScopeNode, identifier: TypedIdentifier): IVariableReference | undefined {
+// assumption: variables are local, so only the current scope must be searched
+ 
+    for (const r of node.getData().references) {
+      if (r.referenceType === ReferenceType.TypeReference
+          && r.resolved?.getStart().equals(identifier.getStart()) === true) {
+        return undefined;
+      }
+    }
+ 
+    let firstRead: IVariableReference | undefined = undefined;
+    for (const r of node.getData().references) {
+      if (r.referenceType !== ReferenceType.DataReadReference
+          || r.resolved?.getStart().equals(identifier.getStart()) === false) {
+        continue;
+      }
+      if (r.resolved) {
+        firstRead = {position: r.position, resolved: r.resolved};
+        break;
+      }
+    }
+ 
+    let firstWrite: IVariableReference | undefined = undefined;
+    for (const w of node.getData().references) {
+      if (w.referenceType !== ReferenceType.DataWriteReference
+          || w.resolved?.getStart().equals(identifier.getStart()) === false) {
+        continue;
+      }
+      if (w.resolved) {
+        firstWrite = {position: w.position, resolved: w.resolved};
+        break;
+      }
+    }
+ 
+    if (firstRead === undefined) {
+      return firstWrite;
+    } else if (firstWrite === undefined) {
+      return undefined;
+    } else if (firstWrite.position.getStart().getRow() === firstRead.position.getStart().getRow()) {
+// if the same statement both reads and write the same variable
+// note that currently just the line number is compared, this is not correct, it should check if its the same statement
+      return undefined;
+    } else if (firstWrite.position.getStart().isBefore(firstRead.position.getStart())) {
+      return firstWrite;
+    }
+    return undefined;
+  }
+ 
+  private isLocalDefinition(node: ISpaghettiScopeNode, identifier: TypedIdentifier): boolean {
+    const {start, end} = node.calcCoverage();
+ 
+    if (identifier.getStart().isAfter(start) && identifier.getStart().isBefore(end)) {
+      return true;
+    } else {
+      return false;
+    }
+  }
+ 
+  private findScopeCandidates(node: ISpaghettiScopeNode): ISpaghettiScopeNode[] {
+ 
+    if (node.getIdentifier().stype === ScopeType.Form
+        || node.getIdentifier().stype === ScopeType.Method) {
+      return [node];
+    }
+ 
+    let ret: ISpaghettiScopeNode[] = [];
+    for (const c of node.getChildren()) {
+      ret = ret.concat(this.findScopeCandidates(c));
+    }
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/prefer_is_not.ts.html b/src/rules/prefer_is_not.ts.html new file mode 100644 index 00000000000..079cc6d2fdb --- /dev/null +++ b/src/rules/prefer_is_not.ts.html @@ -0,0 +1,418 @@ + + + + + + Code coverage report for src/rules/prefer_is_not.ts + + + + + + + + + +
+
+

All files / src/rules prefer_is_not.ts

+
+ +
+ 100% + Statements + 111/111 +
+ + +
+ 100% + Branches + 31/31 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 111/111 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +1121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +31116x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +291x +291x +291x +1521x +64x +44x +64x +1x +1x +19x +19x +19x +19x +19x +19x +1521x +291x +291x +291x +10424x +10424x +19x +19x +19x +4x +4x +4x +4x +15x +2x +2x +2x +2x +13x +6x +6x +7x +1x +1x +6x +1x +1x +5x +1x +1x +4x +1x +1x +3x +1x +1x +2x +2x +2x +17x +17x +17x +17x +17x +17x +17x +17x +10424x +10424x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Expressions from "../abap/2_statements/expressions";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {EditHelper, IEdit} from "../edit_helper";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Position} from "../position";
+import {ExpressionNode} from "../abap/nodes";
+ 
+export class PreferIsNotConf extends BasicRuleConfig {
+}
+ 
+export class PreferIsNot extends ABAPRule {
+ 
+  private conf = new PreferIsNotConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "prefer_is_not",
+      title: "Prefer IS NOT to NOT IS",
+      shortDescription: `Prefer IS NOT to NOT IS`,
+      extendedInformation: `
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-is-not-to-not-is
+ 
+"if not is_valid( )." examples are skipped`,
+      tags: [RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+      goodExample: `IF variable IS NOT INITIAL.
+IF variable NP 'TODO*'.
+IF variable <> 42.
+IF variable CO 'hello'.`,
+      badExample: `IF NOT variable IS INITIAL.
+IF NOT variable CP 'TODO*'.
+IF NOT variable = 42.
+IF NOT variable CA 'hello'.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: PreferIsNotConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+ 
+    for (const s of file.getStatements()) {
+      for (const c of s.findAllExpressions(Expressions.Compare)) {
+        if (c.concatTokens().toUpperCase().startsWith("NOT ") === false) {
+          continue;
+        } else if (c.getChildren().length === 2 && c.getChildren()[1].get() instanceof Expressions.MethodCallChain) {
+          continue;
+        }
+ 
+        const message = "Prefer IS NOT to NOT IS";
+ 
+        const fix = this.getFix(file, c);
+        issues.push(Issue.atToken(file, c.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private getFix(file: ABAPFile, c: ExpressionNode): IEdit|undefined {
+    let insertFix: IEdit;
+ 
+    if (c.getChildren()[2].getFirstToken().getStr().toUpperCase() === "IS") {
+      const tokenPositionBeforeDelete = c.getChildren()[2].getLastToken().getEnd();
+      const tokenPosition = new Position(tokenPositionBeforeDelete.getRow(), tokenPositionBeforeDelete.getCol() + 1);
+      insertFix = EditHelper.insertAt(file, tokenPosition, "NOT ");
+    }
+    else if(c.getChildren()[2].getFirstToken().getStr().toUpperCase() === "IN" || c.getChildren()[2].getFirstToken().getStr().toUpperCase() === "BETWEEN") {
+      const tokenPositionBeforeDelete = c.getChildren()[1].getLastToken().getEnd();
+      const tokenPosition = new Position(tokenPositionBeforeDelete.getRow(), tokenPositionBeforeDelete.getCol() + 1);
+      insertFix = EditHelper.insertAt(file, tokenPosition, "NOT ");
+    }
+    else if(c.getChildren()[2].getFirstToken().getStr() === "=") {
+      insertFix = EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), "<>");
+    }
+    else if(c.getChildren()[2].getFirstToken().getStr() === "<>") {
+      insertFix = EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), "=");
+    }
+    else if(c.getChildren()[2].getFirstToken().getStr() === "<") {
+      insertFix = EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), ">");
+    }
+    else if(c.getChildren()[2].getFirstToken().getStr() === ">") {
+      insertFix = EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), "<");
+    }
+    else if(c.getChildren()[2].getFirstToken().getStr() === "<=") {
+      insertFix = EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), ">=");
+    }
+    else if(c.getChildren()[2].getFirstToken().getStr() === ">=") {
+      insertFix = EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), "<=");
+    }
+    else {
+      return;
+    }
+ 
+    const endCol = c.getChildren()[0].getFirstToken().getEnd().getCol() + 1;
+    const endPosition = new Position(c.getChildren()[0].getFirstToken().getEnd().getRow(), endCol);
+    const deleteFix = EditHelper.deleteRange(file, c.getChildren()[0].getFirstToken().getStart(), endPosition);
+    const finalFix = EditHelper.merge(insertFix, deleteFix);
+ 
+    return finalFix;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/prefer_pragmas.ts.html b/src/rules/prefer_pragmas.ts.html new file mode 100644 index 00000000000..2755ec9b2f0 --- /dev/null +++ b/src/rules/prefer_pragmas.ts.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for src/rules/prefer_pragmas.ts + + + + + + + + + +
+
+

All files / src/rules prefer_pragmas.ts

+
+ +
+ 100% + Statements + 78/78 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 78/78 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +781x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +20847x +1x +10425x +10425x +10425x +10425x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +31104x +10425x +10425x +10172x +10172x +10425x +10425x +243x +243x +10425x +10425x +257x +257x +257x +257x +257x +1457x +1436x +1436x +21x +21x +1457x +12x +12x +9x +1457x +36x +9x +9x +9x +36x +9x +257x +257x +257x +10425x +10425x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Comment} from "../abap/2_statements/statements/_statement";
+ 
+export class PreferPragmasConf extends BasicRuleConfig {
+  public check: {pseudo: string, pragma: string}[] = [
+    {
+      pseudo: "#EC CI_SUBRC",
+      pragma: "SUBRC_OK",
+    },
+    {
+      pseudo: "#EC NEEDED",
+      pragma: "NEEDED",
+    },
+    {
+      pseudo: "#EC NOTEXT",
+      pragma: "NO_TEXT",
+    },
+    {
+      pseudo: "#EC NO_HANDLER",
+      pragma: "NO_HANDLER",
+    },
+  ];
+}
+ 
+export class PreferPragmas extends ABAPRule {
+  private conf = new PreferPragmasConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "prefer_pragmas",
+      title: "prefer pragmas over pseudo comments ",
+      shortDescription: `prefer pragmas over pseudo comments `,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-pragmas-to-pseudo-comments`,
+      tags: [RuleTag.SingleFile, RuleTag.Styleguide],
+      badExample: `DATA foo1 TYPE i. "#EC NEEDED`,
+      goodExample: `DATA foo2 TYPE i ##NEEDED.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: PreferPragmasConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const config = this.getConfig();
+ 
+    for (const statement of file.getStatements()) {
+      if (!(statement.get() instanceof Comment)) {
+        continue;
+      }
+ 
+      const concat = statement.concatTokens().toUpperCase();
+      if (concat.includes("#EC") === false) {
+        continue;
+      }
+ 
+      for (const check of config.check) {
+        if (concat.includes(check.pseudo.toUpperCase())) {
+          const message = `Prefer pragma ${check.pragma}`;
+          issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.getConfig().severity));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/prefer_raise_exception_new.ts.html b/src/rules/prefer_raise_exception_new.ts.html new file mode 100644 index 00000000000..4902b53227a --- /dev/null +++ b/src/rules/prefer_raise_exception_new.ts.html @@ -0,0 +1,334 @@ + + + + + + Code coverage report for src/rules/prefer_raise_exception_new.ts + + + + + + + + + +
+
+

All files / src/rules prefer_raise_exception_new.ts

+
+ +
+ 100% + Statements + 83/83 +
+ + +
+ 100% + Branches + 18/18 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 83/83 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +841x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10432x +10432x +10432x +10432x +10432x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +31101x +10432x +10432x +9906x +9906x +10432x +10432x +243x +243x +10432x +10432x +269x +2x +2x +267x +267x +267x +269x +1466x +11x +11x +2x +2x +11x +5x +5x +5x +5x +5x +5x +11x +1466x +267x +267x +267x +10432x +10432x +5x +5x +5x +5x +4x +4x +4x +1x +1x +1x +5x +5x +5x +5x +10432x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {EditHelper, IEdit} from "../edit_helper";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {Statements, Version} from "..";
+import {StatementNode} from "../abap/nodes/statement_node";
+ 
+export class PreferRaiseExceptionNewConf extends BasicRuleConfig {
+}
+ 
+export class PreferRaiseExceptionNew extends ABAPRule {
+ 
+  private conf = new PreferRaiseExceptionNewConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "prefer_raise_exception_new",
+      title: "Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE",
+      shortDescription: `Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE`,
+      extendedInformation: `
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-raise-exception-new-to-raise-exception-type
+ 
+From 752 and up`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile, RuleTag.Quickfix, RuleTag.Upport],
+      goodExample: `RAISE EXCEPTION NEW cx_generation_error( previous = exception ).`,
+      badExample: `RAISE EXCEPTION TYPE cx_generation_error
+  EXPORTING
+    previous = exception.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: PreferRaiseExceptionNewConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    if (this.reg.getConfig().getVersion() < Version.v752) {
+      return[];
+    }
+ 
+    const issues: Issue[] = [];
+ 
+    for (const statement of file.getStatements()) {
+      if (statement.get() instanceof Statements.Raise) {
+        const concat = statement.concatTokens().toUpperCase();
+        if (concat.includes(" MESSAGE")) {
+          continue;
+        }
+        if (concat.startsWith("RAISE EXCEPTION TYPE ")) {
+          const message = "Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE";
+ 
+          const fix = this.getFix(file, statement, concat.includes(" EXPORTING" ) ? true : false);
+ 
+          issues.push(Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private getFix(file: ABAPFile, statement: StatementNode, withExporting: boolean): IEdit {
+    const children = statement.getChildren();
+ 
+    let contentFix = undefined;
+    if (withExporting) {
+      const fixText = "( " + children[5].concatTokens() + " ).";
+      contentFix = EditHelper.replaceRange(file, children[3].getLastToken().getEnd(), statement.getEnd(), fixText);
+    }
+    else {
+      contentFix = EditHelper.replaceRange(file, children[3].getLastToken().getEnd(), statement.getEnd(), "( ).");
+    }
+ 
+    const replaceType = EditHelper.replaceToken(file, children[2].getFirstToken(), "NEW");
+    return EditHelper.merge(contentFix, replaceType);
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/prefer_returning_to_exporting.ts.html b/src/rules/prefer_returning_to_exporting.ts.html new file mode 100644 index 00000000000..3e35c5d6679 --- /dev/null +++ b/src/rules/prefer_returning_to_exporting.ts.html @@ -0,0 +1,385 @@ + + + + + + Code coverage report for src/rules/prefer_returning_to_exporting.ts + + + + + + + + + +
+
+

All files / src/rules prefer_returning_to_exporting.ts

+
+ +
+ 97.97% + Statements + 97/99 +
+ + +
+ 97.22% + Branches + 35/36 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.97% + Lines + 97/99 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +1011x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10431x +10431x +10431x +10431x +10431x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10431x +10431x +9906x +9906x +10431x +10431x +243x +243x +10431x +10431x +263x +263x +263x +263x +12x +12x +251x +263x +60x +  +  +60x +60x +60x +52x +52x +8x +8x +60x +1x +1x +7x +7x +60x +1x +1x +6x +6x +6x +6x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +60x +4x +4x +2x +2x +2x +2x +2x +251x +251x +251x +10431x +10431x +  + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class PreferReturningToExportingConf extends BasicRuleConfig {
+}
+ 
+export class PreferReturningToExporting extends ABAPRule {
+ 
+  private conf = new PreferReturningToExportingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "prefer_returning_to_exporting",
+      title: "Prefer RETURNING to EXPORTING",
+      shortDescription: `Prefer RETURNING to EXPORTING. Generic types cannot be RETURNING.`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-returning-to-exporting
+https://docs.abapopenchecks.org/checks/44/`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `CLASS lcl DEFINITION.
+  PUBLIC SECTION.
+    METHODS test EXPORTING ev_foo TYPE i.
+ENDCLASS.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: PreferReturningToExportingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const ret: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    for (const def of stru.findAllStatements(Statements.MethodDef)) {
+      if (def.findFirstExpression(Expressions.MethodDefChanging)) {
+        continue;
+      }
+ 
+      const exporting = def.findFirstExpression(Expressions.MethodDefExporting);
+      if (exporting === undefined) {
+        continue;
+      }
+ 
+      const returning = def.findFirstExpression(Expressions.MethodDefReturning);
+      if (returning !== undefined) {
+        continue;
+      }
+ 
+      const params = exporting.findDirectExpressions(Expressions.MethodParam);
+      if (params.length !== 1) {
+        continue;
+      }
+ 
+      const concat = params[0].concatTokens().toUpperCase();
+ 
+      if (concat.endsWith("TYPE ANY")
+          || concat.endsWith("TYPE ANY TABLE")
+          || concat.endsWith("TYPE C")
+          || concat.endsWith("TYPE CLIKE")
+          || concat.endsWith("TYPE CSEQUENCE")
+          || concat.endsWith("TYPE DATA")
+          || concat.endsWith("TYPE DECFLOAT")
+          || concat.endsWith("TYPE HASHED TABLE")
+          || concat.endsWith("TYPE INDEX TABLE")
+          || concat.endsWith("TYPE N")
+          || concat.endsWith("TYPE NUMERIC")
+          || concat.endsWith("TYPE OBJECT")
+          || concat.endsWith("TYPE P")
+          || concat.endsWith("TYPE SIMPLE")
+          || concat.endsWith("TYPE SORTED TABLE")
+          || concat.endsWith("TYPE STANDARD TABLE")
+          || concat.endsWith("TYPE TABLE")
+          || concat.endsWith("TYPE X")
+          || concat.endsWith("TYPE XSEQUENCE")) {
+        continue;
+      }
+ 
+      const token = params[0].getFirstToken();
+      const issue = Issue.atToken(file, token, "Prefer RETURNING to EXPORTING", this.getMetadata().key, this.conf.severity);
+      ret.push(issue);
+    }
+ 
+    return ret;
+  }
+ 
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/prefer_xsdbool.ts.html b/src/rules/prefer_xsdbool.ts.html new file mode 100644 index 00000000000..a5b25d99454 --- /dev/null +++ b/src/rules/prefer_xsdbool.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/rules/prefer_xsdbool.ts + + + + + + + + + +
+
+

All files / src/rules prefer_xsdbool.ts

+
+ +
+ 96.66% + Statements + 58/60 +
+ + +
+ 84.61% + Branches + 11/13 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 96.66% + Lines + 58/60 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +259x +259x +259x +  +  +259x +259x +104x +102x +102x +2x +2x +2x +2x +2x +2x +259x +259x +259x +10424x +10424x +  + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Expressions from "../abap/2_statements/expressions";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {Version} from "../version";
+import {EditHelper} from "../edit_helper";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class PreferXsdboolConf extends BasicRuleConfig {
+}
+ 
+export class PreferXsdbool extends ABAPRule {
+ 
+  private conf = new PreferXsdboolConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "prefer_xsdbool",
+      title: "Prefer xsdbool over boolc",
+      shortDescription: `Prefer xsdbool over boolc`,
+      extendedInformation: `Activates if language version is v740sp08 or above.
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-xsdbool-to-set-boolean-variables`,
+      tags: [RuleTag.Styleguide, RuleTag.Upport, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `DATA(sdf) = boolc( 1 = 2 ).`,
+      goodExample: `DATA(sdf) = xsdbool( 1 = 2 ).`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: PreferXsdboolConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (this.reg.getConfig().getVersion() < Version.v740sp08 && this.reg.getConfig().getVersion() !== Version.Cloud) {
+      return [];
+    }
+ 
+    for (const s of file.getStructure()?.findAllExpressions(Expressions.Source) || []) {
+      if (s.concatTokens().toUpperCase().startsWith("BOOLC( ") === false) {
+        continue;
+      }
+      const token = s.getFirstToken();
+ 
+      const message = "Prefer xsdbool over boolc";
+      const fix = EditHelper.replaceToken(file, token, "xsdbool");
+      issues.push(Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix));
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/preferred_compare_operator.ts.html b/src/rules/preferred_compare_operator.ts.html new file mode 100644 index 00000000000..b56625e611e --- /dev/null +++ b/src/rules/preferred_compare_operator.ts.html @@ -0,0 +1,385 @@ + + + + + + Code coverage report for src/rules/preferred_compare_operator.ts + + + + + + + + + +
+
+

All files / src/rules preferred_compare_operator.ts

+
+ +
+ 100% + Statements + 101/101 +
+ + +
+ 94.44% + Branches + 17/18 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 100% + Lines + 101/101 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +1011x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +1x +10425x +10425x +10425x +10425x +10425x +10425x +10425x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +31118x +10425x +10425x +20x +20x +10425x +10425x +9906x +9906x +10425x +10425x +244x +244x +10425x +10425x +290x +290x +290x +290x +290x +12x +12x +278x +278x +290x +53x +53x +53x +20x +20x +53x +278x +278x +278x +10425x +10425x +290x +222x +222x +222x +222x +222x +222x +222x +222x +222x +222x +222x +222x +222x +222x +222x +290x +10425x +10425x +20x +20x +20x +20x +19x +19x +19x +19x +1x +1x +1x +1x +20x +10425x +10425x
import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {EditHelper} from "../edit_helper";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class PreferredCompareOperatorConf extends BasicRuleConfig {
+  /** Operators which are not allowed */
+  public badOperators: string[] = ["EQ", "><", "NE", "GE", "GT", "LT", "LE"];
+}
+ 
+export class PreferredCompareOperator extends ABAPRule {
+ 
+  private conf = new PreferredCompareOperatorConf();
+ 
+  private readonly operatorMapping: Map<string, string> = new Map<string, string>();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "preferred_compare_operator",
+      title: "Preferred compare operator",
+      shortDescription: `Configure undesired operator variants`,
+      tags: [RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `IF foo EQ bar.
+ENDIF.`,
+      goodExample: `IF foo = bar.
+ENDIF.`,
+    };
+  }
+ 
+  private getDescription(operator: string): string {
+    return "Compare operator \"" + operator + "\" not preferred";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: PreferredCompareOperatorConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    this.buildMapping();
+    const issues: Issue[] = [];
+ 
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return [];
+    }
+ 
+    const operators = struc.findAllExpressionsMulti([Expressions.CompareOperator, Expressions.SQLCompareOperator]);
+    for (const op of operators) {
+      const token = op.getLastToken();
+      // todo, performance, lookup in hash map instead(JS object)
+      if (this.conf.badOperators.indexOf(token.getStr().toUpperCase()) >= 0) {
+        issues.push(this.createIssue(token, file));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private buildMapping() {
+    if (this.operatorMapping.size === 0) {
+      this.operatorMapping.set("EQ", "=");
+      this.operatorMapping.set("><", "<>");
+      this.operatorMapping.set("NE", "<>");
+      this.operatorMapping.set("GE", ">=");
+      this.operatorMapping.set("GT", ">");
+      this.operatorMapping.set("LT", "<");
+      this.operatorMapping.set("LE", "<=");
+ 
+      this.operatorMapping.set("=", "EQ");
+      this.operatorMapping.set("<>", "NE");
+      this.operatorMapping.set(">=", "GE");
+      this.operatorMapping.set(">", "GT");
+      this.operatorMapping.set("<", "LT");
+      this.operatorMapping.set("<=", "LE");
+    }
+  }
+ 
+  private createIssue(token: AbstractToken, file: ABAPFile): Issue {
+    const message = this.getDescription(token.getStr());
+    const replacementToken = this.operatorMapping?.get(token.getStr());
+    // values in badOperators can be entered by the user and may not necessarily be actual operators
+    if (replacementToken) {
+      const fix = EditHelper.replaceRange(file, token.getStart(), token.getEnd(), replacementToken);
+      const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix);
+      return issue;
+    }
+    else {
+      const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);
+      return issue;
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/prefix_is_current_class.ts.html b/src/rules/prefix_is_current_class.ts.html new file mode 100644 index 00000000000..332e41d9de7 --- /dev/null +++ b/src/rules/prefix_is_current_class.ts.html @@ -0,0 +1,478 @@ + + + + + + Code coverage report for src/rules/prefix_is_current_class.ts + + + + + + + + + +
+
+

All files / src/rules prefix_is_current_class.ts

+
+ +
+ 96.96% + Statements + 128/132 +
+ + +
+ 88.88% + Branches + 24/27 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 96.96% + Lines + 128/132 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +1321x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20858x +20858x +20858x +20858x +20858x +20858x +1x +10435x +10435x +10435x +10435x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +31107x +10435x +10435x +9906x +9906x +10435x +10435x +245x +245x +10435x +10435x +267x +267x +10435x +10435x +267x +267x +12x +12x +255x +255x +255x +267x +57x +57x +  +  +57x +57x +57x +64x +64x +3x +3x +  +  +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +3x +64x +57x +57x +255x +255x +255x +10435x +10435x +267x +267x +12x +12x +255x +255x +255x +255x +255x +255x +267x +242x +242x +242x +242x +933x +933x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +933x +925x +925x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +933x +242x +255x +255x +10435x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Structures from "../abap/3_structures/structures";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ClassName, MethodCall, InterfaceName, TypeName} from "../abap/2_statements/expressions";
+import {Position} from "../position";
+import {EditHelper} from "../edit_helper";
+import {RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class PrefixIsCurrentClassConf extends BasicRuleConfig {
+  /**
+   * Checks usages of self references with 'me' when calling instance methods
+   */
+  public omitMeInstanceCalls: boolean = true;
+}
+ 
+export class PrefixIsCurrentClass extends ABAPRule {
+  private conf = new PrefixIsCurrentClassConf();
+ 
+  public getMetadata() {
+    return {
+      key: "prefix_is_current_class",
+      title: "Prefix is current class",
+      shortDescription: `Reports errors if the current class or interface references itself with "current_class=>"`,
+      // eslint-disable-next-line max-len
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-self-reference-me-when-calling-an-instance-attribute-or-method`,
+      tags: [RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: PrefixIsCurrentClassConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    return this.checkClasses(file).concat(this.checkInterfaces(file));
+  }
+ 
+  private checkInterfaces(file: ABAPFile): Issue[] {
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return [];
+    }
+ 
+    const issues: Issue[] = [];
+ 
+    for (const s of struc.findDirectStructures(Structures.Interface)) {
+      const name = s.findFirstExpression(InterfaceName)?.getFirstToken().getStr().toUpperCase();
+      if (name === undefined) {
+        continue;
+      }
+      const staticAccess = name + "=>";
+ 
+      for (const e of s.findAllExpressions(TypeName)) {
+        const concat = e.concatTokens().toUpperCase();
+        if (concat.startsWith(staticAccess)) {
+          const stat = e.findDirectTokenByText("=>");
+          if (stat === undefined) {
+            continue;
+          }
+          const start = new Position(stat.getRow(), stat.getCol() - name.length);
+          const end = new Position(stat.getRow(), stat.getCol() + 2);
+          const fix = EditHelper.deleteRange(file, start, end);
+          issues.push(Issue.atToken(
+            file,
+            e.getFirstToken(),
+            "Reference to current interface can be omitted",
+            this.getMetadata().key,
+            this.conf.severity,
+            fix));
+        }
+      }
+ 
+    }
+ 
+    return issues;
+  }
+ 
+  private checkClasses(file: ABAPFile): Issue[] {
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return [];
+    }
+ 
+    const issues: Issue[] = [];
+    const classStructures = struc.findDirectStructures(Structures.ClassImplementation);
+    classStructures.push(...struc.findDirectStructures(Structures.ClassDefinition));
+    const meAccess = "ME->";
+ 
+    for (const c of classStructures) {
+      const className = c.findFirstExpression(ClassName)!.getFirstToken().getStr().toUpperCase();
+      const staticAccess = className + "=>";
+ 
+      for (const s of c.findAllStatementNodes()) {
+        const concat = s.concatTokensWithoutStringsAndComments().toUpperCase();
+        if (concat.includes(staticAccess)) {
+          const tokenPos = s.findTokenSequencePosition(className, "=>");
+          if (tokenPos) {
+            const end = new Position(tokenPos.getRow(), tokenPos.getCol() + className.length + 2);
+            const fix = EditHelper.deleteRange(file, tokenPos, end);
+            issues.push(Issue.atRange(
+              file,
+              tokenPos, end,
+              "Reference to current class can be omitted: \"" + staticAccess + "\"",
+              this.getMetadata().key,
+              this.conf.severity,
+              fix));
+          }
+        } else if (this.conf.omitMeInstanceCalls === true
+            && concat.includes(meAccess)
+            && s.findFirstExpression(MethodCall)) {
+          const tokenPos = s.findTokenSequencePosition("me", "->");
+          if (tokenPos) {
+            const end = new Position(tokenPos.getRow(), tokenPos.getCol() + 4);
+            const fix = EditHelper.deleteRange(file, tokenPos, end);
+            issues.push(Issue.atRange(
+              file,
+              tokenPos, end,
+              "Omit 'me->' in instance calls",
+              this.getMetadata().key, this.conf.severity, fix));
+          }
+        }
+      }
+    }
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/reduce_procedural_code.ts.html b/src/rules/reduce_procedural_code.ts.html new file mode 100644 index 00000000000..4c73f86e57f --- /dev/null +++ b/src/rules/reduce_procedural_code.ts.html @@ -0,0 +1,337 @@ + + + + + + Code coverage report for src/rules/reduce_procedural_code.ts + + + + + + + + + +
+
+

All files / src/rules reduce_procedural_code.ts

+
+ +
+ 100% + Statements + 85/85 +
+ + +
+ 100% + Branches + 21/21 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 85/85 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +851x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +10426x +10426x +10426x +10426x +10426x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10426x +10426x +9906x +9906x +10426x +10426x +243x +243x +10426x +10426x +258x +258x +258x +12x +12x +12x +246x +246x +246x +258x +1459x +35x +35x +1459x +35x +1x +1x +1x +1x +35x +1424x +29x +1389x +128x +128x +1459x +246x +246x +246x +10426x +10426x
import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import * as Statements from "../abap/2_statements/statements";
+import {ABAPFile} from "../abap/abap_file";
+import {Issue} from "../issue";
+import {StatementNode} from "../abap/nodes";
+import {Comment} from "../abap/2_statements/statements/_statement";
+ 
+export class ReduceProceduralCodeConf extends BasicRuleConfig {
+  public maxStatements: number = 10;
+}
+export class ReduceProceduralCode extends ABAPRule {
+ 
+  private conf = new ReduceProceduralCodeConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "reduce_procedural_code",
+      title: "Reduce procedural code",
+      shortDescription: `Checks FORM and FUNCTION-MODULE have few statements`,
+      extendedInformation: `Delegate logic to a class method instead of using FORM or FUNCTION-MODULE.
+ 
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-object-orientation-to-procedural-programming
+ 
+Comments are not counted as statements.`,
+      tags: [RuleTag.SingleFile, RuleTag.Styleguide],
+      badExample: `FORM foo.
+  DATA lv_bar TYPE i.
+  lv_bar = 2 + 2.
+  IF lv_bar = 4.
+    WRITE 'hello world'.
+  ENDIF.
+  DATA lv_bar TYPE i.
+  lv_bar = 2 + 2.
+  IF lv_bar = 4.
+    WRITE 'hello world'.
+  ENDIF.
+ENDFORM.`,
+      goodExample: `FORM foo.
+  NEW zcl_global_class( )->run_logic( ).
+ENDFORM.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ReduceProceduralCodeConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    if (file.getStructure() === undefined) {
+      // constains syntax errors, skip this check
+      return issues;
+    }
+ 
+    let doCount: StatementNode | undefined = undefined;
+    let count = 0;
+    for (const statement of file.getStatements()) {
+      if (statement.get() instanceof Statements.Form || statement.get() instanceof Statements.FunctionModule) {
+        doCount = statement;
+        count = 0;
+      } else if (statement.get() instanceof Statements.EndForm || statement.get() instanceof Statements.EndFunction) {
+        if (count >= this.conf.maxStatements && doCount !== undefined) {
+          const message = "Reduce procedural code, max " + this.conf.maxStatements + " statements";
+          const issue = Issue.atStatement(file, doCount, message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+        doCount = undefined;
+      } else if (statement.get() instanceof Comment) {
+        continue;
+      } else if (doCount !== undefined) {
+        count = count + 1;
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/reduce_string_templates.ts.html b/src/rules/reduce_string_templates.ts.html new file mode 100644 index 00000000000..734babaf1bd --- /dev/null +++ b/src/rules/reduce_string_templates.ts.html @@ -0,0 +1,355 @@ + + + + + + Code coverage report for src/rules/reduce_string_templates.ts + + + + + + + + + +
+
+

All files / src/rules reduce_string_templates.ts

+
+ +
+ 93.4% + Statements + 85/91 +
+ + +
+ 83.33% + Branches + 20/24 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 93.4% + Lines + 85/91 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +911x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10430x +10430x +10430x +10430x +10430x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +10430x +10430x +9906x +9906x +10430x +10430x +243x +243x +10430x +10430x +262x +262x +262x +262x +12x +12x +250x +262x +7x +4x +4x +1x +1x +4x +4x +1x +1x +3x +4x +2x +2x +2x +2x +3x +4x +7x +250x +262x +107x +107x +105x +107x +  +2x +  +2x +  +  +2x +2x +107x +  +  +2x +2x +2x +2x +2x +2x +2x +107x +250x +250x +250x +10430x +10430x
import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IObject} from "../objects/_iobject";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class ReduceStringTemplatesConf extends BasicRuleConfig {
+}
+ 
+export class ReduceStringTemplates extends ABAPRule {
+ 
+  private conf = new ReduceStringTemplatesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "reduce_string_templates",
+      title: "Reduce string templates",
+      shortDescription: `Checks for string templates`,
+      tags: [RuleTag.SingleFile],
+      badExample: `WRITE |{ |sdf| }|.\nWRITE |{ 'sdf' }|.`,
+      goodExample: `WRITE |sdf|.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ReduceStringTemplatesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, _obj: IObject) {
+    const issues: Issue[] = [];
+ 
+    const structure = file.getStructure();
+    if (structure === undefined) {
+      return [];
+    }
+ 
+    for (const template of structure.findAllExpressions(Expressions.StringTemplate)) {
+      for (const ts of template.findAllExpressions(Expressions.StringTemplateSource)) {
+        for (const source of ts.findDirectExpressions(Expressions.Source)) {
+          for (const second of source.findDirectExpressions(Expressions.StringTemplate)) {
+            issues.push(Issue.atToken(file, second.getFirstToken(), "Nested string templates, reduce", this.getMetadata().key, this.conf.severity));
+          }
+ 
+          if (ts.findDirectExpression(Expressions.StringTemplateFormatting)) {
+            continue;
+          }
+ 
+          for (const constant of source.findDirectExpressions(Expressions.Constant)) {
+            for (const constantString of constant.findDirectExpressions(Expressions.ConstantString)) {
+              issues.push(Issue.atToken(file, constantString.getFirstToken(), "Constant string in text template, reduce", this.getMetadata().key, this.conf.severity));
+            }
+          }
+        }
+      }
+    }
+ 
+    for (const source of structure.findAllExpressions(Expressions.Source)) {
+      const children = source.getChildren();
+      if (children.length !== 3) {
+        continue;
+      } else if (!(children[0].get() instanceof Expressions.StringTemplate)) {
+        continue;
+      } else if (children[1].getFirstToken().getStr() !== "&&") {
+        continue;
+      } else if (!(children[2].get() instanceof Expressions.Source)) {
+        continue;
+      }
+ 
+      const sub = children[2].getChildren();
+      if (sub.length !== 1) {
+        continue;
+      }
+ 
+      const start = children[0].getFirstToken().getStart();
+      const end = sub[0].getLastToken().getEnd();
+      if (start.getRow() === end.getRow()) {
+        const message = "Reduce template, remove \"&&\"";
+        issues.push(Issue.atToken(file, children[1].getFirstToken(), message, this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/release_idoc.ts.html b/src/rules/release_idoc.ts.html new file mode 100644 index 00000000000..4634d2be916 --- /dev/null +++ b/src/rules/release_idoc.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/rules/release_idoc.ts + + + + + + + + + +
+
+

All files / src/rules release_idoc.ts

+
+ +
+ 100% + Statements + 62/62 +
+ + +
+ 100% + Branches + 15/15 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 62/62 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10426x +10426x +10426x +10426x +31097x +31097x +31097x +31097x +31097x +31097x +10426x +10426x +2x +2x +10426x +10426x +9906x +9906x +10426x +10426x +243x +243x +10426x +10426x +243x +243x +10426x +10426x +313x +313x +313x +242x +242x +71x +313x +20x +18x +18x +313x +49x +49x +4x +313x +2x +2x +2x +2x +2x +2x +313x +10426x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IObject} from "../objects/_iobject";
+import {IRule} from "./_irule";
+import * as Objects from "../objects";
+import {Position} from "../position";
+import {IRegistry} from "../_iregistry";
+ 
+export class ReleaseIdocConf extends BasicRuleConfig {
+}
+ 
+export class ReleaseIdoc implements IRule {
+  private conf = new ReleaseIdocConf();
+ 
+  public getMetadata() {
+    return {
+      key: "release_idoc",
+      title: "Release iDoc",
+      shortDescription: `Checks idoc types and segments are set to status released`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Idoc type/segement status must be set to released";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ReleaseIdocConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+ 
+    const file = obj.getXMLFile();
+    if (file === undefined) {
+      return [];
+    }
+ 
+    if (obj instanceof Objects.Table) {
+      if (file.getRaw().includes("<SEGMENTDEFINITION>") === false) {
+        return [];
+      }
+    } else if (!(obj instanceof Objects.Idoc)) {
+      return [];
+    }
+ 
+    if (file.getRaw().includes("<CLOSED>X</CLOSED>") === false) {
+      const position = new Position(1, 1);
+      const issue = Issue.atPosition(obj.getFiles()[0], position, this.getMessage(), this.getMetadata().key, this.conf.severity);
+      return [issue];
+    } else {
+      return [];
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/remove_descriptions.ts.html b/src/rules/remove_descriptions.ts.html new file mode 100644 index 00000000000..b750e7c154a --- /dev/null +++ b/src/rules/remove_descriptions.ts.html @@ -0,0 +1,478 @@ + + + + + + Code coverage report for src/rules/remove_descriptions.ts + + + + + + + + + +
+
+

All files / src/rules remove_descriptions.ts

+
+ +
+ 91.66% + Statements + 121/132 +
+ + +
+ 80.55% + Branches + 29/36 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 91.66% + Lines + 121/132 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +1321x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20848x +20848x +20848x +20848x +20848x +20848x +1x +10426x +10426x +10426x +10426x +10426x +10426x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10426x +10426x +9906x +9906x +10426x +10426x +243x +243x +10426x +10426x +243x +243x +243x +10426x +10426x +313x +313x +313x +52x +52x +52x +52x +  +  +52x +3x +52x +  +49x +1x +1x +48x +313x +20x +20x +241x +241x +241x +10426x +10426x +10426x +10426x +20x +20x +18x +18x +2x +20x +  +  +2x +2x +10426x +10426x +48x +48x +40x +40x +8x +48x +  +  +8x +8x +10426x +10426x +10x +10x +10x +  +  +10x +10x +10x +8x +8x +2x +2x +2x +10x +3x +3x +  +  +3x +3x +3x +3x +3x +3x +3x +2x +2x +10426x +10426x
import {IRule, IRuleMetadata} from "./_irule";
+import {Issue} from "../issue";
+import {XMLParser} from "fast-xml-parser";
+import * as Objects from "../objects";
+import {IObject} from "../objects/_iobject";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IFile} from "../files/_ifile";
+import {Position} from "../position";
+import {InfoClassDefinition} from "../abap/4_file_information/_abap_file_information";
+import {IRegistry} from "../_iregistry";
+import {DDIC} from "../ddic";
+import {xmlToArray} from "../xml_utils";
+ 
+export class RemoveDescriptionsConf extends BasicRuleConfig {
+  /** Ignore global exception classes */
+  public ignoreExceptions: boolean = false;
+  /** Ignore global workflow classes */
+  public ignoreWorkflow: boolean = true;
+}
+ 
+export class RemoveDescriptions implements IRule {
+ 
+  private conf = new RemoveDescriptionsConf();
+  private reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "remove_descriptions",
+      title: "Remove descriptions",
+      shortDescription: `Ensures you have no descriptions in metadata of methods, parameters, etc.
+ 
+Class descriptions are required, see rule description_empty.
+ 
+Consider using ABAP Doc for documentation.`,
+      tags: [],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: RemoveDescriptionsConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+// plan is omitting knowledge about descriptions in abaplint, so this rule must parse the XML
+    const ddic = new DDIC(this.reg);
+    if (obj instanceof Objects.Class) {
+      let def: InfoClassDefinition | undefined;
+      try {
+        def = obj.getClassDefinition();
+      } catch {
+        return [];
+      }
+      if (def === undefined) {
+        return [];
+      } else if (this.conf.ignoreExceptions && ddic.isException(def, obj)) {
+        return [];
+      } else if (this.conf.ignoreWorkflow === true && def.interfaces.find(e => e.name.toUpperCase() === "IF_WORKFLOW")) {
+        return [];
+      }
+      return this.checkClass(obj);
+    } else if (obj instanceof Objects.Interface) {
+      return this.checkInterface(obj);
+    }
+ 
+    return [];
+  }
+ 
+//////////////
+ 
+  private checkInterface(obj: Objects.Interface): Issue[] {
+    const xml = obj.getXML();
+    if (xml === undefined) {
+      return [];
+    }
+    const file = obj.getXMLFile();
+    if (file === undefined) {
+      return [];
+    }
+    return this.checkXML(xml, file);
+  }
+ 
+  private checkClass(obj: Objects.Class): Issue[] {
+    const xml = obj.getXML();
+    if (xml === undefined) {
+      return [];
+    }
+    const file = obj.getXMLFile();
+    if (file === undefined) {
+      return [];
+    }
+    return this.checkXML(xml, file);
+  }
+ 
+  private checkXML(xml: string, file: IFile) {
+    const parsed = new XMLParser({parseTagValue: false, ignoreAttributes: true, trimValues: false}).parse(xml) as any;
+ 
+    if (parsed === undefined || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
+      return [];
+    }
+ 
+    const desc = parsed.abapGit["asx:abap"]["asx:values"].DESCRIPTIONS;
+    if (desc === undefined) {
+      return [];
+    }
+ 
+    const reported: {[key: string]: boolean} = {}; // there might be multiple translations
+    const ret: Issue[] = [];
+    for (const d of xmlToArray(desc.SEOCOMPOTX)) {
+      const message = "Remove description for " + d.CMPNAME;
+      if (reported[d.CMPNAME] !== undefined) {
+        continue;
+      }
+ 
+      const position = new Position(1, 1);
+      const issue = Issue.atPosition(file, position, message, this.getMetadata().key, this.conf.severity);
+      ret.push(issue);
+ 
+      reported[d.CMPNAME] = true;
+    }
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/rfc_error_handling.ts.html b/src/rules/rfc_error_handling.ts.html new file mode 100644 index 00000000000..db0777bd192 --- /dev/null +++ b/src/rules/rfc_error_handling.ts.html @@ -0,0 +1,337 @@ + + + + + + Code coverage report for src/rules/rfc_error_handling.ts + + + + + + + + + +
+
+

All files / src/rules rfc_error_handling.ts

+
+ +
+ 100% + Statements + 85/85 +
+ + +
+ 100% + Branches + 18/18 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 85/85 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +851x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +2x +2x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +259x +259x +259x +1458x +1458x +1458x +1454x +1454x +4x +1458x +1x +1x +3x +3x +1458x +1x +1x +1x +1x +2x +2x +2x +1458x +6x +6x +2x +2x +1458x +1458x +1x +1x +1x +1x +1458x +259x +259x +259x +10423x +10423x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class RFCErrorHandlingConf extends BasicRuleConfig {
+}
+ 
+export class RFCErrorHandling extends ABAPRule {
+  private conf = new RFCErrorHandlingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "rfc_error_handling",
+      title: "RFC error handling",
+      tags: [RuleTag.SingleFile],
+      shortDescription: `Checks that exceptions 'system_failure' and 'communication_failure' are handled in RFC calls`,
+      extendedInformation: `https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abenrfc_exception.htm`,
+      badExample: `CALL FUNCTION 'ZRFC'
+  DESTINATION lv_rfc.`,
+      goodExample: `CALL FUNCTION 'ZRFC'
+  DESTINATION lv_rfc
+  EXCEPTIONS
+    system_failure        = 1 MESSAGE msg
+    communication_failure = 2 MESSAGE msg
+    resource_failure      = 3
+    OTHERS                = 4.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "RFC error handling: At least one unhandled exception from SYSTEM_FAILURE, COMMUNICATION_FAILURE, RESOURCE_FAILURE";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: RFCErrorHandlingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const output: Issue[] = [];
+ 
+    for (const stat of file.getStatements()) {
+      const token = stat.getFirstToken();
+ 
+      if (!(stat.get() instanceof Statements.CallFunction)) {
+        continue;
+      }
+ 
+      if (!stat.findFirstExpression(Expressions.Destination)) {
+        continue;
+      }
+ 
+      const list = stat.findFirstExpression(Expressions.ParameterListExceptions);
+      if (list === undefined) {
+        const issue = Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+        continue;
+      }
+ 
+      const parameters = list.findAllExpressions(Expressions.ParameterName);
+      const names: string[] = [];
+      for (const par of parameters) {
+        names.push(par.getFirstToken().getStr().toUpperCase());
+      }
+ 
+      if (names.indexOf("SYSTEM_FAILURE") < 0
+          || names.indexOf("COMMUNICATION_FAILURE") < 0
+          || names.indexOf("RESOURCE_FAILURE") < 0) {
+        const issue = Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+        continue;
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/select_add_order_by.ts.html b/src/rules/select_add_order_by.ts.html new file mode 100644 index 00000000000..d905aa71344 --- /dev/null +++ b/src/rules/select_add_order_by.ts.html @@ -0,0 +1,457 @@ + + + + + + Code coverage report for src/rules/select_add_order_by.ts + + + + + + + + + +
+
+

All files / src/rules select_add_order_by.ts

+
+ +
+ 96.8% + Statements + 121/125 +
+ + +
+ 82.97% + Branches + 39/47 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 96.8% + Lines + 121/125 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +1251x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +10423x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10423x +10423x +9916x +9916x +10423x +10423x +254x +254x +254x +10423x +10423x +243x +243x +10423x +10423x +320x +320x +82x +82x +238x +238x +238x +320x +245x +245x +12x +12x +233x +233x +233x +245x +13x +13x +3x +13x +  +  +10x +10x +10x +13x +3x +13x +1x +1x +6x +13x +3x +3x +1x +1x +1x +2x +2x +2x +233x +226x +226x +226x +10423x +10423x +6x +6x +5x +5x +5x +5x +5x +5x +1x +1x +  +  +1x +1x +5x +5x +5x +5x +3x +3x +5x +3x +3x +10423x +10423x
import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {IRegistry} from "../_iregistry";
+import {StructureType, TableAccessType, TableType} from "../abap/types/basic";
+import {StatementNode} from "../abap/nodes";
+import {ABAPFile} from "../abap/abap_file";
+import {ISpaghettiScope} from "../abap/5_syntax/_spaghetti_scope";
+ 
+ 
+export class SelectAddOrderByConf extends BasicRuleConfig {
+  public skipForAllEntries: boolean = false;
+}
+ 
+export class SelectAddOrderBy implements IRule {
+  private reg: IRegistry;
+  private conf = new SelectAddOrderByConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "select_add_order_by",
+      title: "SELECT add ORDER BY",
+      shortDescription: `SELECTs add ORDER BY clause`,
+      extendedInformation: `
+This will make sure that the SELECT statement returns results in the same sequence on different databases
+ 
+add ORDER BY PRIMARY KEY if in doubt
+ 
+If the target is a sorted/hashed table, no issue is reported`,
+      tags: [RuleTag.SingleFile],
+      badExample: `SELECT * FROM db INTO TABLE @DATA(tab).`,
+      goodExample: `SELECT * FROM db INTO TABLE @DATA(tab) ORDER BY PRIMARY KEY.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public setConfig(conf: SelectAddOrderByConf): void {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+    if (!(obj instanceof ABAPObject) || obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    const spaghetti = new SyntaxLogic(this.reg, obj).run().spaghetti;
+ 
+    for (const file of obj.getABAPFiles()) {
+      const stru = file.getStructure();
+      if (stru === undefined) {
+        return issues;
+      }
+ 
+      const selects = stru.findAllStatements(Statements.Select);
+      selects.push(...stru.findAllStatements(Statements.SelectLoop));
+      for (const s of selects) {
+        const concat = s.concatTokens().toUpperCase();
+        if (concat.startsWith("SELECT SINGLE ")) {
+          continue;
+        } else if (this.getConfig()?.skipForAllEntries === true && concat.includes(" FOR ALL ENTRIES ")) {
+          continue;
+        }
+ 
+        // skip COUNT(*)
+        const list = s.findAllExpressions(Expressions.SQLField);
+        if (list.length === 1 && list[0].getFirstChild()?.get() instanceof Expressions.SQLAggregation) {
+          continue;
+        } else if (s.findFirstExpression(Expressions.SQLOrderBy)) {
+          continue;
+        }
+ 
+        if (this.isTargetSortedOrHashed(s, spaghetti, file)) {
+          continue;
+        } else if (s.findFirstExpression(Expressions.SQLJoin) && s.findFirstExpression(Expressions.SQLForAllEntries)) {
+// see https://github.com/abaplint/abaplint/issues/2957
+          continue;
+        }
+ 
+        issues.push(Issue.atStatement(file, s, "Add ORDER BY", this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private isTargetSortedOrHashed(s: StatementNode, spaghetti: ISpaghettiScope, file: ABAPFile): boolean {
+    const target = s.findFirstExpression(Expressions.SQLIntoTable)?.findFirstExpression(Expressions.Target);
+    if (target) {
+      const start = target.getFirstToken().getStart();
+      const scope = spaghetti.lookupPosition(start, file.getFilename());
+      let type = scope?.findWriteReference(start)?.getType();
+ 
+      const children = target.getChildren();
+      if (type instanceof StructureType && children.length >= 3 && children[1].concatTokens() === "-") {
+        const found = type.getComponentByName(children[2].concatTokens());
+        if (found === undefined) {
+          return false;
+        }
+        type = found;
+      }
+ 
+      if (type instanceof TableType
+          && (type?.getAccessType() === TableAccessType.sorted
+          || type?.getAccessType() === TableAccessType.hashed)) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/select_performance.ts.html b/src/rules/select_performance.ts.html new file mode 100644 index 00000000000..dc925776e38 --- /dev/null +++ b/src/rules/select_performance.ts.html @@ -0,0 +1,490 @@ + + + + + + Code coverage report for src/rules/select_performance.ts + + + + + + + + + +
+
+

All files / src/rules select_performance.ts

+
+ +
+ 98.52% + Statements + 134/136 +
+ + +
+ 91.17% + Branches + 31/34 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 98.52% + Lines + 134/136 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +1361x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +20846x +1x +10424x +10424x +10424x +10424x +10424x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +10424x +10424x +252x +252x +252x +10424x +10424x +9908x +  +  +9908x +9908x +10424x +10424x +243x +243x +10424x +10424x +318x +62x +62x +256x +256x +256x +318x +263x +263x +12x +12x +251x +251x +251x +5x +5x +1x +1x +4x +4x +4x +251x +251x +251x +251x +251x +251x +251x +251x +12x +12x +12x +4x +12x +8x +2x +2x +6x +6x +6x +12x +2x +2x +4x +4x +4x +4x +251x +263x +244x +244x +244x +10424x +10424x +6x +6x +6x +6x +6x +6x +6x +6x +2x +2x +6x +4x +4x +10424x +10424x
import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {IRegistry} from "../_iregistry";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {Table} from "../objects/table";
+import {StructureType} from "../abap/types/basic/structure_type";
+import {ISpaghettiScope} from "../abap/5_syntax/_spaghetti_scope";
+import {StatementNode} from "../abap/nodes/statement_node";
+import {IFile} from "../files/_ifile";
+ 
+const DEFAULT_COLUMNS = 10;
+ 
+export class SelectPerformanceConf extends BasicRuleConfig {
+  /** Detects ENDSELECT */
+  public endSelect: boolean = true;
+  /** Detects SELECT * */
+  public selectStar: boolean = true;
+  /** "SELECT" * is considered okay if the table is less than X columns, the table must be known to the linter
+   * @default 10
+   */
+  public starOkayIfFewColumns: number = DEFAULT_COLUMNS;
+}
+ 
+export class SelectPerformance implements IRule {
+  protected reg: IRegistry;
+  private conf = new SelectPerformanceConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "select_performance",
+      title: "SELECT performance",
+      shortDescription: `Various checks regarding SELECT performance.`,
+      extendedInformation: `ENDSELECT: not reported when the corresponding SELECT has PACKAGE SIZE
+ 
+SELECT *: not reported if using INTO/APPENDING CORRESPONDING FIELDS OF`,
+      tags: [RuleTag.SingleFile, RuleTag.Performance],
+      badExample: `SELECT field1, field2 FROM table
+    INTO @DATA(structure) UP TO 1 ROWS ORDER BY field3 DESCENDING.
+ENDSELECT.`,
+      goodExample: `SELECT field1, field2 FROM table UP TO 1 ROWS
+  INTO TABLE @DATA(table) ORDER BY field3 DESCENDING`,
+    };
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public getConfig() {
+    if (this.conf.starOkayIfFewColumns === undefined) {
+      this.conf.starOkayIfFewColumns = DEFAULT_COLUMNS;
+    }
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SelectPerformanceConf): void {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const issues: Issue[] = [];
+ 
+    for (const file of obj.getABAPFiles()) {
+      const stru = file.getStructure();
+      if (stru === undefined) {
+        return issues;
+      }
+ 
+      if (this.conf.endSelect) {
+        for (const s of stru.findAllStructures(Structures.Select) || []) {
+          const select = s.findDirectStatement(Statements.SelectLoop);
+          if (select === undefined || select.concatTokens().toUpperCase().includes("PACKAGE SIZE")) {
+            continue;
+          }
+          const message = "Avoid use of ENDSELECT";
+          issues.push(Issue.atStatement(file, select, message, this.getMetadata().key, this.conf.severity));
+        }
+      }
+ 
+      if (this.conf.selectStar) {
+        const spaghetti = new SyntaxLogic(this.reg, obj).run().spaghetti;
+ 
+        const selects = stru.findAllStatements(Statements.Select);
+        selects.push(...stru.findAllStatements(Statements.SelectLoop));
+        for (const s of selects) {
+          const concat = s.concatTokens().toUpperCase();
+          if (concat.startsWith("SELECT * ") === false
+              && concat.startsWith("SELECT SINGLE * ") === false) {
+            continue;
+          } else if (concat.includes(" INTO CORRESPONDING FIELDS OF ")
+              || concat.includes(" APPENDING CORRESPONDING FIELDS OF ")) {
+            continue;
+          }
+ 
+          const columnCount = this.findNumberOfColumns(s, file, spaghetti);
+          if (columnCount
+              && columnCount <= this.getConfig().starOkayIfFewColumns) {
+            continue;
+          }
+ 
+          const message = "Avoid use of SELECT *";
+          issues.push(Issue.atToken(file, s.getFirstToken(), message, this.getMetadata().key, this.conf.severity));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private findNumberOfColumns(s: StatementNode, file: IFile, spaghetti: ISpaghettiScope): number | undefined {
+    const dbnames = s.findAllExpressions(Expressions.DatabaseTable);
+    if (dbnames.length === 1) {
+      const start = dbnames[0].getFirstToken().getStart();
+      const scope = spaghetti.lookupPosition(start, file.getFilename());
+      const name = scope?.findTableReference(start);
+      const tabl = this.reg.getObject("TABL", name) as Table | undefined;
+      const parsed = tabl?.parseType(this.reg);
+      if (parsed instanceof StructureType) {
+        return parsed.getComponents().length;
+      }
+    }
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/select_single_full_key.ts.html b/src/rules/select_single_full_key.ts.html new file mode 100644 index 00000000000..3fcc52db5f8 --- /dev/null +++ b/src/rules/select_single_full_key.ts.html @@ -0,0 +1,496 @@ + + + + + + Code coverage report for src/rules/select_single_full_key.ts + + + + + + + + + +
+
+

All files / src/rules select_single_full_key.ts

+
+ +
+ 89.05% + Statements + 122/137 +
+ + +
+ 76.08% + Branches + 35/46 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 89.05% + Lines + 122/137 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +1381x +1x +1x +1x +1x +1x +1x +1x +20850x +20850x +20850x +1x +10428x +10428x +10428x +10428x +10428x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10428x +10428x +249x +249x +249x +10428x +10428x +9910x +  +  +  +  +9910x +  +  +9910x +9910x +10428x +10428x +243x +243x +10428x +10428x +3x +3x +3x +3x +3x +10428x +10428x +315x +62x +62x +253x +253x +315x +26x +26x +227x +227x +227x +227x +315x +234x +234x +1302x +1302x +1296x +1302x +  +6x +  +  +6x +1302x +  +  +6x +1302x +1302x +1x +  +  +1x +1x +5x +5x +5x +1302x +  +  +5x +5x +5x +5x +1302x +8x +2x +2x +2x +6x +6x +5x +1302x +2x +2x +2x +2x +2x +2x +2x +2x +5x +1302x +3x +3x +3x +1302x +234x +227x +227x +227x +10428x +10428x +5x +5x +5x +10428x +10428x + 
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile, ABAPObject, Comment, Expressions, IObject, IRegistry, ISpaghettiScope, Position, Statements, SyntaxLogic} from "..";
+import {Table} from "../objects";
+import {StatementNode} from "../abap/nodes";
+import {EditHelper} from "../edit_helper";
+ 
+export class SelectSingleFullKeyConf extends BasicRuleConfig {
+  public allowPseudo = true;
+}
+ 
+export class SelectSingleFullKey implements IRule {
+  private reg: IRegistry;
+  private conf = new SelectSingleFullKeyConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "select_single_full_key",
+      title: "Detect SELECT SINGLE which are possibily not unique",
+      shortDescription: `Detect SELECT SINGLE which are possibily not unique`,
+      extendedInformation: `Table definitions must be known, ie. inside the errorNamespace
+ 
+If the statement contains a JOIN it is not checked`,
+      pseudoComment: "EC CI_NOORDER",
+      tags: [RuleTag.Quickfix],
+    };
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public getConfig() {
+    if (this.conf === undefined) {
+      this.conf = {
+        allowPseudo: true,
+      };
+    }
+    if (this.conf.allowPseudo === undefined) {
+      this.conf.allowPseudo = true;
+    }
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SelectSingleFullKeyConf) {
+    this.conf = conf;
+  }
+ 
+  private buildFix(file: ABAPFile, statement: StatementNode) {
+    return {
+      description: `Add "#EC CI_NOORDER`,
+      edit: EditHelper.insertAt(file, statement.getLastToken().getStart(), ` "#EC CI_NOORDER`),
+    };
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const syntax = new SyntaxLogic(this.reg, obj).run();
+    if (syntax.issues.length > 0) {
+      return [];
+    }
+ 
+    const issues: Issue[] = [];
+    const message = "SELECT SINGLE possibily not unique";
+ 
+    for (const file of obj.getABAPFiles()) {
+      const statements = file.getStatements();
+      for (let i = 0; i < statements.length; i++) {
+        const s = statements[i];
+        if (!(s.get() instanceof Statements.Select)) {
+          continue;
+        } else if (s.findFirstExpression(Expressions.SQLJoin)) {
+          continue;
+        } else if (s.findTokenSequencePosition("SELECT", "SINGLE") === undefined) {
+          continue;
+        }
+        const databaseTable = s.findFirstExpression(Expressions.DatabaseTable);
+        if (databaseTable === undefined) {
+          continue;
+        }
+        const next = statements[i + 1];
+        if (next?.get() instanceof Comment
+            && next.concatTokens().includes(this.getMetadata().pseudoComment + "")) {
+          if (this.getConfig().allowPseudo !== true) {
+            issues.push(Issue.atStatement(file, s, "Pseudo comment not allowed", this.getMetadata().key, this.getConfig().severity));
+          }
+          continue;
+        }
+ 
+        const tabl = this.findReference(databaseTable.getFirstToken().getStart(), syntax.spaghetti, file);
+        const table = this.reg.getObject("TABL", tabl) as Table | undefined;
+        if (table === undefined) {
+          continue;
+        }
+        const keys = table.listKeys(this.reg);
+ 
+        const cond = s.findFirstExpression(Expressions.SQLCond);
+        const set = new Set<string>();
+        for (const key of keys) {
+          if (key === "MANDT") {
+            // todo, it should check for the correct type instead
+            continue;
+          }
+          set.add(key);
+        }
+ 
+        for (const compare of cond?.findAllExpressionsRecursive(Expressions.SQLCompare) || []) {
+          if (compare.getChildren().length === 3) {
+            const fname = compare.findDirectExpression(Expressions.SQLFieldName)?.concatTokens().toUpperCase();
+            const operator = compare.findDirectExpression(Expressions.SQLCompareOperator)?.concatTokens().toUpperCase();
+            if (fname && (operator === "=" || operator === "EQ")) {
+              set.delete(fname);
+            }
+          }
+        }
+ 
+        if (set.size > 0) {
+          const fix = this.buildFix(file, s);
+          issues.push(Issue.atStatement(file, s, message, this.getMetadata().key, this.getConfig().severity, undefined, [fix]));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private findReference(position: Position, spaghetti: ISpaghettiScope, file: ABAPFile) {
+    const scope = spaghetti.lookupPosition(position, file.getFilename());
+    return scope?.findTableReference(position);
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/selection_screen_naming.ts.html b/src/rules/selection_screen_naming.ts.html new file mode 100644 index 00000000000..07aca84fe74 --- /dev/null +++ b/src/rules/selection_screen_naming.ts.html @@ -0,0 +1,409 @@ + + + + + + Code coverage report for src/rules/selection_screen_naming.ts + + + + + + + + + +
+
+

All files / src/rules selection_screen_naming.ts

+
+ +
+ 96.29% + Statements + 104/108 +
+ + +
+ 93.75% + Branches + 30/32 +
+ + +
+ 100% + Functions + 9/9 +
+ + +
+ 96.29% + Lines + 104/108 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +1091x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20850x +20850x +20850x +20850x +20850x +20850x +20850x +20850x +1x +10425x +10425x +10425x +10425x +10425x +31115x +31115x +31115x +31115x +31115x +31115x +31115x +10425x +10425x +17x +17x +17x +17x +10425x +10425x +9906x +9906x +10425x +10425x +246x +246x +10425x +10425x +302x +302x +  +  +302x +302x +302x +302x +16x +16x +302x +16x +16x +302x +16x +16x +302x +302x +1501x +1501x +1501x +34x +34x +34x +17x +17x +17x +17x +17x +17x +17x +34x +1501x +302x +302x +10425x +10425x +51x +51x +10x +51x +11x +41x +30x +30x +51x +51x +10425x +10425x +34x +7x +34x +7x +27x +20x +20x +  +  +34x +10425x + 
import {ABAPRule} from "./_abap_rule";
+import {Issue} from "../issue";
+import {NamingRuleConfig} from "./_naming_rule_config";
+import {Parameter, SelectOption, SelectionScreen} from "../abap/2_statements/statements";
+import {IStatement} from "../abap/2_statements/statements/_statement";
+import {NameValidator} from "../utils/name_validator";
+import {FieldSub, InlineField} from "../abap/2_statements/expressions";
+import {StatementNode, ExpressionNode} from "../abap/nodes";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class SelectionScreenNamingConf extends NamingRuleConfig {
+  /** The pattern for selection-screen parameters */
+  public parameter: string = "^P_.+$";
+  /** The pattern for selection-screen select-options */
+  public selectOption: string = "^S_.+$";
+  /** The pattern for selection-screen screen elements */
+  public screenElement: string = "^SC_.+$";
+}
+ 
+export class SelectionScreenNaming extends ABAPRule {
+ 
+  private conf = new SelectionScreenNamingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "selection_screen_naming",
+      title: "Selection screen naming conventions",
+      shortDescription: `Allows you to enforce a pattern, such as a prefix, for selection-screen variable names.`,
+      tags: [RuleTag.Naming, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getDescription(expected: string, actual: string): string {
+    return this.conf.patternKind === "required" ?
+      `Selection-Screen variable name does not match pattern ${expected}: ${actual}` :
+      `Selection-Screen variable name must not match pattern ${expected}: ${actual}`;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SelectionScreenNamingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+    if (this.conf.patternKind === undefined) {
+      this.conf.patternKind = "required";
+    }
+    let parameterCheckDisabled: boolean = false;
+    let selectOptionDisabled: boolean = false;
+    let screenElementDisabled: boolean = false;
+    if (this.conf.parameter === undefined || this.conf.parameter.length === 0) {
+      parameterCheckDisabled = true;
+    }
+    if (this.conf.selectOption === undefined || this.conf.selectOption.length === 0) {
+      selectOptionDisabled = true;
+    }
+    if (this.conf.screenElement === undefined || this.conf.screenElement.length === 0) {
+      screenElementDisabled = true;
+    }
+ 
+    for (const stat of file.getStatements()) {
+      if ((stat.get() instanceof Parameter && !parameterCheckDisabled)
+          || (stat.get() instanceof SelectOption && !selectOptionDisabled)
+          || (stat.get() instanceof SelectionScreen && !screenElementDisabled)) {
+        const fieldNode = this.getFieldForStatementNode(stat);
+        const regex = new RegExp(this.getPatternForStatement(stat.get()), "i");
+        if (fieldNode && NameValidator.violatesRule(fieldNode.getFirstToken().getStr(), regex, this.conf)) {
+          issues.push(Issue.atToken(
+            file,
+            fieldNode.getFirstToken(),
+            this.getDescription(this.getPatternForStatement(stat.get()), fieldNode.getFirstToken().getStr()),
+            this.getMetadata().key,
+            this.conf.severity));
+        }
+      }
+    }
+    return issues;
+  }
+ 
+  private getPatternForStatement(statement: IStatement): string {
+    let pattern = "";
+    if (statement instanceof Parameter) {
+      pattern = this.conf.parameter;
+    } else if (statement instanceof SelectOption) {
+      pattern = this.conf.selectOption;
+    } else if (statement instanceof SelectionScreen) {
+      pattern = this.conf.screenElement;
+    }
+    return pattern;
+  }
+ 
+  private getFieldForStatementNode(statNode: StatementNode): ExpressionNode | undefined {
+    if (statNode.get() instanceof Parameter) {
+      return statNode.findFirstExpression(FieldSub);
+    } else if (statNode.get() instanceof SelectOption) {
+      return statNode.findFirstExpression(FieldSub);
+    } else if (statNode.get() instanceof SelectionScreen) {
+      return statNode.findFirstExpression(InlineField);
+    } else {
+      return undefined;
+    }
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/sequential_blank.ts.html b/src/rules/sequential_blank.ts.html new file mode 100644 index 00000000000..8c6d7524a54 --- /dev/null +++ b/src/rules/sequential_blank.ts.html @@ -0,0 +1,304 @@ + + + + + + Code coverage report for src/rules/sequential_blank.ts + + + + + + + + + +
+
+

All files / src/rules sequential_blank.ts

+
+ +
+ 100% + Statements + 74/74 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 74/74 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +741x +1x +1x +1x +1x +1x +1x +1x +20846x +20846x +20846x +20846x +20846x +20846x +1x +10424x +10424x +10424x +1847x +1847x +10424x +10424x +10424x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +10424x +10424x +5x +5x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +265x +265x +265x +265x +265x +265x +1795x +285x +1795x +1510x +1510x +1795x +1795x +5x +5x +2x +2x +5x +5x +5x +5x +5x +5x +5x +5x +1795x +265x +265x +265x +10424x
import {Issue} from "../issue";
+import {Position} from "../position";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {EditHelper} from "../edit_helper";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class SequentialBlankConf extends BasicRuleConfig {
+  /** An equal or higher number of sequential blank lines will trigger a violation.
+   * Example: if lines = 3, a maximum of 2 is allowed.
+   */
+  public lines: number = 4;
+}
+ 
+export class SequentialBlank extends ABAPRule {
+ 
+  public static isBlankOrWhitespace(line: string): boolean {
+    return /^\s*$/.test(line);
+  }
+  private conf = new SequentialBlankConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "sequential_blank",
+      title: "Sequential blank lines",
+      shortDescription: `Checks that code does not contain more than the configured number of blank lines in a row.`,
+      tags: [RuleTag.Whitespace, RuleTag.Quickfix, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Remove sequential blank lines";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SequentialBlankConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const rows = file.getRawRows();
+    let blanks = 0;
+ 
+    for (let i = 0; i < rows.length; i++) {
+      if (SequentialBlank.isBlankOrWhitespace(rows[i])) {
+        blanks++;
+      } else {
+        blanks = 0;
+      }
+ 
+      if (blanks === this.conf.lines) {
+        let blankCounter = 1;
+        while(i + blankCounter < rows.length && SequentialBlank.isBlankOrWhitespace(rows[i + blankCounter])){
+          ++blankCounter;
+        }
+        const reportPos = new Position(i + 1, 1);
+        // fix has to start at end of previous row for it to properly delete the first row
+        const startPos = new Position(i, rows[i].length + 1);
+        const endPos = new Position(i + blankCounter, rows[i + blankCounter - 1].length + 1);
+        const fix = EditHelper.deleteRange(file, startPos, endPos);
+        const issue = Issue.atPosition(file, reportPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/short_case.ts.html b/src/rules/short_case.ts.html new file mode 100644 index 00000000000..3b5af69d442 --- /dev/null +++ b/src/rules/short_case.ts.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for src/rules/short_case.ts + + + + + + + + + +
+
+

All files / src/rules short_case.ts

+
+ +
+ 97.26% + Statements + 71/73 +
+ + +
+ 93.33% + Branches + 14/15 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 97.26% + Lines + 71/73 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +731x +1x +1x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10423x +10423x +3x +3x +10423x +10423x +9906x +9906x +10423x +10423x +245x +245x +10423x +10423x +262x +262x +262x +262x +12x +12x +250x +262x +8x +8x +  +  +8x +8x +4x +1x +1x +3x +3x +3x +8x +250x +250x +250x +10423x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import * as Structures from "../abap/3_structures/structures";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class ShortCaseConf extends BasicRuleConfig {
+  /** The smallest number of WHEN branches which will trigger a violation.
+   * Example: if length = 1, at least 2 branches are required
+   */
+  public length: number = 1;
+  /** List of inputs for CASE which are allowed
+   * @uniqueItems true
+  */
+  public allow: string[] = [];
+}
+ 
+export class ShortCase extends ABAPRule {
+  private conf = new ShortCaseConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "short_case",
+      title: "Short CASE",
+      shortDescription: `Checks for CASE statements which have fewer than the specified number of branches`,
+      extendedInformation: `Short CASE constructs can be changed to IF`,
+      tags: [RuleTag.SingleFile],
+      badExample: "CASE moo.\nWHEN 'X'.\nENDCASE.",
+      goodExample: "IF moo = 'X'.\nENDIF.",
+    };
+  }
+ 
+  private getMessage(): string {
+    return "CASE construct too short, it must have a minimum of " + (this.conf.length + 1) + " WHEN branches";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: ShortCaseConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return [];
+    }
+ 
+    for (const c of struc.findAllStructures(Structures.Case)) {
+      const clist = c.findDirectStatements(Statements.Case);
+      if (clist.length > 0 && this.conf.allow && this.conf.allow.find((e) => { return e === clist[0].getTokens()[1].getStr(); })) {
+        continue;
+      }
+ 
+      if (c.findDirectStructures(Structures.When).length <= this.conf.length) {
+        if (c.findAllExpressions(Expressions.Or).length > 0) {
+          continue;
+        }
+        const issue = Issue.atToken(file, c.getFirstToken(), this.getMessage(), this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/sicf_consistency.ts.html b/src/rules/sicf_consistency.ts.html new file mode 100644 index 00000000000..68fa1448064 --- /dev/null +++ b/src/rules/sicf_consistency.ts.html @@ -0,0 +1,436 @@ + + + + + + Code coverage report for src/rules/sicf_consistency.ts + + + + + + + + + +
+
+

All files / src/rules sicf_consistency.ts

+
+ +
+ 78.81% + Statements + 93/118 +
+ + +
+ 75% + Branches + 15/20 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 78.81% + Lines + 93/118 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +1181x +1x +1x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +20847x +20847x +1x +10425x +10425x +10425x +10425x +10425x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10425x +10425x +9906x +9906x +10425x +10425x +243x +243x +  +  +243x +10425x +10425x +246x +246x +246x +10425x +10425x +312x +312x +312x +309x +309x +3x +3x +312x +1x +1x +2x +2x +2x +2x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +2x +  +  +  +  +  +1x +1x +2x +  +  +  +  +  +2x +2x +2x +2x +10425x +10425x +10425x +10425x +1x +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +10425x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {ICFService, Class} from "../objects";
+import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {Position} from "../position";
+import {InfoClassDefinition, InfoImplementing} from "../abap/4_file_information/_abap_file_information";
+ 
+export class SICFConsistencyConf extends BasicRuleConfig {
+  /** skip specific names, case insensitive
+   * @uniqueItems true
+   */
+  public skipNames?: string[] = [];
+}
+ 
+export class SICFConsistency implements IRule {
+  private reg: IRegistry;
+  private conf = new SICFConsistencyConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "sicf_consistency",
+      title: "SICF consistency",
+      shortDescription: `Checks the validity of ICF services`,
+      extendedInformation:
+`* Class defined in handler must exist
+* Class must not have any syntax errors
+* Class must implement interface IF_HTTP_EXTENSION`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SICFConsistencyConf) {
+    this.conf = conf;
+    if (this.conf.skipNames === undefined) {
+      this.conf.skipNames = [];
+    }
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (!(obj instanceof ICFService)) {
+      return [];
+    }
+ 
+    const handlers = obj.getHandlerList();
+    if (handlers === undefined) {
+      return [];
+    }
+ 
+    for (const h of handlers) {
+      const clas = this.reg.getObject("CLAS", h) as Class | undefined;
+      if (clas === undefined) {
+        if (this.conf.skipNames && this.conf.skipNames.some((a) => a.toUpperCase() === h.toUpperCase())) {
+          continue;
+        }
+ 
+        const pattern = new RegExp(this.reg.getConfig().getSyntaxSetttings().errorNamespace, "i");
+        if (pattern.test(h) === true) {
+          const message = "Handler class " + h + " not found";
+          const issue = Issue.atPosition(obj.getFiles()[0], new Position(1, 1), message, this.getMetadata().key, this.conf.severity);
+          issues.push(issue);
+        }
+        continue;
+      }
+ 
+      const def = clas.getClassDefinition();
+      if (def === undefined) {
+        const message = "Syntax error in class " + h;
+        const issue = Issue.atPosition(obj.getFiles()[0], new Position(1, 1), message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+        continue;
+      }
+ 
+      const implementing = this.findImplementing(def);
+      if (implementing.findIndex((i) => { return i.name.toUpperCase() === "IF_HTTP_EXTENSION"; }) < 0) {
+        const message = "Handler class " + h + " must implement IF_HTTP_EXTENSION";
+        const issue = Issue.atPosition(obj.getFiles()[0], new Position(1, 1), message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+        continue;
+      }
+    }
+ 
+    return issues;
+  }
+ 
+///////////////////////////
+ 
+  private findImplementing(def: InfoClassDefinition): readonly InfoImplementing[] {
+    let ret = def.interfaces;
+ 
+    let superName = def.superClassName;
+    while (superName !== undefined) {
+      const clas = this.reg.getObject("CLAS", superName) as Class | undefined;
+      if (clas === undefined) {
+        break;
+      }
+      const superDef = clas.getClassDefinition();
+      if (superDef === undefined) {
+        break;
+      }
+      ret = ret.concat(superDef.interfaces);
+      superName = superDef.superClassName;
+    }
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/slow_parameter_passing.ts.html b/src/rules/slow_parameter_passing.ts.html new file mode 100644 index 00000000000..ef07d9ced13 --- /dev/null +++ b/src/rules/slow_parameter_passing.ts.html @@ -0,0 +1,463 @@ + + + + + + Code coverage report for src/rules/slow_parameter_passing.ts + + + + + + + + + +
+
+

All files / src/rules slow_parameter_passing.ts

+
+ +
+ 98.41% + Statements + 124/126 +
+ + +
+ 89.65% + Branches + 26/29 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 98.41% + Lines + 124/126 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +1271x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10429x +10429x +10429x +10429x +10429x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10429x +10429x +9908x +9908x +10429x +10429x +243x +243x +10429x +10429x +250x +250x +250x +10429x +10429x +316x +316x +316x +62x +62x +254x +254x +254x +254x +316x +53x +53x +7x +7x +7x +7x +53x +44x +44x +40x +44x +  +  +4x +44x +2x +2x +2x +2x +44x +46x +254x +254x +254x +10429x +10429x +4x +4x +4x +11x +11x +11x +2x +2x +11x +4x +4x +4x +10429x +10429x +1178x +1178x +1178x +53x +1178x +1125x +924x +924x +1125x +1178x +1178x +1178x +10429x +10429x + 
import {BasicRuleConfig} from "./_basic_rule_config";
+import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {IRegistry} from "../_iregistry";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {IdentifierMeta, TypedIdentifier} from "../abap/types/_typed_identifier";
+import {Position} from "../position";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+ 
+export class SlowParameterPassingConf extends BasicRuleConfig {
+}
+ 
+export class SlowParameterPassing implements IRule {
+  private reg: IRegistry;
+  private conf = new SlowParameterPassingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "slow_parameter_passing",
+      title: "Slow Parameter Passing",
+      shortDescription: `Detects slow pass by value passing for methods where parameter is not changed`,
+      extendedInformation: `Method parameters defined in interfaces is not checked`,
+      tags: [RuleTag.Performance],
+      badExample: `CLASS lcl DEFINITION.
+  PUBLIC SECTION.
+    METHODS bar IMPORTING VALUE(sdf) TYPE string.
+ENDCLASS.
+CLASS lcl IMPLEMENTATION.
+  METHOD bar.
+    WRITE sdf.
+  ENDMETHOD.
+ENDCLASS.`,
+      goodExample: `CLASS lcl DEFINITION.
+  PUBLIC SECTION.
+    METHODS bar IMPORTING sdf TYPE string.
+ENDCLASS.
+CLASS lcl IMPLEMENTATION.
+  METHOD bar.
+    WRITE sdf.
+  ENDMETHOD.
+ENDCLASS.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SlowParameterPassingConf): void {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry): IRule {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const top = new SyntaxLogic(this.reg, obj).run().spaghetti.getTop();
+    const methods = this.listMethodNodes(top);
+ 
+    for (const m of methods) {
+      const vars = m.getData().vars;
+      if (m.getIdentifier().sname.includes("~")) {
+        // skip methods defined in interfaces
+        // todo: checking for just "~" is not correct, there might be ALIASES
+        continue;
+      }
+      for (const v in vars) {
+        const id = vars[v];
+        if (id.getMeta().includes(IdentifierMeta.PassByValue) === false) {
+          continue;
+        } else if (this.reg.isFileDependency(id.getFilename()) === true) {
+          continue;
+        }
+        const writes = this.listWritePositions(m, id);
+        if (writes.length === 0) {
+          const message = "Parameter " + id.getName() + " passed by VALUE but not changed";
+ 
+          issues.push(Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private listWritePositions(node: ISpaghettiScopeNode, id: TypedIdentifier): Position[] {
+    const ret: Position[] = [];
+ 
+    for (const v of node.getData().references) {
+      if (v.referenceType === ReferenceType.DataWriteReference
+          && v.resolved?.getFilename() === id.getFilename()
+          && v.resolved?.getStart().equals(id.getStart())) {
+        ret.push(v.position.getStart());
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private listMethodNodes(node: ISpaghettiScopeNode): ISpaghettiScopeNode[] {
+    const ret: ISpaghettiScopeNode[] = [];
+ 
+    if (node.getIdentifier().stype === ScopeType.Method) {
+      ret.push(node);
+    } else {
+      for (const c of node.getChildren()) {
+        ret.push(...this.listMethodNodes(c));
+      }
+    }
+ 
+    return ret;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/smim_consistency.ts.html b/src/rules/smim_consistency.ts.html new file mode 100644 index 00000000000..7e015bc8638 --- /dev/null +++ b/src/rules/smim_consistency.ts.html @@ -0,0 +1,295 @@ + + + + + + Code coverage report for src/rules/smim_consistency.ts + + + + + + + + + +
+
+

All files / src/rules smim_consistency.ts

+
+ +
+ 97.18% + Statements + 69/71 +
+ + +
+ 81.25% + Branches + 13/16 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 97.18% + Lines + 69/71 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +711x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +245x +245x +245x +10424x +10424x +311x +311x +311x +309x +309x +2x +311x +311x +1x +1x +1x +1x +1x +2x +2x +2x +10424x +10424x +2x +2x +2x +2x +10424x +10424x +1x +1x +1x +  +  +1x +1x +1x +10424x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {MIMEObject} from "../objects";
+import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {Position} from "../position";
+ 
+export class SMIMConsistencyConf extends BasicRuleConfig {
+}
+ 
+export class SMIMConsistency implements IRule {
+  private conf = new SMIMConsistencyConf();
+  private reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "smim_consistency",
+      title: "SMIM consistency check",
+      shortDescription: `SMIM consistency check`,
+      extendedInformation: "Check folders exists",
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SMIMConsistencyConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (!(obj instanceof MIMEObject)) {
+      return [];
+    }
+ 
+    const base = this.base(obj.getURL() || "");
+    if (base !== "" && this.findFolder(base) === false) {
+      const message = `Parent folder "${base}" not found`;
+      const position = new Position(1, 1);
+      const issue = Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity);
+      issues.push(issue);
+    }
+ 
+    return issues;
+  }
+ 
+  private base(full: string): string {
+    const components = full.split("/");
+    components.pop();
+    return components.join("/");
+  }
+ 
+  private findFolder(base: string): boolean {
+    for (const smim of this.reg.getObjectsByType("SMIM")) {
+      const mime = smim as MIMEObject;
+      if (base === mime.getURL() && mime.isFolder() === true) {
+        return true;
+      }
+    }
+    return false;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/space_before_colon.ts.html b/src/rules/space_before_colon.ts.html new file mode 100644 index 00000000000..44210b6581a --- /dev/null +++ b/src/rules/space_before_colon.ts.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/rules/space_before_colon.ts + + + + + + + + + +
+
+

All files / src/rules space_before_colon.ts

+
+ +
+ 96.96% + Statements + 64/66 +
+ + +
+ 91.66% + Branches + 11/12 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 96.96% + Lines + 64/66 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +661x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10424x +10424x +2x +2x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +259x +259x +259x +259x +259x +5910x +  +  +5910x +5910x +5910x +2x +2x +2x +2x +2x +2x +2x +2x +5910x +5910x +259x +259x +259x +10424x +10424x
import {Position} from "../position";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper} from "../edit_helper";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+ 
+export class SpaceBeforeColonConf extends BasicRuleConfig {
+}
+ 
+export class SpaceBeforeColon extends ABAPRule {
+ 
+  private conf = new SpaceBeforeColonConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "space_before_colon",
+      title: "Space before colon",
+      shortDescription: `Checks that there are no spaces in front of colons in chained statements.`,
+      extendedInformation: `https://docs.abapopenchecks.org/checks/80/`,
+      tags: [RuleTag.Whitespace, RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `DATA : foo TYPE string.`,
+      goodExample: `DATA: foo TYPE string.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Remove space before colon";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SpaceBeforeColonConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    let prev = file.getTokens()[0];
+ 
+    for (const token of file.getTokens()) {
+      if (token.getStr() === ":" && !prev) {
+        const issue = Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      } else if (token.getStr() === ":"
+          && prev.getRow() === token.getRow()
+          && prev.getCol() + prev.getStr().length < token.getCol()) {
+        const start = new Position(token.getRow(), prev.getEnd().getCol());
+        const end = new Position(token.getRow(), token.getStart().getCol());
+        const fix = EditHelper.deleteRange(file, start, end);
+        const issue = Issue.atRowRange(file, start.getRow(),
+                                       start.getCol(), end.getCol(),
+                                       this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+      prev = token;
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/space_before_dot.ts.html b/src/rules/space_before_dot.ts.html new file mode 100644 index 00000000000..69b01d72f61 --- /dev/null +++ b/src/rules/space_before_dot.ts.html @@ -0,0 +1,379 @@ + + + + + + Code coverage report for src/rules/space_before_dot.ts + + + + + + + + + +
+
+

All files / src/rules space_before_dot.ts

+
+ +
+ 100% + Statements + 99/99 +
+ + +
+ 100% + Branches + 28/28 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 99/99 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +991x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +10423x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +31126x +10423x +10423x +10x +10x +10423x +10423x +9906x +9906x +10423x +10423x +245x +245x +10423x +10423x +267x +267x +267x +267x +267x +12x +12x +12x +255x +255x +255x +267x +253x +253x +51x +51x +49x +49x +51x +51x +1x +1x +253x +20x +20x +20x +20x +20x +253x +254x +267x +5827x +1140x +1140x +4687x +5827x +10x +10x +10x +10x +10x +10x +4687x +4687x +254x +254x +254x +10423x +10423x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Statements from "../abap/2_statements/statements";
+import {Class, Interface} from "../objects";
+import {IObject} from "../objects/_iobject";
+import {Punctuation} from "../abap/1_lexer/tokens";
+import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
+import {Position} from "../position";
+import {EditHelper} from "../edit_helper";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {DDIC} from "../ddic";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class SpaceBeforeDotConf extends BasicRuleConfig {
+  public ignoreGlobalDefinition: boolean = true;
+  public ignoreExceptions: boolean = true;
+}
+ 
+export class SpaceBeforeDot extends ABAPRule {
+ 
+  private conf = new SpaceBeforeDotConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "space_before_dot",
+      title: "Space before dot",
+      shortDescription: `Checks for extra spaces before dots at the ends of statements`,
+      extendedInformation: `
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#be-consistent
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#condense-your-code`,
+      tags: [RuleTag.Whitespace, RuleTag.Quickfix, RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `WRITE bar .`,
+      goodExample: `WRITE bar.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Remove space before \",\" or \".\"";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SpaceBeforeDotConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: IObject) {
+    const issues: Issue[] = [];
+    let prev: AbstractToken | undefined = undefined;
+    let startRow = 0;
+ 
+    if (file.getStructure() === undefined) {
+      // some parser error exists in file
+      return [];
+    }
+ 
+    const ddic = new DDIC(this.reg);
+ 
+    if (this.conf.ignoreGlobalDefinition) {
+      const structure = file.getStructure();
+      if (obj instanceof Class && structure !== undefined) {
+        const endclass = structure.findFirstStatement(Statements.EndClass);
+        if (endclass !== undefined) {
+          startRow = endclass.getFirstToken().getRow();
+        }
+        const definition = obj.getClassDefinition();
+        if (definition !== undefined && this.conf.ignoreExceptions && ddic.isException(definition, obj)) {
+          return [];
+        }
+      } else if (obj instanceof Interface && structure !== undefined) {
+        const endinterface = structure.findFirstStatement(Statements.EndInterface);
+        if (endinterface !== undefined) {
+          startRow = endinterface.getFirstToken().getRow();
+        }
+      }
+    }
+ 
+    for (const t of file.getTokens()) {
+      if (t.getRow() < startRow) {
+        continue;
+      }
+ 
+      if (prev !== undefined && t instanceof Punctuation && prev.getCol() + prev.getStr().length < t.getCol()) {
+        const start = new Position(t.getStart().getRow(), prev.getEnd().getCol());
+        const end = new Position(t.getStart().getRow(), t.getStart().getCol());
+        const fix = EditHelper.deleteRange(file, start, end);
+        const issue = Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+      prev = t;
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/sql_escape_host_variables.ts.html b/src/rules/sql_escape_host_variables.ts.html new file mode 100644 index 00000000000..f871a55dd3b --- /dev/null +++ b/src/rules/sql_escape_host_variables.ts.html @@ -0,0 +1,352 @@ + + + + + + Code coverage report for src/rules/sql_escape_host_variables.ts + + + + + + + + + +
+
+

All files / src/rules sql_escape_host_variables.ts

+
+ +
+ 97.77% + Statements + 88/90 +
+ + +
+ 77.41% + Branches + 24/31 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.77% + Lines + 88/90 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +901x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +31109x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +279x +279x +279x +279x +23x +23x +256x +256x +279x +  +  +256x +279x +1392x +1392x +1392x +1392x +1392x +1392x +25x +25x +12x +12x +12x +7x +7x +7x +7x +7x +7x +7x +12x +25x +25x +16x +16x +10x +10x +6x +6x +6x +16x +16x +16x +16x +16x +25x +1392x +256x +256x +256x +10424x
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Version} from "../version";
+import {RuleTag, IRuleMetadata} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+import {EditHelper} from "../edit_helper";
+ 
+export class SQLEscapeHostVariablesConf extends BasicRuleConfig {
+}
+ 
+export class SQLEscapeHostVariables extends ABAPRule {
+  private conf = new SQLEscapeHostVariablesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "sql_escape_host_variables",
+      title: "Escape SQL host variables",
+      shortDescription: `Escape SQL host variables, from 740sp05`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-obsolete-language-elements`,
+      tags: [RuleTag.Upport, RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.Syntax],
+      badExample: `SELECT * FROM tab INTO TABLE res WHERE field = val.`,
+      goodExample: `SELECT * FROM tab INTO TABLE @res WHERE field = @val.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SQLEscapeHostVariablesConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+ 
+    const type = obj.getType();
+    if (type === "INTF" || type === "TYPE") {
+      return [];
+    }
+ 
+    if (this.reg.getConfig().getVersion() < Version.v740sp02
+        && this.reg.getConfig().getVersion() !== Version.Cloud) {
+      return [];
+    }
+ 
+    for (const s of file.getStatements()) {
+      if (s.get() instanceof Statements.UpdateDatabase
+          || s.get() instanceof Statements.ModifyDatabase
+          || s.get() instanceof Statements.Select
+          || s.get() instanceof Statements.SelectLoop
+          || s.get() instanceof Statements.InsertDatabase
+          || s.get() instanceof Statements.DeleteDatabase) {
+ 
+        for (const o of s.findAllExpressionsMulti([Expressions.SQLSource, Expressions.SQLSourceSimple])) {
+          const first = o.getFirstChild();
+          if ((first?.get() instanceof Expressions.Source && first.getChildren()[0].get() instanceof Expressions.FieldChain)
+              || (first?.get() instanceof Expressions.SimpleSource3 && first.getChildren()[0].get() instanceof Expressions.FieldChain)) {
+            const message = "Escape SQL host variables";
+            const firstToken = o.getFirstChild()!.getFirstToken();
+            const fix = EditHelper.replaceToken(file, firstToken, "@" + firstToken?.getStr());
+            const issue = Issue.atToken(file, first.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);
+            issues.push(issue);
+            break;
+          }
+        }
+ 
+        for (const o of s.findAllExpressions(Expressions.SQLTarget)) {
+          const escaped = o.findDirectTokenByText("@");
+          if (escaped !== undefined) {
+            continue;
+          }
+ 
+          const message = "Escape SQL host variables";
+          const firstToken = o.getFirstChild()!.getFirstToken();
+          const fix = EditHelper.replaceToken(file, firstToken, "@" + firstToken?.getStr());
+          const issue = Issue.atToken(file, o.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);
+          issues.push(issue);
+          break;
+        }
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/sql_value_conversion.ts.html b/src/rules/sql_value_conversion.ts.html new file mode 100644 index 00000000000..86453caca71 --- /dev/null +++ b/src/rules/sql_value_conversion.ts.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for src/rules/sql_value_conversion.ts + + + + + + + + + +
+
+

All files / src/rules sql_value_conversion.ts

+
+ +
+ 97.43% + Statements + 76/78 +
+ + +
+ 92.3% + Branches + 12/13 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 97.43% + Lines + 76/78 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +781x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10428x +10428x +10428x +10428x +10428x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +31098x +10428x +10428x +9909x +9909x +10428x +10428x +243x +243x +10428x +10428x +249x +249x +249x +10428x +10428x +315x +315x +82x +82x +233x +233x +233x +233x +233x +233x +233x +10428x +10428x +1076x +1076x +1076x +3x +3x +  +  +3x +3x +1076x +1076x +843x +843x +1076x +1076x +1076x +10428x +10428x
import {Issue} from "../issue";
+import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Interface} from "../objects";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+ 
+export class SQLValueConversionConf extends BasicRuleConfig {
+}
+ 
+export class SQLValueConversion implements IRule {
+  private conf = new SQLValueConversionConf();
+  private reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "sql_value_conversion",
+      title: "Implicit SQL Value Conversion",
+      shortDescription: `Ensure types match when selecting from database`,
+      extendedInformation: `
+* Integer to CHAR conversion
+* Integer to NUMC conversion
+* NUMC to Integer conversion
+* CHAR to Integer conversion
+* Source field longer than database field, CHAR -> CHAR
+* Source field longer than database field, NUMC -> NUMC`,
+      tags: [],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SQLValueConversionConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry): IRule {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+ 
+    if (!(obj instanceof ABAPObject) || obj instanceof Interface) {
+      return [];
+    }
+ 
+    // messages defined in sql_compare.ts
+ 
+    const issues = this.traverse(new SyntaxLogic(this.reg, obj).run().spaghetti.getTop());
+ 
+    return issues;
+  }
+ 
+  private traverse(node: ISpaghettiScopeNode): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const r of node.getData().sqlConversion) {
+      const file = this.reg.getFileByName(node.getIdentifier().filename);
+      if (file === undefined) {
+        continue;
+      }
+      ret.push(Issue.atToken(file, r.token, r.message, this.getMetadata().key, this.getConfig().severity));
+    }
+ 
+    for (const c of node.getChildren()) {
+      ret.push(...this.traverse(c));
+    }
+ 
+    return ret;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/start_at_tab.ts.html b/src/rules/start_at_tab.ts.html new file mode 100644 index 00000000000..12c35a99fd6 --- /dev/null +++ b/src/rules/start_at_tab.ts.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for src/rules/start_at_tab.ts + + + + + + + + + +
+
+

All files / src/rules start_at_tab.ts

+
+ +
+ 97.43% + Statements + 76/78 +
+ + +
+ 95.45% + Branches + 21/22 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 97.43% + Lines + 76/78 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +781x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10423x +10423x +3x +3x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +261x +261x +261x +261x +261x +261x +261x +1465x +22x +1465x +28x +1443x +28x +1415x +43x +43x +1400x +1400x +1465x +70x +70x +1330x +1465x +3x +3x +3x +  +  +3x +1330x +1330x +261x +261x +261x +10423x +10423x
import {Issue} from "../issue";
+import {Position} from "../position";
+import {Comment} from "../abap/2_statements/statements/_statement";
+import {TypeBegin, TypeEnd} from "../abap/2_statements/statements";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class StartAtTabConf extends BasicRuleConfig {
+}
+ 
+export class StartAtTab extends ABAPRule {
+ 
+  private conf = new StartAtTabConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "start_at_tab",
+      title: "Start at tab",
+      shortDescription: `Checks that statements start at tabstops.`,
+      extendedInformation: `Reports max 100 issues per file
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#indent-and-snap-to-tab`,
+      tags: [RuleTag.Whitespace, RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: ` WRITE a.`,
+      goodExample: `  WRITE a.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Start statement at tab position";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: StartAtTabConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    let inType = false;
+    let previous: Position | undefined = undefined;
+    const raw = file.getRawRows();
+ 
+    for (const statement of file.getStatements()) {
+      if (statement.get() instanceof Comment) {
+        continue;
+      } else if (statement.get() instanceof TypeBegin) {
+        inType = true;
+      } else if (statement.get() instanceof TypeEnd) {
+        inType = false;
+      } else if (inType) {
+        continue;
+      }
+ 
+      const pos = statement.getStart();
+      if (previous !== undefined && pos.getRow() === previous.getRow()) {
+        continue;
+      }
+// just skip rows that contains tabs, this will be reported by the contains_tab rule
+      if ((pos.getCol() - 1) % 2 !== 0 && raw[pos.getRow() - 1].includes("\t") === false) {
+        const issue = Issue.atPosition(file, pos, this.getMessage(), this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+        if (issues.length >= 100) {
+          return issues; // only max 100 issues perfile
+        }
+      }
+      previous = pos;
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/static_call_via_instance.ts.html b/src/rules/static_call_via_instance.ts.html new file mode 100644 index 00000000000..8c0625a2408 --- /dev/null +++ b/src/rules/static_call_via_instance.ts.html @@ -0,0 +1,352 @@ + + + + + + Code coverage report for src/rules/static_call_via_instance.ts + + + + + + + + + +
+
+

All files / src/rules static_call_via_instance.ts

+
+ +
+ 97.75% + Statements + 87/89 +
+ + +
+ 90% + Branches + 18/20 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 97.75% + Lines + 87/89 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +901x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20847x +20847x +20847x +20847x +1x +10425x +10425x +10425x +10425x +10425x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10425x +10425x +10163x +10163x +10425x +10425x +243x +243x +10425x +10425x +257x +257x +257x +  +  +257x +257x +257x +257x +257x +5701x +5701x +5689x +5689x +12x +12x +5701x +1x +1x +1x +1x +1x +1x +12x +257x +257x +257x +10425x +10425x +1182x +1182x +1182x +345x +338x +338x +345x +3x +3x +345x +1182x +1182x +925x +925x +1182x +1182x +1182x +10425x +10425x + 
/* eslint-disable max-len */
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {MethodDefinition} from "../abap/types";
+import {Position} from "../position";
+ 
+export class StaticCallViaInstanceConf extends BasicRuleConfig {
+  /** Allow in test class includes */
+  public allowInTestclassIncludes?: boolean = false;
+}
+ 
+export class StaticCallViaInstance extends ABAPRule {
+ 
+  private conf = new StaticCallViaInstanceConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "static_call_via_instance",
+      title: "Static call via instance variable",
+      shortDescription: `Static method call via instance variable`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-call-static-methods-through-instance-variables`,
+      tags: [RuleTag.Styleguide],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: StaticCallViaInstanceConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    if (this.getConfig().allowInTestclassIncludes === true && file.getFilename().includes(".testclasses.")) {
+      return [];
+    }
+ 
+    const staticMethodCalls = this.listMethodCalls(file.getFilename(), new SyntaxLogic(this.reg, obj).run().spaghetti.getTop());
+ 
+    const tokens = file.getTokens();
+    for (let i = 0; i < tokens.length - 1; i++) {
+      const token = tokens[i];
+      if (token.getStr() !== "->") {
+        continue;
+      }
+ 
+      const next = tokens[i + 1];
+      for (const s of staticMethodCalls) {
+        if (s.equals(next!.getStart())) {
+          const message = "Avoid calling static method via instance";
+          issues.push(Issue.atToken(file, token, message, this.getMetadata().key));
+          break;
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private listMethodCalls(filename: string, node: ISpaghettiScopeNode): Position[] {
+    const ret: Position[] = [];
+ 
+    for (const r of node.getData().references) {
+      if (r.referenceType !== ReferenceType.MethodReference || r.position.getFilename() !== filename) {
+        continue;
+      }
+      if (r.resolved instanceof MethodDefinition && r.resolved.isStatic() === true) {
+        ret.push(r.position.getStart());
+      }
+    }
+ 
+    for (const child of node.getChildren()) {
+      ret.push(...this.listMethodCalls(filename, child));
+    }
+ 
+    return ret;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/strict_sql.ts.html b/src/rules/strict_sql.ts.html new file mode 100644 index 00000000000..e13b2d60437 --- /dev/null +++ b/src/rules/strict_sql.ts.html @@ -0,0 +1,346 @@ + + + + + + Code coverage report for src/rules/strict_sql.ts + + + + + + + + + +
+
+

All files / src/rules strict_sql.ts

+
+ +
+ 97.72% + Statements + 86/88 +
+ + +
+ 94.28% + Branches + 33/35 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 97.72% + Lines + 86/88 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +881x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10426x +10426x +10426x +10426x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +10426x +10426x +9906x +9906x +10426x +10426x +243x +243x +10426x +10426x +270x +270x +270x +270x +23x +23x +247x +247x +270x +  +  +247x +270x +1382x +1382x +17x +17x +17x +17x +17x +17x +17x +17x +3x +17x +8x +8x +6x +6x +6x +17x +2x +2x +6x +6x +6x +6x +6x +6x +1382x +247x +247x +247x +10426x
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Version} from "../version";
+import {RuleTag, IRuleMetadata} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+import {EditHelper} from "../edit_helper";
+ 
+export class StrictSQLConf extends BasicRuleConfig {
+}
+ 
+export class StrictSQL extends ABAPRule {
+  private conf = new StrictSQLConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "strict_sql",
+      title: "Strict SQL",
+      shortDescription: `Strict SQL`,
+      extendedInformation: `https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapinto_clause.htm
+ 
+https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abenopensql_strict_mode_750.htm
+ 
+Also see separate rule sql_escape_host_variables
+ 
+Activates from v750 and up`,
+      tags: [RuleTag.Upport, RuleTag.Quickfix],
+      badExample: `SELECT * FROM ztabl INTO TABLE @rt_content WHERE type = @iv_type ORDER BY PRIMARY KEY.`,
+      goodExample: `SELECT * FROM ztabl WHERE type = @iv_type ORDER BY PRIMARY KEY INTO TABLE @rt_content.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: StrictSQLConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+ 
+    const type = obj.getType();
+    if (type === "INTF" || type === "TYPE") {
+      return [];
+    }
+ 
+    if (this.reg.getConfig().getVersion() < Version.v750
+        && this.reg.getConfig().getVersion() !== Version.Cloud) {
+      return [];
+    }
+ 
+    for (const s of file.getStatements()) {
+      if (s.get() instanceof Statements.Select
+          || s.get() instanceof Statements.SelectLoop) {
+ 
+        const expr = s.findDirectExpression(Expressions.Select);
+        const where = expr?.findDirectExpression(Expressions.SQLCond);
+        const order = expr?.findDirectExpression(Expressions.SQLOrderBy);
+        const into = expr?.findDirectExpression(Expressions.SQLIntoStructure)
+          || expr?.findDirectExpression(Expressions.SQLIntoList)
+          || expr?.findDirectExpression(Expressions.SQLIntoTable);
+        if (into === undefined || where === undefined) {
+          continue;
+        } else if (where.getFirstToken().getStart().isBefore(into.getFirstToken().getStart())) {
+          continue;
+        }
+ 
+        const fix1 = EditHelper.deleteRange(file, into.getFirstToken().getStart(), into.getLastToken().getEnd());
+        let last = where.getLastToken();
+        if (order && order.getLastToken().getEnd().isAfter(last.getEnd())) {
+          last = order.getLastToken();
+        }
+        const fix2 = EditHelper.insertAt(file, last.getEnd(), " " + into.concatTokens());
+        const fix = EditHelper.merge(fix2, fix1);
+        const message = "INTO/APPENDING must be last in strict SQL";
+        const issue = Issue.atToken(file, s.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/superclass_final.ts.html b/src/rules/superclass_final.ts.html new file mode 100644 index 00000000000..c69bd096055 --- /dev/null +++ b/src/rules/superclass_final.ts.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/rules/superclass_final.ts + + + + + + + + + +
+
+

All files / src/rules superclass_final.ts

+
+ +
+ 100% + Statements + 79/79 +
+ + +
+ 100% + Branches + 22/22 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 79/79 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +791x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10430x +10430x +10430x +10430x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10430x +10430x +1x +1x +10430x +10430x +9906x +9906x +10430x +10430x +243x +243x +10430x +10430x +266x +266x +266x +125x +125x +111x +111x +14x +125x +5x +5x +14x +125x +9x +11x +11x +9x +9x +11x +9x +125x +5x +5x +4x +4x +5x +125x +1x +1x +1x +1x +1x +125x +1x +1x +1x +125x +266x +266x +266x +10430x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Objects from "../objects";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Class} from "../objects";
+import {InfoClassDefinition} from "../abap/4_file_information/_abap_file_information";
+import {RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "..";
+ 
+export class SuperclassFinalConf extends BasicRuleConfig {
+}
+ 
+export class SuperclassFinal extends ABAPRule {
+  private conf = new SuperclassFinalConf();
+ 
+  public getMetadata() {
+    return {
+      key: "superclass_final",
+      title: "Super class final",
+      shortDescription: `Checks that classes which are inherited from are not declared as FINAL.`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Superclasses cannot be FINAL";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SuperclassFinalConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const output: Issue[] = [];
+ 
+    for (const definition of file.getInfo().listClassDefinitions()) {
+      const sup = definition.superClassName;
+      if (sup === undefined) {
+        continue;
+      }
+      let localLookup = true;
+      if (obj instanceof Objects.Class && file.getFilename().match(/\.clas\.abap$/)) {
+        localLookup = false;
+      }
+      let found: InfoClassDefinition | undefined = undefined;
+      if (localLookup) {
+        for (const f of obj.getABAPFiles()) {
+          found = f.getInfo().getClassDefinitionByName(sup);
+          if (found !== undefined) {
+            break;
+          }
+        }
+      }
+      if (found === undefined) {
+        const clas = this.reg.getObject("CLAS", sup) as Class;
+        if (clas) {
+          found = clas.getClassDefinition();
+        }
+      }
+      if (found === undefined) {
+        const message = "Super class \"" + sup + "\" not found";
+        const issue = Issue.atIdentifier(definition.identifier, message, this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+        continue;
+      }
+      if (found.isFinal === true) {
+        const issue = Issue.atIdentifier(definition.identifier, this.getMessage(), this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+      }
+    }
+ 
+    return output;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/superfluous_value.ts.html b/src/rules/superfluous_value.ts.html new file mode 100644 index 00000000000..41c4a41ddd6 --- /dev/null +++ b/src/rules/superfluous_value.ts.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/rules/superfluous_value.ts + + + + + + + + + +
+
+

All files / src/rules superfluous_value.ts

+
+ +
+ 92.4% + Statements + 73/79 +
+ + +
+ 77.27% + Branches + 17/22 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 92.4% + Lines + 73/79 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +791x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +258x +  +  +258x +258x +258x +12x +12x +246x +258x +11x +8x +8x +3x +3x +11x +  +  +3x +11x +11x +2x +2x +1x +1x +11x +  +  +1x +1x +1x +1x +1x +1x +11x +246x +246x +246x +10423x +10423x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {Version} from "../version";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class SuperfluousValueConf extends BasicRuleConfig {
+}
+ 
+export class SuperfluousValue extends ABAPRule {
+  private conf = new SuperfluousValueConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "superfluous_value",
+      title: "Superfluous VALUE",
+      shortDescription: `Find superfluous VALUE expressions`,
+      extendedInformation: `Left hand side is inline, VALUE is inferred, value body is simple, from v740sp02 and up`,
+      tags: [RuleTag.SingleFile],
+      badExample: `DATA(message_entry) = VALUE #( message_table[ msgno = msgno ] ).`,
+      goodExample: `DATA(message_entry) = message_table[ msgno = msgno ].`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SuperfluousValueConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const output: Issue[] = [];
+ 
+    if (this.reg.getConfig().getVersion() < Version.v740sp02
+        && this.reg.getConfig().getVersion() !== Version.Cloud) {
+      return [];
+    }
+ 
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return []; // syntax error
+    }
+ 
+    for (const m of struc.findAllStatements(Statements.Move)) {
+      if (m.findDirectExpression(Expressions.Target)?.findDirectExpression(Expressions.InlineData) === undefined) {
+        continue;
+      }
+ 
+      const source = m.findDirectExpression(Expressions.Source);
+      if (source === undefined) {
+        continue;
+      }
+ 
+      const type = source.findDirectExpression(Expressions.TypeNameOrInfer)?.concatTokens();
+      if (type !== "#") {
+        continue;
+      }
+ 
+      const body = source.findDirectExpression(Expressions.ValueBody);
+      if (body === undefined) {
+        continue;
+      }
+ 
+      if (body.getChildren().length === 1) {
+        const message = "Superfluous VALUE expression";
+        const issue = Issue.atStatement(file, m, message, this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+      }
+    }
+ 
+    return output;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/sy_modification.ts.html b/src/rules/sy_modification.ts.html new file mode 100644 index 00000000000..ee2383cf696 --- /dev/null +++ b/src/rules/sy_modification.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/rules/sy_modification.ts + + + + + + + + + +
+
+

All files / src/rules sy_modification.ts

+
+ +
+ 100% + Statements + 63/63 +
+ + +
+ 100% + Branches + 16/16 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 63/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +631x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +31100x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +260x +260x +260x +20x +20x +240x +260x +35x +35x +35x +5x +5x +1x +1x +4x +4x +4x +4x +4x +35x +240x +240x +240x +10423x +10423x
import {Issue} from "../issue";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class SyModificationConf extends BasicRuleConfig {
+}
+ 
+export class SyModification extends ABAPRule {
+ 
+  private conf = new SyModificationConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "sy_modification",
+      title: "Modification of SY fields",
+      shortDescription: `Finds modification of sy fields`,
+      extendedInformation: `https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abensystem_fields.htm
+ 
+Changes to SY-TVAR* fields are not reported`,
+      tags: [RuleTag.SingleFile],
+      badExample: `sy-uname = 2.
+sy = sy.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: SyModificationConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    for (const t of file.getStructure()?.findAllExpressions(Expressions.Target) || []) {
+      const firstChild = t.getChildren()[0];
+      if (firstChild.get() instanceof Expressions.TargetField
+          && firstChild.getFirstToken().getStr().toUpperCase() === "SY") {
+ 
+        if (t.concatTokens().toUpperCase().startsWith("SY-TVAR")) {
+          continue;
+        }
+ 
+        const message = "Modification of SY field";
+        const issue = Issue.atToken(file, firstChild.getFirstToken(), message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/tabl_enhancement_category.ts.html b/src/rules/tabl_enhancement_category.ts.html new file mode 100644 index 00000000000..9c6c4f1ee57 --- /dev/null +++ b/src/rules/tabl_enhancement_category.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/rules/tabl_enhancement_category.ts + + + + + + + + + +
+
+

All files / src/rules tabl_enhancement_category.ts

+
+ +
+ 100% + Statements + 61/61 +
+ + +
+ 100% + Branches + 11/11 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 61/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10422x +10422x +10422x +10422x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10422x +10422x +2x +2x +10422x +10422x +9906x +9906x +10422x +10422x +243x +243x +10422x +10422x +243x +243x +10422x +10422x +309x +291x +291x +18x +309x +2x +2x +2x +2x +2x +2x +2x +2x +2x +16x +16x +16x +10422x + 
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {Table, EnhancementCategory} from "../objects";
+import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {Position} from "../position";
+ 
+export class TABLEnhancementCategoryConf extends BasicRuleConfig {
+}
+ 
+export class TABLEnhancementCategory implements IRule {
+  private conf = new TABLEnhancementCategoryConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "tabl_enhancement_category",
+      title: "TABL enhancement category must be set",
+      shortDescription: `Checks that tables do not have the enhancement category 'not classified'.`,
+      extendedInformation: `SAP note 3063227 changes the default to 'Cannot be enhanced'.
+ 
+You may use standard report RS_DDIC_CLASSIFICATION_FINAL for adjustment.`,
+      tags: [],
+    };
+  }
+ 
+  private getDescription(name: string): string {
+    return "TABL enhancement category not classified in " + name;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: TABLEnhancementCategoryConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof Table)) {
+      return [];
+    }
+ 
+    if (obj.getEnhancementCategory() === EnhancementCategory.NotClassified) {
+      const position = new Position(1, 1);
+      const issue = Issue.atPosition(
+        obj.getFiles()[0],
+        position,
+        this.getDescription(obj.getName()),
+        this.getMetadata().key,
+        this.conf.severity);
+      return [issue];
+    }
+ 
+    return [];
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/tables_declared_locally.ts.html b/src/rules/tables_declared_locally.ts.html new file mode 100644 index 00000000000..de2e4e42a58 --- /dev/null +++ b/src/rules/tables_declared_locally.ts.html @@ -0,0 +1,259 @@ + + + + + + Code coverage report for src/rules/tables_declared_locally.ts + + + + + + + + + +
+
+

All files / src/rules tables_declared_locally.ts

+
+ +
+ 100% + Statements + 59/59 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 59/59 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +591x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +258x +12x +12x +246x +246x +258x +33x +33x +1x +1x +1x +1x +33x +246x +246x +246x +246x +10423x +10423x
import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class TablesDeclaredLocallyConf extends BasicRuleConfig {
+}
+ 
+export class TablesDeclaredLocally extends ABAPRule {
+  private conf = new TablesDeclaredLocallyConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "tables_declared_locally",
+      title: "Check for locally declared TABLES",
+      shortDescription: `TABLES are always global, so declare them globally`,
+      extendedInformation: `https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abaptables.htm`,
+      tags: [RuleTag.SingleFile],
+      badExample: `FORM foo.
+  TABLES t100.
+ENDFORM.`,
+      goodExample: `TABLES t000.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: TablesDeclaredLocallyConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const structure = file.getStructure();
+    if (structure === undefined) {
+      return issues;
+    }
+ 
+    const procedures = structure.findAllStructuresMulti([Structures.Form, Structures.FunctionModule]);
+    for (const p of procedures) {
+      const tablesStatement = p.findFirstStatement(Statements.Tables);
+      if (tablesStatement) {
+        const message = "Declare TABLES globaly";
+        const issue = Issue.atStatement(file, tablesStatement, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/try_without_catch.ts.html b/src/rules/try_without_catch.ts.html new file mode 100644 index 00000000000..4d901a82047 --- /dev/null +++ b/src/rules/try_without_catch.ts.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for src/rules/try_without_catch.ts + + + + + + + + + +
+
+

All files / src/rules try_without_catch.ts

+
+ +
+ 100% + Statements + 57/57 +
+ + +
+ 100% + Branches + 12/12 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 57/57 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +571x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10427x +10427x +10427x +10427x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10427x +10427x +2x +2x +10427x +10427x +9906x +9906x +10427x +10427x +243x +243x +10427x +10427x +259x +259x +259x +259x +12x +12x +247x +247x +247x +259x +6x +6x +6x +2x +2x +2x +6x +247x +247x +247x +10427x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {Try, Catch, Cleanup} from "../abap/3_structures/structures";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class TryWithoutCatchConf extends BasicRuleConfig {
+}
+ 
+export class TryWithoutCatch extends ABAPRule {
+  private conf = new TryWithoutCatchConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "try_without_catch",
+      title: "TRY without CATCH",
+      shortDescription: `Checks for TRY blocks without a CATCH and CLEANUP block`,
+      badExample: `TRY.\n  WRITE 'hello world'.\nENDTRY.`,
+      tags: [RuleTag.SingleFile],
+    };
+  }
+ 
+  private getMessage(): string {
+    return "A TRY block must have a corresponding CATCH or CLEANUP block.";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: TryWithoutCatchConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    const tries = stru.findAllStructures(Try);
+ 
+    for (const t of tries) {
+      const clean = t.findDirectStructures(Cleanup);
+      const c = t.findDirectStructures(Catch);
+      if (c.length === 0 && clean.length === 0) {
+        const issue = Issue.atToken(file, t.getFirstToken(), this.getMessage(), this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/type_form_parameters.ts.html b/src/rules/type_form_parameters.ts.html new file mode 100644 index 00000000000..3faf8b8c73b --- /dev/null +++ b/src/rules/type_form_parameters.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/rules/type_form_parameters.ts + + + + + + + + + +
+
+

All files / src/rules type_form_parameters.ts

+
+ +
+ 100% + Statements + 61/61 +
+ + +
+ 100% + Branches + 12/12 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 61/61 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10423x +10423x +3x +3x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +260x +260x +260x +260x +63x +63x +197x +260x +5x +3x +3x +3x +3x +5x +197x +197x +197x +10423x +10423x + 
import {Issue} from "../issue";
+import {Class} from "../objects";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPObject} from "../objects/_abap_object";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class TypeFormParametersConf extends BasicRuleConfig {
+}
+ 
+export class TypeFormParameters extends ABAPRule {
+ 
+  private conf = new TypeFormParametersConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "type_form_parameters",
+      title: "Type FORM parameters",
+      shortDescription: `Checks for untyped FORM parameters`,
+      tags: [RuleTag.SingleFile],
+      badExample: `FORM foo USING bar.
+ENDFORM.`,
+      goodExample: `FORM foo USING bar TYPE string.
+ENDFORM.`,
+    };
+  }
+ 
+  private getDescription(parameterName: string): string {
+    return "Add TYPE for FORM parameter \"" + parameterName + "\"";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: TypeFormParametersConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const ret: Issue[] = [];
+ 
+    const stru = file.getStructure();
+    if (obj instanceof Class || stru === undefined) {
+      return ret;
+    }
+ 
+    for (const formparam of stru.findAllExpressions(Expressions.FormParam)) {
+      if (formparam.findFirstExpression(Expressions.FormParamType) === undefined) {
+        const token = formparam.getFirstToken();
+        const issue = Issue.atToken(file, token, this.getDescription(token.getStr()), this.getMetadata().key, this.conf.severity);
+        ret.push(issue);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/types_naming.ts.html b/src/rules/types_naming.ts.html new file mode 100644 index 00000000000..0455365212a --- /dev/null +++ b/src/rules/types_naming.ts.html @@ -0,0 +1,346 @@ + + + + + + Code coverage report for src/rules/types_naming.ts + + + + + + + + + +
+
+

All files / src/rules types_naming.ts

+
+ +
+ 100% + Statements + 88/88 +
+ + +
+ 100% + Branches + 24/24 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 88/88 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +881x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20845x +20845x +20845x +20845x +1x +10423x +10423x +10423x +10423x +10423x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +31134x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +263x +263x +263x +263x +263x +3x +3x +260x +263x +1465x +1465x +1465x +46x +1465x +1419x +33x +30x +30x +33x +1419x +1386x +33x +33x +1386x +1353x +1353x +79x +1465x +3x +3x +76x +76x +76x +1465x +38x +38x +38x +38x +38x +38x +1465x +1465x +260x +260x +260x +10423x +10423x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {ExpressionNode} from "../abap/nodes";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+import {TypePool} from "../objects";
+ 
+export class TypesNamingConf extends BasicRuleConfig {
+  /** The pattern for TYPES, case insensitive */
+  public pattern: string = "^TY_.+$";
+}
+ 
+export class TypesNaming extends ABAPRule {
+ 
+  private conf = new TypesNamingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "types_naming",
+      title: "TYPES naming conventions",
+      shortDescription: `Allows you to enforce a pattern for TYPES definitions`,
+      extendedInformation: `Does not run for TYPE POOLS`,
+      tags: [RuleTag.Naming, RuleTag.SingleFile],
+      badExample: `TYPES foo TYPE i.`,
+      goodExample: `TYPES ty_foo TYPE i.`,
+    };
+  }
+ 
+  public getConfig(): TypesNamingConf {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: TypesNamingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+    const testRegex = new RegExp(this.conf.pattern, "i");
+    let nesting = 0;
+ 
+    if (obj instanceof TypePool) {
+      return [];
+    }
+ 
+    for (const stat of file.getStatements()) {
+      let expr: ExpressionNode | undefined = undefined;
+ 
+      if (stat.get() instanceof Statements.Type && nesting === 0) {
+        expr = stat.findFirstExpression(Expressions.NamespaceSimpleName);
+      } else if (stat.get() instanceof Statements.TypeBegin
+          || stat.get() instanceof Statements.TypeEnumBegin) {
+        if (nesting === 0) {
+          expr = stat.findFirstExpression(Expressions.NamespaceSimpleName);
+        }
+        nesting = nesting + 1;
+      } else if (stat.get() instanceof Statements.TypeEnd
+          || stat.get() instanceof Statements.TypeEnumEnd) {
+        nesting = nesting - 1;
+        continue;
+      } else {
+        continue;
+      }
+ 
+      if (expr === undefined) {
+        continue;
+      }
+ 
+      const token = expr.getFirstToken();
+ 
+      if (testRegex.exec(token.getStr())) {
+        continue;
+      } else {
+        const message = "Bad TYPES naming, expected \"" + this.conf.pattern + "\", got \"" + token.getStr() + "\"";
+        const issue = Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+      }
+ 
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/uncaught_exception.ts.html b/src/rules/uncaught_exception.ts.html new file mode 100644 index 00000000000..55eb6b99dda --- /dev/null +++ b/src/rules/uncaught_exception.ts.html @@ -0,0 +1,880 @@ + + + + + + Code coverage report for src/rules/uncaught_exception.ts + + + + + + + + + +
+
+

All files / src/rules uncaught_exception.ts

+
+ +
+ 94.36% + Statements + 251/266 +
+ + +
+ 82.05% + Branches + 96/117 +
+ + +
+ 100% + Functions + 15/15 +
+ + +
+ 94.36% + Lines + 251/266 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +2661x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20862x +20862x +20862x +20862x +1x +10440x +10440x +10440x +10440x +10440x +10440x +10440x +10440x +10440x +10440x +10440x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +31102x +10440x +10440x +9915x +9915x +10440x +10440x +261x +261x +261x +261x +10440x +10440x +243x +243x +10440x +10440x +383x +20x +383x +1x +1x +362x +362x +383x +12x +12x +350x +350x +350x +350x +383x +25x +25x +325x +325x +325x +383x +680x +680x +325x +325x +325x +10440x +10440x +1750x +1750x +1750x +274x +274x +1476x +1750x +580x +6x +6x +6x +6x +3x +3x +6x +6x +6x +6x +6x +  +  +6x +580x +574x +1061x +1061x +574x +1750x +896x +58x +896x +58x +838x +12x +12x +12x +1x +1x +780x +12x +768x +14x +14x +14x +14x +13x +14x +1x +1x +1x +1x +14x +14x +756x +  +742x +742x +742x +896x +1750x +1750x +10440x +10440x +10440x +10440x +16x +7x +7x +7x +16x +10440x +10440x +742x +742x +742x +742x +742x +488x +488x +488x +488x +7x +7x +2x +2x +7x +488x +742x +10440x +10440x +6x +  +  +6x +4x +4x +  +  +4x +4x +4x +4x +6x +10440x +10440x +58x +58x +58x +58x +58x +58x +58x +58x +58x +58x +58x +58x +58x +58x +  +  +58x +58x +58x +10440x +10440x +34x +1x +1x +33x +33x +34x +  +  +34x +  +  +33x +33x +34x +  +  +34x +2x +2x +31x +31x +34x +34x +34x +10440x +10440x +261x +261x +261x +439x +282x +282x +439x +439x +48x +48x +109x +439x +439x +261x +10440x +10440x +350x +350x +350x +367x +252x +18x +18x +252x +367x +350x +10440x +10440x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import * as Structures from "../abap/3_structures/structures";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {StatementNode, StructureNode} from "../abap/nodes";
+import {IRegistry} from "../_iregistry";
+import {Class, Program} from "../objects";
+import {DDIC} from "../ddic";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+import {ISyntaxResult} from "../abap/5_syntax/_spaghetti_scope";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {MethodDefinition} from "../abap/types";
+ 
+export class UncaughtExceptionConf extends BasicRuleConfig {
+  public reportDynamic = false;
+  public reportNoCheck = false;
+}
+ 
+export class UncaughtException extends ABAPRule {
+ 
+  private conf = new UncaughtExceptionConf();
+ 
+  private globalExceptions: {[index: string]: string | undefined};
+  private localExceptions: {[index: string]: string | undefined};
+  private issues: Issue[] = [];
+  private sinked: string[] | undefined;
+  private syntax: ISyntaxResult;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "uncaught_exception",
+      title: "Uncaught Exception",
+      shortDescription: `Checks for uncaught static exception`,
+      extendedInformation: `Does not report any issues if the code contains syntax errors`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    super.initialize(reg);
+    this.findGlobalExceptions();
+    return this;
+  }
+ 
+  public setConfig(conf: UncaughtExceptionConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    if (obj.getType() === "INTF") { // nothing can be raised in interfaces
+      return [];
+    } if (obj instanceof Program && obj.isInclude() === true) {
+      return [];
+    }
+ 
+    const stru = file.getStructure();
+    if (stru === undefined) {
+      return [];
+    }
+ 
+    this.findLocalExceptions(obj);
+ 
+    this.syntax = new SyntaxLogic(this.reg, obj).run();
+    if (this.syntax.issues.length > 0) {
+      return [];
+    }
+ 
+    this.issues = [];
+    this.sinked = undefined;
+    for (const c of stru.getChildren()) {
+      this.traverse(c, file);
+    }
+ 
+    return this.issues;
+  }
+ 
+  private traverse(n: StructureNode | StatementNode, file: ABAPFile) {
+    const get = n.get();
+    if (get instanceof Structures.ClassDefinition
+        || get instanceof Structures.Interface) {
+      return; // to optimize performance
+    }
+ 
+    if (n instanceof StructureNode) {
+      if (get instanceof Structures.Try) {
+        // note that TRY-CATCH might be arbitrarily nested
+        const previous = this.sinked ? this.sinked.slice() : undefined;
+        this.addFromTryStructure(n);
+        for (const c of n.findDirectStructure(Structures.Body)?.getChildren() || []) {
+          this.traverse(c, file);
+        }
+        this.sinked = previous;
+        for (const c of n.findDirectStructure(Structures.Catch)?.getChildren() || []) {
+          this.traverse(c, file);
+        }
+        for (const c of n.findDirectStructure(Structures.Cleanup)?.getChildren() || []) {
+          this.traverse(c, file);
+        }
+        return;
+      } else {
+        for (const c of n.getChildren()) {
+          this.traverse(c, file);
+        }
+      }
+    } else if (n instanceof StatementNode) {
+      if (get instanceof Statements.MethodImplementation) {
+        this.setSinkedFromMethod(n, file);
+      } else if (get instanceof Statements.EndMethod) {
+        this.sinked = undefined; // back to top level
+      } else if (get instanceof Statements.Form) {
+        this.sinked = [];
+        const raising = n.findDirectExpression(Expressions.FormRaising);
+        for (const c of raising?.findAllExpressions(Expressions.ClassName) || []) {
+          this.sinked.push(c.concatTokens().toUpperCase());
+        }
+      } else if (get instanceof Statements.EndForm) {
+        this.sinked = undefined; // back to top level
+      } else if (get instanceof Statements.Raise) {
+        let name: string | undefined = undefined;
+ 
+        const concat = n.concatTokens().toUpperCase();
+        if (concat.startsWith("RAISE EXCEPTION TYPE ")) {
+          name = n.findFirstExpression(Expressions.ClassName)?.getFirstToken().getStr().toUpperCase();
+        } else if (concat.startsWith("RAISE EXCEPTION NEW ")) {
+          name = n.findFirstExpression(Expressions.NewObject)?.findFirstExpression(
+            Expressions.TypeNameOrInfer)?.getFirstToken().getStr().toUpperCase();
+// todo: else its a normal Source, infer the type from it
+        }
+ 
+        this.check(name, n, file);
+      } else if (get instanceof Statements.Perform) {
+        // todo, PERFORM, or is this not statically checked?
+      } else {
+        this.checkForMethodCalls(n, file);
+      }
+    }
+ 
+  }
+ 
+////////////////////////////////
+ 
+  private check(name: string | undefined, n: StatementNode, file: ABAPFile) {
+    if (this.isSinked(name) === false) {
+      const issue = Issue.atStatement(file, n, "Uncaught exception " + name, this.getMetadata().key, this.getConfig().severity);
+      this.issues.push(issue);
+    }
+  }
+ 
+  private checkForMethodCalls(n: StatementNode, file: ABAPFile) {
+    const start = n.getFirstToken().getStart();
+    const end = n.getLastToken().getEnd();
+ 
+    const scope = this.syntax.spaghetti.lookupPosition(start, file.getFilename());
+    for (const r of scope?.getData().references || []) {
+      if (r.referenceType === ReferenceType.MethodReference
+          && r.position.getStart().isAfter(start)
+          && r.position.getEnd().isBefore(end)
+          && r.resolved instanceof MethodDefinition) {
+ 
+        for (const name of r.resolved.getRaising()) {
+          this.check(name, n, file);
+        }
+      }
+    }
+  }
+ 
+  private addFromTryStructure(s: StructureNode) {
+    if (this.sinked === undefined) {
+      return;
+    }
+    for (const structure of s.findDirectStructures(Structures.Catch)) {
+      const c = structure.findDirectStatement(Statements.Catch);
+      if (c === undefined) {
+        continue;
+      }
+      for (const cn of c.findDirectExpressions(Expressions.ClassName)) {
+        this.sinked.push(cn.concatTokens());
+      }
+    }
+  }
+ 
+  private setSinkedFromMethod(s: StatementNode, file: ABAPFile) {
+    this.sinked = [];
+ 
+    const scope = this.syntax.spaghetti.lookupPosition(s.getLastToken().getEnd(), file.getFilename());
+ 
+    let def: MethodDefinition | undefined = undefined;
+    for (const r of scope?.getData().references || []) {
+      // there should be only one, so the first is okay
+      if (r.referenceType === ReferenceType.MethodImplementationReference
+          && r.resolved instanceof MethodDefinition) {
+        def = r.resolved;
+        break;
+      }
+    }
+    if (def === undefined) {
+      return; // this should not occur, so just report everything as errors
+    }
+ 
+    def.getRaising().forEach(r => this.sinked?.push(r));
+  }
+ 
+  private isSinked(name: string | undefined): boolean {
+    if (this.sinked === undefined || name === undefined) {
+      return true;
+    }
+ 
+    const sup = this.globalExceptions[name.toUpperCase()];
+    if (sup === "CX_DYNAMIC_CHECK" && this.getConfig().reportDynamic !== true) {
+      return true;
+    }
+    if (sup === "CX_NO_CHECK" && this.getConfig().reportNoCheck !== true) {
+      return true;
+    }
+ 
+    const lsup = this.localExceptions[name.toUpperCase()];
+    if (lsup === "CX_DYNAMIC_CHECK" && this.getConfig().reportDynamic !== true) {
+      return true;
+    }
+    if (lsup === "CX_NO_CHECK" && this.getConfig().reportNoCheck !== true) {
+      return true;
+    }
+ 
+    return this.sinked.some(a => a.toUpperCase() === name.toUpperCase())
+      || ( sup !== undefined && this.isSinked(sup) === true )
+      || ( lsup !== undefined && this.isSinked(lsup) === true );
+  }
+ 
+  private findGlobalExceptions() {
+    this.globalExceptions = {};
+    const ddic = new DDIC(this.reg);
+    for (const o of this.reg.getObjects()) {
+      if (!(o instanceof Class)) {
+        continue;
+      }
+      const def = o.getMainABAPFile()?.getInfo().getClassDefinitionByName(o.getName());
+      if (def === undefined || ddic.isException(def, o) === false) {
+        continue;
+      }
+ 
+      this.globalExceptions[o.getName().toUpperCase()] = def.superClassName?.toUpperCase();
+    }
+  }
+ 
+  private findLocalExceptions(obj: ABAPObject) {
+    this.localExceptions = {};
+ 
+    for (const file of obj.getABAPFiles()) {
+      for (const def of file.getInfo().listClassDefinitions()) {
+        if (def.isLocal === true && def.superClassName !== undefined) {
+          this.localExceptions[def.name.toUpperCase()] = def.superClassName?.toUpperCase();
+        }
+      }
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unknown_types.ts.html b/src/rules/unknown_types.ts.html new file mode 100644 index 00000000000..25095d59e38 --- /dev/null +++ b/src/rules/unknown_types.ts.html @@ -0,0 +1,616 @@ + + + + + + Code coverage report for src/rules/unknown_types.ts + + + + + + + + + +
+
+

All files / src/rules unknown_types.ts

+
+ +
+ 100% + Statements + 178/178 +
+ + +
+ 94.73% + Branches + 54/57 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 100% + Lines + 178/178 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +1781x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31119x +31119x +31119x +31119x +31119x +31119x +31119x +10423x +10423x +251x +251x +251x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +317x +62x +62x +255x +255x +255x +255x +255x +255x +10423x +10423x +10423x +10423x +255x +255x +23x +23x +3x +3x +3x +3x +3x +23x +3x +3x +20x +20x +255x +255x +10423x +10423x +1162x +1162x +1162x +338x +1x +1x +1x +338x +338x +338x +338x +3x +3x +3x +338x +1162x +1162x +1048x +1048x +7364x +7364x +7364x +10x +10x +10x +7364x +1048x +1048x +1048x +1361x +1361x +1361x +3x +3x +3x +1361x +1048x +1162x +1162x +52x +52x +52x +2x +2x +2x +52x +1162x +1162x +117x +117x +117x +4x +4x +4x +117x +1162x +1162x +907x +907x +1162x +1162x +1162x +10423x +10423x +169x +55x +40x +40x +5x +5x +40x +50x +169x +8x +6x +6x +1x +1x +6x +7x +163x +163x +10423x +10423x +183342x +19x +183342x +1090x +174542x +174542x +1x +1x +174542x +183323x +29x +29x +183293x +183293x +10423x +10423x
import {IRegistry} from "../_iregistry";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {Issue} from "../issue";
+import * as BasicTypes from "../abap/types/basic";
+import {IRuleMetadata, RuleTag, IRule} from "./_irule";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {AbstractType} from "../abap/types/basic/_abstract_type";
+import {TypedIdentifier} from "../abap/types/_typed_identifier";
+import {IInterfaceDefinition} from "../abap/types/_interface_definition";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {UnknownType} from "../abap/types/basic";
+ 
+export class UnknownTypesConf extends BasicRuleConfig {
+}
+ 
+export class UnknownTypes implements IRule {
+  private reg: IRegistry;
+  private conf = new UnknownTypesConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unknown_types",
+      title: "Unknown types",
+      shortDescription: `Enables check for unknown data types, respects errorNamespace`,
+      tags: [RuleTag.Syntax],
+    };
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnknownTypesConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const spaghetti = new SyntaxLogic(this.reg, obj).run().spaghetti;
+ 
+    const found = this.traverse(spaghetti.getTop());
+    return this.removeDuplicates(found);
+  }
+ 
+/////////////////////
+ 
+  private removeDuplicates(list: Issue[]): Issue[] {
+    const deduplicated: Issue[] = [];
+    for (const result of list) {
+      let cont = false;
+      for (const d of deduplicated) {
+        if (result.getStart().equals(d.getStart())) {
+          cont = true;
+          break;
+        }
+      }
+      if (cont === true) {
+        continue;
+      }
+      deduplicated.push(result);
+    }
+    return deduplicated;
+  }
+ 
+  private traverse(node: ISpaghettiScopeNode): Issue[] {
+    const ret: Issue[] = [];
+    const nodeData = node.getData();
+    for (const r of nodeData.references) {
+      if (r.referenceType === ReferenceType.ObjectOrientedUnknownReference && r.extra?.ooName) {
+        const message = r.extra.ooName + " unknown";
+        ret.push(Issue.atIdentifier(r.position, message, this.getMetadata().key, this.conf.severity));
+      }
+ 
+      if (r.referenceType === ReferenceType.TypeReference
+          && r.resolved instanceof TypedIdentifier
+          && r.resolved.getType() instanceof UnknownType) {
+        const message = (r.resolved.getType() as UnknownType).getError();
+        ret.push(Issue.atIdentifier(r.position, message, this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    if (node.getIdentifier().stype !== ScopeType.ClassImplementation) {
+      const vars = nodeData.vars;
+      for (const name in vars) {
+        const identifier = vars[name];
+        const found = this.containsUnknown(identifier.getType());
+        if (found) {
+          const message = "Variable \"" + name + "\" contains unknown: " + found;
+          ret.push(Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity));
+        }
+      }
+ 
+      const types = nodeData.types;
+      for (const name in types) {
+        const identifier = types[name];
+        const found = this.containsUnknown(identifier.getType());
+        if (found) {
+          const message = "Type \"" + name + "\" contains unknown: " + found;
+          ret.push(Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity));
+        }
+      }
+    }
+ 
+    for (const name in nodeData.idefs) {
+      const v = nodeData.idefs[name];
+      const found = this.checkParameters(v);
+      if (found) {
+        const message = "Contains unknown, " + found.found;
+        ret.push(Issue.atIdentifier(found.id, message, this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    for (const name in nodeData.cdefs) {
+      const v = nodeData.cdefs[name];
+      const found = this.checkParameters(v);
+      if (found) {
+        const message = "Contains unknown, " + found.found;
+        ret.push(Issue.atIdentifier(found.id, message, this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    for (const n of node.getChildren()) {
+      ret.push(...this.traverse(n));
+    }
+ 
+    return ret;
+  }
+ 
+  private checkParameters(idef: IInterfaceDefinition): {id: Identifier, found: string} | undefined {
+    for (const m of idef.getMethodDefinitions()?.getAll() || []) {
+      for (const p of m.getParameters().getAll()) {
+        const found = this.containsUnknown(p.getType());
+        if (found) {
+          return {id: p, found};
+        }
+      }
+    }
+    for (const e of idef.getEvents() || []) {
+      for (const p of e.getParameters()) {
+        const found = this.containsUnknown(p.getType());
+        if (found) {
+          return {id: p, found};
+        }
+      }
+    }
+    return undefined;
+  }
+ 
+  private containsUnknown(type: AbstractType): string | undefined {
+    if (type instanceof BasicTypes.UnknownType) {
+      return type.getError();
+    } else if (type instanceof BasicTypes.StructureType) {
+      for (const c of type.getComponents()) {
+        const found = this.containsUnknown(c.type instanceof TypedIdentifier ? c.type.getType() : c.type);
+        if (found) {
+          return found;
+        }
+      }
+    } else if (type instanceof BasicTypes.TableType) {
+      return this.containsUnknown(type.getRowType());
+    }
+    return undefined;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unnecessary_chaining.ts.html b/src/rules/unnecessary_chaining.ts.html new file mode 100644 index 00000000000..dddf406155f --- /dev/null +++ b/src/rules/unnecessary_chaining.ts.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/rules/unnecessary_chaining.ts + + + + + + + + + +
+
+

All files / src/rules unnecessary_chaining.ts

+
+ +
+ 100% + Statements + 78/78 +
+ + +
+ 100% + Branches + 29/29 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 78/78 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +791x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +10424x +31121x +31121x +31121x +31121x +31121x +31121x +31121x +31121x +31121x +31121x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +265x +265x +265x +265x +1473x +1473x +1311x +1311x +162x +162x +162x +1473x +2x +2x +2x +162x +162x +162x +1473x +3x +3x +3x +162x +1473x +1473x +1473x +98x +1473x +39x +39x +25x +25x +25x +25x +25x +25x +265x +265x +265x +10424x +10424x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper} from "../edit_helper";
+import {Comment} from "../abap/2_statements/statements/_statement";
+import {StatementNode} from "../abap/nodes";
+ 
+export class UnnecessaryChainingConf extends BasicRuleConfig {
+}
+ 
+export class UnnecessaryChaining extends ABAPRule {
+ 
+  private conf = new UnnecessaryChainingConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unnecessary_chaining",
+      title: "Unnecessary Chaining",
+      shortDescription: `Find unnecessary chaining, all statements are checked`,
+      extendedInformation: ``,
+      tags: [RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `WRITE: bar.`,
+      goodExample: `WRITE bar.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnnecessaryChainingConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const statements = file.getStatements();
+    for (let i = 0; i < statements.length; i++) {
+      const colon = statements[i].getColon();
+      if (colon === undefined) {
+        continue;
+      }
+ 
+      let j = 1;
+      let nextStatement = statements[i + j];
+      while (nextStatement?.get() instanceof Comment) {
+        j++;
+        nextStatement = statements[i + j];
+      }
+ 
+      j = 1;
+      let prevStatement: StatementNode | undefined = statements[i - j];
+      while (prevStatement?.get() instanceof Comment) {
+        j++;
+        prevStatement = statements[i - j];
+      }
+ 
+      const next = nextStatement?.getColon();
+      const prev = prevStatement?.getColon();
+      if (next !== undefined && colon.getStart().equals(next.getStart())) {
+        continue;
+      } else if (prev !== undefined && colon.getStart().equals(prev.getStart())) {
+        continue;
+      }
+ 
+      const fix = EditHelper.deleteRange(file, colon.getStart(), colon.getEnd());
+      const message = "Unnecessary chaining";
+      const issue = Issue.atToken(file, colon, message, this.getMetadata().key, this.conf.severity, fix);
+      issues.push(issue);
+    }
+ 
+    return issues;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unnecessary_pragma.ts.html b/src/rules/unnecessary_pragma.ts.html new file mode 100644 index 00000000000..617dfbab361 --- /dev/null +++ b/src/rules/unnecessary_pragma.ts.html @@ -0,0 +1,670 @@ + + + + + + Code coverage report for src/rules/unnecessary_pragma.ts + + + + + + + + + +
+
+

All files / src/rules unnecessary_pragma.ts

+
+ +
+ 100% + Statements + 196/196 +
+ + +
+ 100% + Branches + 72/72 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 100% + Lines + 196/196 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +1961x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20852x +20852x +20852x +20852x +20852x +1x +10430x +10430x +10430x +10430x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +31103x +10430x +10430x +11412x +11412x +10430x +10430x +250x +250x +10430x +10430x +275x +275x +275x +275x +275x +275x +1526x +1526x +1526x +1526x +8x +1526x +1518x +170x +66x +66x +1518x +1348x +285x +1348x +25x +1063x +2x +2x +2x +2x +1038x +1036x +1036x +1501x +1526x +3x +1526x +1498x +1498x +1501x +1501x +1501x +1526x +1298x +1298x +1526x +275x +275x +275x +10430x +10430x +1498x +1498x +1494x +1494x +4x +4x +1498x +3x +3x +3x +3x +1x +1x +1x +10430x +10430x +1298x +1298x +1296x +1296x +2x +1298x +1298x +1x +1x +1x +1x +1x +1x +1x +10430x +10430x +1501x +1501x +1495x +1495x +6x +6x +6x +1501x +1501x +1501x +1501x +1501x +1501x +1501x +1501x +1501x +1501x +1501x +1501x +1501x +1501x +1501x +1x +1x +1x +1x +5x +5x +5x +10430x +10430x +1036x +16x +3x +3x +16x +1033x +1033x +1036x +1036x +1036x +1x +1x +1032x +1032x +10430x +10430x
import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {StatementNode} from "../abap/nodes";
+import {Comment, MacroContent} from "../abap/2_statements/statements/_statement";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import {EditHelper} from "../edit_helper";
+ 
+export class UnnecessaryPragmaConf extends BasicRuleConfig {
+  /** Allow NO_TEXT in global CLAS and INTF definitions,
+      its added automatically by SE24 in some cases where it should not */
+  public allowNoTextGlobal?: boolean = false;
+}
+ 
+export class UnnecessaryPragma extends ABAPRule {
+  private conf = new UnnecessaryPragmaConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unnecessary_pragma",
+      title: "Unnecessary Pragma",
+      shortDescription: `Finds pragmas which can be removed`,
+      extendedInformation: `* NO_HANDLER with handler
+ 
+* NEEDED without definition
+ 
+* NO_TEXT without texts
+ 
+* SUBRC_OK where sy-subrc is checked
+ 
+NO_HANDLER inside macros are not checked`,
+      tags: [RuleTag.SingleFile],
+      badExample: `TRY.
+    ...
+  CATCH zcx_abapgit_exception ##NO_HANDLER.
+    RETURN. " it has a handler
+ENDTRY.
+MESSAGE w125(zbar) WITH c_foo INTO message ##NEEDED ##NO_TEXT.
+SELECT SINGLE * FROM tadir INTO @DATA(sdfs) ##SUBRC_OK.
+IF sy-subrc <> 0.
+ENDIF.`,
+      goodExample: `TRY.
+    ...
+  CATCH zcx_abapgit_exception.
+    RETURN.
+ENDTRY.
+MESSAGE w125(zbar) WITH c_foo INTO message.
+SELECT SINGLE * FROM tadir INTO @DATA(sdfs).
+IF sy-subrc <> 0.
+ENDIF.
+ 
+DATA: BEGIN OF blah ##NEEDED,
+        test1 TYPE string,
+        test2 TYPE string,
+      END OF blah.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnnecessaryPragmaConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+    let noHandler: boolean = false;
+    let globalDefinition: boolean = false;
+ 
+    const statements = file.getStatements();
+    for (let i = 0; i < statements.length; i++) {
+      const statement = statements[i];
+      const nextStatement = statements[i + 1];
+ 
+      if (statement.get() instanceof Statements.EndTry) {
+        noHandler = false;
+      } else if (statement.get() instanceof Statements.ClassDefinition
+          || statement.get() instanceof Statements.Interface) {
+        if (statement.findDirectExpression(Expressions.ClassGlobal)) {
+          globalDefinition = true;
+        }
+      } else if (statement.get() instanceof Statements.EndClass
+          || statement.get() instanceof Statements.EndInterface) {
+        globalDefinition = false;
+      } else if (statement.get() instanceof Comment) {
+        continue;
+      } else if (noHandler === true && !(statement.get() instanceof Statements.Catch)) {
+        const message = "NO_HANDLER pragma or pseudo comment can be removed";
+        const issue = Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity);
+        issues.push(issue);
+        noHandler = false;
+      } else {
+        noHandler = this.containsNoHandler(statement, statements[i + 1]);
+      }
+ 
+      if (this.getConfig().allowNoTextGlobal === true && globalDefinition === true) {
+        // skip
+      } else {
+        issues.push(...this.checkText(statement, file));
+      }
+ 
+      issues.push(...this.checkNeeded(statement, file));
+ 
+      if (globalDefinition === false) {
+        issues.push(...this.checkSubrc(statement, nextStatement, file));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private checkText(statement: StatementNode, file: ABAPFile): Issue[] {
+    const p = statement.getPragmas().find(t => t.getStr().toUpperCase() === "##NO_TEXT");
+    if (p === undefined) {
+      return [];
+    }
+ 
+    if (statement.findFirstExpression(Expressions.ConstantString) === undefined
+        && statement.findFirstExpression(Expressions.StringTemplate) === undefined) {
+      const message = "There is no text, NO_TEXT can be removed";
+      const fix = EditHelper.deleteToken(file, p);
+      return [Issue.atToken(file, p, message, this.getMetadata().key, this.getConfig().severity, fix)];
+    }
+ 
+    return [];
+  }
+ 
+  private checkSubrc(statement: StatementNode, next: StatementNode, file: ABAPFile): Issue[] {
+    const p = statement.getPragmas().find(t => t.getStr().toUpperCase() === "##SUBRC_OK");
+    if (p === undefined) {
+      return [];
+    }
+ 
+    const concat = next?.concatTokens().toUpperCase() || "";
+    if (concat.includes(" SY-SUBRC")) {
+      const message = "SUBRC_OK can be removed as sy-subrc is checked";
+      const fix = EditHelper.deleteToken(file, p);
+      return [Issue.atToken(file, p, message, this.getMetadata().key, this.getConfig().severity, fix)];
+    }
+ 
+    return [];
+  }
+ 
+  private checkNeeded(statement: StatementNode, file: ABAPFile): Issue[] {
+    const p = statement.getPragmas().find(t => t.getStr().toUpperCase() === "##NEEDED");
+    if (p === undefined) {
+      return [];
+    }
+ 
+    if (statement.findFirstExpression(Expressions.InlineData) === undefined
+        && !(statement.get() instanceof Statements.Parameter)
+        && !(statement.get() instanceof Statements.Data)
+        && !(statement.get() instanceof Statements.DataBegin)
+        && !(statement.get() instanceof Statements.ClassData)
+        && !(statement.get() instanceof Statements.ClassDataBegin)
+        && !(statement.get() instanceof Statements.Type)
+        && !(statement.get() instanceof Statements.Form)
+        && !(statement.get() instanceof Statements.Tables)
+        && !(statement.get() instanceof Statements.TypeBegin)
+        && !(statement.get() instanceof Statements.Constant)
+        && !(statement.get() instanceof Statements.ConstantBegin)
+        && !(statement.get() instanceof Statements.TypeEnum)
+        && !(statement.get() instanceof Statements.TypeEnumBegin)
+        && !(statement.get() instanceof Statements.MethodImplementation)
+        && !(statement.get() instanceof Statements.MethodDef)
+        && statement.findFirstExpression(Expressions.InlineFS) === undefined) {
+      const message = "There is no data definition, NEEDED can be removed";
+      const fix = EditHelper.deleteToken(file, p);
+      return [Issue.atToken(file, p, message, this.getMetadata().key, this.getConfig().severity, fix)];
+    }
+ 
+    return [];
+  }
+ 
+  private containsNoHandler(statement: StatementNode, next: StatementNode | undefined): boolean {
+    for (const t of statement.getPragmas()) {
+      if (t.getStr().toUpperCase() === "##NO_HANDLER") {
+        return true;
+      }
+    }
+ 
+    if (next
+        && next.get() instanceof Comment
+        && !(statement.get() instanceof MacroContent)
+        && next.concatTokens().toUpperCase().includes("#EC NO_HANDLER")) {
+      return true;
+    }
+    return false;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unnecessary_return.ts.html b/src/rules/unnecessary_return.ts.html new file mode 100644 index 00000000000..e155eb23bb8 --- /dev/null +++ b/src/rules/unnecessary_return.ts.html @@ -0,0 +1,397 @@ + + + + + + Code coverage report for src/rules/unnecessary_return.ts + + + + + + + + + +
+
+

All files / src/rules unnecessary_return.ts

+
+ +
+ 100% + Statements + 105/105 +
+ + +
+ 100% + Branches + 28/28 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 105/105 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +1051x +1x +1x +1x +1x +1x +1x +1x +1x +20854x +20854x +20854x +20854x +1x +10430x +10430x +10430x +10430x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10430x +10430x +9910x +9910x +10430x +10430x +245x +245x +10430x +10430x +263x +263x +263x +263x +12x +12x +251x +251x +251x +251x +251x +251x +263x +1468x +1468x +1468x +1468x +1468x +86x +86x +86x +1382x +1468x +1361x +1361x +1382x +1382x +1468x +1468x +1296x +1296x +86x +86x +1468x +5x +2x +2x +3x +3x +3x +3x +84x +84x +84x +84x +1468x +1468x +1x +1x +1x +1468x +251x +251x +251x +10430x +10430x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+import * as Statements from "../abap/2_statements/statements";
+import {EditHelper} from "../edit_helper";
+import {Comment} from "../abap/2_statements/statements/_statement";
+ 
+export class UnnecessaryReturnConf extends BasicRuleConfig {
+  /** Allow empty METHODs + FORMs + FUNCTION-MODULEs */
+  public allowEmpty = false;
+}
+ 
+export class UnnecessaryReturn extends ABAPRule {
+  private conf = new UnnecessaryReturnConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unnecessary_return",
+      title: "Unnecessary Return",
+      shortDescription: `Finds unnecessary RETURN statements`,
+      extendedInformation: `Finds unnecessary RETURN statements`,
+      tags: [RuleTag.SingleFile, RuleTag.Quickfix],
+      badExample: `FORM hello1.
+  WRITE 'world'.
+  RETURN.
+ENDFORM.
+ 
+FORM foo.
+  IF 1 = 2.
+    RETURN.
+  ENDIF.
+ENDFORM.`,
+      goodExample: `FORM hello2.
+  WRITE 'world'.
+ENDFORM.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnnecessaryReturnConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const structure = file.getStructure();
+    if (structure === undefined) {
+      return [];
+    }
+ 
+    const message = "Unnecessary RETURN";
+ 
+    const statements = file.getStatements();
+    let statementCounter = 0;
+ 
+    for (let i = 0; i < statements.length; i++) {
+      const node = statements[i];
+      const nodeType = node.get();
+      if ((nodeType instanceof Statements.MethodImplementation
+          || nodeType instanceof Statements.Form
+          || nodeType instanceof Statements.FunctionModule)) {
+        statementCounter = 0;
+        continue;
+      }
+ 
+      if (!(nodeType instanceof Comment)) {
+        statementCounter++;
+      }
+ 
+      if (!(nodeType instanceof Statements.EndMethod
+          || nodeType instanceof Statements.EndForm
+          || nodeType instanceof Statements.EndFunction)) {
+        continue;
+      }
+ 
+      const prev = statements[i - 1];
+      if (prev && prev.get() instanceof Statements.Return) {
+        if (this.conf.allowEmpty === true && statementCounter === 2) {
+          continue;
+        }
+ 
+        const fix = EditHelper.deleteStatement(file, prev);
+        issues.push(Issue.atStatement(file, prev, message, this.getMetadata().key, this.getConfig().severity, fix));
+      }
+ 
+      // note: ENDTRY is not checked, it will usually just make it an empty catch handler, which is also bad
+      const prevprev = statements[i - 2];
+      if (prev && prevprev
+          && prevprev.get() instanceof Statements.Return
+          && prev.get() instanceof Statements.EndIf) {
+        const fix = EditHelper.deleteStatement(file, prevprev);
+        issues.push(Issue.atStatement(file, prevprev, message, this.getMetadata().key, this.getConfig().severity, fix));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unreachable_code.ts.html b/src/rules/unreachable_code.ts.html new file mode 100644 index 00000000000..97bd86230ce --- /dev/null +++ b/src/rules/unreachable_code.ts.html @@ -0,0 +1,424 @@ + + + + + + Code coverage report for src/rules/unreachable_code.ts + + + + + + + + + +
+
+

All files / src/rules unreachable_code.ts

+
+ +
+ 98.23% + Statements + 111/113 +
+ + +
+ 94.11% + Branches + 48/51 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 98.23% + Lines + 111/113 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +1141x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +10423x +10423x +9x +9x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +265x +265x +265x +265x +1493x +1493x +1493x +21x +1493x +16x +16x +1472x +134x +134x +134x +1493x +9x +9x +9x +9x +1493x +265x +265x +265x +10423x +10423x +1472x +1472x +1472x +  +1472x +1x +1x +1x +1x +  +1472x +1471x +1471x +1471x +16x +16x +1455x +1455x +10423x +10423x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +1456x +134x +134x +1322x +1322x +10423x +10423x + 
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IStatement, Comment, MacroContent, Empty} from "../abap/2_statements/statements/_statement";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {StatementNode} from "../abap/nodes";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class UnreachableCodeConf extends BasicRuleConfig {
+}
+ 
+export class UnreachableCode extends ABAPRule {
+  private conf = new UnreachableCodeConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unreachable_code",
+      title: "Unreachable code",
+      shortDescription: `Checks for unreachable code.`,
+      tags: [RuleTag.SingleFile],
+      badExample: `RETURN.\nWRITE 'hello'.`,
+      goodExample: `WRITE 'hello'.\nRETURN.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Unreachable code";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnreachableCodeConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const output: Issue[] = [];
+    let exit = false;
+ 
+    for (const node of file.getStatements()) {
+      if (node.get() instanceof Comment
+          || node.get() instanceof MacroContent
+          || node.get() instanceof Empty) {
+        continue;
+      } else if (this.isExit(node)) {
+        exit = true;
+        continue;
+      } else if (this.isStructure(node.get())) {
+        exit = false;
+        continue;
+      }
+      if (exit === true) {
+        const issue = Issue.atStatement(file, node, this.getMessage(), this.getMetadata().key, this.conf.severity);
+        output.push(issue);
+        exit = false;
+      }
+    }
+ 
+    return output;
+  }
+ 
+  private isExit(n: StatementNode): boolean {
+    const s = n.get();
+    // todo, RESUMABLE exception
+    if (s instanceof Statements.Submit && n.findFirstExpression(Expressions.AndReturn) === undefined) {
+      return true;
+    } else if (s instanceof Statements.Leave && n.findFirstExpression(Expressions.AndReturn) === undefined) {
+      const concat = n.concatTokens();
+      if (concat.includes(" TO LIST-PROCESSING")) {
+        return false;
+      }
+      return true;
+    } else if (s instanceof Statements.Return
+        || s instanceof Statements.Continue
+        || s instanceof Statements.Exit
+        || s instanceof Statements.Raise) {
+      return true;
+    }
+    return false;
+  }
+ 
+  private isStructure(s: IStatement): boolean {
+    if (s instanceof Statements.EndIf
+        || s instanceof Statements.Else
+        || s instanceof Statements.EndLoop
+        || s instanceof Statements.EndTry
+        || s instanceof Statements.EndMethod
+        || s instanceof Statements.EndModule
+        || s instanceof Statements.EndForm
+        || s instanceof Statements.EndTestSeam
+        || s instanceof Statements.EndAt
+        || s instanceof Statements.EndSelect
+        || s instanceof Statements.AtSelectionScreen
+        || s instanceof Statements.EndFunction
+        || s instanceof Statements.EndCase
+        || s instanceof Statements.EndWhile
+        || s instanceof Statements.EndDo
+        || s instanceof Statements.Cleanup
+        || s instanceof Statements.When
+        || s instanceof Statements.WhenOthers
+        || s instanceof Statements.WhenType
+        || s instanceof Statements.Catch
+        || s instanceof Statements.ElseIf) {
+      return true;
+    }
+    return false;
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unsecure_fae.ts.html b/src/rules/unsecure_fae.ts.html new file mode 100644 index 00000000000..77588954557 --- /dev/null +++ b/src/rules/unsecure_fae.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/rules/unsecure_fae.ts + + + + + + + + + +
+
+

All files / src/rules unsecure_fae.ts

+
+ +
+ 100% + Statements + 63/63 +
+ + +
+ 100% + Branches + 16/16 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 63/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +631x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10425x +10425x +10425x +10425x +10425x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +31096x +10425x +10425x +9907x +9907x +10425x +10425x +246x +246x +246x +10425x +10425x +243x +243x +10425x +10425x +312x +312x +62x +62x +250x +250x +312x +27x +27x +223x +312x +230x +230x +1x +1x +1x +1x +230x +223x +223x +223x +10425x +10425x
import * as Expressions from "../abap/2_statements/expressions";
+import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+ 
+export class UnsecureFAEConf extends BasicRuleConfig {
+}
+ 
+export class UnsecureFAE implements IRule {
+  private reg: IRegistry;
+  private conf = new UnsecureFAEConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unsecure_fae",
+      title: "Unsecure FAE",
+      shortDescription: `Checks for unsecure FAE`,
+      extendedInformation: `Issues from rule check_syntax must be fixed before this rule takes effect`,
+      tags: [RuleTag.Experimental, RuleTag.Performance],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public setConfig(conf: UnsecureFAEConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+    if (!(obj instanceof ABAPObject)) {
+      return issues;
+    }
+ 
+    const syntaxResult = new SyntaxLogic(this.reg, obj).run();
+    if (syntaxResult.issues.length > 0) {
+      return issues;
+    }
+ 
+    for (const f of obj.getABAPFiles()) {
+      // todo
+      for (const e of f.getStructure()?.findAllExpressions(Expressions.SQLForAllEntries) || []) {
+        const token = e.getFirstToken();
+        const message = "Unsecure FAE";
+        issues.push(Issue.atToken(f, token, message, this.getMetadata().key, this.getConfig().severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unused_ddic.ts.html b/src/rules/unused_ddic.ts.html new file mode 100644 index 00000000000..3d4646a5924 --- /dev/null +++ b/src/rules/unused_ddic.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/rules/unused_ddic.ts + + + + + + + + + +
+
+

All files / src/rules unused_ddic.ts

+
+ +
+ 100% + Statements + 63/63 +
+ + +
+ 100% + Branches + 15/15 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 100% + Lines + 63/63 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +631x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10435x +10435x +10435x +10435x +10435x +31114x +31114x +31114x +31114x +31114x +31114x +31114x +31114x +10435x +10435x +256x +256x +256x +10435x +10435x +9906x +9906x +10435x +10435x +243x +243x +10435x +10435x +322x +322x +322x +322x +322x +64x +64x +258x +258x +258x +10435x +10435x +64x +64x +64x +64x +64x +19x +19x +19x +45x +45x +45x +10435x +10435x
import {IRule, IRuleMetadata} from "./_irule";
+import {Issue} from "../issue";
+import * as Objects from "../objects";
+import {IObject} from "../objects/_iobject";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+ 
+export class UnusedDDICConf extends BasicRuleConfig {
+}
+ 
+export class UnusedDDIC implements IRule {
+  private reg: IRegistry;
+  private conf = new UnusedDDICConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unused_ddic",
+      title: "Unused DDIC",
+      shortDescription: `Checks the usage of DDIC objects`,
+      extendedInformation: `Objects checked: DOMA + DTEL + TABL + TTYP + VIEW`,
+      tags: [],
+    };
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnusedDDICConf) {
+    this.conf = conf;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (obj instanceof Objects.Domain
+        || obj instanceof Objects.TableType
+        || obj instanceof Objects.View
+        || obj instanceof Objects.Table
+        || obj instanceof Objects.DataElement) {
+      return this.check(obj);
+    }
+ 
+    return [];
+  }
+ 
+  private check(obj: IObject): Issue[] {
+    const id = obj.getIdentifier();
+    const refs = this.reg.getDDICReferences();
+    const list = refs.listWhereUsed(obj);
+ 
+    if (id && list.length === 0) {
+      const message = obj.getType() + " " + obj.getName() + " not statically referenced";
+      return [Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity)];
+    }
+ 
+    return [];
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unused_macros.ts.html b/src/rules/unused_macros.ts.html new file mode 100644 index 00000000000..5ffcd36aaee --- /dev/null +++ b/src/rules/unused_macros.ts.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for src/rules/unused_macros.ts + + + + + + + + + +
+
+

All files / src/rules unused_macros.ts

+
+ +
+ 97.43% + Statements + 76/78 +
+ + +
+ 87.5% + Branches + 14/16 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 97.43% + Lines + 76/78 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +781x +1x +1x +1x +1x +1x +1x +1x +20855x +20855x +20855x +20855x +20855x +20855x +1x +10433x +10433x +10433x +10433x +10433x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10433x +10433x +9906x +9906x +10433x +10433x +243x +243x +  +  +243x +10433x +10433x +254x +254x +254x +10433x +10433x +320x +320x +320x +62x +62x +258x +258x +320x +265x +6x +6x +6x +2x +2x +2x +2x +2x +2x +6x +265x +258x +258x +258x +10433x +10433x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {EditHelper} from "../edit_helper";
+ 
+export class UnusedMacrosConf extends BasicRuleConfig {
+  /** skip specific names, case insensitive
+   * @uniqueItems true
+   */
+  public skipNames?: string[] = [];
+}
+ 
+export class UnusedMacros implements IRule {
+  private conf = new UnusedMacrosConf();
+  private reg: IRegistry;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unused_macros",
+      title: "Unused macros",
+      shortDescription: `Checks for unused macro definitions definitions`,
+      tags: [RuleTag.Quickfix],
+      badExample: `DEFINE foobar1.
+  WRITE 'hello'.
+END-OF-DEFINITION.`,
+      goodExample: `DEFINE foobar2.
+  WRITE 'hello'.
+END-OF-DEFINITION.
+ 
+foobar2.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnusedMacrosConf) {
+    this.conf = conf;
+    if (this.conf.skipNames === undefined) {
+      this.conf.skipNames = [];
+    }
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const result: Issue[] = [];
+ 
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    const references = this.reg.getMacroReferences();
+    for (const file of obj.getABAPFiles()) {
+      for (const macroToken of references.listDefinitionsByFile(file.getFilename())) {
+        const usages = references.listUsagesbyMacro(file.getFilename(), macroToken);
+ 
+        if (usages.length === 0 && this.conf.skipNames?.includes(macroToken.getStr().toUpperCase()) === false) {
+          const message = "Unused macro definition: " + macroToken.getStr();
+ 
+          const pos = references.getDefinitionRange(file.getFilename(), macroToken);
+          const fix = EditHelper.deleteRange(file, pos!.start, pos!.end);
+          result.push(Issue.atToken(file, macroToken, message, this.getMetadata().key, this.conf.severity, fix));
+        }
+      }
+    }
+ 
+    return result;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unused_methods.ts.html b/src/rules/unused_methods.ts.html new file mode 100644 index 00000000000..aa3770a6cc6 --- /dev/null +++ b/src/rules/unused_methods.ts.html @@ -0,0 +1,829 @@ + + + + + + Code coverage report for src/rules/unused_methods.ts + + + + + + + + + +
+
+

All files / src/rules unused_methods.ts

+
+ +
+ 95.16% + Statements + 236/248 +
+ + +
+ 88.63% + Branches + 78/88 +
+ + +
+ 100% + Functions + 16/16 +
+ + +
+ 95.16% + Lines + 236/248 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +2491x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +212x +212x +1x +1x +13x +13x +1x +1x +11x +3x +2x +2x +2x +3x +9x +1x +1x +6x +6x +1x +1x +6x +5x +5x +1x +1x +213x +213x +1x +1x +212x +212x +1x +1x +1x +1x +10438x +10438x +10438x +10438x +10438x +10438x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +10438x +10438x +9906x +9906x +10438x +10438x +243x +243x +10438x +10438x +259x +259x +259x +10438x +10438x +325x +62x +325x +20x +263x +  +  +243x +325x +249x +1516x +5x +5x +1516x +244x +238x +238x +238x +325x +26x +26x +212x +212x +212x +325x +218x +128x +59x +59x +59x +10x +59x +49x +1x +1x +49x +1x +49x +48x +3x +3x +45x +45x +59x +13x +13x +59x +128x +218x +212x +212x +212x +212x +212x +212x +325x +11x +11x +11x +  +  +11x +11x +  +  +11x +1x +1x +10x +1x +1x +9x +9x +9x +9x +212x +212x +212x +10438x +10438x +10x +  +  +10x +10x +  +  +10x +10x +10x +94x +1x +1x +94x +10x +10x +94x +9x +9x +9x +10438x +10438x +213x +213x +213x +212x +212x +1x +1x +213x +  +  +1x +213x +2x +2x +1x +1x +1x +1x +1x +2x +1x +1x +10438x +10438x +1074x +861x +861x +1074x +1074x +861x +861x +1074x +10438x +10438x +861x +353x +11x +11x +353x +861x +10438x +10438x + 
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {IRule, IRuleMetadata} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {Class, Interface, Program} from "../objects";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {Visibility} from "../abap/4_file_information/visibility";
+import {InfoMethodDefinition} from "../abap/4_file_information/_abap_file_information";
+import {EditHelper} from "../edit_helper";
+import {Comment, Unknown} from "../abap/2_statements/statements/_statement";
+import {StatementNode} from "../abap/nodes/statement_node";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class UnusedMethodsConf extends BasicRuleConfig {
+}
+ 
+class WorkArea {
+  private readonly list: InfoMethodDefinition[] = [];
+ 
+  public constructor() {
+    this.list = [];
+  }
+ 
+  public push(id: InfoMethodDefinition) {
+    this.list.push(id);
+  }
+ 
+  public removeIfExists(id: Identifier) {
+    for (let i = 0; i < this.list.length; i++) {
+      if (id.equals(this.list[i].identifier)) {
+        this.list.splice(i, 1);
+        return;
+      }
+    }
+  }
+ 
+  public containsProteted(): boolean {
+    for (const m of this.list) {
+      if (m.visibility === Visibility.Protected) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  public getLength(): number {
+    return this.list.length;
+  }
+ 
+  public get(): readonly InfoMethodDefinition[] {
+    return this.list;
+  }
+}
+ 
+// todo: add possibility to also search public methods
+// todo: for protected methods, also search subclasses
+export class UnusedMethods implements IRule {
+  private conf = new UnusedMethodsConf();
+  private reg: IRegistry;
+  private wa: WorkArea;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unused_methods",
+      title: "Unused methods",
+      shortDescription: `Checks for unused methods`,
+      extendedInformation: `Checks private and protected methods.
+ 
+Unused methods are not reported if the object contains parser or syntax errors.
+ 
+Skips:
+* methods FOR TESTING
+* methods SETUP + TEARDOWN + CLASS_SETUP + CLASS_TEARDOWN in testclasses
+* class_constructor + constructor methods
+* event handlers
+* methods that are redefined
+* INCLUDEs
+`,
+      tags: [],
+      pragma: "##CALLED",
+      pseudoComment: "EC CALLED",
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnusedMethodsConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    } else if (obj instanceof Interface) { // todo, how to handle interfaces?
+      return [];
+    } else if (obj instanceof Program && obj.isInclude() === true) {
+      return [];
+    }
+ 
+    for (const file of obj.getABAPFiles()) {
+      for (const statement of file.getStatements()) {
+        if (statement.get() instanceof Unknown) {
+          return []; // contains parser errors
+        }
+      }
+    }
+ 
+    // dont report anything when there are syntax errors
+    const syntax = new SyntaxLogic(this.reg, obj).run();
+    if (syntax.issues.length > 0) {
+      return [];
+    }
+ 
+    this.wa = new WorkArea();
+ 
+    for (const file of obj.getABAPFiles()) {
+      for (const def of file.getInfo().listClassDefinitions()) {
+        for (const method of def.methods) {
+          if (method.isForTesting === true
+              || method.isRedefinition === true
+              || method.isEventHandler === true) {
+            continue;
+          } else if (def.isForTesting === true
+              && (method.name.toUpperCase() === "SETUP"
+              || method.name.toUpperCase() === "CLASS_SETUP"
+              || method.name.toUpperCase() === "TEARDOWN"
+              || method.name.toUpperCase() === "CLASS_TEARDOWN")) {
+            continue;
+          } else if (method.name.toUpperCase() === "CONSTRUCTOR"
+              || method.name.toUpperCase() === "CLASS_CONSTRUCTOR") {
+            continue;
+          }
+ 
+          if (method.visibility === Visibility.Private
+              || method.visibility === Visibility.Protected) {
+            this.wa.push(method);
+          }
+        }
+      }
+    }
+ 
+    this.traverse(syntax.spaghetti.getTop());
+ 
+    this.searchGlobalSubclasses(obj);
+ 
+    const issues: Issue[] = [];
+    for (const i of this.wa.get()) {
+ 
+      const file = obj.getABAPFileByName(i.identifier.getFilename());
+      if (file === undefined) {
+        continue;
+      }
+      const statement = EditHelper.findStatement(i.identifier.getToken(), file);
+      if (statement === undefined) {
+        continue;
+      }
+      if (statement.getPragmas().some(t => t.getStr() === this.getMetadata().pragma)) {
+        continue;
+      }
+      else if (this.suppressedbyPseudo(statement, file)) {
+        continue;
+      }
+ 
+      const message = "Method \"" + i.identifier.getName() + "\" not used";
+      issues.push(Issue.atIdentifier(i.identifier, message, this.getMetadata().key, this.conf.severity));
+    }
+ 
+    return issues;
+  }
+ 
+  private suppressedbyPseudo(statement: StatementNode | undefined, file: ABAPFile): boolean {
+    if (statement === undefined) {
+      return false;
+    }
+ 
+    if (file === undefined) {
+      return false;
+    }
+ 
+    let next = false;
+    for (const s of file.getStatements()) {
+      if (next === true && s.get() instanceof Comment) {
+        return s.concatTokens().includes(this.getMetadata().pseudoComment + "");
+      }
+      if (s === statement) {
+        next = true;
+      }
+    }
+ 
+    return false;
+  }
+ 
+  private searchGlobalSubclasses(obj: ABAPObject) {
+    if (this.wa.getLength() === 0
+        || !(obj instanceof Class)
+        || this.wa.containsProteted() === false) {
+      return;
+    }
+ 
+    const sup = obj.getDefinition();
+    if (sup === undefined) {
+      return;
+    }
+ 
+    for (const r of this.reg.getObjects()) {
+      if (r instanceof Class
+          && r.getDefinition()?.getSuperClass()?.toUpperCase() === sup.getName().toUpperCase()) {
+        const syntax = new SyntaxLogic(this.reg, r).run();
+        this.traverse(syntax.spaghetti.getTop());
+        // recurse to sub-sub-* classes
+        this.searchGlobalSubclasses(r);
+      }
+    }
+ 
+  }
+ 
+  private traverse(node: ISpaghettiScopeNode) {
+    if (node.getIdentifier().stype !== ScopeType.BuiltIn) {
+      this.checkNode(node);
+    }
+ 
+    for (const c of node.getChildren()) {
+      this.traverse(c);
+    }
+  }
+ 
+  private checkNode(node: ISpaghettiScopeNode) {
+    for (const v of node.getData().references) {
+      if (v.referenceType === ReferenceType.MethodReference && v.resolved) {
+        this.wa.removeIfExists(v.resolved);
+      }
+    }
+  }
+ 
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unused_types.ts.html b/src/rules/unused_types.ts.html new file mode 100644 index 00000000000..532b0ee4b87 --- /dev/null +++ b/src/rules/unused_types.ts.html @@ -0,0 +1,760 @@ + + + + + + Code coverage report for src/rules/unused_types.ts + + + + + + + + + +
+
+

All files / src/rules unused_types.ts

+
+ +
+ 93.8% + Statements + 212/226 +
+ + +
+ 87.32% + Branches + 62/71 +
+ + +
+ 100% + Functions + 16/16 +
+ + +
+ 93.8% + Lines + 212/226 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +2261x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +238x +238x +238x +238x +144x +68x +36x +36x +68x +108x +108x +238x +238x +215x +126x +80x +80x +80x +126x +135x +238x +238x +27x +27x +238x +238x +257x +257x +238x +1x +20868x +20868x +20868x +20868x +20868x +20868x +1x +10446x +10446x +10446x +10446x +10446x +10446x +31123x +31123x +31123x +31123x +31123x +31123x +31123x +31123x +31123x +31123x +10446x +10446x +9906x +9906x +10446x +10446x +243x +243x +  +  +243x +10446x +10446x +267x +267x +267x +10446x +10446x +333x +62x +62x +271x +333x +277x +1582x +6x +6x +1582x +271x +265x +265x +265x +333x +27x +27x +238x +238x +238x +238x +333x +201x +201x +37x +333x +51x +32x +51x +19x +  +  +19x +19x +19x +51x +10x +10x +51x +27x +27x +27x +333x +28x +28x +28x +28x +  +  +28x +28x +  +  +28x +1x +1x +27x +1x +1x +26x +26x +26x +26x +27x +27x +10446x +10446x +27x +  +  +27x +27x +  +  +27x +27x +27x +177x +1x +1x +177x +27x +27x +177x +26x +26x +26x +10446x +10446x +10446x +10446x +2306x +2306x +1811x +1811x +2306x +2306x +1811x +1811x +2306x +2306x +10446x +10446x +1811x +1811x +1811x +877x +877x +161x +161x +  +161x +161x +161x +  +161x +17x +17x +144x +144x +877x +1811x +1811x +768x +215x +215x +768x +1811x +1811x +1811x +10446x +10446x +26x +5x +5x +21x +21x +10446x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {TypedIdentifier} from "../abap/types/_typed_identifier";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {EditHelper, IEdit} from "../edit_helper";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {ABAPFile} from "../abap/abap_file";
+import {StatementNode} from "../abap/nodes";
+import {Comment, Unknown} from "../abap/2_statements/statements/_statement";
+ 
+class WorkArea {
+  private readonly workarea: TypedIdentifier[] = [];
+ 
+  public push(id: TypedIdentifier) {
+    for (const w of this.workarea) {
+      if (id.equals(w)) {
+        return;
+      }
+    }
+    this.workarea.push(id);
+  }
+ 
+  public removeIfExists(id: Identifier) {
+    for (let i = 0; i < this.workarea.length; i++) {
+      if (id.equals(this.workarea[i])) {
+        this.workarea.splice(i, 1);
+        return;
+      }
+    }
+  }
+ 
+  public get(): readonly TypedIdentifier[] {
+    return this.workarea;
+  }
+ 
+  public count(): number {
+    return this.workarea.length;
+  }
+}
+ 
+export class UnusedTypesConf extends BasicRuleConfig {
+  /** skip specific names, case insensitive
+   * @uniqueItems true
+   */
+  public skipNames?: string[] = [];
+}
+ 
+export class UnusedTypes implements IRule {
+  private conf = new UnusedTypesConf();
+  private reg: IRegistry;
+  private workarea: WorkArea;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unused_types",
+      title: "Unused types",
+      shortDescription: `Checks for unused TYPE definitions`,
+      extendedInformation: `Unused types are not reported if the object contains parser or syntax errors.`,
+      tags: [RuleTag.Quickfix],
+      pragma: "##NEEDED",
+      pseudoComment: "EC NEEDED",
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnusedTypesConf) {
+    this.conf = conf;
+    if (this.conf.skipNames === undefined) {
+      this.conf.skipNames = [];
+    }
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    for (const file of obj.getABAPFiles()) {
+      for (const statement of file.getStatements()) {
+        if (statement.get() instanceof Unknown) {
+          return []; // contains parser errors
+        }
+      }
+    }
+ 
+    // dont report unused variables when there are syntax errors
+    const syntax = new SyntaxLogic(this.reg, obj).run();
+    if (syntax.issues.length > 0) {
+      return [];
+    }
+ 
+    this.workarea = new WorkArea();
+    this.traverse(syntax.spaghetti.getTop(), obj, true);
+    this.traverse(syntax.spaghetti.getTop(), obj, false);
+    if (this.workarea.count() === 0) {
+      return []; // exit early if all types are used in the current object
+    }
+ 
+    for (const o of this.reg.getObjects()) {
+      if (o === obj) {
+        continue;
+      } else if (o instanceof ABAPObject) {
+        if (this.reg.isDependency(o)) {
+          continue; // do not search in dependencies
+        }
+        const syntax = new SyntaxLogic(this.reg, o).run();
+        this.traverse(syntax.spaghetti.getTop(), o, false);
+      }
+      if (this.workarea.count() === 0) {
+        return []; // exit early if all types are used
+      }
+    }
+ 
+    // what is left is unused
+    const ret: Issue[] = [];
+    for (const t of this.workarea.get()) {
+      const message = "Type \"" + t.getName() + "\" not used";
+ 
+      const file = obj.getABAPFileByName(t.getFilename());
+      if (file === undefined) {
+        continue;
+      }
+      const statement = EditHelper.findStatement(t.getToken(), file);
+      if (statement === undefined) {
+        continue;
+      }
+      if (statement.getPragmas().some(t => t.getStr() === this.getMetadata().pragma)) {
+        continue;
+      }
+      else if (this.suppressedbyPseudo(statement, file)) {
+        continue;
+      }
+ 
+      const fix = this.buildFix(file, statement);
+      ret.push(Issue.atIdentifier(t, message, this.getMetadata().key, this.conf.severity, fix));
+    }
+    return ret;
+  }
+ 
+  private suppressedbyPseudo(statement: StatementNode | undefined, file: ABAPFile): boolean {
+    if (statement === undefined) {
+      return false;
+    }
+ 
+    if (file === undefined) {
+      return false;
+    }
+ 
+    let next = false;
+    for (const s of file.getStatements()) {
+      if (next === true && s.get() instanceof Comment) {
+        return s.concatTokens().includes(this.getMetadata().pseudoComment + "");
+      }
+      if (s === statement) {
+        next = true;
+      }
+    }
+ 
+    return false;
+  }
+ 
+////////////////////////////
+ 
+  private traverse(node: ISpaghettiScopeNode, obj: ABAPObject, add: boolean) {
+ 
+    if (node.getIdentifier().stype !== ScopeType.BuiltIn) {
+      this.checkNode(node, obj, add);
+    }
+ 
+    for (const c of node.getChildren()) {
+      this.traverse(c, obj, add);
+    }
+ 
+  }
+ 
+  private checkNode(node: ISpaghettiScopeNode, obj: ABAPObject, add: boolean) {
+    const ret: Issue[] = [];
+ 
+    if (add === true) {
+      const types = node.getData().types;
+      for (const name in types) {
+        const identifier = types[name];
+        if (obj.containsFile(identifier.getFilename()) === false) {
+          continue;
+        } else if (this.conf.skipNames
+            && this.conf.skipNames.length > 0
+            && this.conf.skipNames.some((a) => a.toUpperCase() === name)) {
+          continue;
+        } else if (name !== identifier.getName().toUpperCase()) {
+          continue; // may have aliases via interfaces
+        }
+        this.workarea.push(identifier);
+      }
+    }
+ 
+    for (const r of node.getData().references) {
+      if (r.referenceType === ReferenceType.TypeReference && r.resolved) {
+        this.workarea.removeIfExists(r.resolved);
+      }
+    }
+ 
+    return ret;
+  }
+ 
+  private buildFix(file: ABAPFile, statement: StatementNode): IEdit | undefined {
+    if (statement.concatTokens().toUpperCase().includes("BEGIN OF")) {
+      return undefined;
+    }
+    return EditHelper.deleteStatement(file, statement);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/unused_variables.ts.html b/src/rules/unused_variables.ts.html new file mode 100644 index 00000000000..6f740eb034d --- /dev/null +++ b/src/rules/unused_variables.ts.html @@ -0,0 +1,958 @@ + + + + + + Code coverage report for src/rules/unused_variables.ts + + + + + + + + + +
+
+

All files / src/rules unused_variables.ts

+
+ +
+ 94.86% + Statements + 277/292 +
+ + +
+ 89% + Branches + 89/100 +
+ + +
+ 100% + Functions + 18/18 +
+ + +
+ 94.86% + Lines + 277/292 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +2921x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +20983x +20983x +20983x +20983x +20983x +20983x +20983x +20983x +1x +335x +335x +335x +335x +459x +272x +63x +63x +272x +396x +396x +335x +335x +411x +  +  +411x +492x +292x +292x +243x +243x +292x +292x +492x +119x +335x +335x +335x +335x +335x +335x +370x +370x +335x +1x +10561x +10561x +10561x +10561x +10561x +10561x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +31395x +10561x +10561x +9906x +9906x +10561x +10561x +245x +245x +2x +2x +245x +10561x +10561x +385x +385x +385x +10561x +10561x +455x +62x +455x +21x +21x +372x +455x +379x +1931x +7x +7x +1931x +372x +365x +365x +365x +455x +30x +30x +335x +335x +335x +335x +335x +455x +79x +79x +256x +256x +455x +311x +254x +311x +35x +  +  +35x +35x +35x +3x +3x +35x +311x +253x +253x +253x +10561x +10561x +1226x +1226x +659x +659x +659x +411x +411x +659x +1226x +1226x +935x +935x +1226x +10561x +10561x +1460x +1460x +1460x +2x +2x +1458x +1460x +1125x +1125x +1458x +1460x +1124x +1124x +728x +728x +728x +728x +  +728x +1x +728x +727x +727x +727x +268x +268x +268x +459x +728x +728x +1124x +1460x +10561x +10561x +335x +335x +335x +153x +153x +  +153x +5x +5x +148x +148x +153x +7x +153x +1x +1x +140x +140x +140x +140x +140x +140x +140x +335x +335x +335x +10561x +10561x +141x +  +  +141x +141x +141x +2x +2x +139x +139x +141x +836x +12x +12x +836x +139x +139x +836x +127x +127x +127x +10561x +10561x +148x +148x +  +  +148x +148x +  +  +148x +148x +  +  +148x +148x +148x +148x +10561x +10561x +140x +140x +2x +2x +138x +138x +140x +  +140x +88x +88x +50x +50x +10561x
import {Issue} from "../issue";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {IRegistry} from "../_iregistry";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import {SyntaxLogic} from "../abap/5_syntax/syntax";
+import {ABAPObject} from "../objects/_abap_object";
+import {ScopeType} from "../abap/5_syntax/_scope_type";
+import {TypedIdentifier, IdentifierMeta} from "../abap/types/_typed_identifier";
+import {Interface, Program} from "../objects";
+import {ISpaghettiScopeNode} from "../abap/5_syntax/_spaghetti_scope";
+import {Identifier} from "../abap/4_file_information/_identifier";
+import {EditHelper, IEdit} from "../edit_helper";
+import {StatementNode} from "../abap/nodes/statement_node";
+import * as Statements from "../abap/2_statements/statements";
+import {Comment, Unknown} from "../abap/2_statements/statements/_statement";
+import {ReferenceType} from "../abap/5_syntax/_reference";
+ 
+ 
+export class UnusedVariablesConf extends BasicRuleConfig {
+  /** skip specific names, case insensitive
+   * @uniqueItems true
+  */
+  public skipNames?: string[] = [];
+  /** skip parameters from abstract methods */
+  public skipAbstract: boolean = false;
+}
+ 
+class WorkArea {
+  private readonly workarea: {id: TypedIdentifier, count: number}[] = [];
+ 
+  public push(id: TypedIdentifier, count = 1) {
+    for (const w of this.workarea) {
+      if (id.equals(w.id)) {
+        return;
+      }
+    }
+    this.workarea.push({id, count});
+  }
+ 
+  public removeIfExists(id: Identifier | undefined): void {
+    if (id === undefined) {
+      return;
+    }
+    for (let i = 0; i < this.workarea.length; i++) {
+      if (id.equals(this.workarea[i].id)) {
+        this.workarea[i].count--;
+        if (this.workarea[i].count === 0) {
+          this.workarea.splice(i, 1);
+        }
+        return;
+      }
+    }
+  }
+ 
+  public get() {
+    return this.workarea;
+  }
+ 
+  public count(): number {
+    return this.workarea.length;
+  }
+}
+ 
+export class UnusedVariables implements IRule {
+  private conf = new UnusedVariablesConf();
+  private reg: IRegistry;
+  private workarea: WorkArea;
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "unused_variables",
+      title: "Unused variables",
+      shortDescription: `Checks for unused variables and constants`,
+      extendedInformation: `Skips event parameters.
+ 
+Note that this currently does not work if the source code uses macros.
+ 
+Unused variables are not reported if the object contains parser or syntax errors.
+ 
+Errors found in INCLUDES are reported for the main program.`,
+      tags: [RuleTag.Quickfix],
+      pragma: "##NEEDED",
+      pseudoComment: "EC NEEDED",
+      badExample: `DATA: BEGIN OF blah1,
+      test  TYPE string,
+      test2 TYPE string,
+    END OF blah1.`,
+      goodExample: `DATA: BEGIN OF blah2 ##NEEDED,
+      test  TYPE string,
+      test2 TYPE string,
+    END OF blah2.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UnusedVariablesConf) {
+    this.conf = conf;
+    if (this.conf.skipNames === undefined) {
+      this.conf.skipNames = [];
+    }
+  }
+ 
+  public initialize(reg: IRegistry) {
+    this.reg = reg;
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    } else if (obj instanceof Interface) { // todo, how to handle interfaces?
+      return [];
+    }
+ 
+    for (const file of obj.getABAPFiles()) {
+      for (const statement of file.getStatements()) {
+        if (statement.get() instanceof Unknown) {
+          return []; // contains parser errors
+        }
+      }
+    }
+ 
+    // dont report unused variables when there are syntax errors
+    const syntax = new SyntaxLogic(this.reg, obj).run();
+    if (syntax.issues.length > 0) {
+      return []; // contains syntax errors
+    }
+ 
+    this.workarea = new WorkArea();
+    const top = syntax.spaghetti.getTop();
+    this.buildWorkarea(top, obj);
+ 
+    if (this.workarea.count() === 0) {
+      return this.buildIssues(obj); // exit early if all variables are used
+    }
+    this.findUses(top, obj);
+ 
+    for (const o of this.reg.getObjects()) {
+      if (o === obj) {
+        continue;
+      } else if (o instanceof ABAPObject) {
+        if (this.reg.isDependency(o)) {
+          continue; // do not search in dependencies
+        }
+        const syntax = new SyntaxLogic(this.reg, o).run();
+        this.findUses(syntax.spaghetti.getTop(), o);
+        if (this.workarea.count() === 0) {
+          return this.buildIssues(obj); // exit early if all variables are used
+        }
+      }
+    }
+ 
+    return this.buildIssues(obj);
+  }
+ 
+  private findUses(node: ISpaghettiScopeNode, obj: ABAPObject): void {
+ 
+    for (const r of node.getData().references) {
+      if (r.referenceType === ReferenceType.DataReadReference
+          || r.referenceType === ReferenceType.DataWriteReference
+          || r.referenceType === ReferenceType.TypeReference) {
+        this.workarea.removeIfExists(r.resolved);
+      }
+    }
+ 
+    for (const c of node.getChildren()) {
+      this.findUses(c, obj);
+    }
+  }
+ 
+  private buildWorkarea(node: ISpaghettiScopeNode, obj: ABAPObject): void {
+    const stype = node.getIdentifier().stype;
+ 
+    if (stype === ScopeType.OpenSQL) {
+      return;
+    }
+ 
+    for (const c of node.getChildren()) {
+      this.buildWorkarea(c, obj);
+    }
+ 
+    if (stype !== ScopeType.BuiltIn) {
+      const vars = node.getData().vars;
+      for (const name in vars) {
+        const meta = vars[name].getMeta();
+        if (this.conf.skipNames
+            && this.conf.skipNames.length > 0
+            && this.conf.skipNames.some((a) => a.toUpperCase() === name)) {
+          continue;
+        } else if (this.conf.skipAbstract === true && meta.includes(IdentifierMeta.Abstract)) {
+          continue;
+        } else if (name === "ME"
+            || name === "SUPER"
+            || meta.includes(IdentifierMeta.SelectionScreenTab)
+            || meta.includes(IdentifierMeta.EventParameter)) {
+          // todo, workaround for "me" and "super", these should somehow be typed to built-in
+          continue;
+        }
+        const isInline = meta.includes(IdentifierMeta.InlineDefinition);
+        this.workarea.push(vars[name], isInline ? 2 : 1);
+      }
+    }
+  }
+ 
+  private buildIssues(obj: ABAPObject): Issue[] {
+    const ret: Issue[] = [];
+ 
+    for (const w of this.workarea.get()) {
+      const filename = w.id.getFilename();
+      if (this.reg.isFileDependency(filename) === true) {
+        continue;
+      } else if (obj instanceof Program === false && obj.containsFile(filename) === false) {
+        continue;
+      }
+ 
+      const statement = this.findStatement(w.id);
+      if (statement?.getPragmas().map(t => t.getStr()).includes(this.getMetadata().pragma + "")) {
+        continue;
+      } else if (this.suppressedbyPseudo(statement, w.id, obj)) {
+        continue;
+      }
+ 
+      const name = w.id.getName();
+      const message = "Variable \"" + name.toLowerCase() + "\" not used";
+ 
+      const fix = this.buildFix(w.id, obj);
+      ret.push(Issue.atIdentifier(w.id, message, this.getMetadata().key, this.conf.severity, fix));
+    }
+ 
+    return ret;
+  }
+ 
+  private suppressedbyPseudo(statement: StatementNode | undefined, v: TypedIdentifier, obj: ABAPObject): boolean {
+    if (statement === undefined) {
+      return false;
+    }
+ 
+    const file = obj.getABAPFileByName(v.getFilename());
+    if (file === undefined) {
+      return false;
+    }
+ 
+    let next = false;
+    for (const s of file.getStatements()) {
+      if (next === true && s.get() instanceof Comment) {
+        return s.concatTokens().includes(this.getMetadata().pseudoComment + "");
+      }
+      if (s === statement) {
+        next = true;
+      }
+    }
+ 
+    return false;
+  }
+ 
+  private findStatement(v: TypedIdentifier): StatementNode | undefined {
+    const file = this.reg.getFileByName(v.getFilename());
+    if (file === undefined) {
+      return undefined;
+    }
+    const object = this.reg.findObjectForFile(file);
+    if (!(object instanceof ABAPObject)) {
+      return undefined;
+    }
+    const abapfile = object.getABAPFileByName(v.getFilename());
+    if (abapfile === undefined) {
+      return undefined;
+    }
+ 
+    const statement = EditHelper.findStatement(v.getToken(), abapfile);
+    return statement;
+  }
+ 
+  private buildFix(v: TypedIdentifier, obj: ABAPObject): IEdit | undefined {
+    const file = obj.getABAPFileByName(v.getFilename());
+    if (file === undefined) {
+      return undefined;
+    }
+ 
+    const statement = EditHelper.findStatement(v.getToken(), file);
+    if (statement === undefined) {
+      return undefined;
+    } else if (statement.get() instanceof Statements.Data) {
+      return EditHelper.deleteStatement(file, statement);
+    }
+    return undefined;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/use_bool_expression.ts.html b/src/rules/use_bool_expression.ts.html new file mode 100644 index 00000000000..d5700d2ab41 --- /dev/null +++ b/src/rules/use_bool_expression.ts.html @@ -0,0 +1,478 @@ + + + + + + Code coverage report for src/rules/use_bool_expression.ts + + + + + + + + + +
+
+

All files / src/rules use_bool_expression.ts

+
+ +
+ 96.96% + Statements + 128/132 +
+ + +
+ 77.27% + Branches + 51/66 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 96.96% + Lines + 128/132 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +1321x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +271x +271x +271x +271x +271x +12x +12x +259x +271x +23x +2x +2x +21x +23x +23x +6x +6x +15x +23x +7x +7x +8x +23x +23x +  +  +8x +23x +  +  +8x +23x +23x +2x +2x +23x +23x +23x +23x +1x +1x +7x +23x +23x +23x +23x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +6x +23x +259x +259x +271x +259x +3x +3x +3x +3x +3x +3x +3x +3x +3x +259x +259x +259x +259x +10424x +10424x +10424x
import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import * as Structures from "../abap/3_structures/structures";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Version} from "../version";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {EditHelper} from "../edit_helper";
+import {ABAPFile} from "../abap/abap_file";
+ 
+// note this rule assumes abap_true and abap_false is used for boolean variables
+// some other rule will in the future find assignments to abap_bool that are not abap_true/abap_false/abap_undefined
+ 
+export class UseBoolExpressionConf extends BasicRuleConfig {
+}
+ 
+export class UseBoolExpression extends ABAPRule {
+  private conf = new UseBoolExpressionConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "use_bool_expression",
+      title: "Use boolean expression",
+      shortDescription: `Use boolean expression, xsdbool from 740sp08 and up, boolc from 702 and up`,
+      extendedInformation:
+        `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-xsdbool-to-set-boolean-variables`,
+      tags: [RuleTag.Upport, RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `IF line IS INITIAL.
+  has_entries = abap_false.
+ELSE.
+  has_entries = abap_true.
+ENDIF.
+ 
+DATA(fsdf) = COND #( WHEN foo <> bar THEN abap_true ELSE abap_false ).`,
+      goodExample: `DATA(has_entries) = xsdbool( line IS NOT INITIAL ).
+ 
+DATA(fsdf) = xsdbool( foo <> bar ).`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UseBoolExpressionConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+    const stru = file.getStructure();
+ 
+    const version = this.reg.getConfig().getVersion();
+    if (stru === undefined || (version < Version.v702 && version !== Version.Cloud)) {
+      return [];
+    }
+ 
+    for (const i of stru.findAllStructures(Structures.If)) {
+      if (i.findDirectStructure(Structures.ElseIf) !== undefined) {
+        continue;
+      }
+ 
+      const bodyNodes = i.findDirectStructure(Structures.Body)?.findAllStatementNodes();
+      if (bodyNodes === undefined || bodyNodes.length !== 1) {
+        continue;
+      }
+      const bodyStatement = bodyNodes[0];
+      if (!(bodyStatement.get() instanceof Statements.Move)) {
+        continue;
+      }
+ 
+      const elseNodes = i.findDirectStructure(Structures.Else)?.findDirectStructure(Structures.Body)?.findAllStatementNodes();
+      if (elseNodes === undefined || elseNodes.length !== 1) {
+        continue;
+      }
+      const elseStatement = elseNodes[0];
+      if (!(elseStatement.get() instanceof Statements.Move)) {
+        continue;
+      }
+ 
+      let bodyTarget = bodyStatement.findFirstExpression(Expressions.Target)?.concatTokens();
+      if (bodyTarget?.startsWith("DATA(")) {
+        bodyTarget = bodyTarget.substr(5, bodyTarget.length - 6);
+      }
+      const elseTarget = elseStatement.findFirstExpression(Expressions.Target)?.concatTokens();
+      if (bodyTarget === undefined
+          || elseTarget === undefined
+          || bodyTarget.toUpperCase() !== elseTarget.toUpperCase()) {
+        continue;
+      }
+ 
+      const bodySource = bodyStatement.findFirstExpression(Expressions.Source)?.concatTokens().toUpperCase();
+      const elseSource = elseStatement.findFirstExpression(Expressions.Source)?.concatTokens().toUpperCase();
+      if ((bodySource === "ABAP_TRUE" && elseSource === "ABAP_FALSE")
+          || (bodySource === "ABAP_FALSE" && elseSource === "ABAP_TRUE")) {
+        const func = ( this.reg.getConfig().getVersion() >= Version.v740sp08
+          || this.reg.getConfig().getVersion() === Version.Cloud ) ? "xsdbool" : "boolc";
+        const negate = bodySource === "ABAP_FALSE";
+        const message = `Use ${func} instead of IF` + (negate ? ", negate expression" : "");
+        const start = i.getFirstToken().getStart();
+        const end = i.getLastToken().getEnd();
+ 
+        const statement = bodyTarget + " = " + func + "( " +
+          (negate ? "NOT ( " : "") +
+          i.findFirstStatement(Statements.If)?.findFirstExpression(Expressions.Cond)?.concatTokens() +
+          (negate ? " )" : "") +
+          " ).";
+        const fix = EditHelper.replaceRange(file, start, end, statement);
+        issues.push(Issue.atRange(file, start, end, message, this.getMetadata().key, this.conf.severity, fix));
+      }
+    }
+ 
+ 
+    if (version >= Version.v740sp08 || version === Version.Cloud) {
+      for (const b of stru.findAllExpressions(Expressions.CondBody)) {
+        const concat = b.concatTokens().toUpperCase();
+        if (concat.endsWith(" THEN ABAP_TRUE ELSE ABAP_FALSE")
+            || concat.endsWith(" THEN ABAP_TRUE")
+            || concat.endsWith(" THEN ABAP_FALSE ELSE ABAP_TRUE")) {
+          const message = "Use xsdbool";
+          // eslint-disable-next-line max-len
+          issues.push(Issue.atRange(file, b.getFirstToken().getStart(), b.getLastToken().getEnd(), message, this.getMetadata().key, this.conf.severity));
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/use_class_based_exceptions.ts.html b/src/rules/use_class_based_exceptions.ts.html new file mode 100644 index 00000000000..b7f7a685642 --- /dev/null +++ b/src/rules/use_class_based_exceptions.ts.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for src/rules/use_class_based_exceptions.ts + + + + + + + + + +
+
+

All files / src/rules use_class_based_exceptions.ts

+
+ +
+ 100% + Statements + 58/58 +
+ + +
+ 100% + Branches + 11/11 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 58/58 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +581x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10423x +10423x +1x +1x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +258x +258x +258x +54x +1x +1x +54x +258x +258x +10423x +10423x
import {BasicRuleConfig} from "./_basic_rule_config";
+import {ABAPRule} from "./_abap_rule";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPFile} from "../abap/abap_file";
+import {Issue} from "../issue";
+ 
+export class UseClassBasedExceptionsConf extends BasicRuleConfig {
+}
+export class UseClassBasedExceptions extends ABAPRule {
+ 
+  private conf = new UseClassBasedExceptionsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "use_class_based_exceptions",
+      title: "Use class based exceptions",
+      shortDescription: `Use class based exceptions, checks interface and class definitions`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-class-based-exceptions`,
+      tags: [RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `INTERFACE lif.
+  METHODS load_data
+    EXCEPTIONS
+      invalid_parameter.
+ENDINTERFACE.`,
+      goodExample: `INTERFACE lif.
+  METHODS load_data
+    RAISING
+      cx_something.
+ENDINTERFACE.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Use class based exceptions";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UseClassBasedExceptionsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    for (const s of file.getStructure()?.findAllStatements(Statements.MethodDef) || []) {
+      if (s.findDirectExpression(Expressions.MethodDefExceptions)) {
+        issues.push(Issue.atStatement(file, s, this.getMessage(), this.getMetadata().key));
+      }
+    }
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/use_line_exists.ts.html b/src/rules/use_line_exists.ts.html new file mode 100644 index 00000000000..0939e52a1b5 --- /dev/null +++ b/src/rules/use_line_exists.ts.html @@ -0,0 +1,418 @@ + + + + + + Code coverage report for src/rules/use_line_exists.ts + + + + + + + + + +
+
+

All files / src/rules use_line_exists.ts

+
+ +
+ 92.85% + Statements + 104/112 +
+ + +
+ 82.35% + Branches + 28/34 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 92.85% + Lines + 104/112 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +1121x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +31106x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +269x +269x +269x +20x +20x +249x +249x +269x +  +269x +  +  +249x +249x +269x +1420x +1420x +1406x +1406x +14x +14x +1420x +1420x +1420x +10x +10x +1420x +249x +249x +249x +10423x +10423x +10423x +10423x +11x +13x +13x +2x +2x +11x +11x +11x +11x +11x +11x +  +  +  +  +  +10423x +10423x +10423x +11x +31x +31x +10x +31x +2x +21x +1x +1x +31x +10x +10x +10423x +10423x
import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Version} from "../version";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {StatementNode} from "../abap/nodes";
+import {Comment} from "../abap/2_statements/statements/_statement";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class UseLineExistsConf extends BasicRuleConfig {
+}
+ 
+export class UseLineExists extends ABAPRule {
+  private conf = new UseLineExistsConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "use_line_exists",
+      title: "Use line_exists",
+      shortDescription: `Use line_exists, from 740sp02 and up`,
+      extendedInformation: `
+https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-line_exists-to-read-table-or-loop-at
+ 
+Not reported if the READ TABLE statement contains BINARY SEARCH.`,
+      tags: [RuleTag.Upport, RuleTag.Styleguide, RuleTag.SingleFile],
+      badExample: `READ TABLE my_table TRANSPORTING NO FIELDS WITH KEY key = 'A'.
+IF sy-subrc = 0.
+ENDIF.`,
+      goodExample: `IF line_exists( my_table[ key = 'A' ] ).
+ENDIF.`,
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UseLineExistsConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    const vers = this.reg.getConfig().getVersion();
+    if (vers === Version.OpenABAP) {
+      return [];
+    } else if (vers < Version.v740sp02 && vers !== Version.Cloud) {
+      return [];
+    }
+ 
+    const statements = file.getStatements();
+    for (let i = 0; i < statements.length; i++) {
+      const statement = statements[i];
+      if (!(statement.get() instanceof Statements.ReadTable)) {
+        continue;
+      }
+      const concat = statement.concatTokens().toUpperCase();
+      if (concat.includes(" TRANSPORTING NO FIELDS") === true
+          && concat.includes(" BINARY SEARCH") === false
+          && this.checksSubrc(i, statements) === true
+          && this.usesTabix(i, statements) === false) {
+        issues.push(Issue.atStatement(file, statement, "Use line_exists", this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+///////////////////////
+ 
+  private checksSubrc(index: number, statements: readonly StatementNode[]): boolean {
+    for (let i = index + 1; i < statements.length; i++) {
+      const statement = statements[i];
+      if (statement.get() instanceof Comment) {
+        continue;
+      }
+      for (const c of statement.findAllExpressions(Expressions.Cond)) {
+        for (const s of c.findAllExpressions(Expressions.Source)) {
+          if (s.concatTokens().toUpperCase() === "SY-SUBRC") {
+            return true;
+          }
+        }
+      }
+      return false;
+    }
+    return false;
+  }
+ 
+  // this is a heuristic, data flow analysis is required to get the correct result
+  private usesTabix(index: number, statements: readonly StatementNode[]): boolean {
+    for (let i = index + 1; i < index + 5; i++) {
+      const statement = statements[i];
+      if (statement === undefined) {
+        break;
+      } else if (statement.get() instanceof Comment) {
+        continue;
+      } else if (statement.concatTokens().toUpperCase().includes(" SY-TABIX")) {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/use_new.ts.html b/src/rules/use_new.ts.html new file mode 100644 index 00000000000..b050753d486 --- /dev/null +++ b/src/rules/use_new.ts.html @@ -0,0 +1,379 @@ + + + + + + Code coverage report for src/rules/use_new.ts + + + + + + + + + +
+
+

All files / src/rules use_new.ts

+
+ +
+ 95.95% + Statements + 95/99 +
+ + +
+ 84.37% + Branches + 27/32 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 95.95% + Lines + 95/99 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +991x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10424x +10424x +10424x +10424x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +31105x +10424x +10424x +8x +8x +10424x +10424x +9906x +9906x +10424x +10424x +243x +243x +10424x +10424x +271x +271x +271x +20x +20x +251x +271x +  +  +251x +271x +1392x +13x +1x +13x +1x +12x +2x +2x +13x +13x +1x +1x +8x +8x +8x +8x +8x +1392x +251x +251x +251x +10424x +10424x +8x +8x +  +  +8x +8x +8x +8x +8x +6x +6x +8x +8x +8x +8x +8x +10424x
import {Issue} from "../issue";
+import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {Dynamic, ParameterListExceptions, Target} from "../abap/2_statements/expressions";
+import {Version} from "../version";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {EditHelper, IEdit} from "../edit_helper";
+import {StatementNode} from "../abap/nodes";
+import {ABAPFile} from "../abap/abap_file";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+export class UseNewConf extends BasicRuleConfig {
+}
+ 
+export class UseNew extends ABAPRule {
+  private conf = new UseNewConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "use_new",
+      title: "Use NEW",
+      shortDescription: `Checks for deprecated CREATE OBJECT statements.`,
+      extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-new-to-create-object
+ 
+If the target variable is referenced in the CREATE OBJECT statement, no errors are issued
+ 
+Applicable from v740sp02 and up`,
+      badExample: `CREATE OBJECT ref.`,
+      goodExample: `ref = NEW #( ).`,
+      tags: [RuleTag.Upport, RuleTag.Styleguide, RuleTag.Quickfix, RuleTag.SingleFile],
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Use NEW #( ) to instantiate object.";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: UseNewConf) {
+    this.conf = conf;
+  }
+ 
+  public runParsed(file: ABAPFile, obj: ABAPObject) {
+    const issues: Issue[] = [];
+ 
+    if (obj.getType() === "INTF") {
+      return [];
+    }
+ 
+    if (this.reg.getConfig().getVersion() < Version.v740sp02 && this.reg.getConfig().getVersion() !== Version.Cloud) {
+      return [];
+    }
+ 
+    for (const statement of file.getStatements()) {
+      if (statement.get() instanceof Statements.CreateObject) {
+        if (statement.findFirstExpression(Dynamic)) {
+          continue;
+        } else if (statement.findDirectExpression(ParameterListExceptions)) {
+          continue;
+        } else if (statement.findDirectTokenByText("AREA")) {
+          continue;
+        }
+        const target = statement.findDirectExpression(Target)?.concatTokens() + "->";
+        if (statement.concatTokens().includes(target)) {
+          continue;
+        }
+ 
+        const fix = this.buildFix(file, statement);
+        const issue = Issue.atPosition(file, statement.getStart(), this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+        issues.push(issue);
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  private buildFix(file: ABAPFile, statement: StatementNode): IEdit | undefined {
+    const target = statement.findDirectExpression(Expressions.Target)?.concatTokens();
+    if (target === undefined) {
+      return undefined;
+    }
+    const parameters = statement.findDirectExpression(Expressions.ParameterListS);
+    const param = parameters ? parameters.concatTokens() + " " : "";
+ 
+    let type = statement.findDirectExpression(Expressions.ClassName)?.getFirstToken().getStr();
+    if (type === undefined) {
+      type = "#";
+    }
+ 
+    const string = `${target} = NEW ${type}( ${param}).`;
+ 
+    return EditHelper.replaceRange(file, statement.getStart(), statement.getEnd(), string);
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/when_others_last.ts.html b/src/rules/when_others_last.ts.html new file mode 100644 index 00000000000..1f14ed9f989 --- /dev/null +++ b/src/rules/when_others_last.ts.html @@ -0,0 +1,295 @@ + + + + + + Code coverage report for src/rules/when_others_last.ts + + + + + + + + + +
+
+

All files / src/rules when_others_last.ts

+
+ +
+ 100% + Statements + 71/71 +
+ + +
+ 100% + Branches + 12/12 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 71/71 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +711x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +31097x +10423x +10423x +1x +1x +10423x +10423x +260x +260x +260x +260x +12x +12x +248x +248x +260x +6x +6x +5x +5x +5x +1x +1x +1x +1x +5x +5x +6x +248x +248x +248x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x
import {Issue} from "../issue";
+import {ABAPRule} from "./_abap_rule";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {IRuleMetadata, RuleTag} from "./_irule";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export class WhenOthersLastConf extends BasicRuleConfig {
+}
+ 
+export class WhenOthersLast extends ABAPRule {
+ 
+  private conf = new WhenOthersLastConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "when_others_last",
+      title: "WHEN OTHERS last",
+      shortDescription: `Checks that WHEN OTHERS is placed the last within a CASE statement.`,
+      tags: [RuleTag.SingleFile],
+      badExample: `CASE bar.
+  WHEN OTHERS.
+  WHEN 2.
+ENDCASE.`,
+      goodExample: `CASE bar.
+  WHEN 2.
+  WHEN OTHERS.
+ENDCASE.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "WHEN OTHERS should be the last branch in a CASE statement.";
+  }
+ 
+  public runParsed(file: ABAPFile) {
+    const issues: Issue[] = [];
+ 
+    const struc = file.getStructure();
+    if (struc === undefined) {
+      return [];
+    }
+ 
+    const cases = struc.findAllStructures(Structures.Case);
+    for (const c of cases) {
+      const whentop = c.findDirectStructures(Structures.When);
+      for (let i = 0; i < whentop.length - 1; i++) {
+        const whens = whentop[i].findDirectStatements(Statements.When).concat(whentop[i].findDirectStatements(Statements.WhenOthers));
+        for (const when of whens) {
+          if (when.get() instanceof Statements.WhenOthers) {
+            const start = when.getFirstToken().getStart();
+            const issue = Issue.atPosition(file, start, this.getMessage(), this.getMetadata().key, this.conf.severity);
+            issues.push(issue);
+          }
+        }
+      }
+    }
+ 
+    return issues;
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: WhenOthersLastConf) {
+    this.conf = conf;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/whitespace_end.ts.html b/src/rules/whitespace_end.ts.html new file mode 100644 index 00000000000..249df330aee --- /dev/null +++ b/src/rules/whitespace_end.ts.html @@ -0,0 +1,289 @@ + + + + + + Code coverage report for src/rules/whitespace_end.ts + + + + + + + + + +
+
+

All files / src/rules whitespace_end.ts

+
+ +
+ 97.1% + Statements + 67/69 +
+ + +
+ 91.66% + Branches + 11/12 +
+ + +
+ 100% + Functions + 7/7 +
+ + +
+ 97.1% + Lines + 67/69 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +691x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10423x +10423x +10423x +10423x +10423x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +31099x +10423x +10423x +3x +3x +10423x +10423x +9906x +9906x +10423x +10423x +243x +243x +10423x +10423x +247x +247x +10423x +10423x +313x +313x +313x +330x +  +  +330x +330x +330x +330x +3804x +3x +3x +3x +3x +3x +3x +3x +3804x +330x +313x +313x +313x +10423x
import {Issue} from "../issue";
+import {Position} from "../position";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {EditHelper} from "../edit_helper";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IRegistry} from "../_iregistry";
+import {IObject} from "../objects/_iobject";
+import {MIMEObject, WebMIME} from "../objects";
+ 
+export class WhitespaceEndConf extends BasicRuleConfig {
+}
+ 
+export class WhitespaceEnd implements IRule {
+ 
+  private conf = new WhitespaceEndConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "whitespace_end",
+      title: "Whitespace at end of line",
+      shortDescription: `Checks for redundant whitespace at the end of each line.`,
+      extendedInformation: `SMIM and W3MI files are not checked.`,
+      tags: [RuleTag.Whitespace, RuleTag.Quickfix, RuleTag.SingleFile],
+      badExample: `WRITE 'hello'.      `,
+      goodExample: `WRITE 'hello'.`,
+    };
+  }
+ 
+  private getMessage(): string {
+    return "Remove whitespace at end of line";
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: WhitespaceEndConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry): IRule {
+    return this;
+  }
+ 
+  public run(obj: IObject): readonly Issue[] {
+    const issues: Issue[] = [];
+ 
+    for (const file of obj.getFiles()) {
+      if (obj instanceof MIMEObject || obj instanceof WebMIME) {
+        continue;
+      }
+ 
+      const rows = file.getRawRows();
+ 
+      for (let i = 0; i < rows.length; i++) {
+        if (rows[i].endsWith(" ") || rows[i].endsWith(" \r")) {
+          const match = / +\r?$/.exec(rows[i]);
+          const start = new Position(i + 1, match!.index + 1);
+          const end = new Position(i + 1, rows[i].length + 1);
+          const fix = EditHelper.deleteRange(file, start, end);
+          const issue = Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);
+          issues.push(issue);
+        }
+      }
+    }
+ 
+    return issues;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules/xml_consistency.ts.html b/src/rules/xml_consistency.ts.html new file mode 100644 index 00000000000..5fc8447ba69 --- /dev/null +++ b/src/rules/xml_consistency.ts.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for src/rules/xml_consistency.ts + + + + + + + + + +
+
+

All files / src/rules xml_consistency.ts

+
+ +
+ 95.18% + Statements + 79/83 +
+ + +
+ 77.77% + Branches + 21/27 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 95.18% + Lines + 79/83 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +831x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +10433x +10433x +10433x +10433x +10433x +21202x +21202x +21202x +21202x +21202x +21202x +21202x +10433x +10433x +9906x +9906x +10433x +10433x +243x +243x +10433x +10433x +254x +254x +10433x +10433x +320x +320x +320x +320x +242x +242x +78x +78x +78x +78x +78x +9x +9x +78x +78x +78x +320x +10x +10x +  +10x +1x +10x +1x +9x +1x +1x +10x +78x +320x +5x +5x +  +5x +  +5x +  +5x +1x +1x +5x +78x +78x +78x +10433x +10433x
import {Issue} from "../issue";
+import {IRule, IRuleMetadata, RuleTag} from "./_irule";
+import {IObject} from "../objects/_iobject";
+import * as Objects from "../objects";
+import {IRegistry} from "../_iregistry";
+import {BasicRuleConfig} from "./_basic_rule_config";
+import {XMLValidator} from "fast-xml-parser";
+ 
+export class XMLConsistencyConf extends BasicRuleConfig {
+}
+ 
+export class XMLConsistency implements IRule {
+ 
+  private conf = new XMLConsistencyConf();
+ 
+  public getMetadata(): IRuleMetadata {
+    return {
+      key: "xml_consistency",
+      title: "XML consistency",
+      shortDescription: `Checks the consistency of main XML files, eg. naming for CLAS and INTF objects`,
+      tags: [RuleTag.Naming, RuleTag.Syntax],
+    };
+  }
+ 
+  public getConfig() {
+    return this.conf;
+  }
+ 
+  public setConfig(conf: XMLConsistencyConf) {
+    this.conf = conf;
+  }
+ 
+  public initialize(_reg: IRegistry) {
+    return this;
+  }
+ 
+  public run(obj: IObject): Issue[] {
+    const issues: Issue[] = [];
+ 
+    const file = obj.getXMLFile();
+    if (file === undefined) {
+      return issues;
+    }
+ 
+    const xml = obj.getXML();
+    if (xml) {
+      const res = XMLValidator.validate(xml);
+      if (res !== true) {
+        issues.push(Issue.atRow(file, 1, "XML parser error: " + res.err.msg, this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    // todo, have some XML validation in each object?
+    if (obj instanceof Objects.Class) {
+      const name = obj.getNameFromXML();
+      if (name === undefined) {
+        issues.push(Issue.atRow(file, 1, "Name undefined in XML", this.getMetadata().key, this.conf.severity));
+      } else if (obj.getDescription() && obj.getDescription()!.length > 60) {
+        issues.push(Issue.atRow(file, 1, "Description too long", this.getMetadata().key, this.conf.severity));
+      } else if (name !== obj.getName().toUpperCase()) {
+        issues.push(Issue.atRow(file, 1, "Name in XML does not match object", this.getMetadata().key, this.conf.severity));
+      } else if (obj.getMainABAPFile()?.getStructure() !== undefined && obj.getClassDefinition() === undefined) {
+        issues.push(Issue.atRow(file, 1, "Class matching XML name not found in ABAP file", this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    if (obj instanceof Objects.Interface) {
+      const name = obj.getNameFromXML();
+      if (name === undefined) {
+        issues.push(Issue.atRow(file, 1, "Name undefined in XML", this.getMetadata().key, this.conf.severity));
+      } else if (obj.getDescription() && obj.getDescription()!.length > 60) {
+        issues.push(Issue.atRow(file, 1, "Description too long", this.getMetadata().key, this.conf.severity));
+      } else if (name !== obj.getName().toUpperCase()) {
+        issues.push(Issue.atRow(file, 1, "Name in XML does not match object", this.getMetadata().key, this.conf.severity));
+      } else if (obj.getDefinition() !== undefined && obj.getDefinition()?.getName().toUpperCase() !== name.toUpperCase()) {
+        issues.push(Issue.atRow(file, 1, "Interface matching XML name not found in ABAP file", this.getMetadata().key, this.conf.severity));
+      }
+    }
+ 
+    return issues;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/rules_runner.ts.html b/src/rules_runner.ts.html new file mode 100644 index 00000000000..fab905fd890 --- /dev/null +++ b/src/rules_runner.ts.html @@ -0,0 +1,445 @@ + + + + + + Code coverage report for src/rules_runner.ts + + + + + + + + + +
+
+

All files / src rules_runner.ts

+
+ +
+ 87.6% + Statements + 106/121 +
+ + +
+ 57.89% + Branches + 22/38 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 87.6% + Lines + 106/121 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +1211x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +255x +255x +1x +1x +255x +255x +255x +255x +318x +1x +1x +317x +317x +255x +255x +1x +1x +255x +255x +255x +255x +255x +255x +255x +255x +255x +255x +317x +317x +255x +255x +317x +255x +255x +255x +40834x +40834x +  +  +40834x +40834x +40834x +255x +255x +255x +317x +317x +51920x +51920x +51920x +51920x +51920x +317x +255x +255x +  +  +  +  +  +  +  +  +  +  +  +255x +255x +255x +1x +1x +255x +255x +255x +255x +255x +2x +2x +2x +2x +2x +2x +2x +255x +255x +255x +42840x +42840x +42840x +42839x +42839x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +1x +1x +255x +255x +255x +1x
import {SyntaxLogic} from "./abap/5_syntax/syntax";
+import {ArtifactsRules} from "./artifacts_rules";
+import {Issue} from "./issue";
+import {ABAPObject} from "./objects/_abap_object";
+import {IObject} from "./objects/_iobject";
+import {SkipLogic} from "./skip_logic";
+import {ExcludeHelper} from "./utils/excludeHelper";
+import {IRegistry, IRunInput} from "./_iregistry";
+ 
+export class RulesRunner {
+  private readonly reg: IRegistry;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+  }
+ 
+  public objectsToCheck(objects: Iterable<IObject>): readonly IObject[] {
+    const check: IObject[] = [];
+    const skipLogic = new SkipLogic(this.reg);
+ 
+    for (const obj of objects) {
+      if (skipLogic.skip(obj) || this.reg.isDependency(obj)) {
+        continue;
+      }
+      check.push(obj);
+    }
+    return check;
+  }
+ 
+  public runRules(objects: Iterable<IObject>, input?: IRunInput): readonly Issue[] {
+    const rulePerformance: {[index: string]: number} = {};
+    const issues = [];
+ 
+    const rules = this.reg.getConfig().getEnabledRules();
+    const check = this.objectsToCheck(objects);
+ 
+    // note: SyntaxLogic is cached, logic is run as first step in order
+    // not to penalize the performance of the first rule using SyntaxLogic information
+    input?.progress?.set(check.length, "Run Syntax");
+    for (const obj of check) {
+      input?.progress?.tick("Run Syntax - " + obj.getName());
+      if (obj instanceof ABAPObject) {
+        new SyntaxLogic(this.reg, obj).run();
+      }
+    }
+ 
+    input?.progress?.set(rules.length, "Initialize Rules");
+    for (const rule of rules) {
+      input?.progress?.tick("Initialize Rules - " + rule.getMetadata().key);
+      if (rule.initialize === undefined) {
+        throw new Error(rule.getMetadata().key + " missing initialize method");
+      }
+      rule.initialize(this.reg);
+      rulePerformance[rule.getMetadata().key] = 0;
+    }
+ 
+    input?.progress?.set(check.length, "Finding Issues");
+    for (const obj of check) {
+      input?.progress?.tick("Finding Issues - " + obj.getType() + " " + obj.getName());
+      for (const rule of rules) {
+        const before = Date.now();
+        issues.push(...rule.run(obj));
+        const runtime = Date.now() - before;
+        rulePerformance[rule.getMetadata().key] = rulePerformance[rule.getMetadata().key] + runtime;
+      }
+    }
+ 
+    if (input?.outputPerformance === true) {
+      const perf: {name: string, time: number}[] = [];
+      for (const p in rulePerformance) {
+        if (rulePerformance[p] > 100) { // ignore rules if it takes less than 100ms
+          perf.push({name: p, time: rulePerformance[p]});
+        }
+      }
+      perf.sort((a, b) => {return b.time - a.time;});
+      for (const p of perf) {
+        process.stderr.write("\t" + p.time + "ms\t" + p.name + "\n");
+      }
+    }
+ 
+    return this.excludeIssues(issues);
+  }
+ 
+  public excludeIssues(issues: Issue[]): Issue[] {
+    const ret: Issue[] = issues;
+ 
+    const globalNoIssues = this.reg.getConfig().getGlobal().noIssues || [];
+    const globalNoIssuesPatterns = globalNoIssues.map(x => new RegExp(x, "i"));
+    if (globalNoIssuesPatterns.length > 0) {
+      for (let i = ret.length - 1; i >= 0; i--) {
+        const filename = ret[i].getFilename();
+        if (ExcludeHelper.isExcluded(filename, globalNoIssuesPatterns)) {
+          ret.splice(i, 1);
+        }
+      }
+    }
+ 
+    // exclude issues, as now we know both the filename and issue key
+    for (const rule of ArtifactsRules.getRules()) {
+      const key = rule.getMetadata().key;
+      const ruleExclude: string[] = this.reg.getConfig().readByKey(key, "exclude") ?? [];
+      if (ruleExclude.length === 0) {
+        continue;
+      }
+      const ruleExcludePatterns = ruleExclude.map(x => new RegExp(x, "i"));
+ 
+      for (let i = ret.length - 1; i >= 0; i--) {
+        if (ret[i].getKey() !== key) {
+          continue;
+        }
+ 
+        const filename = ret[i].getFilename();
+        if (ExcludeHelper.isExcluded(filename, ruleExcludePatterns)) {
+          ret.splice(i, 1);
+        }
+      }
+    }
+ 
+    return ret;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/severity.ts.html b/src/severity.ts.html new file mode 100644 index 00000000000..65585e4a846 --- /dev/null +++ b/src/severity.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/severity.ts + + + + + + + + + +
+
+

All files / src severity.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +51x +1x +1x +1x +1x
export enum Severity {
+  Error = "Error",
+  Warning = "Warning",
+  Info = "Info",
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/skip_logic.ts.html b/src/skip_logic.ts.html new file mode 100644 index 00000000000..9ce770b3f21 --- /dev/null +++ b/src/skip_logic.ts.html @@ -0,0 +1,547 @@ + + + + + + Code coverage report for src/skip_logic.ts + + + + + + + + + +
+
+

All files / src skip_logic.ts

+
+ +
+ 60.64% + Statements + 94/155 +
+ + +
+ 61.9% + Branches + 26/42 +
+ + +
+ 62.5% + Functions + 5/8 +
+ + +
+ 60.64% + Lines + 94/155 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +1551x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +262x +262x +262x +1x +1x +325x +325x +325x +325x +325x +3x +325x +322x +322x +1x +1x +1x +1x +1x +322x +321x +321x +  +321x +321x +321x +  +321x +321x +321x +  +321x +321x +321x +1x +321x +320x +320x +1x +1x +319x +319x +319x +1x +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +1x +  +  +1x +1x +1x +1x +  +  +1x +1x +1x +1x +  +  +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +3x +3x +3x +3x +3x +3x +3x +3x +2x +3x +  +1x +1x +1x +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x
import {IObject} from "./objects/_iobject";
+import {Class, ClassCategory, FunctionGroup, MaintenanceAndTransportObject, Interface, Program} from "./objects";
+import {IRegistry} from "./_iregistry";
+import {IncludeGraph} from "./utils/include_graph";
+ 
+export class SkipLogic {
+  private readonly reg: IRegistry;
+  /** TOBJ cache hashmap */
+  private tobj: { [index: string]: boolean } | undefined;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+    this.tobj = undefined;
+  }
+ 
+  public skip(obj: IObject): boolean {
+    const global = this.reg.getConfig().getGlobal();
+ 
+    if (global.skipGeneratedGatewayClasses === true
+        && obj instanceof Class
+        && this.isGeneratedGatewayClass(obj)) {
+      return true;
+    } else if (global.skipIncludesWithoutMain === true
+        && obj instanceof Program
+        && obj.isInclude() === true) {
+      const ig = new IncludeGraph(this.reg);
+      const file = obj.getMainABAPFile();
+      if (file && ig.listMainForInclude(file.getFilename()).length === 0) {
+        return true;
+      }
+    } else if (global.skipGeneratedPersistentClasses === true
+        && obj instanceof Class
+        && this.isGeneratedPersistentClass(obj)) {
+      return true;
+    } else if (global.skipGeneratedFunctionGroups === true
+        && obj instanceof FunctionGroup
+        && this.isGeneratedFunctionGroup(obj)) {
+      return true;
+    } else if (global.skipGeneratedProxyClasses === true
+        && obj instanceof Class
+        && this.isGeneratedProxyClass(obj)) {
+      return true;
+    } else if (global.skipGeneratedProxyInterfaces === true
+        && obj instanceof Interface
+        && this.isGeneratedProxyInterface(obj)) {
+      return true;
+    } else if (global.skipGeneratedBOPFInterfaces === true
+        && obj instanceof Interface
+        && this.isGeneratedBOPFInterface(obj)) {
+      return true;
+    }
+ 
+    return false;
+  }
+ 
+///////////////////////////
+ 
+  private isGeneratedBOPFInterface(obj: Interface): boolean {
+    const implementing = obj.getDefinition()?.getImplementing();
+    if (implementing === undefined) {
+      return false;
+    }
+    for (const i of implementing) {
+      if (i.name.toUpperCase() === "/BOBF/IF_LIB_CONSTANTS") {
+        return true;
+      }
+    }
+    return false;
+  }
+ 
+  private isGeneratedProxyInterface(obj: Interface): boolean {
+    const xml = obj.getXML();
+    if (!xml) {
+      return false;
+    }
+    const result = xml.match(/<CLSPROXY>(.)<\/CLSPROXY>/);
+    if (result) {
+      return true;
+    } else {
+      return false;
+    }
+  }
+ 
+  private isGeneratedProxyClass(obj: Class): boolean {
+    const xml = obj.getXML();
+    if (!xml) {
+      return false;
+    }
+    const result = xml.match(/<CLSPROXY>(.)<\/CLSPROXY>/);
+    if (result) {
+      return true;
+    } else {
+      return false;
+    }
+  }
+ 
+  private isGeneratedFunctionGroup(group: FunctionGroup): boolean {
+    if (this.tobj === undefined) {
+      this.tobj = {};
+
+      for (const obj of this.reg.getObjects()) {
+        if (obj.getType() !== "TOBJ") {
+          continue;
+        }
+        const tobj = obj as MaintenanceAndTransportObject;
+        const area = tobj.getArea()?.toUpperCase();
+        if (area) {
+          this.tobj[area] = true;
+        }
+      }
+    }
+
+    return this.tobj[group.getName().toUpperCase()];
+  }
+ 
+  private isGeneratedGatewayClass(obj: Class): boolean {
+    let sup = undefined;
+ 
+    const definition = obj.getClassDefinition();
+    if (definition) {
+      sup = definition.superClassName?.toUpperCase();
+    }
+ 
+    if (obj.getName().match(/_MPC$/i) && sup === "/IWBEP/CL_MGW_PUSH_ABS_MODEL") {
+      return true;
+    } else if (obj.getName().match(/_DPC$/i) && sup === "/IWBEP/CL_MGW_PUSH_ABS_DATA") {
+      return true;
+    } else if (sup === "CL_SADL_GTK_EXPOSURE_MPC") {
+      return true;
+    }
+    return false;
+  }
+ 
+  private isGeneratedPersistentClass(obj: Class): boolean {
+    if (obj.getCategory() === ClassCategory.Persistent) {
+      return true;
+    } else if (obj.getCategory() === ClassCategory.PersistentFactory) {
+      return true;
+    }
+
+    const main = obj.getClassDefinition();
+    if (main) {
+      const sup = main.superClassName;
+      if (sup) {
+        const sclass = this.reg.getObject("CLAS", sup.toUpperCase());
+        if (sclass && (sclass as Class).getCategory() === ClassCategory.PersistentFactory) {
+          return true;
+        }
+      }
+    }
+
+    return false;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/utils/cyclomatic_complexity_stats.ts.html b/src/utils/cyclomatic_complexity_stats.ts.html new file mode 100644 index 00000000000..3555a55fa03 --- /dev/null +++ b/src/utils/cyclomatic_complexity_stats.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/utils/cyclomatic_complexity_stats.ts + + + + + + + + + +
+
+

All files / src/utils cyclomatic_complexity_stats.ts

+
+ +
+ 100% + Statements + 62/62 +
+ + +
+ 85.71% + Branches + 18/21 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 62/62 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +621x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +313x +313x +313x +62x +62x +251x +313x +258x +48x +48x +326x +326x +326x +326x +326x +326x +326x +326x +326x +326x +326x +326x +101x +101x +326x +48x +48x +48x +48x +48x +48x +48x +48x +48x +48x +48x +258x +251x +251x +251x +1x +1x
import * as Expressions from "../abap/2_statements/expressions";
+import * as Statements from "../abap/2_statements/statements";
+import * as Structures from "../abap/3_structures/structures";
+import {IFile} from "../files/_ifile";
+import {Position} from "../position";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+ 
+// only methods are reported
+ 
+export interface ICyclomaticComplexityResult {
+  file: IFile;
+  pos: Position;
+  name: string;
+  count: number;
+}
+ 
+export class CyclomaticComplexityStats {
+ 
+  public static run(obj: IObject): ICyclomaticComplexityResult[] {
+    const res: ICyclomaticComplexityResult[] = [];
+ 
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    for (const file of obj.getABAPFiles()) {
+      for (const m of file.getStructure()?.findAllStructures(Structures.Method) || []) {
+        let count = 0;
+        for (const s of m.findAllStatementNodes()) {
+          const type = s.get();
+          if (type instanceof Statements.Assert
+              || type instanceof Statements.Check
+              || type instanceof Statements.ElseIf
+              || type instanceof Statements.If
+              || type instanceof Statements.While
+              || type instanceof Statements.Case
+              || type instanceof Statements.SelectLoop
+              || type instanceof Statements.Catch
+              || type instanceof Statements.Cleanup
+              || type instanceof Statements.EndAt
+              || type instanceof Statements.Loop) {
+            count += 1;
+          }
+        }
+ 
+        const name = m.findDirectStatement(Statements.MethodImplementation)?.findDirectExpression(
+          Expressions.MethodName)?.getFirstToken().getStr();
+ 
+        res.push({
+          file,
+          pos: m.getFirstToken().getStart(),
+          name: name ? name : "Error!",
+          count,
+        });
+      }
+    }
+ 
+    return res;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/utils/excludeHelper.ts.html b/src/utils/excludeHelper.ts.html new file mode 100644 index 00000000000..5f00223664b --- /dev/null +++ b/src/utils/excludeHelper.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/utils/excludeHelper.ts + + + + + + + + + +
+
+

All files / src/utils excludeHelper.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +1x +1x +7569x +7x +7x +7x +7x +7562x +7562x +7562x +1x +1x
export class ExcludeHelper {
+ 
+  public static isExcluded(filename: string, excludePatterns: RegExp[]): boolean {
+    for (const exclude of excludePatterns) {
+      if (exclude.exec(filename)) {
+        return true;
+      }
+    }
+ 
+    return false;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/utils/form_length_stats.ts.html b/src/utils/form_length_stats.ts.html new file mode 100644 index 00000000000..eac51c36c65 --- /dev/null +++ b/src/utils/form_length_stats.ts.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for src/utils/form_length_stats.ts + + + + + + + + + +
+
+

All files / src/utils form_length_stats.ts

+
+ +
+ 93.1% + Statements + 54/58 +
+ + +
+ 87.5% + Branches + 14/16 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 93.1% + Lines + 54/58 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +581x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +325x +325x +325x +325x +325x +325x +325x +62x +62x +263x +325x +270x +1713x +1713x +33x +33x +33x +33x +1713x +33x +33x +33x +  +  +33x +1680x +1647x +1647x +123x +123x +1713x +270x +263x +263x +263x +1x +1x +33x +33x +33x +33x +33x +  +  +33x +33x +1x
import * as Statements from "../abap/2_statements/statements";
+import {Position} from "../position";
+import {FormName} from "../abap/2_statements/expressions";
+import {StatementNode} from "../abap/nodes";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {Empty, Comment} from "../abap/2_statements/statements/_statement";
+import {IMethodLengthResult} from "./method_length_stats";
+ 
+export class FormLengthStats {
+  public static run(obj: IObject): IMethodLengthResult[] {
+    const res: IMethodLengthResult[] = [];
+    let pos: Position | undefined = undefined;
+    let name: string = "";
+    let count = 0;
+    let form: boolean = false;
+ 
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    for (const file of obj.getABAPFiles()) {
+      for (const stat of file.getStatements()) {
+        const type = stat.get();
+        if (type instanceof Statements.Form) {
+          pos = stat.getFirstToken().getStart();
+          name = this.findName(stat);
+          form = true;
+          count = 0;
+        } else if (type instanceof Statements.EndForm) {
+          if (pos) {
+            res.push({name: name, className: "", count, file, pos});
+          } else {
+            continue;
+          }
+          form = false;
+        } else if (form === true
+            && !(type instanceof Comment)
+            && !(type instanceof Empty)) {
+          count = count + 1;
+        }
+      }
+    }
+ 
+    return res;
+  }
+ 
+  private static findName(stat: StatementNode): string {
+    let name: string = "";
+    const nameExpr = stat.findFirstExpression(FormName);
+    if (nameExpr) {
+      name = nameExpr.getFirstToken().getStr();
+    } else {
+      throw new Error("FormLength, findName, expected FormName");
+    }
+    return name;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/utils/include_graph.ts.html b/src/utils/include_graph.ts.html new file mode 100644 index 00000000000..04b03d46273 --- /dev/null +++ b/src/utils/include_graph.ts.html @@ -0,0 +1,742 @@ + + + + + + Code coverage report for src/utils/include_graph.ts + + + + + + + + + +
+
+

All files / src/utils include_graph.ts

+
+ +
+ 95.45% + Statements + 210/220 +
+ + +
+ 92.45% + Branches + 49/53 +
+ + +
+ 92.85% + Functions + 13/14 +
+ + +
+ 95.45% + Lines + 210/220 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +2201x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1026x +1026x +1026x +1306x +1058x +1058x +1306x +1026x +1026x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +513x +513x +513x +1x +1x +503x +503x +1x +1x +15x +21x +12x +12x +21x +3x +3x +1x +1x +25x +33x +25x +25x +33x +  +  +1x +1x +9x +9x +1x +1x +35x +35x +20x +10x +10x +20x +35x +25x +25x +25x +25x +25x +35x +35x +1x +1x +1x +1x +1x +1x +1x +1x +1x +513x +513x +513x +513x +513x +1x +1x +  +  +1x +1x +25x +25x +  +  +25x +25x +22x +22x +25x +25x +25x +1x +1x +273x +273x +8x +5x +5x +8x +273x +273x +1x +1x +1x +1x +513x +513x +513x +529x +545x +2990x +19x +19x +19x +  +  +19x +19x +4x +4x +15x +19x +3x +2x +2x +2x +19x +3x +3x +12x +9x +9x +19x +2990x +545x +529x +513x +513x +513x +1x +1x +513x +503x +11x +2x +2x +  +  +2x +2x +2x +11x +503x +513x +1x +1x +513x +529x +376x +376x +376x +376x +376x +376x +376x +529x +7x +7x +7x +7x +7x +7x +7x +153x +102x +112x +112x +112x +112x +112x +146x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +4x +529x +513x +1x +1x
import {Include} from "../abap/2_statements/statements";
+import {IncludeName} from "../abap/2_statements/expressions";
+import {Class, FunctionGroup, Program, TypePool} from "../objects";
+import {CheckInclude} from "../rules/check_include";
+import {Position} from "../position";
+import {Issue} from "../issue";
+import {IFile} from "../files/_ifile";
+import {IIncludeGraph} from "./_include_graph";
+import {IRegistry} from "../_iregistry";
+import {ABAPObject} from "../objects/_abap_object";
+import {Severity} from "../severity";
+ 
+// todo, check for cycles/circular dependencies, method findTop
+// todo, add configurable error for multiple use includes
+ 
+function getABAPObjects(reg: IRegistry): ABAPObject[] {
+  const ret: ABAPObject[] = [];
+  for (const o of reg.getObjects()) {
+    if (o instanceof ABAPObject) {
+      ret.push(o);
+    }
+  }
+  return ret;
+}
+ 
+interface IVertex {
+  filename: string;
+  includeName: string;
+  include: boolean;
+}
+ 
+class Graph {
+  public readonly vertices: IVertex[];
+  public readonly edges: {from: string, to: string}[];
+ 
+  public constructor() {
+    this.vertices = [];
+    this.edges = [];
+  }
+ 
+  public addVertex(vertex: IVertex) {
+    this.vertices.push(vertex);
+  }
+ 
+  public findInclude(includeName: string): IVertex | undefined {
+    for (const v of this.vertices) {
+      if (v.includeName.toUpperCase() === includeName.toUpperCase()) {
+        return v;
+      }
+    }
+    return undefined;
+  }
+ 
+  public findVertex(filename: string): IVertex | undefined {
+    for (const v of this.vertices) {
+      if (v.filename.toUpperCase() === filename.toUpperCase()) {
+        return v;
+      }
+    }
+    return undefined;
+  }
+ 
+  public addEdge(from: IVertex, toFilename: string) {
+    this.edges.push({from: from.filename, to: toFilename});
+  }
+ 
+  public findTop(filename: string): IVertex[] {
+    const ret: IVertex[] = [];
+    for (const e of this.edges) {
+      if (e.from === filename) {
+        ret.push(...this.findTop(e.to));
+      }
+    }
+    if (ret.length === 0) {
+      const found = this.findVertex(filename);
+      if (found !== undefined) {
+        ret.push(found);
+      }
+    }
+    return ret;
+  }
+ 
+}
+ 
+export class IncludeGraph implements IIncludeGraph {
+  private readonly reg: IRegistry;
+  private readonly issues: Issue[];
+  private readonly graph: Graph;
+ 
+  public constructor(reg: IRegistry) {
+    this.reg = reg;
+    this.issues = [];
+    this.graph = new Graph();
+    this.build();
+  }
+ 
+  public getIssues(): Issue[] {
+    return this.issues;
+  }
+ 
+  public listMainForInclude(filename: string | undefined): string[] {
+    const ret: string[] = [];
+    if (filename === undefined) {
+      return [];
+    }
+    for (const f of this.graph.findTop(filename)) {
+      if (f.include === false) {
+        ret.push(f.filename);
+      }
+    }
+    return ret;
+  }
+ 
+  public getIssuesFile(file: IFile): Issue[] {
+    const ret: Issue[] = [];
+    for (const i of this.issues) {
+      if (i.getFilename() === file.getFilename()) {
+        ret.push(i);
+      }
+    }
+    return ret;
+  }
+ 
+///////////////////////////////
+ 
+  private build() {
+    this.addVertices();
+ 
+    for (const o of getABAPObjects(this.reg)) {
+      for (const f of o.getABAPFiles()) {
+        for (const s of f.getStatements()) {
+          if (s.get() instanceof Include) {
+            const ifFound = s.concatTokens().toUpperCase().includes("IF FOUND");
+            const iexp = s.findFirstExpression(IncludeName);
+            if (iexp === undefined) {
+              throw new Error("unexpected Include node");
+            }
+            const name = iexp.getFirstToken().getStr().toUpperCase();
+            if (name.match(/^(\/\w+\/)?L.+XX$/)) { // function module XX includes, possibily namespaced
+              continue;
+            }
+            const found = this.graph.findInclude(name);
+            if (found === undefined) {
+              if (ifFound === false) {
+                const issue = Issue.atStatement(f, s, "Include " + name + " not found", new CheckInclude().getMetadata().key, Severity.Error);
+                this.issues.push(issue);
+              }
+            } else if (found.include === false) {
+              const issue = Issue.atStatement(f, s, "Not possible to INCLUDE a main program", new CheckInclude().getMetadata().key, Severity.Error);
+              this.issues.push(issue);
+            } else {
+              this.graph.addEdge(found, f.getFilename());
+            }
+          }
+        }
+      }
+    }
+ 
+    this.findUnusedIncludes();
+  }
+ 
+  private findUnusedIncludes() {
+    for (const v of this.graph.vertices) {
+      if (v.include === true) {
+        if (this.listMainForInclude(v.filename).length === 0) {
+          const f = this.reg.getFileByName(v.filename);
+          if (f === undefined) {
+            throw new Error("findUnusedIncludes internal error");
+          }
+          const issue = Issue.atPosition(f, new Position(1, 1), "INCLUDE not used anywhere", new CheckInclude().getMetadata().key, Severity.Error);
+          this.issues.push(issue);
+        }
+      }
+    }
+  }
+ 
+  private addVertices() {
+    for (const o of getABAPObjects(this.reg)) {
+      if (o instanceof Program) {
+        const file = o.getMainABAPFile();
+        if (file) {
+          this.graph.addVertex({
+            filename: file.getFilename(),
+            includeName: o.getName(),
+            include: o.isInclude()});
+        }
+      } else if (o instanceof TypePool) {
+        const file = o.getMainABAPFile();
+        if (file) {
+          this.graph.addVertex({
+            filename: file.getFilename(),
+            includeName: o.getName(),
+            include: false});
+        }
+      } else if (o instanceof Class) {
+        for (const f of o.getSequencedFiles()) {
+          this.graph.addVertex({
+            filename: f.getFilename(),
+            includeName: o.getName(),
+            include: false});
+        }
+      } else if (o instanceof FunctionGroup) {
+        for (const i of o.getIncludeFiles()) {
+          this.graph.addVertex({
+            filename: i.file.getFilename(),
+            includeName: i.name,
+            include: true});
+        }
+        const file = o.getMainABAPFile();
+        if (file) {
+          this.graph.addVertex({
+            filename: file.getFilename(),
+            includeName: o.getName(),
+            include: false});
+        }
+      }
+    }
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/utils/index.html b/src/utils/index.html new file mode 100644 index 00000000000..5c20dddec67 --- /dev/null +++ b/src/utils/index.html @@ -0,0 +1,191 @@ + + + + + + Code coverage report for src/utils + + + + + + + + + +
+
+

All files src/utils

+
+ +
+ 96.39% + Statements + 428/444 +
+ + +
+ 90.4% + Branches + 113/125 +
+ + +
+ 95.23% + Functions + 20/21 +
+ + +
+ 96.39% + Lines + 428/444 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
cyclomatic_complexity_stats.ts +
+
100%62/6285.71%18/21100%1/1100%62/62
excludeHelper.ts +
+
100%13/13100%3/3100%1/1100%13/13
form_length_stats.ts +
+
93.1%54/5887.5%14/16100%2/293.1%54/58
include_graph.ts +
+
95.45%210/22092.45%49/5392.85%13/1495.45%210/220
method_length_stats.ts +
+
97.14%68/7086.36%19/22100%2/297.14%68/70
name_validator.ts +
+
100%21/21100%10/10100%1/1100%21/21
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/utils/method_length_stats.ts.html b/src/utils/method_length_stats.ts.html new file mode 100644 index 00000000000..f431b0d305e --- /dev/null +++ b/src/utils/method_length_stats.ts.html @@ -0,0 +1,292 @@ + + + + + + Code coverage report for src/utils/method_length_stats.ts + + + + + + + + + +
+
+

All files / src/utils method_length_stats.ts

+
+ +
+ 97.14% + Statements + 68/70 +
+ + +
+ 86.36% + Branches + 19/22 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 97.14% + Lines + 68/70 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +701x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +333x +333x +333x +333x +333x +333x +333x +62x +62x +271x +333x +278x +278x +1739x +1739x +64x +64x +64x +64x +1739x +120x +1675x +65x +64x +65x +1x +1x +64x +1555x +1490x +1490x +208x +208x +1739x +278x +271x +271x +271x +1x +1x +64x +64x +64x +64x +64x +  +  +64x +64x +1x
import * as Statements from "../abap/2_statements/statements";
+import * as Expressions from "../abap/2_statements/expressions";
+import {Position} from "../position";
+import {MethodName} from "../abap/2_statements/expressions";
+import {StatementNode} from "../abap/nodes";
+import {IObject} from "../objects/_iobject";
+import {ABAPObject} from "../objects/_abap_object";
+import {Empty, Comment} from "../abap/2_statements/statements/_statement";
+import {ABAPFile} from "../abap/abap_file";
+ 
+export interface IMethodLengthResult {
+  className: string;
+  name: string;
+  count: number;
+  file: ABAPFile;
+  pos: Position;
+}
+ 
+export class MethodLengthStats {
+  public static run(obj: IObject): IMethodLengthResult[] {
+    const res: IMethodLengthResult[] = [];
+    let pos: Position | undefined = undefined;
+    let methodName: string = "";
+    let count = 0;
+    let method: boolean = false;
+ 
+    if (!(obj instanceof ABAPObject)) {
+      return [];
+    }
+ 
+    for (const file of obj.getABAPFiles()) {
+      let className = "";
+      for (const stat of file.getStatements()) {
+        const type = stat.get();
+        if (type instanceof Statements.MethodImplementation) {
+          pos = stat.getFirstToken().getStart();
+          methodName = this.findName(stat);
+          method = true;
+          count = 0;
+        } else if (type instanceof Statements.ClassImplementation) {
+          className = stat.findFirstExpression(Expressions.ClassName)?.concatTokens() || "INTERNAL_ERROR";
+        } else if (type instanceof Statements.EndMethod) {
+          if (pos) {
+            res.push({name: methodName, className, count, file, pos});
+          } else {
+            continue;
+          }
+          method = false;
+        } else if (method === true
+            && !(type instanceof Comment)
+            && !(type instanceof Empty)) {
+          count = count + 1;
+        }
+      }
+    }
+ 
+    return res;
+  }
+ 
+  private static findName(stat: StatementNode): string {
+    let name: string = "";
+    const nameExpr = stat.findFirstExpression(MethodName);
+    if (nameExpr) {
+      name = nameExpr.getFirstToken().getStr();
+    } else {
+      throw new Error("MethodLength, findName, expected MethodName");
+    }
+    return name;
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/utils/name_validator.ts.html b/src/utils/name_validator.ts.html new file mode 100644 index 00000000000..9d87d1a2b62 --- /dev/null +++ b/src/utils/name_validator.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/utils/name_validator.ts + + + + + + + + + +
+
+

All files / src/utils name_validator.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +211x +1x +1x +1x +1x +658x +1x +1x +657x +658x +2x +2x +2x +2x +655x +658x +658x +658x +658x +1x +1x
import {NamingRuleConfig} from "../rules/_naming_rule_config";
+ 
+export class NameValidator {
+ 
+  public static violatesRule(name: string, pattern: RegExp, params: NamingRuleConfig): boolean {
+    if (params.ignoreNames && params.ignoreNames.indexOf(name.toUpperCase()) >= 0) {
+      return false;
+    }
+ 
+    for (const ignored of params.ignorePatterns || []) {
+      if (new RegExp(ignored, "i").test(name)) {
+        return false;
+      }
+    }
+ 
+    return !params.patternKind || params.patternKind === "required" ?
+      pattern.test(name) === false :
+      pattern.test(name) === true;
+  }
+ 
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/version.ts.html b/src/version.ts.html new file mode 100644 index 00000000000..55ffcf85ad6 --- /dev/null +++ b/src/version.ts.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for src/version.ts + + + + + + + + + +
+
+

All files / src version.ts

+
+ +
+ 91.89% + Statements + 34/37 +
+ + +
+ 71.42% + Branches + 5/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 91.89% + Lines + 34/37 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +391x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +97x +97x +1x +1x +96x +96x +96x +96x +97x +  +97x +  +  +96x +96x +96x +  + 
export enum Version {
+  OpenABAP = "open-abap", // as 702, but with some extra new language features
+  v700 = "v700",
+  v702 = "v702",
+  v740sp02 = "v740sp02",
+  v740sp05 = "v740sp05",
+  v740sp08 = "v740sp08",
+  v750 = "v750",
+  v751 = "v751",
+  v752 = "v752",
+  v753 = "v753",
+  v754 = "v754",
+  v755 = "v755",
+  v756 = "v756",
+  v757 = "v757",
+  v758 = "v758",
+  Cloud = "Cloud", // Steampunk, SAP BTP ABAP Environment
+}
+ 
+export const defaultVersion = Version.v758;
+ 
+export function getPreviousVersion(v: Version): Version {
+  if (v === Version.OpenABAP) {
+    return Version.v702;
+  }
+ 
+  const all = Object.values(Version);
+ 
+  const found = all.indexOf(v);
+  if (found < 0) {
+    throw "Unknown version: " + v;
+  } else if (found === 0) {
+    throw "Nothing lower: " + v;
+  }
+ 
+  return all[found - 1];
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/virtual_position.ts.html b/src/virtual_position.ts.html new file mode 100644 index 00000000000..e4d5c965159 --- /dev/null +++ b/src/virtual_position.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/virtual_position.ts + + + + + + + + + +
+
+

All files / src virtual_position.ts

+
+ +
+ 90.9% + Statements + 20/22 +
+ + +
+ 66.66% + Branches + 2/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 90.9% + Lines + 20/22 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +231x +1x +1x +1x +1x +1x +1x +1x +1x +219x +219x +219x +219x +1x +1x +7x +  +  +7x +7x +7x +1x + 
import {Position} from "./position";
+ 
+/** used for macro calls */
+ 
+export class VirtualPosition extends Position {
+  public readonly vrow: number;
+  public readonly vcol: number;
+ 
+  public constructor(virtual: Position, row: number, col: number) {
+    super(virtual.getRow(), virtual.getCol());
+    this.vrow = row;
+    this.vcol = col;
+  }
+ 
+  public equals(p: Position): boolean {
+    if (!(p instanceof VirtualPosition)) {
+      return false;
+    }
+    const casted: VirtualPosition = p as VirtualPosition;
+    return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/src/xml_utils.ts.html b/src/xml_utils.ts.html new file mode 100644 index 00000000000..c27026e97a8 --- /dev/null +++ b/src/xml_utils.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/xml_utils.ts + + + + + + + + + +
+
+

All files / src xml_utils.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 21/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21270x +270x +73x +270x +116x +197x +81x +81x +270x +1x +70x +70x +1x +1x +69x +69x +69x +69x +69x +69x +69x
export function xmlToArray(data: any): any[] {
+  if (data === undefined) {
+    return [];
+  } else if (data.length) { // input data is an Array
+    return data;
+  } else {
+    return [data];
+  }
+}
+ 
+export function unescape(str: string | undefined): string {
+  if (str === undefined) {
+    return "";
+  }
+  str = str.replace(/&amp;/g, "&");
+  str = str.replace(/&gt;/g, ">");
+  str = str.replace(/&lt;/g, "<");
+  str = str.replace(/&quot;/g, "\"");
+  str = str.replace(/&apos;/g, "'");
+  return str;
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/tmp/coverage-1900-1721652357809-0.json b/tmp/coverage-1900-1721652357809-0.json new file mode 100644 index 00000000000..2045496298d --- /dev/null +++ b/tmp/coverage-1900-1721652357809-0.json @@ -0,0 +1 @@ +{"result":[{"scriptId":"12","url":"node:internal/per_context/primordials","functions":[{"functionName":"SafeIterator","ranges":[{"startOffset":9499,"endOffset":9570,"count":2230}],"isBlockCoverage":true},{"functionName":"next","ranges":[{"startOffset":9575,"endOffset":9624,"count":4784}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9629,"endOffset":9674,"count":559}],"isBlockCoverage":true},{"functionName":"desc.value","ranges":[{"startOffset":11239,"endOffset":11306,"count":1671}],"isBlockCoverage":true},{"functionName":"SafeMap","ranges":[{"startOffset":11964,"endOffset":11992,"count":543}],"isBlockCoverage":false},{"functionName":"SafeWeakMap","ranges":[{"startOffset":12136,"endOffset":12164,"count":1}],"isBlockCoverage":false},{"functionName":"SafeSet","ranges":[{"startOffset":12293,"endOffset":12321,"count":1346}],"isBlockCoverage":false},{"functionName":"SafeFinalizationRegistry","ranges":[{"startOffset":12745,"endOffset":12801,"count":1}],"isBlockCoverage":true},{"functionName":"primordials.SafePromiseAllReturnArrayLike","ranges":[{"startOffset":15280,"endOffset":15836,"count":556}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15315,"endOffset":15835,"count":556},{"startOffset":15577,"endOffset":15834,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15706,"endOffset":15815,"count":0}],"isBlockCoverage":false},{"functionName":"primordials.SafePromiseAllReturnVoid","ranges":[{"startOffset":16178,"endOffset":16580,"count":1112}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16213,"endOffset":16579,"count":1112},{"startOffset":16367,"endOffset":16578,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16496,"endOffset":16559,"count":0}],"isBlockCoverage":false}]},{"scriptId":"15","url":"node:internal/bootstrap/realm","functions":[{"functionName":"binding","ranges":[{"startOffset":4562,"endOffset":5336,"count":1},{"startOffset":4854,"endOffset":5059,"count":0},{"startOffset":5185,"endOffset":5335,"count":0}],"isBlockCoverage":true},{"functionName":"internalBinding","ranges":[{"startOffset":5789,"endOffset":6051,"count":78}],"isBlockCoverage":false},{"functionName":"getOwn","ranges":[{"startOffset":6211,"endOffset":6365,"count":4519},{"startOffset":6347,"endOffset":6362,"count":0}],"isBlockCoverage":true},{"functionName":"canBeRequiredByUsers","ranges":[{"startOffset":8874,"endOffset":8949,"count":206}],"isBlockCoverage":true},{"functionName":"canBeRequiredWithoutScheme","ranges":[{"startOffset":8960,"endOffset":9054,"count":14435}],"isBlockCoverage":true},{"functionName":"getCanBeRequiredByUsersWithoutSchemeList","ranges":[{"startOffset":9317,"endOffset":9426,"count":1}],"isBlockCoverage":true},{"functionName":"normalizeRequirableId","ranges":[{"startOffset":9437,"endOffset":9782,"count":12209},{"startOffset":9513,"endOffset":9675,"count":0},{"startOffset":9731,"endOffset":9755,"count":103},{"startOffset":9755,"endOffset":9781,"count":12106}],"isBlockCoverage":true},{"functionName":"compileForPublicLoader","ranges":[{"startOffset":9940,"endOffset":10652,"count":103},{"startOffset":10021,"endOffset":10213,"count":0},{"startOffset":10277,"endOffset":10574,"count":11},{"startOffset":10536,"endOffset":10540,"count":0}],"isBlockCoverage":true},{"functionName":"getESMFacade","ranges":[{"startOffset":10656,"endOffset":11418,"count":103},{"startOffset":10694,"endOffset":10713,"count":92},{"startOffset":10713,"endOffset":11417,"count":11}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11155,"endOffset":11258,"count":11}],"isBlockCoverage":true},{"functionName":"syncExports","ranges":[{"startOffset":11714,"endOffset":12058,"count":114},{"startOffset":11833,"endOffset":12048,"count":4519},{"startOffset":11910,"endOffset":11919,"count":0}],"isBlockCoverage":true},{"functionName":"compileForInternalLoader","ranges":[{"startOffset":12062,"endOffset":12884,"count":9804}],"isBlockCoverage":false},{"functionName":"requireBuiltin","ranges":[{"startOffset":13079,"endOffset":13444,"count":9703}],"isBlockCoverage":false}]},{"scriptId":"16","url":"node:internal/errors","functions":[{"functionName":"prepareStackTrace","ranges":[{"startOffset":2134,"endOffset":3622,"count":1},{"startOffset":2311,"endOffset":2427,"count":0},{"startOffset":2608,"endOffset":2800,"count":17},{"startOffset":2669,"endOffset":2721,"count":16},{"startOffset":2723,"endOffset":2794,"count":1},{"startOffset":3001,"endOffset":3050,"count":0},{"startOffset":3181,"endOffset":3203,"count":0},{"startOffset":3427,"endOffset":3487,"count":0},{"startOffset":3514,"endOffset":3543,"count":0}],"isBlockCoverage":true},{"functionName":"maybeOverridePrepareStackTrace","ranges":[{"startOffset":3664,"endOffset":4371,"count":1},{"startOffset":3933,"endOffset":3999,"count":0},{"startOffset":4280,"endOffset":4346,"count":0}],"isBlockCoverage":true},{"functionName":"lazyInternalUtil","ranges":[{"startOffset":5275,"endOffset":5374,"count":1}],"isBlockCoverage":true},{"functionName":"isErrorStackTraceLimitWritable","ranges":[{"startOffset":5751,"endOffset":6258,"count":5838},{"startOffset":5981,"endOffset":6004,"count":0},{"startOffset":6105,"endOffset":6148,"count":0},{"startOffset":6227,"endOffset":6255,"count":0}],"isBlockCoverage":true},{"functionName":"NodeError","ranges":[{"startOffset":10461,"endOffset":11463,"count":1898}],"isBlockCoverage":true},{"functionName":"value","ranges":[{"startOffset":11208,"endOffset":11286,"count":0}],"isBlockCoverage":false},{"functionName":"hideStackFrames","ranges":[{"startOffset":11628,"endOffset":11893,"count":7}],"isBlockCoverage":false},{"functionName":"getMessage","ranges":[{"startOffset":12515,"endOffset":13388,"count":1898},{"startOffset":12928,"endOffset":13387,"count":0}],"isBlockCoverage":true},{"functionName":"lazyUv","ranges":[{"startOffset":13406,"endOffset":13486,"count":48}],"isBlockCoverage":true},{"functionName":"uvErrmapGet","ranges":[{"startOffset":13543,"endOffset":13695,"count":48}],"isBlockCoverage":true},{"functionName":"captureLargerStackTrace","ranges":[{"startOffset":13748,"endOffset":14150,"count":1946}],"isBlockCoverage":true},{"functionName":"uvException","ranges":[{"startOffset":14477,"endOffset":15718,"count":48},{"startOffset":14560,"endOffset":14578,"count":0},{"startOffset":14772,"endOffset":14841,"count":0},{"startOffset":15456,"endOffset":15578,"count":144},{"startOffset":15504,"endOffset":15522,"count":96},{"startOffset":15524,"endOffset":15547,"count":48},{"startOffset":15547,"endOffset":15578,"count":96},{"startOffset":15650,"endOffset":15676,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48765,"endOffset":48918,"count":1897}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51607,"endOffset":51826,"count":1},{"startOffset":51778,"endOffset":51789,"count":0}],"isBlockCoverage":true}]},{"scriptId":"17","url":"node:internal/bootstrap/node","functions":[{"functionName":"get","ranges":[{"startOffset":3721,"endOffset":3783,"count":41}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":3789,"endOffset":3859,"count":1}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4967,"endOffset":5234,"count":6},{"startOffset":5095,"endOffset":5233,"count":3}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":5686,"endOffset":5717,"count":3}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8780,"endOffset":8942,"count":1}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":9044,"endOffset":9240,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":13587,"endOffset":13623,"count":9290}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":14526,"endOffset":14561,"count":12}],"isBlockCoverage":true}]},{"scriptId":"18","url":"node:internal/timers","functions":[{"functionName":"","ranges":[{"startOffset":4448,"endOffset":4473,"count":1}],"isBlockCoverage":true},{"functionName":"initAsyncResource","ranges":[{"startOffset":5610,"endOffset":5888,"count":30616},{"startOffset":5836,"endOffset":5886,"count":0}],"isBlockCoverage":true},{"functionName":"Timeout","ranges":[{"startOffset":5994,"endOffset":7040,"count":1301},{"startOffset":6142,"endOffset":6494,"count":0},{"startOffset":6851,"endOffset":6858,"count":0}],"isBlockCoverage":true},{"functionName":"TimersList","ranges":[{"startOffset":7782,"endOffset":8088,"count":1301}],"isBlockCoverage":true},{"functionName":"append","ranges":[{"startOffset":8663,"endOffset":8844,"count":29315},{"startOffset":8706,"endOffset":8781,"count":0}],"isBlockCoverage":true},{"functionName":"incRefCount","ranges":[{"startOffset":9465,"endOffset":9547,"count":1301}],"isBlockCoverage":true},{"functionName":"decRefCount","ranges":[{"startOffset":9549,"endOffset":9632,"count":1301}],"isBlockCoverage":true},{"functionName":"insert","ranges":[{"startOffset":10715,"endOffset":11366,"count":1301},{"startOffset":11273,"endOffset":11335,"count":12}],"isBlockCoverage":true},{"functionName":"setPosition","ranges":[{"startOffset":12430,"endOffset":12501,"count":1301}],"isBlockCoverage":true},{"functionName":"processImmediate","ranges":[{"startOffset":12815,"endOffset":14748,"count":29315},{"startOffset":12894,"endOffset":12918,"count":0},{"startOffset":13355,"endOffset":13370,"count":0},{"startOffset":13687,"endOffset":13783,"count":0},{"startOffset":14345,"endOffset":14401,"count":0},{"startOffset":14503,"endOffset":14524,"count":0},{"startOffset":14675,"endOffset":14704,"count":0}],"isBlockCoverage":true},{"functionName":"processTimers","ranges":[{"startOffset":14753,"endOffset":15243,"count":11},{"startOffset":14953,"endOffset":15225,"count":0}],"isBlockCoverage":true},{"functionName":"Immediate","ranges":[{"startOffset":17811,"endOffset":18133,"count":29315}],"isBlockCoverage":true},{"functionName":"ref","ranges":[{"startOffset":18137,"endOffset":18310,"count":29315}],"isBlockCoverage":true}]},{"scriptId":"19","url":"node:internal/async_hooks","functions":[{"functionName":"newAsyncId","ranges":[{"startOffset":14460,"endOffset":14530,"count":30657}],"isBlockCoverage":true},{"functionName":"getDefaultTriggerAsyncId","ranges":[{"startOffset":14905,"endOffset":15195,"count":30657},{"startOffset":15161,"endOffset":15194,"count":0}],"isBlockCoverage":true},{"functionName":"hasHooks","ranges":[{"startOffset":16007,"endOffset":16070,"count":149382}],"isBlockCoverage":true},{"functionName":"enabledHooksExist","ranges":[{"startOffset":16072,"endOffset":16131,"count":29356}],"isBlockCoverage":true},{"functionName":"initHooksExist","ranges":[{"startOffset":16133,"endOffset":16188,"count":30657}],"isBlockCoverage":true},{"functionName":"destroyHooksExist","ranges":[{"startOffset":16249,"endOffset":16310,"count":30657}],"isBlockCoverage":true},{"functionName":"emitBeforeScript","ranges":[{"startOffset":16801,"endOffset":16977,"count":29356},{"startOffset":16949,"endOffset":16975,"count":0}],"isBlockCoverage":true},{"functionName":"emitAfterScript","ranges":[{"startOffset":16980,"endOffset":17100,"count":29356},{"startOffset":17044,"endOffset":17069,"count":0}],"isBlockCoverage":true},{"functionName":"pushAsyncContext","ranges":[{"startOffset":17445,"endOffset":18015,"count":29356},{"startOffset":17665,"endOffset":17715,"count":0}],"isBlockCoverage":true},{"functionName":"popAsyncContext","ranges":[{"startOffset":18080,"endOffset":18691,"count":29356},{"startOffset":18196,"endOffset":18209,"count":0},{"startOffset":18288,"endOffset":18394,"count":0}],"isBlockCoverage":true}]},{"scriptId":"20","url":"node:internal/validators","functions":[{"functionName":"isUint32","ranges":[{"startOffset":946,"endOffset":1008,"count":4022}],"isBlockCoverage":true},{"functionName":"parseFileMode","ranges":[{"startOffset":1629,"endOffset":1940,"count":4022},{"startOffset":1722,"endOffset":1890,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2186,"endOffset":2567,"count":8044},{"startOffset":2306,"endOffset":2360,"count":0},{"startOffset":2400,"endOffset":2454,"count":0},{"startOffset":2497,"endOffset":2563,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2811,"endOffset":3274,"count":8046},{"startOffset":2983,"endOffset":3051,"count":0},{"startOffset":3085,"endOffset":3153,"count":0},{"startOffset":3190,"endOffset":3270,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3512,"endOffset":3944,"count":4022},{"startOffset":3582,"endOffset":3646,"count":0},{"startOffset":3678,"endOffset":3742,"count":0},{"startOffset":3766,"endOffset":3769,"count":0},{"startOffset":3866,"endOffset":3942,"count":0}],"isBlockCoverage":true},{"functionName":"validateString","ranges":[{"startOffset":4097,"endOffset":4229,"count":19623}],"isBlockCoverage":false},{"functionName":"validateNumber","ranges":[{"startOffset":4430,"endOffset":4898,"count":4022},{"startOffset":4528,"endOffset":4582,"count":0},{"startOffset":4603,"endOffset":4617,"count":0},{"startOffset":4635,"endOffset":4649,"count":0},{"startOffset":4690,"endOffset":4711,"count":0},{"startOffset":4714,"endOffset":4896,"count":0}],"isBlockCoverage":true},{"functionName":"validateBoolean","ranges":[{"startOffset":5573,"endOffset":5708,"count":1},{"startOffset":5651,"endOffset":5706,"count":0}],"isBlockCoverage":true},{"functionName":"getOwnPropertyValueOrDefault","ranges":[{"startOffset":5820,"endOffset":6001,"count":12},{"startOffset":5961,"endOffset":5979,"count":8},{"startOffset":5980,"endOffset":5998,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6266,"endOffset":6821,"count":4},{"startOffset":6614,"endOffset":6636,"count":0},{"startOffset":6676,"endOffset":6746,"count":0},{"startOffset":6749,"endOffset":6817,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9948,"endOffset":10178,"count":4022},{"startOffset":10013,"endOffset":10176,"count":0}],"isBlockCoverage":true},{"functionName":"validateEncoding","ranges":[{"startOffset":10242,"endOffset":10576,"count":2},{"startOffset":10410,"endOffset":10429,"count":0},{"startOffset":10431,"endOffset":10574,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11802,"endOffset":11918,"count":8853}],"isBlockCoverage":false}]},{"scriptId":"21","url":"node:internal/util","functions":[{"functionName":"toUSVString","ranges":[{"startOffset":1754,"endOffset":2066,"count":556},{"startOffset":2023,"endOffset":2065,"count":0}],"isBlockCoverage":true},{"functionName":"getDeprecationWarningEmitter","ranges":[{"startOffset":2660,"endOffset":3309,"count":8}],"isBlockCoverage":false},{"functionName":"shouldEmitWarning","ranges":[{"startOffset":2759,"endOffset":2769,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2806,"endOffset":3306,"count":0}],"isBlockCoverage":false},{"functionName":"deprecate","ranges":[{"startOffset":4058,"endOffset":5056,"count":8}],"isBlockCoverage":false},{"functionName":"deprecated","ranges":[{"startOffset":4482,"endOffset":4668,"count":0}],"isBlockCoverage":false},{"functionName":"assertCrypto","ranges":[{"startOffset":5326,"endOffset":5400,"count":1},{"startOffset":5372,"endOffset":5398,"count":0}],"isBlockCoverage":true},{"functionName":"normalizeEncoding","ranges":[{"startOffset":5579,"endOffset":5710,"count":4024},{"startOffset":5649,"endOffset":5667,"count":3},{"startOffset":5669,"endOffset":5683,"count":4022},{"startOffset":5683,"endOffset":5709,"count":2}],"isBlockCoverage":true},{"functionName":"slowCases","ranges":[{"startOffset":5712,"endOffset":7463,"count":2},{"startOffset":5766,"endOffset":6010,"count":0},{"startOffset":6015,"endOffset":6145,"count":0},{"startOffset":6150,"endOffset":6554,"count":0},{"startOffset":6595,"endOffset":6611,"count":0},{"startOffset":6660,"endOffset":6676,"count":0},{"startOffset":6705,"endOffset":6721,"count":0},{"startOffset":6770,"endOffset":6786,"count":0},{"startOffset":6851,"endOffset":6867,"count":0},{"startOffset":6916,"endOffset":6932,"count":0},{"startOffset":6950,"endOffset":7096,"count":0},{"startOffset":7101,"endOffset":7248,"count":0},{"startOffset":7253,"endOffset":7407,"count":0},{"startOffset":7412,"endOffset":7457,"count":0}],"isBlockCoverage":true},{"functionName":"cachedResult","ranges":[{"startOffset":8074,"endOffset":8230,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8125,"endOffset":8227,"count":0}],"isBlockCoverage":false},{"functionName":"promisify","ranges":[{"startOffset":11072,"endOffset":12933,"count":22},{"startOffset":11192,"endOffset":11248,"count":1},{"startOffset":11335,"endOffset":11612,"count":0},{"startOffset":12719,"endOffset":12881,"count":68}],"isBlockCoverage":true},{"functionName":"fn","ranges":[{"startOffset":11812,"endOffset":12331,"count":0}],"isBlockCoverage":false},{"functionName":"defineOperation","ranges":[{"startOffset":15607,"endOffset":15808,"count":1}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":16301,"endOffset":16444,"count":8}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":16547,"endOffset":16743,"count":8}],"isBlockCoverage":true},{"functionName":"setOwnProperty","ranges":[{"startOffset":18868,"endOffset":19058,"count":4248}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21160,"endOffset":21288,"count":17320},{"startOffset":21204,"endOffset":21266,"count":3}],"isBlockCoverage":true},{"functionName":"setupCoverageHooks","ranges":[{"startOffset":21416,"endOffset":22093,"count":1},{"startOffset":21886,"endOffset":22063,"count":0}],"isBlockCoverage":true}]},{"scriptId":"22","url":"node:internal/options","functions":[{"functionName":"getCLIOptionsFromBinding","ranges":[{"startOffset":464,"endOffset":598,"count":11458},{"startOffset":521,"endOffset":575,"count":1}],"isBlockCoverage":true},{"functionName":"getAliasesFromBinding","ranges":[{"startOffset":600,"endOffset":731,"count":1}],"isBlockCoverage":true},{"functionName":"getEmbedderOptions","ranges":[{"startOffset":733,"endOffset":877,"count":1}],"isBlockCoverage":true},{"functionName":"refreshOptions","ranges":[{"startOffset":879,"endOffset":960,"count":1}],"isBlockCoverage":true},{"functionName":"getOptionValue","ranges":[{"startOffset":962,"endOffset":1228,"count":11457},{"startOffset":1084,"endOffset":1185,"count":5},{"startOffset":1185,"endOffset":1225,"count":11452}],"isBlockCoverage":true},{"functionName":"get options","ranges":[{"startOffset":1718,"endOffset":1776,"count":1}],"isBlockCoverage":true},{"functionName":"get aliases","ranges":[{"startOffset":1780,"endOffset":1835,"count":1}],"isBlockCoverage":true}]},{"scriptId":"23","url":"node:internal/util/types","functions":[{"functionName":"isUint8Array","ranges":[{"startOffset":236,"endOffset":342,"count":9771}],"isBlockCoverage":true},{"functionName":"isBigInt64Array","ranges":[{"startOffset":1232,"endOffset":1344,"count":2244}],"isBlockCoverage":true}]},{"scriptId":"24","url":"node:internal/linkedlist","functions":[{"functionName":"remove","ranges":[{"startOffset":260,"endOffset":487,"count":2602}],"isBlockCoverage":true},{"functionName":"append","ranges":[{"startOffset":543,"endOffset":995,"count":1301},{"startOffset":594,"endOffset":611,"count":0}],"isBlockCoverage":true},{"functionName":"isEmpty","ranges":[{"startOffset":997,"endOffset":1057,"count":1301}],"isBlockCoverage":true}]},{"scriptId":"25","url":"node:internal/priority_queue","functions":[{"functionName":"insert","ranges":[{"startOffset":692,"endOffset":875,"count":1301},{"startOffset":826,"endOffset":843,"count":0}],"isBlockCoverage":true},{"functionName":"peek","ranges":[{"startOffset":879,"endOffset":917,"count":11}],"isBlockCoverage":true},{"functionName":"percolateUp","ranges":[{"startOffset":1589,"endOffset":2077,"count":1301},{"startOffset":1764,"endOffset":1986,"count":0}],"isBlockCoverage":true},{"functionName":"removeAt","ranges":[{"startOffset":2081,"endOffset":2411,"count":1301},{"startOffset":2239,"endOffset":2253,"count":0},{"startOffset":2255,"endOffset":2407,"count":0}],"isBlockCoverage":true}]},{"scriptId":"26","url":"node:internal/util/inspect","functions":[{"functionName":"stylizeNoColor","ranges":[{"startOffset":17167,"endOffset":17213,"count":2}],"isBlockCoverage":true},{"functionName":"formatNumber","ranges":[{"startOffset":52634,"endOffset":53422,"count":2},{"startOffset":52825,"endOffset":52865,"count":0},{"startOffset":52907,"endOffset":53421,"count":0}],"isBlockCoverage":true},{"functionName":"format","ranges":[{"startOffset":72105,"endOffset":72186,"count":174}],"isBlockCoverage":true},{"functionName":"formatWithOptions","ranges":[{"startOffset":72188,"endOffset":72375,"count":4}],"isBlockCoverage":true},{"functionName":"formatNumberNoColor","ranges":[{"startOffset":72377,"endOffset":72559,"count":2}],"isBlockCoverage":true},{"functionName":"formatWithOptionsInternal","ranges":[{"startOffset":72745,"endOffset":76769,"count":178},{"startOffset":72909,"endOffset":76572,"count":176},{"startOffset":72938,"endOffset":72965,"count":174},{"startOffset":72965,"endOffset":73052,"count":2},{"startOffset":73052,"endOffset":76411,"count":24},{"startOffset":73108,"endOffset":76405,"count":3},{"startOffset":73260,"endOffset":74036,"count":1},{"startOffset":73367,"endOffset":73456,"count":0},{"startOffset":73495,"endOffset":73584,"count":0},{"startOffset":73622,"endOffset":73666,"count":0},{"startOffset":73667,"endOffset":73723,"count":0},{"startOffset":73785,"endOffset":74001,"count":0},{"startOffset":74049,"endOffset":74135,"count":0},{"startOffset":74148,"endOffset":74571,"count":2},{"startOffset":74255,"endOffset":74344,"count":0},{"startOffset":74383,"endOffset":74433,"count":0},{"startOffset":74584,"endOffset":74680,"count":0},{"startOffset":74693,"endOffset":74921,"count":0},{"startOffset":74934,"endOffset":75404,"count":0},{"startOffset":75417,"endOffset":75747,"count":0},{"startOffset":75760,"endOffset":75846,"count":0},{"startOffset":75859,"endOffset":75991,"count":0},{"startOffset":76004,"endOffset":76088,"count":0},{"startOffset":76274,"endOffset":76397,"count":0},{"startOffset":76411,"endOffset":76568,"count":2},{"startOffset":76572,"endOffset":76600,"count":4},{"startOffset":76600,"endOffset":76753,"count":0},{"startOffset":76753,"endOffset":76768,"count":4}],"isBlockCoverage":true}]},{"scriptId":"27","url":"node:internal/assert","functions":[{"functionName":"assert","ranges":[{"startOffset":157,"endOffset":307,"count":5693},{"startOffset":205,"endOffset":305,"count":0}],"isBlockCoverage":true}]},{"scriptId":"28","url":"node:internal/util/debuglog","functions":[{"functionName":"initializeDebugEnv","ranges":[{"startOffset":519,"endOffset":991,"count":1},{"startOffset":610,"endOffset":947,"count":0}],"isBlockCoverage":true},{"functionName":"testEnabled","ranges":[{"startOffset":885,"endOffset":942,"count":0}],"isBlockCoverage":false},{"functionName":"testEnabled","ranges":[{"startOffset":973,"endOffset":984,"count":7}],"isBlockCoverage":true},{"functionName":"noop","ranges":[{"startOffset":1419,"endOffset":1427,"count":27898}],"isBlockCoverage":true},{"functionName":"debuglogImpl","ranges":[{"startOffset":1548,"endOffset":2106,"count":7},{"startOffset":1623,"endOffset":2078,"count":4},{"startOffset":1642,"endOffset":2031,"count":0}],"isBlockCoverage":true},{"functionName":"debug","ranges":[{"startOffset":1731,"endOffset":2024,"count":0}],"isBlockCoverage":false},{"functionName":"debuglog","ranges":[{"startOffset":2326,"endOffset":3352,"count":6}],"isBlockCoverage":false},{"functionName":"init","ranges":[{"startOffset":2357,"endOffset":2453,"count":7}],"isBlockCoverage":true},{"functionName":"debug","ranges":[{"startOffset":2468,"endOffset":2862,"count":7},{"startOffset":2715,"endOffset":2745,"count":4},{"startOffset":2752,"endOffset":2791,"count":2},{"startOffset":2798,"endOffset":2852,"count":1}],"isBlockCoverage":true},{"functionName":"test","ranges":[{"startOffset":2892,"endOffset":2961,"count":0}],"isBlockCoverage":false},{"functionName":"logger","ranges":[{"startOffset":2980,"endOffset":3175,"count":7},{"startOffset":3028,"endOffset":3058,"count":4},{"startOffset":3065,"endOffset":3104,"count":2},{"startOffset":3111,"endOffset":3165,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3246,"endOffset":3280,"count":0}],"isBlockCoverage":false}]},{"scriptId":"29","url":"node:events","functions":[{"functionName":"lazyEventEmitterAsyncResource","ranges":[{"startOffset":2894,"endOffset":6205,"count":6},{"startOffset":2984,"endOffset":6167,"count":1}],"isBlockCoverage":true},{"functionName":"EventEmitterReferencingAsyncResource","ranges":[{"startOffset":3439,"endOffset":3543,"count":0}],"isBlockCoverage":false},{"functionName":"get eventEmitter","ranges":[{"startOffset":3601,"endOffset":3790,"count":0}],"isBlockCoverage":false},{"functionName":"EventEmitterAsyncResource","ranges":[{"startOffset":4079,"endOffset":4603,"count":0}],"isBlockCoverage":false},{"functionName":"emit","ranges":[{"startOffset":4740,"endOffset":5110,"count":0}],"isBlockCoverage":false},{"functionName":"emitDestroy","ranges":[{"startOffset":5171,"endOffset":5359,"count":0}],"isBlockCoverage":false},{"functionName":"get asyncId","ranges":[{"startOffset":5419,"endOffset":5610,"count":0}],"isBlockCoverage":false},{"functionName":"get triggerAsyncId","ranges":[{"startOffset":5670,"endOffset":5875,"count":0}],"isBlockCoverage":false},{"functionName":"get asyncResource","ranges":[{"startOffset":5965,"endOffset":6154,"count":0}],"isBlockCoverage":false},{"functionName":"EventEmitter","ranges":[{"startOffset":6339,"endOffset":6408,"count":5}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6893,"endOffset":6949,"count":6}],"isBlockCoverage":true},{"functionName":"checkListener","ranges":[{"startOffset":7859,"endOffset":7937,"count":2768}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":8045,"endOffset":8093,"count":14}],"isBlockCoverage":true},{"functionName":"EventEmitter.init","ranges":[{"startOffset":9989,"endOffset":10586,"count":5}],"isBlockCoverage":false},{"functionName":"_getMaxListeners","ranges":[{"startOffset":12161,"endOffset":12310,"count":8},{"startOffset":12279,"endOffset":12309,"count":0}],"isBlockCoverage":true},{"functionName":"emit","ranges":[{"startOffset":13467,"endOffset":15770,"count":9696}],"isBlockCoverage":false},{"functionName":"_addListener","ranges":[{"startOffset":15773,"endOffset":17666,"count":2751}],"isBlockCoverage":false},{"functionName":"addListener","ranges":[{"startOffset":17844,"endOffset":17936,"count":2751}],"isBlockCoverage":false},{"functionName":"onceWrapper","ranges":[{"startOffset":18329,"endOffset":18593,"count":3},{"startOffset":18531,"endOffset":18591,"count":0}],"isBlockCoverage":true},{"functionName":"_onceWrap","ranges":[{"startOffset":18595,"endOffset":18836,"count":8}],"isBlockCoverage":true},{"functionName":"once","ranges":[{"startOffset":19027,"endOffset":19153,"count":8}],"isBlockCoverage":true},{"functionName":"removeListener","ranges":[{"startOffset":19763,"endOffset":21057,"count":9},{"startOffset":19912,"endOffset":19924,"count":0},{"startOffset":19997,"endOffset":20009,"count":2},{"startOffset":20009,"endOffset":20068,"count":7},{"startOffset":20070,"endOffset":20330,"count":4},{"startOffset":20121,"endOffset":20155,"count":0},{"startOffset":20251,"endOffset":20312,"count":0},{"startOffset":20330,"endOffset":21031,"count":3},{"startOffset":20449,"endOffset":20588,"count":7},{"startOffset":20486,"endOffset":20518,"count":4},{"startOffset":20520,"endOffset":20578,"count":3},{"startOffset":20626,"endOffset":20638,"count":0},{"startOffset":20691,"endOffset":20852,"count":0},{"startOffset":20895,"endOffset":20918,"count":2},{"startOffset":20979,"endOffset":21023,"count":0},{"startOffset":21031,"endOffset":21056,"count":7}],"isBlockCoverage":true},{"functionName":"listenerCount","ranges":[{"startOffset":24297,"endOffset":25002,"count":6980},{"startOffset":24398,"endOffset":24987,"count":10},{"startOffset":24480,"endOffset":24626,"count":3},{"startOffset":24510,"endOffset":24603,"count":0},{"startOffset":24626,"endOffset":24983,"count":7},{"startOffset":24662,"endOffset":24983,"count":0},{"startOffset":24987,"endOffset":25001,"count":6977}],"isBlockCoverage":true},{"functionName":"arrayClone","ranges":[{"startOffset":25254,"endOffset":25727,"count":14523},{"startOffset":25426,"endOffset":25458,"count":7527},{"startOffset":25463,"endOffset":25503,"count":6996},{"startOffset":25508,"endOffset":25556,"count":0},{"startOffset":25561,"endOffset":25617,"count":0},{"startOffset":25622,"endOffset":25686,"count":0},{"startOffset":25690,"endOffset":25726,"count":0}],"isBlockCoverage":true}]},{"scriptId":"30","url":"node:buffer","functions":[{"functionName":"createPool","ranges":[{"startOffset":4084,"endOffset":4243,"count":500}],"isBlockCoverage":false},{"functionName":"alignPool","ranges":[{"startOffset":4259,"endOffset":4381,"count":3539}],"isBlockCoverage":false},{"functionName":"from","ranges":[{"startOffset":8559,"endOffset":9524,"count":23}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":11471,"endOffset":11626,"count":4022},{"startOffset":11557,"endOffset":11624,"count":0}],"isBlockCoverage":true},{"functionName":"allocUnsafe","ranges":[{"startOffset":12153,"endOffset":12228,"count":4022}],"isBlockCoverage":true},{"functionName":"allocate","ranges":[{"startOffset":12858,"endOffset":13190,"count":4022},{"startOffset":12901,"endOffset":12935,"count":0},{"startOffset":12974,"endOffset":13153,"count":3553},{"startOffset":13022,"endOffset":13035,"count":497},{"startOffset":13153,"endOffset":13189,"count":469}],"isBlockCoverage":true},{"functionName":"fromStringFast","ranges":[{"startOffset":13192,"endOffset":13738,"count":23}],"isBlockCoverage":false},{"functionName":"fromString","ranges":[{"startOffset":13740,"endOffset":14193,"count":23}],"isBlockCoverage":false},{"functionName":"isBuffer","ranges":[{"startOffset":15635,"endOffset":15689,"count":5}],"isBlockCoverage":true},{"functionName":"isEncoding","ranges":[{"startOffset":16057,"endOffset":16208,"count":4022}],"isBlockCoverage":true},{"functionName":"base64ByteLength","ranges":[{"startOffset":17424,"endOffset":17692,"count":20},{"startOffset":17546,"endOffset":17554,"count":16},{"startOffset":17630,"endOffset":17638,"count":7}],"isBlockCoverage":true},{"functionName":"write","ranges":[{"startOffset":17827,"endOffset":17891,"count":1}],"isBlockCoverage":false},{"functionName":"slice","ranges":[{"startOffset":17904,"endOffset":17950,"count":4041}],"isBlockCoverage":true},{"functionName":"byteLength","ranges":[{"startOffset":19769,"endOffset":19820,"count":20}],"isBlockCoverage":true},{"functionName":"write","ranges":[{"startOffset":19833,"endOffset":19899,"count":12}],"isBlockCoverage":true},{"functionName":"byteLength","ranges":[{"startOffset":20821,"endOffset":20852,"count":2}],"isBlockCoverage":true},{"functionName":"write","ranges":[{"startOffset":20865,"endOffset":20928,"count":2}],"isBlockCoverage":true},{"functionName":"getEncodingOps","ranges":[{"startOffset":21219,"endOffset":23043,"count":4063},{"startOffset":21306,"endOffset":21605,"count":4040},{"startOffset":21369,"endOffset":21605,"count":0},{"startOffset":21610,"endOffset":22029,"count":1},{"startOffset":21674,"endOffset":22029,"count":0},{"startOffset":22034,"endOffset":22188,"count":0},{"startOffset":22193,"endOffset":22349,"count":0},{"startOffset":22354,"endOffset":22735,"count":20},{"startOffset":22428,"endOffset":22454,"count":0},{"startOffset":22514,"endOffset":22626,"count":0},{"startOffset":22636,"endOffset":22735,"count":0},{"startOffset":22740,"endOffset":22872,"count":2},{"startOffset":22777,"endOffset":22826,"count":0},{"startOffset":22859,"endOffset":22872,"count":0},{"startOffset":22877,"endOffset":23037,"count":0}],"isBlockCoverage":true},{"functionName":"toString","ranges":[{"startOffset":24447,"endOffset":25026,"count":4043},{"startOffset":24519,"endOffset":24567,"count":2},{"startOffset":24567,"endOffset":24619,"count":4041},{"startOffset":24619,"endOffset":24629,"count":0},{"startOffset":24629,"endOffset":24692,"count":4041},{"startOffset":24659,"endOffset":24669,"count":0},{"startOffset":24692,"endOffset":24718,"count":4041},{"startOffset":24718,"endOffset":24730,"count":0},{"startOffset":24736,"endOffset":24746,"count":4041},{"startOffset":24746,"endOffset":24767,"count":0},{"startOffset":24767,"endOffset":24793,"count":4041},{"startOffset":24793,"endOffset":24803,"count":0},{"startOffset":24803,"endOffset":24839,"count":4041},{"startOffset":24839,"endOffset":24873,"count":0},{"startOffset":24873,"endOffset":24944,"count":4041},{"startOffset":24944,"endOffset":24985,"count":0},{"startOffset":24985,"endOffset":25025,"count":4041}],"isBlockCoverage":true}]},{"scriptId":"31","url":"node:internal/buffer","functions":[{"functionName":"FastBuffer","ranges":[{"startOffset":26365,"endOffset":26465,"count":4538}],"isBlockCoverage":false},{"functionName":"markAsUntransferable","ranges":[{"startOffset":29764,"endOffset":30013,"count":500}],"isBlockCoverage":false},{"functionName":"createUnsafeBuffer","ranges":[{"startOffset":30291,"endOffset":30427,"count":969}],"isBlockCoverage":false},{"functionName":"reconnectZeroFillToggle","ranges":[{"startOffset":30682,"endOffset":30754,"count":1}],"isBlockCoverage":true}]},{"scriptId":"33","url":"node:internal/process/per_thread","functions":[{"functionName":"refreshHrtimeBuffer","ranges":[{"startOffset":1323,"endOffset":1791,"count":1}],"isBlockCoverage":false},{"functionName":"buildAllowedFlags","ranges":[{"startOffset":7593,"endOffset":11695,"count":1},{"startOffset":7881,"endOffset":8172,"count":153},{"startOffset":7933,"endOffset":8168,"count":120},{"startOffset":8030,"endOffset":8162,"count":59},{"startOffset":8640,"endOffset":9062,"count":22},{"startOffset":8694,"endOffset":9058,"count":10},{"startOffset":8783,"endOffset":8852,"count":2},{"startOffset":8917,"endOffset":8986,"count":0}],"isBlockCoverage":true},{"functionName":"isAccepted","ranges":[{"startOffset":8176,"endOffset":8588,"count":28},{"startOffset":8246,"endOffset":8260,"count":27},{"startOffset":8262,"endOffset":8274,"count":2},{"startOffset":8274,"endOffset":8351,"count":26},{"startOffset":8351,"endOffset":8520,"count":2},{"startOffset":8401,"endOffset":8448,"count":1},{"startOffset":8520,"endOffset":8587,"count":24}],"isBlockCoverage":true},{"functionName":"trimLeadingDashes","ranges":[{"startOffset":9096,"endOffset":9158,"count":189}],"isBlockCoverage":true},{"functionName":"NodeEnvironmentFlagsSet","ranges":[{"startOffset":9468,"endOffset":9544,"count":1}],"isBlockCoverage":true},{"functionName":"add","ranges":[{"startOffset":9550,"endOffset":9619,"count":0}],"isBlockCoverage":false},{"functionName":"delete","ranges":[{"startOffset":9625,"endOffset":9698,"count":0}],"isBlockCoverage":false},{"functionName":"clear","ranges":[{"startOffset":9704,"endOffset":9756,"count":0}],"isBlockCoverage":false},{"functionName":"has","ranges":[{"startOffset":9762,"endOffset":10577,"count":1},{"startOffset":10488,"endOffset":10576,"count":0}],"isBlockCoverage":true},{"functionName":"entries","ranges":[{"startOffset":10583,"endOffset":10748,"count":0}],"isBlockCoverage":false},{"functionName":"forEach","ranges":[{"startOffset":10754,"endOffset":10931,"count":0}],"isBlockCoverage":false},{"functionName":"get size","ranges":[{"startOffset":10937,"endOffset":10998,"count":0}],"isBlockCoverage":false},{"functionName":"values","ranges":[{"startOffset":11004,"endOffset":11167,"count":0}],"isBlockCoverage":false},{"functionName":"toggleTraceCategoryState","ranges":[{"startOffset":11885,"endOffset":12215,"count":1},{"startOffset":11965,"endOffset":12140,"count":0},{"startOffset":12172,"endOffset":12213,"count":0}],"isBlockCoverage":true}]},{"scriptId":"34","url":"node:internal/process/task_queues","functions":[{"functionName":"setHasTickScheduled","ranges":[{"startOffset":1059,"endOffset":1145,"count":81},{"startOffset":1135,"endOffset":1138,"count":40},{"startOffset":1139,"endOffset":1142,"count":41}],"isBlockCoverage":true},{"functionName":"processTicksAndRejections","ranges":[{"startOffset":1445,"endOffset":2424,"count":41},{"startOffset":1748,"endOffset":1781,"count":0},{"startOffset":1914,"endOffset":1956,"count":0},{"startOffset":1969,"endOffset":2020,"count":0},{"startOffset":2033,"endOffset":2093,"count":0},{"startOffset":2106,"endOffset":2133,"count":0},{"startOffset":2217,"endOffset":2238,"count":0}],"isBlockCoverage":true},{"functionName":"nextTick","ranges":[{"startOffset":2568,"endOffset":3442,"count":41},{"startOffset":2669,"endOffset":2676,"count":0},{"startOffset":2724,"endOffset":2738,"count":0},{"startOffset":2785,"endOffset":2836,"count":0},{"startOffset":2841,"endOffset":2906,"count":0},{"startOffset":2911,"endOffset":3054,"count":0},{"startOffset":3083,"endOffset":3109,"count":40},{"startOffset":3354,"endOffset":3414,"count":0}],"isBlockCoverage":true}]},{"scriptId":"35","url":"node:internal/process/promises","functions":[{"functionName":"setHasRejectionToWarn","ranges":[{"startOffset":2119,"endOffset":2209,"count":43},{"startOffset":2199,"endOffset":2202,"count":2},{"startOffset":2203,"endOffset":2206,"count":41}],"isBlockCoverage":true},{"functionName":"getUnhandledRejectionsMode","ranges":[{"startOffset":2430,"endOffset":2963,"count":1},{"startOffset":2586,"endOffset":2639,"count":0},{"startOffset":2644,"endOffset":2701,"count":0},{"startOffset":2706,"endOffset":2761,"count":0},{"startOffset":2766,"endOffset":2819,"count":0},{"startOffset":2824,"endOffset":2904,"count":0}],"isBlockCoverage":true},{"functionName":"promiseRejectHandler","ranges":[{"startOffset":2965,"endOffset":3534,"count":4},{"startOffset":3065,"endOffset":3130,"count":1},{"startOffset":3153,"endOffset":3242,"count":2},{"startOffset":3247,"endOffset":3330,"count":2},{"startOffset":3335,"endOffset":3430,"count":0},{"startOffset":3435,"endOffset":3528,"count":0}],"isBlockCoverage":true},{"functionName":"unhandledRejection","ranges":[{"startOffset":3961,"endOffset":4521,"count":2}],"isBlockCoverage":true},{"functionName":"emit","ranges":[{"startOffset":4023,"endOffset":4217,"count":0}],"isBlockCoverage":false},{"functionName":"handledRejection","ranges":[{"startOffset":4523,"endOffset":5354,"count":2},{"startOffset":4726,"endOffset":5234,"count":0},{"startOffset":5279,"endOffset":5317,"count":0},{"startOffset":5323,"endOffset":5352,"count":0}],"isBlockCoverage":true},{"functionName":"processPromiseRejections","ranges":[{"startOffset":6636,"endOffset":9797,"count":41},{"startOffset":6794,"endOffset":6973,"count":0},{"startOffset":7038,"endOffset":9701,"count":2},{"startOffset":7228,"endOffset":8483,"count":0},{"startOffset":8492,"endOffset":8599,"count":0},{"startOffset":8608,"endOffset":8773,"count":0},{"startOffset":8782,"endOffset":9217,"count":0},{"startOffset":9226,"endOffset":9488,"count":0},{"startOffset":9503,"endOffset":9701,"count":0}],"isBlockCoverage":true}]},{"scriptId":"36","url":"node:internal/fixed_queue","functions":[{"functionName":"isEmpty","ranges":[{"startOffset":3077,"endOffset":3129,"count":164}],"isBlockCoverage":true},{"functionName":"isFull","ranges":[{"startOffset":3133,"endOffset":3200,"count":41}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":3204,"endOffset":3291,"count":41}],"isBlockCoverage":true},{"functionName":"shift","ranges":[{"startOffset":3295,"endOffset":3510,"count":82},{"startOffset":3388,"endOffset":3509,"count":41}],"isBlockCoverage":true},{"functionName":"isEmpty","ranges":[{"startOffset":3630,"endOffset":3677,"count":82}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":3681,"endOffset":3945,"count":41},{"startOffset":3722,"endOffset":3915,"count":0}],"isBlockCoverage":true},{"functionName":"shift","ranges":[{"startOffset":3949,"endOffset":4204,"count":82},{"startOffset":4041,"endOffset":4062,"count":81},{"startOffset":4064,"endOffset":4183,"count":0}],"isBlockCoverage":true}]},{"scriptId":"38","url":"node:timers","functions":[{"functionName":"","ranges":[{"startOffset":1832,"endOffset":1857,"count":1}],"isBlockCoverage":true},{"functionName":"unenroll","ranges":[{"startOffset":2355,"endOffset":3539,"count":1301},{"startOffset":2408,"endOffset":2415,"count":0},{"startOffset":2475,"endOffset":2521,"count":0},{"startOffset":2612,"endOffset":2650,"count":0},{"startOffset":2656,"endOffset":2691,"count":0}],"isBlockCoverage":true},{"functionName":"setTimeout","ranges":[{"startOffset":4241,"endOffset":4898,"count":1301},{"startOffset":4408,"endOffset":4415,"count":0},{"startOffset":4445,"endOffset":4486,"count":0},{"startOffset":4491,"endOffset":4538,"count":0},{"startOffset":4543,"endOffset":4764,"count":0}],"isBlockCoverage":true},{"functionName":"clearTimeout","ranges":[{"startOffset":5218,"endOffset":5584,"count":8271},{"startOffset":5261,"endOffset":5280,"count":1301},{"startOffset":5282,"endOffset":5349,"count":1301},{"startOffset":5349,"endOffset":5410,"count":6970},{"startOffset":5412,"endOffset":5582,"count":0}],"isBlockCoverage":true},{"functionName":"setImmediate","ranges":[{"startOffset":7516,"endOffset":8069,"count":29315},{"startOffset":7703,"endOffset":7744,"count":0},{"startOffset":7749,"endOffset":7796,"count":0},{"startOffset":7801,"endOffset":8022,"count":0}],"isBlockCoverage":true}]},{"scriptId":"39","url":"node:internal/process/execution","functions":[{"functionName":"tryGetCwd","ranges":[{"startOffset":702,"endOffset":1032,"count":1},{"startOffset":763,"endOffset":1030,"count":0}],"isBlockCoverage":true}]},{"scriptId":"40","url":"node:path","functions":[{"functionName":"isPosixPathSeparator","ranges":[{"startOffset":1825,"endOffset":1902,"count":4983205}],"isBlockCoverage":true},{"functionName":"normalizeString","ranges":[{"startOffset":2137,"endOffset":4085,"count":61812},{"startOffset":2354,"endOffset":4069,"count":4981168},{"startOffset":2387,"endOffset":2429,"count":4919356},{"startOffset":2429,"endOffset":2520,"count":61812},{"startOffset":2472,"endOffset":2478,"count":59775},{"startOffset":2478,"endOffset":2520,"count":2037},{"startOffset":2520,"endOffset":2553,"count":4921393},{"startOffset":2553,"endOffset":3970,"count":742912},{"startOffset":2585,"endOffset":2598,"count":646038},{"startOffset":2600,"endOffset":2625,"count":99900},{"startOffset":2625,"endOffset":3927,"count":643012},{"startOffset":2647,"endOffset":3682,"count":1666},{"startOffset":2676,"endOffset":2702,"count":1130},{"startOffset":2703,"endOffset":2777,"count":295},{"startOffset":2778,"endOffset":2852,"count":295},{"startOffset":2854,"endOffset":3542,"count":1371},{"startOffset":2886,"endOffset":3363,"count":835},{"startOffset":3006,"endOffset":3082,"count":0},{"startOffset":3363,"endOffset":3532,"count":536},{"startOffset":3391,"endOffset":3532,"count":0},{"startOffset":3542,"endOffset":3674,"count":831},{"startOffset":3605,"endOffset":3623,"count":295},{"startOffset":3624,"endOffset":3630,"count":536},{"startOffset":3682,"endOffset":3927,"count":641346},{"startOffset":3728,"endOffset":3797,"count":580078},{"startOffset":3797,"endOffset":3872,"count":61268},{"startOffset":3927,"endOffset":3970,"count":742077},{"startOffset":3970,"endOffset":4065,"count":4178481},{"startOffset":3998,"endOffset":4012,"count":63043},{"startOffset":4014,"endOffset":4035,"count":6414},{"startOffset":4035,"endOffset":4065,"count":4172067}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33668,"endOffset":33687,"count":8362}],"isBlockCoverage":true},{"functionName":"resolve","ranges":[{"startOffset":33812,"endOffset":34735,"count":59774},{"startOffset":33935,"endOffset":33955,"count":159951},{"startOffset":33962,"endOffset":34289,"count":108539},{"startOffset":33990,"endOffset":33999,"count":100177},{"startOffset":34000,"endOffset":34012,"count":8362},{"startOffset":34115,"endOffset":34142,"count":2},{"startOffset":34142,"endOffset":34289,"count":108537},{"startOffset":34674,"endOffset":34724,"count":0},{"startOffset":34725,"endOffset":34730,"count":0}],"isBlockCoverage":true},{"functionName":"normalize","ranges":[{"startOffset":34801,"endOffset":35414,"count":2038},{"startOffset":34887,"endOffset":34898,"count":0},{"startOffset":35226,"endOffset":35320,"count":4},{"startOffset":35258,"endOffset":35269,"count":0},{"startOffset":35301,"endOffset":35307,"count":1},{"startOffset":35308,"endOffset":35313,"count":3},{"startOffset":35320,"endOffset":35354,"count":2034},{"startOffset":35354,"endOffset":35366,"count":0},{"startOffset":35366,"endOffset":35390,"count":2034},{"startOffset":35390,"endOffset":35402,"count":1},{"startOffset":35403,"endOffset":35409,"count":2033}],"isBlockCoverage":true},{"functionName":"isAbsolute","ranges":[{"startOffset":35481,"endOffset":35637,"count":24767}],"isBlockCoverage":true},{"functionName":"join","ranges":[{"startOffset":35706,"endOffset":36120,"count":1},{"startOffset":35755,"endOffset":35766,"count":0},{"startOffset":35825,"endOffset":36032,"count":2},{"startOffset":35961,"endOffset":36018,"count":1},{"startOffset":36069,"endOffset":36080,"count":0}],"isBlockCoverage":true},{"functionName":"relative","ranges":[{"startOffset":36210,"endOffset":38570,"count":1},{"startOffset":36323,"endOffset":36333,"count":0},{"startOffset":36460,"endOffset":36470,"count":0},{"startOffset":36743,"endOffset":36750,"count":0},{"startOffset":36824,"endOffset":37059,"count":48},{"startOffset":36972,"endOffset":36978,"count":0},{"startOffset":37035,"endOffset":37053,"count":6},{"startOffset":37391,"endOffset":37573,"count":0},{"startOffset":37581,"endOffset":38038,"count":0},{"startOffset":38044,"endOffset":38569,"count":0}],"isBlockCoverage":true},{"functionName":"toNamespacedPath","ranges":[{"startOffset":38636,"endOffset":38712,"count":18327}],"isBlockCoverage":true},{"functionName":"dirname","ranges":[{"startOffset":38778,"endOffset":39454,"count":11572},{"startOffset":38861,"endOffset":38872,"count":0},{"startOffset":39046,"endOffset":39299,"count":179318},{"startOffset":39117,"endOffset":39201,"count":11571},{"startOffset":39201,"endOffset":39293,"count":167747},{"startOffset":39327,"endOffset":39354,"count":1},{"startOffset":39348,"endOffset":39353,"count":0},{"startOffset":39354,"endOffset":39383,"count":11571},{"startOffset":39391,"endOffset":39403,"count":0},{"startOffset":39403,"endOffset":39453,"count":11571}],"isBlockCoverage":true},{"functionName":"basename","ranges":[{"startOffset":39550,"endOffset":41977,"count":2122},{"startOffset":39611,"endOffset":39641,"count":0},{"startOffset":39773,"endOffset":39793,"count":0},{"startOffset":39794,"endOffset":39825,"count":0},{"startOffset":39827,"endOffset":41351,"count":0},{"startOffset":41399,"endOffset":41884,"count":34273},{"startOffset":41470,"endOffset":41694,"count":2122},{"startOffset":41694,"endOffset":41878,"count":32151},{"startOffset":41716,"endOffset":41878,"count":2122},{"startOffset":41912,"endOffset":41922,"count":0}],"isBlockCoverage":true},{"functionName":"extname","ranges":[{"startOffset":42043,"endOffset":43733,"count":558},{"startOffset":42376,"endOffset":43338,"count":9226},{"startOffset":42472,"endOffset":42718,"count":558},{"startOffset":42692,"endOffset":42718,"count":0},{"startOffset":42718,"endOffset":42741,"count":8668},{"startOffset":42741,"endOffset":42898,"count":558},{"startOffset":42898,"endOffset":42928,"count":8668},{"startOffset":42928,"endOffset":43128,"count":557},{"startOffset":43057,"endOffset":43120,"count":0},{"startOffset":43128,"endOffset":43332,"count":8111},{"startOffset":43155,"endOffset":43332,"count":6989},{"startOffset":43364,"endOffset":43385,"count":557},{"startOffset":43386,"endOffset":43479,"count":557},{"startOffset":43480,"endOffset":43649,"count":557},{"startOffset":43577,"endOffset":43609,"count":0},{"startOffset":43610,"endOffset":43648,"count":0},{"startOffset":43651,"endOffset":43675,"count":1},{"startOffset":43675,"endOffset":43732,"count":557}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":43960,"endOffset":46432,"count":2},{"startOffset":44110,"endOffset":44121,"count":0},{"startOffset":44291,"endOffset":44321,"count":0},{"startOffset":44641,"endOffset":45603,"count":10},{"startOffset":44737,"endOffset":44983,"count":2},{"startOffset":44957,"endOffset":44983,"count":0},{"startOffset":44983,"endOffset":45006,"count":8},{"startOffset":45006,"endOffset":45163,"count":2},{"startOffset":45163,"endOffset":45193,"count":8},{"startOffset":45193,"endOffset":45393,"count":0},{"startOffset":45393,"endOffset":45597,"count":8},{"startOffset":45420,"endOffset":45597,"count":0},{"startOffset":45663,"endOffset":45676,"count":0},{"startOffset":45677,"endOffset":45680,"count":0},{"startOffset":45720,"endOffset":45817,"count":0},{"startOffset":45818,"endOffset":45993,"count":0},{"startOffset":46074,"endOffset":46273,"count":0},{"startOffset":46365,"endOffset":46411,"count":0}],"isBlockCoverage":true}]},{"scriptId":"42","url":"node:internal/vm","functions":[{"functionName":"registerImportModuleDynamically","ranges":[{"startOffset":1761,"endOffset":2126,"count":2119}],"isBlockCoverage":true},{"functionName":"internalCompileFunction","ranges":[{"startOffset":2128,"endOffset":3011,"count":2119},{"startOffset":2574,"endOffset":2647,"count":0},{"startOffset":2674,"endOffset":2731,"count":0},{"startOffset":2787,"endOffset":2860,"count":0}],"isBlockCoverage":true}]},{"scriptId":"44","url":"node:internal/source_map/source_map_cache","functions":[{"functionName":"","ranges":[{"startOffset":620,"endOffset":645,"count":1}],"isBlockCoverage":true},{"functionName":"getSourceMapsEnabled","ranges":[{"startOffset":1859,"endOffset":1922,"count":1914}],"isBlockCoverage":true},{"functionName":"setSourceMapsEnabled","ranges":[{"startOffset":1924,"endOffset":2466,"count":1},{"startOffset":2032,"endOffset":2187,"count":0}],"isBlockCoverage":true},{"functionName":"extractSourceURLMagicComment","ranges":[{"startOffset":2468,"endOffset":3068,"count":1914},{"startOffset":2770,"endOffset":2803,"count":0},{"startOffset":2856,"endOffset":2992,"count":0},{"startOffset":2994,"endOffset":3067,"count":0}],"isBlockCoverage":true},{"functionName":"maybeCacheSourceMap","ranges":[{"startOffset":3515,"endOffset":5217,"count":1914},{"startOffset":3717,"endOffset":3737,"count":0},{"startOffset":3740,"endOffset":3747,"count":0},{"startOffset":3881,"endOffset":4005,"count":0},{"startOffset":4041,"endOffset":4107,"count":0},{"startOffset":4196,"endOffset":4213,"count":0},{"startOffset":4386,"endOffset":4400,"count":0},{"startOffset":4427,"endOffset":4589,"count":0},{"startOffset":4618,"endOffset":4861,"count":0},{"startOffset":5157,"endOffset":5211,"count":0}],"isBlockCoverage":true},{"functionName":"dataFromUrl","ranges":[{"startOffset":5749,"endOffset":6269,"count":1914},{"startOffset":5886,"endOffset":5961,"count":19},{"startOffset":5968,"endOffset":6048,"count":0},{"startOffset":6059,"endOffset":6267,"count":1895}],"isBlockCoverage":true},{"functionName":"lineLengths","ranges":[{"startOffset":6459,"endOffset":6804,"count":1914}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6761,"endOffset":6800,"count":118644}],"isBlockCoverage":true},{"functionName":"sourceMapFromFile","ranges":[{"startOffset":6806,"endOffset":7086,"count":1895},{"startOffset":7034,"endOffset":7084,"count":0}],"isBlockCoverage":true},{"functionName":"sourceMapFromDataUrl","ranges":[{"startOffset":7180,"endOffset":7851,"count":19},{"startOffset":7583,"endOffset":7589,"count":0},{"startOffset":7711,"endOffset":7767,"count":0},{"startOffset":7771,"endOffset":7849,"count":0}],"isBlockCoverage":true},{"functionName":"sourcesToAbsolute","ranges":[{"startOffset":8036,"endOffset":8363,"count":1914}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8114,"endOffset":8220,"count":1914}],"isBlockCoverage":true}]},{"scriptId":"45","url":"node:internal/url","functions":[{"functionName":"","ranges":[{"startOffset":3902,"endOffset":4691,"count":7531}],"isBlockCoverage":false},{"functionName":"get hasPort","ranges":[{"startOffset":4470,"endOffset":4535,"count":0}],"isBlockCoverage":false},{"functionName":"get hasSearch","ranges":[{"startOffset":4539,"endOffset":4614,"count":14304}],"isBlockCoverage":true},{"functionName":"get hasHash","ranges":[{"startOffset":4618,"endOffset":4689,"count":14304}],"isBlockCoverage":true},{"functionName":"isURL","ranges":[{"startOffset":17719,"endOffset":17814,"count":54939}],"isBlockCoverage":true},{"functionName":"URL","ranges":[{"startOffset":17830,"endOffset":18256,"count":17106},{"startOffset":17901,"endOffset":17949,"count":0},{"startOffset":18076,"endOffset":18107,"count":6735},{"startOffset":18173,"endOffset":18220,"count":1897},{"startOffset":18220,"endOffset":18255,"count":15209}],"isBlockCoverage":true},{"functionName":"#updateContext","ranges":[{"startOffset":19117,"endOffset":20056,"count":16321},{"startOffset":19853,"endOffset":20052,"count":0}],"isBlockCoverage":true},{"functionName":"toString","ranges":[{"startOffset":20060,"endOffset":20170,"count":3674},{"startOffset":20101,"endOffset":20135,"count":0}],"isBlockCoverage":true},{"functionName":"get href","ranges":[{"startOffset":20174,"endOffset":20284,"count":6836},{"startOffset":20215,"endOffset":20249,"count":0}],"isBlockCoverage":true},{"functionName":"get protocol","ranges":[{"startOffset":21505,"endOffset":21672,"count":9099},{"startOffset":21550,"endOffset":21584,"count":0}],"isBlockCoverage":true},{"functionName":"get hostname","ranges":[{"startOffset":23653,"endOffset":23989,"count":5742},{"startOffset":23698,"endOffset":23732,"count":0},{"startOffset":23893,"endOffset":23918,"count":0}],"isBlockCoverage":true},{"functionName":"get pathname","ranges":[{"startOffset":24640,"endOffset":24966,"count":13748},{"startOffset":24685,"endOffset":24719,"count":0},{"startOffset":24790,"endOffset":24830,"count":0},{"startOffset":24853,"endOffset":24891,"count":0}],"isBlockCoverage":true},{"functionName":"get search","ranges":[{"startOffset":25210,"endOffset":25569,"count":556},{"startOffset":25253,"endOffset":25287,"count":0},{"startOffset":25357,"endOffset":25568,"count":0}],"isBlockCoverage":true},{"functionName":"set search","ranges":[{"startOffset":25573,"endOffset":25813,"count":556},{"startOffset":25621,"endOffset":25655,"count":0}],"isBlockCoverage":true},{"functionName":"get hash","ranges":[{"startOffset":26175,"endOffset":26434,"count":556},{"startOffset":26216,"endOffset":26250,"count":0},{"startOffset":26303,"endOffset":26345,"count":0},{"startOffset":26371,"endOffset":26433,"count":0}],"isBlockCoverage":true},{"functionName":"set hash","ranges":[{"startOffset":26438,"endOffset":26666,"count":556},{"startOffset":26484,"endOffset":26518,"count":0}],"isBlockCoverage":true},{"functionName":"getPathFromURLPosix","ranges":[{"startOffset":39509,"endOffset":40030,"count":5742},{"startOffset":39572,"endOffset":39628,"count":0},{"startOffset":39706,"endOffset":39989,"count":483422},{"startOffset":39737,"endOffset":39985,"count":0}],"isBlockCoverage":true},{"functionName":"fileURLToPath","ranges":[{"startOffset":40032,"endOffset":40371,"count":5742},{"startOffset":40099,"endOffset":40120,"count":1897},{"startOffset":40120,"endOffset":40214,"count":3845},{"startOffset":40150,"endOffset":40214,"count":0},{"startOffset":40252,"endOffset":40293,"count":0},{"startOffset":40313,"endOffset":40340,"count":0}],"isBlockCoverage":true},{"functionName":"encodePathChars","ranges":[{"startOffset":41184,"endOffset":41960,"count":3777},{"startOffset":41277,"endOffset":41348,"count":0},{"startOffset":41476,"endOffset":41549,"count":0},{"startOffset":41607,"endOffset":41678,"count":0},{"startOffset":41736,"endOffset":41814,"count":0},{"startOffset":41872,"endOffset":41939,"count":0}],"isBlockCoverage":true},{"functionName":"pathToFileURL","ranges":[{"startOffset":41962,"endOffset":43939,"count":3777},{"startOffset":42013,"endOffset":42059,"count":0},{"startOffset":42061,"endOffset":42826,"count":0},{"startOffset":43129,"endOffset":43168,"count":0},{"startOffset":43171,"endOffset":43222,"count":0},{"startOffset":43228,"endOffset":43244,"count":0},{"startOffset":43700,"endOffset":43772,"count":0},{"startOffset":43829,"endOffset":43897,"count":0}],"isBlockCoverage":true},{"functionName":"toPathIfFileURL","ranges":[{"startOffset":43941,"endOffset":44078,"count":9771},{"startOffset":44037,"endOffset":44077,"count":0}],"isBlockCoverage":true}]},{"scriptId":"50","url":"node:internal/console/constructor","functions":[{"functionName":"lazyUtilColors","ranges":[{"startOffset":1891,"endOffset":1991,"count":4}],"isBlockCoverage":true},{"functionName":"value","ranges":[{"startOffset":5848,"endOffset":6493,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":6057,"endOffset":6152,"count":12},{"startOffset":6090,"endOffset":6113,"count":1}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":6164,"endOffset":6194,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6324,"endOffset":6423,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":6435,"endOffset":6465,"count":0}],"isBlockCoverage":false},{"functionName":"value","ranges":[{"startOffset":6585,"endOffset":7993,"count":1}],"isBlockCoverage":true},{"functionName":"value","ranges":[{"startOffset":8085,"endOffset":9537,"count":4},{"startOffset":8311,"endOffset":8325,"count":0},{"startOffset":8399,"endOffset":8425,"count":0},{"startOffset":8464,"endOffset":8659,"count":0},{"startOffset":8717,"endOffset":8745,"count":0},{"startOffset":9183,"endOffset":9467,"count":0}],"isBlockCoverage":true},{"functionName":"value","ranges":[{"startOffset":9632,"endOffset":10042,"count":4},{"startOffset":9846,"endOffset":9967,"count":0},{"startOffset":9988,"endOffset":10010,"count":0}],"isBlockCoverage":true},{"functionName":"value","ranges":[{"startOffset":10135,"endOffset":10315,"count":4}],"isBlockCoverage":true},{"functionName":"createWriteErrorHandler","ranges":[{"startOffset":10678,"endOffset":11567,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10746,"endOffset":11564,"count":4},{"startOffset":11016,"endOffset":11034,"count":0},{"startOffset":11509,"endOffset":11554,"count":1}],"isBlockCoverage":true},{"functionName":"log","ranges":[{"startOffset":11596,"endOffset":11683,"count":4}],"isBlockCoverage":true},{"functionName":"initializeGlobalConsole","ranges":[{"startOffset":20440,"endOffset":21479,"count":1},{"startOffset":20808,"endOffset":21478,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21374,"endOffset":21475,"count":0}],"isBlockCoverage":false}]},{"scriptId":"52","url":"node:internal/event_target","functions":[{"functionName":"defineEventHandler","ranges":[{"startOffset":28495,"endOffset":29689,"count":5}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":28679,"endOffset":28750,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":28756,"endOffset":29634,"count":0}],"isBlockCoverage":false},{"functionName":"EventEmitterMixin","ranges":[{"startOffset":29717,"endOffset":30407,"count":1},{"startOffset":30148,"endOffset":30310,"count":18}],"isBlockCoverage":true},{"functionName":"MixedEventEmitter","ranges":[{"startOffset":29786,"endOffset":29927,"count":0}],"isBlockCoverage":false}]},{"scriptId":"53","url":"node:util","functions":[{"functionName":"lazyAbortController","ranges":[{"startOffset":2369,"endOffset":2489,"count":60}],"isBlockCoverage":true},{"functionName":"inherits","ranges":[{"startOffset":5909,"endOffset":6547,"count":16},{"startOffset":5994,"endOffset":6051,"count":0},{"startOffset":6110,"endOffset":6177,"count":0},{"startOffset":6220,"endOffset":6350,"count":0}],"isBlockCoverage":true},{"functionName":"get transferableAbortSignal","ranges":[{"startOffset":10340,"endOffset":10433,"count":20}],"isBlockCoverage":true},{"functionName":"get transferableAbortController","ranges":[{"startOffset":10437,"endOffset":10538,"count":20}],"isBlockCoverage":true},{"functionName":"get aborted","ranges":[{"startOffset":10542,"endOffset":10603,"count":20}],"isBlockCoverage":true}]},{"scriptId":"55","url":"node:internal/perf/utils","functions":[{"functionName":"refreshTimeOrigin","ranges":[{"startOffset":499,"endOffset":563,"count":1}],"isBlockCoverage":true}]},{"scriptId":"56","url":"node:internal/bootstrap/switches/is_main_thread","functions":[{"functionName":"createWritableStdioStream","ranges":[{"startOffset":1423,"endOffset":3025,"count":2},{"startOffset":1575,"endOffset":1709,"count":0},{"startOffset":1715,"endOffset":1909,"count":0},{"startOffset":2216,"endOffset":2244,"count":0},{"startOffset":2246,"endOffset":2467,"count":0},{"startOffset":2650,"endOffset":2904,"count":0}],"isBlockCoverage":true},{"functionName":"write","ranges":[{"startOffset":2840,"endOffset":2887,"count":0}],"isBlockCoverage":false},{"functionName":"addCleanup","ranges":[{"startOffset":3638,"endOffset":3729,"count":2},{"startOffset":3692,"endOffset":3727,"count":0}],"isBlockCoverage":true},{"functionName":"getStdout","ranges":[{"startOffset":3731,"endOffset":4423,"count":234},{"startOffset":3768,"endOffset":3782,"count":233},{"startOffset":3782,"endOffset":4016,"count":1},{"startOffset":4016,"endOffset":4074,"count":0},{"startOffset":4074,"endOffset":4422,"count":1}],"isBlockCoverage":true},{"functionName":"cleanupStdout","ranges":[{"startOffset":4089,"endOffset":4267,"count":0}],"isBlockCoverage":false},{"functionName":"getStderr","ranges":[{"startOffset":4425,"endOffset":5116,"count":15},{"startOffset":4462,"endOffset":4476,"count":14},{"startOffset":4476,"endOffset":4710,"count":1},{"startOffset":4710,"endOffset":4768,"count":0},{"startOffset":4768,"endOffset":5115,"count":1}],"isBlockCoverage":true},{"functionName":"cleanupStderr","ranges":[{"startOffset":4782,"endOffset":4960,"count":0}],"isBlockCoverage":false}]},{"scriptId":"57","url":"node:internal/v8/startup_snapshot","functions":[{"functionName":"isBuildingSnapshot","ranges":[{"startOffset":370,"endOffset":531,"count":5843}],"isBlockCoverage":true},{"functionName":"runDeserializeCallbacks","ranges":[{"startOffset":725,"endOffset":898,"count":1},{"startOffset":804,"endOffset":896,"count":0}],"isBlockCoverage":true}]},{"scriptId":"58","url":"node:internal/process/signal","functions":[{"functionName":"isSignal","ranges":[{"startOffset":238,"endOffset":334,"count":4}],"isBlockCoverage":false},{"functionName":"startListeningIfSignal","ranges":[{"startOffset":398,"endOffset":904,"count":4}],"isBlockCoverage":false}]},{"scriptId":"59","url":"node:fs","functions":[{"functionName":"isFileType","ranges":[{"startOffset":5280,"endOffset":5540,"count":65034},{"startOffset":5479,"endOffset":5499,"count":2880}],"isBlockCoverage":true},{"functionName":"existsSync","ranges":[{"startOffset":7707,"endOffset":8237,"count":3},{"startOffset":7782,"endOffset":7811,"count":0},{"startOffset":8119,"endOffset":8145,"count":0},{"startOffset":8147,"endOffset":8200,"count":0}],"isBlockCoverage":true},{"functionName":"tryStatSync","ranges":[{"startOffset":10866,"endOffset":11096,"count":4022},{"startOffset":11009,"endOffset":11021,"count":0},{"startOffset":11023,"endOffset":11078,"count":0}],"isBlockCoverage":true},{"functionName":"tryCreateBuffer","ranges":[{"startOffset":11098,"endOffset":11409,"count":4022},{"startOffset":11216,"endOffset":11268,"count":0},{"startOffset":11355,"endOffset":11367,"count":0},{"startOffset":11369,"endOffset":11386,"count":0}],"isBlockCoverage":true},{"functionName":"tryReadSync","ranges":[{"startOffset":11411,"endOffset":11666,"count":4022},{"startOffset":11609,"endOffset":11621,"count":0},{"startOffset":11623,"endOffset":11640,"count":0}],"isBlockCoverage":true},{"functionName":"readFileSync","ranges":[{"startOffset":11890,"endOffset":13288,"count":4022},{"startOffset":12059,"endOffset":12065,"count":0},{"startOffset":12205,"endOffset":12208,"count":0},{"startOffset":12338,"endOffset":12361,"count":0},{"startOffset":12613,"endOffset":12982,"count":0},{"startOffset":13042,"endOffset":13138,"count":0},{"startOffset":13160,"endOffset":13200,"count":0}],"isBlockCoverage":true},{"functionName":"closeSync","ranges":[{"startOffset":13833,"endOffset":13973,"count":4022}],"isBlockCoverage":true},{"functionName":"openSync","ranges":[{"startOffset":14965,"endOffset":15361,"count":4022}],"isBlockCoverage":true},{"functionName":"readSync","ranges":[{"startOffset":18030,"endOffset":19031,"count":4022},{"startOffset":18172,"endOffset":18378,"count":0},{"startOffset":18402,"endOffset":18423,"count":0},{"startOffset":18514,"endOffset":18533,"count":0},{"startOffset":18566,"endOffset":18696,"count":0}],"isBlockCoverage":true},{"functionName":"readdirSync","ranges":[{"startOffset":39178,"endOffset":39781,"count":20},{"startOffset":39315,"endOffset":39381,"count":0},{"startOffset":39408,"endOffset":39461,"count":0},{"startOffset":39743,"endOffset":39769,"count":0}],"isBlockCoverage":true},{"functionName":"lstatSync","ranges":[{"startOffset":43007,"endOffset":43431,"count":2241},{"startOffset":43309,"endOffset":43332,"count":0},{"startOffset":43334,"endOffset":43361,"count":0}],"isBlockCoverage":true},{"functionName":"statSync","ranges":[{"startOffset":43646,"endOffset":44067,"count":51},{"startOffset":43945,"endOffset":43968,"count":0},{"startOffset":43970,"endOffset":43997,"count":0}],"isBlockCoverage":true},{"functionName":"splitRoot","ranges":[{"startOffset":68437,"endOffset":68647,"count":2679},{"startOffset":68504,"endOffset":68627,"count":5358},{"startOffset":68582,"endOffset":68621,"count":2679},{"startOffset":68627,"endOffset":68646,"count":0}],"isBlockCoverage":true},{"functionName":"encodeRealpathResult","ranges":[{"startOffset":68652,"endOffset":68939,"count":2678},{"startOffset":68737,"endOffset":68767,"count":0},{"startOffset":68787,"endOffset":68938,"count":0}],"isBlockCoverage":true},{"functionName":"nextPart","ranges":[{"startOffset":69345,"endOffset":69420,"count":31946}],"isBlockCoverage":true},{"functionName":"realpathSync","ranges":[{"startOffset":69594,"endOffset":73506,"count":3434},{"startOffset":69718,"endOffset":69736,"count":0},{"startOffset":69897,"endOffset":69932,"count":756},{"startOffset":69932,"endOffset":70494,"count":2678},{"startOffset":70494,"endOffset":70666,"count":0},{"startOffset":70666,"endOffset":70803,"count":2678},{"startOffset":70803,"endOffset":73433,"count":31946},{"startOffset":70915,"endOffset":71046,"count":2679},{"startOffset":71046,"endOffset":71204,"count":29267},{"startOffset":71291,"endOffset":71319,"count":31938},{"startOffset":71321,"endOffset":71474,"count":29066},{"startOffset":71428,"endOffset":71452,"count":0},{"startOffset":71474,"endOffset":71540,"count":2880},{"startOffset":71577,"endOffset":71626,"count":0},{"startOffset":71626,"endOffset":72930,"count":2880},{"startOffset":71978,"endOffset":72066,"count":2879},{"startOffset":72066,"endOffset":72487,"count":1},{"startOffset":72426,"endOffset":72479,"count":0},{"startOffset":72487,"endOffset":72850,"count":1},{"startOffset":72894,"endOffset":72924,"count":1},{"startOffset":72930,"endOffset":73222,"count":1},{"startOffset":73222,"endOffset":73245,"count":0},{"startOffset":73247,"endOffset":73429,"count":0},{"startOffset":73433,"endOffset":73447,"count":2678}],"isBlockCoverage":true},{"functionName":"lazyLoadStreams","ranges":[{"startOffset":82417,"endOffset":82608,"count":96},{"startOffset":82465,"endOffset":82606,"count":1}],"isBlockCoverage":true},{"functionName":"get ReadStream","ranges":[{"startOffset":84814,"endOffset":84882,"count":24}],"isBlockCoverage":true},{"functionName":"get WriteStream","ranges":[{"startOffset":84939,"endOffset":85009,"count":24}],"isBlockCoverage":true},{"functionName":"get FileReadStream","ranges":[{"startOffset":85201,"endOffset":85277,"count":24}],"isBlockCoverage":true},{"functionName":"get FileWriteStream","ranges":[{"startOffset":85342,"endOffset":85420,"count":24}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":86115,"endOffset":86211,"count":24}],"isBlockCoverage":true}]},{"scriptId":"60","url":"node:internal/fs/utils","functions":[{"functionName":"assertEncoding","ranges":[{"startOffset":3590,"endOffset":3790,"count":7456},{"startOffset":3641,"endOffset":3672,"count":4022},{"startOffset":3674,"endOffset":3788,"count":0}],"isBlockCoverage":true},{"functionName":"getOptions","ranges":[{"startOffset":7755,"endOffset":8381,"count":7476},{"startOffset":7839,"endOffset":7871,"count":7456},{"startOffset":7873,"endOffset":7905,"count":20},{"startOffset":7905,"endOffset":7942,"count":7456},{"startOffset":7942,"endOffset":8060,"count":4022},{"startOffset":8060,"endOffset":8182,"count":3434},{"startOffset":8099,"endOffset":8182,"count":0},{"startOffset":8182,"endOffset":8296,"count":7456},{"startOffset":8296,"endOffset":8360,"count":0},{"startOffset":8360,"endOffset":8380,"count":7456}],"isBlockCoverage":true},{"functionName":"handleErrorFromBinding","ranges":[{"startOffset":8439,"endOffset":8968,"count":17260},{"startOffset":8509,"endOffset":8644,"count":48},{"startOffset":8644,"endOffset":8676,"count":17212},{"startOffset":8676,"endOffset":8966,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9109,"endOffset":9699,"count":9771},{"startOffset":9339,"endOffset":9359,"count":0},{"startOffset":9429,"endOffset":9497,"count":0},{"startOffset":9516,"endOffset":9698,"count":0}],"isBlockCoverage":true},{"functionName":"StatsBase","ranges":[{"startOffset":10442,"endOffset":10749,"count":2244}],"isBlockCoverage":true},{"functionName":"StatsBase.isDirectory","ranges":[{"startOffset":10785,"endOffset":10842,"count":2242}],"isBlockCoverage":true},{"functionName":"StatsBase.isFile","ranges":[{"startOffset":10874,"endOffset":10931,"count":2}],"isBlockCoverage":true},{"functionName":"StatsBase.isSymbolicLink","ranges":[{"startOffset":11167,"endOffset":11224,"count":2241}],"isBlockCoverage":true},{"functionName":"msFromTimeSpec","ranges":[{"startOffset":11530,"endOffset":11612,"count":8976}],"isBlockCoverage":true},{"functionName":"dateFromMs","ranges":[{"startOffset":12099,"endOffset":12210,"count":8976}],"isBlockCoverage":true},{"functionName":"Stats","ranges":[{"startOffset":13382,"endOffset":13924,"count":2244}],"isBlockCoverage":true},{"functionName":"Stats._checkModeProperty","ranges":[{"startOffset":14265,"endOffset":14495,"count":4485},{"startOffset":14302,"endOffset":14380,"count":0},{"startOffset":14382,"endOffset":14449,"count":0}],"isBlockCoverage":true},{"functionName":"getStatsFromBinding","ranges":[{"startOffset":14613,"endOffset":15692,"count":2244},{"startOffset":14693,"endOffset":15219,"count":0}],"isBlockCoverage":true},{"functionName":"stringToFlags","ranges":[{"startOffset":16094,"endOffset":17350,"count":4022},{"startOffset":16175,"endOffset":16230,"count":0},{"startOffset":16253,"endOffset":16279,"count":0},{"startOffset":16336,"endOffset":16347,"count":0},{"startOffset":16369,"endOffset":16406,"count":0},{"startOffset":16411,"endOffset":16437,"count":0},{"startOffset":16442,"endOffset":16454,"count":0},{"startOffset":16476,"endOffset":16512,"count":0},{"startOffset":16518,"endOffset":16565,"count":0},{"startOffset":16570,"endOffset":16581,"count":0},{"startOffset":16603,"endOffset":16660,"count":0},{"startOffset":16666,"endOffset":16712,"count":0},{"startOffset":16717,"endOffset":16728,"count":0},{"startOffset":16750,"endOffset":16805,"count":0},{"startOffset":16811,"endOffset":16859,"count":0},{"startOffset":16864,"endOffset":16875,"count":0},{"startOffset":16897,"endOffset":16955,"count":0},{"startOffset":16960,"endOffset":16971,"count":0},{"startOffset":16993,"endOffset":17051,"count":0},{"startOffset":17057,"endOffset":17104,"count":0},{"startOffset":17109,"endOffset":17120,"count":0},{"startOffset":17142,"endOffset":17198,"count":0},{"startOffset":17203,"endOffset":17214,"count":0},{"startOffset":17236,"endOffset":17292,"count":0},{"startOffset":17296,"endOffset":17349,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18327,"endOffset":18706,"count":4022},{"startOffset":18383,"endOffset":18450,"count":0},{"startOffset":18471,"endOffset":18538,"count":0},{"startOffset":18579,"endOffset":18702,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19212,"endOffset":19482,"count":9771},{"startOffset":19274,"endOffset":19296,"count":0},{"startOffset":19298,"endOffset":19384,"count":0},{"startOffset":19460,"endOffset":19480,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19527,"endOffset":19662,"count":6337}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19705,"endOffset":19826,"count":8044},{"startOffset":19756,"endOffset":19775,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25531,"endOffset":26001,"count":4022},{"startOffset":25631,"endOffset":25999,"count":0}],"isBlockCoverage":true}]},{"scriptId":"61","url":"node:url","functions":[{"functionName":"pathToFileURL","ranges":[{"startOffset":31795,"endOffset":31891,"count":556}],"isBlockCoverage":true}]},{"scriptId":"63","url":"node:internal/modules/cjs/loader","functions":[{"functionName":"get hasLoadedAnyUserCJSModule","ranges":[{"startOffset":2204,"endOffset":2273,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3441,"endOffset":3532,"count":1},{"startOffset":3488,"endOffset":3524,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3581,"endOffset":3624,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3665,"endOffset":3719,"count":1}],"isBlockCoverage":true},{"functionName":"stat","ranges":[{"startOffset":5161,"endOffset":5575,"count":8363},{"startOffset":5259,"endOffset":5357,"count":7732},{"startOffset":5335,"endOffset":5353,"count":2100},{"startOffset":5357,"endOffset":5430,"count":6263},{"startOffset":5430,"endOffset":5444,"count":5632},{"startOffset":5446,"endOffset":5556,"count":2234},{"startOffset":5556,"endOffset":5574,"count":6263}],"isBlockCoverage":true},{"functionName":"updateChildren","ranges":[{"startOffset":6066,"endOffset":6268,"count":9251},{"startOffset":6138,"endOffset":6148,"count":8141},{"startOffset":6165,"endOffset":6218,"count":8141},{"startOffset":6175,"endOffset":6217,"count":6574},{"startOffset":6220,"endOffset":6266,"count":7560}],"isBlockCoverage":true},{"functionName":"reportModuleToWatchMode","ranges":[{"startOffset":6385,"endOffset":6541,"count":10367},{"startOffset":6466,"endOffset":6481,"count":0},{"startOffset":6483,"endOffset":6539,"count":0}],"isBlockCoverage":true},{"functionName":"reportModuleNotFoundToWatchMode","ranges":[{"startOffset":6725,"endOffset":6964,"count":29},{"startOffset":6826,"endOffset":6841,"count":0},{"startOffset":6843,"endOffset":6962,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6911,"endOffset":6953,"count":0}],"isBlockCoverage":false},{"functionName":"Module","ranges":[{"startOffset":7135,"endOffset":7892,"count":2123},{"startOffset":7448,"endOffset":7458,"count":0},{"startOffset":7476,"endOffset":7840,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9854,"endOffset":9879,"count":1}],"isBlockCoverage":true},{"functionName":"initializeCJS","ranges":[{"startOffset":10599,"endOffset":11099,"count":1}],"isBlockCoverage":true},{"functionName":"tryPackage","ranges":[{"startOffset":11983,"endOffset":13262,"count":234},{"startOffset":12105,"endOffset":12186,"count":177},{"startOffset":12186,"endOffset":12280,"count":57},{"startOffset":12280,"endOffset":12324,"count":7},{"startOffset":12325,"endOffset":12392,"count":1},{"startOffset":12418,"endOffset":13243,"count":0},{"startOffset":13243,"endOffset":13261,"count":57}],"isBlockCoverage":true},{"functionName":"tryFile","ranges":[{"startOffset":13571,"endOffset":13807,"count":3086},{"startOffset":13660,"endOffset":13671,"count":776},{"startOffset":13671,"endOffset":13716,"count":2310},{"startOffset":13716,"endOffset":13726,"count":0},{"startOffset":13728,"endOffset":13771,"count":0},{"startOffset":13771,"endOffset":13806,"count":2310}],"isBlockCoverage":true},{"functionName":"tryExtensions","ranges":[{"startOffset":14072,"endOffset":14292,"count":2323},{"startOffset":14161,"endOffset":14274,"count":2836},{"startOffset":14240,"endOffset":14270,"count":2067},{"startOffset":14274,"endOffset":14291,"count":256}],"isBlockCoverage":true},{"functionName":"findLongestRegisteredExtension","ranges":[{"startOffset":14476,"endOffset":14952,"count":2122},{"startOffset":14700,"endOffset":14934,"count":2121},{"startOffset":14751,"endOffset":14764,"count":0},{"startOffset":14902,"endOffset":14930,"count":2117},{"startOffset":14934,"endOffset":14951,"count":5}],"isBlockCoverage":true},{"functionName":"trySelfParentPath","ranges":[{"startOffset":15075,"endOffset":15368,"count":6053},{"startOffset":15127,"endOffset":15144,"count":555},{"startOffset":15144,"endOffset":15169,"count":5498},{"startOffset":15169,"endOffset":15202,"count":5497},{"startOffset":15202,"endOffset":15366,"count":1},{"startOffset":15272,"endOffset":15366,"count":0}],"isBlockCoverage":true},{"functionName":"trySelf","ranges":[{"startOffset":15576,"endOffset":16504,"count":6053},{"startOffset":15635,"endOffset":15652,"count":556},{"startOffset":15652,"endOffset":15774,"count":5497},{"startOffset":15775,"endOffset":15800,"count":89},{"startOffset":15802,"endOffset":15825,"count":5408},{"startOffset":15825,"endOffset":15872,"count":89},{"startOffset":15872,"endOffset":15898,"count":0},{"startOffset":15898,"endOffset":16064,"count":89},{"startOffset":15960,"endOffset":16035,"count":0},{"startOffset":16064,"endOffset":16502,"count":0}],"isBlockCoverage":true},{"functionName":"resolveExports","ranges":[{"startOffset":16852,"endOffset":17670,"count":2351},{"startOffset":17059,"endOffset":17074,"count":2037},{"startOffset":17089,"endOffset":17100,"count":2037},{"startOffset":17100,"endOffset":17201,"count":314},{"startOffset":17201,"endOffset":17223,"count":285},{"startOffset":17225,"endOffset":17668,"count":193},{"startOffset":17505,"endOffset":17664,"count":0}],"isBlockCoverage":true},{"functionName":"Module._findPath","ranges":[{"startOffset":17963,"endOffset":21970,"count":6054},{"startOffset":18073,"endOffset":18096,"count":556},{"startOffset":18096,"endOffset":18159,"count":5498},{"startOffset":18136,"endOffset":18159,"count":0},{"startOffset":18292,"endOffset":18315,"count":3176},{"startOffset":18315,"endOffset":18898,"count":2878},{"startOffset":18458,"endOffset":18897,"count":2877},{"startOffset":18537,"endOffset":18891,"count":7},{"startOffset":18577,"endOffset":18665,"count":4},{"startOffset":18666,"endOffset":18883,"count":4},{"startOffset":18782,"endOffset":18872,"count":2},{"startOffset":18973,"endOffset":19429,"count":2037},{"startOffset":19009,"endOffset":19078,"count":2034},{"startOffset":19079,"endOffset":19164,"count":536},{"startOffset":19099,"endOffset":19163,"count":0},{"startOffset":19165,"endOffset":19423,"count":536},{"startOffset":19261,"endOffset":19332,"count":534},{"startOffset":19334,"endOffset":19421,"count":0},{"startOffset":19474,"endOffset":19628,"count":2037},{"startOffset":19591,"endOffset":19624,"count":536},{"startOffset":19628,"endOffset":19690,"count":2878},{"startOffset":19690,"endOffset":21951,"count":3655},{"startOffset":19822,"endOffset":19832,"count":3119},{"startOffset":19833,"endOffset":19854,"count":2564},{"startOffset":19856,"endOffset":19879,"count":749},{"startOffset":19879,"endOffset":19907,"count":2906},{"startOffset":19907,"endOffset":20047,"count":2351},{"startOffset":20000,"endOffset":20041,"count":193},{"startOffset":20047,"endOffset":20177,"count":2713},{"startOffset":20177,"endOffset":21418,"count":2705},{"startOffset":20199,"endOffset":21183,"count":567},{"startOffset":20232,"endOffset":20421,"count":566},{"startOffset":20287,"endOffset":20347,"count":0},{"startOffset":20421,"endOffset":21175,"count":1},{"startOffset":20475,"endOffset":21115,"count":0},{"startOffset":21206,"endOffset":21412,"count":2138},{"startOffset":21286,"endOffset":21346,"count":2113},{"startOffset":21418,"endOffset":21438,"count":2713},{"startOffset":21438,"endOffset":21449,"count":263},{"startOffset":21451,"endOffset":21677,"count":234},{"startOffset":21553,"endOffset":21609,"count":8},{"startOffset":21677,"endOffset":21697,"count":2713},{"startOffset":21697,"endOffset":21773,"count":2684},{"startOffset":21773,"endOffset":21951,"count":29},{"startOffset":21951,"endOffset":21969,"count":1}],"isBlockCoverage":true},{"functionName":"Module._nodeModulePaths","ranges":[{"startOffset":24047,"endOffset":25235,"count":2677},{"startOffset":24319,"endOffset":24358,"count":0},{"startOffset":24679,"endOffset":25113,"count":203521},{"startOffset":24775,"endOffset":24983,"count":29250},{"startOffset":24802,"endOffset":24942,"count":29007},{"startOffset":24983,"endOffset":25107,"count":174271},{"startOffset":25003,"endOffset":25107,"count":42006},{"startOffset":25038,"endOffset":25064,"count":12999},{"startOffset":25064,"endOffset":25099,"count":29007}],"isBlockCoverage":true},{"functionName":"Module._resolveLookupPaths","ranges":[{"startOffset":25370,"endOffset":26657,"count":6053},{"startOffset":25450,"endOffset":25516,"count":0},{"startOffset":25601,"endOffset":25800,"count":5199},{"startOffset":25630,"endOffset":25680,"count":5030},{"startOffset":25681,"endOffset":25731,"count":1648},{"startOffset":25732,"endOffset":25799,"count":0},{"startOffset":25802,"endOffset":26129,"count":854},{"startOffset":25862,"endOffset":25877,"count":299},{"startOffset":25879,"endOffset":25989,"count":299},{"startOffset":25989,"endOffset":26029,"count":555},{"startOffset":26118,"endOffset":26124,"count":0},{"startOffset":26129,"endOffset":26197,"count":5199},{"startOffset":26198,"endOffset":26217,"count":5199},{"startOffset":26219,"endOffset":26468,"count":0},{"startOffset":26468,"endOffset":26656,"count":5199}],"isBlockCoverage":true},{"functionName":"getExportsForCircularRequire","ranges":[{"startOffset":28113,"endOffset":28757,"count":223},{"startOffset":28282,"endOffset":28575,"count":217},{"startOffset":28577,"endOffset":28729,"count":1}],"isBlockCoverage":true},{"functionName":"Module._load","ranges":[{"startOffset":29423,"endOffset":32576,"count":8800},{"startOffset":29506,"endOffset":30334,"count":8245},{"startOffset":29965,"endOffset":30330,"count":2645},{"startOffset":30145,"endOffset":30217,"count":29},{"startOffset":30217,"endOffset":30262,"count":2616},{"startOffset":30262,"endOffset":30330,"count":0},{"startOffset":30334,"endOffset":30387,"count":6155},{"startOffset":30387,"endOffset":30659,"count":0},{"startOffset":30659,"endOffset":30812,"count":6155},{"startOffset":30812,"endOffset":31182,"count":4483},{"startOffset":30892,"endOffset":31130,"count":748},{"startOffset":30988,"endOffset":31015,"count":554},{"startOffset":31017,"endOffset":31085,"count":194},{"startOffset":31085,"endOffset":31130,"count":554},{"startOffset":31130,"endOffset":31178,"count":3735},{"startOffset":31182,"endOffset":31242,"count":2225},{"startOffset":31242,"endOffset":31325,"count":103},{"startOffset":31325,"endOffset":31424,"count":2122},{"startOffset":31424,"endOffset":31455,"count":1568},{"startOffset":31472,"endOffset":31613,"count":1},{"startOffset":31613,"endOffset":31717,"count":2122},{"startOffset":31717,"endOffset":31786,"count":1568},{"startOffset":31786,"endOffset":32548,"count":2122},{"startOffset":31891,"endOffset":32294,"count":0},{"startOffset":32476,"endOffset":32544,"count":1},{"startOffset":32548,"endOffset":32575,"count":2122}],"isBlockCoverage":true},{"functionName":"Module._resolveFilename","ranges":[{"startOffset":33038,"endOffset":36174,"count":6156},{"startOffset":33135,"endOffset":33160,"count":103},{"startOffset":33160,"endOffset":33210,"count":6053},{"startOffset":33210,"endOffset":33229,"count":0},{"startOffset":33231,"endOffset":34324,"count":0},{"startOffset":34324,"endOffset":34419,"count":6053},{"startOffset":34419,"endOffset":34467,"count":0},{"startOffset":34469,"endOffset":35111,"count":0},{"startOffset":35111,"endOffset":35272,"count":6053},{"startOffset":35272,"endOffset":35468,"count":0},{"startOffset":35468,"endOffset":35608,"count":6053},{"startOffset":35608,"endOffset":35628,"count":6052},{"startOffset":35628,"endOffset":35740,"count":1},{"startOffset":35740,"endOffset":35813,"count":6},{"startOffset":35795,"endOffset":35807,"count":0},{"startOffset":35813,"endOffset":36173,"count":1}],"isBlockCoverage":true},{"functionName":"finalizeEsmResolution","ranges":[{"startOffset":36601,"endOffset":37182,"count":193},{"startOffset":36799,"endOffset":36928,"count":0},{"startOffset":37047,"endOffset":37181,"count":0}],"isBlockCoverage":true},{"functionName":"Module.load","ranges":[{"startOffset":37831,"endOffset":38680,"count":2122},{"startOffset":38166,"endOffset":38196,"count":0},{"startOffset":38198,"endOffset":38250,"count":0},{"startOffset":38530,"endOffset":38578,"count":0}],"isBlockCoverage":true},{"functionName":"Module.require","ranges":[{"startOffset":38967,"endOffset":39266,"count":8245},{"startOffset":39027,"endOffset":39145,"count":0}],"isBlockCoverage":true},{"functionName":"wrapSafe","ranges":[{"startOffset":39792,"endOffset":42146,"count":2119},{"startOffset":40177,"endOffset":40945,"count":0},{"startOffset":41808,"endOffset":41906,"count":1914},{"startOffset":41940,"endOffset":42144,"count":0}],"isBlockCoverage":true},{"functionName":"importModuleDynamically","ranges":[{"startOffset":39909,"endOffset":40161,"count":557}],"isBlockCoverage":true},{"functionName":"Module._compile","ranges":[{"startOffset":42467,"endOffset":44293,"count":2119},{"startOffset":42558,"endOffset":42568,"count":0},{"startOffset":42586,"endOffset":42739,"count":0},{"startOffset":42872,"endOffset":42896,"count":0},{"startOffset":42898,"endOffset":43634,"count":0},{"startOffset":43857,"endOffset":43887,"count":555},{"startOffset":43912,"endOffset":44051,"count":0},{"startOffset":44253,"endOffset":44274,"count":555}],"isBlockCoverage":true},{"functionName":"Module._extensions..js","ranges":[{"startOffset":44471,"endOffset":46271,"count":2119},{"startOffset":44632,"endOffset":44640,"count":554},{"startOffset":44642,"endOffset":44707,"count":554},{"startOffset":44707,"endOffset":44767,"count":1565},{"startOffset":44816,"endOffset":46231,"count":2114},{"startOffset":44879,"endOffset":44901,"count":0},{"startOffset":44997,"endOffset":46227,"count":0}],"isBlockCoverage":true},{"functionName":"Module._extensions..json","ranges":[{"startOffset":46453,"endOffset":46859,"count":3},{"startOffset":46563,"endOffset":46573,"count":0},{"startOffset":46591,"endOffset":46693,"count":0},{"startOffset":46776,"endOffset":46857,"count":0}],"isBlockCoverage":true},{"functionName":"Module._initPaths","ranges":[{"startOffset":49087,"endOffset":50052,"count":1},{"startOffset":49128,"endOffset":49153,"count":0},{"startOffset":49205,"endOffset":49228,"count":0},{"startOffset":49436,"endOffset":49478,"count":0},{"startOffset":49777,"endOffset":49919,"count":0}],"isBlockCoverage":true}]},{"scriptId":"64","url":"node:internal/modules/helpers","functions":[{"functionName":"","ranges":[{"startOffset":1054,"endOffset":1079,"count":1}],"isBlockCoverage":true},{"functionName":"toRealPath","ranges":[{"startOffset":1548,"endOffset":1680,"count":2878}],"isBlockCoverage":true},{"functionName":"initializeCjsConditions","ranges":[{"startOffset":1796,"endOffset":2188,"count":1},{"startOffset":1975,"endOffset":1979,"count":0}],"isBlockCoverage":true},{"functionName":"getCjsConditions","ranges":[{"startOffset":2255,"endOffset":2382,"count":193},{"startOffset":2320,"endOffset":2356,"count":0}],"isBlockCoverage":true},{"functionName":"loadBuiltinModule","ranges":[{"startOffset":2609,"endOffset":2989,"count":103},{"startOffset":2698,"endOffset":2715,"count":0}],"isBlockCoverage":true},{"functionName":"lazyModule","ranges":[{"startOffset":3082,"endOffset":3195,"count":2119},{"startOffset":3126,"endOffset":3174,"count":1}],"isBlockCoverage":true},{"functionName":"makeRequireFunction","ranges":[{"startOffset":3784,"endOffset":6316,"count":2119},{"startOffset":3923,"endOffset":3986,"count":0},{"startOffset":4053,"endOffset":5324,"count":0}],"isBlockCoverage":true},{"functionName":"require","ranges":[{"startOffset":4196,"endOffset":5319,"count":0}],"isBlockCoverage":false},{"functionName":"require","ranges":[{"startOffset":5346,"endOffset":5486,"count":8244}],"isBlockCoverage":true},{"functionName":"resolve","ranges":[{"startOffset":5672,"endOffset":5818,"count":0}],"isBlockCoverage":false},{"functionName":"paths","ranges":[{"startOffset":5963,"endOffset":6085,"count":0}],"isBlockCoverage":false},{"functionName":"stripBOM","ranges":[{"startOffset":6528,"endOffset":6683,"count":3},{"startOffset":6610,"endOffset":6663,"count":0}],"isBlockCoverage":true},{"functionName":"normalizeReferrerURL","ranges":[{"startOffset":9045,"endOffset":9233,"count":2471},{"startOffset":9198,"endOffset":9232,"count":0}],"isBlockCoverage":true}]},{"scriptId":"65","url":"node:internal/modules/package_json_reader","functions":[{"functionName":"read","ranges":[{"startOffset":1053,"endOffset":3803,"count":40169},{"startOffset":1149,"endOffset":1186,"count":39984},{"startOffset":1186,"endOffset":1863,"count":185},{"startOffset":1863,"endOffset":1872,"count":0},{"startOffset":1873,"endOffset":1887,"count":0},{"startOffset":1888,"endOffset":1910,"count":185},{"startOffset":1934,"endOffset":3753,"count":81},{"startOffset":2002,"endOffset":2598,"count":0},{"startOffset":2888,"endOffset":2922,"count":52},{"startOffset":2924,"endOffset":2964,"count":52},{"startOffset":3024,"endOffset":3070,"count":9},{"startOffset":3130,"endOffset":3176,"count":0},{"startOffset":3287,"endOffset":3346,"count":5},{"startOffset":3318,"endOffset":3345,"count":4},{"startOffset":3348,"endOffset":3388,"count":5},{"startOffset":3422,"endOffset":3618,"count":1},{"startOffset":3543,"endOffset":3596,"count":0},{"startOffset":3646,"endOffset":3749,"count":0},{"startOffset":3753,"endOffset":3802,"count":185}],"isBlockCoverage":true},{"functionName":"readPackage","ranges":[{"startOffset":3871,"endOffset":3961,"count":37634}],"isBlockCoverage":true},{"functionName":"readPackageScope","ranges":[{"startOffset":4178,"endOffset":4756,"count":7612},{"startOffset":4313,"endOffset":4693,"count":37086},{"startOffset":4514,"endOffset":4541,"count":0},{"startOffset":4612,"endOffset":4689,"count":7612},{"startOffset":4693,"endOffset":4755,"count":0}],"isBlockCoverage":true}]},{"scriptId":"66","url":"node:internal/modules/esm/utils","functions":[{"functionName":"getDefaultConditions","ranges":[{"startOffset":926,"endOffset":1032,"count":558}],"isBlockCoverage":true},{"functionName":"getDefaultConditionsSet","ranges":[{"startOffset":1162,"endOffset":1277,"count":557}],"isBlockCoverage":true},{"functionName":"initializeDefaultConditions","ranges":[{"startOffset":1427,"endOffset":1809,"count":1},{"startOffset":1610,"endOffset":1614,"count":0}],"isBlockCoverage":true},{"functionName":"getConditionsSet","ranges":[{"startOffset":1879,"endOffset":2238,"count":557},{"startOffset":1992,"endOffset":2200,"count":0}],"isBlockCoverage":true},{"functionName":"registerModule","ranges":[{"startOffset":3981,"endOffset":4524,"count":2119},{"startOffset":4186,"endOffset":4399,"count":0}],"isBlockCoverage":true},{"functionName":"importModuleDynamicallyCallback","ranges":[{"startOffset":5520,"endOffset":6035,"count":557},{"startOffset":5863,"endOffset":6034,"count":0}],"isBlockCoverage":true},{"functionName":"initializeESM","ranges":[{"startOffset":6352,"endOffset":6728,"count":1}],"isBlockCoverage":true},{"functionName":"isLoaderWorker","ranges":[{"startOffset":6869,"endOffset":6924,"count":1}],"isBlockCoverage":true}]},{"scriptId":"67","url":"node:internal/process/pre_execution","functions":[{"functionName":"prepareMainThreadExecution","ranges":[{"startOffset":756,"endOffset":940,"count":1}],"isBlockCoverage":true},{"functionName":"prepareExecution","ranges":[{"startOffset":1143,"endOffset":3296,"count":1},{"startOffset":2063,"endOffset":2167,"count":0},{"startOffset":3055,"endOffset":3217,"count":0}],"isBlockCoverage":true},{"functionName":"setupSymbolDisposePolyfill","ranges":[{"startOffset":3298,"endOffset":4033,"count":1}],"isBlockCoverage":true},{"functionName":"setupUserModules","ranges":[{"startOffset":4035,"endOffset":4463,"count":1},{"startOffset":4344,"endOffset":4361,"count":0}],"isBlockCoverage":true},{"functionName":"refreshRuntimeOptions","ranges":[{"startOffset":4465,"endOffset":4521,"count":1}],"isBlockCoverage":true},{"functionName":"patchProcessObject","ranges":[{"startOffset":4948,"endOffset":7392,"count":1},{"startOffset":6040,"endOffset":6092,"count":0}],"isBlockCoverage":true},{"functionName":"addReadOnlyProcessAlias","ranges":[{"startOffset":7394,"endOffset":7675,"count":13},{"startOffset":7515,"endOffset":7673,"count":1}],"isBlockCoverage":true},{"functionName":"setupWarningHandler","ranges":[{"startOffset":7677,"endOffset":8197,"count":1},{"startOffset":8052,"endOffset":8191,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8081,"endOffset":8183,"count":0}],"isBlockCoverage":false},{"functionName":"setupFetch","ranges":[{"startOffset":8233,"endOffset":9384,"count":1},{"startOffset":8364,"endOffset":8381,"count":0}],"isBlockCoverage":true},{"functionName":"lazyUndici","ranges":[{"startOffset":8399,"endOffset":8544,"count":0}],"isBlockCoverage":false},{"functionName":"fetch","ranges":[{"startOffset":8548,"endOffset":8643,"count":0}],"isBlockCoverage":false},{"functionName":"lazyInterface","ranges":[{"startOffset":8695,"endOffset":8936,"count":4}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8796,"endOffset":8846,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":8854,"endOffset":8924,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9269,"endOffset":9380,"count":0}],"isBlockCoverage":false},{"functionName":"setupWebCrypto","ranges":[{"startOffset":9490,"endOffset":9940,"count":1},{"startOffset":9651,"endOffset":9938,"count":0}],"isBlockCoverage":true},{"functionName":"setupCodeCoverage","ranges":[{"startOffset":9942,"endOffset":10463,"count":1}],"isBlockCoverage":true},{"functionName":"setupCustomEvent","ranges":[{"startOffset":10571,"endOffset":10857,"count":1},{"startOffset":10736,"endOffset":10856,"count":0}],"isBlockCoverage":true},{"functionName":"setupStacktracePrinterOnSigint","ranges":[{"startOffset":10859,"endOffset":11084,"count":1},{"startOffset":10961,"endOffset":11083,"count":0}],"isBlockCoverage":true},{"functionName":"initializeReport","ranges":[{"startOffset":11086,"endOffset":11335,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":11231,"endOffset":11326,"count":0}],"isBlockCoverage":false},{"functionName":"setupDebugEnv","ranges":[{"startOffset":11337,"endOffset":11568,"count":1},{"startOffset":11488,"endOffset":11566,"count":0}],"isBlockCoverage":true},{"functionName":"initializeReportSignalHandlers","ranges":[{"startOffset":11630,"endOffset":11818,"count":1},{"startOffset":11718,"endOffset":11816,"count":0}],"isBlockCoverage":true},{"functionName":"initializeHeapSnapshotSignalHandlers","ranges":[{"startOffset":11820,"endOffset":12401,"count":1},{"startOffset":11955,"endOffset":12399,"count":0}],"isBlockCoverage":true},{"functionName":"doWriteHeapSnapshot","ranges":[{"startOffset":12068,"endOffset":12129,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":12321,"endOffset":12393,"count":0}],"isBlockCoverage":false},{"functionName":"setupTraceCategoryState","ranges":[{"startOffset":12403,"endOffset":12662,"count":1}],"isBlockCoverage":true},{"functionName":"setupPerfHooks","ranges":[{"startOffset":12664,"endOffset":12747,"count":1}],"isBlockCoverage":true},{"functionName":"setupInspectorHooks","ranges":[{"startOffset":12749,"endOffset":13331,"count":1}],"isBlockCoverage":true},{"functionName":"initializeDeprecations","ranges":[{"startOffset":13526,"endOffset":15478,"count":1},{"startOffset":14238,"endOffset":14540,"count":16},{"startOffset":14283,"endOffset":14515,"count":0},{"startOffset":14857,"endOffset":15054,"count":0},{"startOffset":15082,"endOffset":15476,"count":0}],"isBlockCoverage":true},{"functionName":"setupChildProcessIpcChannel","ranges":[{"startOffset":15480,"endOffset":16045,"count":1},{"startOffset":15556,"endOffset":16043,"count":0}],"isBlockCoverage":true},{"functionName":"initializeClusterIPC","ranges":[{"startOffset":16047,"endOffset":16317,"count":1},{"startOffset":16134,"endOffset":16315,"count":0}],"isBlockCoverage":true},{"functionName":"readPolicyFromDisk","ranges":[{"startOffset":16319,"endOffset":18138,"count":1},{"startOffset":16447,"endOffset":18136,"count":0}],"isBlockCoverage":true},{"functionName":"initializeCJSLoader","ranges":[{"startOffset":18140,"endOffset":18261,"count":1}],"isBlockCoverage":true},{"functionName":"initializeESMLoader","ranges":[{"startOffset":18263,"endOffset":18838,"count":1},{"startOffset":18591,"endOffset":18836,"count":0}],"isBlockCoverage":true},{"functionName":"initializeSourceMapsHandlers","ranges":[{"startOffset":18840,"endOffset":19038,"count":1}],"isBlockCoverage":true},{"functionName":"initializeFrozenIntrinsics","ranges":[{"startOffset":19040,"endOffset":19297,"count":1},{"startOffset":19125,"endOffset":19295,"count":0}],"isBlockCoverage":true},{"functionName":"loadPreloadModules","ranges":[{"startOffset":19299,"endOffset":19647,"count":1},{"startOffset":19493,"endOffset":19645,"count":0}],"isBlockCoverage":true},{"functionName":"markBootstrapComplete","ranges":[{"startOffset":19649,"endOffset":19743,"count":1}],"isBlockCoverage":true}]},{"scriptId":"68","url":"node:internal/vm/module","functions":[{"functionName":"importModuleDynamicallyWrap","ranges":[{"startOffset":11660,"endOffset":12139,"count":2119}],"isBlockCoverage":true},{"functionName":"importModuleDynamicallyWrapper","ranges":[{"startOffset":11765,"endOffset":12095,"count":557},{"startOffset":11856,"endOffset":11916,"count":556},{"startOffset":11916,"endOffset":11953,"count":0},{"startOffset":11955,"endOffset":12094,"count":0}],"isBlockCoverage":true}]},{"scriptId":"70","url":"node:internal/modules/run_main","functions":[{"functionName":"resolveMainPath","ranges":[{"startOffset":256,"endOffset":1415,"count":1},{"startOffset":430,"endOffset":534,"count":0},{"startOffset":827,"endOffset":838,"count":0},{"startOffset":1065,"endOffset":1389,"count":0}],"isBlockCoverage":true},{"functionName":"shouldUseESMLoader","ranges":[{"startOffset":1576,"endOffset":2864,"count":1},{"startOffset":1682,"endOffset":1698,"count":0},{"startOffset":2172,"endOffset":2194,"count":0},{"startOffset":2338,"endOffset":2360,"count":0},{"startOffset":2475,"endOffset":2491,"count":0},{"startOffset":2554,"endOffset":2571,"count":0}],"isBlockCoverage":true},{"functionName":"executeUserEntryPoint","ranges":[{"startOffset":4261,"endOffset":4659,"count":1},{"startOffset":4441,"endOffset":4484,"count":0}],"isBlockCoverage":true}]},{"scriptId":"71","url":"node:internal/dns/utils","functions":[{"functionName":"initializeDns","ranges":[{"startOffset":5443,"endOffset":5829,"count":1},{"startOffset":5586,"endOffset":5696,"count":0},{"startOffset":5744,"endOffset":5828,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5769,"endOffset":5825,"count":0}],"isBlockCoverage":false}]},{"scriptId":"73","url":"node:internal/bootstrap/switches/does_own_process_state","functions":[{"functionName":"wrappedCwd","ranges":[{"startOffset":3330,"endOffset":3433,"count":8379},{"startOffset":3382,"endOffset":3411,"count":1}],"isBlockCoverage":true}]},{"scriptId":"390","url":"node:internal/main/run_main_module","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1182,"count":1}],"isBlockCoverage":false}]},{"scriptId":"391","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/bin/mocha.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4009,"count":1},{"startOffset":1592,"endOffset":1658,"count":0},{"startOffset":2098,"endOffset":2188,"count":0},{"startOffset":2268,"endOffset":3913,"count":0}],"isBlockCoverage":true},{"functionName":"disableTimeouts","ranges":[{"startOffset":831,"endOffset":957,"count":0}],"isBlockCoverage":false},{"functionName":"trimV8Option","ranges":[{"startOffset":1183,"endOffset":1263,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1340,"endOffset":1467,"count":12},{"startOffset":1372,"endOffset":1422,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1537,"endOffset":1564,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1630,"endOffset":1657,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2057,"endOffset":2081,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2454,"endOffset":2467,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2927,"endOffset":3103,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3155,"endOffset":3909,"count":0}],"isBlockCoverage":false}]},{"scriptId":"392","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/options.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7755,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1933,"endOffset":2063,"count":10}],"isBlockCoverage":true},{"functionName":"Object.assign","ranges":[{"startOffset":1989,"endOffset":2054,"count":4},{"startOffset":2039,"endOffset":2042,"count":1},{"startOffset":2043,"endOffset":2052,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2152,"endOffset":2240,"count":33}],"isBlockCoverage":true},{"functionName":"Object.assign","ranges":[{"startOffset":2201,"endOffset":2238,"count":8},{"startOffset":2224,"endOffset":2233,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2621,"endOffset":2665,"count":20}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":2970,"endOffset":4343,"count":3},{"startOffset":3417,"endOffset":3423,"count":2},{"startOffset":3424,"endOffset":3441,"count":1},{"startOffset":4114,"endOffset":4203,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3455,"endOffset":3756,"count":1},{"startOffset":3567,"endOffset":3732,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4070,"endOffset":4085,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":4263,"endOffset":4316,"count":0}],"isBlockCoverage":false},{"functionName":"loadRc","ranges":[{"startOffset":4727,"endOffset":4873,"count":1},{"startOffset":4841,"endOffset":4861,"count":0}],"isBlockCoverage":true},{"functionName":"loadPkgRc","ranges":[{"startOffset":5309,"endOffset":6046,"count":1},{"startOffset":5370,"endOffset":5394,"count":0},{"startOffset":5695,"endOffset":5760,"count":0},{"startOffset":5767,"endOffset":6023,"count":0}],"isBlockCoverage":true},{"functionName":"loadOptions","ranges":[{"startOffset":6763,"endOffset":7652,"count":1},{"startOffset":6989,"endOffset":7011,"count":0},{"startOffset":7413,"endOffset":7418,"count":0},{"startOffset":7434,"endOffset":7439,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6933,"endOffset":6965,"count":6}],"isBlockCoverage":true}]},{"scriptId":"393","url":"node:internal/fs/streams","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":14758,"count":1}],"isBlockCoverage":false},{"functionName":"_construct","ranges":[{"startOffset":1063,"endOffset":1966,"count":0}],"isBlockCoverage":false},{"functionName":"FileHandleOperations","ranges":[{"startOffset":2059,"endOffset":3058,"count":0}],"isBlockCoverage":false},{"functionName":"close","ranges":[{"startOffset":3061,"endOffset":3238,"count":0}],"isBlockCoverage":false},{"functionName":"importFd","ranges":[{"startOffset":3240,"endOffset":4237,"count":0}],"isBlockCoverage":false},{"functionName":"ReadStream","ranges":[{"startOffset":4239,"endOffset":5982,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6171,"endOffset":6226,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":6230,"endOffset":6287,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6323,"endOffset":6348,"count":0}],"isBlockCoverage":false},{"functionName":"ReadStream._read","ranges":[{"startOffset":6524,"endOffset":7655,"count":0}],"isBlockCoverage":false},{"functionName":"ReadStream._destroy","ranges":[{"startOffset":7690,"endOffset":8251,"count":0}],"isBlockCoverage":false},{"functionName":"ReadStream.close","ranges":[{"startOffset":8283,"endOffset":8369,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":8449,"endOffset":8483,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream","ranges":[{"startOffset":8512,"endOffset":10303,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":10495,"endOffset":10550,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":10554,"endOffset":10611,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10648,"endOffset":10673,"count":0}],"isBlockCoverage":false},{"functionName":"writeAll","ranges":[{"startOffset":10824,"endOffset":11617,"count":0}],"isBlockCoverage":false},{"functionName":"writevAll","ranges":[{"startOffset":11619,"endOffset":12436,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream._write","ranges":[{"startOffset":12469,"endOffset":12853,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream._writev","ranges":[{"startOffset":12888,"endOffset":13450,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream._destroy","ranges":[{"startOffset":13486,"endOffset":14047,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream.close","ranges":[{"startOffset":14080,"endOffset":14462,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":14644,"endOffset":14678,"count":0}],"isBlockCoverage":false}]},{"scriptId":"394","url":"node:internal/streams/destroy","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6743,"count":1}],"isBlockCoverage":false},{"functionName":"checkError","ranges":[{"startOffset":360,"endOffset":671,"count":0}],"isBlockCoverage":false},{"functionName":"destroy","ranges":[{"startOffset":781,"endOffset":1568,"count":0}],"isBlockCoverage":false},{"functionName":"_destroy","ranges":[{"startOffset":1570,"endOffset":2184,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorCloseNT","ranges":[{"startOffset":2186,"endOffset":2273,"count":0}],"isBlockCoverage":false},{"functionName":"emitCloseNT","ranges":[{"startOffset":2275,"endOffset":2523,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorNT","ranges":[{"startOffset":2525,"endOffset":2800,"count":0}],"isBlockCoverage":false},{"functionName":"undestroy","ranges":[{"startOffset":2802,"endOffset":3492,"count":2}],"isBlockCoverage":true},{"functionName":"errorOrDestroy","ranges":[{"startOffset":3494,"endOffset":4413,"count":0}],"isBlockCoverage":false},{"functionName":"construct","ranges":[{"startOffset":4415,"endOffset":4821,"count":4},{"startOffset":4512,"endOffset":4820,"count":0}],"isBlockCoverage":true},{"functionName":"constructNT","ranges":[{"startOffset":4823,"endOffset":5552,"count":0}],"isBlockCoverage":false},{"functionName":"isRequest","ranges":[{"startOffset":5554,"endOffset":5650,"count":0}],"isBlockCoverage":false},{"functionName":"emitCloseLegacy","ranges":[{"startOffset":5652,"endOffset":5712,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorCloseLegacy","ranges":[{"startOffset":5714,"endOffset":5834,"count":0}],"isBlockCoverage":false},{"functionName":"destroyer","ranges":[{"startOffset":5869,"endOffset":6651,"count":0}],"isBlockCoverage":false}]},{"scriptId":"395","url":"node:internal/streams/utils","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8416,"count":1}],"isBlockCoverage":false},{"functionName":"isReadableNodeStream","ranges":[{"startOffset":774,"endOffset":1191,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableNodeStream","ranges":[{"startOffset":1193,"endOffset":1413,"count":0}],"isBlockCoverage":false},{"functionName":"isDuplexNodeStream","ranges":[{"startOffset":1415,"endOffset":1614,"count":0}],"isBlockCoverage":false},{"functionName":"isNodeStream","ranges":[{"startOffset":1616,"endOffset":1887,"count":0}],"isBlockCoverage":false},{"functionName":"isReadableStream","ranges":[{"startOffset":1889,"endOffset":2103,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableStream","ranges":[{"startOffset":2105,"endOffset":2273,"count":0}],"isBlockCoverage":false},{"functionName":"isTransformStream","ranges":[{"startOffset":2275,"endOffset":2442,"count":0}],"isBlockCoverage":false},{"functionName":"isWebStream","ranges":[{"startOffset":2444,"endOffset":2556,"count":0}],"isBlockCoverage":false},{"functionName":"isIterable","ranges":[{"startOffset":2558,"endOffset":2888,"count":0}],"isBlockCoverage":false},{"functionName":"isDestroyed","ranges":[{"startOffset":2890,"endOffset":3153,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableEnded","ranges":[{"startOffset":3177,"endOffset":3468,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableFinished","ranges":[{"startOffset":3496,"endOffset":3893,"count":0}],"isBlockCoverage":false},{"functionName":"isReadableEnded","ranges":[{"startOffset":3922,"endOffset":4223,"count":0}],"isBlockCoverage":false},{"functionName":"isReadableFinished","ranges":[{"startOffset":4248,"endOffset":4596,"count":0}],"isBlockCoverage":false},{"functionName":"isReadable","ranges":[{"startOffset":4598,"endOffset":4898,"count":0}],"isBlockCoverage":false},{"functionName":"isWritable","ranges":[{"startOffset":4900,"endOffset":5197,"count":0}],"isBlockCoverage":false},{"functionName":"isFinished","ranges":[{"startOffset":5199,"endOffset":5513,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableErrored","ranges":[{"startOffset":5515,"endOffset":5727,"count":0}],"isBlockCoverage":false},{"functionName":"isReadableErrored","ranges":[{"startOffset":5729,"endOffset":5941,"count":0}],"isBlockCoverage":false},{"functionName":"isClosed","ranges":[{"startOffset":5943,"endOffset":6448,"count":0}],"isBlockCoverage":false},{"functionName":"isOutgoingMessage","ranges":[{"startOffset":6450,"endOffset":6702,"count":0}],"isBlockCoverage":false},{"functionName":"isServerResponse","ranges":[{"startOffset":6704,"endOffset":6831,"count":0}],"isBlockCoverage":false},{"functionName":"isServerRequest","ranges":[{"startOffset":6833,"endOffset":7021,"count":0}],"isBlockCoverage":false},{"functionName":"willEmitClose","ranges":[{"startOffset":7023,"endOffset":7361,"count":0}],"isBlockCoverage":false},{"functionName":"isDisturbed","ranges":[{"startOffset":7363,"endOffset":7508,"count":0}],"isBlockCoverage":false},{"functionName":"isErrored","ranges":[{"startOffset":7510,"endOffset":7815,"count":0}],"isBlockCoverage":false}]},{"scriptId":"396","url":"node:internal/fs/promises","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":28510,"count":1}],"isBlockCoverage":false},{"functionName":"lazyLoadCpPromises","ranges":[{"startOffset":2814,"endOffset":2906,"count":0}],"isBlockCoverage":false},{"functionName":"lazyFsStreams","ranges":[{"startOffset":2968,"endOffset":3051,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3053,"endOffset":9116,"count":0}],"isBlockCoverage":false},{"functionName":"handleFdClose","ranges":[{"startOffset":9118,"endOffset":9489,"count":0}],"isBlockCoverage":false},{"functionName":"fsCall","ranges":[{"startOffset":9491,"endOffset":9951,"count":0}],"isBlockCoverage":false},{"functionName":"checkAborted","ranges":[{"startOffset":9953,"endOffset":10073,"count":0}],"isBlockCoverage":false},{"functionName":"writeFileHandle","ranges":[{"startOffset":10075,"endOffset":11217,"count":0}],"isBlockCoverage":false},{"functionName":"readFileHandle","ranges":[{"startOffset":11219,"endOffset":13358,"count":0}],"isBlockCoverage":false},{"functionName":"access","ranges":[{"startOffset":13511,"endOffset":13732,"count":0}],"isBlockCoverage":false},{"functionName":"cp","ranges":[{"startOffset":13734,"endOffset":14003,"count":0}],"isBlockCoverage":false},{"functionName":"copyFile","ranges":[{"startOffset":14005,"endOffset":14363,"count":0}],"isBlockCoverage":false},{"functionName":"open","ranges":[{"startOffset":14483,"endOffset":14808,"count":0}],"isBlockCoverage":false},{"functionName":"read","ranges":[{"startOffset":14810,"endOffset":16032,"count":0}],"isBlockCoverage":false},{"functionName":"readv","ranges":[{"startOffset":16034,"endOffset":16354,"count":0}],"isBlockCoverage":false},{"functionName":"write","ranges":[{"startOffset":16356,"endOffset":17563,"count":0}],"isBlockCoverage":false},{"functionName":"writev","ranges":[{"startOffset":17565,"endOffset":17973,"count":0}],"isBlockCoverage":false},{"functionName":"rename","ranges":[{"startOffset":17975,"endOffset":18281,"count":0}],"isBlockCoverage":false},{"functionName":"truncate","ranges":[{"startOffset":18283,"endOffset":18416,"count":0}],"isBlockCoverage":false},{"functionName":"ftruncate","ranges":[{"startOffset":18418,"endOffset":18577,"count":0}],"isBlockCoverage":false},{"functionName":"rm","ranges":[{"startOffset":18579,"endOffset":18783,"count":0}],"isBlockCoverage":false},{"functionName":"rmdir","ranges":[{"startOffset":18785,"endOffset":19156,"count":0}],"isBlockCoverage":false},{"functionName":"fdatasync","ranges":[{"startOffset":19158,"endOffset":19247,"count":0}],"isBlockCoverage":false},{"functionName":"fsync","ranges":[{"startOffset":19249,"endOffset":19330,"count":0}],"isBlockCoverage":false},{"functionName":"mkdir","ranges":[{"startOffset":19332,"endOffset":19809,"count":0}],"isBlockCoverage":false},{"functionName":"readdirRecursive","ranges":[{"startOffset":19811,"endOffset":21485,"count":0}],"isBlockCoverage":false},{"functionName":"readdir","ranges":[{"startOffset":21487,"endOffset":21914,"count":0}],"isBlockCoverage":false},{"functionName":"readlink","ranges":[{"startOffset":21916,"endOffset":22155,"count":0}],"isBlockCoverage":false},{"functionName":"symlink","ranges":[{"startOffset":22157,"endOffset":22570,"count":0}],"isBlockCoverage":false},{"functionName":"fstat","ranges":[{"startOffset":22572,"endOffset":22750,"count":0}],"isBlockCoverage":false},{"functionName":"lstat","ranges":[{"startOffset":22752,"endOffset":23022,"count":0}],"isBlockCoverage":false},{"functionName":"stat","ranges":[{"startOffset":23024,"endOffset":23291,"count":0}],"isBlockCoverage":false},{"functionName":"statfs","ranges":[{"startOffset":23293,"endOffset":23567,"count":0}],"isBlockCoverage":false},{"functionName":"link","ranges":[{"startOffset":23569,"endOffset":23892,"count":0}],"isBlockCoverage":false},{"functionName":"unlink","ranges":[{"startOffset":23894,"endOffset":24032,"count":0}],"isBlockCoverage":false},{"functionName":"fchmod","ranges":[{"startOffset":24034,"endOffset":24167,"count":0}],"isBlockCoverage":false},{"functionName":"chmod","ranges":[{"startOffset":24169,"endOffset":24355,"count":0}],"isBlockCoverage":false},{"functionName":"lchmod","ranges":[{"startOffset":24357,"endOffset":24585,"count":0}],"isBlockCoverage":false},{"functionName":"lchown","ranges":[{"startOffset":24587,"endOffset":24863,"count":0}],"isBlockCoverage":false},{"functionName":"fchown","ranges":[{"startOffset":24865,"endOffset":25062,"count":0}],"isBlockCoverage":false},{"functionName":"chown","ranges":[{"startOffset":25064,"endOffset":25337,"count":0}],"isBlockCoverage":false},{"functionName":"utimes","ranges":[{"startOffset":25339,"endOffset":25611,"count":0}],"isBlockCoverage":false},{"functionName":"futimes","ranges":[{"startOffset":25613,"endOffset":25812,"count":0}],"isBlockCoverage":false},{"functionName":"lutimes","ranges":[{"startOffset":25814,"endOffset":26091,"count":0}],"isBlockCoverage":false},{"functionName":"realpath","ranges":[{"startOffset":26093,"endOffset":26266,"count":0}],"isBlockCoverage":false},{"functionName":"mkdtemp","ranges":[{"startOffset":26268,"endOffset":26647,"count":0}],"isBlockCoverage":false},{"functionName":"writeFile","ranges":[{"startOffset":26649,"endOffset":27333,"count":0}],"isBlockCoverage":false},{"functionName":"isCustomIterable","ranges":[{"startOffset":27335,"endOffset":27449,"count":0}],"isBlockCoverage":false},{"functionName":"appendFile","ranges":[{"startOffset":27451,"endOffset":27692,"count":0}],"isBlockCoverage":false},{"functionName":"readFile","ranges":[{"startOffset":27694,"endOffset":28038,"count":0}],"isBlockCoverage":false}]},{"scriptId":"397","url":"node:internal/fs/rimraf","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7454,"count":1}],"isBlockCoverage":false},{"functionName":"rimraf","ranges":[{"startOffset":1175,"endOffset":1635,"count":0}],"isBlockCoverage":false},{"functionName":"_rimraf","ranges":[{"startOffset":1638,"endOffset":2496,"count":0}],"isBlockCoverage":false},{"functionName":"fixWinEPERM","ranges":[{"startOffset":2499,"endOffset":2934,"count":0}],"isBlockCoverage":false},{"functionName":"_rmdir","ranges":[{"startOffset":2937,"endOffset":3235,"count":0}],"isBlockCoverage":false},{"functionName":"_rmchildren","ranges":[{"startOffset":3238,"endOffset":3925,"count":0}],"isBlockCoverage":false},{"functionName":"rimrafPromises","ranges":[{"startOffset":3928,"endOffset":4126,"count":0}],"isBlockCoverage":false},{"functionName":"rimrafSync","ranges":[{"startOffset":4129,"endOffset":4812,"count":0}],"isBlockCoverage":false},{"functionName":"_unlinkSync","ranges":[{"startOffset":4815,"endOffset":5444,"count":0}],"isBlockCoverage":false},{"functionName":"_rmdirSync","ranges":[{"startOffset":5447,"endOffset":6944,"count":0}],"isBlockCoverage":false},{"functionName":"fixWinEPERMSync","ranges":[{"startOffset":6947,"endOffset":7394,"count":0}],"isBlockCoverage":false}]},{"scriptId":"398","url":"node:internal/fs/dir","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8203,"count":1}],"isBlockCoverage":false},{"functionName":"Dir","ranges":[{"startOffset":1177,"endOffset":1993,"count":0}],"isBlockCoverage":false},{"functionName":"get path","ranges":[{"startOffset":1997,"endOffset":2040,"count":0}],"isBlockCoverage":false},{"functionName":"read","ranges":[{"startOffset":2044,"endOffset":2111,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2115,"endOffset":3841,"count":0}],"isBlockCoverage":false},{"functionName":"processReadResult","ranges":[{"startOffset":3845,"endOffset":4160,"count":0}],"isBlockCoverage":false},{"functionName":"readSyncRecursive","ranges":[{"startOffset":4164,"endOffset":4704,"count":0}],"isBlockCoverage":false},{"functionName":"readSync","ranges":[{"startOffset":4708,"endOffset":5684,"count":0}],"isBlockCoverage":false},{"functionName":"close","ranges":[{"startOffset":5688,"endOffset":6377,"count":0}],"isBlockCoverage":false},{"functionName":"closeSync","ranges":[{"startOffset":6381,"endOffset":6758,"count":0}],"isBlockCoverage":false},{"functionName":"entries","ranges":[{"startOffset":6762,"endOffset":7025,"count":0}],"isBlockCoverage":false},{"functionName":"opendir","ranges":[{"startOffset":7205,"endOffset":7785,"count":0}],"isBlockCoverage":false},{"functionName":"opendirSync","ranges":[{"startOffset":7787,"endOffset":8146,"count":0}],"isBlockCoverage":false}]},{"scriptId":"399","url":"node:string_decoder","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5213,"count":1}],"isBlockCoverage":false},{"functionName":"normalizeEncoding","ranges":[{"startOffset":2129,"endOffset":2391,"count":0}],"isBlockCoverage":false},{"functionName":"StringDecoder","ranges":[{"startOffset":2705,"endOffset":2904,"count":0}],"isBlockCoverage":false},{"functionName":"write","ranges":[{"startOffset":3227,"endOffset":3612,"count":0}],"isBlockCoverage":false},{"functionName":"end","ranges":[{"startOffset":3889,"endOffset":4080,"count":0}],"isBlockCoverage":false},{"functionName":"text","ranges":[{"startOffset":4291,"endOffset":4448,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4586,"endOffset":4799,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4891,"endOffset":4954,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5047,"endOffset":5162,"count":0}],"isBlockCoverage":false}]},{"scriptId":"400","url":"node:internal/fs/watchers","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":11242,"count":1}],"isBlockCoverage":false},{"functionName":"emitStop","ranges":[{"startOffset":1420,"endOffset":1468,"count":0}],"isBlockCoverage":false},{"functionName":"StatWatcher","ranges":[{"startOffset":1470,"endOffset":1700,"count":0}],"isBlockCoverage":false},{"functionName":"onchange","ranges":[{"startOffset":1820,"endOffset":2177,"count":0}],"isBlockCoverage":false},{"functionName":"StatWatcher.","ranges":[{"startOffset":2565,"endOffset":3399,"count":0}],"isBlockCoverage":false},{"functionName":"StatWatcher.start","ranges":[{"startOffset":3620,"endOffset":3628,"count":0}],"isBlockCoverage":false},{"functionName":"StatWatcher.stop","ranges":[{"startOffset":3874,"endOffset":4155,"count":0}],"isBlockCoverage":false},{"functionName":"StatWatcher.","ranges":[{"startOffset":4244,"endOffset":4671,"count":0}],"isBlockCoverage":false},{"functionName":"StatWatcher.ref","ranges":[{"startOffset":4702,"endOffset":4984,"count":0}],"isBlockCoverage":false},{"functionName":"StatWatcher.unref","ranges":[{"startOffset":5017,"endOffset":5267,"count":0}],"isBlockCoverage":false},{"functionName":"FSWatcher","ranges":[{"startOffset":5271,"endOffset":6239,"count":0}],"isBlockCoverage":false},{"functionName":"FSWatcher.","ranges":[{"startOffset":6776,"endOffset":7686,"count":0}],"isBlockCoverage":false},{"functionName":"FSWatcher.start","ranges":[{"startOffset":7903,"endOffset":7911,"count":0}],"isBlockCoverage":false},{"functionName":"FSWatcher.close","ranges":[{"startOffset":8034,"endOffset":8371,"count":0}],"isBlockCoverage":false},{"functionName":"FSWatcher.ref","ranges":[{"startOffset":8400,"endOffset":8469,"count":0}],"isBlockCoverage":false},{"functionName":"FSWatcher.unref","ranges":[{"startOffset":8500,"endOffset":8571,"count":0}],"isBlockCoverage":false},{"functionName":"emitCloseNT","ranges":[{"startOffset":8574,"endOffset":8626,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":8850,"endOffset":8886,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":8890,"endOffset":8931,"count":0}],"isBlockCoverage":false},{"functionName":"watch","ranges":[{"startOffset":8967,"endOffset":11110,"count":0}],"isBlockCoverage":false}]},{"scriptId":"401","url":"node:internal/readline/interface","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":39788,"count":1}],"isBlockCoverage":false},{"functionName":"InterfaceConstructor","ranges":[{"startOffset":3779,"endOffset":9423,"count":0}],"isBlockCoverage":false},{"functionName":"Interface","ranges":[{"startOffset":9664,"endOffset":9764,"count":0}],"isBlockCoverage":false},{"functionName":"get columns","ranges":[{"startOffset":9767,"endOffset":9879,"count":0}],"isBlockCoverage":false},{"functionName":"setPrompt","ranges":[{"startOffset":9988,"endOffset":10039,"count":0}],"isBlockCoverage":false},{"functionName":"getPrompt","ranges":[{"startOffset":10133,"endOffset":10176,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10180,"endOffset":10371,"count":0}],"isBlockCoverage":false},{"functionName":"prompt","ranges":[{"startOffset":10510,"endOffset":10764,"count":0}],"isBlockCoverage":false},{"functionName":"question","ranges":[{"startOffset":10768,"endOffset":11072,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":11076,"endOffset":11318,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":11322,"endOffset":11409,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":11413,"endOffset":11581,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":11585,"endOffset":11782,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":11786,"endOffset":12964,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":12968,"endOffset":13973,"count":0}],"isBlockCoverage":false},{"functionName":"close","ranges":[{"startOffset":14057,"endOffset":14228,"count":0}],"isBlockCoverage":false},{"functionName":"pause","ranges":[{"startOffset":14309,"endOffset":14440,"count":0}],"isBlockCoverage":false},{"functionName":"resume","ranges":[{"startOffset":14532,"endOffset":14668,"count":0}],"isBlockCoverage":false},{"functionName":"write","ranges":[{"startOffset":14939,"endOffset":15098,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":15102,"endOffset":16836,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":16840,"endOffset":17509,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":17513,"endOffset":17912,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":17916,"endOffset":20124,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20128,"endOffset":20589,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20593,"endOffset":20851,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20855,"endOffset":21337,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":21341,"endOffset":21822,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":21826,"endOffset":22586,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":22590,"endOffset":23017,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":23021,"endOffset":23299,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":23303,"endOffset":23561,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":23565,"endOffset":23825,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":23829,"endOffset":23984,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":23988,"endOffset":24663,"count":0}],"isBlockCoverage":false},{"functionName":"clearLine","ranges":[{"startOffset":24667,"endOffset":24816,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":24820,"endOffset":24974,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":24978,"endOffset":25165,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":25169,"endOffset":25477,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":25481,"endOffset":25789,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":26224,"endOffset":26858,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":26862,"endOffset":27570,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":27645,"endOffset":28585,"count":0}],"isBlockCoverage":false},{"functionName":"getCursorPos","ranges":[{"startOffset":28762,"endOffset":28931,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":29050,"endOffset":29607,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":29644,"endOffset":37894,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":38202,"endOffset":39220,"count":0}],"isBlockCoverage":false}]},{"scriptId":"402","url":"node:internal/readline/utils","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12396,"count":1}],"isBlockCoverage":false},{"functionName":"CSI","ranges":[{"startOffset":385,"endOffset":579,"count":4},{"startOffset":544,"endOffset":559,"count":0}],"isBlockCoverage":true},{"functionName":"charLengthLeft","ranges":[{"startOffset":958,"endOffset":1220,"count":0}],"isBlockCoverage":false},{"functionName":"charLengthAt","ranges":[{"startOffset":1222,"endOffset":1484,"count":0}],"isBlockCoverage":false},{"functionName":"emitKeys","ranges":[{"startOffset":2213,"endOffset":11840,"count":0}],"isBlockCoverage":false},{"functionName":"commonPrefix","ranges":[{"startOffset":11870,"endOffset":12283,"count":0}],"isBlockCoverage":false}]},{"scriptId":"403","url":"node:internal/readline/callbacks","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2754,"count":1}],"isBlockCoverage":false},{"functionName":"cursorTo","ranges":[{"startOffset":460,"endOffset":1146,"count":0}],"isBlockCoverage":false},{"functionName":"moveCursor","ranges":[{"startOffset":1210,"endOffset":1722,"count":0}],"isBlockCoverage":false},{"functionName":"clearLine","ranges":[{"startOffset":1869,"endOffset":2272,"count":0}],"isBlockCoverage":false},{"functionName":"clearScreenDown","ranges":[{"startOffset":2349,"endOffset":2672,"count":0}],"isBlockCoverage":false}]},{"scriptId":"404","url":"node:stream","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4784,"count":1}],"isBlockCoverage":false},{"functionName":"fn","ranges":[{"startOffset":2402,"endOffset":2558,"count":0}],"isBlockCoverage":false},{"functionName":"fn","ranges":[{"startOffset":2983,"endOffset":3117,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4105,"endOffset":4137,"count":2}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":4235,"endOffset":4276,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4369,"endOffset":4410,"count":0}],"isBlockCoverage":false},{"functionName":"_uint8ArrayToBuffer","ranges":[{"startOffset":4575,"endOffset":4782,"count":0}],"isBlockCoverage":false}]},{"scriptId":"405","url":"node:internal/streams/operators","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10772,"count":1}],"isBlockCoverage":false},{"functionName":"compose","ranges":[{"startOffset":1019,"endOffset":1599,"count":0}],"isBlockCoverage":false},{"functionName":"map","ranges":[{"startOffset":1601,"endOffset":4704,"count":0}],"isBlockCoverage":false},{"functionName":"asIndexedPairs","ranges":[{"startOffset":4706,"endOffset":5179,"count":0}],"isBlockCoverage":false},{"functionName":"some","ranges":[{"startOffset":5181,"endOffset":5329,"count":0}],"isBlockCoverage":false},{"functionName":"every","ranges":[{"startOffset":5331,"endOffset":5659,"count":0}],"isBlockCoverage":false},{"functionName":"find","ranges":[{"startOffset":5661,"endOffset":5803,"count":0}],"isBlockCoverage":false},{"functionName":"forEach","ranges":[{"startOffset":5805,"endOffset":6175,"count":0}],"isBlockCoverage":false},{"functionName":"filter","ranges":[{"startOffset":6177,"endOffset":6504,"count":0}],"isBlockCoverage":false},{"functionName":"ReduceAwareErrMissingArgs","ranges":[{"startOffset":6720,"endOffset":6834,"count":0}],"isBlockCoverage":false},{"functionName":"reduce","ranges":[{"startOffset":6838,"endOffset":8280,"count":0}],"isBlockCoverage":false},{"functionName":"toArray","ranges":[{"startOffset":8282,"endOffset":8711,"count":0}],"isBlockCoverage":false},{"functionName":"flatMap","ranges":[{"startOffset":8713,"endOffset":8907,"count":0}],"isBlockCoverage":false},{"functionName":"toIntegerOrInfinity","ranges":[{"startOffset":8909,"endOffset":9231,"count":0}],"isBlockCoverage":false},{"functionName":"drop","ranges":[{"startOffset":9233,"endOffset":9781,"count":0}],"isBlockCoverage":false},{"functionName":"take","ranges":[{"startOffset":9783,"endOffset":10453,"count":0}],"isBlockCoverage":false}]},{"scriptId":"406","url":"node:internal/abort_controller","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12781,"count":1}],"isBlockCoverage":false},{"functionName":"lazyMessageChannel","ranges":[{"startOffset":1574,"endOffset":1707,"count":0}],"isBlockCoverage":false},{"functionName":"lazyMakeTransferable","ranges":[{"startOffset":1709,"endOffset":1867,"count":0}],"isBlockCoverage":false},{"functionName":"customInspect","ranges":[{"startOffset":2337,"endOffset":2596,"count":0}],"isBlockCoverage":false},{"functionName":"validateThisAbortSignal","ranges":[{"startOffset":2598,"endOffset":2723,"count":0}],"isBlockCoverage":false},{"functionName":"setWeakAbortSignalTimeout","ranges":[{"startOffset":3305,"endOffset":3705,"count":0}],"isBlockCoverage":false},{"functionName":"AbortSignal","ranges":[{"startOffset":3749,"endOffset":3809,"count":0}],"isBlockCoverage":false},{"functionName":"get aborted","ranges":[{"startOffset":3846,"endOffset":3929,"count":0}],"isBlockCoverage":false},{"functionName":"get reason","ranges":[{"startOffset":3962,"endOffset":4041,"count":0}],"isBlockCoverage":false},{"functionName":"throwIfAborted","ranges":[{"startOffset":4045,"endOffset":4161,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":4165,"endOffset":4294,"count":0}],"isBlockCoverage":false},{"functionName":"abort","ranges":[{"startOffset":4372,"endOffset":4516,"count":0}],"isBlockCoverage":false},{"functionName":"timeout","ranges":[{"startOffset":4594,"endOffset":4856,"count":0}],"isBlockCoverage":false},{"functionName":"any","ranges":[{"startOffset":4943,"endOffset":6278,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6282,"endOffset":7050,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7054,"endOffset":7408,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7412,"endOffset":8019,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8023,"endOffset":8275,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8279,"endOffset":8727,"count":0}],"isBlockCoverage":false},{"functionName":"ClonedAbortSignal","ranges":[{"startOffset":8731,"endOffset":8815,"count":0}],"isBlockCoverage":false},{"functionName":"ClonedAbortSignal.","ranges":[{"startOffset":8860,"endOffset":8869,"count":0}],"isBlockCoverage":false},{"functionName":"createAbortSignal","ranges":[{"startOffset":9347,"endOffset":9760,"count":0}],"isBlockCoverage":false},{"functionName":"abortSignal","ranges":[{"startOffset":9762,"endOffset":10124,"count":0}],"isBlockCoverage":false},{"functionName":"validateAbortController","ranges":[{"startOffset":10301,"endOffset":10429,"count":0}],"isBlockCoverage":false},{"functionName":"AbortController","ranges":[{"startOffset":10457,"endOffset":10517,"count":0}],"isBlockCoverage":false},{"functionName":"get signal","ranges":[{"startOffset":10558,"endOffset":10637,"count":0}],"isBlockCoverage":false},{"functionName":"abort","ranges":[{"startOffset":10680,"endOffset":10837,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10841,"endOffset":10968,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10979,"endOffset":11147,"count":0}],"isBlockCoverage":false},{"functionName":"transferableAbortSignal","ranges":[{"startOffset":11297,"endOffset":11489,"count":0}],"isBlockCoverage":false},{"functionName":"transferableAbortController","ranges":[{"startOffset":11561,"endOffset":11650,"count":0}],"isBlockCoverage":false},{"functionName":"aborted","ranges":[{"startOffset":11744,"endOffset":12332,"count":0}],"isBlockCoverage":false}]},{"scriptId":"407","url":"node:internal/streams/end-of-stream","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8360,"count":1}],"isBlockCoverage":false},{"functionName":"isRequest","ranges":[{"startOffset":891,"endOffset":986,"count":0}],"isBlockCoverage":false},{"functionName":"nop","ranges":[{"startOffset":1000,"endOffset":1008,"count":0}],"isBlockCoverage":false},{"functionName":"eos","ranges":[{"startOffset":1011,"endOffset":6953,"count":0}],"isBlockCoverage":false},{"functionName":"eosWeb","ranges":[{"startOffset":6955,"endOffset":7840,"count":0}],"isBlockCoverage":false},{"functionName":"finished","ranges":[{"startOffset":7842,"endOffset":8300,"count":0}],"isBlockCoverage":false}]},{"scriptId":"408","url":"node:internal/streams/compose","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5451,"count":1}],"isBlockCoverage":false},{"functionName":"compose","ranges":[{"startOffset":543,"endOffset":5449,"count":0}],"isBlockCoverage":false}]},{"scriptId":"409","url":"node:internal/streams/pipeline","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12326,"count":1}],"isBlockCoverage":false},{"functionName":"destroyer","ranges":[{"startOffset":1058,"endOffset":1487,"count":0}],"isBlockCoverage":false},{"functionName":"popCallback","ranges":[{"startOffset":1489,"endOffset":1817,"count":0}],"isBlockCoverage":false},{"functionName":"makeAsyncIterable","ranges":[{"startOffset":1819,"endOffset":2105,"count":0}],"isBlockCoverage":false},{"functionName":"fromReadable","ranges":[{"startOffset":2107,"endOffset":2281,"count":0}],"isBlockCoverage":false},{"functionName":"pumpToNode","ranges":[{"startOffset":2283,"endOffset":3327,"count":0}],"isBlockCoverage":false},{"functionName":"pumpToWeb","ranges":[{"startOffset":3329,"endOffset":3927,"count":0}],"isBlockCoverage":false},{"functionName":"pipeline","ranges":[{"startOffset":3929,"endOffset":4022,"count":0}],"isBlockCoverage":false},{"functionName":"pipelineImpl","ranges":[{"startOffset":4024,"endOffset":10476,"count":0}],"isBlockCoverage":false},{"functionName":"pipe","ranges":[{"startOffset":10478,"endOffset":12279,"count":0}],"isBlockCoverage":false}]},{"scriptId":"410","url":"node:internal/streams/duplex","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4938,"count":1}],"isBlockCoverage":false},{"functionName":"Duplex","ranges":[{"startOffset":1996,"endOffset":2663,"count":2},{"startOffset":2060,"endOffset":2087,"count":0},{"startOffset":2440,"endOffset":2615,"count":0},{"startOffset":2619,"endOffset":2661,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3811,"endOffset":4023,"count":41},{"startOffset":3909,"endOffset":3940,"count":0},{"startOffset":3984,"endOffset":4016,"count":0}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":4029,"endOffset":4290,"count":0}],"isBlockCoverage":false},{"functionName":"lazyWebStreams","ranges":[{"startOffset":4364,"endOffset":4528,"count":0}],"isBlockCoverage":false},{"functionName":"Duplex.fromWeb","ranges":[{"startOffset":4547,"endOffset":4665,"count":0}],"isBlockCoverage":false},{"functionName":"Duplex.toWeb","ranges":[{"startOffset":4683,"endOffset":4772,"count":0}],"isBlockCoverage":false},{"functionName":"Duplex.from","ranges":[{"startOffset":4805,"endOffset":4936,"count":0}],"isBlockCoverage":false}]},{"scriptId":"411","url":"node:internal/streams/readable","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":43613,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1799,"endOffset":1824,"count":0}],"isBlockCoverage":false},{"functionName":"nop","ranges":[{"startOffset":2591,"endOffset":2599,"count":0}],"isBlockCoverage":false},{"functionName":"makeBitMapDescriptor","ranges":[{"startOffset":3280,"endOffset":3496,"count":19}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3355,"endOffset":3397,"count":43}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":3403,"endOffset":3488,"count":20},{"startOffset":3433,"endOffset":3482,"count":10}],"isBlockCoverage":true},{"functionName":"ReadableState","ranges":[{"startOffset":5372,"endOffset":7986,"count":2},{"startOffset":5771,"endOffset":5814,"count":0},{"startOffset":6156,"endOffset":6182,"count":0},{"startOffset":6245,"endOffset":6271,"count":0},{"startOffset":6519,"endOffset":6555,"count":0},{"startOffset":7101,"endOffset":7129,"count":0},{"startOffset":7885,"endOffset":7984,"count":0}],"isBlockCoverage":true},{"functionName":"Readable","ranges":[{"startOffset":7989,"endOffset":8877,"count":2},{"startOffset":8057,"endOffset":8086,"count":0},{"startOffset":8409,"endOffset":8435,"count":0},{"startOffset":8490,"endOffset":8522,"count":0},{"startOffset":8579,"endOffset":8615,"count":0},{"startOffset":8640,"endOffset":8652,"count":0},{"startOffset":8660,"endOffset":8697,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8764,"endOffset":8873,"count":0}],"isBlockCoverage":false},{"functionName":"Readable._destroy","ranges":[{"startOffset":9014,"endOffset":9046,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.","ranges":[{"startOffset":9097,"endOffset":9135,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.","ranges":[{"startOffset":9179,"endOffset":9435,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.push","ranges":[{"startOffset":9664,"endOffset":9750,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.unshift","ranges":[{"startOffset":9846,"endOffset":9931,"count":0}],"isBlockCoverage":false},{"functionName":"readableAddChunk","ranges":[{"startOffset":9934,"endOffset":12336,"count":0}],"isBlockCoverage":false},{"functionName":"addChunk","ranges":[{"startOffset":12338,"endOffset":13103,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.isPaused","ranges":[{"startOffset":13135,"endOffset":13247,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.setEncoding","ranges":[{"startOffset":13311,"endOffset":13872,"count":0}],"isBlockCoverage":false},{"functionName":"computeNewHighWaterMark","ranges":[{"startOffset":13933,"endOffset":14284,"count":0}],"isBlockCoverage":false},{"functionName":"howMuchToRead","ranges":[{"startOffset":14397,"endOffset":14808,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.read","ranges":[{"startOffset":14905,"endOffset":19407,"count":0}],"isBlockCoverage":false},{"functionName":"onEofChunk","ranges":[{"startOffset":19410,"endOffset":20230,"count":0}],"isBlockCoverage":false},{"functionName":"emitReadable","ranges":[{"startOffset":20431,"endOffset":20758,"count":0}],"isBlockCoverage":false},{"functionName":"emitReadable_","ranges":[{"startOffset":20760,"endOffset":21414,"count":0}],"isBlockCoverage":false},{"functionName":"maybeReadMore","ranges":[{"startOffset":21764,"endOffset":21941,"count":0}],"isBlockCoverage":false},{"functionName":"maybeReadMore_","ranges":[{"startOffset":21943,"endOffset":23735,"count":0}],"isBlockCoverage":false},{"functionName":"Readable._read","ranges":[{"startOffset":24006,"endOffset":24072,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.pipe","ranges":[{"startOffset":24101,"endOffset":28546,"count":0}],"isBlockCoverage":false},{"functionName":"pipeOnDrain","ranges":[{"startOffset":28549,"endOffset":29194,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.unpipe","ranges":[{"startOffset":29225,"endOffset":29926,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.on","ranges":[{"startOffset":30052,"endOffset":30959,"count":7},{"startOffset":30184,"endOffset":30516,"count":0},{"startOffset":30545,"endOffset":30942,"count":0}],"isBlockCoverage":true},{"functionName":"Readable.removeListener","ranges":[{"startOffset":31054,"endOffset":31619,"count":4},{"startOffset":31216,"endOffset":31602,"count":0}],"isBlockCoverage":true},{"functionName":"Readable.removeAllListeners","ranges":[{"startOffset":31722,"endOffset":32316,"count":0}],"isBlockCoverage":false},{"functionName":"updateReadableListening","ranges":[{"startOffset":32319,"endOffset":32829,"count":0}],"isBlockCoverage":false},{"functionName":"nReadingNextTick","ranges":[{"startOffset":32831,"endOffset":32919,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.resume","ranges":[{"startOffset":33073,"endOffset":33398,"count":0}],"isBlockCoverage":false},{"functionName":"resume","ranges":[{"startOffset":33401,"endOffset":33551,"count":0}],"isBlockCoverage":false},{"functionName":"resume_","ranges":[{"startOffset":33553,"endOffset":33804,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.pause","ranges":[{"startOffset":33833,"endOffset":34100,"count":0}],"isBlockCoverage":false},{"functionName":"flow","ranges":[{"startOffset":34103,"endOffset":34250,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.wrap","ranges":[{"startOffset":34434,"endOffset":35455,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.","ranges":[{"startOffset":35500,"endOffset":35552,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.iterator","ranges":[{"startOffset":35585,"endOffset":35728,"count":0}],"isBlockCoverage":false},{"functionName":"streamToAsyncIterator","ranges":[{"startOffset":35731,"endOffset":35980,"count":0}],"isBlockCoverage":false},{"functionName":"createAsyncIterator","ranges":[{"startOffset":35982,"endOffset":37058,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":37277,"endOffset":37666,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":37672,"endOffset":37802,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":37884,"endOffset":37948,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38030,"endOffset":38238,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38326,"endOffset":38392,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38473,"endOffset":38555,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38637,"endOffset":38697,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":38708,"endOffset":38817,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38893,"endOffset":38947,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39027,"endOffset":39115,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39193,"endOffset":39278,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39347,"endOffset":39431,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39476,"endOffset":39560,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39631,"endOffset":39718,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":39724,"endOffset":40013,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":40088,"endOffset":40176,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":40317,"endOffset":40362,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":40442,"endOffset":40493,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":40499,"endOffset":40548,"count":0}],"isBlockCoverage":false},{"functionName":"fromList","ranges":[{"startOffset":40854,"endOffset":41416,"count":0}],"isBlockCoverage":false},{"functionName":"endReadable","ranges":[{"startOffset":41418,"endOffset":41639,"count":0}],"isBlockCoverage":false},{"functionName":"endReadableNT","ranges":[{"startOffset":41641,"endOffset":42561,"count":0}],"isBlockCoverage":false},{"functionName":"endWritableNT","ranges":[{"startOffset":42563,"endOffset":42723,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.from","ranges":[{"startOffset":42741,"endOffset":42810,"count":0}],"isBlockCoverage":false},{"functionName":"lazyWebStreams","ranges":[{"startOffset":42875,"endOffset":43039,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.fromWeb","ranges":[{"startOffset":43060,"endOffset":43194,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.toWeb","ranges":[{"startOffset":43214,"endOffset":43348,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.wrap","ranges":[{"startOffset":43367,"endOffset":43611,"count":0}],"isBlockCoverage":false}]},{"scriptId":"412","url":"node:internal/streams/legacy","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2934,"count":1}],"isBlockCoverage":false},{"functionName":"Stream","ranges":[{"startOffset":112,"endOffset":160,"count":4}],"isBlockCoverage":true},{"functionName":"Stream.pipe","ranges":[{"startOffset":274,"endOffset":2076,"count":0}],"isBlockCoverage":false},{"functionName":"prependListener","ranges":[{"startOffset":2079,"endOffset":2886,"count":0}],"isBlockCoverage":false}]},{"scriptId":"413","url":"node:internal/streams/add-abort-signal","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1704,"count":1}],"isBlockCoverage":false},{"functionName":"validateAbortSignal","ranges":[{"startOffset":557,"endOffset":716,"count":0}],"isBlockCoverage":false},{"functionName":"addAbortSignal","ranges":[{"startOffset":751,"endOffset":1062,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports.addAbortSignalNoValidate","ranges":[{"startOffset":1107,"endOffset":1702,"count":0}],"isBlockCoverage":false}]},{"scriptId":"414","url":"node:internal/streams/buffer_list","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4060,"count":1}],"isBlockCoverage":false},{"functionName":"BufferList","ranges":[{"startOffset":254,"endOffset":338,"count":2}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":342,"endOffset":529,"count":0}],"isBlockCoverage":false},{"functionName":"unshift","ranges":[{"startOffset":533,"endOffset":691,"count":0}],"isBlockCoverage":false},{"functionName":"shift","ranges":[{"startOffset":695,"endOffset":922,"count":0}],"isBlockCoverage":false},{"functionName":"clear","ranges":[{"startOffset":926,"endOffset":994,"count":0}],"isBlockCoverage":false},{"functionName":"join","ranges":[{"startOffset":998,"endOffset":1180,"count":0}],"isBlockCoverage":false},{"functionName":"concat","ranges":[{"startOffset":1184,"endOffset":1467,"count":0}],"isBlockCoverage":false},{"functionName":"consume","ranges":[{"startOffset":1551,"endOffset":2005,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":2009,"endOffset":2049,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports","ranges":[{"startOffset":2053,"endOffset":2149,"count":0}],"isBlockCoverage":false},{"functionName":"_getString","ranges":[{"startOffset":2224,"endOffset":2862,"count":0}],"isBlockCoverage":false},{"functionName":"_getBuffer","ranges":[{"startOffset":2932,"endOffset":3779,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports","ranges":[{"startOffset":3860,"endOffset":4056,"count":0}],"isBlockCoverage":false}]},{"scriptId":"415","url":"node:internal/streams/state","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1332,"count":1}],"isBlockCoverage":false},{"functionName":"highWaterMarkFrom","ranges":[{"startOffset":287,"endOffset":454,"count":4},{"startOffset":385,"endOffset":408,"count":0},{"startOffset":445,"endOffset":451,"count":0}],"isBlockCoverage":true},{"functionName":"getDefaultHighWaterMark","ranges":[{"startOffset":456,"endOffset":586,"count":4},{"startOffset":523,"endOffset":555,"count":0}],"isBlockCoverage":true},{"functionName":"setDefaultHighWaterMark","ranges":[{"startOffset":588,"endOffset":799,"count":0}],"isBlockCoverage":false},{"functionName":"getHighWaterMark","ranges":[{"startOffset":801,"endOffset":1234,"count":4},{"startOffset":948,"endOffset":1160,"count":0}],"isBlockCoverage":true}]},{"scriptId":"416","url":"node:internal/streams/from","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2614,"count":1}],"isBlockCoverage":false},{"functionName":"from","ranges":[{"startOffset":241,"endOffset":2589,"count":0}],"isBlockCoverage":false}]},{"scriptId":"417","url":"node:internal/streams/writable","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":26009,"count":1}],"isBlockCoverage":false},{"functionName":"nop","ranges":[{"startOffset":2389,"endOffset":2406,"count":230}],"isBlockCoverage":true},{"functionName":"WritableState","ranges":[{"startOffset":2452,"endOffset":6975,"count":2},{"startOffset":2847,"endOffset":2890,"count":0},{"startOffset":3441,"endOffset":3477,"count":0}],"isBlockCoverage":true},{"functionName":"resetBuffer","ranges":[{"startOffset":6977,"endOffset":7109,"count":2}],"isBlockCoverage":true},{"functionName":"getBuffer","ranges":[{"startOffset":7147,"endOffset":7236,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7332,"endOffset":7397,"count":0}],"isBlockCoverage":false},{"functionName":"Writable","ranges":[{"startOffset":7404,"endOffset":8932,"count":2},{"startOffset":8045,"endOffset":8099,"count":0},{"startOffset":8105,"endOffset":8134,"count":0},{"startOffset":8273,"endOffset":8301,"count":0},{"startOffset":8355,"endOffset":8385,"count":0},{"startOffset":8440,"endOffset":8472,"count":0},{"startOffset":8525,"endOffset":8553,"count":0},{"startOffset":8610,"endOffset":8646,"count":0},{"startOffset":8678,"endOffset":8715,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8782,"endOffset":8928,"count":0}],"isBlockCoverage":false},{"functionName":"value","ranges":[{"startOffset":9014,"endOffset":9218,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.pipe","ranges":[{"startOffset":9319,"endOffset":9387,"count":0}],"isBlockCoverage":false},{"functionName":"_write","ranges":[{"startOffset":9390,"endOffset":10734,"count":234},{"startOffset":9515,"endOffset":9577,"count":4},{"startOffset":9577,"endOffset":9813,"count":230},{"startOffset":9643,"endOffset":9759,"count":0},{"startOffset":9837,"endOffset":9882,"count":0},{"startOffset":9991,"endOffset":10075,"count":0},{"startOffset":10081,"endOffset":10384,"count":0},{"startOffset":10421,"endOffset":10470,"count":0},{"startOffset":10497,"endOffset":10547,"count":0},{"startOffset":10560,"endOffset":10651,"count":0}],"isBlockCoverage":true},{"functionName":"Writable.write","ranges":[{"startOffset":10763,"endOffset":10849,"count":234}],"isBlockCoverage":true},{"functionName":"Writable.cork","ranges":[{"startOffset":10878,"endOffset":10924,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.uncork","ranges":[{"startOffset":10955,"endOffset":11110,"count":0}],"isBlockCoverage":false},{"functionName":"setDefaultEncoding","ranges":[{"startOffset":11153,"endOffset":11478,"count":0}],"isBlockCoverage":false},{"functionName":"writeOrBuffer","ranges":[{"startOffset":11668,"endOffset":12681,"count":234},{"startOffset":11766,"endOffset":11769,"count":0},{"startOffset":11988,"endOffset":12011,"count":0},{"startOffset":12089,"endOffset":12321,"count":0}],"isBlockCoverage":true},{"functionName":"doWrite","ranges":[{"startOffset":12683,"endOffset":13061,"count":0}],"isBlockCoverage":false},{"functionName":"onwriteError","ranges":[{"startOffset":13063,"endOffset":13448,"count":0}],"isBlockCoverage":false},{"functionName":"onwrite","ranges":[{"startOffset":13450,"endOffset":15089,"count":234},{"startOffset":13608,"endOffset":13682,"count":0},{"startOffset":13800,"endOffset":14356,"count":0},{"startOffset":14417,"endOffset":14458,"count":0},{"startOffset":14773,"endOffset":14820,"count":194},{"startOffset":14822,"endOffset":14873,"count":193},{"startOffset":14873,"endOffset":15024,"count":41},{"startOffset":15030,"endOffset":15083,"count":0}],"isBlockCoverage":true},{"functionName":"afterWriteTick","ranges":[{"startOffset":15091,"endOffset":15230,"count":41}],"isBlockCoverage":true},{"functionName":"afterWrite","ranges":[{"startOffset":15232,"endOffset":15607,"count":41},{"startOffset":15398,"endOffset":15458,"count":0},{"startOffset":15482,"endOffset":15520,"count":234},{"startOffset":15545,"endOffset":15574,"count":0}],"isBlockCoverage":true},{"functionName":"errorBuffer","ranges":[{"startOffset":15679,"endOffset":16236,"count":0}],"isBlockCoverage":false},{"functionName":"clearBuffer","ranges":[{"startOffset":16302,"endOffset":17796,"count":0}],"isBlockCoverage":false},{"functionName":"Writable._write","ranges":[{"startOffset":17826,"endOffset":17995,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.end","ranges":[{"startOffset":18059,"endOffset":19395,"count":0}],"isBlockCoverage":false},{"functionName":"needFinish","ranges":[{"startOffset":19398,"endOffset":19738,"count":41},{"startOffset":19450,"endOffset":19479,"count":0},{"startOffset":19480,"endOffset":19510,"count":0},{"startOffset":19511,"endOffset":19542,"count":0},{"startOffset":19543,"endOffset":19570,"count":0},{"startOffset":19571,"endOffset":19611,"count":0},{"startOffset":19612,"endOffset":19640,"count":0},{"startOffset":19641,"endOffset":19668,"count":0},{"startOffset":19669,"endOffset":19701,"count":0},{"startOffset":19702,"endOffset":19734,"count":0}],"isBlockCoverage":true},{"functionName":"callFinal","ranges":[{"startOffset":19740,"endOffset":20686,"count":0}],"isBlockCoverage":false},{"functionName":"prefinish","ranges":[{"startOffset":20688,"endOffset":20993,"count":0}],"isBlockCoverage":false},{"functionName":"finishMaybe","ranges":[{"startOffset":20995,"endOffset":21494,"count":41},{"startOffset":21064,"endOffset":21492,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21199,"endOffset":21361,"count":0}],"isBlockCoverage":false},{"functionName":"finish","ranges":[{"startOffset":21496,"endOffset":22222,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":22307,"endOffset":22391,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":22439,"endOffset":22526,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":22532,"endOffset":22714,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":22761,"endOffset":23153,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":23159,"endOffset":23293,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23348,"endOffset":23434,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23491,"endOffset":23579,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23632,"endOffset":23714,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23766,"endOffset":23850,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23906,"endOffset":24064,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24124,"endOffset":24208,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24261,"endOffset":24341,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24394,"endOffset":24471,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24540,"endOffset":24624,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24706,"endOffset":24912,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.destroy","ranges":[{"startOffset":24990,"endOffset":25287,"count":0}],"isBlockCoverage":false},{"functionName":"Writable._destroy","ranges":[{"startOffset":25375,"endOffset":25407,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.","ranges":[{"startOffset":25458,"endOffset":25496,"count":0}],"isBlockCoverage":false},{"functionName":"lazyWebStreams","ranges":[{"startOffset":25561,"endOffset":25725,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.fromWeb","ranges":[{"startOffset":25746,"endOffset":25880,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.toWeb","ranges":[{"startOffset":25900,"endOffset":26007,"count":0}],"isBlockCoverage":false}]},{"scriptId":"418","url":"node:stream/promises","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":917,"count":1}],"isBlockCoverage":false},{"functionName":"pipeline","ranges":[{"startOffset":318,"endOffset":869,"count":0}],"isBlockCoverage":false}]},{"scriptId":"419","url":"node:internal/streams/transform","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7176,"count":1}],"isBlockCoverage":false},{"functionName":"Transform","ranges":[{"startOffset":3920,"endOffset":5747,"count":0}],"isBlockCoverage":true},{"functionName":"final","ranges":[{"startOffset":5749,"endOffset":6193,"count":0}],"isBlockCoverage":false},{"functionName":"prefinish","ranges":[{"startOffset":6195,"endOffset":6276,"count":0}],"isBlockCoverage":false},{"functionName":"Transform._transform","ranges":[{"startOffset":6348,"endOffset":6443,"count":0}],"isBlockCoverage":false},{"functionName":"Transform._write","ranges":[{"startOffset":6475,"endOffset":7018,"count":0}],"isBlockCoverage":false},{"functionName":"Transform._read","ranges":[{"startOffset":7049,"endOffset":7174,"count":0}],"isBlockCoverage":false}]},{"scriptId":"420","url":"node:internal/streams/passthrough","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1762,"count":1}],"isBlockCoverage":false},{"functionName":"PassThrough","ranges":[{"startOffset":1529,"endOffset":1671,"count":0}],"isBlockCoverage":false},{"functionName":"PassThrough._transform","ranges":[{"startOffset":1708,"endOffset":1760,"count":0}],"isBlockCoverage":false}]},{"scriptId":"421","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/ansi-colors/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5905,"count":1}],"isBlockCoverage":true},{"functionName":"isObject","ranges":[{"startOffset":32,"endOffset":101,"count":0}],"isBlockCoverage":false},{"functionName":"hasColor","ranges":[{"startOffset":382,"endOffset":495,"count":1},{"startOffset":477,"endOffset":494,"count":0}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":513,"endOffset":5843,"count":1}],"isBlockCoverage":true},{"functionName":"ansi","ranges":[{"startOffset":634,"endOffset":1300,"count":42}],"isBlockCoverage":true},{"functionName":"style.wrap","ranges":[{"startOffset":857,"endOffset":1277,"count":3},{"startOffset":912,"endOffset":955,"count":0},{"startOffset":1214,"endOffset":1261,"count":0}],"isBlockCoverage":true},{"functionName":"wrap","ranges":[{"startOffset":1318,"endOffset":1434,"count":3},{"startOffset":1386,"endOffset":1400,"count":0}],"isBlockCoverage":true},{"functionName":"style","ranges":[{"startOffset":1453,"endOffset":1899,"count":3},{"startOffset":1512,"endOffset":1522,"count":0},{"startOffset":1557,"endOffset":1570,"count":0},{"startOffset":1605,"endOffset":1615,"count":0},{"startOffset":1745,"endOffset":1813,"count":0}],"isBlockCoverage":true},{"functionName":"define","ranges":[{"startOffset":1919,"endOffset":2460,"count":42},{"startOffset":2026,"endOffset":2053,"count":5}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":2176,"endOffset":2231,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2239,"endOffset":2448,"count":3},{"startOffset":2383,"endOffset":2408,"count":0}],"isBlockCoverage":true},{"functionName":"color","ranges":[{"startOffset":2267,"endOffset":2301,"count":3}],"isBlockCoverage":true},{"functionName":"colors.hasColor.colors.hasAnsi","ranges":[{"startOffset":4300,"endOffset":4428,"count":0}],"isBlockCoverage":false},{"functionName":"colors.alias","ranges":[{"startOffset":4448,"endOffset":5212,"count":2},{"startOffset":4506,"endOffset":4521,"count":0},{"startOffset":4566,"endOffset":4677,"count":0}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":4922,"endOffset":4977,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4985,"endOffset":5200,"count":2},{"startOffset":5129,"endOffset":5158,"count":0}],"isBlockCoverage":true},{"functionName":"color","ranges":[{"startOffset":5013,"endOffset":5047,"count":0}],"isBlockCoverage":false},{"functionName":"colors.theme","ranges":[{"startOffset":5232,"endOffset":5438,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5467,"endOffset":5635,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5662,"endOffset":5672,"count":0}],"isBlockCoverage":false}]},{"scriptId":"422","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/ansi-colors/symbols.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1618,"count":1},{"startOffset":1197,"endOffset":1202,"count":0},{"startOffset":1234,"endOffset":1239,"count":0},{"startOffset":1322,"endOffset":1333,"count":0},{"startOffset":1335,"endOffset":1344,"count":0}],"isBlockCoverage":true}]},{"scriptId":"423","url":"node:internal/process/esm_loader","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1190,"count":1}],"isBlockCoverage":false},{"functionName":"get esmLoader","ranges":[{"startOffset":386,"endOffset":458,"count":561}],"isBlockCoverage":true},{"functionName":"loadESM","ranges":[{"startOffset":462,"endOffset":1185,"count":0}],"isBlockCoverage":false}]},{"scriptId":"424","url":"node:internal/modules/esm/loader","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":21355,"count":1}],"isBlockCoverage":false},{"functionName":"newResolveCache","ranges":[{"startOffset":890,"endOffset":1020,"count":1}],"isBlockCoverage":true},{"functionName":"newLoadCache","ranges":[{"startOffset":1176,"endOffset":1297,"count":1}],"isBlockCoverage":true},{"functionName":"getTranslators","ranges":[{"startOffset":1459,"endOffset":1581,"count":557}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2316,"endOffset":14669,"count":1}],"isBlockCoverage":false},{"functionName":"ModuleLoader","ranges":[{"startOffset":3583,"endOffset":4138,"count":1},{"startOffset":3671,"endOffset":3728,"count":0},{"startOffset":3859,"endOffset":4090,"count":0}],"isBlockCoverage":true},{"functionName":"setCustomizations","ranges":[{"startOffset":5678,"endOffset":5922,"count":1},{"startOffset":5781,"endOffset":5863,"count":0}],"isBlockCoverage":true},{"functionName":"eval","ranges":[{"startOffset":5926,"endOffset":6906,"count":0}],"isBlockCoverage":false},{"functionName":"getModuleJob","ranges":[{"startOffset":7641,"endOffset":7876,"count":557},{"startOffset":7787,"endOffset":7875,"count":556}],"isBlockCoverage":true},{"functionName":"getJobFromResolveResult","ranges":[{"startOffset":7880,"endOffset":8452,"count":556},{"startOffset":8248,"endOffset":8310,"count":0}],"isBlockCoverage":true},{"functionName":"#createModuleJob","ranges":[{"startOffset":9090,"endOffset":10149,"count":556},{"startOffset":9681,"endOffset":9721,"count":0},{"startOffset":9776,"endOffset":9791,"count":0},{"startOffset":9793,"endOffset":9847,"count":0}],"isBlockCoverage":true},{"functionName":"moduleProvider","ranges":[{"startOffset":9178,"endOffset":9623,"count":556},{"startOffset":9453,"endOffset":9533,"count":0}],"isBlockCoverage":true},{"functionName":"import","ranges":[{"startOffset":10611,"endOffset":10836,"count":557},{"startOffset":10752,"endOffset":10835,"count":556}],"isBlockCoverage":true},{"functionName":"register","ranges":[{"startOffset":10902,"endOffset":11425,"count":0}],"isBlockCoverage":false},{"functionName":"resolve","ranges":[{"startOffset":11884,"endOffset":12470,"count":557},{"startOffset":11972,"endOffset":12070,"count":0},{"startOffset":12266,"endOffset":12300,"count":0}],"isBlockCoverage":true},{"functionName":"resolveSync","ranges":[{"startOffset":12628,"endOffset":12906,"count":0}],"isBlockCoverage":false},{"functionName":"defaultResolve","ranges":[{"startOffset":13118,"endOffset":13458,"count":557}],"isBlockCoverage":true},{"functionName":"load","ranges":[{"startOffset":13742,"endOffset":14046,"count":556},{"startOffset":13879,"endOffset":13933,"count":0}],"isBlockCoverage":true},{"functionName":"validateLoadResult","ranges":[{"startOffset":14050,"endOffset":14201,"count":556},{"startOffset":14108,"endOffset":14197,"count":0}],"isBlockCoverage":true},{"functionName":"importMetaInitialize","ranges":[{"startOffset":14205,"endOffset":14540,"count":0}],"isBlockCoverage":false},{"functionName":"forceLoadHooks","ranges":[{"startOffset":14601,"endOffset":14667,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":14723,"endOffset":17130,"count":0}],"isBlockCoverage":false},{"functionName":"createModuleLoader","ranges":[{"startOffset":17626,"endOffset":19308,"count":1},{"startOffset":18091,"endOffset":19258,"count":0}],"isBlockCoverage":true},{"functionName":"readableURIEncode","ranges":[{"startOffset":18166,"endOffset":18661,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":18981,"endOffset":19069,"count":0}],"isBlockCoverage":false},{"functionName":"getHooksProxy","ranges":[{"startOffset":19421,"endOffset":19597,"count":0}],"isBlockCoverage":false},{"functionName":"register","ranges":[{"startOffset":20881,"endOffset":21280,"count":0}],"isBlockCoverage":false}]},{"scriptId":"425","url":"node:internal/modules/esm/module_map","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3892,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":297,"endOffset":322,"count":1}],"isBlockCoverage":true},{"functionName":"ResolveCache","ranges":[{"startOffset":866,"endOffset":894,"count":1}],"isBlockCoverage":true},{"functionName":"serializeKey","ranges":[{"startOffset":1240,"endOffset":1852,"count":557},{"startOffset":1649,"endOffset":1851,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1768,"endOffset":1834,"count":0}],"isBlockCoverage":false},{"functionName":"#getModuleCachedImports","ranges":[{"startOffset":1856,"endOffset":2072,"count":1113},{"startOffset":1970,"endOffset":2042,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":2247,"endOffset":2349,"count":557}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":2489,"endOffset":2618,"count":556}],"isBlockCoverage":true},{"functionName":"has","ranges":[{"startOffset":2622,"endOffset":2726,"count":0}],"isBlockCoverage":false},{"functionName":"LoadCache","ranges":[{"startOffset":2860,"endOffset":2888,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":2937,"endOffset":3080,"count":556},{"startOffset":3067,"endOffset":3075,"count":0}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":3083,"endOffset":3677,"count":556},{"startOffset":3302,"endOffset":3338,"count":0},{"startOffset":3340,"endOffset":3410,"count":0},{"startOffset":3494,"endOffset":3500,"count":0}],"isBlockCoverage":true},{"functionName":"has","ranges":[{"startOffset":3680,"endOffset":3837,"count":0}],"isBlockCoverage":false}]},{"scriptId":"426","url":"node:internal/modules/esm/assert","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3876,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1326,"endOffset":1364,"count":5}],"isBlockCoverage":true},{"functionName":"validateAttributes","ranges":[{"startOffset":1785,"endOffset":3160,"count":556},{"startOffset":1981,"endOffset":2108,"count":0},{"startOffset":2180,"endOffset":2325,"count":0},{"startOffset":2590,"endOffset":2650,"count":0},{"startOffset":2656,"endOffset":2764,"count":0},{"startOffset":2770,"endOffset":3154,"count":0}],"isBlockCoverage":true},{"functionName":"handleInvalidType","ranges":[{"startOffset":3392,"endOffset":3806,"count":0}],"isBlockCoverage":false}]},{"scriptId":"427","url":"node:internal/modules/esm/translators","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12944,"count":1}],"isBlockCoverage":false},{"functionName":"lazyTypes","ranges":[{"startOffset":521,"endOffset":637,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1034,"endOffset":1059,"count":1}],"isBlockCoverage":true},{"functionName":"initCJSParse","ranges":[{"startOffset":1821,"endOffset":2219,"count":1},{"startOffset":1895,"endOffset":1970,"count":0},{"startOffset":2128,"endOffset":2213,"count":0}],"isBlockCoverage":true},{"functionName":"assertBufferSource","ranges":[{"startOffset":2833,"endOffset":3254,"count":0}],"isBlockCoverage":false},{"functionName":"stringify","ranges":[{"startOffset":3478,"endOffset":3756,"count":0}],"isBlockCoverage":false},{"functionName":"errPath","ranges":[{"startOffset":3876,"endOffset":4021,"count":0}],"isBlockCoverage":false},{"functionName":"importModuleDynamically","ranges":[{"startOffset":4497,"endOffset":4635,"count":0}],"isBlockCoverage":false},{"functionName":"moduleStrategy","ranges":[{"startOffset":4717,"endOffset":5242,"count":0}],"isBlockCoverage":false},{"functionName":"enrichCJSError","ranges":[{"startOffset":5467,"endOffset":6006,"count":0}],"isBlockCoverage":false},{"functionName":"commonjsStrategy","ranges":[{"startOffset":6137,"endOffset":7493,"count":556},{"startOffset":6360,"endOffset":6385,"count":1},{"startOffset":6510,"endOffset":6532,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6623,"endOffset":7489,"count":556},{"startOffset":6742,"endOffset":6856,"count":2},{"startOffset":6856,"endOffset":7044,"count":554},{"startOffset":6948,"endOffset":7038,"count":0},{"startOffset":7088,"endOffset":7445,"count":578},{"startOffset":7191,"endOffset":7218,"count":0},{"startOffset":7342,"endOffset":7398,"count":0}],"isBlockCoverage":true},{"functionName":"cjsPreparseModuleExports","ranges":[{"startOffset":7621,"endOffset":9159,"count":556},{"startOffset":7724,"endOffset":7857,"count":2},{"startOffset":7788,"endOffset":7853,"count":0},{"startOffset":7907,"endOffset":8083,"count":554},{"startOffset":8156,"endOffset":8204,"count":0},{"startOffset":8286,"endOffset":8291,"count":0},{"startOffset":8299,"endOffset":8348,"count":0},{"startOffset":8532,"endOffset":8629,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8665,"endOffset":9120,"count":0}],"isBlockCoverage":false},{"functionName":"builtinStrategy","ranges":[{"startOffset":9283,"endOffset":9666,"count":0}],"isBlockCoverage":false},{"functionName":"jsonStrategy","ranges":[{"startOffset":9730,"endOffset":11931,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":11997,"endOffset":12941,"count":0}],"isBlockCoverage":false}]},{"scriptId":"428","url":"node:internal/modules/esm/resolve","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":47230,"count":1}],"isBlockCoverage":false},{"functionName":"emitTrailingSlashPatternDeprecation","ranges":[{"startOffset":2719,"endOffset":3305,"count":0}],"isBlockCoverage":false},{"functionName":"emitInvalidSegmentDeprecation","ranges":[{"startOffset":3818,"endOffset":4552,"count":0}],"isBlockCoverage":false},{"functionName":"emitLegacyIndexDeprecation","ranges":[{"startOffset":4989,"endOffset":6122,"count":0}],"isBlockCoverage":false},{"functionName":"fileExists","ranges":[{"startOffset":6221,"endOffset":6324,"count":0}],"isBlockCoverage":false},{"functionName":"legacyMainResolve","ranges":[{"startOffset":6712,"endOffset":8523,"count":0}],"isBlockCoverage":false},{"functionName":"resolveExtensionsWithTryExactName","ranges":[{"startOffset":8586,"endOffset":8721,"count":0}],"isBlockCoverage":false},{"functionName":"resolveExtensions","ranges":[{"startOffset":8839,"endOffset":9100,"count":0}],"isBlockCoverage":false},{"functionName":"resolveDirectoryEntry","ranges":[{"startOffset":9163,"endOffset":9670,"count":0}],"isBlockCoverage":false},{"functionName":"finalizeResolution","ranges":[{"startOffset":10454,"endOffset":12650,"count":557},{"startOffset":10590,"endOffset":10743,"count":0},{"startOffset":10805,"endOffset":10989,"count":0},{"startOffset":11063,"endOffset":11715,"count":0},{"startOffset":11804,"endOffset":11840,"count":0},{"startOffset":11906,"endOffset":11998,"count":0},{"startOffset":12021,"endOffset":12309,"count":1},{"startOffset":12102,"endOffset":12117,"count":0},{"startOffset":12119,"endOffset":12196,"count":0},{"startOffset":12244,"endOffset":12264,"count":0},{"startOffset":12309,"endOffset":12628,"count":556},{"startOffset":12555,"endOffset":12560,"count":0},{"startOffset":12628,"endOffset":12649,"count":556}],"isBlockCoverage":true},{"functionName":"importNotDefined","ranges":[{"startOffset":13064,"endOffset":13275,"count":0}],"isBlockCoverage":false},{"functionName":"exportsNotFound","ranges":[{"startOffset":13671,"endOffset":13866,"count":0}],"isBlockCoverage":false},{"functionName":"throwInvalidSubpath","ranges":[{"startOffset":14504,"endOffset":14887,"count":0}],"isBlockCoverage":false},{"functionName":"invalidPackageTarget","ranges":[{"startOffset":15343,"endOffset":15721,"count":0}],"isBlockCoverage":false},{"functionName":"resolvePackageTargetString","ranges":[{"startOffset":17077,"endOffset":19830,"count":193},{"startOffset":17246,"endOffset":17257,"count":0},{"startOffset":17258,"endOffset":17294,"count":0},{"startOffset":17296,"endOffset":17380,"count":0},{"startOffset":17430,"endOffset":17987,"count":0},{"startOffset":18079,"endOffset":18689,"count":0},{"startOffset":18908,"endOffset":18992,"count":0},{"startOffset":19036,"endOffset":19829,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17762,"endOffset":17775,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":18288,"endOffset":18301,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":18434,"endOffset":18447,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":19171,"endOffset":19184,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":19411,"endOffset":19424,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":19764,"endOffset":19777,"count":0}],"isBlockCoverage":false},{"functionName":"isArrayIndex","ranges":[{"startOffset":20022,"endOffset":20166,"count":400},{"startOffset":20118,"endOffset":20163,"count":0}],"isBlockCoverage":true},{"functionName":"resolvePackageTarget","ranges":[{"startOffset":20961,"endOffset":23211,"count":393},{"startOffset":21154,"endOffset":21308,"count":193},{"startOffset":21308,"endOffset":23094,"count":200},{"startOffset":21340,"endOffset":22186,"count":7},{"startOffset":21371,"endOffset":21397,"count":0},{"startOffset":21717,"endOffset":21865,"count":0},{"startOffset":21905,"endOffset":21932,"count":0},{"startOffset":21967,"endOffset":22024,"count":0},{"startOffset":22058,"endOffset":22120,"count":0},{"startOffset":22122,"endOffset":22186,"count":0},{"startOffset":22186,"endOffset":23094,"count":193},{"startOffset":22339,"endOffset":22567,"count":400},{"startOffset":22397,"endOffset":22561,"count":0},{"startOffset":22610,"endOffset":23019,"count":230},{"startOffset":22667,"endOffset":22689,"count":215},{"startOffset":22691,"endOffset":23013,"count":193},{"startOffset":22962,"endOffset":22975,"count":0},{"startOffset":23019,"endOffset":23094,"count":0},{"startOffset":23094,"endOffset":23210,"count":0}],"isBlockCoverage":true},{"functionName":"isConditionalExportsMainSugar","ranges":[{"startOffset":23495,"endOffset":24438,"count":193},{"startOffset":23627,"endOffset":23643,"count":0},{"startOffset":23699,"endOffset":23716,"count":0},{"startOffset":23856,"endOffset":24407,"count":370},{"startOffset":23966,"endOffset":24023,"count":193},{"startOffset":24023,"endOffset":24403,"count":177},{"startOffset":24079,"endOffset":24403,"count":0}],"isBlockCoverage":true},{"functionName":"packageExportsResolve","ranges":[{"startOffset":24935,"endOffset":27510,"count":193},{"startOffset":25143,"endOffset":25180,"count":1},{"startOffset":25582,"endOffset":25656,"count":0},{"startOffset":25687,"endOffset":27509,"count":0}],"isBlockCoverage":true},{"functionName":"patternKeyCompare","ranges":[{"startOffset":27884,"endOffset":28439,"count":0}],"isBlockCoverage":false},{"functionName":"packageImportsResolve","ranges":[{"startOffset":28926,"endOffset":31383,"count":0}],"isBlockCoverage":false},{"functionName":"getPackageType","ranges":[{"startOffset":31497,"endOffset":31610,"count":556}],"isBlockCoverage":true},{"functionName":"parsePackageName","ranges":[{"startOffset":31775,"endOffset":32833,"count":1},{"startOffset":31966,"endOffset":32194,"count":0},{"startOffset":32240,"endOffset":32255,"count":0},{"startOffset":32481,"endOffset":32516,"count":0},{"startOffset":32543,"endOffset":32662,"count":0},{"startOffset":32718,"endOffset":32722,"count":0}],"isBlockCoverage":true},{"functionName":"packageResolve","ranges":[{"startOffset":33157,"endOffset":35229,"count":1},{"startOffset":33271,"endOffset":33317,"count":0},{"startOffset":33616,"endOffset":33653,"count":0},{"startOffset":33655,"endOffset":33772,"count":0},{"startOffset":33947,"endOffset":35014,"count":5},{"startOffset":34206,"endOffset":34483,"count":4},{"startOffset":34283,"endOffset":34320,"count":0},{"startOffset":34483,"endOffset":34664,"count":1},{"startOffset":34664,"endOffset":34781,"count":0},{"startOffset":34781,"endOffset":34814,"count":1},{"startOffset":34814,"endOffset":34923,"count":0},{"startOffset":34923,"endOffset":35014,"count":1},{"startOffset":35014,"endOffset":35228,"count":0}],"isBlockCoverage":true},{"functionName":"isBareSpecifier","ranges":[{"startOffset":35340,"endOffset":35450,"count":1}],"isBlockCoverage":true},{"functionName":"isRelativeSpecifier","ranges":[{"startOffset":35569,"endOffset":35848,"count":1115},{"startOffset":35639,"endOffset":35830,"count":0}],"isBlockCoverage":true},{"functionName":"shouldBeTreatedAsRelativeOrAbsolutePath","ranges":[{"startOffset":35997,"endOffset":36188,"count":1114},{"startOffset":36083,"endOffset":36100,"count":0},{"startOffset":36129,"endOffset":36145,"count":0}],"isBlockCoverage":true},{"functionName":"moduleResolve","ranges":[{"startOffset":36551,"endOffset":37342,"count":557},{"startOffset":36877,"endOffset":36923,"count":0},{"startOffset":36968,"endOffset":37040,"count":0},{"startOffset":37101,"endOffset":37209,"count":1},{"startOffset":37251,"endOffset":37277,"count":0}],"isBlockCoverage":true},{"functionName":"resolveAsCommonJS","ranges":[{"startOffset":37504,"endOffset":38961,"count":1},{"startOffset":37915,"endOffset":38319,"count":0},{"startOffset":38772,"endOffset":38907,"count":0},{"startOffset":38930,"endOffset":38959,"count":0}],"isBlockCoverage":true},{"functionName":"checkIfDisallowedImport","ranges":[{"startOffset":39341,"endOffset":40713,"count":557},{"startOffset":39647,"endOffset":40707,"count":0}],"isBlockCoverage":true},{"functionName":"throwIfInvalidParentURL","ranges":[{"startOffset":40853,"endOffset":41126,"count":557},{"startOffset":40930,"endOffset":40981,"count":0},{"startOffset":41018,"endOffset":41038,"count":0},{"startOffset":41040,"endOffset":41124,"count":0}],"isBlockCoverage":true},{"functionName":"defaultResolve","ranges":[{"startOffset":41750,"endOffset":45691,"count":557},{"startOffset":41907,"endOffset":41917,"count":0},{"startOffset":41919,"endOffset":42711,"count":0},{"startOffset":42815,"endOffset":42854,"count":0},{"startOffset":42942,"endOffset":43001,"count":0},{"startOffset":43049,"endOffset":43190,"count":556},{"startOffset":43190,"endOffset":43235,"count":0},{"startOffset":43236,"endOffset":43271,"count":0},{"startOffset":43273,"endOffset":43436,"count":0},{"startOffset":43436,"endOffset":43600,"count":556},{"startOffset":43504,"endOffset":43592,"count":0},{"startOffset":43607,"endOffset":43666,"count":0},{"startOffset":43671,"endOffset":43786,"count":1},{"startOffset":43736,"endOffset":43758,"count":0},{"startOffset":44120,"endOffset":44143,"count":0},{"startOffset":44208,"endOffset":44238,"count":556},{"startOffset":44240,"endOffset":44287,"count":0},{"startOffset":44346,"endOffset":44853,"count":0},{"startOffset":45009,"endOffset":45031,"count":0},{"startOffset":45063,"endOffset":45486,"count":1},{"startOffset":45220,"endOffset":45274,"count":0},{"startOffset":45337,"endOffset":45392,"count":0},{"startOffset":45486,"endOffset":45690,"count":556}],"isBlockCoverage":true},{"functionName":"decorateErrorWithCommonJSHints","ranges":[{"startOffset":45954,"endOffset":46430,"count":1}],"isBlockCoverage":true},{"functionName":"defaultResolve","ranges":[{"startOffset":46835,"endOffset":47226,"count":0}],"isBlockCoverage":false}]},{"scriptId":"429","url":"node:internal/modules/esm/package_config","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2215,"count":1}],"isBlockCoverage":false},{"functionName":"getPackageScopeConfig","ranges":[{"startOffset":1072,"endOffset":2165,"count":557},{"startOffset":1190,"endOffset":1910,"count":2534},{"startOffset":1324,"endOffset":1344,"count":0},{"startOffset":1534,"endOffset":1569,"count":557},{"startOffset":1569,"endOffset":1886,"count":1977},{"startOffset":1886,"endOffset":1906,"count":0},{"startOffset":1910,"endOffset":2164,"count":0}],"isBlockCoverage":true}]},{"scriptId":"430","url":"node:internal/modules/esm/get_format","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5818,"count":1}],"isBlockCoverage":false},{"functionName":"node:","ranges":[{"startOffset":1228,"endOffset":1259,"count":0}],"isBlockCoverage":false},{"functionName":"getDataProtocolModuleFormat","ranges":[{"startOffset":1324,"endOffset":1540,"count":0}],"isBlockCoverage":false},{"functionName":"extname","ranges":[{"startOffset":1815,"endOffset":2174,"count":556},{"startOffset":1915,"endOffset":2159,"count":1668},{"startOffset":1977,"endOffset":2012,"count":0},{"startOffset":2020,"endOffset":2149,"count":556},{"startOffset":2108,"endOffset":2112,"count":0},{"startOffset":2159,"endOffset":2173,"count":0}],"isBlockCoverage":true},{"functionName":"underNodeModules","ranges":[{"startOffset":2404,"endOffset":2625,"count":0}],"isBlockCoverage":false},{"functionName":"getFileProtocolModuleFormat","ranges":[{"startOffset":2749,"endOffset":4479,"count":556},{"startOffset":2945,"endOffset":2978,"count":0},{"startOffset":3077,"endOffset":3345,"count":0},{"startOffset":3372,"endOffset":4476,"count":0}],"isBlockCoverage":true},{"functionName":"getHttpProtocolModuleFormat","ranges":[{"startOffset":4615,"endOffset":4960,"count":0}],"isBlockCoverage":false},{"functionName":"defaultGetFormatWithoutErrors","ranges":[{"startOffset":5105,"endOffset":5340,"count":556},{"startOffset":5259,"endOffset":5281,"count":0}],"isBlockCoverage":true},{"functionName":"defaultGetFormat","ranges":[{"startOffset":5485,"endOffset":5708,"count":0}],"isBlockCoverage":false}]},{"scriptId":"431","url":"node:internal/modules/esm/formats","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2205,"count":1}],"isBlockCoverage":false},{"functionName":"mimeToFormat","ranges":[{"startOffset":745,"endOffset":1083,"count":0}],"isBlockCoverage":false},{"functionName":"getLegacyExtensionFormat","ranges":[{"startOffset":1085,"endOffset":1167,"count":0}],"isBlockCoverage":false},{"functionName":"getFormatOfExtensionlessFile","ranges":[{"startOffset":1537,"endOffset":2055,"count":0}],"isBlockCoverage":false}]},{"scriptId":"432","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/yargs-parser/build/index.cjs","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":42313,"count":1},{"startOffset":41005,"endOffset":41049,"count":0},{"startOffset":41190,"endOffset":41388,"count":0},{"startOffset":41425,"endOffset":41429,"count":0}],"isBlockCoverage":true},{"functionName":"camelCase","ranges":[{"startOffset":96,"endOffset":980,"count":41},{"startOffset":172,"endOffset":200,"count":0},{"startOffset":297,"endOffset":323,"count":0},{"startOffset":325,"endOffset":352,"count":0},{"startOffset":511,"endOffset":537,"count":0},{"startOffset":564,"endOffset":946,"count":522},{"startOffset":633,"endOffset":727,"count":47},{"startOffset":752,"endOffset":783,"count":481},{"startOffset":768,"endOffset":782,"count":434},{"startOffset":785,"endOffset":837,"count":47},{"startOffset":837,"endOffset":936,"count":475}],"isBlockCoverage":true},{"functionName":"decamelize","ranges":[{"startOffset":981,"endOffset":1474,"count":36},{"startOffset":1089,"endOffset":1095,"count":0},{"startOffset":1165,"endOffset":1447,"count":412},{"startOffset":1289,"endOffset":1297,"count":42},{"startOffset":1299,"endOffset":1377,"count":42},{"startOffset":1377,"endOffset":1441,"count":370}],"isBlockCoverage":true},{"functionName":"looksLikeNumber","ranges":[{"startOffset":1475,"endOffset":1786,"count":30},{"startOffset":1552,"endOffset":1565,"count":0},{"startOffset":1605,"endOffset":1617,"count":2},{"startOffset":1617,"endOffset":1660,"count":28},{"startOffset":1660,"endOffset":1672,"count":0},{"startOffset":1672,"endOffset":1707,"count":28},{"startOffset":1707,"endOffset":1720,"count":0},{"startOffset":1720,"endOffset":1785,"count":28}],"isBlockCoverage":true},{"functionName":"tokenizeArgString","ranges":[{"startOffset":1788,"endOffset":2573,"count":6},{"startOffset":1862,"endOffset":1940,"count":5},{"startOffset":1940,"endOffset":2125,"count":1},{"startOffset":2125,"endOffset":2554,"count":0},{"startOffset":2554,"endOffset":2572,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1893,"endOffset":1932,"count":4},{"startOffset":1920,"endOffset":1928,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2605,"endOffset":2843,"count":1}],"isBlockCoverage":true},{"functionName":"YargsParser","ranges":[{"startOffset":2941,"endOffset":2992,"count":1}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":2997,"endOffset":39528,"count":6},{"startOffset":4641,"endOffset":4646,"count":0},{"startOffset":4794,"endOffset":4800,"count":3},{"startOffset":4801,"endOffset":4806,"count":3},{"startOffset":4930,"endOffset":4945,"count":3},{"startOffset":5604,"endOffset":5609,"count":0},{"startOffset":6247,"endOffset":6252,"count":0},{"startOffset":6408,"endOffset":6413,"count":0},{"startOffset":6571,"endOffset":6576,"count":0},{"startOffset":6733,"endOffset":6738,"count":3},{"startOffset":6898,"endOffset":6903,"count":3},{"startOffset":7675,"endOffset":8249,"count":3},{"startOffset":7756,"endOffset":7918,"count":0},{"startOffset":8746,"endOffset":15990,"count":3},{"startOffset":9037,"endOffset":9089,"count":0},{"startOffset":9144,"endOffset":9222,"count":0},{"startOffset":9330,"endOffset":9886,"count":0},{"startOffset":9934,"endOffset":9970,"count":0},{"startOffset":9972,"endOffset":10242,"count":0},{"startOffset":10283,"endOffset":10349,"count":2},{"startOffset":10351,"endOffset":11560,"count":1},{"startOffset":10634,"endOffset":11528,"count":0},{"startOffset":11560,"endOffset":15980,"count":2},{"startOffset":11605,"endOffset":11804,"count":0},{"startOffset":11847,"endOffset":11870,"count":0},{"startOffset":11872,"endOffset":12479,"count":0},{"startOffset":12522,"endOffset":12545,"count":0},{"startOffset":12547,"endOffset":15406,"count":0},{"startOffset":15450,"endOffset":15488,"count":0},{"startOffset":15489,"endOffset":15550,"count":0},{"startOffset":15552,"endOffset":15651,"count":0},{"startOffset":15687,"endOffset":15771,"count":0},{"startOffset":15830,"endOffset":15910,"count":0},{"startOffset":16275,"endOffset":16300,"count":0},{"startOffset":16478,"endOffset":16496,"count":3},{"startOffset":16510,"endOffset":16534,"count":0},{"startOffset":16681,"endOffset":16713,"count":3},{"startOffset":16715,"endOffset":16872,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5635,"endOffset":6213,"count":51},{"startOffset":5700,"endOffset":5709,"count":0},{"startOffset":6069,"endOffset":6131,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5769,"endOffset":6016,"count":429}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6278,"endOffset":6375,"count":121}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6439,"endOffset":6538,"count":40}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6602,"endOffset":6701,"count":10}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6764,"endOffset":6862,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6929,"endOffset":7030,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7124,"endOffset":7312,"count":88}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7420,"endOffset":7614,"count":141}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7821,"endOffset":7902,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8027,"endOffset":8223,"count":1},{"startOffset":8098,"endOffset":8128,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8358,"endOffset":8515,"count":26},{"startOffset":8407,"endOffset":8412,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8422,"endOffset":8503,"count":19}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16343,"endOffset":16448,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":16560,"endOffset":16628,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":16754,"endOffset":16794,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":16804,"endOffset":16860,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":16969,"endOffset":16984,"count":107}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16995,"endOffset":17247,"count":121},{"startOffset":17064,"endOffset":17086,"count":52},{"startOffset":17088,"endOffset":17197,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17143,"endOffset":17166,"count":2}],"isBlockCoverage":true},{"functionName":"pushPositional","ranges":[{"startOffset":17268,"endOffset":17539,"count":2},{"startOffset":17422,"endOffset":17463,"count":0}],"isBlockCoverage":true},{"functionName":"eatNargs","ranges":[{"startOffset":17548,"endOffset":19169,"count":0}],"isBlockCoverage":false},{"functionName":"eatArray","ranges":[{"startOffset":19178,"endOffset":20962,"count":1},{"startOffset":19436,"endOffset":19469,"count":0},{"startOffset":19471,"endOffset":19524,"count":0},{"startOffset":19634,"endOffset":19657,"count":0},{"startOffset":19658,"endOffset":19688,"count":0},{"startOffset":19691,"endOffset":19900,"count":0},{"startOffset":19973,"endOffset":20066,"count":0},{"startOffset":20187,"endOffset":20210,"count":0},{"startOffset":20251,"endOffset":20284,"count":0},{"startOffset":20285,"endOffset":20318,"count":0},{"startOffset":20345,"endOffset":20351,"count":0},{"startOffset":20429,"endOffset":20452,"count":0},{"startOffset":20453,"endOffset":20483,"count":0},{"startOffset":20509,"endOffset":20515,"count":0},{"startOffset":20684,"endOffset":20799,"count":0},{"startOffset":20801,"endOffset":20894,"count":0}],"isBlockCoverage":true},{"functionName":"setArg","ranges":[{"startOffset":20971,"endOffset":22834,"count":40},{"startOffset":21029,"endOffset":21069,"count":3},{"startOffset":21071,"endOffset":21268,"count":3},{"startOffset":21443,"endOffset":21648,"count":28},{"startOffset":21685,"endOffset":21717,"count":0},{"startOffset":21719,"endOffset":22196,"count":0},{"startOffset":22251,"endOffset":22289,"count":2},{"startOffset":22291,"endOffset":22824,"count":2},{"startOffset":22354,"endOffset":22359,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21122,"endOffset":21201,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21488,"endOffset":21632,"count":17}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21780,"endOffset":22180,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":22391,"endOffset":22808,"count":2}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":22535,"endOffset":22608,"count":1}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":22634,"endOffset":22766,"count":2},{"startOffset":22707,"endOffset":22731,"count":0}],"isBlockCoverage":true},{"functionName":"addNewAlias","ranges":[{"startOffset":22843,"endOffset":23188,"count":4},{"startOffset":22915,"endOffset":22943,"count":2},{"startOffset":22946,"endOffset":23049,"count":2},{"startOffset":23089,"endOffset":23119,"count":3},{"startOffset":23122,"endOffset":23178,"count":1}],"isBlockCoverage":true},{"functionName":"processValue","ranges":[{"startOffset":23197,"endOffset":24302,"count":41},{"startOffset":23271,"endOffset":23324,"count":10},{"startOffset":23325,"endOffset":23374,"count":0},{"startOffset":23376,"endOffset":23447,"count":0},{"startOffset":23498,"endOffset":23535,"count":36},{"startOffset":23537,"endOffset":23639,"count":5},{"startOffset":23604,"endOffset":23625,"count":0},{"startOffset":23699,"endOffset":23760,"count":10},{"startOffset":23777,"endOffset":23806,"count":31},{"startOffset":23859,"endOffset":23912,"count":0},{"startOffset":23914,"endOffset":23966,"count":0},{"startOffset":24021,"endOffset":24058,"count":2},{"startOffset":24060,"endOffset":24266,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23709,"endOffset":23759,"count":19}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24138,"endOffset":24179,"count":0}],"isBlockCoverage":false},{"functionName":"maybeCoerceNumber","ranges":[{"startOffset":24311,"endOffset":24955,"count":68},{"startOffset":24411,"endOffset":24425,"count":32},{"startOffset":24443,"endOffset":24456,"count":2},{"startOffset":24456,"endOffset":24510,"count":66},{"startOffset":24510,"endOffset":24547,"count":45},{"startOffset":24548,"endOffset":24572,"count":38},{"startOffset":24574,"endOffset":24919,"count":30},{"startOffset":24642,"endOffset":24675,"count":2},{"startOffset":24676,"endOffset":24737,"count":2},{"startOffset":24778,"endOffset":24841,"count":28},{"startOffset":24843,"endOffset":24905,"count":2},{"startOffset":24919,"endOffset":24954,"count":66}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":24964,"endOffset":26599,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25168,"endOffset":26587,"count":1},{"startOffset":25302,"endOffset":26573,"count":0}],"isBlockCoverage":true},{"functionName":"setConfigObject","ranges":[{"startOffset":26608,"endOffset":27284,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26689,"endOffset":27272,"count":44},{"startOffset":26786,"endOffset":26804,"count":0},{"startOffset":26858,"endOffset":26875,"count":14},{"startOffset":26876,"endOffset":26900,"count":14},{"startOffset":26901,"endOffset":26933,"count":0},{"startOffset":26935,"endOffset":27007,"count":0},{"startOffset":27089,"endOffset":27167,"count":5},{"startOffset":27132,"endOffset":27166,"count":0},{"startOffset":27169,"endOffset":27240,"count":39}],"isBlockCoverage":true},{"functionName":"setConfigObjects","ranges":[{"startOffset":27293,"endOffset":27537,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27417,"endOffset":27511,"count":7}],"isBlockCoverage":true},{"functionName":"applyEnvVars","ranges":[{"startOffset":27546,"endOffset":28422,"count":12},{"startOffset":27661,"endOffset":27730,"count":0},{"startOffset":27731,"endOffset":27735,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27811,"endOffset":28410,"count":0}],"isBlockCoverage":false},{"functionName":"applyCoercions","ranges":[{"startOffset":28431,"endOffset":29278,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28564,"endOffset":29266,"count":78},{"startOffset":28620,"endOffset":29252,"count":70},{"startOffset":28744,"endOffset":29234,"count":16},{"startOffset":28919,"endOffset":28924,"count":2},{"startOffset":29132,"endOffset":29212,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28940,"endOffset":29079,"count":24}],"isBlockCoverage":true},{"functionName":"setPlaceholderKeys","ranges":[{"startOffset":29287,"endOffset":29579,"count":0}],"isBlockCoverage":false},{"functionName":"applyDefaultsAndAliases","ranges":[{"startOffset":29588,"endOffset":30205,"count":12}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29705,"endOffset":30193,"count":90},{"startOffset":29772,"endOffset":30179,"count":35},{"startOffset":29894,"endOffset":29916,"count":9},{"startOffset":29951,"endOffset":29956,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29966,"endOffset":30159,"count":25},{"startOffset":30064,"endOffset":30071,"count":0}],"isBlockCoverage":true},{"functionName":"hasKey","ranges":[{"startOffset":30214,"endOffset":30639,"count":159},{"startOffset":30566,"endOffset":30579,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30395,"endOffset":30461,"count":0}],"isBlockCoverage":false},{"functionName":"setKey","ranges":[{"startOffset":30648,"endOffset":33097,"count":117},{"startOffset":31747,"endOffset":31783,"count":0},{"startOffset":31785,"endOffset":32029,"count":0},{"startOffset":32069,"endOffset":32128,"count":0},{"startOffset":32173,"endOffset":32667,"count":0},{"startOffset":32726,"endOffset":32798,"count":27},{"startOffset":32766,"endOffset":32773,"count":24},{"startOffset":32774,"endOffset":32783,"count":3},{"startOffset":32798,"endOffset":33087,"count":90},{"startOffset":32856,"endOffset":32909,"count":0},{"startOffset":32910,"endOffset":32962,"count":0},{"startOffset":32965,"endOffset":33022,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30836,"endOffset":31451,"count":0}],"isBlockCoverage":false},{"functionName":"extendAliases","ranges":[{"startOffset":33106,"endOffset":34699,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33165,"endOffset":34687,"count":24},{"startOffset":33214,"endOffset":33219,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33229,"endOffset":34671,"count":275},{"startOffset":33314,"endOffset":33321,"count":106},{"startOffset":33321,"endOffset":33386,"count":169},{"startOffset":33386,"endOffset":33391,"count":62}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33453,"endOffset":33880,"count":290},{"startOffset":33508,"endOffset":33548,"count":57},{"startOffset":33550,"endOffset":33858,"count":36}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33942,"endOffset":34395,"count":326},{"startOffset":33998,"endOffset":34016,"count":230},{"startOffset":34017,"endOffset":34057,"count":36},{"startOffset":34059,"endOffset":34373,"count":36},{"startOffset":34161,"endOffset":34200,"count":2},{"startOffset":34202,"endOffset":34347,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34445,"endOffset":34651,"count":157}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34542,"endOffset":34626,"count":219}],"isBlockCoverage":true},{"functionName":"checkAllAliases","ranges":[{"startOffset":34708,"endOffset":34993,"count":537},{"startOffset":34803,"endOffset":34808,"count":134},{"startOffset":34958,"endOffset":34974,"count":81},{"startOffset":34975,"endOffset":34982,"count":456}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34902,"endOffset":34927,"count":802}],"isBlockCoverage":true},{"functionName":"hasAnyFlag","ranges":[{"startOffset":35002,"endOffset":35300,"count":0}],"isBlockCoverage":false},{"functionName":"hasFlagsMatching","ranges":[{"startOffset":35309,"endOffset":35589,"count":0}],"isBlockCoverage":false},{"functionName":"hasAllShortFlags","ranges":[{"startOffset":35598,"endOffset":36444,"count":0}],"isBlockCoverage":false},{"functionName":"isUnknownOptionAsArg","ranges":[{"startOffset":36453,"endOffset":36584,"count":3},{"startOffset":36550,"endOffset":36573,"count":0}],"isBlockCoverage":true},{"functionName":"isUnknownOption","ranges":[{"startOffset":36593,"endOffset":37298,"count":0}],"isBlockCoverage":false},{"functionName":"defaultValue","ranges":[{"startOffset":37307,"endOffset":37634,"count":0}],"isBlockCoverage":false},{"functionName":"defaultForType","ranges":[{"startOffset":37643,"endOffset":37979,"count":0}],"isBlockCoverage":false},{"functionName":"guessType","ranges":[{"startOffset":37988,"endOffset":38548,"count":0}],"isBlockCoverage":false},{"functionName":"isUndefined","ranges":[{"startOffset":38557,"endOffset":38632,"count":31}],"isBlockCoverage":true},{"functionName":"checkConfiguration","ranges":[{"startOffset":38641,"endOffset":39213,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38716,"endOffset":39201,"count":0}],"isBlockCoverage":false},{"functionName":"combineAliases","ranges":[{"startOffset":39531,"endOffset":40733,"count":6},{"startOffset":39871,"endOffset":40359,"count":107},{"startOffset":39937,"endOffset":40349,"count":1055},{"startOffset":40130,"endOffset":40335,"count":0},{"startOffset":40349,"endOffset":40359,"count":1055},{"startOffset":40359,"endOffset":40365,"count":107}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39692,"endOffset":39770,"count":107}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39995,"endOffset":40089,"count":2238}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40390,"endOffset":40708,"count":107}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40453,"endOffset":40528,"count":228}],"isBlockCoverage":true},{"functionName":"increment","ranges":[{"startOffset":40734,"endOffset":40808,"count":117},{"startOffset":40791,"endOffset":40801,"count":0}],"isBlockCoverage":true},{"functionName":"sanitizeKey","ranges":[{"startOffset":40809,"endOffset":40913,"count":117},{"startOffset":40874,"endOffset":40895,"count":0}],"isBlockCoverage":true},{"functionName":"env","ranges":[{"startOffset":41495,"endOffset":41528,"count":0}],"isBlockCoverage":false},{"functionName":"require","ranges":[{"startOffset":41626,"endOffset":41933,"count":0}],"isBlockCoverage":false},{"functionName":"Parser","ranges":[{"startOffset":41958,"endOffset":42066,"count":0}],"isBlockCoverage":false},{"functionName":"yargsParser.detailed","ranges":[{"startOffset":42091,"endOffset":42161,"count":6}],"isBlockCoverage":true}]},{"scriptId":"433","url":"node:internal/util/parse_args/parse_args","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12919,"count":1}],"isBlockCoverage":false},{"functionName":"getMainArgs","ranges":[{"startOffset":1135,"endOffset":1729,"count":0}],"isBlockCoverage":false},{"functionName":"checkOptionLikeValue","ranges":[{"startOffset":1874,"endOffset":2478,"count":0}],"isBlockCoverage":false},{"functionName":"checkOptionUsage","ranges":[{"startOffset":2658,"endOffset":3449,"count":0}],"isBlockCoverage":false},{"functionName":"storeOption","ranges":[{"startOffset":3772,"endOffset":4596,"count":0}],"isBlockCoverage":false},{"functionName":"storeDefaultOption","ranges":[{"startOffset":4921,"endOffset":5090,"count":0}],"isBlockCoverage":false},{"functionName":"argsToTokens","ranges":[{"startOffset":5365,"endOffset":9345,"count":0}],"isBlockCoverage":false},{"functionName":"parseArgs","ranges":[{"startOffset":9365,"endOffset":12881,"count":0}],"isBlockCoverage":false}]},{"scriptId":"434","url":"node:internal/util/parse_args/utils","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6225,"count":1}],"isBlockCoverage":false},{"functionName":"objectGetOwn","ranges":[{"startOffset":693,"endOffset":782,"count":0}],"isBlockCoverage":false},{"functionName":"optionsGetOwn","ranges":[{"startOffset":865,"endOffset":1011,"count":0}],"isBlockCoverage":false},{"functionName":"isOptionValue","ranges":[{"startOffset":1277,"endOffset":1502,"count":0}],"isBlockCoverage":false},{"functionName":"isOptionLikeValue","ranges":[{"startOffset":1719,"endOffset":1862,"count":0}],"isBlockCoverage":false},{"functionName":"isLoneShortOption","ranges":[{"startOffset":1936,"endOffset":2088,"count":0}],"isBlockCoverage":false},{"functionName":"isLoneLongOption","ranges":[{"startOffset":2336,"endOffset":2484,"count":0}],"isBlockCoverage":false},{"functionName":"isLongOptionAndValue","ranges":[{"startOffset":2681,"endOffset":2832,"count":0}],"isBlockCoverage":false},{"functionName":"isShortOptionGroup","ranges":[{"startOffset":3724,"endOffset":4109,"count":0}],"isBlockCoverage":false},{"functionName":"isShortOptionAndValue","ranges":[{"startOffset":4418,"endOffset":4847,"count":0}],"isBlockCoverage":false},{"functionName":"findLongOptionForShort","ranges":[{"startOffset":5170,"endOffset":5472,"count":0}],"isBlockCoverage":false},{"functionName":"useDefaultValueOption","ranges":[{"startOffset":5797,"endOffset":5967,"count":0}],"isBlockCoverage":false}]},{"scriptId":"435","url":"node:internal/encoding","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":16816,"count":1}],"isBlockCoverage":false},{"functionName":"lazyBuffer","ranges":[{"startOffset":1199,"endOffset":1308,"count":0}],"isBlockCoverage":false},{"functionName":"validateEncoder","ranges":[{"startOffset":1310,"endOffset":1435,"count":0}],"isBlockCoverage":false},{"functionName":"validateDecoder","ranges":[{"startOffset":1437,"endOffset":1562,"count":0}],"isBlockCoverage":false},{"functionName":"trimAsciiWhitespace","ranges":[{"startOffset":8308,"endOffset":8806,"count":0}],"isBlockCoverage":false},{"functionName":"getEncodingFromLabel","ranges":[{"startOffset":8808,"endOffset":8987,"count":0}],"isBlockCoverage":false},{"functionName":"TextEncoder","ranges":[{"startOffset":9058,"endOffset":9104,"count":0}],"isBlockCoverage":false},{"functionName":"get encoding","ranges":[{"startOffset":9108,"endOffset":9175,"count":0}],"isBlockCoverage":false},{"functionName":"encode","ranges":[{"startOffset":9179,"endOffset":9271,"count":0}],"isBlockCoverage":false},{"functionName":"encodeInto","ranges":[{"startOffset":9275,"endOffset":9585,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9589,"endOffset":9985,"count":0}],"isBlockCoverage":false},{"functionName":"makeTextDecoderICU","ranges":[{"startOffset":10357,"endOffset":12323,"count":1}],"isBlockCoverage":true},{"functionName":"TextDecoder","ranges":[{"startOffset":10495,"endOffset":11432,"count":0}],"isBlockCoverage":false},{"functionName":"#prepareConverter","ranges":[{"startOffset":11438,"endOffset":11703,"count":0}],"isBlockCoverage":false},{"functionName":"decode","ranges":[{"startOffset":11709,"endOffset":12294,"count":0}],"isBlockCoverage":false},{"functionName":"makeTextDecoderJS","ranges":[{"startOffset":12325,"endOffset":15178,"count":0}],"isBlockCoverage":false},{"functionName":"get encoding","ranges":[{"startOffset":15275,"endOffset":15350,"count":0}],"isBlockCoverage":false},{"functionName":"get fatal","ranges":[{"startOffset":15355,"endOffset":15476,"count":0}],"isBlockCoverage":false},{"functionName":"get ignoreBOM","ranges":[{"startOffset":15481,"endOffset":15630,"count":0}],"isBlockCoverage":false},{"functionName":"ObjectGetOwnPropertyDescriptors","ranges":[{"startOffset":15635,"endOffset":16217,"count":0}],"isBlockCoverage":false}]},{"scriptId":"436","url":"node:internal/mime","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10569,"count":1}],"isBlockCoverage":false},{"functionName":"toASCIILower","ranges":[{"startOffset":587,"endOffset":820,"count":0}],"isBlockCoverage":false},{"functionName":"parseTypeAndSubtype","ranges":[{"startOffset":866,"endOffset":2524,"count":0}],"isBlockCoverage":false},{"functionName":"removeBackslashes","ranges":[{"startOffset":2641,"endOffset":3056,"count":0}],"isBlockCoverage":false},{"functionName":"escapeQuoteOrSolidus","ranges":[{"startOffset":3059,"endOffset":3271,"count":0}],"isBlockCoverage":false},{"functionName":"encode","ranges":[{"startOffset":3288,"endOffset":3527,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3530,"endOffset":8526,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8986,"endOffset":10365,"count":0}],"isBlockCoverage":false}]},{"scriptId":"437","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/run-option-metadata.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2237,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1647,"endOffset":1957,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1797,"endOffset":1939,"count":43},{"startOffset":1868,"endOffset":1873,"count":23}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1895,"endOffset":1933,"count":23}],"isBlockCoverage":true},{"functionName":"exports.isMochaFlag","ranges":[{"startOffset":2168,"endOffset":2235,"count":12}],"isBlockCoverage":true}]},{"scriptId":"438","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/one-and-dones.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1549,"count":1}],"isBlockCoverage":true},{"functionName":"showKeys","ranges":[{"startOffset":510,"endOffset":996,"count":0}],"isBlockCoverage":false},{"functionName":"list-interfaces","ranges":[{"startOffset":1181,"endOffset":1224,"count":0}],"isBlockCoverage":false},{"functionName":"list-reporters","ranges":[{"startOffset":1309,"endOffset":1351,"count":0}],"isBlockCoverage":false}]},{"scriptId":"439","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/mocha.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":38612,"count":1}],"isBlockCoverage":true},{"functionName":"exports.afterEach","ranges":[{"startOffset":2162,"endOffset":2278,"count":0}],"isBlockCoverage":false},{"functionName":"exports.after","ranges":[{"startOffset":2296,"endOffset":2413,"count":0}],"isBlockCoverage":false},{"functionName":"exports.beforeEach","ranges":[{"startOffset":2436,"endOffset":2538,"count":0}],"isBlockCoverage":false},{"functionName":"exports.before","ranges":[{"startOffset":2557,"endOffset":2660,"count":0}],"isBlockCoverage":false},{"functionName":"exports.describe","ranges":[{"startOffset":2681,"endOffset":2781,"count":0}],"isBlockCoverage":false},{"functionName":"exports.describe.only","ranges":[{"startOffset":2807,"endOffset":2924,"count":0}],"isBlockCoverage":false},{"functionName":"exports.describe.skip","ranges":[{"startOffset":2950,"endOffset":3067,"count":0}],"isBlockCoverage":false},{"functionName":"exports.it","ranges":[{"startOffset":3082,"endOffset":3175,"count":0}],"isBlockCoverage":false},{"functionName":"exports.it.only","ranges":[{"startOffset":3195,"endOffset":3293,"count":0}],"isBlockCoverage":false},{"functionName":"exports.it.skip","ranges":[{"startOffset":3313,"endOffset":3411,"count":0}],"isBlockCoverage":false},{"functionName":"exports.run","ranges":[{"startOffset":3712,"endOffset":3781,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha","ranges":[{"startOffset":6154,"endOffset":8547,"count":1},{"startOffset":6868,"endOffset":6871,"count":0},{"startOffset":6925,"endOffset":6965,"count":0},{"startOffset":7341,"endOffset":7385,"count":0},{"startOffset":8393,"endOffset":8457,"count":0},{"startOffset":8462,"endOffset":8545,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7237,"endOffset":7306,"count":15},{"startOffset":7276,"endOffset":7302,"count":1}],"isBlockCoverage":true},{"functionName":"Mocha.bail","ranges":[{"startOffset":8786,"endOffset":8855,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.addFile","ranges":[{"startOffset":9200,"endOffset":9259,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.reporter","ranges":[{"startOffset":9836,"endOffset":10988,"count":1},{"startOffset":9921,"endOffset":9961,"count":0},{"startOffset":10001,"endOffset":10010,"count":0},{"startOffset":10251,"endOffset":10765,"count":0}],"isBlockCoverage":true},{"functionName":"Mocha.ui","ranges":[{"startOffset":11322,"endOffset":11829,"count":1},{"startOffset":11391,"endOffset":11420,"count":0},{"startOffset":11440,"endOffset":11448,"count":0},{"startOffset":11518,"endOffset":11680,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11755,"endOffset":11809,"count":556}],"isBlockCoverage":true},{"functionName":"Mocha.loadFiles","ranges":[{"startOffset":12364,"endOffset":12700,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.loadFilesAsync","ranges":[{"startOffset":13554,"endOffset":13995,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13715,"endOffset":13800,"count":556}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13806,"endOffset":13970,"count":556}],"isBlockCoverage":true},{"functionName":"Mocha.unloadFile","ranges":[{"startOffset":14209,"endOffset":14425,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.unloadFiles","ranges":[{"startOffset":14867,"endOffset":15231,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.fgrep","ranges":[{"startOffset":15586,"endOffset":15686,"count":1},{"startOffset":15637,"endOffset":15685,"count":0}],"isBlockCoverage":true},{"functionName":"Mocha.grep","ranges":[{"startOffset":16827,"endOffset":17115,"count":1},{"startOffset":16869,"endOffset":17059,"count":0}],"isBlockCoverage":true},{"functionName":"Mocha.invert","ranges":[{"startOffset":17386,"endOffset":17446,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.checkLeaks","ranges":[{"startOffset":17742,"endOffset":17832,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.cleanReferencesAfterRun","ranges":[{"startOffset":18230,"endOffset":18352,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.dispose","ranges":[{"startOffset":18647,"endOffset":18982,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.fullTrace","ranges":[{"startOffset":19245,"endOffset":19332,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.global","ranges":[{"startOffset":19753,"endOffset":19968,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19878,"endOffset":19949,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.color","ranges":[{"startOffset":20350,"endOffset":20425,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.inlineDiffs","ranges":[{"startOffset":20725,"endOffset":20818,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.diff","ranges":[{"startOffset":21075,"endOffset":21147,"count":1}],"isBlockCoverage":true},{"functionName":"Mocha.timeout","ranges":[{"startOffset":21720,"endOffset":21784,"count":1}],"isBlockCoverage":true},{"functionName":"Mocha.retries","ranges":[{"startOffset":22153,"endOffset":22217,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.slow","ranges":[{"startOffset":22594,"endOffset":22655,"count":1}],"isBlockCoverage":true},{"functionName":"Mocha.asyncOnly","ranges":[{"startOffset":22946,"endOffset":23033,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.noHighlighting","ranges":[{"startOffset":23175,"endOffset":23243,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.allowUncaught","ranges":[{"startOffset":23514,"endOffset":23613,"count":0}],"isBlockCoverage":false},{"functionName":"delay","ranges":[{"startOffset":23880,"endOffset":23944,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.dryRun","ranges":[{"startOffset":24191,"endOffset":24269,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.failZero","ranges":[{"startOffset":24520,"endOffset":24604,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.passOnFailingTestSuite","ranges":[{"startOffset":24880,"endOffset":25004,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.forbidOnly","ranges":[{"startOffset":25269,"endOffset":25359,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha.forbidPending","ranges":[{"startOffset":25645,"endOffset":25744,"count":0}],"isBlockCoverage":false},{"functionName":"Mocha._guardRunningStateTransition","ranges":[{"startOffset":25911,"endOffset":26595,"count":1},{"startOffset":25968,"endOffset":26145,"count":0},{"startOffset":26252,"endOffset":26593,"count":0}],"isBlockCoverage":true},{"functionName":"Mocha.run","ranges":[{"startOffset":27617,"endOffset":29944,"count":1},{"startOffset":27737,"endOffset":27802,"count":0},{"startOffset":27852,"endOffset":27879,"count":0},{"startOffset":28545,"endOffset":28597,"count":0},{"startOffset":28697,"endOffset":28756,"count":0}],"isBlockCoverage":true},{"functionName":"done","ranges":[{"startOffset":28884,"endOffset":29197,"count":1},{"startOffset":29026,"endOffset":29044,"count":0},{"startOffset":29058,"endOffset":29071,"count":0},{"startOffset":29118,"endOffset":29160,"count":0}],"isBlockCoverage":true},{"functionName":"runAsync","ranges":[{"startOffset":29219,"endOffset":29651,"count":1},{"startOffset":29335,"endOffset":29379,"count":0},{"startOffset":29560,"endOffset":29622,"count":0}],"isBlockCoverage":true},{"functionName":"rootHooks","ranges":[{"startOffset":30104,"endOffset":30662,"count":0}],"isBlockCoverage":false},{"functionName":"parallelMode","ranges":[{"startOffset":31343,"endOffset":32150,"count":0}],"isBlockCoverage":false},{"functionName":"lazyLoadFiles","ranges":[{"startOffset":32579,"endOffset":32709,"count":1}],"isBlockCoverage":true},{"functionName":"globalSetup","ranges":[{"startOffset":33001,"endOffset":33200,"count":1}],"isBlockCoverage":true},{"functionName":"globalTeardown","ranges":[{"startOffset":33504,"endOffset":33727,"count":1}],"isBlockCoverage":true},{"functionName":"runGlobalSetup","ranges":[{"startOffset":34200,"endOffset":34493,"count":0}],"isBlockCoverage":false},{"functionName":"runGlobalTeardown","ranges":[{"startOffset":34970,"endOffset":35286,"count":0}],"isBlockCoverage":false},{"functionName":"_runGlobalFixtures","ranges":[{"startOffset":35560,"endOffset":35737,"count":0}],"isBlockCoverage":false},{"functionName":"enableGlobalSetup","ranges":[{"startOffset":35965,"endOffset":36079,"count":1}],"isBlockCoverage":true},{"functionName":"enableGlobalTeardown","ranges":[{"startOffset":36316,"endOffset":36440,"count":1}],"isBlockCoverage":true},{"functionName":"hasGlobalSetupFixtures","ranges":[{"startOffset":36600,"endOffset":36688,"count":1}],"isBlockCoverage":true},{"functionName":"hasGlobalTeardownFixtures","ranges":[{"startOffset":36856,"endOffset":36954,"count":1}],"isBlockCoverage":true}]},{"scriptId":"440","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/escape-string-regexp/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":457,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":32,"endOffset":455,"count":0}],"isBlockCoverage":false}]},{"scriptId":"441","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":946,"count":1}],"isBlockCoverage":true}]},{"scriptId":"442","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/base.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12917,"count":1},{"startOffset":814,"endOffset":837,"count":0},{"startOffset":2402,"endOffset":2556,"count":0}],"isBlockCoverage":true},{"functionName":"getBrowserWindowSize","ranges":[{"startOffset":436,"endOffset":636,"count":0}],"isBlockCoverage":false},{"functionName":"exports.color","ranges":[{"startOffset":2116,"endOffset":2265,"count":81},{"startOffset":2194,"endOffset":2264,"count":0}],"isBlockCoverage":true},{"functionName":"hide","ranges":[{"startOffset":2668,"endOffset":2736,"count":1},{"startOffset":2693,"endOffset":2731,"count":0}],"isBlockCoverage":true},{"functionName":"show","ranges":[{"startOffset":2747,"endOffset":2815,"count":1},{"startOffset":2772,"endOffset":2810,"count":0}],"isBlockCoverage":true},{"functionName":"deleteLine","ranges":[{"startOffset":2832,"endOffset":2898,"count":0}],"isBlockCoverage":false},{"functionName":"beginningOfLine","ranges":[{"startOffset":2920,"endOffset":2986,"count":0}],"isBlockCoverage":false},{"functionName":"CR","ranges":[{"startOffset":2995,"endOffset":3158,"count":38},{"startOffset":3025,"endOffset":3107,"count":0}],"isBlockCoverage":true},{"functionName":"exports.showDiff","ranges":[{"startOffset":3198,"endOffset":3346,"count":0}],"isBlockCoverage":false},{"functionName":"stringifyDiffObjs","ranges":[{"startOffset":3350,"endOffset":3555,"count":0}],"isBlockCoverage":false},{"functionName":"exports.generateDiff","ranges":[{"startOffset":3866,"endOffset":4645,"count":0}],"isBlockCoverage":false},{"functionName":"getFullErrorStack","ranges":[{"startOffset":4828,"endOffset":5757,"count":0}],"isBlockCoverage":false},{"functionName":"exports.list","ranges":[{"startOffset":5985,"endOffset":7454,"count":0}],"isBlockCoverage":false},{"functionName":"Base","ranges":[{"startOffset":7754,"endOffset":8837,"count":1},{"startOffset":7842,"endOffset":7899,"count":0},{"startOffset":7925,"endOffset":7930,"count":0},{"startOffset":8090,"endOffset":8132,"count":0},{"startOffset":8169,"endOffset":8202,"count":0},{"startOffset":8204,"endOffset":8259,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8290,"endOffset":8502,"count":6970},{"startOffset":8345,"endOffset":8379,"count":0},{"startOffset":8422,"endOffset":8458,"count":3},{"startOffset":8458,"endOffset":8498,"count":6967}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8535,"endOffset":8833,"count":0}],"isBlockCoverage":false},{"functionName":"Base.epilogue","ranges":[{"startOffset":8982,"endOffset":9601,"count":1},{"startOffset":9210,"endOffset":9214,"count":0},{"startOffset":9434,"endOffset":9577,"count":0}],"isBlockCoverage":true},{"functionName":"pad","ranges":[{"startOffset":9727,"endOffset":9828,"count":0}],"isBlockCoverage":false},{"functionName":"inlineDiff","ranges":[{"startOffset":10000,"endOffset":10558,"count":0}],"isBlockCoverage":false},{"functionName":"unifiedDiff","ranges":[{"startOffset":10738,"endOffset":11540,"count":0}],"isBlockCoverage":false},{"functionName":"errorDiff","ranges":[{"startOffset":11685,"endOffset":12037,"count":0}],"isBlockCoverage":false},{"functionName":"colorLines","ranges":[{"startOffset":12180,"endOffset":12325,"count":0}],"isBlockCoverage":false},{"functionName":"sameType","ranges":[{"startOffset":12538,"endOffset":12619,"count":0}],"isBlockCoverage":false}]},{"scriptId":"443","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7762,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":174,"endOffset":223,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":301,"endOffset":354,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":432,"endOffset":480,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":567,"endOffset":624,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":702,"endOffset":750,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":835,"endOffset":890,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":972,"endOffset":1028,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":1104,"endOffset":1149,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":1226,"endOffset":1273,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":1354,"endOffset":1405,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":1484,"endOffset":1534,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":1613,"endOffset":1663,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":1744,"endOffset":1796,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":1875,"endOffset":1925,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":1999,"endOffset":2044,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2125,"endOffset":2179,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2263,"endOffset":2319,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2407,"endOffset":2467,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2547,"endOffset":2599,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2679,"endOffset":2731,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2819,"endOffset":2876,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2964,"endOffset":3021,"count":0}],"isBlockCoverage":false},{"functionName":"_interopRequireDefault","ranges":[{"startOffset":4462,"endOffset":4559,"count":1},{"startOffset":4536,"endOffset":4556,"count":0}],"isBlockCoverage":true}]},{"scriptId":"444","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/base.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":38478,"count":1}],"isBlockCoverage":true},{"functionName":"Diff","ranges":[{"startOffset":158,"endOffset":176,"count":7}],"isBlockCoverage":true},{"functionName":"diff","ranges":[{"startOffset":260,"endOffset":6642,"count":0}],"isBlockCoverage":false},{"functionName":"addToPath","ranges":[{"startOffset":6713,"endOffset":7336,"count":0}],"isBlockCoverage":false},{"functionName":"extractCommon","ranges":[{"startOffset":7411,"endOffset":8032,"count":0}],"isBlockCoverage":false},{"functionName":"equals","ranges":[{"startOffset":8100,"endOffset":8341,"count":0}],"isBlockCoverage":false},{"functionName":"removeEmpty","ranges":[{"startOffset":8414,"endOffset":8592,"count":0}],"isBlockCoverage":false},{"functionName":"castInput","ranges":[{"startOffset":8663,"endOffset":8712,"count":0}],"isBlockCoverage":false},{"functionName":"tokenize","ranges":[{"startOffset":8782,"endOffset":8840,"count":0}],"isBlockCoverage":false},{"functionName":"join","ranges":[{"startOffset":8906,"endOffset":8959,"count":0}],"isBlockCoverage":false},{"functionName":"buildValues","ranges":[{"startOffset":8964,"endOffset":11368,"count":0}],"isBlockCoverage":false}]},{"scriptId":"445","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/character.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1671,"count":1}],"isBlockCoverage":true},{"functionName":"_interopRequireDefault","ranges":[{"startOffset":327,"endOffset":424,"count":1},{"startOffset":401,"endOffset":421,"count":0}],"isBlockCoverage":true},{"functionName":"diffChars","ranges":[{"startOffset":688,"endOffset":789,"count":0}],"isBlockCoverage":false}]},{"scriptId":"446","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/word.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8786,"count":1}],"isBlockCoverage":true},{"functionName":"_interopRequireDefault","ranges":[{"startOffset":464,"endOffset":561,"count":1},{"startOffset":538,"endOffset":558,"count":0}],"isBlockCoverage":true},{"functionName":"wordDiff.equals","ranges":[{"startOffset":1546,"endOffset":1789,"count":0}],"isBlockCoverage":false},{"functionName":"wordDiff.tokenize","ranges":[{"startOffset":1812,"endOffset":2493,"count":0}],"isBlockCoverage":false},{"functionName":"diffWords","ranges":[{"startOffset":2496,"endOffset":2853,"count":0}],"isBlockCoverage":false},{"functionName":"diffWordsWithSpace","ranges":[{"startOffset":2855,"endOffset":2960,"count":0}],"isBlockCoverage":false}]},{"scriptId":"447","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/util/params.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1752,"count":1}],"isBlockCoverage":true},{"functionName":"generateOptions","ranges":[{"startOffset":174,"endOffset":502,"count":0}],"isBlockCoverage":false}]},{"scriptId":"448","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6283,"count":1}],"isBlockCoverage":true},{"functionName":"_interopRequireDefault","ranges":[{"startOffset":460,"endOffset":557,"count":1},{"startOffset":534,"endOffset":554,"count":0}],"isBlockCoverage":true},{"functionName":"lineDiff.tokenize","ranges":[{"startOffset":826,"endOffset":1648,"count":0}],"isBlockCoverage":false},{"functionName":"diffLines","ranges":[{"startOffset":1651,"endOffset":1749,"count":0}],"isBlockCoverage":false},{"functionName":"diffTrimmedLines","ranges":[{"startOffset":1751,"endOffset":2121,"count":0}],"isBlockCoverage":false}]},{"scriptId":"449","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/sentence.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2090,"count":1}],"isBlockCoverage":true},{"functionName":"_interopRequireDefault","ranges":[{"startOffset":334,"endOffset":431,"count":1},{"startOffset":408,"endOffset":428,"count":0}],"isBlockCoverage":true},{"functionName":"sentenceDiff.tokenize","ranges":[{"startOffset":716,"endOffset":783,"count":0}],"isBlockCoverage":false},{"functionName":"diffSentences","ranges":[{"startOffset":786,"endOffset":892,"count":0}],"isBlockCoverage":false}]},{"scriptId":"450","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/css.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1966,"count":1}],"isBlockCoverage":true},{"functionName":"_interopRequireDefault","ranges":[{"startOffset":317,"endOffset":414,"count":1},{"startOffset":391,"endOffset":411,"count":0}],"isBlockCoverage":true},{"functionName":"cssDiff.tokenize","ranges":[{"startOffset":679,"endOffset":738,"count":0}],"isBlockCoverage":false},{"functionName":"diffCss","ranges":[{"startOffset":741,"endOffset":836,"count":0}],"isBlockCoverage":false}]},{"scriptId":"451","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/json.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12937,"count":1}],"isBlockCoverage":true},{"functionName":"_interopRequireDefault","ranges":[{"startOffset":440,"endOffset":537,"count":1},{"startOffset":514,"endOffset":534,"count":0}],"isBlockCoverage":true},{"functionName":"_typeof","ranges":[{"startOffset":539,"endOffset":917,"count":0}],"isBlockCoverage":false},{"functionName":"jsonDiff.castInput","ranges":[{"startOffset":1625,"endOffset":2249,"count":0}],"isBlockCoverage":false},{"functionName":"jsonDiff.equals","ranges":[{"startOffset":2270,"endOffset":2565,"count":0}],"isBlockCoverage":false},{"functionName":"diffJson","ranges":[{"startOffset":2568,"endOffset":2663,"count":0}],"isBlockCoverage":false},{"functionName":"canonicalize","ranges":[{"startOffset":2859,"endOffset":4359,"count":0}],"isBlockCoverage":false}]},{"scriptId":"452","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/array.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2300,"count":1}],"isBlockCoverage":true},{"functionName":"_interopRequireDefault","ranges":[{"startOffset":325,"endOffset":422,"count":1},{"startOffset":399,"endOffset":419,"count":0}],"isBlockCoverage":true},{"functionName":"arrayDiff.tokenize","ranges":[{"startOffset":695,"endOffset":739,"count":0}],"isBlockCoverage":false},{"functionName":"arrayDiff.join.arrayDiff.removeEmpty","ranges":[{"startOffset":783,"endOffset":819,"count":0}],"isBlockCoverage":false},{"functionName":"diffArrays","ranges":[{"startOffset":822,"endOffset":922,"count":0}],"isBlockCoverage":false}]},{"scriptId":"453","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/apply.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":20050,"count":1}],"isBlockCoverage":true},{"functionName":"_interopRequireDefault","ranges":[{"startOffset":450,"endOffset":547,"count":1},{"startOffset":524,"endOffset":544,"count":0}],"isBlockCoverage":true},{"functionName":"applyPatch","ranges":[{"startOffset":573,"endOffset":4839,"count":0}],"isBlockCoverage":false},{"functionName":"applyPatches","ranges":[{"startOffset":4904,"endOffset":5760,"count":0}],"isBlockCoverage":false}]},{"scriptId":"454","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/parse.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":17908,"count":1}],"isBlockCoverage":true},{"functionName":"parsePatch","ranges":[{"startOffset":164,"endOffset":4730,"count":0}],"isBlockCoverage":false}]},{"scriptId":"455","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/util/distance-iterator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4641,"count":1}],"isBlockCoverage":true},{"functionName":"_default","ranges":[{"startOffset":340,"endOffset":1483,"count":0}],"isBlockCoverage":false}]},{"scriptId":"456","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/merge.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":50907,"count":1}],"isBlockCoverage":true},{"functionName":"_toConsumableArray","ranges":[{"startOffset":482,"endOffset":635,"count":0}],"isBlockCoverage":false},{"functionName":"_nonIterableSpread","ranges":[{"startOffset":637,"endOffset":827,"count":0}],"isBlockCoverage":false},{"functionName":"_unsupportedIterableToArray","ranges":[{"startOffset":829,"endOffset":1245,"count":0}],"isBlockCoverage":false},{"functionName":"_iterableToArray","ranges":[{"startOffset":1247,"endOffset":1377,"count":0}],"isBlockCoverage":false},{"functionName":"_arrayWithoutHoles","ranges":[{"startOffset":1379,"endOffset":1470,"count":0}],"isBlockCoverage":false},{"functionName":"_arrayLikeToArray","ranges":[{"startOffset":1472,"endOffset":1655,"count":0}],"isBlockCoverage":false},{"functionName":"calcLineCount","ranges":[{"startOffset":1681,"endOffset":2135,"count":0}],"isBlockCoverage":false},{"functionName":"merge","ranges":[{"startOffset":2137,"endOffset":5016,"count":0}],"isBlockCoverage":false},{"functionName":"loadPatch","ranges":[{"startOffset":5018,"endOffset":5874,"count":0}],"isBlockCoverage":false},{"functionName":"fileNameChanged","ranges":[{"startOffset":5876,"endOffset":5982,"count":0}],"isBlockCoverage":false},{"functionName":"selectField","ranges":[{"startOffset":5984,"endOffset":6172,"count":0}],"isBlockCoverage":false},{"functionName":"hunkBefore","ranges":[{"startOffset":6174,"endOffset":6301,"count":0}],"isBlockCoverage":false},{"functionName":"cloneHunk","ranges":[{"startOffset":6303,"endOffset":6502,"count":0}],"isBlockCoverage":false},{"functionName":"mergeLines","ranges":[{"startOffset":6504,"endOffset":9249,"count":0}],"isBlockCoverage":false},{"functionName":"mutualChange","ranges":[{"startOffset":9251,"endOffset":11898,"count":0}],"isBlockCoverage":false},{"functionName":"removal","ranges":[{"startOffset":11900,"endOffset":12608,"count":0}],"isBlockCoverage":false},{"functionName":"conflict","ranges":[{"startOffset":12610,"endOffset":12754,"count":0}],"isBlockCoverage":false},{"functionName":"insertLeading","ranges":[{"startOffset":12756,"endOffset":12979,"count":0}],"isBlockCoverage":false},{"functionName":"insertTrailing","ranges":[{"startOffset":12981,"endOffset":13145,"count":0}],"isBlockCoverage":false},{"functionName":"collectChange","ranges":[{"startOffset":13147,"endOffset":13641,"count":0}],"isBlockCoverage":false},{"functionName":"collectContext","ranges":[{"startOffset":13643,"endOffset":14910,"count":0}],"isBlockCoverage":false},{"functionName":"allRemoves","ranges":[{"startOffset":14912,"endOffset":15044,"count":0}],"isBlockCoverage":false},{"functionName":"skipRemoveSuperset","ranges":[{"startOffset":15046,"endOffset":15360,"count":0}],"isBlockCoverage":false},{"functionName":"calcOldNewLineCount","ranges":[{"startOffset":15362,"endOffset":16317,"count":0}],"isBlockCoverage":false}]},{"scriptId":"457","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/create.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":23969,"count":1}],"isBlockCoverage":true},{"functionName":"_toConsumableArray","ranges":[{"startOffset":410,"endOffset":563,"count":0}],"isBlockCoverage":false},{"functionName":"_nonIterableSpread","ranges":[{"startOffset":565,"endOffset":755,"count":0}],"isBlockCoverage":false},{"functionName":"_unsupportedIterableToArray","ranges":[{"startOffset":757,"endOffset":1173,"count":0}],"isBlockCoverage":false},{"functionName":"_iterableToArray","ranges":[{"startOffset":1175,"endOffset":1305,"count":0}],"isBlockCoverage":false},{"functionName":"_arrayWithoutHoles","ranges":[{"startOffset":1307,"endOffset":1398,"count":0}],"isBlockCoverage":false},{"functionName":"_arrayLikeToArray","ranges":[{"startOffset":1400,"endOffset":1583,"count":0}],"isBlockCoverage":false},{"functionName":"structuredPatch","ranges":[{"startOffset":1609,"endOffset":6844,"count":0}],"isBlockCoverage":false},{"functionName":"formatPatch","ranges":[{"startOffset":6846,"endOffset":7944,"count":0}],"isBlockCoverage":false},{"functionName":"createTwoFilesPatch","ranges":[{"startOffset":7946,"endOffset":8163,"count":0}],"isBlockCoverage":false},{"functionName":"createPatch","ranges":[{"startOffset":8165,"endOffset":8343,"count":0}],"isBlockCoverage":false}]},{"scriptId":"458","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/util/array.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2026,"count":1}],"isBlockCoverage":true},{"functionName":"arrayEqual","ranges":[{"startOffset":207,"endOffset":322,"count":0}],"isBlockCoverage":false},{"functionName":"arrayStartsWith","ranges":[{"startOffset":324,"endOffset":548,"count":0}],"isBlockCoverage":false}]},{"scriptId":"459","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/reverse.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5555,"count":1}],"isBlockCoverage":true},{"functionName":"ownKeys","ranges":[{"startOffset":144,"endOffset":485,"count":0}],"isBlockCoverage":false},{"functionName":"_objectSpread","ranges":[{"startOffset":487,"endOffset":1021,"count":0}],"isBlockCoverage":false},{"functionName":"_defineProperty","ranges":[{"startOffset":1023,"endOffset":1232,"count":0}],"isBlockCoverage":false},{"functionName":"reversePatch","ranges":[{"startOffset":1258,"endOffset":2553,"count":0}],"isBlockCoverage":false}]},{"scriptId":"460","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/convert/dmp.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2255,"count":1}],"isBlockCoverage":true},{"functionName":"convertChangesToDMP","ranges":[{"startOffset":248,"endOffset":609,"count":0}],"isBlockCoverage":false}]},{"scriptId":"461","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/convert/xml.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3359,"count":1}],"isBlockCoverage":true},{"functionName":"convertChangesToXML","ranges":[{"startOffset":182,"endOffset":613,"count":0}],"isBlockCoverage":false},{"functionName":"escapeHTML","ranges":[{"startOffset":615,"endOffset":793,"count":0}],"isBlockCoverage":false}]},{"scriptId":"462","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/node_modules/ms/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3024,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":422,"endOffset":792,"count":1},{"startOffset":524,"endOffset":541,"count":0},{"startOffset":543,"endOffset":571,"count":0},{"startOffset":643,"endOffset":657,"count":0},{"startOffset":678,"endOffset":791,"count":0}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":916,"endOffset":1999,"count":0}],"isBlockCoverage":false},{"functionName":"fmtShort","ranges":[{"startOffset":2097,"endOffset":2414,"count":1},{"startOffset":2167,"endOffset":2209,"count":0},{"startOffset":2228,"endOffset":2270,"count":0},{"startOffset":2289,"endOffset":2331,"count":0},{"startOffset":2392,"endOffset":2413,"count":0}],"isBlockCoverage":true},{"functionName":"fmtLong","ranges":[{"startOffset":2511,"endOffset":2847,"count":0}],"isBlockCoverage":false},{"functionName":"plural","ranges":[{"startOffset":2883,"endOffset":3023,"count":0}],"isBlockCoverage":false}]},{"scriptId":"463","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/utils.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":18622,"count":1}],"isBlockCoverage":true},{"functionName":"exports.escape","ranges":[{"startOffset":797,"endOffset":879,"count":0}],"isBlockCoverage":false},{"functionName":"exports.isString","ranges":[{"startOffset":1012,"endOffset":1064,"count":7714}],"isBlockCoverage":true},{"functionName":"exports.slug","ranges":[{"startOffset":1188,"endOffset":1321,"count":0}],"isBlockCoverage":false},{"functionName":"exports.clean","ranges":[{"startOffset":1473,"endOffset":2125,"count":0}],"isBlockCoverage":false},{"functionName":"emptyRepresentation","ranges":[{"startOffset":2587,"endOffset":2829,"count":0}],"isBlockCoverage":false},{"functionName":"canonicalType","ranges":[{"startOffset":3694,"endOffset":4087,"count":5},{"startOffset":3753,"endOffset":3782,"count":0},{"startOffset":3808,"endOffset":3832,"count":0},{"startOffset":3866,"endOffset":3892,"count":0},{"startOffset":3941,"endOffset":3975,"count":0}],"isBlockCoverage":true},{"functionName":"type","ranges":[{"startOffset":4710,"endOffset":5186,"count":0}],"isBlockCoverage":false},{"functionName":"exports.stringify","ranges":[{"startOffset":5806,"endOffset":6851,"count":0}],"isBlockCoverage":false},{"functionName":"jsonStringify","ranges":[{"startOffset":7012,"endOffset":9055,"count":0}],"isBlockCoverage":false},{"functionName":"canonicalize","ranges":[{"startOffset":9957,"endOffset":11732,"count":0}],"isBlockCoverage":false},{"functionName":"exports.stackTraceFilter","ranges":[{"startOffset":12103,"endOffset":13434,"count":1},{"startOffset":12217,"endOffset":12234,"count":0},{"startOffset":12324,"endOffset":12468,"count":0}],"isBlockCoverage":true},{"functionName":"isMochaInternal","ranges":[{"startOffset":12472,"endOffset":12680,"count":0}],"isBlockCoverage":false},{"functionName":"isNodeInternal","ranges":[{"startOffset":12684,"endOffset":12968,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":12979,"endOffset":13431,"count":0}],"isBlockCoverage":false},{"functionName":"isPromise","ranges":[{"startOffset":13579,"endOffset":13716,"count":0}],"isBlockCoverage":false},{"functionName":"clamp","ranges":[{"startOffset":13954,"endOffset":14042,"count":8165}],"isBlockCoverage":true},{"functionName":"exports.noop","ranges":[{"startOffset":14095,"endOffset":14109,"count":0}],"isBlockCoverage":false},{"functionName":"exports.createMap","ranges":[{"startOffset":15014,"endOffset":15149,"count":5}],"isBlockCoverage":true},{"functionName":"exports.defineConstants","ranges":[{"startOffset":15639,"endOffset":15852,"count":5},{"startOffset":15723,"endOffset":15802,"count":0}],"isBlockCoverage":true},{"functionName":"cwd","ranges":[{"startOffset":15977,"endOffset":16019,"count":4}],"isBlockCoverage":true},{"functionName":"isBrowser","ranges":[{"startOffset":16169,"endOffset":16228,"count":2}],"isBlockCoverage":true},{"functionName":"castArray","ranges":[{"startOffset":16733,"endOffset":17036,"count":5},{"startOffset":16788,"endOffset":16808,"count":0},{"startOffset":16831,"endOffset":16855,"count":0},{"startOffset":16946,"endOffset":16975,"count":0},{"startOffset":17016,"endOffset":17035,"count":0}],"isBlockCoverage":true},{"functionName":"exports.uniqueID","ranges":[{"startOffset":17388,"endOffset":17512,"count":7713},{"startOffset":17442,"endOffset":17497,"count":161973}],"isBlockCoverage":true},{"functionName":"exports.assignNewMochaID","ranges":[{"startOffset":17542,"endOffset":17691,"count":7713}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":17639,"endOffset":17669,"count":0}],"isBlockCoverage":false},{"functionName":"exports.getMochaID","ranges":[{"startOffset":17830,"endOffset":17907,"count":0}],"isBlockCoverage":false},{"functionName":"exports.breakCircularDeps","ranges":[{"startOffset":18086,"endOffset":18620,"count":0}],"isBlockCoverage":false}]},{"scriptId":"464","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/he/he.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":100883,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61,"endOffset":100874,"count":1},{"startOffset":500,"endOffset":535,"count":0},{"startOffset":100447,"endOffset":100481,"count":0},{"startOffset":100482,"endOffset":100497,"count":0},{"startOffset":100501,"endOffset":100547,"count":0},{"startOffset":100689,"endOffset":100813,"count":0},{"startOffset":100816,"endOffset":100871,"count":0}],"isBlockCoverage":true},{"functionName":"has","ranges":[{"startOffset":92347,"endOffset":92434,"count":0}],"isBlockCoverage":false},{"functionName":"contains","ranges":[{"startOffset":92453,"endOffset":92630,"count":0}],"isBlockCoverage":false},{"functionName":"merge","ranges":[{"startOffset":92646,"endOffset":92997,"count":0}],"isBlockCoverage":false},{"functionName":"codePointToSymbol","ranges":[{"startOffset":93093,"endOffset":94044,"count":0}],"isBlockCoverage":false},{"functionName":"hexEscape","ranges":[{"startOffset":94064,"endOffset":94149,"count":0}],"isBlockCoverage":false},{"functionName":"decEscape","ranges":[{"startOffset":94169,"endOffset":94226,"count":0}],"isBlockCoverage":false},{"functionName":"parseError","ranges":[{"startOffset":94247,"endOffset":94311,"count":0}],"isBlockCoverage":false},{"functionName":"encode","ranges":[{"startOffset":94409,"endOffset":97437,"count":0}],"isBlockCoverage":false},{"functionName":"decode","ranges":[{"startOffset":97673,"endOffset":99781,"count":0}],"isBlockCoverage":false},{"functionName":"escape","ranges":[{"startOffset":99934,"endOffset":100103,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":100512,"endOffset":100542,"count":0}],"isBlockCoverage":false}]},{"scriptId":"465","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/node_modules/supports-color/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3065,"count":1},{"startOffset":254,"endOffset":278,"count":0},{"startOffset":382,"endOffset":406,"count":0}],"isBlockCoverage":true},{"functionName":"envForceColor","ranges":[{"startOffset":408,"endOffset":672,"count":2},{"startOffset":462,"endOffset":670,"count":0}],"isBlockCoverage":true},{"functionName":"translateLevel","ranges":[{"startOffset":674,"endOffset":832,"count":2},{"startOffset":745,"endOffset":831,"count":0}],"isBlockCoverage":true},{"functionName":"supportsColor","ranges":[{"startOffset":834,"endOffset":2729,"count":2},{"startOffset":990,"endOffset":1031,"count":0},{"startOffset":1081,"endOffset":1099,"count":0},{"startOffset":1125,"endOffset":1141,"count":0},{"startOffset":1251,"endOffset":1269,"count":0},{"startOffset":1299,"endOffset":1317,"count":0},{"startOffset":1399,"endOffset":1429,"count":0},{"startOffset":1458,"endOffset":2728,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1989,"endOffset":2008,"count":0}],"isBlockCoverage":false},{"functionName":"getSupportLevel","ranges":[{"startOffset":2731,"endOffset":2909,"count":2}],"isBlockCoverage":true}]},{"scriptId":"466","url":"node:os","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9769,"count":1}],"isBlockCoverage":false},{"functionName":"getCheckedFunction","ranges":[{"startOffset":2026,"endOffset":2267,"count":4}],"isBlockCoverage":true},{"functionName":"checkError","ranges":[{"startOffset":2085,"endOffset":2263,"count":0}],"isBlockCoverage":false},{"functionName":"getOSRelease","ranges":[{"startOffset":2649,"endOffset":2662,"count":0}],"isBlockCoverage":false},{"functionName":"getOSType","ranges":[{"startOffset":2711,"endOffset":2721,"count":1}],"isBlockCoverage":true},{"functionName":"getOSVersion","ranges":[{"startOffset":2773,"endOffset":2786,"count":0}],"isBlockCoverage":false},{"functionName":"getMachine","ranges":[{"startOffset":2836,"endOffset":2849,"count":0}],"isBlockCoverage":false},{"functionName":"getAvailableParallelism.","ranges":[{"startOffset":2897,"endOffset":2928,"count":0}],"isBlockCoverage":false},{"functionName":"getFreeMem.","ranges":[{"startOffset":2962,"endOffset":2980,"count":0}],"isBlockCoverage":false},{"functionName":"getHostname.","ranges":[{"startOffset":3015,"endOffset":3034,"count":0}],"isBlockCoverage":false},{"functionName":"getOSVersion.","ranges":[{"startOffset":3070,"endOffset":3090,"count":0}],"isBlockCoverage":false},{"functionName":"getOSType.","ranges":[{"startOffset":3123,"endOffset":3140,"count":0}],"isBlockCoverage":false},{"functionName":"getOSRelease.","ranges":[{"startOffset":3176,"endOffset":3196,"count":0}],"isBlockCoverage":false},{"functionName":"getMachine.","ranges":[{"startOffset":3230,"endOffset":3248,"count":0}],"isBlockCoverage":false},{"functionName":"getHomeDirectory.","ranges":[{"startOffset":3288,"endOffset":3312,"count":0}],"isBlockCoverage":false},{"functionName":"getTotalMem.","ranges":[{"startOffset":3347,"endOffset":3366,"count":0}],"isBlockCoverage":false},{"functionName":"getUptime.","ranges":[{"startOffset":3399,"endOffset":3416,"count":0}],"isBlockCoverage":false},{"functionName":"loadavg","ranges":[{"startOffset":3554,"endOffset":3654,"count":0}],"isBlockCoverage":false},{"functionName":"cpus","ranges":[{"startOffset":3934,"endOffset":4363,"count":0}],"isBlockCoverage":false},{"functionName":"arch","ranges":[{"startOffset":4394,"endOffset":4436,"count":0}],"isBlockCoverage":false},{"functionName":"arch.","ranges":[{"startOffset":4463,"endOffset":4481,"count":0}],"isBlockCoverage":false},{"functionName":"platform","ranges":[{"startOffset":4513,"endOffset":4563,"count":1}],"isBlockCoverage":true},{"functionName":"platform.","ranges":[{"startOffset":4594,"endOffset":4616,"count":0}],"isBlockCoverage":false},{"functionName":"tmpdir","ranges":[{"startOffset":4648,"endOffset":5253,"count":0}],"isBlockCoverage":false},{"functionName":"tmpdir.","ranges":[{"startOffset":5282,"endOffset":5296,"count":0}],"isBlockCoverage":false},{"functionName":"endianness","ranges":[{"startOffset":5333,"endOffset":5380,"count":0}],"isBlockCoverage":false},{"functionName":"endianness.","ranges":[{"startOffset":5413,"endOffset":5430,"count":0}],"isBlockCoverage":false},{"functionName":"countBinaryOnes","ranges":[{"startOffset":5518,"endOffset":5771,"count":0}],"isBlockCoverage":false},{"functionName":"getCIDR","ranges":[{"startOffset":5773,"endOffset":6718,"count":0}],"isBlockCoverage":false},{"functionName":"networkInterfaces","ranges":[{"startOffset":6929,"endOffset":7622,"count":0}],"isBlockCoverage":false},{"functionName":"setPriority","ranges":[{"startOffset":7706,"endOffset":7995,"count":0}],"isBlockCoverage":false},{"functionName":"getPriority","ranges":[{"startOffset":8053,"endOffset":8308,"count":0}],"isBlockCoverage":false},{"functionName":"userInfo","ranges":[{"startOffset":8612,"endOffset":8900,"count":0}],"isBlockCoverage":false}]},{"scriptId":"467","url":"node:tty","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5058,"count":1}],"isBlockCoverage":false},{"functionName":"isatty","ranges":[{"startOffset":1535,"endOffset":1641,"count":20}],"isBlockCoverage":true},{"functionName":"ReadStream","ranges":[{"startOffset":1643,"endOffset":2112,"count":0}],"isBlockCoverage":false},{"functionName":"ReadStream.setRawMode","ranges":[{"startOffset":2261,"endOffset":2478,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream","ranges":[{"startOffset":2481,"endOffset":3453,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream._refreshSize","ranges":[{"startOffset":3744,"endOffset":4180,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream.cursorTo","ranges":[{"startOffset":4236,"endOffset":4376,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream.moveCursor","ranges":[{"startOffset":4413,"endOffset":4559,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream.clearLine","ranges":[{"startOffset":4595,"endOffset":4734,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream.clearScreenDown","ranges":[{"startOffset":4776,"endOffset":4911,"count":0}],"isBlockCoverage":false},{"functionName":"WriteStream.getWindowSize","ranges":[{"startOffset":4951,"endOffset":5001,"count":0}],"isBlockCoverage":false}]},{"scriptId":"468","url":"node:net","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":64869,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1585,"endOffset":1610,"count":0}],"isBlockCoverage":false},{"functionName":"noop","ranges":[{"startOffset":4091,"endOffset":4099,"count":0}],"isBlockCoverage":false},{"functionName":"lazyChannels","ranges":[{"startOffset":4234,"endOffset":4790,"count":0}],"isBlockCoverage":false},{"functionName":"getFlags","ranges":[{"startOffset":4950,"endOffset":5044,"count":0}],"isBlockCoverage":false},{"functionName":"createHandle","ranges":[{"startOffset":5046,"endOffset":5429,"count":2},{"startOffset":5213,"endOffset":5235,"count":0},{"startOffset":5270,"endOffset":5428,"count":0}],"isBlockCoverage":true},{"functionName":"getNewAsyncId","ranges":[{"startOffset":5432,"endOffset":5570,"count":2},{"startOffset":5527,"endOffset":5545,"count":0}],"isBlockCoverage":true},{"functionName":"isPipeName","ranges":[{"startOffset":5573,"endOffset":5656,"count":0}],"isBlockCoverage":false},{"functionName":"createServer","ranges":[{"startOffset":5857,"endOffset":5961,"count":0}],"isBlockCoverage":false},{"functionName":"connect","ranges":[{"startOffset":6184,"endOffset":6602,"count":0}],"isBlockCoverage":false},{"functionName":"getDefaultAutoSelectFamily","ranges":[{"startOffset":6604,"endOffset":6679,"count":0}],"isBlockCoverage":false},{"functionName":"setDefaultAutoSelectFamily","ranges":[{"startOffset":6681,"endOffset":6797,"count":0}],"isBlockCoverage":false},{"functionName":"getDefaultAutoSelectFamilyAttemptTimeout","ranges":[{"startOffset":6799,"endOffset":6902,"count":0}],"isBlockCoverage":false},{"functionName":"setDefaultAutoSelectFamilyAttemptTimeout","ranges":[{"startOffset":6904,"endOffset":7091,"count":0}],"isBlockCoverage":false},{"functionName":"normalizeArgs","ranges":[{"startOffset":7585,"endOffset":8311,"count":0}],"isBlockCoverage":false},{"functionName":"initSocketHandle","ranges":[{"startOffset":8383,"endOffset":8986,"count":2},{"startOffset":8739,"endOffset":8980,"count":0}],"isBlockCoverage":true},{"functionName":"closeSocketHandle","ranges":[{"startOffset":8988,"endOffset":9328,"count":0}],"isBlockCoverage":false},{"functionName":"Socket","ranges":[{"startOffset":9580,"endOffset":14123,"count":2},{"startOffset":9640,"endOffset":9667,"count":0},{"startOffset":9695,"endOffset":9824,"count":0},{"startOffset":9894,"endOffset":10142,"count":0},{"startOffset":10204,"endOffset":10400,"count":0},{"startOffset":10962,"endOffset":10988,"count":0},{"startOffset":11394,"endOffset":11502,"count":0},{"startOffset":12030,"endOffset":12064,"count":0},{"startOffset":12140,"endOffset":12151,"count":1},{"startOffset":12209,"endOffset":12738,"count":0},{"startOffset":12829,"endOffset":12906,"count":0},{"startOffset":12907,"endOffset":12953,"count":0},{"startOffset":12955,"endOffset":13170,"count":0},{"startOffset":13705,"endOffset":13970,"count":0}],"isBlockCoverage":true},{"functionName":"_unrefTimer","ranges":[{"startOffset":14296,"endOffset":14426,"count":234},{"startOffset":14398,"endOffset":14420,"count":0}],"isBlockCoverage":true},{"functionName":"Socket._final","ranges":[{"startOffset":14546,"endOffset":15162,"count":0}],"isBlockCoverage":false},{"functionName":"afterShutdown","ranges":[{"startOffset":15165,"endOffset":15311,"count":0}],"isBlockCoverage":false},{"functionName":"writeAfterFIN","ranges":[{"startOffset":15518,"endOffset":16026,"count":0}],"isBlockCoverage":false},{"functionName":"Socket._onTimeout","ranges":[{"startOffset":16108,"endOffset":16612,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.setNoDelay","ranges":[{"startOffset":16646,"endOffset":17023,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.setKeepAlive","ranges":[{"startOffset":17059,"endOffset":17665,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.address","ranges":[{"startOffset":17696,"endOffset":17740,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":17826,"endOffset":17870,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":17950,"endOffset":18006,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":18117,"endOffset":18432,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":18521,"endOffset":18601,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":18689,"endOffset":18734,"count":0}],"isBlockCoverage":false},{"functionName":"tryReadStart","ranges":[{"startOffset":18742,"endOffset":18988,"count":0}],"isBlockCoverage":false},{"functionName":"Socket._read","ranges":[{"startOffset":19080,"endOffset":19399,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.end","ranges":[{"startOffset":19426,"endOffset":19613,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.resetAndDestroy","ranges":[{"startOffset":19651,"endOffset":20001,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.pause","ranges":[{"startOffset":20029,"endOffset":20363,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.resume","ranges":[{"startOffset":20393,"endOffset":20577,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.read","ranges":[{"startOffset":20605,"endOffset":20791,"count":0}],"isBlockCoverage":false},{"functionName":"onReadableStreamEnd","ranges":[{"startOffset":20838,"endOffset":20937,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.destroySoon","ranges":[{"startOffset":20971,"endOffset":21118,"count":0}],"isBlockCoverage":false},{"functionName":"Socket._destroy","ranges":[{"startOffset":21150,"endOffset":22660,"count":0}],"isBlockCoverage":false},{"functionName":"Socket._reset","ranges":[{"startOffset":22689,"endOffset":22788,"count":0}],"isBlockCoverage":false},{"functionName":"Socket._getpeername","ranges":[{"startOffset":22823,"endOffset":23120,"count":0}],"isBlockCoverage":false},{"functionName":"protoGetter","ranges":[{"startOffset":23123,"endOffset":23305,"count":9}],"isBlockCoverage":true},{"functionName":"bytesRead","ranges":[{"startOffset":23332,"endOffset":23423,"count":0}],"isBlockCoverage":false},{"functionName":"remoteAddress","ranges":[{"startOffset":23456,"endOffset":23522,"count":0}],"isBlockCoverage":false},{"functionName":"remoteFamily","ranges":[{"startOffset":23554,"endOffset":23618,"count":0}],"isBlockCoverage":false},{"functionName":"remotePort","ranges":[{"startOffset":23648,"endOffset":23708,"count":0}],"isBlockCoverage":false},{"functionName":"Socket._getsockname","ranges":[{"startOffset":23745,"endOffset":24021,"count":0}],"isBlockCoverage":false},{"functionName":"localAddress","ranges":[{"startOffset":24053,"endOffset":24118,"count":0}],"isBlockCoverage":false},{"functionName":"localPort","ranges":[{"startOffset":24148,"endOffset":24207,"count":0}],"isBlockCoverage":false},{"functionName":"localFamily","ranges":[{"startOffset":24238,"endOffset":24301,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.","ranges":[{"startOffset":24342,"endOffset":24389,"count":0}],"isBlockCoverage":false},{"functionName":"Socket._writeGeneric","ranges":[{"startOffset":24425,"endOffset":25337,"count":234},{"startOffset":24647,"endOffset":24991,"count":0},{"startOffset":25072,"endOffset":25128,"count":0},{"startOffset":25182,"endOffset":25218,"count":0},{"startOffset":25297,"endOffset":25335,"count":0}],"isBlockCoverage":true},{"functionName":"connect","ranges":[{"startOffset":24742,"endOffset":24856,"count":0}],"isBlockCoverage":false},{"functionName":"onClose","ranges":[{"startOffset":24863,"endOffset":24942,"count":0}],"isBlockCoverage":false},{"functionName":"Socket._writev","ranges":[{"startOffset":25368,"endOffset":25436,"count":0}],"isBlockCoverage":false},{"functionName":"Socket._write","ranges":[{"startOffset":25466,"endOffset":25547,"count":234}],"isBlockCoverage":true},{"functionName":"_bytesDispatched","ranges":[{"startOffset":25740,"endOffset":25844,"count":0}],"isBlockCoverage":false},{"functionName":"bytesWritten","ranges":[{"startOffset":25876,"endOffset":26805,"count":0}],"isBlockCoverage":false},{"functionName":"checkBindError","ranges":[{"startOffset":26810,"endOffset":27609,"count":0}],"isBlockCoverage":false},{"functionName":"internalConnect","ranges":[{"startOffset":27612,"endOffset":29607,"count":0}],"isBlockCoverage":false},{"functionName":"internalConnectMultiple","ranges":[{"startOffset":29610,"endOffset":32090,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.connect","ranges":[{"startOffset":32119,"endOffset":33570,"count":0}],"isBlockCoverage":false},{"functionName":"reinitializeHandle","ranges":[{"startOffset":33613,"endOffset":33767,"count":0}],"isBlockCoverage":false},{"functionName":"socketToDnsFamily","ranges":[{"startOffset":33770,"endOffset":33916,"count":0}],"isBlockCoverage":false},{"functionName":"lookupAndConnect","ranges":[{"startOffset":33918,"endOffset":37827,"count":0}],"isBlockCoverage":false},{"functionName":"lookupAndConnectMultiple","ranges":[{"startOffset":37829,"endOffset":40914,"count":0}],"isBlockCoverage":false},{"functionName":"connectErrorNT","ranges":[{"startOffset":40916,"endOffset":40975,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.ref","ranges":[{"startOffset":41001,"endOffset":41188,"count":0}],"isBlockCoverage":false},{"functionName":"Socket.unref","ranges":[{"startOffset":41217,"endOffset":41410,"count":0}],"isBlockCoverage":false},{"functionName":"afterConnect","ranges":[{"startOffset":41414,"endOffset":42995,"count":0}],"isBlockCoverage":false},{"functionName":"afterConnectMultiple","ranges":[{"startOffset":42997,"endOffset":44884,"count":0}],"isBlockCoverage":false},{"functionName":"internalConnectMultipleTimeout","ranges":[{"startOffset":44886,"endOffset":45118,"count":0}],"isBlockCoverage":false},{"functionName":"addAbortSignalOption","ranges":[{"startOffset":45120,"endOffset":45560,"count":0}],"isBlockCoverage":false},{"functionName":"Server","ranges":[{"startOffset":45562,"endOffset":47149,"count":0}],"isBlockCoverage":false},{"functionName":"toNumber","ranges":[{"startOffset":47260,"endOffset":47325,"count":0}],"isBlockCoverage":false},{"functionName":"createServerHandle","ranges":[{"startOffset":47393,"endOffset":48845,"count":0}],"isBlockCoverage":false},{"functionName":"setupListenHandle","ranges":[{"startOffset":48847,"endOffset":51198,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorNT","ranges":[{"startOffset":51265,"endOffset":51327,"count":0}],"isBlockCoverage":false},{"functionName":"emitListeningNT","ranges":[{"startOffset":51330,"endOffset":51445,"count":0}],"isBlockCoverage":false},{"functionName":"listenInCluster","ranges":[{"startOffset":51448,"endOffset":52708,"count":0}],"isBlockCoverage":false},{"functionName":"Server.listen","ranges":[{"startOffset":52737,"endOffset":56563,"count":0}],"isBlockCoverage":false},{"functionName":"lookupAndListen","ranges":[{"startOffset":56566,"endOffset":56978,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":57060,"endOffset":57103,"count":0}],"isBlockCoverage":false},{"functionName":"Server.address","ranges":[{"startOffset":57179,"endOffset":57468,"count":0}],"isBlockCoverage":false},{"functionName":"onconnection","ranges":[{"startOffset":57471,"endOffset":59426,"count":0}],"isBlockCoverage":false},{"functionName":"Server.getConnections","ranges":[{"startOffset":59575,"endOffset":60328,"count":0}],"isBlockCoverage":false},{"functionName":"Server.close","ranges":[{"startOffset":60357,"endOffset":61224,"count":0}],"isBlockCoverage":false},{"functionName":"Server.","ranges":[{"startOffset":61266,"endOffset":61386,"count":0}],"isBlockCoverage":false},{"functionName":"Server._emitCloseIfDrained","ranges":[{"startOffset":61428,"endOffset":61814,"count":0}],"isBlockCoverage":false},{"functionName":"emitCloseNT","ranges":[{"startOffset":61818,"endOffset":61901,"count":0}],"isBlockCoverage":false},{"functionName":"Server.","ranges":[{"startOffset":61960,"endOffset":62122,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":62344,"endOffset":62380,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":62384,"endOffset":62425,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":62505,"endOffset":62536,"count":250}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":62540,"endOffset":62576,"count":2}],"isBlockCoverage":true},{"functionName":"Server._setupWorker","ranges":[{"startOffset":62615,"endOffset":62856,"count":0}],"isBlockCoverage":false},{"functionName":"Server.ref","ranges":[{"startOffset":62882,"endOffset":62980,"count":0}],"isBlockCoverage":false},{"functionName":"Server.unref","ranges":[{"startOffset":63008,"endOffset":63107,"count":0}],"isBlockCoverage":false},{"functionName":"_setSimultaneousAccepts","ranges":[{"startOffset":63249,"endOffset":63918,"count":0}],"isBlockCoverage":false},{"functionName":"_setSimultaneousAccepts","ranges":[{"startOffset":63957,"endOffset":64198,"count":0}],"isBlockCoverage":false},{"functionName":"get BlockList","ranges":[{"startOffset":64327,"endOffset":64429,"count":0}],"isBlockCoverage":false},{"functionName":"get SocketAddress","ranges":[{"startOffset":64433,"endOffset":64555,"count":0}],"isBlockCoverage":false}]},{"scriptId":"469","url":"node:internal/stream_base_commons","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7041,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1010,"endOffset":1035,"count":0}],"isBlockCoverage":false},{"functionName":"handleWriteReq","ranges":[{"startOffset":1154,"endOffset":2009,"count":234},{"startOffset":1254,"endOffset":1421,"count":0},{"startOffset":1426,"endOffset":1440,"count":0},{"startOffset":1445,"endOffset":1509,"count":0},{"startOffset":1597,"endOffset":1659,"count":0},{"startOffset":1664,"endOffset":1676,"count":0},{"startOffset":1681,"endOffset":1694,"count":0},{"startOffset":1699,"endOffset":1714,"count":0},{"startOffset":1719,"endOffset":1783,"count":0},{"startOffset":1788,"endOffset":2003,"count":0}],"isBlockCoverage":true},{"functionName":"onWriteComplete","ranges":[{"startOffset":2011,"endOffset":2696,"count":0}],"isBlockCoverage":false},{"functionName":"createWriteWrap","ranges":[{"startOffset":2698,"endOffset":2936,"count":234}],"isBlockCoverage":true},{"functionName":"writevGeneric","ranges":[{"startOffset":2938,"endOffset":3577,"count":0}],"isBlockCoverage":false},{"functionName":"writeGeneric","ranges":[{"startOffset":3579,"endOffset":3784,"count":234}],"isBlockCoverage":true},{"functionName":"afterWriteDispatched","ranges":[{"startOffset":3786,"endOffset":4089,"count":234},{"startOffset":3953,"endOffset":4004,"count":0}],"isBlockCoverage":true},{"functionName":"onStreamRead","ranges":[{"startOffset":4091,"endOffset":6022,"count":0}],"isBlockCoverage":false},{"functionName":"setStreamTimeout","ranges":[{"startOffset":6024,"endOffset":6834,"count":0}],"isBlockCoverage":false}]},{"scriptId":"470","url":"node:internal/dtrace","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":570,"count":1}],"isBlockCoverage":false},{"functionName":"DTRACE_HTTP_CLIENT_REQUEST","ranges":[{"startOffset":97,"endOffset":105,"count":0}],"isBlockCoverage":false},{"functionName":"DTRACE_HTTP_CLIENT_RESPONSE","ranges":[{"startOffset":139,"endOffset":147,"count":0}],"isBlockCoverage":false},{"functionName":"DTRACE_HTTP_SERVER_REQUEST","ranges":[{"startOffset":180,"endOffset":188,"count":0}],"isBlockCoverage":false},{"functionName":"DTRACE_HTTP_SERVER_RESPONSE","ranges":[{"startOffset":222,"endOffset":230,"count":0}],"isBlockCoverage":false},{"functionName":"DTRACE_NET_SERVER_CONNECTION","ranges":[{"startOffset":265,"endOffset":273,"count":0}],"isBlockCoverage":false},{"functionName":"DTRACE_NET_STREAM_END","ranges":[{"startOffset":301,"endOffset":309,"count":0}],"isBlockCoverage":false}]},{"scriptId":"471","url":"node:internal/perf/observe","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":15460,"count":1}],"isBlockCoverage":false},{"functionName":"queuePending","ranges":[{"startOffset":2518,"endOffset":2779,"count":0}],"isBlockCoverage":false},{"functionName":"getObserverType","ranges":[{"startOffset":2781,"endOffset":3121,"count":0}],"isBlockCoverage":false},{"functionName":"maybeDecrementObserverCounts","ranges":[{"startOffset":3123,"endOffset":3544,"count":0}],"isBlockCoverage":false},{"functionName":"maybeIncrementObserverCount","ranges":[{"startOffset":3546,"endOffset":3888,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3890,"endOffset":4896,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":4898,"endOffset":8468,"count":0}],"isBlockCoverage":false},{"functionName":"enqueue","ranges":[{"startOffset":8634,"endOffset":8836,"count":0}],"isBlockCoverage":false},{"functionName":"bufferUserTiming","ranges":[{"startOffset":8897,"endOffset":9923,"count":0}],"isBlockCoverage":false},{"functionName":"bufferResourceTiming","ranges":[{"startOffset":10211,"endOffset":11475,"count":0}],"isBlockCoverage":false},{"functionName":"setResourceTimingBufferSize","ranges":[{"startOffset":11563,"endOffset":11904,"count":0}],"isBlockCoverage":false},{"functionName":"setDispatchBufferFull","ranges":[{"startOffset":11906,"endOffset":11971,"count":0}],"isBlockCoverage":false},{"functionName":"clearEntriesFromBuffer","ranges":[{"startOffset":11973,"endOffset":12573,"count":0}],"isBlockCoverage":false},{"functionName":"filterBufferMapByNameAndType","ranges":[{"startOffset":12575,"endOffset":13463,"count":0}],"isBlockCoverage":false},{"functionName":"observerCallback","ranges":[{"startOffset":13465,"endOffset":14583,"count":0}],"isBlockCoverage":false},{"functionName":"hasObserver","ranges":[{"startOffset":14620,"endOffset":14739,"count":0}],"isBlockCoverage":false},{"functionName":"startPerf","ranges":[{"startOffset":14742,"endOffset":14852,"count":0}],"isBlockCoverage":false},{"functionName":"stopPerf","ranges":[{"startOffset":14854,"endOffset":15171,"count":0}],"isBlockCoverage":false}]},{"scriptId":"472","url":"node:internal/perf/performance_entry","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1731,"count":1}],"isBlockCoverage":false},{"functionName":"isPerformanceEntry","ranges":[{"startOffset":441,"endOffset":514,"count":0}],"isBlockCoverage":false},{"functionName":"PerformanceEntry","ranges":[{"startOffset":543,"endOffset":603,"count":0}],"isBlockCoverage":false},{"functionName":"get name","ranges":[{"startOffset":607,"endOffset":641,"count":0}],"isBlockCoverage":false},{"functionName":"get entryType","ranges":[{"startOffset":645,"endOffset":684,"count":0}],"isBlockCoverage":false},{"functionName":"get startTime","ranges":[{"startOffset":688,"endOffset":728,"count":0}],"isBlockCoverage":false},{"functionName":"get duration","ranges":[{"startOffset":732,"endOffset":774,"count":0}],"isBlockCoverage":false},{"functionName":"get detail","ranges":[{"startOffset":778,"endOffset":816,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":820,"endOffset":1064,"count":0}],"isBlockCoverage":false},{"functionName":"toJSON","ranges":[{"startOffset":1068,"endOffset":1249,"count":0}],"isBlockCoverage":false},{"functionName":"InternalPerformanceEntry","ranges":[{"startOffset":1288,"endOffset":1476,"count":0}],"isBlockCoverage":false}]},{"scriptId":"473","url":"node:internal/tty","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6485,"count":1}],"isBlockCoverage":false},{"functionName":"warnOnDeactivatedColors","ranges":[{"startOffset":2549,"endOffset":3002,"count":0}],"isBlockCoverage":false},{"functionName":"getColorDepth","ranges":[{"startOffset":3160,"endOffset":6156,"count":0}],"isBlockCoverage":false},{"functionName":"hasColors","ranges":[{"startOffset":6158,"endOffset":6431,"count":0}],"isBlockCoverage":false}]},{"scriptId":"474","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/has-flag/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":330,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":32,"endOffset":328,"count":32},{"startOffset":102,"endOffset":106,"count":0},{"startOffset":128,"endOffset":133,"count":0},{"startOffset":262,"endOffset":325,"count":0}],"isBlockCoverage":true}]},{"scriptId":"475","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/log-symbols/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":414,"count":1},{"startOffset":402,"endOffset":412,"count":0}],"isBlockCoverage":true}]},{"scriptId":"476","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/log-symbols/node_modules/chalk/source/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6073,"count":1},{"startOffset":1532,"endOffset":1764,"count":44},{"startOffset":2057,"endOffset":2352,"count":8},{"startOffset":2386,"endOffset":2752,"count":8},{"startOffset":5948,"endOffset":5967,"count":0}],"isBlockCoverage":true},{"functionName":"applyOptions","ranges":[{"startOffset":430,"endOffset":809,"count":2},{"startOffset":477,"endOffset":558,"count":0},{"startOffset":560,"endOffset":638,"count":0},{"startOffset":709,"endOffset":728,"count":0},{"startOffset":778,"endOffset":790,"count":1},{"startOffset":791,"endOffset":806,"count":1}],"isBlockCoverage":true},{"functionName":"ChalkClass","ranges":[{"startOffset":832,"endOffset":941,"count":0}],"isBlockCoverage":false},{"functionName":"chalkFactory","ranges":[{"startOffset":966,"endOffset":1408,"count":2}],"isBlockCoverage":true},{"functionName":"chalk.template","ranges":[{"startOffset":1048,"endOffset":1106,"count":0}],"isBlockCoverage":false},{"functionName":"chalk.template.constructor","ranges":[{"startOffset":1235,"endOffset":1340,"count":0}],"isBlockCoverage":false},{"functionName":"Chalk","ranges":[{"startOffset":1411,"endOffset":1469,"count":2}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1559,"endOffset":1758,"count":4}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1786,"endOffset":1933,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2080,"endOffset":2346,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2476,"endOffset":2746,"count":0}],"isBlockCoverage":false},{"functionName":"Object.defineProperties","ranges":[{"startOffset":2792,"endOffset":2800,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2848,"endOffset":2892,"count":8}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":2896,"endOffset":2946,"count":0}],"isBlockCoverage":false},{"functionName":"createStyler","ranges":[{"startOffset":2976,"endOffset":3250,"count":4},{"startOffset":3101,"endOffset":3184,"count":0}],"isBlockCoverage":true},{"functionName":"createBuilder","ranges":[{"startOffset":3275,"endOffset":4073,"count":4}],"isBlockCoverage":true},{"functionName":"builder","ranges":[{"startOffset":3323,"endOffset":3790,"count":8},{"startOffset":3373,"endOffset":3402,"count":0},{"startOffset":3404,"endOffset":3556,"count":0},{"startOffset":3763,"endOffset":3785,"count":0}],"isBlockCoverage":true},{"functionName":"applyStyle","ranges":[{"startOffset":4095,"endOffset":5135,"count":8},{"startOffset":4136,"endOffset":4146,"count":0},{"startOffset":4173,"endOffset":4177,"count":0},{"startOffset":4190,"endOffset":5134,"count":0}],"isBlockCoverage":true},{"functionName":"chalkTag","ranges":[{"startOffset":5169,"endOffset":5764,"count":0}],"isBlockCoverage":false}]},{"scriptId":"477","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/log-symbols/node_modules/ansi-styles/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4139,"count":1}],"isBlockCoverage":true},{"functionName":"wrapAnsi16","ranges":[{"startOffset":34,"endOffset":129,"count":0}],"isBlockCoverage":false},{"functionName":"wrapAnsi256","ranges":[{"startOffset":152,"endOffset":255,"count":0}],"isBlockCoverage":false},{"functionName":"wrapAnsi16m","ranges":[{"startOffset":278,"endOffset":402,"count":0}],"isBlockCoverage":false},{"functionName":"ansi2ansi","ranges":[{"startOffset":423,"endOffset":429,"count":0}],"isBlockCoverage":false},{"functionName":"rgb2rgb","ranges":[{"startOffset":447,"endOffset":469,"count":0}],"isBlockCoverage":false},{"functionName":"setLazyProperty","ranges":[{"startOffset":496,"endOffset":786,"count":30}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":575,"endOffset":737,"count":0}],"isBlockCoverage":false},{"functionName":"makeDynamicStyles","ranges":[{"startOffset":879,"endOffset":1400,"count":0}],"isBlockCoverage":false},{"functionName":"assembleStyles","ranges":[{"startOffset":1403,"endOffset":4021,"count":5},{"startOffset":2869,"endOffset":3201,"count":15},{"startOffset":2929,"endOffset":3108,"count":220}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3401,"endOffset":3464,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3509,"endOffset":3574,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3619,"endOffset":3678,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3722,"endOffset":3784,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3831,"endOffset":3895,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3942,"endOffset":4000,"count":0}],"isBlockCoverage":false}]},{"scriptId":"478","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/log-symbols/node_modules/supports-color/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2748,"count":1},{"startOffset":250,"endOffset":270,"count":0},{"startOffset":374,"endOffset":394,"count":0},{"startOffset":422,"endOffset":646,"count":0}],"isBlockCoverage":true},{"functionName":"translateLevel","ranges":[{"startOffset":648,"endOffset":806,"count":2},{"startOffset":719,"endOffset":805,"count":0}],"isBlockCoverage":true},{"functionName":"supportsColor","ranges":[{"startOffset":808,"endOffset":2439,"count":2},{"startOffset":881,"endOffset":897,"count":0},{"startOffset":985,"endOffset":1001,"count":0},{"startOffset":1030,"endOffset":1046,"count":0},{"startOffset":1125,"endOffset":1155,"count":0},{"startOffset":1184,"endOffset":2438,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1706,"endOffset":1725,"count":0}],"isBlockCoverage":false},{"functionName":"getSupportLevel","ranges":[{"startOffset":2441,"endOffset":2570,"count":0}],"isBlockCoverage":false}]},{"scriptId":"479","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/log-symbols/node_modules/has-flag/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":330,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":32,"endOffset":328,"count":16},{"startOffset":102,"endOffset":106,"count":0},{"startOffset":128,"endOffset":133,"count":0},{"startOffset":262,"endOffset":325,"count":0}],"isBlockCoverage":true}]},{"scriptId":"480","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/log-symbols/node_modules/chalk/source/util.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1035,"count":1}],"isBlockCoverage":true},{"functionName":"stringReplaceAll","ranges":[{"startOffset":40,"endOffset":505,"count":0}],"isBlockCoverage":false},{"functionName":"stringEncaseCRLFWithFirstIndex","ranges":[{"startOffset":547,"endOffset":959,"count":0}],"isBlockCoverage":false}]},{"scriptId":"481","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/is-unicode-supported/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":313,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":32,"endOffset":311,"count":1},{"startOffset":94,"endOffset":164,"count":0},{"startOffset":165,"endOffset":227,"count":0},{"startOffset":228,"endOffset":270,"count":0},{"startOffset":271,"endOffset":308,"count":0}],"isBlockCoverage":true}]},{"scriptId":"482","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/runner.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":34228,"count":1},{"startOffset":5791,"endOffset":5810,"count":0}],"isBlockCoverage":true},{"functionName":"Runner","ranges":[{"startOffset":3983,"endOffset":5631,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4396,"endOffset":4678,"count":6995},{"startOffset":4467,"endOffset":4481,"count":0},{"startOffset":4483,"endOffset":4641,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4719,"endOffset":4773,"count":0}],"isBlockCoverage":false},{"functionName":"Runner.unhandled","ranges":[{"startOffset":4947,"endOffset":5626,"count":0}],"isBlockCoverage":false},{"functionName":"Runner._addEventListener","ranges":[{"startOffset":6139,"endOffset":7047,"count":6972},{"startOffset":6388,"endOffset":6442,"count":1},{"startOffset":6443,"endOffset":6511,"count":0},{"startOffset":6516,"endOffset":6633,"count":0},{"startOffset":6731,"endOffset":6765,"count":1},{"startOffset":6770,"endOffset":6781,"count":6971},{"startOffset":6849,"endOffset":6881,"count":0}],"isBlockCoverage":true},{"functionName":"Runner._removeEventListener","ranges":[{"startOffset":7358,"endOffset":7971,"count":2},{"startOffset":7486,"endOffset":7886,"count":0}],"isBlockCoverage":true},{"functionName":"Runner.dispose","ranges":[{"startOffset":8147,"endOffset":8477,"count":0}],"isBlockCoverage":false},{"functionName":"Runner.grep","ranges":[{"startOffset":8731,"endOffset":8896,"count":1}],"isBlockCoverage":true},{"functionName":"Runner.grepTotal","ranges":[{"startOffset":9094,"endOffset":9350,"count":719}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9167,"endOffset":9329,"count":20985},{"startOffset":9258,"endOffset":9287,"count":0}],"isBlockCoverage":true},{"functionName":"Runner.globalProps","ranges":[{"startOffset":9465,"endOffset":9691,"count":1},{"startOffset":9579,"endOffset":9672,"count":8},{"startOffset":9617,"endOffset":9640,"count":6},{"startOffset":9640,"endOffset":9672,"count":2}],"isBlockCoverage":true},{"functionName":"Runner.globals","ranges":[{"startOffset":9859,"endOffset":10036,"count":2},{"startOffset":9901,"endOffset":9932,"count":0}],"isBlockCoverage":true},{"functionName":"Runner.checkGlobals","ranges":[{"startOffset":10130,"endOffset":10674,"count":6995},{"startOffset":10189,"endOffset":10672,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10603,"endOffset":10616,"count":0}],"isBlockCoverage":false},{"functionName":"Runner.fail","ranges":[{"startOffset":11450,"endOffset":12479,"count":0}],"isBlockCoverage":false},{"functionName":"Runner.hook","ranges":[{"startOffset":12631,"endOffset":15427,"count":29314},{"startOffset":12678,"endOffset":12690,"count":0}],"isBlockCoverage":true},{"functionName":"next","ranges":[{"startOffset":12776,"endOffset":15370,"count":29314},{"startOffset":12861,"endOffset":15369,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13381,"endOffset":13435,"count":0}],"isBlockCoverage":false},{"functionName":"cbHookRun","ranges":[{"startOffset":13458,"endOffset":14859,"count":0}],"isBlockCoverage":false},{"functionName":"setHookTitle","ranges":[{"startOffset":14867,"endOffset":15366,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":15393,"endOffset":15423,"count":29314}],"isBlockCoverage":true},{"functionName":"Runner.hooks","ranges":[{"startOffset":15649,"endOffset":16064,"count":13940}],"isBlockCoverage":true},{"functionName":"next","ranges":[{"startOffset":15726,"endOffset":16039,"count":41820},{"startOffset":15790,"endOffset":15841,"count":13940},{"startOffset":15841,"endOffset":16038,"count":27880}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15863,"endOffset":16033,"count":27880},{"startOffset":15895,"endOffset":16000,"count":0}],"isBlockCoverage":true},{"functionName":"Runner.hookUp","ranges":[{"startOffset":16205,"endOffset":16322,"count":6970}],"isBlockCoverage":true},{"functionName":"Runner.hookDown","ranges":[{"startOffset":16471,"endOffset":16578,"count":6970}],"isBlockCoverage":true},{"functionName":"Runner.parents","ranges":[{"startOffset":16715,"endOffset":16871,"count":13940}],"isBlockCoverage":true},{"functionName":"Runner.runTest","ranges":[{"startOffset":16996,"endOffset":17439,"count":6970},{"startOffset":17037,"endOffset":17067,"count":0},{"startOffset":17126,"endOffset":17143,"count":0},{"startOffset":17167,"endOffset":17199,"count":0},{"startOffset":17315,"endOffset":17376,"count":0},{"startOffset":17407,"endOffset":17437,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17240,"endOffset":17286,"count":0}],"isBlockCoverage":false},{"functionName":"Runner.runTests","ranges":[{"startOffset":17621,"endOffset":22218,"count":717}],"isBlockCoverage":true},{"functionName":"hookErr","ranges":[{"startOffset":17713,"endOffset":18418,"count":0}],"isBlockCoverage":false},{"functionName":"next","ranges":[{"startOffset":18422,"endOffset":22159,"count":7712},{"startOffset":18509,"endOffset":18523,"count":0},{"startOffset":18525,"endOffset":18550,"count":0},{"startOffset":18573,"endOffset":18599,"count":0},{"startOffset":18614,"endOffset":18664,"count":0},{"startOffset":18741,"endOffset":18767,"count":717},{"startOffset":18767,"endOffset":18854,"count":6995},{"startOffset":18854,"endOffset":18883,"count":0},{"startOffset":18883,"endOffset":18900,"count":6995},{"startOffset":18900,"endOffset":19540,"count":0},{"startOffset":19540,"endOffset":19610,"count":6995},{"startOffset":19610,"endOffset":19901,"count":25},{"startOffset":19642,"endOffset":19719,"count":0},{"startOffset":19901,"endOffset":22158,"count":6970}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20039,"endOffset":22153,"count":6970},{"startOffset":20138,"endOffset":20709,"count":0},{"startOffset":20725,"endOffset":20780,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20606,"endOffset":20699,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20840,"endOffset":22145,"count":6970},{"startOffset":20947,"endOffset":21307,"count":0},{"startOffset":21322,"endOffset":21949,"count":0}],"isBlockCoverage":true},{"functionName":"Runner.runSuite","ranges":[{"startOffset":22391,"endOffset":24036,"count":718},{"startOffset":22552,"endOffset":22585,"count":717},{"startOffset":22570,"endOffset":22584,"count":0},{"startOffset":22587,"endOffset":22643,"count":1},{"startOffset":22643,"endOffset":24035,"count":717}],"isBlockCoverage":true},{"functionName":"next","ranges":[{"startOffset":22712,"endOffset":23608,"count":1434},{"startOffset":22756,"endOffset":23106,"count":0},{"startOffset":23129,"endOffset":23157,"count":0},{"startOffset":23208,"endOffset":23467,"count":717},{"startOffset":23467,"endOffset":23558,"count":0},{"startOffset":23558,"endOffset":23604,"count":717}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23494,"endOffset":23550,"count":0}],"isBlockCoverage":false},{"functionName":"done","ranges":[{"startOffset":23612,"endOffset":23876,"count":717}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23780,"endOffset":23870,"count":717}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23938,"endOffset":24032,"count":717},{"startOffset":23968,"endOffset":23996,"count":0}],"isBlockCoverage":true},{"functionName":"Runner._uncaught","ranges":[{"startOffset":24882,"endOffset":27547,"count":0}],"isBlockCoverage":false},{"functionName":"Runner.run","ranges":[{"startOffset":27914,"endOffset":29933,"count":1},{"startOffset":28000,"endOffset":28005,"count":0},{"startOffset":28062,"endOffset":28079,"count":0},{"startOffset":29611,"endOffset":29871,"count":0}],"isBlockCoverage":true},{"functionName":"fn","ranges":[{"startOffset":28065,"endOffset":28079,"count":0}],"isBlockCoverage":false},{"functionName":"end","ranges":[{"startOffset":28096,"endOffset":28291,"count":1},{"startOffset":28124,"endOffset":28146,"count":0},{"startOffset":28148,"endOffset":28166,"count":0}],"isBlockCoverage":true},{"functionName":"begin","ranges":[{"startOffset":28310,"endOffset":28518,"count":1}],"isBlockCoverage":true},{"functionName":"prepare","ranges":[{"startOffset":28539,"endOffset":28913,"count":1},{"startOffset":28642,"endOffset":28731,"count":0},{"startOffset":28800,"endOffset":28888,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29045,"endOffset":29092,"count":717}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29149,"endOffset":29288,"count":1}],"isBlockCoverage":true},{"functionName":"Runner.linkPartialObjects","ranges":[{"startOffset":30774,"endOffset":30809,"count":0}],"isBlockCoverage":false},{"functionName":"runAsync","ranges":[{"startOffset":31197,"endOffset":31304,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31255,"endOffset":31300,"count":1}],"isBlockCoverage":true},{"functionName":"Runner.abort","ranges":[{"startOffset":31439,"endOffset":31522,"count":0}],"isBlockCoverage":false},{"functionName":"isParallelMode","ranges":[{"startOffset":31723,"endOffset":31768,"count":0}],"isBlockCoverage":false},{"functionName":"Runner.workerReporter","ranges":[{"startOffset":32118,"endOffset":32214,"count":0}],"isBlockCoverage":false},{"functionName":"filterLeaks","ranges":[{"startOffset":32362,"endOffset":33400,"count":0}],"isBlockCoverage":false},{"functionName":"isError","ranges":[{"startOffset":33615,"endOffset":33715,"count":0}],"isBlockCoverage":false},{"functionName":"thrown2Error","ranges":[{"startOffset":33878,"endOffset":34031,"count":0}],"isBlockCoverage":false}]},{"scriptId":"483","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/pending.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":221,"count":1}],"isBlockCoverage":true},{"functionName":"Pending","ranges":[{"startOffset":165,"endOffset":220,"count":0}],"isBlockCoverage":false}]},{"scriptId":"484","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/debug/src/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":314,"count":1},{"startOffset":218,"endOffset":264,"count":0}],"isBlockCoverage":true}]},{"scriptId":"485","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/debug/src/node.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4728,"count":1},{"startOffset":846,"endOffset":1451,"count":0},{"startOffset":1454,"endOffset":1555,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":334,"endOffset":342,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1779,"endOffset":1819,"count":145}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1828,"endOffset":2286,"count":0}],"isBlockCoverage":false},{"functionName":"useColors","ranges":[{"startOffset":2362,"endOffset":2501,"count":14},{"startOffset":2425,"endOffset":2464,"count":0}],"isBlockCoverage":true},{"functionName":"formatArgs","ranges":[{"startOffset":2574,"endOffset":3008,"count":0}],"isBlockCoverage":false},{"functionName":"getDate","ranges":[{"startOffset":3010,"endOffset":3125,"count":0}],"isBlockCoverage":false},{"functionName":"log","ranges":[{"startOffset":3225,"endOffset":3341,"count":0}],"isBlockCoverage":false},{"functionName":"save","ranges":[{"startOffset":3422,"endOffset":3679,"count":1},{"startOffset":3467,"endOffset":3505,"count":0}],"isBlockCoverage":true},{"functionName":"load","ranges":[{"startOffset":3796,"endOffset":3842,"count":1}],"isBlockCoverage":true},{"functionName":"init","ranges":[{"startOffset":4007,"endOffset":4210,"count":14},{"startOffset":4143,"endOffset":4208,"count":0}],"isBlockCoverage":true},{"functionName":"formatters.o","ranges":[{"startOffset":4375,"endOffset":4531,"count":0}],"isBlockCoverage":false},{"functionName":"formatters.O","ranges":[{"startOffset":4624,"endOffset":4726,"count":0}],"isBlockCoverage":false}]},{"scriptId":"486","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/supports-color/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2748,"count":1},{"startOffset":250,"endOffset":270,"count":0},{"startOffset":374,"endOffset":394,"count":0},{"startOffset":422,"endOffset":646,"count":0}],"isBlockCoverage":true},{"functionName":"translateLevel","ranges":[{"startOffset":648,"endOffset":806,"count":2},{"startOffset":719,"endOffset":805,"count":0}],"isBlockCoverage":true},{"functionName":"supportsColor","ranges":[{"startOffset":808,"endOffset":2439,"count":2},{"startOffset":881,"endOffset":897,"count":0},{"startOffset":985,"endOffset":1001,"count":0},{"startOffset":1030,"endOffset":1046,"count":0},{"startOffset":1125,"endOffset":1155,"count":0},{"startOffset":1184,"endOffset":2438,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1706,"endOffset":1725,"count":0}],"isBlockCoverage":false},{"functionName":"getSupportLevel","ranges":[{"startOffset":2441,"endOffset":2570,"count":0}],"isBlockCoverage":false}]},{"scriptId":"487","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/debug/src/common.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6289,"count":1}],"isBlockCoverage":true},{"functionName":"setup","ranges":[{"startOffset":108,"endOffset":6263,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":422,"endOffset":464,"count":9}],"isBlockCoverage":true},{"functionName":"selectColor","ranges":[{"startOffset":1012,"endOffset":1290,"count":14},{"startOffset":1108,"endOffset":1213,"count":220}],"isBlockCoverage":true},{"functionName":"createDebug","ranges":[{"startOffset":1460,"endOffset":3626,"count":14}],"isBlockCoverage":true},{"functionName":"debug","ranges":[{"startOffset":1585,"endOffset":2796,"count":25030},{"startOffset":1668,"endOffset":1795,"count":0},{"startOffset":1963,"endOffset":2763,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2147,"endOffset":2619,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":3149,"endOffset":3415,"count":25030},{"startOffset":3190,"endOffset":3225,"count":0},{"startOffset":3278,"endOffset":3384,"count":0}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":3425,"endOffset":3460,"count":0}],"isBlockCoverage":false},{"functionName":"extend","ranges":[{"startOffset":3629,"endOffset":3832,"count":0}],"isBlockCoverage":false},{"functionName":"enable","ranges":[{"startOffset":3993,"endOffset":4609,"count":1},{"startOffset":4205,"endOffset":4217,"count":0},{"startOffset":4366,"endOffset":4602,"count":0}],"isBlockCoverage":true},{"functionName":"disable","ranges":[{"startOffset":4695,"endOffset":4920,"count":0}],"isBlockCoverage":false},{"functionName":"enabled","ranges":[{"startOffset":5063,"endOffset":5450,"count":0}],"isBlockCoverage":false},{"functionName":"toNamespace","ranges":[{"startOffset":5568,"endOffset":5704,"count":0}],"isBlockCoverage":false},{"functionName":"coerce","ranges":[{"startOffset":5793,"endOffset":5902,"count":0}],"isBlockCoverage":false},{"functionName":"destroy","ranges":[{"startOffset":6021,"endOffset":6197,"count":0}],"isBlockCoverage":false}]},{"scriptId":"488","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/ms/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3023,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":422,"endOffset":791,"count":0}],"isBlockCoverage":false},{"functionName":"parse","ranges":[{"startOffset":915,"endOffset":1998,"count":0}],"isBlockCoverage":false},{"functionName":"fmtShort","ranges":[{"startOffset":2096,"endOffset":2413,"count":0}],"isBlockCoverage":false},{"functionName":"fmtLong","ranges":[{"startOffset":2510,"endOffset":2846,"count":0}],"isBlockCoverage":false},{"functionName":"plural","ranges":[{"startOffset":2882,"endOffset":3022,"count":0}],"isBlockCoverage":false}]},{"scriptId":"489","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/runnable.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10622,"count":1}],"isBlockCoverage":true},{"functionName":"Runnable","ranges":[{"startOffset":814,"endOffset":1192,"count":6995},{"startOffset":901,"endOffset":906,"count":25},{"startOffset":938,"endOffset":950,"count":6970}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1118,"endOffset":1168,"count":0}],"isBlockCoverage":false},{"functionName":"Runnable.reset","ranges":[{"startOffset":1369,"endOffset":1499,"count":13990}],"isBlockCoverage":true},{"functionName":"Runnable.timeout","ranges":[{"startOffset":2201,"endOffset":2661,"count":15266},{"startOffset":2242,"endOffset":2273,"count":8271},{"startOffset":2273,"endOffset":2304,"count":6995},{"startOffset":2304,"endOffset":2336,"count":0},{"startOffset":2336,"endOffset":2491,"count":6995},{"startOffset":2493,"endOffset":2521,"count":0},{"startOffset":2521,"endOffset":2614,"count":6995},{"startOffset":2614,"endOffset":2644,"count":0},{"startOffset":2644,"endOffset":2660,"count":6995}],"isBlockCoverage":true},{"functionName":"Runnable.slow","ranges":[{"startOffset":2821,"endOffset":3042,"count":20935},{"startOffset":2861,"endOffset":2889,"count":6995},{"startOffset":2891,"endOffset":2919,"count":13940},{"startOffset":2919,"endOffset":2950,"count":6995},{"startOffset":2950,"endOffset":2982,"count":0},{"startOffset":2982,"endOffset":3041,"count":6995}],"isBlockCoverage":true},{"functionName":"Runnable.skip","ranges":[{"startOffset":3150,"endOffset":3242,"count":0}],"isBlockCoverage":false},{"functionName":"Runnable.isPending","ranges":[{"startOffset":3367,"endOffset":3449,"count":20935},{"startOffset":3403,"endOffset":3446,"count":20910}],"isBlockCoverage":true},{"functionName":"Runnable.isFailed","ranges":[{"startOffset":3569,"endOffset":3653,"count":0}],"isBlockCoverage":false},{"functionName":"Runnable.isPassed","ranges":[{"startOffset":3773,"endOffset":3857,"count":0}],"isBlockCoverage":false},{"functionName":"Runnable.retries","ranges":[{"startOffset":3945,"endOffset":4039,"count":6995},{"startOffset":3985,"endOffset":4016,"count":0}],"isBlockCoverage":true},{"functionName":"Runnable.currentRetry","ranges":[{"startOffset":4127,"endOffset":4231,"count":0}],"isBlockCoverage":false},{"functionName":"Runnable.fullTitle","ranges":[{"startOffset":4427,"endOffset":4479,"count":27980}],"isBlockCoverage":true},{"functionName":"Runnable.titlePath","ranges":[{"startOffset":4677,"endOffset":4747,"count":27980}],"isBlockCoverage":true},{"functionName":"Runnable.clearTimeout","ranges":[{"startOffset":4829,"endOffset":4872,"count":8271}],"isBlockCoverage":true},{"functionName":"Runnable.resetTimeout","ranges":[{"startOffset":4954,"endOffset":5225,"count":1301},{"startOffset":5013,"endOffset":5027,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5079,"endOffset":5217,"count":0}],"isBlockCoverage":false},{"functionName":"Runnable.globals","ranges":[{"startOffset":5372,"endOffset":5492,"count":0}],"isBlockCoverage":false},{"functionName":"Runnable.run","ranges":[{"startOffset":5605,"endOffset":9154,"count":6970},{"startOffset":5760,"endOffset":5772,"count":0},{"startOffset":6566,"endOffset":6700,"count":0},{"startOffset":6761,"endOffset":7446,"count":0},{"startOffset":7512,"endOffset":7712,"count":0}],"isBlockCoverage":true},{"functionName":"multiple","ranges":[{"startOffset":5915,"endOffset":6078,"count":0}],"isBlockCoverage":false},{"functionName":"done","ranges":[{"startOffset":6096,"endOffset":6439,"count":6970},{"startOffset":6169,"endOffset":6190,"count":0},{"startOffset":6210,"endOffset":6245,"count":0},{"startOffset":6368,"endOffset":6377,"count":0},{"startOffset":6379,"endOffset":6422,"count":0}],"isBlockCoverage":true},{"functionName":"asyncSkip","ranges":[{"startOffset":6866,"endOffset":7065,"count":0}],"isBlockCoverage":false},{"functionName":"callFn","ranges":[{"startOffset":7716,"endOffset":8419,"count":6970},{"startOffset":7784,"endOffset":7820,"count":1301},{"startOffset":7822,"endOffset":8195,"count":1301},{"startOffset":8195,"endOffset":8415,"count":5669},{"startOffset":8229,"endOffset":8394,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7878,"endOffset":8060,"count":1301}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8070,"endOffset":8180,"count":0}],"isBlockCoverage":false},{"functionName":"callFnAsync","ranges":[{"startOffset":8423,"endOffset":9152,"count":0}],"isBlockCoverage":false},{"functionName":"Runnable._timeoutError","ranges":[{"startOffset":9337,"endOffset":9603,"count":0}],"isBlockCoverage":false},{"functionName":"Runnable.toValueOrError","ranges":[{"startOffset":10396,"endOffset":10587,"count":0}],"isBlockCoverage":false}]},{"scriptId":"490","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/errors.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":15639,"count":1}],"isBlockCoverage":true},{"functionName":"emitWarning","ranges":[{"startOffset":350,"endOffset":561,"count":0}],"isBlockCoverage":false},{"functionName":"deprecate","ranges":[{"startOffset":753,"endOffset":903,"count":0}],"isBlockCoverage":false},{"functionName":"warn","ranges":[{"startOffset":1062,"endOffset":1111,"count":0}],"isBlockCoverage":false},{"functionName":"createNoFilesMatchPatternError","ranges":[{"startOffset":4375,"endOffset":4554,"count":0}],"isBlockCoverage":false},{"functionName":"createInvalidReporterError","ranges":[{"startOffset":4856,"endOffset":5032,"count":0}],"isBlockCoverage":false},{"functionName":"createInvalidInterfaceError","ranges":[{"startOffset":5341,"endOffset":5504,"count":0}],"isBlockCoverage":false},{"functionName":"createUnsupportedError","ranges":[{"startOffset":5752,"endOffset":5878,"count":0}],"isBlockCoverage":false},{"functionName":"createMissingArgumentError","ranges":[{"startOffset":6204,"endOffset":6342,"count":0}],"isBlockCoverage":false},{"functionName":"createInvalidArgumentTypeError","ranges":[{"startOffset":6687,"endOffset":6936,"count":0}],"isBlockCoverage":false},{"functionName":"createInvalidArgumentValueError","ranges":[{"startOffset":7319,"endOffset":7607,"count":0}],"isBlockCoverage":false},{"functionName":"createInvalidExceptionError","ranges":[{"startOffset":7870,"endOffset":8067,"count":0}],"isBlockCoverage":false},{"functionName":"createFatalError","ranges":[{"startOffset":8297,"endOffset":8471,"count":0}],"isBlockCoverage":false},{"functionName":"createInvalidLegacyPluginError","ranges":[{"startOffset":8820,"endOffset":9158,"count":0}],"isBlockCoverage":false},{"functionName":"createInvalidPluginError","ranges":[{"startOffset":9598,"endOffset":9755,"count":0}],"isBlockCoverage":false},{"functionName":"createMochaInstanceAlreadyDisposedError","ranges":[{"startOffset":10106,"endOffset":10390,"count":0}],"isBlockCoverage":false},{"functionName":"createMochaInstanceAlreadyRunningError","ranges":[{"startOffset":10602,"endOffset":10794,"count":0}],"isBlockCoverage":false},{"functionName":"createMultipleDoneError","ranges":[{"startOffset":11082,"endOffset":11849,"count":0}],"isBlockCoverage":false},{"functionName":"createForbiddenExclusivityError","ranges":[{"startOffset":12086,"endOffset":12341,"count":0}],"isBlockCoverage":false},{"functionName":"createInvalidPluginDefinitionError","ranges":[{"startOffset":12641,"endOffset":12827,"count":0}],"isBlockCoverage":false},{"functionName":"createInvalidPluginImplementationError","ranges":[{"startOffset":13287,"endOffset":13537,"count":0}],"isBlockCoverage":false},{"functionName":"createTimeoutError","ranges":[{"startOffset":13803,"endOffset":13974,"count":0}],"isBlockCoverage":false},{"functionName":"createUnparsableFileError","ranges":[{"startOffset":14240,"endOffset":14383,"count":0}],"isBlockCoverage":false},{"functionName":"isMochaError","ranges":[{"startOffset":14609,"endOffset":14687,"count":0}],"isBlockCoverage":false}]},{"scriptId":"491","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/suite.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":15436,"count":1}],"isBlockCoverage":true},{"functionName":"Suite.create","ranges":[{"startOffset":714,"endOffset":882,"count":717}],"isBlockCoverage":true},{"functionName":"Suite","ranges":[{"startOffset":1284,"endOffset":2125,"count":718},{"startOffset":1355,"endOffset":1549,"count":0}],"isBlockCoverage":true},{"functionName":"Context","ranges":[{"startOffset":1574,"endOffset":1595,"count":718}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":2056,"endOffset":2100,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.reset","ranges":[{"startOffset":2290,"endOffset":2601,"count":718}],"isBlockCoverage":true},{"functionName":"doReset","ranges":[{"startOffset":2330,"endOffset":2392,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.clone","ranges":[{"startOffset":2705,"endOffset":2961,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.timeout","ranges":[{"startOffset":3194,"endOffset":3521,"count":8882},{"startOffset":3235,"endOffset":3266,"count":7712},{"startOffset":3266,"endOffset":3297,"count":1170},{"startOffset":3297,"endOffset":3329,"count":0},{"startOffset":3329,"endOffset":3520,"count":1170}],"isBlockCoverage":true},{"functionName":"Suite.retries","ranges":[{"startOffset":3694,"endOffset":3848,"count":8429},{"startOffset":3734,"endOffset":3765,"count":7712},{"startOffset":3765,"endOffset":3826,"count":717},{"startOffset":3826,"endOffset":3830,"count":0}],"isBlockCoverage":true},{"functionName":"Suite.slow","ranges":[{"startOffset":4017,"endOffset":4209,"count":8430},{"startOffset":4058,"endOffset":4086,"count":7712},{"startOffset":4086,"endOffset":4117,"count":718},{"startOffset":4117,"endOffset":4149,"count":0},{"startOffset":4149,"endOffset":4208,"count":718}],"isBlockCoverage":true},{"functionName":"Suite.bail","ranges":[{"startOffset":4371,"endOffset":4506,"count":1434},{"startOffset":4414,"endOffset":4505,"count":717}],"isBlockCoverage":true},{"functionName":"Suite.isPending","ranges":[{"startOffset":4625,"endOffset":4707,"count":55810},{"startOffset":4677,"endOffset":4703,"count":27905}],"isBlockCoverage":true},{"functionName":"Suite._createHook","ranges":[{"startOffset":4896,"endOffset":5129,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.beforeAll","ranges":[{"startOffset":5312,"endOffset":5672,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.afterAll","ranges":[{"startOffset":5853,"endOffset":6210,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.beforeEach","ranges":[{"startOffset":6395,"endOffset":6758,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.afterEach","ranges":[{"startOffset":6941,"endOffset":7301,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.addSuite","ranges":[{"startOffset":7433,"endOffset":7713,"count":717}],"isBlockCoverage":true},{"functionName":"Suite.addTest","ranges":[{"startOffset":7850,"endOffset":8095,"count":6995}],"isBlockCoverage":true},{"functionName":"Suite.fullTitle","ranges":[{"startOffset":8279,"endOffset":8331,"count":1435}],"isBlockCoverage":true},{"functionName":"Suite.titlePath","ranges":[{"startOffset":8517,"endOffset":8699,"count":58829},{"startOffset":8569,"endOffset":8627,"count":29414},{"startOffset":8646,"endOffset":8680,"count":29414}],"isBlockCoverage":true},{"functionName":"Suite.total","ranges":[{"startOffset":8824,"endOffset":8966,"count":718}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8872,"endOffset":8935,"count":717}],"isBlockCoverage":true},{"functionName":"Suite.eachTest","ranges":[{"startOffset":9172,"endOffset":9301,"count":2153}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9236,"endOffset":9282,"count":1434}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":9422,"endOffset":9510,"count":0}],"isBlockCoverage":false},{"functionName":"hasOnly","ranges":[{"startOffset":9659,"endOffset":9843,"count":718}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9781,"endOffset":9835,"count":717}],"isBlockCoverage":true},{"functionName":"filterOnly","ranges":[{"startOffset":9962,"endOffset":10999,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.appendOnlySuite","ranges":[{"startOffset":11139,"endOffset":11191,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.markOnly","ranges":[{"startOffset":11275,"endOffset":11342,"count":0}],"isBlockCoverage":false},{"functionName":"Suite.appendOnlyTest","ranges":[{"startOffset":11474,"endOffset":11523,"count":0}],"isBlockCoverage":false},{"functionName":"getHooks","ranges":[{"startOffset":11646,"endOffset":11700,"count":29314}],"isBlockCoverage":true},{"functionName":"Suite.dispose","ranges":[{"startOffset":11800,"endOffset":11909,"count":0}],"isBlockCoverage":false},{"functionName":"cleanReferences","ranges":[{"startOffset":12309,"endOffset":12879,"count":717},{"startOffset":12843,"endOffset":12877,"count":6995}],"isBlockCoverage":true},{"functionName":"cleanArrReferences","ranges":[{"startOffset":12340,"endOffset":12451,"count":2868},{"startOffset":12416,"endOffset":12447,"count":0}],"isBlockCoverage":true},{"functionName":"serialize","ranges":[{"startOffset":13048,"endOffset":13341,"count":0}],"isBlockCoverage":false}]},{"scriptId":"492","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/hook.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1787,"count":1}],"isBlockCoverage":true},{"functionName":"Hook","ranges":[{"startOffset":354,"endOffset":438,"count":0}],"isBlockCoverage":false},{"functionName":"Hook.reset","ranges":[{"startOffset":580,"endOffset":656,"count":0}],"isBlockCoverage":false},{"functionName":"Hook.error","ranges":[{"startOffset":793,"endOffset":927,"count":0}],"isBlockCoverage":false},{"functionName":"serialize","ranges":[{"startOffset":1095,"endOffset":1785,"count":0}],"isBlockCoverage":false}]},{"scriptId":"493","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/dot.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1897,"count":1}],"isBlockCoverage":true},{"functionName":"Dot","ranges":[{"startOffset":749,"endOffset":1784,"count":0}],"isBlockCoverage":false}]},{"scriptId":"494","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/doc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2309,"count":1}],"isBlockCoverage":true},{"functionName":"Doc","ranges":[{"startOffset":690,"endOffset":2267,"count":0}],"isBlockCoverage":false}]},{"scriptId":"495","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/tap.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7044,"count":1}],"isBlockCoverage":true},{"functionName":"TAP","ranges":[{"startOffset":851,"endOffset":1731,"count":0}],"isBlockCoverage":false},{"functionName":"title","ranges":[{"startOffset":1956,"endOffset":2025,"count":0}],"isBlockCoverage":false},{"functionName":"println","ranges":[{"startOffset":2232,"endOffset":2378,"count":0}],"isBlockCoverage":false},{"functionName":"createProducer","ranges":[{"startOffset":2683,"endOffset":2990,"count":0}],"isBlockCoverage":false},{"functionName":"TAPProducer","ranges":[{"startOffset":3150,"endOffset":3175,"count":0}],"isBlockCoverage":false},{"functionName":"TAPProducer.writeVersion","ranges":[{"startOffset":3291,"endOffset":3305,"count":0}],"isBlockCoverage":false},{"functionName":"TAPProducer.writePlan","ranges":[{"startOffset":3481,"endOffset":3534,"count":0}],"isBlockCoverage":false},{"functionName":"TAPProducer.writePass","ranges":[{"startOffset":3761,"endOffset":3822,"count":0}],"isBlockCoverage":false},{"functionName":"TAPProducer.writePending","ranges":[{"startOffset":4062,"endOffset":4132,"count":0}],"isBlockCoverage":false},{"functionName":"TAPProducer.writeFail","ranges":[{"startOffset":4407,"endOffset":4477,"count":0}],"isBlockCoverage":false},{"functionName":"TAPProducer.writeEpilogue","ranges":[{"startOffset":4661,"endOffset":4981,"count":0}],"isBlockCoverage":false},{"functionName":"TAP12Producer","ranges":[{"startOffset":5249,"endOffset":5647,"count":0}],"isBlockCoverage":false},{"functionName":"TAP13Producer","ranges":[{"startOffset":6013,"endOffset":6911,"count":0}],"isBlockCoverage":false}]},{"scriptId":"496","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/json.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3634,"count":1}],"isBlockCoverage":true},{"functionName":"JSONReporter","ranges":[{"startOffset":882,"endOffset":2305,"count":0}],"isBlockCoverage":false},{"functionName":"clean","ranges":[{"startOffset":2458,"endOffset":2781,"count":0}],"isBlockCoverage":false},{"functionName":"cleanCycles","ranges":[{"startOffset":2921,"endOffset":3315,"count":0}],"isBlockCoverage":false},{"functionName":"errorJSON","ranges":[{"startOffset":3431,"endOffset":3583,"count":0}],"isBlockCoverage":false}]},{"scriptId":"497","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/html.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10699,"count":1}],"isBlockCoverage":true},{"functionName":"HTML","ranges":[{"startOffset":1583,"endOffset":7784,"count":0}],"isBlockCoverage":false},{"functionName":"makeUrl","ranges":[{"startOffset":7911,"endOffset":8254,"count":0}],"isBlockCoverage":false},{"functionName":"HTML.suiteURL","ranges":[{"startOffset":8342,"endOffset":8399,"count":0}],"isBlockCoverage":false},{"functionName":"HTML.testURL","ranges":[{"startOffset":8485,"endOffset":8540,"count":0}],"isBlockCoverage":false},{"functionName":"HTML.addCodeToggle","ranges":[{"startOffset":8714,"endOffset":9027,"count":0}],"isBlockCoverage":false},{"functionName":"error","ranges":[{"startOffset":9088,"endOffset":9189,"count":0}],"isBlockCoverage":false},{"functionName":"fragment","ranges":[{"startOffset":9264,"endOffset":9614,"count":0}],"isBlockCoverage":false},{"functionName":"hideSuitesWithout","ranges":[{"startOffset":9736,"endOffset":10010,"count":0}],"isBlockCoverage":false},{"functionName":"unhide","ranges":[{"startOffset":10046,"endOffset":10233,"count":0}],"isBlockCoverage":false},{"functionName":"text","ranges":[{"startOffset":10336,"endOffset":10466,"count":0}],"isBlockCoverage":false},{"functionName":"on","ranges":[{"startOffset":10517,"endOffset":10672,"count":0}],"isBlockCoverage":false}]},{"scriptId":"498","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/list.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1905,"count":1}],"isBlockCoverage":true},{"functionName":"List","ranges":[{"startOffset":854,"endOffset":1786,"count":0}],"isBlockCoverage":false}]},{"scriptId":"499","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/min.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1091,"count":1}],"isBlockCoverage":true},{"functionName":"Min","ranges":[{"startOffset":674,"endOffset":977,"count":0}],"isBlockCoverage":false}]},{"scriptId":"500","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/spec.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2338,"count":1}],"isBlockCoverage":true},{"functionName":"Spec","ranges":[{"startOffset":879,"endOffset":2216,"count":0}],"isBlockCoverage":false}]},{"scriptId":"501","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/nyan.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5570,"count":1}],"isBlockCoverage":true},{"functionName":"NyanCat","ranges":[{"startOffset":760,"endOffset":1658,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.draw","ranges":[{"startOffset":1798,"endOffset":1932,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.drawScoreboard","ranges":[{"startOffset":2080,"endOffset":2429,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.appendRainbow","ranges":[{"startOffset":2513,"endOffset":2850,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.drawRainbow","ranges":[{"startOffset":2930,"endOffset":3194,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.drawNyanCat","ranges":[{"startOffset":3273,"endOffset":4070,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.face","ranges":[{"startOffset":4165,"endOffset":4379,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.cursorUp","ranges":[{"startOffset":4479,"endOffset":4540,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.cursorDown","ranges":[{"startOffset":4644,"endOffset":4705,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.generateColors","ranges":[{"startOffset":4813,"endOffset":5169,"count":0}],"isBlockCoverage":false},{"functionName":"NyanCat.rainbowify","ranges":[{"startOffset":5306,"endOffset":5531,"count":0}],"isBlockCoverage":false}]},{"scriptId":"502","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/xunit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4878,"count":1}],"isBlockCoverage":true},{"functionName":"XUnit","ranges":[{"startOffset":1066,"endOffset":2746,"count":0}],"isBlockCoverage":false},{"functionName":"XUnit.done","ranges":[{"startOffset":2946,"endOffset":3097,"count":0}],"isBlockCoverage":false},{"functionName":"XUnit.write","ranges":[{"startOffset":3188,"endOffset":3415,"count":0}],"isBlockCoverage":false},{"functionName":"XUnit.test","ranges":[{"startOffset":3510,"endOffset":4297,"count":0}],"isBlockCoverage":false},{"functionName":"tag","ranges":[{"startOffset":4416,"endOffset":4825,"count":0}],"isBlockCoverage":false}]},{"scriptId":"503","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/markdown.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2434,"count":1}],"isBlockCoverage":true},{"functionName":"Markdown","ranges":[{"startOffset":753,"endOffset":2381,"count":0}],"isBlockCoverage":false}]},{"scriptId":"504","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/progress.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2517,"count":1}],"isBlockCoverage":true},{"functionName":"Progress","ranges":[{"startOffset":781,"endOffset":2405,"count":1},{"startOffset":1025,"endOffset":1030,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1410,"endOffset":1478,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1530,"endOffset":2207,"count":6995},{"startOffset":1676,"endOffset":1695,"count":6957},{"startOffset":1697,"endOffset":1773,"count":6957},{"startOffset":1773,"endOffset":2116,"count":38},{"startOffset":2116,"endOffset":2203,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2312,"endOffset":2401,"count":1}],"isBlockCoverage":true}]},{"scriptId":"505","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/landing.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2518,"count":1}],"isBlockCoverage":true},{"functionName":"Landing","ranges":[{"startOffset":948,"endOffset":2401,"count":0}],"isBlockCoverage":false}]},{"scriptId":"506","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/reporters/json-stream.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2079,"count":1}],"isBlockCoverage":true},{"functionName":"JSONStream","ranges":[{"startOffset":677,"endOffset":1248,"count":0}],"isBlockCoverage":false},{"functionName":"writeEvent","ranges":[{"startOffset":1492,"endOffset":1576,"count":0}],"isBlockCoverage":false},{"functionName":"clean","ranges":[{"startOffset":1812,"endOffset":2019,"count":0}],"isBlockCoverage":false}]},{"scriptId":"507","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/nodejs/esm-utils.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3533,"count":1}],"isBlockCoverage":true},{"functionName":"forward","ranges":[{"startOffset":75,"endOffset":81,"count":557}],"isBlockCoverage":true},{"functionName":"formattedImport","ranges":[{"startOffset":108,"endOffset":1086,"count":557},{"startOffset":179,"endOffset":1037,"count":556},{"startOffset":273,"endOffset":1033,"count":0},{"startOffset":1037,"endOffset":1085,"count":1}],"isBlockCoverage":true},{"functionName":"exports.doImport","ranges":[{"startOffset":1108,"endOffset":1134,"count":557}],"isBlockCoverage":true},{"functionName":"exports.requireOrImport","ranges":[{"startOffset":1163,"endOffset":3093,"count":557},{"startOffset":1232,"endOffset":1285,"count":0},{"startOffset":1362,"endOffset":1369,"count":556},{"startOffset":1369,"endOffset":3091,"count":1},{"startOffset":1434,"endOffset":1484,"count":0},{"startOffset":1485,"endOffset":1535,"count":0},{"startOffset":1844,"endOffset":3051,"count":0},{"startOffset":3057,"endOffset":3087,"count":0}],"isBlockCoverage":true},{"functionName":"dealWithExports","ranges":[{"startOffset":3096,"endOffset":3242,"count":556},{"startOffset":3185,"endOffset":3240,"count":0}],"isBlockCoverage":true},{"functionName":"exports.loadFilesAsync","ranges":[{"startOffset":3269,"endOffset":3531,"count":1},{"startOffset":3367,"endOffset":3529,"count":556}],"isBlockCoverage":true}]},{"scriptId":"508","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/stats-collector.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2220,"count":1}],"isBlockCoverage":true},{"functionName":"createStatsCollector","ranges":[{"startOffset":1329,"endOffset":2179,"count":1},{"startOffset":1520,"endOffset":1577,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1635,"endOffset":1682,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1716,"endOffset":1772,"count":717},{"startOffset":1750,"endOffset":1767,"count":716}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1804,"endOffset":1841,"count":6970}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1873,"endOffset":1912,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1947,"endOffset":1985,"count":25}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2016,"endOffset":2052,"count":6995}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2084,"endOffset":2175,"count":1}],"isBlockCoverage":true}]},{"scriptId":"509","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/interfaces/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":155,"count":1}],"isBlockCoverage":true}]},{"scriptId":"510","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/interfaces/bdd.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2512,"count":1}],"isBlockCoverage":true},{"functionName":"bddInterface","ranges":[{"startOffset":544,"endOffset":2448,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":635,"endOffset":2444,"count":556},{"startOffset":926,"endOffset":955,"count":0}],"isBlockCoverage":true},{"functionName":"context.describe.context.context","ranges":[{"startOffset":1135,"endOffset":1248,"count":717}],"isBlockCoverage":true},{"functionName":"context.xdescribe.context.xcontext.context.describe.skip","ranges":[{"startOffset":1380,"endOffset":1515,"count":0}],"isBlockCoverage":false},{"functionName":"context.describe.only","ranges":[{"startOffset":1587,"endOffset":1698,"count":0}],"isBlockCoverage":false},{"functionName":"context.it.context.specify","ranges":[{"startOffset":1872,"endOffset":2095,"count":6995},{"startOffset":1953,"endOffset":1981,"count":0}],"isBlockCoverage":true},{"functionName":"context.it.only","ranges":[{"startOffset":2165,"endOffset":2254,"count":0}],"isBlockCoverage":false},{"functionName":"context.xit.context.xspecify.context.it.skip","ranges":[{"startOffset":2375,"endOffset":2439,"count":25}],"isBlockCoverage":true}]},{"scriptId":"511","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/test.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2635,"count":1}],"isBlockCoverage":true},{"functionName":"Test","ranges":[{"startOffset":557,"endOffset":870,"count":6995},{"startOffset":608,"endOffset":796,"count":0}],"isBlockCoverage":true},{"functionName":"Test.reset","ranges":[{"startOffset":1031,"endOffset":1133,"count":13990}],"isBlockCoverage":true},{"functionName":"Test.retriedTest","ranges":[{"startOffset":1215,"endOffset":1317,"count":6995},{"startOffset":1290,"endOffset":1316,"count":0}],"isBlockCoverage":true},{"functionName":"Test.markOnly","ranges":[{"startOffset":1417,"endOffset":1468,"count":0}],"isBlockCoverage":false},{"functionName":"Test.clone","ranges":[{"startOffset":1494,"endOffset":1857,"count":0}],"isBlockCoverage":false},{"functionName":"serialize","ranges":[{"startOffset":2051,"endOffset":2633,"count":0}],"isBlockCoverage":false}]},{"scriptId":"512","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/interfaces/tdd.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2341,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":625,"endOffset":2243,"count":0}],"isBlockCoverage":false}]},{"scriptId":"513","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/interfaces/qunit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2135,"count":1}],"isBlockCoverage":true},{"functionName":"qUnitInterface","ranges":[{"startOffset":648,"endOffset":2088,"count":0}],"isBlockCoverage":false}]},{"scriptId":"514","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/interfaces/exports.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1428,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":460,"endOffset":1360,"count":0}],"isBlockCoverage":false}]},{"scriptId":"515","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/context.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1440,"count":1}],"isBlockCoverage":true},{"functionName":"Context","ranges":[{"startOffset":152,"endOffset":173,"count":1}],"isBlockCoverage":true},{"functionName":"Context.runnable","ranges":[{"startOffset":338,"endOffset":475,"count":6970},{"startOffset":385,"endOffset":417,"count":0}],"isBlockCoverage":true},{"functionName":"Context.timeout","ranges":[{"startOffset":610,"endOffset":742,"count":0}],"isBlockCoverage":false},{"functionName":"Context.slow","ranges":[{"startOffset":885,"endOffset":1011,"count":0}],"isBlockCoverage":false},{"functionName":"Context.skip","ranges":[{"startOffset":1108,"endOffset":1149,"count":0}],"isBlockCoverage":false},{"functionName":"Context.retries","ranges":[{"startOffset":1308,"endOffset":1438,"count":0}],"isBlockCoverage":false}]},{"scriptId":"516","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/run-helpers.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8821,"count":1}],"isBlockCoverage":true},{"functionName":"exitMochaLater","ranges":[{"startOffset":831,"endOffset":920,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":869,"endOffset":916,"count":1}],"isBlockCoverage":true},{"functionName":"exitMocha","ranges":[{"startOffset":1158,"endOffset":1849,"count":0}],"isBlockCoverage":false},{"functionName":"exports.list","ranges":[{"startOffset":2068,"endOffset":2146,"count":14},{"startOffset":2096,"endOffset":2125,"count":7},{"startOffset":2126,"endOffset":2146,"count":7}],"isBlockCoverage":true},{"functionName":"exports.handleRequires","ranges":[{"startOffset":2416,"endOffset":3274,"count":1},{"startOffset":2691,"endOffset":2795,"count":0},{"startOffset":2964,"endOffset":3047,"count":0},{"startOffset":3189,"endOffset":3254,"count":0}],"isBlockCoverage":true},{"functionName":"handleUnmatchedFiles","ranges":[{"startOffset":3537,"endOffset":3973,"count":0}],"isBlockCoverage":false},{"functionName":"singleRun","ranges":[{"startOffset":4507,"endOffset":5029,"count":1},{"startOffset":4698,"endOffset":4777,"count":0}],"isBlockCoverage":true},{"functionName":"parallelRun","ranges":[{"startOffset":5434,"endOffset":5949,"count":0}],"isBlockCoverage":false},{"functionName":"exports.runMocha","ranges":[{"startOffset":6412,"endOffset":6909,"count":1},{"startOffset":6745,"endOffset":6800,"count":0},{"startOffset":6827,"endOffset":6840,"count":0}],"isBlockCoverage":true},{"functionName":"exports.validateLegacyPlugin","ranges":[{"startOffset":7490,"endOffset":8554,"count":2},{"startOffset":7763,"endOffset":7888,"count":0},{"startOffset":8170,"endOffset":8552,"count":0}],"isBlockCoverage":true},{"functionName":"createUnknownError","ranges":[{"startOffset":7919,"endOffset":8075,"count":0}],"isBlockCoverage":false},{"functionName":"createExitHandler","ranges":[{"startOffset":8583,"endOffset":8819,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8632,"endOffset":8816,"count":1},{"startOffset":8695,"endOffset":8698,"count":0},{"startOffset":8751,"endOffset":8775,"count":0}],"isBlockCoverage":true}]},{"scriptId":"517","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/watch-run.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10769,"count":1}],"isBlockCoverage":true},{"functionName":"exports.watchParallelRun","ranges":[{"startOffset":1013,"endOffset":2631,"count":0}],"isBlockCoverage":false},{"functionName":"exports.watchRun","ranges":[{"startOffset":3283,"endOffset":4740,"count":0}],"isBlockCoverage":false},{"functionName":"createWatcher","ranges":[{"startOffset":5532,"endOffset":7799,"count":0}],"isBlockCoverage":false},{"functionName":"createRerunner","ranges":[{"startOffset":8180,"endOffset":9177,"count":0}],"isBlockCoverage":false},{"functionName":"getWatchedFiles","ranges":[{"startOffset":9404,"endOffset":9617,"count":0}],"isBlockCoverage":false},{"functionName":"hideCursor","ranges":[{"startOffset":9690,"endOffset":9738,"count":0}],"isBlockCoverage":false},{"functionName":"showCursor","ranges":[{"startOffset":9811,"endOffset":9859,"count":0}],"isBlockCoverage":false},{"functionName":"eraseLine","ranges":[{"startOffset":9929,"endOffset":9975,"count":0}],"isBlockCoverage":false},{"functionName":"blastCache","ranges":[{"startOffset":10136,"endOffset":10324,"count":0}],"isBlockCoverage":false}]},{"scriptId":"518","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chokidar/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":28364,"count":1}],"isBlockCoverage":true},{"functionName":"arrify","ranges":[{"startOffset":1627,"endOffset":1681,"count":0}],"isBlockCoverage":false},{"functionName":"flatten","ranges":[{"startOffset":1699,"endOffset":1877,"count":0}],"isBlockCoverage":false},{"functionName":"unifyPaths","ranges":[{"startOffset":1899,"endOffset":2164,"count":0}],"isBlockCoverage":false},{"functionName":"toUnix","ranges":[{"startOffset":2322,"endOffset":2619,"count":0}],"isBlockCoverage":false},{"functionName":"normalizePathToUnix","ranges":[{"startOffset":2754,"endOffset":2803,"count":0}],"isBlockCoverage":false},{"functionName":"normalizeIgnored","ranges":[{"startOffset":2831,"endOffset":3002,"count":0}],"isBlockCoverage":false},{"functionName":"getAbsolutePath","ranges":[{"startOffset":3029,"endOffset":3223,"count":0}],"isBlockCoverage":false},{"functionName":"undef","ranges":[{"startOffset":3240,"endOffset":3278,"count":0}],"isBlockCoverage":false},{"functionName":"DirEntry","ranges":[{"startOffset":3456,"endOffset":3612,"count":0}],"isBlockCoverage":false},{"functionName":"add","ranges":[{"startOffset":3616,"endOffset":3745,"count":0}],"isBlockCoverage":false},{"functionName":"remove","ranges":[{"startOffset":3749,"endOffset":4084,"count":0}],"isBlockCoverage":false},{"functionName":"has","ranges":[{"startOffset":4088,"endOffset":4181,"count":0}],"isBlockCoverage":false},{"functionName":"getChildren","ranges":[{"startOffset":4227,"endOffset":4328,"count":0}],"isBlockCoverage":false},{"functionName":"dispose","ranges":[{"startOffset":4332,"endOffset":4473,"count":0}],"isBlockCoverage":false},{"functionName":"WatchHelper","ranges":[{"startOffset":4560,"endOffset":5278,"count":0}],"isBlockCoverage":false},{"functionName":"checkGlobSymlink","ranges":[{"startOffset":5282,"endOffset":5763,"count":0}],"isBlockCoverage":false},{"functionName":"entryPath","ranges":[{"startOffset":5767,"endOffset":5905,"count":0}],"isBlockCoverage":false},{"functionName":"filterPath","ranges":[{"startOffset":5909,"endOffset":6326,"count":0}],"isBlockCoverage":false},{"functionName":"getDirParts","ranges":[{"startOffset":6330,"endOffset":6644,"count":0}],"isBlockCoverage":false},{"functionName":"filterDir","ranges":[{"startOffset":6648,"endOffset":7167,"count":0}],"isBlockCoverage":false},{"functionName":"FSWatcher","ranges":[{"startOffset":7511,"endOffset":11137,"count":0}],"isBlockCoverage":false},{"functionName":"add","ranges":[{"startOffset":11450,"endOffset":13176,"count":0}],"isBlockCoverage":false},{"functionName":"unwatch","ranges":[{"startOffset":13387,"endOffset":14065,"count":0}],"isBlockCoverage":false},{"functionName":"close","ranges":[{"startOffset":14166,"endOffset":14930,"count":0}],"isBlockCoverage":false},{"functionName":"getWatched","ranges":[{"startOffset":15005,"endOffset":15255,"count":0}],"isBlockCoverage":false},{"functionName":"emitWithAll","ranges":[{"startOffset":15257,"endOffset":15361,"count":0}],"isBlockCoverage":false},{"functionName":"_emit","ranges":[{"startOffset":15770,"endOffset":18071,"count":0}],"isBlockCoverage":false},{"functionName":"_handleError","ranges":[{"startOffset":18246,"endOffset":18522,"count":0}],"isBlockCoverage":false},{"functionName":"_throttle","ranges":[{"startOffset":18818,"endOffset":19552,"count":0}],"isBlockCoverage":false},{"functionName":"_incrReadyCount","ranges":[{"startOffset":19554,"endOffset":19604,"count":0}],"isBlockCoverage":false},{"functionName":"_awaitWriteFinish","ranges":[{"startOffset":20051,"endOffset":21407,"count":0}],"isBlockCoverage":false},{"functionName":"_getGlobIgnored","ranges":[{"startOffset":21409,"endOffset":21473,"count":0}],"isBlockCoverage":false},{"functionName":"_isIgnored","ranges":[{"startOffset":21647,"endOffset":22247,"count":0}],"isBlockCoverage":false},{"functionName":"_isntIgnored","ranges":[{"startOffset":22249,"endOffset":22316,"count":0}],"isBlockCoverage":false},{"functionName":"_getWatchHelpers","ranges":[{"startOffset":22613,"endOffset":22852,"count":0}],"isBlockCoverage":false},{"functionName":"_getWatchedDir","ranges":[{"startOffset":23050,"endOffset":23318,"count":0}],"isBlockCoverage":false},{"functionName":"_hasReadPermissions","ranges":[{"startOffset":23583,"endOffset":23859,"count":0}],"isBlockCoverage":false},{"functionName":"_remove","ranges":[{"startOffset":24165,"endOffset":26854,"count":0}],"isBlockCoverage":false},{"functionName":"_closePath","ranges":[{"startOffset":26920,"endOffset":27060,"count":0}],"isBlockCoverage":false},{"functionName":"_closeFile","ranges":[{"startOffset":27130,"endOffset":27286,"count":0}],"isBlockCoverage":false},{"functionName":"_addPathCloser","ranges":[{"startOffset":27349,"endOffset":27532,"count":0}],"isBlockCoverage":false},{"functionName":"_readdirp","ranges":[{"startOffset":27534,"endOffset":27932,"count":0}],"isBlockCoverage":false},{"functionName":"watch","ranges":[{"startOffset":28233,"endOffset":28338,"count":0}],"isBlockCoverage":false}]},{"scriptId":"519","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/readdirp/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8876,"count":1},{"startOffset":1140,"endOffset":1181,"count":0}],"isBlockCoverage":true},{"functionName":"isNormalFlowError","ranges":[{"startOffset":942,"endOffset":985,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1055,"endOffset":1082,"count":2}],"isBlockCoverage":true},{"functionName":"normalizeFilter","ranges":[{"startOffset":1208,"endOffset":2067,"count":0}],"isBlockCoverage":false},{"functionName":"get defaultOptions","ranges":[{"startOffset":2119,"endOffset":2430,"count":0}],"isBlockCoverage":false},{"functionName":"ReaddirpStream","ranges":[{"startOffset":2434,"endOffset":3722,"count":0}],"isBlockCoverage":false},{"functionName":"_read","ranges":[{"startOffset":3726,"endOffset":5128,"count":0}],"isBlockCoverage":false},{"functionName":"_exploreDir","ranges":[{"startOffset":5132,"endOffset":5336,"count":0}],"isBlockCoverage":false},{"functionName":"_formatEntry","ranges":[{"startOffset":5340,"endOffset":5774,"count":0}],"isBlockCoverage":false},{"functionName":"_onError","ranges":[{"startOffset":5778,"endOffset":5924,"count":0}],"isBlockCoverage":false},{"functionName":"_getEntryType","ranges":[{"startOffset":5928,"endOffset":7108,"count":0}],"isBlockCoverage":false},{"functionName":"_includeAsFile","ranges":[{"startOffset":7112,"endOffset":7258,"count":0}],"isBlockCoverage":false},{"functionName":"readdirp","ranges":[{"startOffset":7820,"endOffset":8455,"count":0}],"isBlockCoverage":false},{"functionName":"readdirpPromise","ranges":[{"startOffset":8482,"endOffset":8738,"count":0}],"isBlockCoverage":false}]},{"scriptId":"520","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/picomatch/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":60,"count":1}],"isBlockCoverage":true}]},{"scriptId":"521","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/picomatch/lib/picomatch.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9956,"count":1}],"isBlockCoverage":true},{"functionName":"isObject","ranges":[{"startOffset":204,"endOffset":264,"count":0}],"isBlockCoverage":false},{"functionName":"picomatch","ranges":[{"startOffset":1018,"endOffset":2836,"count":0}],"isBlockCoverage":false},{"functionName":"picomatch.test","ranges":[{"startOffset":3384,"endOffset":4185,"count":0}],"isBlockCoverage":false},{"functionName":"picomatch.matchBase","ranges":[{"startOffset":4600,"endOffset":4787,"count":0}],"isBlockCoverage":false},{"functionName":"picomatch.isMatch","ranges":[{"startOffset":5423,"endOffset":5484,"count":0}],"isBlockCoverage":false},{"functionName":"picomatch.parse","ranges":[{"startOffset":5894,"endOffset":6062,"count":0}],"isBlockCoverage":false},{"functionName":"picomatch.scan","ranges":[{"startOffset":6697,"endOffset":6737,"count":0}],"isBlockCoverage":false},{"functionName":"picomatch.compileRe","ranges":[{"startOffset":7228,"endOffset":7738,"count":0}],"isBlockCoverage":false},{"functionName":"picomatch.makeRe","ranges":[{"startOffset":8611,"endOffset":9117,"count":0}],"isBlockCoverage":false},{"functionName":"picomatch.toRegex","ranges":[{"startOffset":9579,"endOffset":9807,"count":0}],"isBlockCoverage":false}]},{"scriptId":"522","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/picomatch/lib/scan.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9189,"count":1}],"isBlockCoverage":true},{"functionName":"isPathSeparator","ranges":[{"startOffset":665,"endOffset":746,"count":0}],"isBlockCoverage":false},{"functionName":"depth","ranges":[{"startOffset":763,"endOffset":863,"count":0}],"isBlockCoverage":false},{"functionName":"scan","ranges":[{"startOffset":1512,"endOffset":9163,"count":0}],"isBlockCoverage":false}]},{"scriptId":"523","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/picomatch/lib/utils.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1885,"count":1}],"isBlockCoverage":true},{"functionName":"exports.isObject","ranges":[{"startOffset":242,"endOffset":311,"count":0}],"isBlockCoverage":false},{"functionName":"exports.hasRegexChars","ranges":[{"startOffset":337,"endOffset":373,"count":0}],"isBlockCoverage":false},{"functionName":"exports.isRegexChar","ranges":[{"startOffset":397,"endOffset":450,"count":0}],"isBlockCoverage":false},{"functionName":"exports.escapeRegex","ranges":[{"startOffset":474,"endOffset":528,"count":0}],"isBlockCoverage":false},{"functionName":"exports.toPosixSlashes","ranges":[{"startOffset":555,"endOffset":595,"count":0}],"isBlockCoverage":false},{"functionName":"exports.removeBackslashes","ranges":[{"startOffset":626,"endOffset":738,"count":0}],"isBlockCoverage":false},{"functionName":"exports.supportsLookbehinds","ranges":[{"startOffset":771,"endOffset":960,"count":0}],"isBlockCoverage":false},{"functionName":"exports.isWindows","ranges":[{"startOffset":983,"endOffset":1132,"count":0}],"isBlockCoverage":false},{"functionName":"exports.escapeLast","ranges":[{"startOffset":1156,"endOffset":1401,"count":0}],"isBlockCoverage":false},{"functionName":"exports.removePrefix","ranges":[{"startOffset":1427,"endOffset":1584,"count":0}],"isBlockCoverage":false},{"functionName":"exports.wrapOutput","ranges":[{"startOffset":1608,"endOffset":1883,"count":0}],"isBlockCoverage":false}]},{"scriptId":"524","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/picomatch/lib/constants.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4448,"count":1}],"isBlockCoverage":true},{"functionName":"extglobChars","ranges":[{"startOffset":3985,"endOffset":4324,"count":0}],"isBlockCoverage":false},{"functionName":"globChars","ranges":[{"startOffset":4365,"endOffset":4444,"count":0}],"isBlockCoverage":false}]},{"scriptId":"525","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/picomatch/lib/parse.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":27763,"count":1}],"isBlockCoverage":true},{"functionName":"expandRange","ranges":[{"startOffset":287,"endOffset":640,"count":0}],"isBlockCoverage":false},{"functionName":"syntaxError","ranges":[{"startOffset":713,"endOffset":819,"count":0}],"isBlockCoverage":false},{"functionName":"parse","ranges":[{"startOffset":950,"endOffset":25216,"count":0}],"isBlockCoverage":false},{"functionName":"parse.fastpaths","ranges":[{"startOffset":25439,"endOffset":27736,"count":0}],"isBlockCoverage":false}]},{"scriptId":"526","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/anymatch/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3173,"count":1}],"isBlockCoverage":true},{"functionName":"arrify","ranges":[{"startOffset":432,"endOffset":477,"count":0}],"isBlockCoverage":false},{"functionName":"createPattern","ranges":[{"startOffset":598,"endOffset":944,"count":0}],"isBlockCoverage":false},{"functionName":"matchPatterns","ranges":[{"startOffset":1145,"endOffset":1951,"count":0}],"isBlockCoverage":false},{"functionName":"anymatch","ranges":[{"startOffset":2117,"endOffset":3114,"count":0}],"isBlockCoverage":false}]},{"scriptId":"527","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/normalize-path/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1024,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":176,"endOffset":1022,"count":0}],"isBlockCoverage":false}]},{"scriptId":"528","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/glob-parent/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1120,"count":1}],"isBlockCoverage":true},{"functionName":"globParent","ranges":[{"startOffset":461,"endOffset":1118,"count":0}],"isBlockCoverage":false}]},{"scriptId":"529","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/is-glob/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1153,"count":1}],"isBlockCoverage":true},{"functionName":"isGlob","ranges":[{"startOffset":405,"endOffset":1151,"count":0}],"isBlockCoverage":false}]},{"scriptId":"530","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/is-extglob/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":441,"count":1}],"isBlockCoverage":true},{"functionName":"isExtglob","ranges":[{"startOffset":168,"endOffset":439,"count":0}],"isBlockCoverage":false}]},{"scriptId":"531","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/braces/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4375,"count":1}],"isBlockCoverage":true},{"functionName":"braces","ranges":[{"startOffset":543,"endOffset":1030,"count":0}],"isBlockCoverage":false},{"functionName":"braces.parse","ranges":[{"startOffset":1359,"endOffset":1405,"count":0}],"isBlockCoverage":false},{"functionName":"braces.stringify","ranges":[{"startOffset":1795,"endOffset":1959,"count":0}],"isBlockCoverage":false},{"functionName":"braces.compile","ranges":[{"startOffset":2407,"endOffset":2550,"count":0}],"isBlockCoverage":false},{"functionName":"braces.expand","ranges":[{"startOffset":3141,"endOffset":3541,"count":0}],"isBlockCoverage":false},{"functionName":"braces.create","ranges":[{"startOffset":4118,"endOffset":4319,"count":0}],"isBlockCoverage":false}]},{"scriptId":"532","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/braces/lib/stringify.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":700,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":67,"endOffset":697,"count":0}],"isBlockCoverage":false}]},{"scriptId":"533","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/braces/lib/utils.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2451,"count":1}],"isBlockCoverage":true},{"functionName":"exports.isInteger","ranges":[{"startOffset":35,"endOffset":232,"count":0}],"isBlockCoverage":false},{"functionName":"exports.find","ranges":[{"startOffset":292,"endOffset":351,"count":0}],"isBlockCoverage":false},{"functionName":"exports.exceedsLimit","ranges":[{"startOffset":419,"endOffset":626,"count":0}],"isBlockCoverage":false},{"functionName":"exports.escapeNode","ranges":[{"startOffset":712,"endOffset":985,"count":0}],"isBlockCoverage":false},{"functionName":"exports.encloseBrace","ranges":[{"startOffset":1097,"endOffset":1266,"count":0}],"isBlockCoverage":false},{"functionName":"exports.isInvalidBrace","ranges":[{"startOffset":1347,"endOffset":1680,"count":0}],"isBlockCoverage":false},{"functionName":"exports.isOpenOrClose","ranges":[{"startOffset":1767,"endOffset":1906,"count":0}],"isBlockCoverage":false},{"functionName":"exports.reduce","ranges":[{"startOffset":1969,"endOffset":2127,"count":0}],"isBlockCoverage":false},{"functionName":"exports.flatten","ranges":[{"startOffset":2177,"endOffset":2449,"count":0}],"isBlockCoverage":false}]},{"scriptId":"534","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/braces/lib/compile.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1415,"count":1}],"isBlockCoverage":true},{"functionName":"compile","ranges":[{"startOffset":102,"endOffset":1386,"count":0}],"isBlockCoverage":false}]},{"scriptId":"535","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fill-range/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6315,"count":1}],"isBlockCoverage":true},{"functionName":"isObject","ranges":[{"startOffset":265,"endOffset":334,"count":0}],"isBlockCoverage":false},{"functionName":"transform","ranges":[{"startOffset":355,"endOffset":439,"count":0}],"isBlockCoverage":false},{"functionName":"isValidValue","ranges":[{"startOffset":463,"endOffset":558,"count":0}],"isBlockCoverage":false},{"functionName":"isNumber","ranges":[{"startOffset":578,"endOffset":607,"count":0}],"isBlockCoverage":false},{"functionName":"zeros","ranges":[{"startOffset":624,"endOffset":817,"count":0}],"isBlockCoverage":false},{"functionName":"stringify","ranges":[{"startOffset":838,"endOffset":986,"count":0}],"isBlockCoverage":false},{"functionName":"pad","ranges":[{"startOffset":1001,"endOffset":1295,"count":0}],"isBlockCoverage":false},{"functionName":"toMaxLen","ranges":[{"startOffset":1315,"endOffset":1552,"count":0}],"isBlockCoverage":false},{"functionName":"toSequence","ranges":[{"startOffset":1574,"endOffset":2208,"count":0}],"isBlockCoverage":false},{"functionName":"toRange","ranges":[{"startOffset":2227,"endOffset":2480,"count":0}],"isBlockCoverage":false},{"functionName":"toRegex","ranges":[{"startOffset":2499,"endOffset":2758,"count":0}],"isBlockCoverage":false},{"functionName":"rangeError","ranges":[{"startOffset":2780,"endOffset":2874,"count":0}],"isBlockCoverage":false},{"functionName":"invalidRange","ranges":[{"startOffset":2898,"endOffset":3008,"count":0}],"isBlockCoverage":false},{"functionName":"invalidStep","ranges":[{"startOffset":3031,"endOffset":3176,"count":0}],"isBlockCoverage":false},{"functionName":"fillNumbers","ranges":[{"startOffset":3199,"endOffset":4682,"count":0}],"isBlockCoverage":false},{"functionName":"fillLetters","ranges":[{"startOffset":4705,"endOffset":5486,"count":0}],"isBlockCoverage":false},{"functionName":"fill","ranges":[{"startOffset":5502,"endOffset":6289,"count":0}],"isBlockCoverage":false}]},{"scriptId":"536","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/to-regex-range/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6481,"count":1}],"isBlockCoverage":true},{"functionName":"toRegexRange","ranges":[{"startOffset":235,"endOffset":2177,"count":0}],"isBlockCoverage":false},{"functionName":"collatePatterns","ranges":[{"startOffset":2180,"endOffset":2554,"count":0}],"isBlockCoverage":false},{"functionName":"splitToRanges","ranges":[{"startOffset":2556,"endOffset":3037,"count":0}],"isBlockCoverage":false},{"functionName":"rangeToPattern","ranges":[{"startOffset":3159,"endOffset":3832,"count":0}],"isBlockCoverage":false},{"functionName":"splitToPatterns","ranges":[{"startOffset":3834,"endOffset":4632,"count":0}],"isBlockCoverage":false},{"functionName":"filterPatterns","ranges":[{"startOffset":4634,"endOffset":5094,"count":0}],"isBlockCoverage":false},{"functionName":"zip","ranges":[{"startOffset":5120,"endOffset":5233,"count":0}],"isBlockCoverage":false},{"functionName":"compare","ranges":[{"startOffset":5235,"endOffset":5298,"count":0}],"isBlockCoverage":false},{"functionName":"contains","ranges":[{"startOffset":5300,"endOffset":5380,"count":0}],"isBlockCoverage":false},{"functionName":"countNines","ranges":[{"startOffset":5382,"endOffset":5478,"count":0}],"isBlockCoverage":false},{"functionName":"countZeros","ranges":[{"startOffset":5480,"endOffset":5571,"count":0}],"isBlockCoverage":false},{"functionName":"toQuantifier","ranges":[{"startOffset":5573,"endOffset":5741,"count":0}],"isBlockCoverage":false},{"functionName":"toCharacterClass","ranges":[{"startOffset":5743,"endOffset":5837,"count":0}],"isBlockCoverage":false},{"functionName":"hasPadding","ranges":[{"startOffset":5839,"endOffset":5899,"count":0}],"isBlockCoverage":false},{"functionName":"padZeros","ranges":[{"startOffset":5901,"endOffset":6311,"count":0}],"isBlockCoverage":false},{"functionName":"toRegexRange.clearCache","ranges":[{"startOffset":6382,"endOffset":6413,"count":0}],"isBlockCoverage":false}]},{"scriptId":"537","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/is-number/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":411,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":184,"endOffset":409,"count":0}],"isBlockCoverage":false}]},{"scriptId":"538","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/braces/lib/expand.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2780,"count":1}],"isBlockCoverage":true},{"functionName":"append","ranges":[{"startOffset":143,"endOffset":810,"count":0}],"isBlockCoverage":false},{"functionName":"expand","ranges":[{"startOffset":828,"endOffset":2752,"count":0}],"isBlockCoverage":false}]},{"scriptId":"539","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/braces/lib/parse.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6913,"count":1}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":576,"endOffset":6886,"count":0}],"isBlockCoverage":false}]},{"scriptId":"540","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/braces/lib/constants.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1593,"count":1}],"isBlockCoverage":true}]},{"scriptId":"541","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chokidar/lib/nodefs-handler.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":20067,"count":1}],"isBlockCoverage":true},{"functionName":"foreach","ranges":[{"startOffset":725,"endOffset":818,"count":0}],"isBlockCoverage":false},{"functionName":"addAndConvert","ranges":[{"startOffset":843,"endOffset":1013,"count":0}],"isBlockCoverage":false},{"functionName":"clearItem","ranges":[{"startOffset":1034,"endOffset":1159,"count":0}],"isBlockCoverage":false},{"functionName":"delFromSet","ranges":[{"startOffset":1181,"endOffset":1362,"count":0}],"isBlockCoverage":false},{"functionName":"isEmptySet","ranges":[{"startOffset":1384,"endOffset":1435,"count":0}],"isBlockCoverage":false},{"functionName":"createFsWatchInstance","ranges":[{"startOffset":2240,"endOffset":2860,"count":0}],"isBlockCoverage":false},{"functionName":"fsWatchBroadcast","ranges":[{"startOffset":3167,"endOffset":3352,"count":0}],"isBlockCoverage":false},{"functionName":"setFsWatchListener","ranges":[{"startOffset":3691,"endOffset":5797,"count":0}],"isBlockCoverage":false},{"functionName":"setFsWatchFileListener","ranges":[{"startOffset":6374,"endOffset":8442,"count":0}],"isBlockCoverage":false},{"functionName":"NodeFsHandler","ranges":[{"startOffset":8539,"endOffset":8640,"count":0}],"isBlockCoverage":false},{"functionName":"_watchWithNodeFs","ranges":[{"startOffset":8844,"endOffset":9693,"count":0}],"isBlockCoverage":false},{"functionName":"_handleFile","ranges":[{"startOffset":9953,"endOffset":12010,"count":0}],"isBlockCoverage":false},{"functionName":"_handleSymlink","ranges":[{"startOffset":12337,"endOffset":13370,"count":0}],"isBlockCoverage":false},{"functionName":"_handleRead","ranges":[{"startOffset":13372,"endOffset":15882,"count":0}],"isBlockCoverage":false},{"functionName":"_handleDir","ranges":[{"startOffset":16330,"endOffset":17387,"count":0}],"isBlockCoverage":false},{"functionName":"_addToNodeFs","ranges":[{"startOffset":17835,"endOffset":20030,"count":0}],"isBlockCoverage":false}]},{"scriptId":"542","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/is-binary-path/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":239,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":164,"endOffset":237,"count":0}],"isBlockCoverage":false}]},{"scriptId":"543","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/binary-extensions/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":54,"count":1}],"isBlockCoverage":true}]},{"scriptId":"544","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chokidar/lib/constants.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1834,"count":1}],"isBlockCoverage":true},{"functionName":"exports.EMPTY_FN","ranges":[{"startOffset":1626,"endOffset":1634,"count":0}],"isBlockCoverage":false},{"functionName":"exports.IDENTITY_FN","ranges":[{"startOffset":1658,"endOffset":1668,"count":0}],"isBlockCoverage":false}]},{"scriptId":"545","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chokidar/lib/fsevents-handler.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":16274,"count":1},{"startOffset":243,"endOffset":264,"count":0},{"startOffset":282,"endOffset":561,"count":0}],"isBlockCoverage":true},{"functionName":"Depth","ranges":[{"startOffset":973,"endOffset":1018,"count":0}],"isBlockCoverage":false},{"functionName":"createFSEventsInstance","ranges":[{"startOffset":2064,"endOffset":2151,"count":0}],"isBlockCoverage":false},{"functionName":"setFSEventsListener","ranges":[{"startOffset":2552,"endOffset":4873,"count":0}],"isBlockCoverage":false},{"functionName":"couldConsolidate","ranges":[{"startOffset":4978,"endOffset":5217,"count":0}],"isBlockCoverage":false},{"functionName":"canUse","ranges":[{"startOffset":5294,"endOffset":5339,"count":0}],"isBlockCoverage":false},{"functionName":"calcDepth","ranges":[{"startOffset":5422,"endOffset":5544,"count":0}],"isBlockCoverage":false},{"functionName":"sameTypes","ranges":[{"startOffset":5680,"endOffset":5883,"count":0}],"isBlockCoverage":false},{"functionName":"FsEventsHandler","ranges":[{"startOffset":5981,"endOffset":6019,"count":0}],"isBlockCoverage":false},{"functionName":"checkIgnored","ranges":[{"startOffset":6020,"endOffset":6324,"count":0}],"isBlockCoverage":false},{"functionName":"addOrChange","ranges":[{"startOffset":6326,"endOffset":6555,"count":0}],"isBlockCoverage":false},{"functionName":"checkExists","ranges":[{"startOffset":6557,"endOffset":7223,"count":0}],"isBlockCoverage":false},{"functionName":"handleEvent","ranges":[{"startOffset":7225,"endOffset":8519,"count":0}],"isBlockCoverage":false},{"functionName":"_watchWithFsEvents","ranges":[{"startOffset":8907,"endOffset":10901,"count":0}],"isBlockCoverage":false},{"functionName":"_handleFsEventsSymlink","ranges":[{"startOffset":11236,"endOffset":12319,"count":0}],"isBlockCoverage":false},{"functionName":"emitAdd","ranges":[{"startOffset":12384,"endOffset":12857,"count":0}],"isBlockCoverage":false},{"functionName":"initWatch","ranges":[{"startOffset":12859,"endOffset":13124,"count":0}],"isBlockCoverage":false},{"functionName":"_addToFsEvents","ranges":[{"startOffset":13464,"endOffset":16203,"count":0}],"isBlockCoverage":false}]},{"scriptId":"546","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/collect-files.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4074,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":780,"endOffset":2999,"count":1},{"startOffset":2154,"endOffset":2181,"count":0},{"startOffset":2397,"endOffset":2788,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":930,"endOffset":1517,"count":1},{"startOffset":1314,"endOffset":1513,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1056,"endOffset":1200,"count":556}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1104,"endOffset":1188,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1224,"endOffset":1258,"count":556}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1627,"endOffset":2067,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2273,"endOffset":2307,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2862,"endOffset":2944,"count":0}],"isBlockCoverage":false}]},{"scriptId":"547","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/node_modules/minimatch/minimatch.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":28818,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":35,"endOffset":267,"count":0}],"isBlockCoverage":false},{"functionName":"charSet","ranges":[{"startOffset":1274,"endOffset":1347,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1298,"endOffset":1342,"count":17}],"isBlockCoverage":true},{"functionName":"minimatch.filter","ranges":[{"startOffset":1617,"endOffset":1692,"count":0}],"isBlockCoverage":false},{"functionName":"ext","ranges":[{"startOffset":1706,"endOffset":1836,"count":0}],"isBlockCoverage":false},{"functionName":"minimatch.defaults","ranges":[{"startOffset":1859,"endOffset":2677,"count":0}],"isBlockCoverage":false},{"functionName":"minimatch.braceExpand","ranges":[{"startOffset":2957,"endOffset":3008,"count":0}],"isBlockCoverage":false},{"functionName":"braceExpand","ranges":[{"startOffset":3030,"endOffset":3358,"count":2},{"startOffset":3330,"endOffset":3357,"count":0}],"isBlockCoverage":true},{"functionName":"assertValidPattern","ranges":[{"startOffset":3424,"endOffset":3619,"count":12},{"startOffset":3472,"endOffset":3520,"count":0},{"startOffset":3565,"endOffset":3617,"count":0}],"isBlockCoverage":true},{"functionName":"minimatch.makeRe","ranges":[{"startOffset":4321,"endOffset":4391,"count":0}],"isBlockCoverage":false},{"functionName":"minimatch.match","ranges":[{"startOffset":4411,"endOffset":4615,"count":0}],"isBlockCoverage":false},{"functionName":"globUnescape","ranges":[{"startOffset":4670,"endOffset":4700,"count":4}],"isBlockCoverage":true},{"functionName":"charUnescape","ranges":[{"startOffset":4722,"endOffset":4757,"count":0}],"isBlockCoverage":false},{"functionName":"regExpEscape","ranges":[{"startOffset":4779,"endOffset":4829,"count":0}],"isBlockCoverage":false},{"functionName":"braExpEscape","ranges":[{"startOffset":4851,"endOffset":4885,"count":0}],"isBlockCoverage":false},{"functionName":"Minimatch","ranges":[{"startOffset":4907,"endOffset":5471,"count":2},{"startOffset":4991,"endOffset":5003,"count":0},{"startOffset":5140,"endOffset":5185,"count":0}],"isBlockCoverage":true},{"functionName":"debug","ranges":[{"startOffset":5475,"endOffset":5486,"count":40}],"isBlockCoverage":true},{"functionName":"make","ranges":[{"startOffset":5490,"endOffset":6696,"count":2},{"startOffset":5644,"endOffset":5672,"count":0},{"startOffset":5674,"endOffset":5720,"count":0},{"startOffset":5739,"endOffset":5783,"count":0},{"startOffset":5951,"endOffset":5999,"count":0}],"isBlockCoverage":true},{"functionName":"debug","ranges":[{"startOffset":5964,"endOffset":5999,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6347,"endOffset":6371,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6451,"endOffset":6490,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6608,"endOffset":6636,"count":2}],"isBlockCoverage":true},{"functionName":"parseNegate","ranges":[{"startOffset":6700,"endOffset":7058,"count":2},{"startOffset":6754,"endOffset":6905,"count":0},{"startOffset":6912,"endOffset":7057,"count":0}],"isBlockCoverage":true},{"functionName":"matchOne","ranges":[{"startOffset":7290,"endOffset":12449,"count":0}],"isBlockCoverage":false},{"functionName":"braceExpand","ranges":[{"startOffset":12453,"endOffset":12524,"count":2}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":12528,"endOffset":24830,"count":8},{"startOffset":12663,"endOffset":12758,"count":2},{"startOffset":12719,"endOffset":12752,"count":0},{"startOffset":12758,"endOffset":12783,"count":6},{"startOffset":12783,"endOffset":12792,"count":0},{"startOffset":12792,"endOffset":13367,"count":6},{"startOffset":14261,"endOffset":14287,"count":26},{"startOffset":14294,"endOffset":19953,"count":26},{"startOffset":14410,"endOffset":14671,"count":0},{"startOffset":14735,"endOffset":14829,"count":0},{"startOffset":14839,"endOffset":15031,"count":0},{"startOffset":15117,"endOffset":15126,"count":0},{"startOffset":15135,"endOffset":15144,"count":2},{"startOffset":15153,"endOffset":15162,"count":2},{"startOffset":15171,"endOffset":15180,"count":2},{"startOffset":15189,"endOffset":16094,"count":2},{"startOffset":15408,"endOffset":15558,"count":0},{"startOffset":16061,"endOffset":16077,"count":0},{"startOffset":16104,"endOffset":16993,"count":0},{"startOffset":17003,"endOffset":17582,"count":0},{"startOffset":17592,"endOffset":18060,"count":0},{"startOffset":18126,"endOffset":18427,"count":0},{"startOffset":18437,"endOffset":19697,"count":0},{"startOffset":19707,"endOffset":19928,"count":24},{"startOffset":19829,"endOffset":19855,"count":2},{"startOffset":19844,"endOffset":19854,"count":0},{"startOffset":19857,"endOffset":19893,"count":2},{"startOffset":19953,"endOffset":20076,"count":6},{"startOffset":20076,"endOffset":20472,"count":0},{"startOffset":20472,"endOffset":20890,"count":6},{"startOffset":20890,"endOffset":21940,"count":0},{"startOffset":21940,"endOffset":22045,"count":6},{"startOffset":22045,"endOffset":22092,"count":0},{"startOffset":22092,"endOffset":22601,"count":6},{"startOffset":22601,"endOffset":23486,"count":0},{"startOffset":23486,"endOffset":23694,"count":6},{"startOffset":23696,"endOffset":23727,"count":2},{"startOffset":23727,"endOffset":23754,"count":6},{"startOffset":23754,"endOffset":23792,"count":2},{"startOffset":23792,"endOffset":23871,"count":6},{"startOffset":23871,"endOffset":23906,"count":0},{"startOffset":23906,"endOffset":24002,"count":6},{"startOffset":24002,"endOffset":24014,"count":0},{"startOffset":24016,"endOffset":24088,"count":0},{"startOffset":24088,"endOffset":24256,"count":6},{"startOffset":24256,"endOffset":24298,"count":4},{"startOffset":24298,"endOffset":24333,"count":2},{"startOffset":24333,"endOffset":24338,"count":0},{"startOffset":24339,"endOffset":24343,"count":2},{"startOffset":24475,"endOffset":24826,"count":0}],"isBlockCoverage":true},{"functionName":"patternStart","ranges":[{"startOffset":13393,"endOffset":13520,"count":2},{"startOffset":13428,"endOffset":13432,"count":0},{"startOffset":13466,"endOffset":13500,"count":0}],"isBlockCoverage":true},{"functionName":"subPatternStart","ranges":[{"startOffset":13549,"endOffset":13679,"count":0}],"isBlockCoverage":false},{"functionName":"clearStateChar","ranges":[{"startOffset":13709,"endOffset":14215,"count":32},{"startOffset":13738,"endOffset":14209,"count":2},{"startOffset":13960,"endOffset":14037,"count":0},{"startOffset":14048,"endOffset":14107,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21124,"endOffset":21702,"count":0}],"isBlockCoverage":false},{"functionName":"makeRe","ranges":[{"startOffset":24834,"endOffset":27191,"count":0}],"isBlockCoverage":false},{"functionName":"match","ranges":[{"startOffset":27195,"endOffset":28706,"count":0}],"isBlockCoverage":false},{"functionName":"defaults","ranges":[{"startOffset":28717,"endOffset":28782,"count":0}],"isBlockCoverage":false}]},{"scriptId":"548","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/node_modules/minimatch/lib/path.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":151,"count":1},{"startOffset":120,"endOffset":135,"count":0}],"isBlockCoverage":true}]},{"scriptId":"549","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/node_modules/brace-expansion/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4992,"count":1}],"isBlockCoverage":true},{"functionName":"numeric","ranges":[{"startOffset":298,"endOffset":406,"count":0}],"isBlockCoverage":false},{"functionName":"escapeBraces","ranges":[{"startOffset":408,"endOffset":645,"count":0}],"isBlockCoverage":false},{"functionName":"unescapeBraces","ranges":[{"startOffset":647,"endOffset":876,"count":0}],"isBlockCoverage":false},{"functionName":"parseCommaParts","ranges":[{"startOffset":1040,"endOffset":1506,"count":0}],"isBlockCoverage":false},{"functionName":"expandTop","ranges":[{"startOffset":1508,"endOffset":2085,"count":0}],"isBlockCoverage":false},{"functionName":"embrace","ranges":[{"startOffset":2087,"endOffset":2138,"count":0}],"isBlockCoverage":false},{"functionName":"isPadded","ranges":[{"startOffset":2139,"endOffset":2192,"count":0}],"isBlockCoverage":false},{"functionName":"lte","ranges":[{"startOffset":2194,"endOffset":2233,"count":0}],"isBlockCoverage":false},{"functionName":"gte","ranges":[{"startOffset":2234,"endOffset":2273,"count":0}],"isBlockCoverage":false},{"functionName":"expand","ranges":[{"startOffset":2275,"endOffset":4990,"count":0}],"isBlockCoverage":false}]},{"scriptId":"550","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/balanced-match/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1174,"count":1}],"isBlockCoverage":true},{"functionName":"balanced","ranges":[{"startOffset":41,"endOffset":368,"count":0}],"isBlockCoverage":false},{"functionName":"maybeMatch","ranges":[{"startOffset":370,"endOffset":455,"count":0}],"isBlockCoverage":false},{"functionName":"range","ranges":[{"startOffset":481,"endOffset":1173,"count":0}],"isBlockCoverage":false}]},{"scriptId":"551","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/lookup-files.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4277,"count":1}],"isBlockCoverage":true},{"functionName":"isHiddenOnUnix","ranges":[{"startOffset":1057,"endOffset":1108,"count":0}],"isBlockCoverage":false},{"functionName":"hasMatchingExtname","ranges":[{"startOffset":1618,"endOffset":1747,"count":0}],"isBlockCoverage":false},{"functionName":"lookupFiles","ranges":[{"startOffset":2409,"endOffset":4275,"count":1},{"startOffset":2712,"endOffset":3009,"count":0},{"startOffset":3151,"endOffset":3292,"count":0},{"startOffset":3314,"endOffset":3428,"count":0},{"startOffset":3433,"endOffset":4274,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2820,"endOffset":2866,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3541,"endOffset":4254,"count":0}],"isBlockCoverage":false}]},{"scriptId":"552","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/node_modules/glob/glob.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":19444,"count":1}],"isBlockCoverage":true},{"functionName":"glob","ranges":[{"startOffset":2095,"endOffset":2406,"count":0}],"isBlockCoverage":false},{"functionName":"extend","ranges":[{"startOffset":2516,"endOffset":2744,"count":1},{"startOffset":2595,"endOffset":2618,"count":0}],"isBlockCoverage":true},{"functionName":"glob.hasMagic","ranges":[{"startOffset":2762,"endOffset":3119,"count":1},{"startOffset":2944,"endOffset":2956,"count":0},{"startOffset":2984,"endOffset":2995,"count":0},{"startOffset":3039,"endOffset":3101,"count":3},{"startOffset":3086,"endOffset":3097,"count":1},{"startOffset":3101,"endOffset":3118,"count":0}],"isBlockCoverage":true},{"functionName":"Glob","ranges":[{"startOffset":3157,"endOffset":4587,"count":1},{"startOffset":3233,"endOffset":3274,"count":0},{"startOffset":3307,"endOffset":3426,"count":0},{"startOffset":3463,"endOffset":3500,"count":0},{"startOffset":3924,"endOffset":4043,"count":0},{"startOffset":4196,"endOffset":4586,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3988,"endOffset":4038,"count":0}],"isBlockCoverage":false},{"functionName":"done","ranges":[{"startOffset":4362,"endOffset":4585,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._finish","ranges":[{"startOffset":4614,"endOffset":4817,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._realpath","ranges":[{"startOffset":4846,"endOffset":5161,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._realpathSet","ranges":[{"startOffset":5193,"endOffset":6009,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._mark","ranges":[{"startOffset":6034,"endOffset":6080,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._makeAbs","ranges":[{"startOffset":6108,"endOffset":6157,"count":0}],"isBlockCoverage":false},{"functionName":"Glob.abort","ranges":[{"startOffset":6182,"endOffset":6240,"count":0}],"isBlockCoverage":false},{"functionName":"Glob.pause","ranges":[{"startOffset":6265,"endOffset":6352,"count":0}],"isBlockCoverage":false},{"functionName":"Glob.resume","ranges":[{"startOffset":6378,"endOffset":6960,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._process","ranges":[{"startOffset":6988,"endOffset":8837,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._processReaddir","ranges":[{"startOffset":8872,"endOffset":9108,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._processReaddir2","ranges":[{"startOffset":9144,"endOffset":11188,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._emitMatch","ranges":[{"startOffset":11218,"endOffset":11786,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._readdirInGlobStar","ranges":[{"startOffset":11824,"endOffset":12626,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._readdir","ranges":[{"startOffset":12654,"endOffset":13171,"count":0}],"isBlockCoverage":false},{"functionName":"readdirCb","ranges":[{"startOffset":13173,"endOffset":13353,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._readdirEntries","ranges":[{"startOffset":13388,"endOffset":13885,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._readdirError","ranges":[{"startOffset":13918,"endOffset":15003,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._processGlobStar","ranges":[{"startOffset":15039,"endOffset":15269,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._processGlobStar2","ranges":[{"startOffset":15307,"endOffset":16454,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._processSimple","ranges":[{"startOffset":16488,"endOffset":16744,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._processSimple2","ranges":[{"startOffset":16778,"endOffset":17460,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._stat","ranges":[{"startOffset":17527,"endOffset":18918,"count":0}],"isBlockCoverage":false},{"functionName":"Glob._stat2","ranges":[{"startOffset":18944,"endOffset":19443,"count":0}],"isBlockCoverage":false}]},{"scriptId":"553","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fs.realpath/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1308,"count":1}],"isBlockCoverage":true},{"functionName":"newError","ranges":[{"startOffset":386,"endOffset":548,"count":0}],"isBlockCoverage":false},{"functionName":"realpath","ranges":[{"startOffset":550,"endOffset":865,"count":0}],"isBlockCoverage":false},{"functionName":"realpathSync","ranges":[{"startOffset":867,"endOffset":1123,"count":0}],"isBlockCoverage":false},{"functionName":"monkeypatch","ranges":[{"startOffset":1125,"endOffset":1210,"count":0}],"isBlockCoverage":false},{"functionName":"unmonkeypatch","ranges":[{"startOffset":1212,"endOffset":1307,"count":0}],"isBlockCoverage":false}]},{"scriptId":"554","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fs.realpath/old.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8542,"count":1},{"startOffset":1341,"endOffset":1377,"count":0},{"startOffset":2489,"endOffset":2534,"count":0},{"startOffset":2673,"endOffset":2754,"count":0}],"isBlockCoverage":true},{"functionName":"rethrow","ranges":[{"startOffset":1380,"endOffset":2224,"count":0}],"isBlockCoverage":false},{"functionName":"maybeCallback","ranges":[{"startOffset":2226,"endOffset":2308,"count":0}],"isBlockCoverage":false},{"functionName":"realpathSync","ranges":[{"startOffset":2818,"endOffset":5360,"count":0}],"isBlockCoverage":false},{"functionName":"realpath","ranges":[{"startOffset":5383,"endOffset":8540,"count":0}],"isBlockCoverage":false}]},{"scriptId":"555","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/inherits/inherits.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":250,"count":1},{"startOffset":108,"endOffset":117,"count":0},{"startOffset":154,"endOffset":249,"count":0}],"isBlockCoverage":true}]},{"scriptId":"556","url":"node:assert","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":31809,"count":1}],"isBlockCoverage":false},{"functionName":"lazyLoadComparison","ranges":[{"startOffset":2693,"endOffset":2877,"count":0}],"isBlockCoverage":false},{"functionName":"escapeFn","ranges":[{"startOffset":3458,"endOffset":3506,"count":0}],"isBlockCoverage":false},{"functionName":"innerFail","ranges":[{"startOffset":4060,"endOffset":4176,"count":0}],"isBlockCoverage":false},{"functionName":"fail","ranges":[{"startOffset":4337,"endOffset":5318,"count":0}],"isBlockCoverage":false},{"functionName":"findColumn","ranges":[{"startOffset":5434,"endOffset":6374,"count":0}],"isBlockCoverage":false},{"functionName":"getCode","ranges":[{"startOffset":6376,"endOffset":8021,"count":0}],"isBlockCoverage":false},{"functionName":"parseCode","ranges":[{"startOffset":8023,"endOffset":9440,"count":0}],"isBlockCoverage":false},{"functionName":"getErrMessage","ranges":[{"startOffset":9442,"endOffset":12536,"count":0}],"isBlockCoverage":false},{"functionName":"innerOk","ranges":[{"startOffset":12538,"endOffset":13146,"count":4491},{"startOffset":12599,"endOffset":13144,"count":0}],"isBlockCoverage":true},{"functionName":"ok","ranges":[{"startOffset":13279,"endOffset":13340,"count":4491}],"isBlockCoverage":true},{"functionName":"equal","ranges":[{"startOffset":13599,"endOffset":13971,"count":0}],"isBlockCoverage":false},{"functionName":"notEqual","ranges":[{"startOffset":14190,"endOffset":14566,"count":0}],"isBlockCoverage":false},{"functionName":"deepEqual","ranges":[{"startOffset":14766,"endOffset":15131,"count":0}],"isBlockCoverage":false},{"functionName":"notDeepEqual","ranges":[{"startOffset":15337,"endOffset":15710,"count":0}],"isBlockCoverage":false},{"functionName":"deepStrictEqual","ranges":[{"startOffset":15953,"endOffset":16342,"count":0}],"isBlockCoverage":false},{"functionName":"notDeepStrictEqual","ranges":[{"startOffset":16591,"endOffset":16988,"count":0}],"isBlockCoverage":false},{"functionName":"strictEqual","ranges":[{"startOffset":17193,"endOffset":17506,"count":0}],"isBlockCoverage":false},{"functionName":"notStrictEqual","ranges":[{"startOffset":17718,"endOffset":18039,"count":6},{"startOffset":17799,"endOffset":17858,"count":0},{"startOffset":17893,"endOffset":18037,"count":0}],"isBlockCoverage":true},{"functionName":"Comparison","ranges":[{"startOffset":18063,"endOffset":18445,"count":0}],"isBlockCoverage":false},{"functionName":"compareExceptionKey","ranges":[{"startOffset":18449,"endOffset":19168,"count":0}],"isBlockCoverage":false},{"functionName":"expectedException","ranges":[{"startOffset":19170,"endOffset":22574,"count":0}],"isBlockCoverage":false},{"functionName":"getActual","ranges":[{"startOffset":22576,"endOffset":22716,"count":0}],"isBlockCoverage":false},{"functionName":"checkIsPromise","ranges":[{"startOffset":22718,"endOffset":23082,"count":0}],"isBlockCoverage":false},{"functionName":"waitForActual","ranges":[{"startOffset":23084,"endOffset":23798,"count":0}],"isBlockCoverage":false},{"functionName":"expectsError","ranges":[{"startOffset":23800,"endOffset":25417,"count":0}],"isBlockCoverage":false},{"functionName":"hasMatchingError","ranges":[{"startOffset":25419,"endOffset":26037,"count":0}],"isBlockCoverage":false},{"functionName":"expectsNoError","ranges":[{"startOffset":26039,"endOffset":26690,"count":0}],"isBlockCoverage":false},{"functionName":"throws","ranges":[{"startOffset":26848,"endOffset":26942,"count":0}],"isBlockCoverage":false},{"functionName":"rejects","ranges":[{"startOffset":27121,"endOffset":27233,"count":0}],"isBlockCoverage":false},{"functionName":"doesNotThrow","ranges":[{"startOffset":27395,"endOffset":27489,"count":0}],"isBlockCoverage":false},{"functionName":"doesNotReject","ranges":[{"startOffset":27655,"endOffset":27767,"count":0}],"isBlockCoverage":false},{"functionName":"ifError","ranges":[{"startOffset":27895,"endOffset":29684,"count":0}],"isBlockCoverage":false},{"functionName":"internalMatch","ranges":[{"startOffset":29687,"endOffset":30770,"count":0}],"isBlockCoverage":false},{"functionName":"match","ranges":[{"startOffset":30966,"endOffset":31058,"count":0}],"isBlockCoverage":false},{"functionName":"doesNotMatch","ranges":[{"startOffset":31266,"endOffset":31372,"count":0}],"isBlockCoverage":false},{"functionName":"strict","ranges":[{"startOffset":31504,"endOffset":31573,"count":0}],"isBlockCoverage":false}]},{"scriptId":"557","url":"node:internal/assert/assertion_error","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":17119,"count":1}],"isBlockCoverage":false},{"functionName":"copyError","ranges":[{"startOffset":1465,"endOffset":1758,"count":0}],"isBlockCoverage":false},{"functionName":"inspectValue","ranges":[{"startOffset":1760,"endOffset":2368,"count":0}],"isBlockCoverage":false},{"functionName":"createErrDiff","ranges":[{"startOffset":2370,"endOffset":11106,"count":0}],"isBlockCoverage":false},{"functionName":"addEllipsis","ranges":[{"startOffset":11108,"endOffset":11411,"count":0}],"isBlockCoverage":false},{"functionName":"AssertionError","ranges":[{"startOffset":11452,"endOffset":16148,"count":0}],"isBlockCoverage":false},{"functionName":"toString","ranges":[{"startOffset":16152,"endOffset":16227,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":16231,"endOffset":17082,"count":0}],"isBlockCoverage":false}]},{"scriptId":"558","url":"node:internal/util/colors","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1122,"count":1}],"isBlockCoverage":false},{"functionName":"lazyInternalTTY","ranges":[{"startOffset":32,"endOffset":127,"count":0}],"isBlockCoverage":false},{"functionName":"shouldColorize","ranges":[{"startOffset":244,"endOffset":504,"count":4},{"startOffset":316,"endOffset":375,"count":0},{"startOffset":401,"endOffset":499,"count":0}],"isBlockCoverage":true},{"functionName":"refresh","ranges":[{"startOffset":508,"endOffset":1090,"count":1},{"startOffset":550,"endOffset":1086,"count":0}],"isBlockCoverage":true}]},{"scriptId":"559","url":"node:internal/assert/calltracker","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3452,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":462,"endOffset":1495,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1497,"endOffset":3420,"count":0}],"isBlockCoverage":false}]},{"scriptId":"560","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/node_modules/glob/sync.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12019,"count":1}],"isBlockCoverage":true},{"functionName":"globSync","ranges":[{"startOffset":500,"endOffset":789,"count":1},{"startOffset":606,"endOffset":740,"count":0}],"isBlockCoverage":true},{"functionName":"GlobSync","ranges":[{"startOffset":791,"endOffset":1418,"count":1},{"startOffset":850,"endOffset":889,"count":0},{"startOffset":958,"endOffset":1092,"count":0},{"startOffset":1133,"endOffset":1170,"count":0},{"startOffset":1233,"endOffset":1244,"count":0}],"isBlockCoverage":true},{"functionName":"GlobSync._finish","ranges":[{"startOffset":1449,"endOffset":2009,"count":1},{"startOffset":1522,"endOffset":1985,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1569,"endOffset":1980,"count":0}],"isBlockCoverage":false},{"functionName":"GlobSync._process","ranges":[{"startOffset":2042,"endOffset":3629,"count":4490},{"startOffset":2236,"endOffset":2250,"count":8962},{"startOffset":2425,"endOffset":2510,"count":1101},{"startOffset":2516,"endOffset":2680,"count":0},{"startOffset":2686,"endOffset":2915,"count":3389},{"startOffset":2919,"endOffset":3022,"count":3389},{"startOffset":3022,"endOffset":3032,"count":0},{"startOffset":3032,"endOffset":3294,"count":3389},{"startOffset":3180,"endOffset":3271,"count":0},{"startOffset":3294,"endOffset":3400,"count":3389},{"startOffset":3400,"endOffset":3406,"count":0},{"startOffset":3406,"endOffset":3482,"count":3389},{"startOffset":3482,"endOffset":3549,"count":1686},{"startOffset":3549,"endOffset":3627,"count":1703}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3095,"endOffset":3166,"count":11835},{"startOffset":3147,"endOffset":3150,"count":6760},{"startOffset":3151,"endOffset":3158,"count":5075}],"isBlockCoverage":true},{"functionName":"GlobSync._processReaddir","ranges":[{"startOffset":3669,"endOffset":5627,"count":1703},{"startOffset":3848,"endOffset":3854,"count":1668},{"startOffset":3854,"endOffset":4116,"count":35},{"startOffset":4187,"endOffset":4420,"count":3329},{"startOffset":4240,"endOffset":4248,"count":0},{"startOffset":4281,"endOffset":4291,"count":0},{"startOffset":4293,"endOffset":4327,"count":0},{"startOffset":4388,"endOffset":4410,"count":1101},{"startOffset":4420,"endOffset":4537,"count":35},{"startOffset":4537,"endOffset":4543,"count":0},{"startOffset":4543,"endOffset":4791,"count":35},{"startOffset":4792,"endOffset":4805,"count":0},{"startOffset":4807,"endOffset":5294,"count":0},{"startOffset":5294,"endOffset":5428,"count":35},{"startOffset":5428,"endOffset":5625,"count":1101},{"startOffset":5525,"endOffset":5557,"count":0}],"isBlockCoverage":true},{"functionName":"GlobSync._emitMatch","ranges":[{"startOffset":5662,"endOffset":6050,"count":1101},{"startOffset":5714,"endOffset":5720,"count":0},{"startOffset":5813,"endOffset":5830,"count":0},{"startOffset":5866,"endOffset":5872,"count":545},{"startOffset":5872,"endOffset":5979,"count":556},{"startOffset":5969,"endOffset":5975,"count":0},{"startOffset":5979,"endOffset":6035,"count":556},{"startOffset":6035,"endOffset":6048,"count":0}],"isBlockCoverage":true},{"functionName":"GlobSync._readdirInGlobStar","ranges":[{"startOffset":6093,"endOffset":6805,"count":1685},{"startOffset":6236,"endOffset":6268,"count":0},{"startOffset":6354,"endOffset":6463,"count":0},{"startOffset":6714,"endOffset":6738,"count":1668},{"startOffset":6738,"endOffset":6785,"count":17}],"isBlockCoverage":true},{"functionName":"GlobSync._readdir","ranges":[{"startOffset":6837,"endOffset":7268,"count":3406},{"startOffset":6898,"endOffset":6929,"count":3370},{"startOffset":6935,"endOffset":6970,"count":1685},{"startOffset":6970,"endOffset":7004,"count":1721},{"startOffset":7004,"endOffset":7125,"count":1703},{"startOffset":7068,"endOffset":7079,"count":1668},{"startOffset":7079,"endOffset":7121,"count":35},{"startOffset":7125,"endOffset":7202,"count":18},{"startOffset":7202,"endOffset":7266,"count":0}],"isBlockCoverage":true},{"functionName":"GlobSync._readdirEntries","ranges":[{"startOffset":7307,"endOffset":7788,"count":18},{"startOffset":7504,"endOffset":7517,"count":0},{"startOffset":7519,"endOffset":7710,"count":0}],"isBlockCoverage":true},{"functionName":"GlobSync._readdirError","ranges":[{"startOffset":7825,"endOffset":8689,"count":0}],"isBlockCoverage":false},{"functionName":"GlobSync._processGlobStar","ranges":[{"startOffset":8729,"endOffset":9827,"count":1686},{"startOffset":8956,"endOffset":8962,"count":1668},{"startOffset":8962,"endOffset":9141,"count":18},{"startOffset":9142,"endOffset":9146,"count":0},{"startOffset":9434,"endOffset":9447,"count":0},{"startOffset":9453,"endOffset":9459,"count":0},{"startOffset":9459,"endOffset":9493,"count":18},{"startOffset":9493,"endOffset":9825,"count":1685},{"startOffset":9546,"endOffset":9558,"count":0},{"startOffset":9566,"endOffset":9574,"count":0}],"isBlockCoverage":true},{"functionName":"GlobSync._processSimple","ranges":[{"startOffset":9865,"endOffset":10611,"count":1101},{"startOffset":10059,"endOffset":10100,"count":1},{"startOffset":10182,"endOffset":10188,"count":0},{"startOffset":10225,"endOffset":10241,"count":0},{"startOffset":10243,"endOffset":10472,"count":0},{"startOffset":10514,"endOffset":10549,"count":0}],"isBlockCoverage":true},{"functionName":"GlobSync._stat","ranges":[{"startOffset":10682,"endOffset":11862,"count":1101},{"startOffset":10800,"endOffset":10812,"count":0},{"startOffset":10860,"endOffset":11190,"count":545},{"startOffset":10923,"endOffset":10932,"count":0},{"startOffset":10998,"endOffset":11012,"count":0},{"startOffset":11028,"endOffset":11061,"count":0},{"startOffset":11069,"endOffset":11081,"count":0},{"startOffset":11190,"endOffset":11655,"count":556},{"startOffset":11320,"endOffset":11470,"count":0},{"startOffset":11513,"endOffset":11619,"count":0},{"startOffset":11655,"endOffset":11757,"count":556},{"startOffset":11741,"endOffset":11748,"count":0},{"startOffset":11757,"endOffset":11799,"count":556},{"startOffset":11815,"endOffset":11830,"count":0},{"startOffset":11836,"endOffset":11848,"count":0},{"startOffset":11848,"endOffset":11861,"count":556}],"isBlockCoverage":true},{"functionName":"GlobSync._mark","ranges":[{"startOffset":11891,"endOffset":11937,"count":1657}],"isBlockCoverage":true},{"functionName":"GlobSync._makeAbs","ranges":[{"startOffset":11969,"endOffset":12018,"count":5591}],"isBlockCoverage":true}]},{"scriptId":"561","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/node_modules/glob/common.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6263,"count":1}],"isBlockCoverage":true},{"functionName":"ownProp","ranges":[{"startOffset":195,"endOffset":286,"count":6194}],"isBlockCoverage":true},{"functionName":"alphasort","ranges":[{"startOffset":456,"endOffset":519,"count":1787}],"isBlockCoverage":true},{"functionName":"setupIgnores","ranges":[{"startOffset":521,"endOffset":745,"count":2},{"startOffset":638,"endOffset":665,"count":0},{"startOffset":693,"endOffset":743,"count":0}],"isBlockCoverage":true},{"functionName":"ignoreMap","ranges":[{"startOffset":795,"endOffset":1088,"count":0}],"isBlockCoverage":false},{"functionName":"setopts","ranges":[{"startOffset":1090,"endOffset":3510,"count":2},{"startOffset":1154,"endOffset":1166,"count":0},{"startOffset":1240,"endOffset":1270,"count":0},{"startOffset":1272,"endOffset":1400,"count":0},{"startOffset":1463,"endOffset":1506,"count":0},{"startOffset":1935,"endOffset":1951,"count":1},{"startOffset":2619,"endOffset":2712,"count":0},{"startOffset":3009,"endOffset":3034,"count":0},{"startOffset":3107,"endOffset":3252,"count":0}],"isBlockCoverage":true},{"functionName":"finish","ranges":[{"startOffset":3512,"endOffset":4829,"count":1},{"startOffset":3579,"endOffset":3583,"count":0},{"startOffset":3754,"endOffset":3990,"count":0},{"startOffset":4077,"endOffset":4099,"count":0},{"startOffset":4386,"endOffset":4427,"count":556},{"startOffset":4737,"endOffset":4807,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4129,"endOffset":4177,"count":556}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4473,"endOffset":4694,"count":556}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4754,"endOffset":4806,"count":0}],"isBlockCoverage":false},{"functionName":"mark","ranges":[{"startOffset":4831,"endOffset":5282,"count":1657},{"startOffset":5034,"endOffset":5043,"count":0},{"startOffset":5051,"endOffset":5059,"count":0},{"startOffset":5096,"endOffset":5114,"count":0},{"startOffset":5133,"endOffset":5264,"count":0}],"isBlockCoverage":true},{"functionName":"makeAbs","ranges":[{"startOffset":5303,"endOffset":5658,"count":7804},{"startOffset":5373,"endOffset":5412,"count":0},{"startOffset":5449,"endOffset":5466,"count":0},{"startOffset":5493,"endOffset":5534,"count":0},{"startOffset":5613,"endOffset":5642,"count":0}],"isBlockCoverage":true},{"functionName":"isIgnored","ranges":[{"startOffset":5854,"endOffset":6068,"count":1101},{"startOffset":5931,"endOffset":6067,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5959,"endOffset":6065,"count":0}],"isBlockCoverage":false},{"functionName":"childrenIgnored","ranges":[{"startOffset":6070,"endOffset":6262,"count":3389},{"startOffset":6153,"endOffset":6261,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6181,"endOffset":6259,"count":0}],"isBlockCoverage":false}]},{"scriptId":"562","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/inflight/inflight.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1365,"count":1}],"isBlockCoverage":true},{"functionName":"inflight","ranges":[{"startOffset":125,"endOffset":274,"count":0}],"isBlockCoverage":false},{"functionName":"makeres","ranges":[{"startOffset":276,"endOffset":1223,"count":0}],"isBlockCoverage":false},{"functionName":"slice","ranges":[{"startOffset":1225,"endOffset":1364,"count":0}],"isBlockCoverage":false}]},{"scriptId":"563","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/wrappy/wrappy.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":905,"count":1}],"isBlockCoverage":true},{"functionName":"wrappy","ranges":[{"startOffset":301,"endOffset":904,"count":3},{"startOffset":344,"endOffset":365,"count":0},{"startOffset":403,"endOffset":447,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":475,"endOffset":516,"count":0}],"isBlockCoverage":false},{"functionName":"wrapper","ranges":[{"startOffset":539,"endOffset":902,"count":0}],"isBlockCoverage":false}]},{"scriptId":"564","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/once/once.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":935,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":123,"endOffset":427,"count":0}],"isBlockCoverage":false},{"functionName":"once","ranges":[{"startOffset":430,"endOffset":610,"count":1}],"isBlockCoverage":true},{"functionName":"f","ranges":[{"startOffset":461,"endOffset":578,"count":0}],"isBlockCoverage":false},{"functionName":"onceStrict","ranges":[{"startOffset":612,"endOffset":934,"count":0}],"isBlockCoverage":false}]},{"scriptId":"565","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/plugin-loader.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8391,"count":1}],"isBlockCoverage":true},{"functionName":"validate","ranges":[{"startOffset":611,"endOffset":923,"count":0}],"isBlockCoverage":false},{"functionName":"finalize","ranges":[{"startOffset":929,"endOffset":1838,"count":0}],"isBlockCoverage":false},{"functionName":"validate","ranges":[{"startOffset":2005,"endOffset":2484,"count":0}],"isBlockCoverage":false},{"functionName":"validate","ranges":[{"startOffset":2660,"endOffset":3142,"count":0}],"isBlockCoverage":false},{"functionName":"PluginLoader","ranges":[{"startOffset":3633,"endOffset":4623,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4435,"endOffset":4487,"count":3}],"isBlockCoverage":true},{"functionName":"register","ranges":[{"startOffset":4723,"endOffset":5868,"count":3},{"startOffset":4798,"endOffset":4924,"count":0},{"startOffset":4956,"endOffset":5097,"count":0},{"startOffset":5181,"endOffset":5312,"count":0},{"startOffset":5405,"endOffset":5418,"count":0},{"startOffset":5468,"endOffset":5630,"count":0}],"isBlockCoverage":true},{"functionName":"load","ranges":[{"startOffset":6119,"endOffset":6956,"count":1},{"startOffset":6934,"endOffset":6955,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6387,"endOffset":6904,"count":3},{"startOffset":6505,"endOffset":6860,"count":0}],"isBlockCoverage":true},{"functionName":"finalize","ranges":[{"startOffset":7385,"endOffset":7889,"count":1},{"startOffset":7528,"endOffset":7801,"count":3},{"startOffset":7560,"endOffset":7795,"count":0}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":8016,"endOffset":8126,"count":1}],"isBlockCoverage":true}]},{"scriptId":"566","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/config.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2624,"count":1}],"isBlockCoverage":true},{"functionName":"yaml","ranges":[{"startOffset":880,"endOffset":950,"count":0}],"isBlockCoverage":false},{"functionName":"js","ranges":[{"startOffset":958,"endOffset":1365,"count":0}],"isBlockCoverage":false},{"functionName":"json","ranges":[{"startOffset":1375,"endOffset":1480,"count":0}],"isBlockCoverage":false},{"functionName":"exports.loadConfig","ranges":[{"startOffset":1723,"endOffset":2244,"count":0}],"isBlockCoverage":false},{"functionName":"exports.findConfig","ranges":[{"startOffset":2437,"endOffset":2622,"count":1},{"startOffset":2539,"endOffset":2601,"count":0}],"isBlockCoverage":true}]},{"scriptId":"567","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/find-up/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1940,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":185,"endOffset":1023,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports.sync","ranges":[{"startOffset":1048,"endOffset":1825,"count":2},{"startOffset":1116,"endOffset":1121,"count":1},{"startOffset":1559,"endOffset":1823,"count":9},{"startOffset":1650,"endOffset":1666,"count":0},{"startOffset":1685,"endOffset":1736,"count":1},{"startOffset":1736,"endOffset":1764,"count":8},{"startOffset":1764,"endOffset":1780,"count":1},{"startOffset":1780,"endOffset":1823,"count":7}],"isBlockCoverage":true},{"functionName":"runMatcher","ranges":[{"startOffset":1216,"endOffset":1491,"count":9},{"startOffset":1323,"endOffset":1490,"count":0}],"isBlockCoverage":true}]},{"scriptId":"568","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/locate-path/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1329,"count":1}],"isBlockCoverage":true},{"functionName":"checkType","ranges":[{"startOffset":288,"endOffset":414,"count":9},{"startOffset":358,"endOffset":413,"count":0}],"isBlockCoverage":true},{"functionName":"matchType","ranges":[{"startOffset":434,"endOffset":498,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":518,"endOffset":920,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports.sync","ranges":[{"startOffset":945,"endOffset":1327,"count":9},{"startOffset":1133,"endOffset":1147,"count":0},{"startOffset":1178,"endOffset":1325,"count":49},{"startOffset":1285,"endOffset":1309,"count":1},{"startOffset":1314,"endOffset":1322,"count":48},{"startOffset":1325,"endOffset":1326,"count":8}],"isBlockCoverage":true}]},{"scriptId":"569","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/p-locate/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1157,"count":1}],"isBlockCoverage":true},{"functionName":"EndError","ranges":[{"startOffset":82,"endOffset":138,"count":0}],"isBlockCoverage":false},{"functionName":"testElement","ranges":[{"startOffset":213,"endOffset":261,"count":0}],"isBlockCoverage":false},{"functionName":"finder","ranges":[{"startOffset":347,"endOffset":490,"count":0}],"isBlockCoverage":false},{"functionName":"pLocate","ranges":[{"startOffset":509,"endOffset":1128,"count":0}],"isBlockCoverage":false}]},{"scriptId":"570","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/p-limit/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1521,"count":1}],"isBlockCoverage":true},{"functionName":"pLimit","ranges":[{"startOffset":68,"endOffset":1493,"count":0}],"isBlockCoverage":false}]},{"scriptId":"571","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/yocto-queue/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":949,"count":1}],"isBlockCoverage":true},{"functionName":"Node","ranges":[{"startOffset":38,"endOffset":159,"count":0}],"isBlockCoverage":false},{"functionName":"Queue","ranges":[{"startOffset":277,"endOffset":311,"count":0}],"isBlockCoverage":false},{"functionName":"enqueue","ranges":[{"startOffset":314,"endOffset":511,"count":0}],"isBlockCoverage":false},{"functionName":"dequeue","ranges":[{"startOffset":514,"endOffset":664,"count":0}],"isBlockCoverage":false},{"functionName":"clear","ranges":[{"startOffset":667,"endOffset":749,"count":0}],"isBlockCoverage":false},{"functionName":"get size","ranges":[{"startOffset":752,"endOffset":788,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":791,"endOffset":921,"count":0}],"isBlockCoverage":false}]},{"scriptId":"572","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/path-exists/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":347,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":134,"endOffset":230,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports.sync","ranges":[{"startOffset":255,"endOffset":345,"count":0}],"isBlockCoverage":false}]},{"scriptId":"573","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/node-flags.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2844,"count":1}],"isBlockCoverage":true},{"functionName":"exports.isNodeFlag","ranges":[{"startOffset":1079,"endOffset":1831,"count":13},{"startOffset":1125,"endOffset":1360,"count":1},{"startOffset":1252,"endOffset":1360,"count":0},{"startOffset":1360,"endOffset":1595,"count":12},{"startOffset":1595,"endOffset":1607,"count":1},{"startOffset":1608,"endOffset":1630,"count":1},{"startOffset":1632,"endOffset":1659,"count":12},{"startOffset":1660,"endOffset":1824,"count":12}],"isBlockCoverage":true},{"functionName":"exports.impliesNoTimeouts","ranges":[{"startOffset":2107,"endOffset":2135,"count":0}],"isBlockCoverage":false},{"functionName":"exports.unparseNodeFlags","ranges":[{"startOffset":2636,"endOffset":2842,"count":0}],"isBlockCoverage":false}]},{"scriptId":"574","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/yargs-unparser/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5238,"count":1}],"isBlockCoverage":true},{"functionName":"isAlias","ranges":[{"startOffset":175,"endOffset":354,"count":0}],"isBlockCoverage":false},{"functionName":"hasDefaultValue","ranges":[{"startOffset":356,"endOffset":442,"count":0}],"isBlockCoverage":false},{"functionName":"isCamelCased","ranges":[{"startOffset":444,"endOffset":639,"count":0}],"isBlockCoverage":false},{"functionName":"keyToFlag","ranges":[{"startOffset":641,"endOffset":722,"count":0}],"isBlockCoverage":false},{"functionName":"parseCommand","ranges":[{"startOffset":724,"endOffset":1760,"count":0}],"isBlockCoverage":false},{"functionName":"unparseOption","ranges":[{"startOffset":1762,"endOffset":2598,"count":0}],"isBlockCoverage":false},{"functionName":"unparsePositional","ranges":[{"startOffset":2600,"endOffset":3641,"count":0}],"isBlockCoverage":false},{"functionName":"unparseOptions","ranges":[{"startOffset":3643,"endOffset":4320,"count":0}],"isBlockCoverage":false},{"functionName":"unparseEndOfOptions","ranges":[{"startOffset":4322,"endOffset":4477,"count":0}],"isBlockCoverage":false},{"functionName":"unparser","ranges":[{"startOffset":4544,"endOffset":5209,"count":0}],"isBlockCoverage":false}]},{"scriptId":"575","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/flat/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3970,"count":1}],"isBlockCoverage":true},{"functionName":"isBuffer","ranges":[{"startOffset":82,"endOffset":238,"count":0}],"isBlockCoverage":false},{"functionName":"keyIdentity","ranges":[{"startOffset":240,"endOffset":283,"count":0}],"isBlockCoverage":false},{"functionName":"flatten","ranges":[{"startOffset":285,"endOffset":1284,"count":0}],"isBlockCoverage":false},{"functionName":"unflatten","ranges":[{"startOffset":1286,"endOffset":3969,"count":0}],"isBlockCoverage":false}]},{"scriptId":"576","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/camelcase/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2586,"count":1}],"isBlockCoverage":true},{"functionName":"preserveCamelCase","ranges":[{"startOffset":41,"endOffset":1025,"count":0}],"isBlockCoverage":false},{"functionName":"preserveConsecutiveUppercase","ranges":[{"startOffset":1065,"endOffset":1151,"count":0}],"isBlockCoverage":false},{"functionName":"postProcess","ranges":[{"startOffset":1174,"endOffset":1387,"count":0}],"isBlockCoverage":false},{"functionName":"camelCase","ranges":[{"startOffset":1408,"endOffset":2471,"count":0}],"isBlockCoverage":false}]},{"scriptId":"577","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/decamelize/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":446,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":32,"endOffset":444,"count":0}],"isBlockCoverage":false}]},{"scriptId":"578","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/is-plain-obj/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":245,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":32,"endOffset":243,"count":0}],"isBlockCoverage":false}]},{"scriptId":"579","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/cli.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2923,"count":1},{"startOffset":2901,"endOffset":2922,"count":0}],"isBlockCoverage":true},{"functionName":"exports.main","ranges":[{"startOffset":1380,"endOffset":2716,"count":1},{"startOffset":1743,"endOffset":1763,"count":0},{"startOffset":2427,"endOffset":2465,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2005,"endOffset":2227,"count":0}],"isBlockCoverage":false}]},{"scriptId":"580","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/yargs/yargs","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":457,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.applyExtends","ranges":[{"startOffset":275,"endOffset":375,"count":0}],"isBlockCoverage":false}]},{"scriptId":"581","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/yargs/build/index.cjs","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":107596,"count":1},{"startOffset":106038,"endOffset":106046,"count":0},{"startOffset":106089,"endOffset":106097,"count":0},{"startOffset":106144,"endOffset":106159,"count":0},{"startOffset":106500,"endOffset":106524,"count":0},{"startOffset":106884,"endOffset":106928,"count":0},{"startOffset":107069,"endOffset":107253,"count":0}],"isBlockCoverage":true},{"functionName":"YError","ranges":[{"startOffset":81,"endOffset":219,"count":0}],"isBlockCoverage":false},{"functionName":"applyExtends","ranges":[{"startOffset":268,"endOffset":1455,"count":1},{"startOffset":437,"endOffset":1299,"count":0},{"startOffset":1367,"endOffset":1401,"count":0}],"isBlockCoverage":true},{"functionName":"checkForCircularExtends","ranges":[{"startOffset":1456,"endOffset":1642,"count":0}],"isBlockCoverage":false},{"functionName":"getPathToDefaultConfig","ranges":[{"startOffset":1643,"endOffset":1746,"count":0}],"isBlockCoverage":false},{"functionName":"mergeDeep","ranges":[{"startOffset":1747,"endOffset":2225,"count":0}],"isBlockCoverage":false},{"functionName":"parseCommand","ranges":[{"startOffset":2227,"endOffset":3279,"count":253},{"startOffset":2519,"endOffset":2566,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2718,"endOffset":3249,"count":507},{"startOffset":2833,"endOffset":2865,"count":2},{"startOffset":2879,"endOffset":2895,"count":2},{"startOffset":2925,"endOffset":3077,"count":222},{"startOffset":3077,"endOffset":3243,"count":285}],"isBlockCoverage":true},{"functionName":"argsert","ranges":[{"startOffset":3360,"endOffset":5273,"count":255},{"startOffset":3829,"endOffset":3867,"count":296},{"startOffset":3881,"endOffset":3892,"count":49},{"startOffset":3924,"endOffset":3938,"count":8},{"startOffset":3985,"endOffset":4124,"count":0},{"startOffset":4240,"endOffset":4367,"count":0},{"startOffset":5219,"endOffset":5271,"count":0}],"isBlockCoverage":true},{"functionName":"parseArgs","ranges":[{"startOffset":3401,"endOffset":3648,"count":255},{"startOffset":3476,"endOffset":3522,"count":6},{"startOffset":3535,"endOffset":3641,"count":249}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4400,"endOffset":4756,"count":284},{"startOffset":4663,"endOffset":4719,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4555,"endOffset":4600,"count":622},{"startOffset":4585,"endOffset":4600,"count":338}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4791,"endOffset":5206,"count":220},{"startOffset":4856,"endOffset":4863,"count":63},{"startOffset":4863,"endOffset":5113,"count":157},{"startOffset":5113,"endOffset":5169,"count":0},{"startOffset":5169,"endOffset":5205,"count":157}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5005,"endOffset":5050,"count":204},{"startOffset":5035,"endOffset":5050,"count":56}],"isBlockCoverage":true},{"functionName":"guessType","ranges":[{"startOffset":5274,"endOffset":5442,"count":441},{"startOffset":5328,"endOffset":5359,"count":32},{"startOffset":5359,"endOffset":5417,"count":409},{"startOffset":5387,"endOffset":5417,"count":0},{"startOffset":5417,"endOffset":5441,"count":409}],"isBlockCoverage":true},{"functionName":"argumentTypeError","ranges":[{"startOffset":5443,"endOffset":5661,"count":0}],"isBlockCoverage":false},{"functionName":"isPromise","ranges":[{"startOffset":5663,"endOffset":5810,"count":7},{"startOffset":5756,"endOffset":5806,"count":4}],"isBlockCoverage":true},{"functionName":"assertNotStrictEqual","ranges":[{"startOffset":5812,"endOffset":5937,"count":6}],"isBlockCoverage":true},{"functionName":"assertSingleKey","ranges":[{"startOffset":5938,"endOffset":6034,"count":0}],"isBlockCoverage":false},{"functionName":"objectKeys","ranges":[{"startOffset":6035,"endOffset":6098,"count":30}],"isBlockCoverage":true},{"functionName":"objFilter","ranges":[{"startOffset":6100,"endOffset":6334,"count":26}],"isBlockCoverage":true},{"functionName":"filter","ranges":[{"startOffset":6143,"endOffset":6153,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6210,"endOffset":6314,"count":9},{"startOffset":6259,"endOffset":6308,"count":8}],"isBlockCoverage":true},{"functionName":"globalMiddlewareFactory","ranges":[{"startOffset":6336,"endOffset":7171,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6409,"endOffset":7168,"count":1},{"startOffset":6599,"endOffset":6964,"count":0}],"isBlockCoverage":true},{"functionName":"commandMiddlewareFactory","ranges":[{"startOffset":7172,"endOffset":7409,"count":4},{"startOffset":7273,"endOffset":7408,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7307,"endOffset":7405,"count":0}],"isBlockCoverage":false},{"functionName":"applyMiddleware","ranges":[{"startOffset":7410,"endOffset":8413,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7629,"endOffset":8403,"count":2},{"startOffset":7719,"endOffset":7783,"count":1},{"startOffset":7783,"endOffset":8056,"count":0},{"startOffset":8056,"endOffset":8397,"count":1},{"startOffset":8156,"endOffset":8176,"count":0},{"startOffset":8194,"endOffset":8222,"count":0},{"startOffset":8358,"endOffset":8386,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7830,"endOffset":7947,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7971,"endOffset":8044,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8290,"endOffset":8340,"count":1}],"isBlockCoverage":true},{"functionName":"getProcessArgvBinIndex","ranges":[{"startOffset":8415,"endOffset":8516,"count":1},{"startOffset":8491,"endOffset":8500,"count":0}],"isBlockCoverage":true},{"functionName":"isBundledElectronApp","ranges":[{"startOffset":8517,"endOffset":8603,"count":1},{"startOffset":8578,"endOffset":8600,"count":0}],"isBlockCoverage":true},{"functionName":"isElectronApp","ranges":[{"startOffset":8604,"endOffset":8672,"count":1}],"isBlockCoverage":true},{"functionName":"hideBin","ranges":[{"startOffset":8673,"endOffset":8752,"count":0}],"isBlockCoverage":false},{"functionName":"getProcessArgvBin","ranges":[{"startOffset":8753,"endOffset":8836,"count":1}],"isBlockCoverage":true},{"functionName":"whichModule","ranges":[{"startOffset":8968,"endOffset":9273,"count":0}],"isBlockCoverage":false},{"functionName":"command","ranges":[{"startOffset":9314,"endOffset":23717,"count":1}],"isBlockCoverage":true},{"functionName":"addHandler","ranges":[{"startOffset":9501,"endOffset":12153,"count":4},{"startOffset":9715,"endOffset":9729,"count":2},{"startOffset":9763,"endOffset":10015,"count":1},{"startOffset":9863,"endOffset":10005,"count":0},{"startOffset":10015,"endOffset":10686,"count":3},{"startOffset":10066,"endOffset":10460,"count":2},{"startOffset":10121,"endOffset":10155,"count":1},{"startOffset":10202,"endOffset":10219,"count":0},{"startOffset":10266,"endOffset":10315,"count":0},{"startOffset":10460,"endOffset":10686,"count":1},{"startOffset":10515,"endOffset":10686,"count":0},{"startOffset":10686,"endOffset":12147,"count":2},{"startOffset":11191,"endOffset":11203,"count":0},{"startOffset":11221,"endOffset":11246,"count":0},{"startOffset":11274,"endOffset":11463,"count":1},{"startOffset":11870,"endOffset":11875,"count":0},{"startOffset":12092,"endOffset":12137,"count":1}],"isBlockCoverage":true},{"functionName":"handler","ranges":[{"startOffset":9719,"endOffset":9728,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10813,"endOffset":10845,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10960,"endOffset":11145,"count":3},{"startOffset":11011,"endOffset":11102,"count":1},{"startOffset":11102,"endOffset":11144,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11492,"endOffset":11569,"count":0}],"isBlockCoverage":false},{"functionName":"addDirectory","ranges":[{"startOffset":12179,"endOffset":12983,"count":0}],"isBlockCoverage":false},{"functionName":"moduleName","ranges":[{"startOffset":12989,"endOffset":13214,"count":0}],"isBlockCoverage":false},{"functionName":"commandFromFilename","ranges":[{"startOffset":13219,"endOffset":13339,"count":0}],"isBlockCoverage":false},{"functionName":"extractDesc","ranges":[{"startOffset":13344,"endOffset":13639,"count":2},{"startOffset":13459,"endOffset":13611,"count":3},{"startOffset":13502,"endOffset":13519,"count":1},{"startOffset":13537,"endOffset":13549,"count":2},{"startOffset":13549,"endOffset":13611,"count":1},{"startOffset":13611,"endOffset":13638,"count":0}],"isBlockCoverage":true},{"functionName":"self.getCommands","ranges":[{"startOffset":13663,"endOffset":13720,"count":2}],"isBlockCoverage":true},{"functionName":"self.getCommandHandlers","ranges":[{"startOffset":13752,"endOffset":13766,"count":0}],"isBlockCoverage":false},{"functionName":"self.hasDefaultCommand","ranges":[{"startOffset":13797,"endOffset":13819,"count":1}],"isBlockCoverage":true},{"functionName":"runCommand","ranges":[{"startOffset":13843,"endOffset":18015,"count":1},{"startOffset":14297,"endOffset":14430,"count":0},{"startOffset":14678,"endOffset":14685,"count":0},{"startOffset":15081,"endOffset":15734,"count":0},{"startOffset":16691,"endOffset":16791,"count":0},{"startOffset":17547,"endOffset":17699,"count":0},{"startOffset":17731,"endOffset":17832,"count":0},{"startOffset":17930,"endOffset":17983,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15518,"endOffset":15594,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":16639,"endOffset":16675,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17027,"endOffset":17178,"count":1},{"startOffset":17084,"endOffset":17160,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17207,"endOffset":17407,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":17435,"endOffset":17531,"count":1}],"isBlockCoverage":true},{"functionName":"shouldUpdateUsage","ranges":[{"startOffset":18021,"endOffset":18189,"count":1}],"isBlockCoverage":true},{"functionName":"usageFromParentCommandsCommandHandler","ranges":[{"startOffset":18194,"endOffset":18616,"count":1},{"startOffset":18350,"endOffset":18410,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18491,"endOffset":18551,"count":0}],"isBlockCoverage":false},{"functionName":"self.runDefaultBuilderOn","ranges":[{"startOffset":18648,"endOffset":19382,"count":0}],"isBlockCoverage":false},{"functionName":"populatePositionals","ranges":[{"startOffset":19388,"endOffset":20228,"count":1},{"startOffset":19758,"endOffset":19875,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20076,"endOffset":20087,"count":0}],"isBlockCoverage":false},{"functionName":"populatePositional","ranges":[{"startOffset":20233,"endOffset":20567,"count":1},{"startOffset":20442,"endOffset":20561,"count":0}],"isBlockCoverage":true},{"functionName":"postProcessPositionals","ranges":[{"startOffset":20572,"endOffset":22332,"count":1},{"startOffset":21436,"endOffset":21443,"count":0},{"startOffset":21711,"endOffset":21801,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21115,"endOffset":21391,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21159,"endOffset":21379,"count":1},{"startOffset":21260,"endOffset":21284,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21927,"endOffset":22010,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22058,"endOffset":22314,"count":16},{"startOffset":22123,"endOffset":22300,"count":1},{"startOffset":22194,"endOffset":22232,"count":0}],"isBlockCoverage":true},{"functionName":"self.cmdToParseOptions","ranges":[{"startOffset":22362,"endOffset":23211,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22602,"endOffset":22893,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":22928,"endOffset":23174,"count":1}],"isBlockCoverage":true},{"functionName":"self.reset","ranges":[{"startOffset":23230,"endOffset":23346,"count":1}],"isBlockCoverage":true},{"functionName":"self.freeze","ranges":[{"startOffset":23390,"endOffset":23510,"count":1}],"isBlockCoverage":true},{"functionName":"self.unfreeze","ranges":[{"startOffset":23532,"endOffset":23697,"count":1}],"isBlockCoverage":true},{"functionName":"isCommandBuilderDefinition","ranges":[{"startOffset":23718,"endOffset":23886,"count":1},{"startOffset":23805,"endOffset":23833,"count":0},{"startOffset":23834,"endOffset":23882,"count":0}],"isBlockCoverage":true},{"functionName":"isCommandAndAliases","ranges":[{"startOffset":23887,"endOffset":24039,"count":1},{"startOffset":23998,"endOffset":24037,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23941,"endOffset":23967,"count":2}],"isBlockCoverage":true},{"functionName":"isCommandBuilderCallback","ranges":[{"startOffset":24040,"endOffset":24128,"count":1}],"isBlockCoverage":true},{"functionName":"isCommandBuilderOptionDefinitions","ranges":[{"startOffset":24129,"endOffset":24224,"count":0}],"isBlockCoverage":false},{"functionName":"isCommandHandlerDefinition","ranges":[{"startOffset":24225,"endOffset":24328,"count":3},{"startOffset":24303,"endOffset":24325,"count":2}],"isBlockCoverage":true},{"functionName":"setBlocking","ranges":[{"startOffset":24330,"endOffset":24700,"count":0}],"isBlockCoverage":false},{"functionName":"usage","ranges":[{"startOffset":24702,"endOffset":43891,"count":1}],"isBlockCoverage":true},{"functionName":"failFn","ranges":[{"startOffset":24823,"endOffset":24872,"count":1}],"isBlockCoverage":true},{"functionName":"showHelpOnFailFn","ranges":[{"startOffset":24959,"endOffset":25277,"count":0}],"isBlockCoverage":false},{"functionName":"fail","ranges":[{"startOffset":25326,"endOffset":26442,"count":0}],"isBlockCoverage":false},{"functionName":"self.usage","ranges":[{"startOffset":26513,"endOffset":26763,"count":1},{"startOffset":26563,"endOffset":26658,"count":0},{"startOffset":26728,"endOffset":26733,"count":0}],"isBlockCoverage":true},{"functionName":"self.getUsage","ranges":[{"startOffset":26785,"endOffset":26821,"count":1}],"isBlockCoverage":true},{"functionName":"self.getUsageDisabled","ranges":[{"startOffset":26851,"endOffset":26894,"count":1}],"isBlockCoverage":true},{"functionName":"self.getPositionalGroupName","ranges":[{"startOffset":26930,"endOffset":26978,"count":83}],"isBlockCoverage":true},{"functionName":"self.example","ranges":[{"startOffset":27022,"endOffset":27100,"count":0}],"isBlockCoverage":false},{"functionName":"command","ranges":[{"startOffset":27144,"endOffset":27478,"count":2},{"startOffset":27244,"endOffset":27391,"count":1},{"startOffset":27432,"endOffset":27437,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27282,"endOffset":27379,"count":0}],"isBlockCoverage":false},{"functionName":"self.getCommands","ranges":[{"startOffset":27503,"endOffset":27517,"count":0}],"isBlockCoverage":false},{"functionName":"describe","ranges":[{"startOffset":27566,"endOffset":27994,"count":48},{"startOffset":27641,"endOffset":27745,"count":0},{"startOffset":27794,"endOffset":27919,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27673,"endOffset":27733,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":27839,"endOffset":27907,"count":0}],"isBlockCoverage":false},{"functionName":"self.getDescriptions","ranges":[{"startOffset":28023,"endOffset":28041,"count":2}],"isBlockCoverage":true},{"functionName":"self.epilog","ranges":[{"startOffset":28083,"endOffset":28124,"count":1}],"isBlockCoverage":true},{"functionName":"self.wrap","ranges":[{"startOffset":28181,"endOffset":28241,"count":1}],"isBlockCoverage":true},{"functionName":"getWrap","ranges":[{"startOffset":28247,"endOffset":28390,"count":1},{"startOffset":28290,"endOffset":28363,"count":0}],"isBlockCoverage":true},{"functionName":"self.deferY18nLookup","ranges":[{"startOffset":28472,"endOffset":28506,"count":3}],"isBlockCoverage":true},{"functionName":"help","ranges":[{"startOffset":28524,"endOffset":38490,"count":1},{"startOffset":28585,"endOffset":28610,"count":0},{"startOffset":28720,"endOffset":28750,"count":0},{"startOffset":29989,"endOffset":30322,"count":0},{"startOffset":30362,"endOffset":32088,"count":0},{"startOffset":32143,"endOffset":32148,"count":0},{"startOffset":32194,"endOffset":32199,"count":0},{"startOffset":37472,"endOffset":38238,"count":0},{"startOffset":38271,"endOffset":38434,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29365,"endOffset":29476,"count":53}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29714,"endOffset":29947,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30698,"endOffset":30732,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":30778,"endOffset":32054,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":32229,"endOffset":32355,"count":44}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32297,"endOffset":32354,"count":1804},{"startOffset":32328,"endOffset":32333,"count":792}],"isBlockCoverage":true},{"functionName":"isLongSwitch","ranges":[{"startOffset":32575,"endOffset":32606,"count":124}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32680,"endOffset":32721,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32740,"endOffset":33283,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32874,"endOffset":33221,"count":44},{"startOffset":32948,"endOffset":33048,"count":22},{"startOffset":33048,"endOffset":33179,"count":902},{"startOffset":33100,"endOffset":33105,"count":396},{"startOffset":33145,"endOffset":33161,"count":0},{"startOffset":33179,"endOffset":33220,"count":22}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33305,"endOffset":33354,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33373,"endOffset":34439,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33461,"endOffset":34363,"count":44},{"startOffset":33557,"endOffset":33562,"count":22}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33589,"endOffset":34085,"count":68},{"startOffset":33690,"endOffset":33700,"count":1},{"startOffset":33700,"endOffset":34067,"count":67},{"startOffset":33808,"endOffset":33916,"count":0},{"startOffset":33993,"endOffset":33999,"count":48},{"startOffset":34032,"endOffset":34037,"count":19}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34113,"endOffset":34287,"count":28},{"startOffset":34187,"endOffset":34190,"count":5},{"startOffset":34211,"endOffset":34287,"count":23},{"startOffset":34255,"endOffset":34258,"count":2},{"startOffset":34283,"endOffset":34287,"count":21}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34512,"endOffset":34574,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34594,"endOffset":34685,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34650,"endOffset":34684,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34773,"endOffset":34835,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34862,"endOffset":35142,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34937,"endOffset":35126,"count":43},{"startOffset":34999,"endOffset":35108,"count":24}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35187,"endOffset":37440,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35300,"endOffset":37406,"count":44},{"startOffset":35401,"endOffset":35406,"count":0},{"startOffset":35523,"endOffset":35579,"count":0},{"startOffset":35651,"endOffset":35679,"count":24},{"startOffset":35749,"endOffset":35775,"count":0},{"startOffset":35846,"endOffset":35873,"count":8},{"startOffset":35947,"endOffset":35974,"count":2},{"startOffset":36044,"endOffset":36070,"count":10},{"startOffset":36141,"endOffset":36168,"count":2},{"startOffset":36466,"endOffset":36507,"count":0},{"startOffset":36609,"endOffset":36632,"count":0},{"startOffset":36725,"endOffset":36796,"count":0},{"startOffset":37341,"endOffset":37392,"count":0}],"isBlockCoverage":true},{"functionName":"deprecatedExtra","ranges":[{"startOffset":36209,"endOffset":36363,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":37540,"endOffset":37631,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":37663,"endOffset":38204,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":38324,"endOffset":38364,"count":0}],"isBlockCoverage":false},{"functionName":"maxWidth","ranges":[{"startOffset":38496,"endOffset":38973,"count":44}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38647,"endOffset":38655,"count":476}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38690,"endOffset":38843,"count":476},{"startOffset":38752,"endOffset":38784,"count":0}],"isBlockCoverage":true},{"functionName":"normalizeAliases","ranges":[{"startOffset":38978,"endOffset":40022,"count":1},{"startOffset":39148,"endOffset":39153,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39163,"endOffset":40014,"count":23}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39211,"endOffset":40002,"count":25},{"startOffset":39283,"endOffset":39323,"count":0},{"startOffset":39390,"endOffset":39438,"count":0},{"startOffset":39512,"endOffset":39531,"count":0},{"startOffset":39603,"endOffset":39620,"count":0},{"startOffset":39693,"endOffset":39711,"count":0},{"startOffset":39787,"endOffset":39808,"count":0},{"startOffset":39880,"endOffset":39897,"count":0},{"startOffset":39970,"endOffset":39988,"count":0}],"isBlockCoverage":true},{"functionName":"self.cacheHelpMessage","ranges":[{"startOffset":40078,"endOffset":40138,"count":1}],"isBlockCoverage":true},{"functionName":"self.clearCachedHelpMessage","ranges":[{"startOffset":40174,"endOffset":40232,"count":1}],"isBlockCoverage":true},{"functionName":"addUngroupedKeys","ranges":[{"startOffset":40238,"endOffset":40737,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40397,"endOffset":40478,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40502,"endOffset":40701,"count":44},{"startOffset":40628,"endOffset":40691,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40591,"endOffset":40625,"count":48}],"isBlockCoverage":true},{"functionName":"filterHiddenOptions","ranges":[{"startOffset":40742,"endOffset":40918,"count":99},{"startOffset":40844,"endOffset":40910,"count":2}],"isBlockCoverage":true},{"functionName":"self.showHelp","ranges":[{"startOffset":40939,"endOffset":41158,"count":0}],"isBlockCoverage":false},{"functionName":"self.functionDescription","ranges":[{"startOffset":41191,"endOffset":41377,"count":0}],"isBlockCoverage":false},{"functionName":"stringifiedValues","ranges":[{"startOffset":41408,"endOffset":41806,"count":0}],"isBlockCoverage":false},{"functionName":"defaultString","ranges":[{"startOffset":41812,"endOffset":42459,"count":44},{"startOffset":41940,"endOffset":41962,"count":35},{"startOffset":41976,"endOffset":41988,"count":30},{"startOffset":41988,"endOffset":42021,"count":14},{"startOffset":42021,"endOffset":42074,"count":5},{"startOffset":42074,"endOffset":42424,"count":9},{"startOffset":42142,"endOffset":42227,"count":2},{"startOffset":42244,"endOffset":42338,"count":3},{"startOffset":42355,"endOffset":42400,"count":4},{"startOffset":42424,"endOffset":42458,"count":14}],"isBlockCoverage":true},{"functionName":"windowWidth","ranges":[{"startOffset":42464,"endOffset":42690,"count":0}],"isBlockCoverage":false},{"functionName":"self.version","ranges":[{"startOffset":42734,"endOffset":42771,"count":3}],"isBlockCoverage":true},{"functionName":"self.showVersion","ranges":[{"startOffset":42796,"endOffset":42889,"count":0}],"isBlockCoverage":false},{"functionName":"reset","ranges":[{"startOffset":42908,"endOffset":43213,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43164,"endOffset":43184,"count":2}],"isBlockCoverage":true},{"functionName":"freeze","ranges":[{"startOffset":43257,"endOffset":43507,"count":1}],"isBlockCoverage":true},{"functionName":"unfreeze","ranges":[{"startOffset":43529,"endOffset":43871,"count":1}],"isBlockCoverage":true},{"functionName":"isIndentedText","ranges":[{"startOffset":43892,"endOffset":43962,"count":1188}],"isBlockCoverage":true},{"functionName":"addIndentation","ranges":[{"startOffset":43963,"endOffset":44147,"count":24},{"startOffset":44043,"endOffset":44104,"count":0}],"isBlockCoverage":true},{"functionName":"getIndentation","ranges":[{"startOffset":44148,"endOffset":44237,"count":520},{"startOffset":44212,"endOffset":44230,"count":308},{"startOffset":44231,"endOffset":44234,"count":212}],"isBlockCoverage":true},{"functionName":"getText","ranges":[{"startOffset":44238,"endOffset":44316,"count":644},{"startOffset":44295,"endOffset":44306,"count":308},{"startOffset":44307,"endOffset":44313,"count":336}],"isBlockCoverage":true},{"functionName":"completion","ranges":[{"startOffset":45697,"endOffset":50817,"count":1},{"startOffset":45973,"endOffset":46018,"count":0},{"startOffset":46056,"endOffset":46104,"count":0}],"isBlockCoverage":true},{"functionName":"setParsed","ranges":[{"startOffset":45860,"endOffset":45928,"count":1}],"isBlockCoverage":true},{"functionName":"getCompletion","ranges":[{"startOffset":46132,"endOffset":50219,"count":0}],"isBlockCoverage":false},{"functionName":"generateCompletionScript","ranges":[{"startOffset":50257,"endOffset":50686,"count":0}],"isBlockCoverage":false},{"functionName":"self.registerFunction","ranges":[{"startOffset":50751,"endOffset":50797,"count":0}],"isBlockCoverage":false},{"functionName":"isSyncCompletionFunction","ranges":[{"startOffset":50818,"endOffset":50917,"count":0}],"isBlockCoverage":false},{"functionName":"levenshtein","ranges":[{"startOffset":50919,"endOffset":51642,"count":0}],"isBlockCoverage":false},{"functionName":"validation","ranges":[{"startOffset":51683,"endOffset":63616,"count":1}],"isBlockCoverage":true},{"functionName":"nonOptionCount","ranges":[{"startOffset":51828,"endOffset":53555,"count":1},{"startOffset":51982,"endOffset":52001,"count":0},{"startOffset":52112,"endOffset":52187,"count":0},{"startOffset":52189,"endOffset":53549,"count":0}],"isBlockCoverage":true},{"functionName":"positionalCount","ranges":[{"startOffset":53584,"endOffset":53872,"count":1},{"startOffset":53664,"endOffset":53866,"count":0}],"isBlockCoverage":true},{"functionName":"requiredArguments","ranges":[{"startOffset":53903,"endOffset":54878,"count":1},{"startOffset":54082,"endOffset":54321,"count":0},{"startOffset":54343,"endOffset":54872,"count":0}],"isBlockCoverage":true},{"functionName":"unknownArguments","ranges":[{"startOffset":54908,"endOffset":56092,"count":0}],"isBlockCoverage":false},{"functionName":"unknownCommands","ranges":[{"startOffset":56121,"endOffset":56838,"count":0}],"isBlockCoverage":false},{"functionName":"isValidAndSomeAliasIsNotNew","ranges":[{"startOffset":56879,"endOffset":57325,"count":0}],"isBlockCoverage":false},{"functionName":"limitedChoices","ranges":[{"startOffset":57353,"endOffset":58401,"count":1},{"startOffset":57526,"endOffset":58400,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57561,"endOffset":58012,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":58187,"endOffset":58368,"count":0}],"isBlockCoverage":false},{"functionName":"check","ranges":[{"startOffset":58441,"endOffset":58549,"count":1}],"isBlockCoverage":true},{"functionName":"customChecks","ranges":[{"startOffset":58575,"endOffset":59234,"count":1},{"startOffset":58833,"endOffset":58952,"count":0},{"startOffset":58978,"endOffset":59071,"count":0},{"startOffset":59148,"endOffset":59218,"count":0}],"isBlockCoverage":true},{"functionName":"implies","ranges":[{"startOffset":59277,"endOffset":59940,"count":0}],"isBlockCoverage":false},{"functionName":"getImplied","ranges":[{"startOffset":59964,"endOffset":60017,"count":0}],"isBlockCoverage":false},{"functionName":"keyExists","ranges":[{"startOffset":60023,"endOffset":60422,"count":0}],"isBlockCoverage":false},{"functionName":"implications","ranges":[{"startOffset":60447,"endOffset":61176,"count":1},{"startOffset":60986,"endOffset":61170,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60544,"endOffset":60953,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":61075,"endOffset":61129,"count":0}],"isBlockCoverage":false},{"functionName":"conflicts","ranges":[{"startOffset":61225,"endOffset":61837,"count":16},{"startOffset":61378,"endOffset":61492,"count":0},{"startOffset":61574,"endOffset":61628,"count":4},{"startOffset":61667,"endOffset":61742,"count":2},{"startOffset":61742,"endOffset":61821,"count":14}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61417,"endOffset":61480,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":61699,"endOffset":61726,"count":12}],"isBlockCoverage":true},{"functionName":"self.getConflicting","ranges":[{"startOffset":61865,"endOffset":61882,"count":0}],"isBlockCoverage":false},{"functionName":"conflictingFn","ranges":[{"startOffset":61907,"endOffset":62329,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61972,"endOffset":62321,"count":17},{"startOffset":62015,"endOffset":62311,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62058,"endOffset":62295,"count":0}],"isBlockCoverage":false},{"functionName":"recommendCommands","ranges":[{"startOffset":62360,"endOffset":62981,"count":0}],"isBlockCoverage":false},{"functionName":"reset","ranges":[{"startOffset":63000,"endOffset":63231,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63067,"endOffset":63087,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":63135,"endOffset":63155,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":63189,"endOffset":63202,"count":0}],"isBlockCoverage":false},{"functionName":"freeze","ranges":[{"startOffset":63275,"endOffset":63401,"count":1}],"isBlockCoverage":true},{"functionName":"unfreeze","ranges":[{"startOffset":63423,"endOffset":63596,"count":1}],"isBlockCoverage":true},{"functionName":"YargsWithShim","ranges":[{"startOffset":63630,"endOffset":63701,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs","ranges":[{"startOffset":63702,"endOffset":105257,"count":1},{"startOffset":64430,"endOffset":64502,"count":0},{"startOffset":64784,"endOffset":64921,"count":0}],"isBlockCoverage":true},{"functionName":"Yargs.self.scriptName","ranges":[{"startOffset":64155,"endOffset":64273,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64540,"endOffset":64665,"count":1},{"startOffset":64655,"endOffset":64658,"count":0}],"isBlockCoverage":true},{"functionName":"Yargs.self.getContext","ranges":[{"startOffset":65023,"endOffset":65036,"count":2}],"isBlockCoverage":true},{"functionName":"Yargs.self.exit","ranges":[{"startOffset":65107,"endOffset":65244,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.completion","ranges":[{"startOffset":65302,"endOffset":65839,"count":0}],"isBlockCoverage":false},{"functionName":"resetOptions","ranges":[{"startOffset":65895,"endOffset":68249,"count":2},{"startOffset":65985,"endOffset":65990,"count":1},{"startOffset":66064,"endOffset":66079,"count":1},{"startOffset":66080,"endOffset":66084,"count":1},{"startOffset":66155,"endOffset":66178,"count":1},{"startOffset":66191,"endOffset":66195,"count":1},{"startOffset":67651,"endOffset":67679,"count":1},{"startOffset":67680,"endOffset":67707,"count":1},{"startOffset":67757,"endOffset":67790,"count":1},{"startOffset":67803,"endOffset":67844,"count":1},{"startOffset":67888,"endOffset":67907,"count":1},{"startOffset":67920,"endOffset":67984,"count":1},{"startOffset":68025,"endOffset":68085,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66262,"endOffset":66414,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":66483,"endOffset":66707,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":67323,"endOffset":67418,"count":16},{"startOffset":67370,"endOffset":67375,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67384,"endOffset":67406,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67451,"endOffset":67542,"count":22}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67510,"endOffset":67530,"count":4}],"isBlockCoverage":true},{"functionName":"freeze","ranges":[{"startOffset":68304,"endOffset":68860,"count":1}],"isBlockCoverage":true},{"functionName":"unfreeze","ranges":[{"startOffset":68865,"endOffset":69563,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.boolean","ranges":[{"startOffset":69583,"endOffset":69738,"count":5}],"isBlockCoverage":true},{"functionName":"Yargs.self.array","ranges":[{"startOffset":69757,"endOffset":69910,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.number","ranges":[{"startOffset":69930,"endOffset":70084,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.normalize","ranges":[{"startOffset":70107,"endOffset":70264,"count":2}],"isBlockCoverage":true},{"functionName":"Yargs.self.count","ranges":[{"startOffset":70283,"endOffset":70436,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.string","ranges":[{"startOffset":70456,"endOffset":70610,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.requiresArg","ranges":[{"startOffset":70635,"endOffset":70968,"count":14},{"startOffset":70790,"endOffset":70826,"count":0}],"isBlockCoverage":true},{"functionName":"Yargs.self.skipValidation","ranges":[{"startOffset":70996,"endOffset":71158,"count":0}],"isBlockCoverage":false},{"functionName":"populateParserHintArray","ranges":[{"startOffset":71164,"endOffset":71363,"count":10}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71264,"endOffset":71355,"count":49}],"isBlockCoverage":true},{"functionName":"Yargs.self.nargs","ranges":[{"startOffset":71381,"endOffset":71595,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.choices","ranges":[{"startOffset":71616,"endOffset":71835,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.alias","ranges":[{"startOffset":71854,"endOffset":72069,"count":23}],"isBlockCoverage":true},{"functionName":"Yargs.self.default.self.defaults","ranges":[{"startOffset":72106,"endOffset":72786,"count":9},{"startOffset":72289,"endOffset":72408,"count":0},{"startOffset":72450,"endOffset":72673,"count":0}],"isBlockCoverage":true},{"functionName":"Yargs.self.describe","ranges":[{"startOffset":72808,"endOffset":73003,"count":48}],"isBlockCoverage":true},{"functionName":"setKey","ranges":[{"startOffset":73009,"endOffset":73137,"count":48}],"isBlockCoverage":true},{"functionName":"demandOption","ranges":[{"startOffset":73142,"endOffset":73383,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.coerce","ranges":[{"startOffset":73440,"endOffset":73662,"count":6}],"isBlockCoverage":true},{"functionName":"populateParserHintSingleValueDictionary","ranges":[{"startOffset":73668,"endOffset":73891,"count":77}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":73810,"endOffset":73883,"count":77}],"isBlockCoverage":true},{"functionName":"populateParserHintArrayDictionary","ranges":[{"startOffset":73896,"endOffset":74148,"count":23}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74032,"endOffset":74140,"count":22}],"isBlockCoverage":true},{"functionName":"populateParserHintDictionary","ranges":[{"startOffset":74153,"endOffset":74622,"count":100},{"startOffset":74270,"endOffset":74363,"count":0},{"startOffset":74422,"endOffset":74530,"count":1},{"startOffset":74469,"endOffset":74520,"count":20},{"startOffset":74530,"endOffset":74616,"count":99}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74296,"endOffset":74351,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":74382,"endOffset":74414,"count":100}],"isBlockCoverage":true},{"functionName":"sanitizeKey","ranges":[{"startOffset":74627,"endOffset":74747,"count":148},{"startOffset":74700,"endOffset":74721,"count":0}],"isBlockCoverage":true},{"functionName":"deleteFromParserHintObject","ranges":[{"startOffset":74752,"endOffset":75313,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74837,"endOffset":75252,"count":46},{"startOffset":74929,"endOffset":74936,"count":2},{"startOffset":74936,"endOffset":75017,"count":44},{"startOffset":75017,"endOffset":75139,"count":18},{"startOffset":75085,"endOffset":75125,"count":2},{"startOffset":75139,"endOffset":75242,"count":26},{"startOffset":75187,"endOffset":75242,"count":22}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74869,"endOffset":74901,"count":46}],"isBlockCoverage":true},{"functionName":"config","ranges":[{"startOffset":75332,"endOffset":76111,"count":2},{"startOffset":75520,"endOffset":75542,"count":1},{"startOffset":75544,"endOffset":75770,"count":1},{"startOffset":75716,"endOffset":75721,"count":0},{"startOffset":75770,"endOffset":75810,"count":1},{"startOffset":75810,"endOffset":75877,"count":0},{"startOffset":75877,"endOffset":75963,"count":1},{"startOffset":75994,"endOffset":75999,"count":0},{"startOffset":76000,"endOffset":76007,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":76017,"endOffset":76082,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.example","ranges":[{"startOffset":76132,"endOffset":76460,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.command","ranges":[{"startOffset":76481,"endOffset":76865,"count":2}],"isBlockCoverage":true},{"functionName":"Yargs.self.commandDir","ranges":[{"startOffset":76889,"endOffset":77151,"count":0}],"isBlockCoverage":false},{"functionName":"demand","ranges":[{"startOffset":77202,"endOffset":78178,"count":0}],"isBlockCoverage":false},{"functionName":"demandCommand","ranges":[{"startOffset":78205,"endOffset":78685,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getDemandedOptions","ranges":[{"startOffset":78717,"endOffset":78794,"count":3}],"isBlockCoverage":true},{"functionName":"Yargs.self.getDemandedCommands","ranges":[{"startOffset":78827,"endOffset":78905,"count":2}],"isBlockCoverage":true},{"functionName":"deprecateOption","ranges":[{"startOffset":78934,"endOffset":79140,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getDeprecatedOptions","ranges":[{"startOffset":79174,"endOffset":79253,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.implies","ranges":[{"startOffset":79274,"endOffset":79456,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.conflicts","ranges":[{"startOffset":79479,"endOffset":79656,"count":4}],"isBlockCoverage":true},{"functionName":"Yargs.self.usage","ranges":[{"startOffset":79675,"endOffset":80345,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.epilogue.self.epilog","ranges":[{"startOffset":80381,"endOffset":80507,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.fail","ranges":[{"startOffset":80525,"endOffset":80647,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.onFinishCommand","ranges":[{"startOffset":80676,"endOffset":80805,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getHandlerFinishCommand","ranges":[{"startOffset":80842,"endOffset":80868,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.check","ranges":[{"startOffset":80887,"endOffset":81060,"count":1}],"isBlockCoverage":true},{"functionName":"global","ranges":[{"startOffset":81080,"endOffset":81557,"count":16},{"startOffset":81358,"endOffset":81530,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":81316,"endOffset":81346,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":81402,"endOffset":81518,"count":0}],"isBlockCoverage":false},{"functionName":"pkgConf","ranges":[{"startOffset":81578,"endOffset":82055,"count":0}],"isBlockCoverage":false},{"functionName":"pkgUp","ranges":[{"startOffset":82082,"endOffset":82959,"count":1},{"startOffset":82185,"endOffset":82204,"count":0},{"startOffset":82875,"endOffset":82892,"count":0},{"startOffset":82919,"endOffset":82924,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":82491,"endOffset":82716,"count":2},{"startOffset":82561,"endOffset":82702,"count":1}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":83030,"endOffset":84057,"count":1},{"startOffset":83258,"endOffset":83453,"count":0},{"startOffset":83500,"endOffset":83589,"count":0},{"startOffset":83638,"endOffset":83719,"count":0},{"startOffset":83812,"endOffset":83832,"count":0},{"startOffset":83973,"endOffset":84008,"count":0}],"isBlockCoverage":true},{"functionName":"Yargs.self._getParseContext","ranges":[{"startOffset":84087,"endOffset":84111,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self._hasParseCallback","ranges":[{"startOffset":84142,"endOffset":84157,"count":0}],"isBlockCoverage":false},{"functionName":"option","ranges":[{"startOffset":84192,"endOffset":87432,"count":44},{"startOffset":84332,"endOffset":84444,"count":1},{"startOffset":84444,"endOffset":87405,"count":43},{"startOffset":84501,"endOffset":84542,"count":0},{"startOffset":84623,"endOffset":84650,"count":0},{"startOffset":84741,"endOffset":84810,"count":0},{"startOffset":84905,"endOffset":84962,"count":0},{"startOffset":84997,"endOffset":85121,"count":0},{"startOffset":85153,"endOffset":85220,"count":4},{"startOffset":85255,"endOffset":85318,"count":9},{"startOffset":85362,"endOffset":85425,"count":0},{"startOffset":85467,"endOffset":85526,"count":0},{"startOffset":85555,"endOffset":85622,"count":1},{"startOffset":85654,"endOffset":85706,"count":2},{"startOffset":85736,"endOffset":85799,"count":0},{"startOffset":85828,"endOffset":85889,"count":6},{"startOffset":85917,"endOffset":85976,"count":40},{"startOffset":86032,"endOffset":86158,"count":0},{"startOffset":86210,"endOffset":86332,"count":0},{"startOffset":86386,"endOffset":86510,"count":0},{"startOffset":86564,"endOffset":86688,"count":0},{"startOffset":86740,"endOffset":86788,"count":0},{"startOffset":86838,"endOffset":86899,"count":0},{"startOffset":86940,"endOffset":87029,"count":5},{"startOffset":87066,"endOffset":87123,"count":0},{"startOffset":87181,"endOffset":87192,"count":0},{"startOffset":87260,"endOffset":87307,"count":1},{"startOffset":87341,"endOffset":87395,"count":14}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":84371,"endOffset":84432,"count":42}],"isBlockCoverage":true},{"functionName":"Yargs.self.getOptions","ranges":[{"startOffset":87456,"endOffset":87469,"count":106}],"isBlockCoverage":true},{"functionName":"Yargs.self.positional","ranges":[{"startOffset":87493,"endOffset":89136,"count":1},{"startOffset":87619,"endOffset":87728,"count":0},{"startOffset":88450,"endOffset":88492,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88090,"endOffset":88311,"count":3},{"startOffset":88189,"endOffset":88241,"count":1},{"startOffset":88259,"endOffset":88274,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88676,"endOffset":89030,"count":4},{"startOffset":88778,"endOffset":88883,"count":1},{"startOffset":88853,"endOffset":88869,"count":0},{"startOffset":88883,"endOffset":89020,"count":3},{"startOffset":88940,"endOffset":88956,"count":0},{"startOffset":88978,"endOffset":89006,"count":0}],"isBlockCoverage":true},{"functionName":"group","ranges":[{"startOffset":89155,"endOffset":89676,"count":41},{"startOffset":89384,"endOffset":89442,"count":0},{"startOffset":89506,"endOffset":89511,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":89533,"endOffset":89647,"count":257},{"startOffset":89585,"endOffset":89598,"count":0}],"isBlockCoverage":true},{"functionName":"Yargs.self.getGroups","ranges":[{"startOffset":89699,"endOffset":89747,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.env","ranges":[{"startOffset":89764,"endOffset":90002,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.wrap","ranges":[{"startOffset":90020,"endOffset":90162,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.strict","ranges":[{"startOffset":90206,"endOffset":90348,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getStrict","ranges":[{"startOffset":90371,"endOffset":90383,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.strictCommands","ranges":[{"startOffset":90443,"endOffset":90593,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getStrictCommands","ranges":[{"startOffset":90624,"endOffset":90644,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.strictOptions","ranges":[{"startOffset":90702,"endOffset":90851,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getStrictOptions","ranges":[{"startOffset":90881,"endOffset":90900,"count":0}],"isBlockCoverage":false},{"functionName":"parserConfiguration","ranges":[{"startOffset":90960,"endOffset":91113,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.getParserConfiguration","ranges":[{"startOffset":91149,"endOffset":91167,"count":5}],"isBlockCoverage":true},{"functionName":"Yargs.self.showHelp","ranges":[{"startOffset":91189,"endOffset":91534,"count":0}],"isBlockCoverage":false},{"functionName":"version","ranges":[{"startOffset":91582,"endOffset":92607,"count":2},{"startOffset":91775,"endOffset":91909,"count":1},{"startOffset":91946,"endOffset":92322,"count":1},{"startOffset":92070,"endOffset":92217,"count":0},{"startOffset":92259,"endOffset":92322,"count":0},{"startOffset":92374,"endOffset":92393,"count":0},{"startOffset":92413,"endOffset":92462,"count":1},{"startOffset":92492,"endOffset":92504,"count":0}],"isBlockCoverage":true},{"functionName":"guessVersion","ranges":[{"startOffset":92613,"endOffset":92714,"count":1},{"startOffset":92695,"endOffset":92707,"count":0}],"isBlockCoverage":true},{"functionName":"addHelpOpt","ranges":[{"startOffset":92773,"endOffset":93338,"count":2},{"startOffset":92941,"endOffset":93029,"count":1},{"startOffset":93066,"endOffset":93137,"count":0},{"startOffset":93180,"endOffset":93185,"count":1},{"startOffset":93186,"endOffset":93202,"count":1},{"startOffset":93270,"endOffset":93309,"count":1}],"isBlockCoverage":true},{"functionName":"addShowHiddenOpt","ranges":[{"startOffset":93484,"endOffset":93993,"count":0}],"isBlockCoverage":false},{"functionName":"hide","ranges":[{"startOffset":94011,"endOffset":94153,"count":1}],"isBlockCoverage":true},{"functionName":"showHelpOnFail","ranges":[{"startOffset":94181,"endOffset":94385,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.exitProcess","ranges":[{"startOffset":94438,"endOffset":94582,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getExitProcess","ranges":[{"startOffset":94610,"endOffset":94627,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.showCompletionScript","ranges":[{"startOffset":94661,"endOffset":94909,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getCompletion","ranges":[{"startOffset":94936,"endOffset":95084,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.locale","ranges":[{"startOffset":95104,"endOffset":95366,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.updateStrings.self.updateLocale","ranges":[{"startOffset":95413,"endOffset":95572,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.detectLocale","ranges":[{"startOffset":95627,"endOffset":95762,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getDetectLocale","ranges":[{"startOffset":95791,"endOffset":95809,"count":0}],"isBlockCoverage":false},{"functionName":"log","ranges":[{"startOffset":95841,"endOffset":96077,"count":0}],"isBlockCoverage":false},{"functionName":"error","ranges":[{"startOffset":96087,"endOffset":96327,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self._getLoggerInstance","ranges":[{"startOffset":96366,"endOffset":96379,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self._hasOutput","ranges":[{"startOffset":96403,"endOffset":96418,"count":3}],"isBlockCoverage":true},{"functionName":"Yargs.self._setHasOutput","ranges":[{"startOffset":96445,"endOffset":96484,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self.recommendCommands","ranges":[{"startOffset":96542,"endOffset":96698,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getUsageInstance","ranges":[{"startOffset":96728,"endOffset":96741,"count":5}],"isBlockCoverage":true},{"functionName":"Yargs.self.getValidationInstance","ranges":[{"startOffset":96776,"endOffset":96794,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.getCommandInstance","ranges":[{"startOffset":96826,"endOffset":96841,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self.terminalWidth","ranges":[{"startOffset":96868,"endOffset":96947,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":97004,"endOffset":97038,"count":0}],"isBlockCoverage":false},{"functionName":"parseArgs","ranges":[{"startOffset":97096,"endOffset":102725,"count":2},{"startOffset":97242,"endOffset":97256,"count":1},{"startOffset":97788,"endOffset":97833,"count":0},{"startOffset":98002,"endOffset":98105,"count":0},{"startOffset":98221,"endOffset":98226,"count":0},{"startOffset":98347,"endOffset":98442,"count":0},{"startOffset":98723,"endOffset":98793,"count":0},{"startOffset":98868,"endOffset":100055,"count":1},{"startOffset":99107,"endOffset":99135,"count":0},{"startOffset":99137,"endOffset":99343,"count":0},{"startOffset":99834,"endOffset":99899,"count":0},{"startOffset":99900,"endOffset":99922,"count":0},{"startOffset":99924,"endOffset":100037,"count":0},{"startOffset":100055,"endOffset":100094,"count":1},{"startOffset":100094,"endOffset":100151,"count":0},{"startOffset":100152,"endOffset":100194,"count":0},{"startOffset":100196,"endOffset":100378,"count":0},{"startOffset":100392,"endOffset":100632,"count":0},{"startOffset":100632,"endOffset":100669,"count":1},{"startOffset":100669,"endOffset":101256,"count":0},{"startOffset":101256,"endOffset":102007,"count":1},{"startOffset":102007,"endOffset":102043,"count":0},{"startOffset":102045,"endOffset":102188,"count":0},{"startOffset":102188,"endOffset":102222,"count":1},{"startOffset":102222,"endOffset":102466,"count":0},{"startOffset":102485,"endOffset":102639,"count":0},{"startOffset":102639,"endOffset":102724,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":98256,"endOffset":98273,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":100946,"endOffset":101151,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":101329,"endOffset":101958,"count":17},{"startOffset":101378,"endOffset":101390,"count":0},{"startOffset":101392,"endOffset":101634,"count":0},{"startOffset":101683,"endOffset":101695,"count":0},{"startOffset":101697,"endOffset":101940,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":102103,"endOffset":102172,"count":0}],"isBlockCoverage":false},{"functionName":"Yargs.self._postProcess","ranges":[{"startOffset":102751,"endOffset":103332,"count":3},{"startOffset":102857,"endOffset":102869,"count":1},{"startOffset":102869,"endOffset":102913,"count":2},{"startOffset":102913,"endOffset":103201,"count":1},{"startOffset":103239,"endOffset":103331,"count":1}],"isBlockCoverage":true},{"functionName":"Yargs.self._copyDoubleDash","ranges":[{"startOffset":103361,"endOffset":103593,"count":1},{"startOffset":103439,"endOffset":103592,"count":0}],"isBlockCoverage":true},{"functionName":"Yargs.self._parsePositionalNumbers","ranges":[{"startOffset":103630,"endOffset":103987,"count":1},{"startOffset":103680,"endOffset":103692,"count":0},{"startOffset":103768,"endOffset":103960,"count":0}],"isBlockCoverage":true},{"functionName":"runValidation","ranges":[{"startOffset":104015,"endOffset":104874,"count":1},{"startOffset":104146,"endOffset":104184,"count":0},{"startOffset":104344,"endOffset":104426,"count":0},{"startOffset":104446,"endOffset":104470,"count":0},{"startOffset":104472,"endOffset":104574,"count":0},{"startOffset":104607,"endOffset":104694,"count":0}],"isBlockCoverage":true},{"functionName":"guessLocale","ranges":[{"startOffset":104880,"endOffset":105201,"count":2},{"startOffset":104951,"endOffset":105042,"count":0},{"startOffset":105043,"endOffset":105079,"count":0},{"startOffset":105080,"endOffset":105120,"count":0},{"startOffset":105121,"endOffset":105143,"count":0}],"isBlockCoverage":true},{"functionName":"rebase","ranges":[{"startOffset":105273,"endOffset":105319,"count":1}],"isBlockCoverage":true},{"functionName":"isYargsInstance","ranges":[{"startOffset":105321,"endOffset":105406,"count":1}],"isBlockCoverage":true},{"functionName":"getEnv","ranges":[{"startOffset":105816,"endOffset":105865,"count":4}],"isBlockCoverage":true},{"functionName":"argv","ranges":[{"startOffset":106229,"endOffset":106247,"count":2}],"isBlockCoverage":true},{"functionName":"execPath","ranges":[{"startOffset":106293,"endOffset":106315,"count":0}],"isBlockCoverage":false},{"functionName":"exit","ranges":[{"startOffset":106331,"endOffset":106384,"count":0}],"isBlockCoverage":false}]},{"scriptId":"582","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/y18n/build/index.cjs","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6783,"count":1}],"isBlockCoverage":true},{"functionName":"Y18N","ranges":[{"startOffset":123,"endOffset":611,"count":1},{"startOffset":196,"endOffset":201,"count":0},{"startOffset":243,"endOffset":257,"count":0},{"startOffset":343,"endOffset":349,"count":0},{"startOffset":473,"endOffset":498,"count":0}],"isBlockCoverage":true},{"functionName":"__","ranges":[{"startOffset":616,"endOffset":1683,"count":174},{"startOffset":676,"endOffset":755,"count":0},{"startOffset":913,"endOffset":929,"count":0},{"startOffset":946,"endOffset":964,"count":0},{"startOffset":1025,"endOffset":1048,"count":0},{"startOffset":1157,"endOffset":1176,"count":0},{"startOffset":1178,"endOffset":1535,"count":0},{"startOffset":1655,"endOffset":1661,"count":0}],"isBlockCoverage":true},{"functionName":"cb","ranges":[{"startOffset":807,"endOffset":822,"count":174}],"isBlockCoverage":true},{"functionName":"cb","ranges":[{"startOffset":949,"endOffset":964,"count":0}],"isBlockCoverage":false},{"functionName":"__n","ranges":[{"startOffset":1688,"endOffset":3211,"count":0}],"isBlockCoverage":false},{"functionName":"setLocale","ranges":[{"startOffset":3216,"endOffset":3271,"count":0}],"isBlockCoverage":false},{"functionName":"getLocale","ranges":[{"startOffset":3276,"endOffset":3323,"count":0}],"isBlockCoverage":false},{"functionName":"updateLocale","ranges":[{"startOffset":3328,"endOffset":3607,"count":1},{"startOffset":3453,"endOffset":3601,"count":3}],"isBlockCoverage":true},{"functionName":"_taggedLiteral","ranges":[{"startOffset":3612,"endOffset":3952,"count":0}],"isBlockCoverage":false},{"functionName":"_enqueueWrite","ranges":[{"startOffset":3957,"endOffset":4101,"count":0}],"isBlockCoverage":false},{"functionName":"_processWriteQueue","ranges":[{"startOffset":4106,"endOffset":4746,"count":0}],"isBlockCoverage":false},{"functionName":"_readLocaleFile","ranges":[{"startOffset":4751,"endOffset":5465,"count":1},{"startOffset":5145,"endOffset":5411,"count":0}],"isBlockCoverage":true},{"functionName":"_resolveLocaleFile","ranges":[{"startOffset":5470,"endOffset":5946,"count":1},{"startOffset":5645,"endOffset":5672,"count":0},{"startOffset":5674,"endOffset":5919,"count":0}],"isBlockCoverage":true},{"functionName":"_fileExistsSync","ranges":[{"startOffset":5951,"endOffset":6014,"count":1}],"isBlockCoverage":true},{"functionName":"y18n$1","ranges":[{"startOffset":6017,"endOffset":6358,"count":1}],"isBlockCoverage":true},{"functionName":"exists","ranges":[{"startOffset":6537,"endOffset":6683,"count":1},{"startOffset":6628,"endOffset":6677,"count":0}],"isBlockCoverage":true},{"functionName":"y18n","ranges":[{"startOffset":6701,"endOffset":6757,"count":1}],"isBlockCoverage":true}]},{"scriptId":"583","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/cliui/build/index.cjs","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9953,"count":1}],"isBlockCoverage":true},{"functionName":"UI","ranges":[{"startOffset":162,"endOffset":336,"count":1},{"startOffset":299,"endOffset":305,"count":0}],"isBlockCoverage":true},{"functionName":"span","ranges":[{"startOffset":341,"endOffset":428,"count":44}],"isBlockCoverage":true},{"functionName":"resetOutput","ranges":[{"startOffset":433,"endOffset":478,"count":0}],"isBlockCoverage":false},{"functionName":"div","ranges":[{"startOffset":483,"endOffset":956,"count":113},{"startOffset":529,"endOffset":566,"count":8},{"startOffset":627,"endOffset":657,"count":0},{"startOffset":659,"endOffset":719,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":750,"endOffset":897,"count":149},{"startOffset":800,"endOffset":863,"count":60},{"startOffset":863,"endOffset":896,"count":89}],"isBlockCoverage":true},{"functionName":"shouldApplyLayoutDSL","ranges":[{"startOffset":961,"endOffset":1101,"count":113},{"startOffset":1026,"endOffset":1056,"count":61},{"startOffset":1057,"endOffset":1094,"count":16}],"isBlockCoverage":true},{"functionName":"applyLayoutDSL","ranges":[{"startOffset":1106,"endOffset":2204,"count":0}],"isBlockCoverage":false},{"functionName":"colFromString","ranges":[{"startOffset":2209,"endOffset":2329,"count":60}],"isBlockCoverage":true},{"functionName":"measurePadding","ranges":[{"startOffset":2334,"endOffset":2546,"count":60}],"isBlockCoverage":true},{"functionName":"toString","ranges":[{"startOffset":2551,"endOffset":2880,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2616,"endOffset":2676,"count":113}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2792,"endOffset":2812,"count":114}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2831,"endOffset":2848,"count":84}],"isBlockCoverage":true},{"functionName":"rowToString","ranges":[{"startOffset":2885,"endOffset":4770,"count":113}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2947,"endOffset":4740,"count":114}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3013,"endOffset":4567,"count":166},{"startOffset":3325,"endOffset":3418,"count":160},{"startOffset":3507,"endOffset":3533,"count":44},{"startOffset":3534,"endOffset":3546,"count":44},{"startOffset":3548,"endOffset":3830,"count":44},{"startOffset":3705,"endOffset":3812,"count":0},{"startOffset":3933,"endOffset":3948,"count":0},{"startOffset":3985,"endOffset":4058,"count":96},{"startOffset":4226,"endOffset":4300,"count":52},{"startOffset":4438,"endOffset":4457,"count":149},{"startOffset":4459,"endOffset":4553,"count":148}],"isBlockCoverage":true},{"functionName":"renderInline","ranges":[{"startOffset":4848,"endOffset":5613,"count":148},{"startOffset":4986,"endOffset":4989,"count":0},{"startOffset":5136,"endOffset":5174,"count":104},{"startOffset":5174,"endOffset":5291,"count":44},{"startOffset":5291,"endOffset":5378,"count":0},{"startOffset":5378,"endOffset":5428,"count":44},{"startOffset":5428,"endOffset":5466,"count":14},{"startOffset":5466,"endOffset":5612,"count":30}],"isBlockCoverage":true},{"functionName":"rasterize","ranges":[{"startOffset":5618,"endOffset":7065,"count":113}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5849,"endOffset":7035,"count":149},{"startOffset":6095,"endOffset":6176,"count":0},{"startOffset":6205,"endOffset":6389,"count":0},{"startOffset":6526,"endOffset":6530,"count":148}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6664,"endOffset":7023,"count":159},{"startOffset":6709,"endOffset":6764,"count":114},{"startOffset":6848,"endOffset":6977,"count":52},{"startOffset":6897,"endOffset":6959,"count":7}],"isBlockCoverage":true},{"functionName":"negatePadding","ranges":[{"startOffset":7070,"endOffset":7342,"count":315},{"startOffset":7125,"endOffset":7129,"count":0},{"startOffset":7202,"endOffset":7206,"count":131},{"startOffset":7230,"endOffset":7234,"count":219},{"startOffset":7271,"endOffset":7310,"count":0}],"isBlockCoverage":true},{"functionName":"columnWidths","ranges":[{"startOffset":7347,"endOffset":8184,"count":113},{"startOffset":7391,"endOffset":7519,"count":0},{"startOffset":7952,"endOffset":7988,"count":105},{"startOffset":7989,"endOffset":7992,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7420,"endOffset":7507,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7671,"endOffset":7866,"count":149},{"startOffset":7707,"endOffset":7826,"count":44},{"startOffset":7826,"endOffset":7865,"count":105}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8020,"endOffset":8176,"count":149},{"startOffset":8065,"endOffset":8144,"count":105},{"startOffset":8144,"endOffset":8175,"count":44}],"isBlockCoverage":true},{"functionName":"addBorder","ranges":[{"startOffset":8187,"endOffset":8433,"count":332},{"startOffset":8244,"endOffset":8416,"count":0}],"isBlockCoverage":true},{"functionName":"_minWidth","ranges":[{"startOffset":8512,"endOffset":8727,"count":105},{"startOffset":8570,"endOffset":8575,"count":0},{"startOffset":8617,"endOffset":8621,"count":61},{"startOffset":8668,"endOffset":8704,"count":0}],"isBlockCoverage":true},{"functionName":"getWindowWidth","ranges":[{"startOffset":8728,"endOffset":8952,"count":0}],"isBlockCoverage":false},{"functionName":"alignRight","ranges":[{"startOffset":8953,"endOffset":9156,"count":44},{"startOffset":9138,"endOffset":9155,"count":0}],"isBlockCoverage":true},{"functionName":"alignCenter","ranges":[{"startOffset":9157,"endOffset":9400,"count":0}],"isBlockCoverage":false},{"functionName":"cliui","ranges":[{"startOffset":9412,"endOffset":9653,"count":1},{"startOffset":9532,"endOffset":9540,"count":0},{"startOffset":9555,"endOffset":9574,"count":0},{"startOffset":9623,"endOffset":9631,"count":0}],"isBlockCoverage":true},{"functionName":"ui","ranges":[{"startOffset":9823,"endOffset":9930,"count":1}],"isBlockCoverage":true}]},{"scriptId":"584","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/string-width/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":923,"count":1}],"isBlockCoverage":true},{"functionName":"stringWidth","ranges":[{"startOffset":184,"endOffset":805,"count":2049},{"startOffset":252,"endOffset":268,"count":189},{"startOffset":268,"endOffset":326,"count":1860},{"startOffset":326,"endOffset":342,"count":0},{"startOffset":342,"endOffset":449,"count":1860},{"startOffset":449,"endOffset":787,"count":34051},{"startOffset":557,"endOffset":572,"count":0},{"startOffset":575,"endOffset":593,"count":0},{"startOffset":648,"endOffset":664,"count":0},{"startOffset":666,"endOffset":684,"count":0},{"startOffset":723,"endOffset":736,"count":0},{"startOffset":776,"endOffset":779,"count":0},{"startOffset":787,"endOffset":804,"count":1860}],"isBlockCoverage":true}]},{"scriptId":"585","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/strip-ansi/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":154,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":73,"endOffset":152,"count":1920},{"startOffset":144,"endOffset":152,"count":0}],"isBlockCoverage":true}]},{"scriptId":"586","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/ansi-regex/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":350,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":32,"endOffset":348,"count":1920},{"startOffset":327,"endOffset":338,"count":0}],"isBlockCoverage":true}]},{"scriptId":"587","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/is-fullwidth-code-point/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1756,"count":1}],"isBlockCoverage":true},{"functionName":"isFullwidthCodePoint","ranges":[{"startOffset":70,"endOffset":1667,"count":34051},{"startOffset":115,"endOffset":135,"count":0},{"startOffset":257,"endOffset":1626,"count":0},{"startOffset":1630,"endOffset":1649,"count":0}],"isBlockCoverage":true}]},{"scriptId":"588","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/emoji-regex/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10286,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":32,"endOffset":10284,"count":1860}],"isBlockCoverage":true}]},{"scriptId":"589","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/wrap-ansi/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5772,"count":1}],"isBlockCoverage":true},{"functionName":"wrapAnsi","ranges":[{"startOffset":391,"endOffset":473,"count":0}],"isBlockCoverage":false},{"functionName":"wrapAnsiHyperlink","ranges":[{"startOffset":501,"endOffset":586,"count":0}],"isBlockCoverage":false},{"functionName":"wordLengths","ranges":[{"startOffset":716,"endOffset":784,"count":141}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":748,"endOffset":783,"count":426}],"isBlockCoverage":true},{"functionName":"wrapWord","ranges":[{"startOffset":894,"endOffset":2106,"count":0}],"isBlockCoverage":false},{"functionName":"stringVisibleTrimSpacesRight","ranges":[{"startOffset":2205,"endOffset":2490,"count":150},{"startOffset":2296,"endOffset":2367,"count":159},{"startOffset":2338,"endOffset":2353,"count":150},{"startOffset":2353,"endOffset":2367,"count":9},{"startOffset":2397,"endOffset":2418,"count":141},{"startOffset":2418,"endOffset":2489,"count":9}],"isBlockCoverage":true},{"functionName":"exec","ranges":[{"startOffset":2725,"endOffset":5528,"count":149},{"startOffset":2815,"endOffset":2832,"count":8},{"startOffset":2832,"endOffset":3006,"count":141},{"startOffset":3006,"endOffset":4427,"count":426},{"startOffset":3181,"endOffset":3535,"count":285},{"startOffset":3211,"endOffset":3268,"count":0},{"startOffset":3270,"endOffset":3424,"count":0},{"startOffset":3447,"endOffset":3472,"count":0},{"startOffset":3674,"endOffset":4039,"count":0},{"startOffset":4084,"endOffset":4100,"count":9},{"startOffset":4101,"endOffset":4122,"count":9},{"startOffset":4124,"endOffset":4262,"count":9},{"startOffset":4160,"endOffset":4182,"count":0},{"startOffset":4184,"endOffset":4239,"count":0},{"startOffset":4307,"endOffset":4336,"count":9},{"startOffset":4338,"endOffset":4390,"count":0},{"startOffset":4427,"endOffset":4598,"count":141},{"startOffset":4598,"endOffset":5504,"count":2974},{"startOffset":4659,"endOffset":5083,"count":0},{"startOffset":5174,"endOffset":5316,"count":9},{"startOffset":5194,"endOffset":5242,"count":0},{"startOffset":5262,"endOffset":5269,"count":0},{"startOffset":5271,"endOffset":5312,"count":0},{"startOffset":5316,"endOffset":5501,"count":2965},{"startOffset":5346,"endOffset":5501,"count":9},{"startOffset":5366,"endOffset":5373,"count":0},{"startOffset":5375,"endOffset":5422,"count":0},{"startOffset":5442,"endOffset":5497,"count":0},{"startOffset":5504,"endOffset":5527,"count":141}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":5598,"endOffset":5770,"count":149}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5716,"endOffset":5752,"count":149}],"isBlockCoverage":true}]},{"scriptId":"590","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/wrap-ansi/node_modules/ansi-styles/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4139,"count":1}],"isBlockCoverage":true},{"functionName":"wrapAnsi16","ranges":[{"startOffset":34,"endOffset":129,"count":0}],"isBlockCoverage":false},{"functionName":"wrapAnsi256","ranges":[{"startOffset":152,"endOffset":255,"count":0}],"isBlockCoverage":false},{"functionName":"wrapAnsi16m","ranges":[{"startOffset":278,"endOffset":402,"count":0}],"isBlockCoverage":false},{"functionName":"ansi2ansi","ranges":[{"startOffset":423,"endOffset":429,"count":0}],"isBlockCoverage":false},{"functionName":"rgb2rgb","ranges":[{"startOffset":447,"endOffset":469,"count":0}],"isBlockCoverage":false},{"functionName":"setLazyProperty","ranges":[{"startOffset":496,"endOffset":786,"count":30}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":575,"endOffset":737,"count":0}],"isBlockCoverage":false},{"functionName":"makeDynamicStyles","ranges":[{"startOffset":879,"endOffset":1400,"count":0}],"isBlockCoverage":false},{"functionName":"assembleStyles","ranges":[{"startOffset":1403,"endOffset":4021,"count":5},{"startOffset":2869,"endOffset":3201,"count":15},{"startOffset":2929,"endOffset":3108,"count":220}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3401,"endOffset":3464,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3509,"endOffset":3574,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3619,"endOffset":3678,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3722,"endOffset":3784,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3831,"endOffset":3895,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3942,"endOffset":4000,"count":0}],"isBlockCoverage":false}]},{"scriptId":"591","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/escalade/sync/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":416,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":113,"endOffset":415,"count":1},{"startOffset":235,"endOffset":261,"count":0},{"startOffset":277,"endOffset":413,"count":2},{"startOffset":331,"endOffset":404,"count":1},{"startOffset":404,"endOffset":410,"count":0}],"isBlockCoverage":true}]},{"scriptId":"592","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/get-caller-file/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1108,"count":1}],"isBlockCoverage":true},{"functionName":"getCallerFile","ranges":[{"startOffset":233,"endOffset":1073,"count":0}],"isBlockCoverage":false}]},{"scriptId":"593","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/require-directory/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2867,"count":1}],"isBlockCoverage":true},{"functionName":"rename","ranges":[{"startOffset":238,"endOffset":280,"count":0}],"isBlockCoverage":false},{"functionName":"visit","ranges":[{"startOffset":293,"endOffset":333,"count":0}],"isBlockCoverage":false},{"functionName":"checkFileInclusion","ranges":[{"startOffset":340,"endOffset":1270,"count":0}],"isBlockCoverage":false},{"functionName":"requireDirectory","ranges":[{"startOffset":1272,"endOffset":2788,"count":0}],"isBlockCoverage":false}]},{"scriptId":"594","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/commands.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":225,"count":1}],"isBlockCoverage":true}]},{"scriptId":"595","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/init.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":958,"count":1}],"isBlockCoverage":true},{"functionName":"exports.builder","ranges":[{"startOffset":265,"endOffset":347,"count":0}],"isBlockCoverage":false},{"functionName":"exports.handler","ranges":[{"startOffset":368,"endOffset":956,"count":0}],"isBlockCoverage":false}]},{"scriptId":"596","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/cli/run.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":11007,"count":1}],"isBlockCoverage":true},{"functionName":"exports.builder","ranges":[{"startOffset":1004,"endOffset":10753,"count":1}],"isBlockCoverage":true},{"functionName":"coerce","ranges":[{"startOffset":3708,"endOffset":3740,"count":0}],"isBlockCoverage":false},{"functionName":"coerce","ranges":[{"startOffset":5713,"endOffset":6202,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7859,"endOffset":9998,"count":1},{"startOffset":8183,"endOffset":8222,"count":0},{"startOffset":8224,"endOffset":8417,"count":0},{"startOffset":8444,"endOffset":9496,"count":0},{"startOffset":9524,"endOffset":9746,"count":0},{"startOffset":9769,"endOffset":9972,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7970,"endOffset":8095,"count":2},{"startOffset":8002,"endOffset":8087,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10016,"endOffset":10628,"count":1},{"startOffset":10441,"endOffset":10622,"count":0}],"isBlockCoverage":true},{"functionName":"exports.handler","ranges":[{"startOffset":10774,"endOffset":11005,"count":1},{"startOffset":10913,"endOffset":11003,"count":0}],"isBlockCoverage":true}]},{"scriptId":"597","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map-support/register.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":25,"count":1}],"isBlockCoverage":true}]},{"scriptId":"598","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map-support/source-map-support.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":20223,"count":1},{"startOffset":172,"endOffset":235,"count":0},{"startOffset":238,"endOffset":265,"count":0}],"isBlockCoverage":true},{"functionName":"dynamicRequire","ranges":[{"startOffset":444,"endOffset":516,"count":1}],"isBlockCoverage":true},{"functionName":"isInBrowser","ranges":[{"startOffset":1174,"endOffset":1478,"count":0}],"isBlockCoverage":false},{"functionName":"hasGlobalProcessEventEmitter","ranges":[{"startOffset":1480,"endOffset":1625,"count":1}],"isBlockCoverage":true},{"functionName":"globalProcessVersion","ranges":[{"startOffset":1627,"endOffset":1781,"count":0}],"isBlockCoverage":false},{"functionName":"globalProcessStderr","ranges":[{"startOffset":1783,"endOffset":1909,"count":0}],"isBlockCoverage":false},{"functionName":"globalProcessExit","ranges":[{"startOffset":1911,"endOffset":2083,"count":0}],"isBlockCoverage":false},{"functionName":"handlerExec","ranges":[{"startOffset":2085,"endOffset":2287,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2123,"endOffset":2284,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2370,"endOffset":3400,"count":0}],"isBlockCoverage":false},{"functionName":"supportRelativeURL","ranges":[{"startOffset":3575,"endOffset":4063,"count":0}],"isBlockCoverage":false},{"functionName":"retrieveSourceMapURL","ranges":[{"startOffset":4065,"endOffset":5108,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5515,"endOffset":6256,"count":0}],"isBlockCoverage":false},{"functionName":"mapSourcePosition","ranges":[{"startOffset":6260,"endOffset":8072,"count":0}],"isBlockCoverage":false},{"functionName":"mapEvalOrigin","ranges":[{"startOffset":8212,"endOffset":8908,"count":0}],"isBlockCoverage":false},{"functionName":"CallSiteToString","ranges":[{"startOffset":9304,"endOffset":11294,"count":0}],"isBlockCoverage":false},{"functionName":"cloneCallSite","ranges":[{"startOffset":11296,"endOffset":11601,"count":0}],"isBlockCoverage":false},{"functionName":"wrapCallSite","ranges":[{"startOffset":11603,"endOffset":13958,"count":0}],"isBlockCoverage":false},{"functionName":"prepareStackTrace","ranges":[{"startOffset":14070,"endOffset":14683,"count":0}],"isBlockCoverage":false},{"functionName":"getErrorSource","ranges":[{"startOffset":14750,"endOffset":15569,"count":0}],"isBlockCoverage":false},{"functionName":"printErrorAndExit","ranges":[{"startOffset":15571,"endOffset":15977,"count":0}],"isBlockCoverage":false},{"functionName":"shimEmitUncaughtException","ranges":[{"startOffset":15979,"endOffset":16398,"count":1}],"isBlockCoverage":true},{"functionName":"process.emit","ranges":[{"startOffset":16068,"endOffset":16395,"count":5},{"startOffset":16124,"endOffset":16346,"count":0}],"isBlockCoverage":true},{"functionName":"exports.install","ranges":[{"startOffset":16722,"endOffset":19868,"count":1},{"startOffset":16797,"endOffset":17028,"count":0},{"startOffset":17154,"endOffset":17301,"count":0},{"startOffset":17436,"endOffset":17591,"count":0},{"startOffset":17684,"endOffset":17701,"count":0},{"startOffset":17703,"endOffset":18197,"count":0},{"startOffset":18335,"endOffset":18378,"count":0},{"startOffset":18647,"endOffset":18687,"count":0},{"startOffset":19151,"endOffset":19192,"count":0},{"startOffset":19199,"endOffset":19210,"count":0}],"isBlockCoverage":true},{"functionName":"Module._compile","ranges":[{"startOffset":17941,"endOffset":18126,"count":0}],"isBlockCoverage":false},{"functionName":"exports.resetRetrieveHandlers","ranges":[{"startOffset":19903,"endOffset":20222,"count":0}],"isBlockCoverage":false}]},{"scriptId":"599","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/source-map.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":405,"count":1}],"isBlockCoverage":true}]},{"scriptId":"600","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/source-map-generator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":14356,"count":1}],"isBlockCoverage":true},{"functionName":"SourceMapGenerator","ranges":[{"startOffset":676,"endOffset":1066,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapGenerator_fromSourceMap","ranges":[{"startOffset":1269,"endOffset":2690,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapGenerator_addMapping","ranges":[{"startOffset":3228,"endOffset":4140,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapGenerator_setSourceContent","ranges":[{"startOffset":4246,"endOffset":5137,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapGenerator_applySourceMap","ranges":[{"startOffset":6124,"endOffset":8836,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapGenerator_validateMapping","ranges":[{"startOffset":9271,"endOffset":10865,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapGenerator_serializeMappings","ranges":[{"startOffset":11038,"endOffset":12997,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapGenerator_generateSourcesContent","ranges":[{"startOffset":13057,"endOffset":13526,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapGenerator_toJSON","ranges":[{"startOffset":13608,"endOffset":14111,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapGenerator_toString","ranges":[{"startOffset":14218,"endOffset":14304,"count":0}],"isBlockCoverage":false}]},{"scriptId":"601","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/base64-vlq.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4714,"count":1}],"isBlockCoverage":true},{"functionName":"toVLQSigned","ranges":[{"startOffset":2872,"endOffset":2976,"count":0}],"isBlockCoverage":false},{"functionName":"fromVLQSigned","ranges":[{"startOffset":3238,"endOffset":3390,"count":0}],"isBlockCoverage":false},{"functionName":"base64VLQ_encode","ranges":[{"startOffset":3459,"endOffset":3886,"count":0}],"isBlockCoverage":false},{"functionName":"base64VLQ_decode","ranges":[{"startOffset":4049,"endOffset":4712,"count":0}],"isBlockCoverage":false}]},{"scriptId":"602","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/base64.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1540,"count":1}],"isBlockCoverage":true},{"functionName":"exports.encode","ranges":[{"startOffset":403,"endOffset":576,"count":0}],"isBlockCoverage":false},{"functionName":"exports.decode","ranges":[{"startOffset":693,"endOffset":1538,"count":0}],"isBlockCoverage":false}]},{"scriptId":"603","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/util.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12938,"count":1},{"startOffset":6427,"endOffset":6440,"count":0},{"startOffset":6604,"endOffset":6619,"count":0}],"isBlockCoverage":true},{"functionName":"getArg","ranges":[{"startOffset":594,"endOffset":835,"count":0}],"isBlockCoverage":false},{"functionName":"urlParse","ranges":[{"startOffset":982,"endOffset":1200,"count":0}],"isBlockCoverage":false},{"functionName":"urlGenerate","ranges":[{"startOffset":1231,"endOffset":1618,"count":0}],"isBlockCoverage":false},{"functionName":"normalize","ranges":[{"startOffset":1951,"endOffset":2900,"count":0}],"isBlockCoverage":false},{"functionName":"join","ranges":[{"startOffset":3579,"endOffset":4447,"count":0}],"isBlockCoverage":false},{"functionName":"exports.isAbsolute","ranges":[{"startOffset":4491,"endOffset":4570,"count":0}],"isBlockCoverage":false},{"functionName":"relative","ranges":[{"startOffset":4734,"endOffset":5803,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5859,"endOffset":5939,"count":1}],"isBlockCoverage":true},{"functionName":"identity","ranges":[{"startOffset":5945,"endOffset":5982,"count":0}],"isBlockCoverage":false},{"functionName":"toSetString","ranges":[{"startOffset":6273,"endOffset":6375,"count":0}],"isBlockCoverage":false},{"functionName":"fromSetString","ranges":[{"startOffset":6443,"endOffset":6550,"count":0}],"isBlockCoverage":false},{"functionName":"isProtoString","ranges":[{"startOffset":6622,"endOffset":7404,"count":0}],"isBlockCoverage":false},{"functionName":"compareByOriginalPositions","ranges":[{"startOffset":7741,"endOffset":8377,"count":0}],"isBlockCoverage":false},{"functionName":"compareByGeneratedPositionsDeflated","ranges":[{"startOffset":8830,"endOffset":9477,"count":0}],"isBlockCoverage":false},{"functionName":"strcmp","ranges":[{"startOffset":9562,"endOffset":9817,"count":0}],"isBlockCoverage":false},{"functionName":"compareByGeneratedPositionsInflated","ranges":[{"startOffset":9947,"endOffset":10548,"count":0}],"isBlockCoverage":false},{"functionName":"parseSourceMapInput","ranges":[{"startOffset":10788,"endOffset":10881,"count":0}],"isBlockCoverage":false},{"functionName":"computeSourceURL","ranges":[{"startOffset":11047,"endOffset":12892,"count":0}],"isBlockCoverage":false}]},{"scriptId":"604","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/array-set.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3197,"count":1}],"isBlockCoverage":true},{"functionName":"ArraySet","ranges":[{"startOffset":610,"endOffset":715,"count":0}],"isBlockCoverage":false},{"functionName":"ArraySet_fromArray","ranges":[{"startOffset":819,"endOffset":1019,"count":0}],"isBlockCoverage":false},{"functionName":"ArraySet_size","ranges":[{"startOffset":1208,"endOffset":1323,"count":0}],"isBlockCoverage":false},{"functionName":"ArraySet_add","ranges":[{"startOffset":1421,"endOffset":1844,"count":0}],"isBlockCoverage":false},{"functionName":"ArraySet_has","ranges":[{"startOffset":1950,"endOffset":2127,"count":0}],"isBlockCoverage":false},{"functionName":"ArraySet_indexOf","ranges":[{"startOffset":2247,"endOffset":2569,"count":0}],"isBlockCoverage":false},{"functionName":"ArraySet_at","ranges":[{"startOffset":2672,"endOffset":2836,"count":0}],"isBlockCoverage":false},{"functionName":"ArraySet_toArray","ranges":[{"startOffset":3104,"endOffset":3165,"count":0}],"isBlockCoverage":false}]},{"scriptId":"605","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/mapping-list.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2339,"count":1}],"isBlockCoverage":true},{"functionName":"generatedPositionAfter","ranges":[{"startOffset":334,"endOffset":727,"count":0}],"isBlockCoverage":false},{"functionName":"MappingList","ranges":[{"startOffset":957,"endOffset":1105,"count":0}],"isBlockCoverage":false},{"functionName":"MappingList_forEach","ranges":[{"startOffset":1327,"endOffset":1428,"count":0}],"isBlockCoverage":false},{"functionName":"MappingList_add","ranges":[{"startOffset":1529,"endOffset":1753,"count":0}],"isBlockCoverage":false},{"functionName":"MappingList_toArray","ranges":[{"startOffset":2129,"endOffset":2301,"count":0}],"isBlockCoverage":false}]},{"scriptId":"606","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/source-map-consumer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":40562,"count":1}],"isBlockCoverage":true},{"functionName":"SourceMapConsumer","ranges":[{"startOffset":426,"endOffset":769,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer.fromSourceMap","ranges":[{"startOffset":805,"endOffset":918,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2628,"endOffset":2786,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2970,"endOffset":3126,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_charIsMappingSeparator","ranges":[{"startOffset":3188,"endOffset":3323,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_parseMappings","ranges":[{"startOffset":3567,"endOffset":3697,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_eachMapping","ranges":[{"startOffset":4634,"endOffset":5706,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_allGeneratedPositionsFor","ranges":[{"startOffset":6792,"endOffset":9416,"count":0}],"isBlockCoverage":false},{"functionName":"BasicSourceMapConsumer","ranges":[{"startOffset":10950,"endOffset":13394,"count":0}],"isBlockCoverage":false},{"functionName":"BasicSourceMapConsumer._findSourceIndex","ranges":[{"startOffset":13679,"endOffset":14207,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_fromSourceMap","ranges":[{"startOffset":14544,"endOffset":16555,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":16796,"endOffset":16855,"count":0}],"isBlockCoverage":false},{"functionName":"Mapping","ranges":[{"startOffset":16922,"endOffset":17098,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_parseMappings","ranges":[{"startOffset":17346,"endOffset":20551,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_findMapping","ranges":[{"startOffset":20750,"endOffset":21569,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_computeColumnSpans","ranges":[{"startOffset":21724,"endOffset":22603,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_originalPositionFor","ranges":[{"startOffset":23769,"endOffset":25022,"count":0}],"isBlockCoverage":false},{"functionName":"BasicSourceMapConsumer_hasContentsOfAllSources","ranges":[{"startOffset":25195,"endOffset":25452,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_sourceContentFor","ranges":[{"startOffset":25678,"endOffset":27289,"count":0}],"isBlockCoverage":false},{"functionName":"SourceMapConsumer_generatedPositionFor","ranges":[{"startOffset":28401,"endOffset":29507,"count":0}],"isBlockCoverage":false},{"functionName":"IndexedSourceMapConsumer","ranges":[{"startOffset":31455,"endOffset":32949,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":33343,"endOffset":33607,"count":0}],"isBlockCoverage":false},{"functionName":"IndexedSourceMapConsumer_originalPositionFor","ranges":[{"startOffset":34426,"endOffset":35605,"count":0}],"isBlockCoverage":false},{"functionName":"IndexedSourceMapConsumer_hasContentsOfAllSources","ranges":[{"startOffset":35780,"endOffset":35951,"count":0}],"isBlockCoverage":false},{"functionName":"IndexedSourceMapConsumer_sourceContentFor","ranges":[{"startOffset":36179,"endOffset":36618,"count":0}],"isBlockCoverage":false},{"functionName":"IndexedSourceMapConsumer_generatedPositionFor","ranges":[{"startOffset":37381,"endOffset":38292,"count":0}],"isBlockCoverage":false},{"functionName":"IndexedSourceMapConsumer_parseMappings","ranges":[{"startOffset":38543,"endOffset":40498,"count":0}],"isBlockCoverage":false}]},{"scriptId":"607","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/binary-search.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4249,"count":1}],"isBlockCoverage":true},{"functionName":"recursiveSearch","ranges":[{"startOffset":931,"endOffset":2523,"count":0}],"isBlockCoverage":false},{"functionName":"search","ranges":[{"startOffset":3578,"endOffset":4247,"count":0}],"isBlockCoverage":false}]},{"scriptId":"608","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/quick-sort.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3616,"count":1}],"isBlockCoverage":true},{"functionName":"swap","ranges":[{"startOffset":1107,"endOffset":1192,"count":0}],"isBlockCoverage":false},{"functionName":"randomIntInRange","ranges":[{"startOffset":1402,"endOffset":1501,"count":0}],"isBlockCoverage":false},{"functionName":"doQuickSort","ranges":[{"startOffset":1783,"endOffset":3301,"count":0}],"isBlockCoverage":false},{"functionName":"exports.quickSort","ranges":[{"startOffset":3533,"endOffset":3614,"count":0}],"isBlockCoverage":false}]},{"scriptId":"609","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/source-map/lib/source-node.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":13808,"count":1}],"isBlockCoverage":true},{"functionName":"SourceNode","ranges":[{"startOffset":1281,"endOffset":1654,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_fromStringWithSourceMap","ranges":[{"startOffset":2008,"endOffset":6512,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_add","ranges":[{"startOffset":6757,"endOffset":7182,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_prepend","ranges":[{"startOffset":7448,"endOffset":7865,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_walk","ranges":[{"startOffset":8168,"endOffset":8584,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_join","ranges":[{"startOffset":8763,"endOffset":9102,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_replaceRight","ranges":[{"startOffset":9399,"endOffset":9832,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_setSourceContent","ranges":[{"startOffset":10120,"endOffset":10264,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_walkSourceContents","ranges":[{"startOffset":10508,"endOffset":10922,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_toString","ranges":[{"startOffset":11111,"endOffset":11230,"count":0}],"isBlockCoverage":false},{"functionName":"SourceNode_toStringWithSourceMap","ranges":[{"startOffset":11371,"endOffset":13772,"count":0}],"isBlockCoverage":false}]},{"scriptId":"610","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/buffer-from/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1675,"count":1}],"isBlockCoverage":true},{"functionName":"isArrayBuffer","ranges":[{"startOffset":264,"endOffset":359,"count":0}],"isBlockCoverage":false},{"functionName":"fromArrayBuffer","ranges":[{"startOffset":361,"endOffset":902,"count":0}],"isBlockCoverage":false},{"functionName":"fromString","ranges":[{"startOffset":904,"endOffset":1232,"count":0}],"isBlockCoverage":false},{"functionName":"bufferFrom","ranges":[{"startOffset":1234,"endOffset":1645,"count":0}],"isBlockCoverage":false}]},{"scriptId":"611","url":"node:worker_threads","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":687,"count":1}],"isBlockCoverage":false}]},{"scriptId":"612","url":"node:internal/worker","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":16610,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2363,"endOffset":2388,"count":0}],"isBlockCoverage":false},{"functionName":"process.chdir","ranges":[{"startOffset":2773,"endOffset":2853,"count":0}],"isBlockCoverage":false},{"functionName":"setEnvironmentData","ranges":[{"startOffset":2858,"endOffset":3005,"count":0}],"isBlockCoverage":false},{"functionName":"getEnvironmentData","ranges":[{"startOffset":3007,"endOffset":3078,"count":0}],"isBlockCoverage":false},{"functionName":"assignEnvironmentData","ranges":[{"startOffset":3080,"endOffset":3230,"count":0}],"isBlockCoverage":false},{"functionName":"Worker","ranges":[{"startOffset":3270,"endOffset":8838,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8842,"endOffset":9474,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9478,"endOffset":9574,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9578,"endOffset":9747,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9751,"endOffset":10644,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10648,"endOffset":11116,"count":0}],"isBlockCoverage":false},{"functionName":"postMessage","ranges":[{"startOffset":11120,"endOffset":11265,"count":0}],"isBlockCoverage":false},{"functionName":"terminate","ranges":[{"startOffset":11269,"endOffset":12103,"count":0}],"isBlockCoverage":false},{"functionName":"ref","ranges":[{"startOffset":12107,"endOffset":12213,"count":0}],"isBlockCoverage":false},{"functionName":"unref","ranges":[{"startOffset":12217,"endOffset":12329,"count":0}],"isBlockCoverage":false},{"functionName":"get threadId","ranges":[{"startOffset":12333,"endOffset":12432,"count":0}],"isBlockCoverage":false},{"functionName":"get stdin","ranges":[{"startOffset":12436,"endOffset":12494,"count":0}],"isBlockCoverage":false},{"functionName":"get stdout","ranges":[{"startOffset":12498,"endOffset":12558,"count":0}],"isBlockCoverage":false},{"functionName":"get stderr","ranges":[{"startOffset":12562,"endOffset":12622,"count":0}],"isBlockCoverage":false},{"functionName":"get resourceLimits","ranges":[{"startOffset":12626,"endOffset":12762,"count":0}],"isBlockCoverage":false},{"functionName":"getHeapSnapshot","ranges":[{"startOffset":12766,"endOffset":13175,"count":0}],"isBlockCoverage":false},{"functionName":"InternalWorker","ranges":[{"startOffset":13368,"endOffset":13447,"count":0}],"isBlockCoverage":false},{"functionName":"receiveMessageSync","ranges":[{"startOffset":13451,"endOffset":13529,"count":0}],"isBlockCoverage":false},{"functionName":"pipeWithoutWarning","ranges":[{"startOffset":13533,"endOffset":13855,"count":0}],"isBlockCoverage":false},{"functionName":"parseResourceLimits","ranges":[{"startOffset":13929,"endOffset":14543,"count":0}],"isBlockCoverage":false},{"functionName":"makeResourceLimits","ranges":[{"startOffset":14545,"endOffset":14832,"count":0}],"isBlockCoverage":false},{"functionName":"eventLoopUtilization","ranges":[{"startOffset":14834,"endOffset":16333,"count":0}],"isBlockCoverage":false}]},{"scriptId":"613","url":"node:internal/worker/io","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":15478,"count":1}],"isBlockCoverage":false},{"functionName":"MessagePort.hasRef","ranges":[{"startOffset":3683,"endOffset":3766,"count":0}],"isBlockCoverage":false},{"functionName":"validateMessagePort","ranges":[{"startOffset":3769,"endOffset":3907,"count":0}],"isBlockCoverage":false},{"functionName":"isMessageEvent","ranges":[{"startOffset":3909,"endOffset":3985,"count":0}],"isBlockCoverage":false},{"functionName":"MessageEvent","ranges":[{"startOffset":4024,"endOffset":4540,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4628,"endOffset":4752,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4862,"endOffset":4988,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5103,"endOffset":5234,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5344,"endOffset":5470,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5579,"endOffset":5704,"count":0}],"isBlockCoverage":false},{"functionName":"value","ranges":[{"startOffset":5946,"endOffset":6264,"count":0}],"isBlockCoverage":false},{"functionName":"oninit","ranges":[{"startOffset":6403,"endOffset":6546,"count":0}],"isBlockCoverage":false},{"functionName":"MessagePortCloseEvent","ranges":[{"startOffset":6848,"endOffset":6887,"count":0}],"isBlockCoverage":false},{"functionName":"onclose","ranges":[{"startOffset":6960,"endOffset":7033,"count":0}],"isBlockCoverage":false},{"functionName":"MessagePort.close","ranges":[{"startOffset":7214,"endOffset":7349,"count":0}],"isBlockCoverage":false},{"functionName":"inspect","ranges":[{"startOffset":7482,"endOffset":8109,"count":0}],"isBlockCoverage":false},{"functionName":"setupPortReferencing","ranges":[{"startOffset":8116,"endOffset":9479,"count":0}],"isBlockCoverage":false},{"functionName":"ReadableWorkerStdio","ranges":[{"startOffset":9529,"endOffset":9878,"count":0}],"isBlockCoverage":false},{"functionName":"_read","ranges":[{"startOffset":9882,"endOffset":10188,"count":0}],"isBlockCoverage":false},{"functionName":"WritableWorkerStdio","ranges":[{"startOffset":10239,"endOffset":10388,"count":0}],"isBlockCoverage":false},{"functionName":"_writev","ranges":[{"startOffset":10392,"endOffset":10768,"count":0}],"isBlockCoverage":false},{"functionName":"_final","ranges":[{"startOffset":10772,"endOffset":10952,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10956,"endOffset":11203,"count":0}],"isBlockCoverage":false},{"functionName":"createWorkerStdio","ranges":[{"startOffset":11207,"endOffset":11477,"count":0}],"isBlockCoverage":false},{"functionName":"receiveMessageOnPort","ranges":[{"startOffset":11479,"endOffset":11659,"count":0}],"isBlockCoverage":false},{"functionName":"onMessageEvent","ranges":[{"startOffset":11661,"endOffset":11756,"count":0}],"isBlockCoverage":false},{"functionName":"isBroadcastChannel","ranges":[{"startOffset":11758,"endOffset":11844,"count":0}],"isBlockCoverage":false},{"functionName":"BroadcastChannel","ranges":[{"startOffset":11931,"endOffset":12445,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":12449,"endOffset":12862,"count":0}],"isBlockCoverage":false},{"functionName":"get name","ranges":[{"startOffset":12898,"endOffset":13027,"count":0}],"isBlockCoverage":false},{"functionName":"close","ranges":[{"startOffset":13064,"endOffset":13462,"count":0}],"isBlockCoverage":false},{"functionName":"postMessage","ranges":[{"startOffset":13530,"endOffset":13940,"count":0}],"isBlockCoverage":false},{"functionName":"ref","ranges":[{"startOffset":14223,"endOffset":14390,"count":0}],"isBlockCoverage":false},{"functionName":"unref","ranges":[{"startOffset":14675,"endOffset":14846,"count":0}],"isBlockCoverage":false}]},{"scriptId":"614","url":"node:internal/error_serdes","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5722,"count":1}],"isBlockCoverage":false},{"functionName":"TryGetAllProperties","ranges":[{"startOffset":1039,"endOffset":2142,"count":0}],"isBlockCoverage":false},{"functionName":"GetConstructors","ranges":[{"startOffset":2144,"endOffset":2587,"count":0}],"isBlockCoverage":false},{"functionName":"GetName","ranges":[{"startOffset":2589,"endOffset":2709,"count":0}],"isBlockCoverage":false},{"functionName":"inspect","ranges":[{"startOffset":2736,"endOffset":2906,"count":0}],"isBlockCoverage":false},{"functionName":"serializeError","ranges":[{"startOffset":2923,"endOffset":4218,"count":0}],"isBlockCoverage":false},{"functionName":"fromBuffer","ranges":[{"startOffset":4220,"endOffset":4441,"count":0}],"isBlockCoverage":false},{"functionName":"deserializeError","ranges":[{"startOffset":4460,"endOffset":5665,"count":0}],"isBlockCoverage":false}]},{"scriptId":"615","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/mocha/lib/interfaces/common.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4803,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":551,"endOffset":4801,"count":556}],"isBlockCoverage":true},{"functionName":"shouldBeTested","ranges":[{"startOffset":729,"endOffset":928,"count":0}],"isBlockCoverage":false},{"functionName":"runWithSuite","ranges":[{"startOffset":1196,"endOffset":1292,"count":0}],"isBlockCoverage":false},{"functionName":"before","ranges":[{"startOffset":1423,"endOffset":1487,"count":0}],"isBlockCoverage":false},{"functionName":"after","ranges":[{"startOffset":1616,"endOffset":1679,"count":0}],"isBlockCoverage":false},{"functionName":"beforeEach","ranges":[{"startOffset":1815,"endOffset":1880,"count":0}],"isBlockCoverage":false},{"functionName":"afterEach","ranges":[{"startOffset":2014,"endOffset":2078,"count":0}],"isBlockCoverage":false},{"functionName":"only","ranges":[{"startOffset":2291,"endOffset":2488,"count":0}],"isBlockCoverage":false},{"functionName":"skip","ranges":[{"startOffset":2690,"endOffset":2782,"count":0}],"isBlockCoverage":false},{"functionName":"create","ranges":[{"startOffset":3235,"endOffset":4269,"count":717},{"startOffset":3451,"endOffset":3490,"count":0},{"startOffset":3528,"endOffset":3568,"count":0},{"startOffset":3569,"endOffset":3603,"count":0},{"startOffset":3614,"endOffset":3691,"count":0},{"startOffset":3803,"endOffset":4238,"count":0}],"isBlockCoverage":true},{"functionName":"only","ranges":[{"startOffset":4446,"endOffset":4630,"count":0}],"isBlockCoverage":false},{"functionName":"skip","ranges":[{"startOffset":4733,"endOffset":4788,"count":0}],"isBlockCoverage":false}]},{"scriptId":"616","url":"node:internal/modules/esm/module_job","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8162,"count":1}],"isBlockCoverage":false},{"functionName":"isCommonJSGlobalLikeNotDefinedError","ranges":[{"startOffset":917,"endOffset":1048,"count":0}],"isBlockCoverage":false},{"functionName":"ModuleJob","ranges":[{"startOffset":1286,"endOffset":3063,"count":556}],"isBlockCoverage":true},{"functionName":"link","ranges":[{"startOffset":1855,"endOffset":2680,"count":556}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2311,"endOffset":2516,"count":0}],"isBlockCoverage":false},{"functionName":"instantiate","ranges":[{"startOffset":3067,"endOffset":3212,"count":556}],"isBlockCoverage":true},{"functionName":"_instantiate","ranges":[{"startOffset":3216,"endOffset":6870,"count":556},{"startOffset":3676,"endOffset":3853,"count":0},{"startOffset":3910,"endOffset":6623,"count":0}],"isBlockCoverage":true},{"functionName":"addJobsToDependencyGraph","ranges":[{"startOffset":3315,"endOffset":3575,"count":556},{"startOffset":3376,"endOffset":3401,"count":0}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":6874,"endOffset":8082,"count":556},{"startOffset":7049,"endOffset":8025,"count":0}],"isBlockCoverage":true}]},{"scriptId":"617","url":"node:internal/modules/esm/load","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4921,"count":1}],"isBlockCoverage":false},{"functionName":"getSource","ranges":[{"startOffset":1118,"endOffset":2345,"count":0}],"isBlockCoverage":false},{"functionName":"defaultLoad","ranges":[{"startOffset":2457,"endOffset":3416,"count":556},{"startOffset":2641,"endOffset":2676,"count":0},{"startOffset":2677,"endOffset":2709,"count":0},{"startOffset":2711,"endOffset":2918,"count":0},{"startOffset":3088,"endOffset":3176,"count":0},{"startOffset":3233,"endOffset":3335,"count":0}],"isBlockCoverage":true},{"functionName":"throwIfUnsupportedURLScheme","ranges":[{"startOffset":3604,"endOffset":4236,"count":556},{"startOffset":3834,"endOffset":3861,"count":0},{"startOffset":3862,"endOffset":3889,"count":0},{"startOffset":3890,"endOffset":4019,"count":0},{"startOffset":4024,"endOffset":4234,"count":0}],"isBlockCoverage":true},{"functionName":"throwUnknownModuleFormat","ranges":[{"startOffset":4615,"endOffset":4853,"count":0}],"isBlockCoverage":false}]},{"scriptId":"618","url":"node:internal/deps/cjs-module-lexer/dist/lexer","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":33616,"count":1}],"isBlockCoverage":false},{"functionName":"parse","ranges":[{"startOffset":116,"endOffset":813,"count":556},{"startOffset":146,"endOffset":181,"count":0},{"startOffset":222,"endOffset":237,"count":0},{"startOffset":273,"endOffset":308,"count":4},{"startOffset":332,"endOffset":334,"count":0},{"startOffset":406,"endOffset":553,"count":0},{"startOffset":601,"endOffset":650,"count":0},{"startOffset":663,"endOffset":696,"count":0},{"startOffset":709,"endOffset":773,"count":580}],"isBlockCoverage":true},{"functionName":"B","ranges":[{"startOffset":813,"endOffset":1040,"count":580},{"startOffset":840,"endOffset":852,"count":24},{"startOffset":853,"endOffset":862,"count":24},{"startOffset":862,"endOffset":913,"count":556},{"startOffset":913,"endOffset":1023,"count":5560},{"startOffset":958,"endOffset":1022,"count":0},{"startOffset":1023,"endOffset":1032,"count":556},{"startOffset":1032,"endOffset":1039,"count":0}],"isBlockCoverage":true},{"functionName":"E","ranges":[{"startOffset":1040,"endOffset":1141,"count":0}],"isBlockCoverage":false},{"functionName":"C","ranges":[{"startOffset":1141,"endOffset":1215,"count":556},{"startOffset":1192,"endOffset":1214,"count":2065182}],"isBlockCoverage":true},{"functionName":"init","ranges":[{"startOffset":1221,"endOffset":33616,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1251,"endOffset":33611,"count":1},{"startOffset":33455,"endOffset":33524,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33505,"endOffset":33523,"count":0}],"isBlockCoverage":false}]},{"scriptId":"620","url":"","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12,"count":1}],"isBlockCoverage":true}]},{"scriptId":"621","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/_utils.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6040,"count":1}],"isBlockCoverage":true},{"functionName":"getTokens","ranges":[{"startOffset":1081,"endOffset":1208,"count":262}],"isBlockCoverage":true},{"functionName":"getFile","ranges":[{"startOffset":1209,"endOffset":1304,"count":0}],"isBlockCoverage":false},{"functionName":"getStatements","ranges":[{"startOffset":1305,"endOffset":1585,"count":24},{"startOffset":1508,"endOffset":1517,"count":1},{"startOffset":1518,"endOffset":1544,"count":23}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":1586,"endOffset":1751,"count":12}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":1752,"endOffset":2094,"count":2524}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2095,"endOffset":2630,"count":2388}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2150,"endOffset":2626,"count":2388},{"startOffset":2339,"endOffset":2415,"count":2184}],"isBlockCoverage":true},{"functionName":"runExpectFail","ranges":[{"startOffset":2631,"endOffset":3048,"count":42}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2690,"endOffset":3044,"count":42},{"startOffset":2879,"endOffset":2955,"count":22}],"isBlockCoverage":true},{"functionName":"structureType","ranges":[{"startOffset":3049,"endOffset":4006,"count":26}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3122,"endOffset":4002,"count":26}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3152,"endOffset":3994,"count":94},{"startOffset":3855,"endOffset":3913,"count":0}],"isBlockCoverage":true},{"functionName":"callback","ranges":[{"startOffset":3188,"endOffset":3820,"count":94}],"isBlockCoverage":true},{"functionName":"statementType","ranges":[{"startOffset":4007,"endOffset":4334,"count":261}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4104,"endOffset":4330,"count":261}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4227,"endOffset":4322,"count":2184}],"isBlockCoverage":true},{"functionName":"statementExpectFail","ranges":[{"startOffset":4335,"endOffset":4680,"count":11}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4448,"endOffset":4676,"count":11}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4571,"endOffset":4668,"count":22}],"isBlockCoverage":true},{"functionName":"statementVersion","ranges":[{"startOffset":4681,"endOffset":5283,"count":13}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4785,"endOffset":5279,"count":13}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4908,"endOffset":5271,"count":94}],"isBlockCoverage":true},{"functionName":"statementVersionOk","ranges":[{"startOffset":5284,"endOffset":5638,"count":10}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5390,"endOffset":5634,"count":10}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5513,"endOffset":5626,"count":16}],"isBlockCoverage":true},{"functionName":"statementVersionFail","ranges":[{"startOffset":5639,"endOffset":6005,"count":9}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5753,"endOffset":6001,"count":9}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5876,"endOffset":5993,"count":20}],"isBlockCoverage":true}]},{"scriptId":"622","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/config.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5033,"count":1}],"isBlockCoverage":true},{"functionName":"getDefault","ranges":[{"startOffset":295,"endOffset":1917,"count":9906},{"startOffset":545,"endOffset":618,"count":1664208},{"startOffset":684,"endOffset":722,"count":258}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":411,"endOffset":507,"count":1654302}],"isBlockCoverage":true},{"functionName":"getEnabledRules","ranges":[{"startOffset":1922,"endOffset":2737,"count":261},{"startOffset":2056,"endOffset":2709,"count":43848},{"startOffset":2143,"endOffset":2151,"count":0},{"startOffset":2267,"endOffset":2699,"count":40842},{"startOffset":2311,"endOffset":2377,"count":1},{"startOffset":2377,"endOffset":2685,"count":40841},{"startOffset":2424,"endOffset":2497,"count":11},{"startOffset":2497,"endOffset":2685,"count":40830}],"isBlockCoverage":true},{"functionName":"Config","ranges":[{"startOffset":2742,"endOffset":3791,"count":10950},{"startOffset":2822,"endOffset":2906,"count":0},{"startOffset":2994,"endOffset":3071,"count":0},{"startOffset":3118,"endOffset":3204,"count":0},{"startOffset":3264,"endOffset":3325,"count":0},{"startOffset":3388,"endOffset":3452,"count":0},{"startOffset":3681,"endOffset":3756,"count":15}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3796,"endOffset":3837,"count":2057}],"isBlockCoverage":true},{"functionName":"readByKey","ranges":[{"startOffset":3842,"endOffset":4064,"count":42840},{"startOffset":3947,"endOffset":3980,"count":40834},{"startOffset":3981,"endOffset":3992,"count":2006},{"startOffset":4003,"endOffset":4058,"count":0}],"isBlockCoverage":true},{"functionName":"readByRule","ranges":[{"startOffset":4069,"endOffset":4136,"count":78}],"isBlockCoverage":true},{"functionName":"getGlobal","ranges":[{"startOffset":4141,"endOffset":4195,"count":8079}],"isBlockCoverage":true},{"functionName":"getSyntaxSetttings","ranges":[{"startOffset":4200,"endOffset":4263,"count":18169}],"isBlockCoverage":true},{"functionName":"getVersion","ranges":[{"startOffset":4268,"endOffset":4478,"count":19847},{"startOffset":4373,"endOffset":4429,"count":0}],"isBlockCoverage":true},{"functionName":"checkVersion","ranges":[{"startOffset":4483,"endOffset":4971,"count":10950},{"startOffset":4554,"endOffset":4610,"count":0},{"startOffset":4721,"endOffset":4857,"count":158400},{"startOffset":4779,"endOffset":4847,"count":10949},{"startOffset":4887,"endOffset":4965,"count":1}],"isBlockCoverage":true}]},{"scriptId":"623","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/version.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1192,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":191,"endOffset":728,"count":1}],"isBlockCoverage":true},{"functionName":"getPreviousVersion","ranges":[{"startOffset":815,"endOffset":1156,"count":97},{"startOffset":880,"endOffset":916,"count":1},{"startOffset":916,"endOffset":1010,"count":96},{"startOffset":1010,"endOffset":1056,"count":0},{"startOffset":1056,"endOffset":1127,"count":96},{"startOffset":1083,"endOffset":1127,"count":0},{"startOffset":1127,"endOffset":1155,"count":96}],"isBlockCoverage":true}]},{"scriptId":"624","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/artifacts_rules.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":690,"count":1}],"isBlockCoverage":true},{"functionName":"getRules","ranges":[{"startOffset":178,"endOffset":603,"count":10422},{"startOffset":276,"endOffset":577,"count":3522636},{"startOffset":327,"endOffset":567,"count":3501792},{"startOffset":498,"endOffset":553,"count":1750896}],"isBlockCoverage":true}]},{"scriptId":"625","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10138,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":338},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":7025595}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":168},{"startOffset":585,"endOffset":690,"count":338}],"isBlockCoverage":true}]},{"scriptId":"626","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/7bit_ascii.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3075,"count":1}],"isBlockCoverage":true},{"functionName":"SevenBitAscii","ranges":[{"startOffset":463,"endOffset":529,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":534,"endOffset":1114,"count":21192}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1119,"endOffset":1164,"count":250}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1169,"endOffset":1214,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1219,"endOffset":1268,"count":244}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1273,"endOffset":2995,"count":316},{"startOffset":1354,"endOffset":2966,"count":333},{"startOffset":1448,"endOffset":1479,"count":71},{"startOffset":1481,"endOffset":2956,"count":263},{"startOffset":1585,"endOffset":2942,"count":1759},{"startOffset":1694,"endOffset":2185,"count":1},{"startOffset":2440,"endOffset":2924,"count":1}],"isBlockCoverage":true}]},{"scriptId":"627","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/issue.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4716,"count":1}],"isBlockCoverage":true},{"functionName":"atRow","ranges":[{"startOffset":299,"endOffset":768,"count":101},{"startOffset":546,"endOffset":556,"count":100},{"startOffset":557,"endOffset":584,"count":1}],"isBlockCoverage":true},{"functionName":"atStatement","ranges":[{"startOffset":780,"endOffset":987,"count":289}],"isBlockCoverage":true},{"functionName":"atPosition","ranges":[{"startOffset":999,"endOffset":1490,"count":1157},{"startOffset":1239,"endOffset":1249,"count":1156},{"startOffset":1250,"endOffset":1277,"count":1}],"isBlockCoverage":true},{"functionName":"atRowRange","ranges":[{"startOffset":1502,"endOffset":2004,"count":2},{"startOffset":1764,"endOffset":1791,"count":0}],"isBlockCoverage":true},{"functionName":"atRange","ranges":[{"startOffset":2016,"endOffset":2432,"count":414},{"startOffset":2151,"endOffset":2161,"count":408},{"startOffset":2162,"endOffset":2189,"count":6}],"isBlockCoverage":true},{"functionName":"atToken","ranges":[{"startOffset":2444,"endOffset":2841,"count":928},{"startOffset":2556,"endOffset":2566,"count":925},{"startOffset":2567,"endOffset":2594,"count":3}],"isBlockCoverage":true},{"functionName":"atTokenFilename","ranges":[{"startOffset":2853,"endOffset":3252,"count":482},{"startOffset":2988,"endOffset":3015,"count":0}],"isBlockCoverage":true},{"functionName":"atIdentifier","ranges":[{"startOffset":3264,"endOffset":3681,"count":482},{"startOffset":3380,"endOffset":3390,"count":480},{"startOffset":3391,"endOffset":3418,"count":2}],"isBlockCoverage":true},{"functionName":"Issue","ranges":[{"startOffset":3686,"endOffset":4129,"count":3567},{"startOffset":3807,"endOffset":3908,"count":0},{"startOffset":3951,"endOffset":4015,"count":0},{"startOffset":4061,"endOffset":4123,"count":0}],"isBlockCoverage":true},{"functionName":"getData","ranges":[{"startOffset":4134,"endOffset":4177,"count":1}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":4182,"endOffset":4236,"count":260}],"isBlockCoverage":true},{"functionName":"getKey","ranges":[{"startOffset":4241,"endOffset":4287,"count":913}],"isBlockCoverage":true},{"functionName":"getStart","ranges":[{"startOffset":4292,"endOffset":4342,"count":16}],"isBlockCoverage":true},{"functionName":"getEnd","ranges":[{"startOffset":4347,"endOffset":4393,"count":12}],"isBlockCoverage":true},{"functionName":"getFilename","ranges":[{"startOffset":4398,"endOffset":4454,"count":17}],"isBlockCoverage":true},{"functionName":"getDefaultFix","ranges":[{"startOffset":4459,"endOffset":4519,"count":462}],"isBlockCoverage":true},{"functionName":"getAlternativeFixes","ranges":[{"startOffset":4524,"endOffset":4596,"count":0}],"isBlockCoverage":false},{"functionName":"getSeverity","ranges":[{"startOffset":4601,"endOffset":4657,"count":12}],"isBlockCoverage":true}]},{"scriptId":"628","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/position.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":764,"count":1}],"isBlockCoverage":true},{"functionName":"Position","ranges":[{"startOffset":152,"endOffset":229,"count":254290}],"isBlockCoverage":true},{"functionName":"getCol","ranges":[{"startOffset":234,"endOffset":275,"count":159695}],"isBlockCoverage":true},{"functionName":"getRow","ranges":[{"startOffset":280,"endOffset":321,"count":140155}],"isBlockCoverage":true},{"functionName":"isAfter","ranges":[{"startOffset":326,"endOffset":422,"count":6493},{"startOffset":371,"endOffset":415,"count":2159},{"startOffset":394,"endOffset":414,"count":1741}],"isBlockCoverage":true},{"functionName":"equals","ranges":[{"startOffset":427,"endOffset":511,"count":6994},{"startOffset":478,"endOffset":504,"count":2036}],"isBlockCoverage":true},{"functionName":"isBefore","ranges":[{"startOffset":516,"endOffset":612,"count":5927},{"startOffset":562,"endOffset":605,"count":1820},{"startOffset":585,"endOffset":604,"count":674}],"isBlockCoverage":true},{"functionName":"isBetween","ranges":[{"startOffset":617,"endOffset":696,"count":6119},{"startOffset":669,"endOffset":689,"count":5832}],"isBlockCoverage":true}]},{"scriptId":"629","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/virtual_position.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":690,"count":1}],"isBlockCoverage":true},{"functionName":"VirtualPosition","ranges":[{"startOffset":237,"endOffset":376,"count":219}],"isBlockCoverage":true},{"functionName":"equals","ranges":[{"startOffset":381,"endOffset":600,"count":7},{"startOffset":438,"endOffset":475,"count":0}],"isBlockCoverage":true}]},{"scriptId":"630","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/severity.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":330,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":119,"endOffset":243,"count":1}],"isBlockCoverage":true}]},{"scriptId":"631","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/_basic_rule_config.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":486,"count":1}],"isBlockCoverage":true},{"functionName":"BasicRuleConfig","ranges":[{"startOffset":182,"endOffset":394,"count":3503325}],"isBlockCoverage":true}]},{"scriptId":"632","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/_irule.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":889,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":117,"endOffset":807,"count":1}],"isBlockCoverage":true}]},{"scriptId":"633","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/abapdoc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6471,"count":1}],"isBlockCoverage":true},{"functionName":"AbapdocConf","ranges":[{"startOffset":448,"endOffset":767,"count":20851}],"isBlockCoverage":true},{"functionName":"Abapdoc","ranges":[{"startOffset":855,"endOffset":944,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":949,"endOffset":1476,"count":31134}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1481,"endOffset":1526,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1531,"endOffset":1580,"count":246}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1585,"endOffset":5475,"count":281},{"startOffset":1953,"endOffset":2905,"count":131},{"startOffset":2002,"endOffset":2030,"count":129},{"startOffset":2032,"endOffset":2073,"count":70},{"startOffset":2073,"endOffset":2127,"count":61},{"startOffset":2127,"endOffset":2160,"count":57},{"startOffset":2162,"endOffset":2203,"count":4},{"startOffset":2203,"endOffset":2373,"count":57},{"startOffset":2373,"endOffset":2895,"count":2},{"startOffset":2528,"endOffset":2536,"count":0},{"startOffset":2984,"endOffset":3773,"count":62},{"startOffset":3067,"endOffset":3108,"count":34},{"startOffset":3108,"endOffset":3225,"count":28},{"startOffset":3225,"endOffset":3763,"count":0},{"startOffset":3812,"endOffset":5446,"count":49},{"startOffset":3862,"endOffset":3903,"count":1},{"startOffset":3903,"endOffset":4044,"count":48},{"startOffset":4044,"endOffset":4085,"count":0},{"startOffset":4085,"endOffset":4139,"count":48},{"startOffset":4139,"endOffset":5436,"count":59},{"startOffset":4208,"endOffset":4540,"count":7},{"startOffset":4610,"endOffset":4680,"count":34},{"startOffset":4682,"endOffset":5006,"count":30},{"startOffset":5083,"endOffset":5422,"count":0},{"startOffset":5436,"endOffset":5446,"count":48}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2265,"endOffset":2317,"count":42}],"isBlockCoverage":true},{"functionName":"getAbapdoc","ranges":[{"startOffset":5480,"endOffset":6406,"count":48},{"startOffset":5669,"endOffset":5699,"count":41},{"startOffset":5701,"endOffset":5801,"count":7},{"startOffset":6073,"endOffset":6379,"count":18},{"startOffset":6112,"endOffset":6369,"count":29},{"startOffset":6273,"endOffset":6319,"count":18},{"startOffset":6319,"endOffset":6369,"count":11}],"isBlockCoverage":true}]},{"scriptId":"634","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/_abap_rule.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":626,"count":1}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":184,"endOffset":252,"count":29442}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":257,"endOffset":556,"count":37089},{"startOffset":325,"endOffset":359,"count":7069},{"startOffset":359,"endOffset":461,"count":30020},{"startOffset":461,"endOffset":527,"count":30827},{"startOffset":527,"endOffset":555,"count":30020}],"isBlockCoverage":true}]},{"scriptId":"635","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/_abap_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3311,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":328,"endOffset":432,"count":0}],"isBlockCoverage":false},{"functionName":"ABAPObject","ranges":[{"startOffset":437,"endOffset":541,"count":7076}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":553,"endOffset":613,"count":0}],"isBlockCoverage":false},{"functionName":"parse","ranges":[{"startOffset":618,"endOffset":1141,"count":7825},{"startOffset":692,"endOffset":754,"count":358},{"startOffset":754,"endOffset":1140,"count":7467}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":804,"endOffset":842,"count":7591}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":1146,"endOffset":1261,"count":8449}],"isBlockCoverage":true},{"functionName":"getABAPFiles","ranges":[{"startOffset":1266,"endOffset":1316,"count":50014}],"isBlockCoverage":true},{"functionName":"getABAPFileByName","ranges":[{"startOffset":1321,"endOffset":1519,"count":1004},{"startOffset":1388,"endOffset":1487,"count":1016},{"startOffset":1436,"endOffset":1477,"count":1000},{"startOffset":1487,"endOffset":1518,"count":4}],"isBlockCoverage":true},{"functionName":"getMainABAPFile","ranges":[{"startOffset":1524,"endOffset":2108,"count":8542},{"startOffset":1783,"endOffset":1892,"count":8556},{"startOffset":1838,"endOffset":1882,"count":8516},{"startOffset":1892,"endOffset":1966,"count":26},{"startOffset":1966,"endOffset":2076,"count":12},{"startOffset":2076,"endOffset":2107,"count":14}],"isBlockCoverage":true},{"functionName":"getTexts","ranges":[{"startOffset":2113,"endOffset":2254,"count":14}],"isBlockCoverage":true},{"functionName":"findTexts","ranges":[{"startOffset":2259,"endOffset":3235,"count":14},{"startOffset":2406,"endOffset":2414,"count":0},{"startOffset":2459,"endOffset":2467,"count":1},{"startOffset":2468,"endOffset":2484,"count":13},{"startOffset":2512,"endOffset":2520,"count":1},{"startOffset":2521,"endOffset":2539,"count":13},{"startOffset":2567,"endOffset":2575,"count":1},{"startOffset":2576,"endOffset":2586,"count":13},{"startOffset":2614,"endOffset":2622,"count":1},{"startOffset":2623,"endOffset":2632,"count":13},{"startOffset":2649,"endOffset":2680,"count":1},{"startOffset":2680,"endOffset":2787,"count":13},{"startOffset":2787,"endOffset":3229,"count":50},{"startOffset":2833,"endOffset":2841,"count":0},{"startOffset":2859,"endOffset":3219,"count":38},{"startOffset":2902,"endOffset":2982,"count":0},{"startOffset":3057,"endOffset":3106,"count":0},{"startOffset":3200,"endOffset":3204,"count":0},{"startOffset":3229,"endOffset":3234,"count":13}],"isBlockCoverage":true}]},{"scriptId":"636","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/_abstract_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3503,"count":1}],"isBlockCoverage":true},{"functionName":"AbstractObject","ranges":[{"startOffset":374,"endOffset":501,"count":7591}],"isBlockCoverage":true},{"functionName":"getParsingIssues","ranges":[{"startOffset":506,"endOffset":557,"count":329}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":562,"endOffset":653,"count":251}],"isBlockCoverage":true},{"functionName":"getName","ranges":[{"startOffset":658,"endOffset":701,"count":45934}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":706,"endOffset":751,"count":8874}],"isBlockCoverage":true},{"functionName":"addFile","ranges":[{"startOffset":756,"endOffset":833,"count":7563}],"isBlockCoverage":true},{"functionName":"getFiles","ranges":[{"startOffset":838,"endOffset":883,"count":26488}],"isBlockCoverage":true},{"functionName":"containsFile","ranges":[{"startOffset":888,"endOffset":1079,"count":194},{"startOffset":949,"endOffset":1051,"count":201},{"startOffset":997,"endOffset":1041,"count":189},{"startOffset":1051,"endOffset":1078,"count":5}],"isBlockCoverage":true},{"functionName":"removeFile","ranges":[{"startOffset":1084,"endOffset":1401,"count":40},{"startOffset":1340,"endOffset":1400,"count":0}],"isBlockCoverage":true},{"functionName":"isDirty","ranges":[{"startOffset":1406,"endOffset":1450,"count":15674}],"isBlockCoverage":true},{"functionName":"getIdentifier","ranges":[{"startOffset":1455,"endOffset":1817,"count":85},{"startOffset":1629,"endOffset":1670,"count":0}],"isBlockCoverage":true},{"functionName":"getXMLFile","ranges":[{"startOffset":1822,"endOffset":2596,"count":6691},{"startOffset":2197,"endOffset":2351,"count":6878},{"startOffset":2254,"endOffset":2295,"count":6114},{"startOffset":2297,"endOffset":2341,"count":764},{"startOffset":2351,"endOffset":2455,"count":5927},{"startOffset":2455,"endOffset":2564,"count":5951},{"startOffset":2510,"endOffset":2554,"count":3},{"startOffset":2564,"endOffset":2595,"count":5924}],"isBlockCoverage":true},{"functionName":"getXML","ranges":[{"startOffset":2601,"endOffset":2747,"count":3147},{"startOffset":2670,"endOffset":2715,"count":458},{"startOffset":2715,"endOffset":2746,"count":2689}],"isBlockCoverage":true},{"functionName":"updateFile","ranges":[{"startOffset":2752,"endOffset":3066,"count":496},{"startOffset":2848,"endOffset":3005,"count":501},{"startOffset":2918,"endOffset":2995,"count":495},{"startOffset":3005,"endOffset":3065,"count":1}],"isBlockCoverage":true},{"functionName":"parseRaw2","ranges":[{"startOffset":3071,"endOffset":3415,"count":2997},{"startOffset":3151,"endOffset":3192,"count":2629},{"startOffset":3192,"endOffset":3357,"count":368},{"startOffset":3357,"endOffset":3409,"count":0}],"isBlockCoverage":true}]},{"scriptId":"637","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/fxp.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":259,"count":1}],"isBlockCoverage":true}]},{"scriptId":"638","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/validator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":14396,"count":1}],"isBlockCoverage":true},{"functionName":"exports.validate","ranges":[{"startOffset":264,"endOffset":7820,"count":78},{"startOffset":785,"endOffset":862,"count":0},{"startOffset":909,"endOffset":7330,"count":3037},{"startOffset":939,"endOffset":962,"count":2938},{"startOffset":964,"endOffset":1039,"count":75},{"startOffset":1024,"endOffset":1033,"count":6},{"startOffset":1039,"endOffset":7326,"count":2962},{"startOffset":1068,"endOffset":7124,"count":2863},{"startOffset":1241,"endOffset":1313,"count":0},{"startOffset":1385,"endOffset":1464,"count":1431},{"startOffset":1548,"endOffset":1579,"count":24548},{"startOffset":1580,"endOffset":1611,"count":21823},{"startOffset":1612,"endOffset":1644,"count":21685},{"startOffset":1645,"endOffset":1677,"count":21685},{"startOffset":1678,"endOffset":1710,"count":21685},{"startOffset":1726,"endOffset":1770,"count":21685},{"startOffset":1887,"endOffset":2045,"count":0},{"startOffset":2085,"endOffset":2386,"count":0},{"startOffset":2471,"endOffset":2617,"count":0},{"startOffset":2730,"endOffset":3646,"count":0},{"startOffset":3668,"endOffset":4892,"count":1431},{"startOffset":3703,"endOffset":3861,"count":0},{"startOffset":3898,"endOffset":4080,"count":0},{"startOffset":4109,"endOffset":4269,"count":0},{"startOffset":4354,"endOffset":4715,"count":0},{"startOffset":4821,"endOffset":4870,"count":69},{"startOffset":4892,"endOffset":5994,"count":1432},{"startOffset":5001,"endOffset":5553,"count":0},{"startOffset":5649,"endOffset":5788,"count":0},{"startOffset":5842,"endOffset":5891,"count":0},{"startOffset":6119,"endOffset":7019,"count":15726},{"startOffset":6155,"endOffset":6515,"count":2793},{"startOffset":6197,"endOffset":6340,"count":0},{"startOffset":6372,"endOffset":6462,"count":0},{"startOffset":6515,"endOffset":7009,"count":12933},{"startOffset":6545,"endOffset":6795,"count":5},{"startOffset":6653,"endOffset":6757,"count":1},{"startOffset":6757,"endOffset":6795,"count":4},{"startOffset":6795,"endOffset":7009,"count":12928},{"startOffset":6838,"endOffset":6866,"count":0},{"startOffset":6868,"endOffset":6997,"count":0},{"startOffset":7019,"endOffset":7084,"count":2862},{"startOffset":7084,"endOffset":7110,"count":2793},{"startOffset":7124,"endOffset":7326,"count":99},{"startOffset":7169,"endOffset":7196,"count":97},{"startOffset":7196,"endOffset":7326,"count":2},{"startOffset":7330,"endOffset":7349,"count":69},{"startOffset":7349,"endOffset":7421,"count":0},{"startOffset":7421,"endOffset":7802,"count":69},{"startOffset":7448,"endOffset":7591,"count":0},{"startOffset":7617,"endOffset":7802,"count":0},{"startOffset":7802,"endOffset":7819,"count":69}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7708,"endOffset":7722,"count":0}],"isBlockCoverage":false},{"functionName":"isWhiteSpace","ranges":[{"startOffset":7823,"endOffset":7928,"count":99},{"startOffset":7874,"endOffset":7890,"count":77},{"startOffset":7891,"endOffset":7907,"count":77},{"startOffset":7909,"endOffset":7925,"count":2}],"isBlockCoverage":true},{"functionName":"readPI","ranges":[{"startOffset":8017,"endOffset":8605,"count":75},{"startOffset":8100,"endOffset":8591,"count":2439},{"startOffset":8128,"endOffset":8148,"count":2370},{"startOffset":8150,"endOffset":8587,"count":213},{"startOffset":8240,"endOffset":8260,"count":144},{"startOffset":8262,"endOffset":8416,"count":6},{"startOffset":8416,"endOffset":8581,"count":207},{"startOffset":8444,"endOffset":8468,"count":69},{"startOffset":8470,"endOffset":8548,"count":69},{"startOffset":8548,"endOffset":8581,"count":138},{"startOffset":8591,"endOffset":8604,"count":69}],"isBlockCoverage":true},{"functionName":"readCommentAndCDATA","ranges":[{"startOffset":8607,"endOffset":9914,"count":0}],"isBlockCoverage":false},{"functionName":"readAttributeStr","ranges":[{"startOffset":10095,"endOffset":10849,"count":2863},{"startOffset":10236,"endOffset":10723,"count":11626},{"startOffset":10273,"endOffset":10302,"count":10936},{"startOffset":10304,"endOffset":10576,"count":690},{"startOffset":10334,"endOffset":10570,"count":345},{"startOffset":10411,"endOffset":10531,"count":0},{"startOffset":10576,"endOffset":10692,"count":10936},{"startOffset":10606,"endOffset":10692,"count":2863},{"startOffset":10692,"endOffset":10723,"count":8763},{"startOffset":10748,"endOffset":10771,"count":0}],"isBlockCoverage":true},{"functionName":"validateAttributeString","ranges":[{"startOffset":11070,"endOffset":12754,"count":1432},{"startOffset":11365,"endOffset":12736,"count":345},{"startOffset":11403,"endOffset":11599,"count":0},{"startOffset":11669,"endOffset":11805,"count":0},{"startOffset":11843,"endOffset":11877,"count":0},{"startOffset":11879,"endOffset":12055,"count":0},{"startOffset":12344,"endOffset":12477,"count":0},{"startOffset":12600,"endOffset":12732,"count":0}],"isBlockCoverage":true},{"functionName":"validateNumberAmpersand","ranges":[{"startOffset":12756,"endOffset":13026,"count":0}],"isBlockCoverage":false},{"functionName":"validateAmpersand","ranges":[{"startOffset":13028,"endOffset":13446,"count":5},{"startOffset":13149,"endOffset":13159,"count":0},{"startOffset":13186,"endOffset":13248,"count":0},{"startOffset":13309,"endOffset":13432,"count":21},{"startOffset":13342,"endOffset":13355,"count":16},{"startOffset":13363,"endOffset":13372,"count":16},{"startOffset":13372,"endOffset":13407,"count":5},{"startOffset":13407,"endOffset":13413,"count":4},{"startOffset":13413,"endOffset":13432,"count":1},{"startOffset":13432,"endOffset":13445,"count":4}],"isBlockCoverage":true},{"functionName":"getErrorObject","ranges":[{"startOffset":13448,"endOffset":13644,"count":9},{"startOffset":13589,"endOffset":13602,"count":0}],"isBlockCoverage":true},{"functionName":"validateAttrName","ranges":[{"startOffset":13646,"endOffset":13717,"count":345}],"isBlockCoverage":true},{"functionName":"validateTagName","ranges":[{"startOffset":13754,"endOffset":13861,"count":2863}],"isBlockCoverage":true},{"functionName":"getLineNumberForPosition","ranges":[{"startOffset":13940,"endOffset":14224,"count":9}],"isBlockCoverage":true},{"functionName":"getPositionFromMatch","ranges":[{"startOffset":14310,"endOffset":14395,"count":0}],"isBlockCoverage":false}]},{"scriptId":"639","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/util.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1952,"count":1}],"isBlockCoverage":true},{"functionName":"getAllMatches","ranges":[{"startOffset":436,"endOffset":832,"count":1432},{"startOffset":534,"endOffset":812,"count":345},{"startOffset":702,"endOffset":746,"count":2760}],"isBlockCoverage":true},{"functionName":"isName","ranges":[{"startOffset":850,"endOffset":970,"count":3208}],"isBlockCoverage":true},{"functionName":"exports.isExist","ranges":[{"startOffset":991,"endOffset":1041,"count":5146}],"isBlockCoverage":true},{"functionName":"exports.isEmptyObject","ranges":[{"startOffset":1068,"endOffset":1125,"count":0}],"isBlockCoverage":false},{"functionName":"exports.merge","ranges":[{"startOffset":1229,"endOffset":1586,"count":0}],"isBlockCoverage":false},{"functionName":"exports.getValue","ranges":[{"startOffset":1676,"endOffset":1763,"count":0}],"isBlockCoverage":false}]},{"scriptId":"640","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2120,"count":1}],"isBlockCoverage":true},{"functionName":"XMLParser","ranges":[{"startOffset":223,"endOffset":341,"count":378}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":486,"endOffset":1465,"count":378},{"startOffset":569,"endOffset":742,"count":0},{"startOffset":772,"endOffset":1104,"count":0},{"startOffset":1379,"endOffset":1400,"count":0}],"isBlockCoverage":true},{"functionName":"addEntity","ranges":[{"startOffset":1613,"endOffset":2089,"count":0}],"isBlockCoverage":false}]},{"scriptId":"641","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1403,"count":1}],"isBlockCoverage":true},{"functionName":"tagValueProcessor","ranges":[{"startOffset":633,"endOffset":681,"count":14473}],"isBlockCoverage":true},{"functionName":"attributeValueProcessor","ranges":[{"startOffset":712,"endOffset":761,"count":0}],"isBlockCoverage":false},{"functionName":"isArray","ranges":[{"startOffset":877,"endOffset":888,"count":7376}],"isBlockCoverage":true},{"functionName":"updateTag","ranges":[{"startOffset":1126,"endOffset":1185,"count":7691}],"isBlockCoverage":true},{"functionName":"buildOptions","ranges":[{"startOffset":1247,"endOffset":1323,"count":378}],"isBlockCoverage":true}]},{"scriptId":"642","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":20655,"count":1}],"isBlockCoverage":true},{"functionName":"OrderedObjParser","ranges":[{"startOffset":574,"endOffset":2447,"count":378}],"isBlockCoverage":true},{"functionName":"val","ranges":[{"startOffset":1818,"endOffset":1875,"count":0}],"isBlockCoverage":false},{"functionName":"val","ranges":[{"startOffset":1938,"endOffset":1995,"count":0}],"isBlockCoverage":false},{"functionName":"addExternalEntities","ranges":[{"startOffset":2452,"endOffset":2742,"count":378},{"startOffset":2592,"endOffset":2740,"count":0}],"isBlockCoverage":true},{"functionName":"parseTextData","ranges":[{"startOffset":2956,"endOffset":3935,"count":14473},{"startOffset":3114,"endOffset":3126,"count":0},{"startOffset":3128,"endOffset":3159,"count":0},{"startOffset":3405,"endOffset":3456,"count":0},{"startOffset":3511,"endOffset":3563,"count":0},{"startOffset":3595,"endOffset":3697,"count":0},{"startOffset":3772,"endOffset":3878,"count":5146},{"startOffset":3878,"endOffset":3915,"count":9327}],"isBlockCoverage":true},{"functionName":"resolveNameSpace","ranges":[{"startOffset":3937,"endOffset":4251,"count":0}],"isBlockCoverage":false},{"functionName":"buildAttributesMap","ranges":[{"startOffset":4460,"endOffset":6323,"count":951},{"startOffset":4552,"endOffset":4582,"count":0},{"startOffset":4584,"endOffset":6321,"count":0}],"isBlockCoverage":true},{"functionName":"parseXml","ranges":[{"startOffset":6342,"endOffset":14453,"count":378},{"startOffset":6575,"endOffset":14428,"count":91345},{"startOffset":6649,"endOffset":14383,"count":15065},{"startOffset":6761,"endOffset":8144,"count":7374},{"startOffset":6971,"endOffset":7130,"count":0},{"startOffset":7174,"endOffset":7245,"count":0},{"startOffset":7563,"endOffset":7663,"count":0},{"startOffset":7771,"endOffset":7889,"count":0},{"startOffset":8144,"endOffset":14377,"count":7691},{"startOffset":8176,"endOffset":8920,"count":317},{"startOffset":8258,"endOffset":8299,"count":0},{"startOffset":8420,"endOffset":8449,"count":0},{"startOffset":8480,"endOffset":8492,"count":0},{"startOffset":8920,"endOffset":14377,"count":7374},{"startOffset":8965,"endOffset":9386,"count":0},{"startOffset":9431,"endOffset":9558,"count":0},{"startOffset":9601,"endOffset":10300,"count":0},{"startOffset":10652,"endOffset":10723,"count":0},{"startOffset":10804,"endOffset":10998,"count":7362},{"startOffset":10850,"endOffset":10988,"count":7045},{"startOffset":11163,"endOffset":11286,"count":0},{"startOffset":11352,"endOffset":11367,"count":7045},{"startOffset":11368,"endOffset":11377,"count":329},{"startOffset":11460,"endOffset":13005,"count":0},{"startOffset":13111,"endOffset":13903,"count":0},{"startOffset":14088,"endOffset":14105,"count":634},{"startOffset":14106,"endOffset":14202,"count":634},{"startOffset":14383,"endOffset":14424,"count":76280}],"isBlockCoverage":true},{"functionName":"addChild","ranges":[{"startOffset":14455,"endOffset":14771,"count":7691},{"startOffset":14610,"endOffset":14615,"count":0},{"startOffset":14723,"endOffset":14769,"count":0}],"isBlockCoverage":true},{"functionName":"replaceEntitiesValue","ranges":[{"startOffset":14802,"endOffset":15461,"count":14473},{"startOffset":14901,"endOffset":15014,"count":0},{"startOffset":15059,"endOffset":15170,"count":57892},{"startOffset":15204,"endOffset":15375,"count":0}],"isBlockCoverage":true},{"functionName":"saveTextToParentTag","ranges":[{"startOffset":15462,"endOffset":16044,"count":14736},{"startOffset":15551,"endOffset":16023,"count":14473},{"startOffset":15632,"endOffset":15688,"count":7428},{"startOffset":15815,"endOffset":15860,"count":13205},{"startOffset":15861,"endOffset":15868,"count":1268}],"isBlockCoverage":true},{"functionName":"isItStopNode","ranges":[{"startOffset":16190,"endOffset":16481,"count":7374},{"startOffset":16332,"endOffset":16463,"count":0}],"isBlockCoverage":true},{"functionName":"tagExpWithClosingIndex","ranges":[{"startOffset":16661,"endOffset":17381,"count":7691},{"startOffset":16819,"endOffset":17379,"count":111711},{"startOffset":16872,"endOffset":16938,"count":22499},{"startOffset":16907,"endOffset":16925,"count":2219},{"startOffset":16938,"endOffset":17357,"count":89212},{"startOffset":16959,"endOffset":16972,"count":86993},{"startOffset":16974,"endOffset":17008,"count":2219},{"startOffset":17008,"endOffset":17357,"count":86993},{"startOffset":17041,"endOffset":17312,"count":8008},{"startOffset":17067,"endOffset":17219,"count":634},{"startOffset":17118,"endOffset":17211,"count":317},{"startOffset":17219,"endOffset":17306,"count":7374},{"startOffset":17312,"endOffset":17357,"count":78985},{"startOffset":17335,"endOffset":17357,"count":0},{"startOffset":17357,"endOffset":17379,"count":104020},{"startOffset":17379,"endOffset":17380,"count":0}],"isBlockCoverage":true},{"functionName":"findClosingIndex","ranges":[{"startOffset":17383,"endOffset":17594,"count":7374},{"startOffset":17508,"endOffset":17541,"count":0}],"isBlockCoverage":true},{"functionName":"readTagExp","ranges":[{"startOffset":17596,"endOffset":18510,"count":7691},{"startOffset":17745,"endOffset":17752,"count":0},{"startOffset":17942,"endOffset":18106,"count":951},{"startOffset":18158,"endOffset":18358,"count":0}],"isBlockCoverage":true},{"functionName":"readStopNodeData","ranges":[{"startOffset":18632,"endOffset":20234,"count":0}],"isBlockCoverage":false},{"functionName":"parseValue","ranges":[{"startOffset":20236,"endOffset":20617,"count":5146},{"startOffset":20303,"endOffset":20329,"count":0},{"startOffset":20331,"endOffset":20521,"count":0},{"startOffset":20581,"endOffset":20611,"count":0}],"isBlockCoverage":true}]},{"scriptId":"643","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":692,"count":1}],"isBlockCoverage":true},{"functionName":"XmlNode","ranges":[{"startOffset":32,"endOffset":191,"count":8069}],"isBlockCoverage":true},{"functionName":"add","ranges":[{"startOffset":194,"endOffset":364,"count":14790},{"startOffset":304,"endOffset":323,"count":0}],"isBlockCoverage":true},{"functionName":"addChild","ranges":[{"startOffset":367,"endOffset":660,"count":7691},{"startOffset":421,"endOffset":449,"count":0},{"startOffset":468,"endOffset":505,"count":6740},{"startOffset":506,"endOffset":589,"count":0}],"isBlockCoverage":true}]},{"scriptId":"644","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4701,"count":1}],"isBlockCoverage":true},{"functionName":"readDocType","ranges":[{"startOffset":58,"endOffset":2321,"count":0}],"isBlockCoverage":false},{"functionName":"readEntityExp","ranges":[{"startOffset":2323,"endOffset":3223,"count":0}],"isBlockCoverage":false},{"functionName":"isComment","ranges":[{"startOffset":3225,"endOffset":3372,"count":0}],"isBlockCoverage":false},{"functionName":"isEntity","ranges":[{"startOffset":3373,"endOffset":3631,"count":0}],"isBlockCoverage":false},{"functionName":"isElement","ranges":[{"startOffset":3632,"endOffset":3919,"count":0}],"isBlockCoverage":false},{"functionName":"isAttlist","ranges":[{"startOffset":3921,"endOffset":4208,"count":0}],"isBlockCoverage":false},{"functionName":"isNotation","ranges":[{"startOffset":4209,"endOffset":4525,"count":0}],"isBlockCoverage":false},{"functionName":"validateEntityName","ranges":[{"startOffset":4527,"endOffset":4669,"count":0}],"isBlockCoverage":false}]},{"scriptId":"645","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/strnum/strnum.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4815,"count":1},{"startOffset":242,"endOffset":260,"count":0},{"startOffset":262,"endOffset":304,"count":0},{"startOffset":328,"endOffset":348,"count":0},{"startOffset":350,"endOffset":396,"count":0}],"isBlockCoverage":true},{"functionName":"toNumber","ranges":[{"startOffset":533,"endOffset":4325,"count":0}],"isBlockCoverage":false},{"functionName":"trimZeros","ranges":[{"startOffset":4400,"endOffset":4788,"count":0}],"isBlockCoverage":false}]},{"scriptId":"646","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/xmlparser/node2json.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3156,"count":1}],"isBlockCoverage":true},{"functionName":"prettify","ranges":[{"startOffset":89,"endOffset":159,"count":378}],"isBlockCoverage":true},{"functionName":"compress","ranges":[{"startOffset":269,"endOffset":2193,"count":8069},{"startOffset":388,"endOffset":1915,"count":22481},{"startOffset":507,"endOffset":527,"count":703},{"startOffset":527,"endOffset":571,"count":21778},{"startOffset":614,"endOffset":717,"count":14790},{"startOffset":645,"endOffset":669,"count":7745},{"startOffset":669,"endOffset":711,"count":7045},{"startOffset":717,"endOffset":1906,"count":7691},{"startOffset":748,"endOffset":771,"count":0},{"startOffset":937,"endOffset":1011,"count":0},{"startOffset":1049,"endOffset":1091,"count":5277},{"startOffset":1092,"endOffset":1124,"count":5277},{"startOffset":1125,"endOffset":1175,"count":5277},{"startOffset":1175,"endOffset":1318,"count":2414},{"startOffset":1213,"endOffset":1318,"count":320},{"startOffset":1256,"endOffset":1287,"count":0},{"startOffset":1367,"endOffset":1408,"count":315},{"startOffset":1410,"endOffset":1593,"count":315},{"startOffset":1464,"endOffset":1542,"count":143},{"startOffset":1593,"endOffset":1900,"count":7376},{"startOffset":1782,"endOffset":1836,"count":0},{"startOffset":2023,"endOffset":2096,"count":7745},{"startOffset":2049,"endOffset":2092,"count":7428},{"startOffset":2096,"endOffset":2167,"count":324},{"startOffset":2124,"endOffset":2167,"count":0}],"isBlockCoverage":true},{"functionName":"propName","ranges":[{"startOffset":2195,"endOffset":2357,"count":22481},{"startOffset":2355,"endOffset":2356,"count":0}],"isBlockCoverage":true},{"functionName":"assignAttributes","ranges":[{"startOffset":2359,"endOffset":2791,"count":0}],"isBlockCoverage":false},{"functionName":"isLeafTag","ranges":[{"startOffset":2793,"endOffset":3126,"count":7691},{"startOffset":2934,"endOffset":2956,"count":320},{"startOffset":2956,"endOffset":2985,"count":7371},{"startOffset":2985,"endOffset":3080,"count":5277},{"startOffset":3011,"endOffset":3052,"count":0},{"startOffset":3053,"endOffset":3079,"count":0},{"startOffset":3085,"endOffset":3107,"count":5277},{"startOffset":3107,"endOffset":3125,"count":2094}],"isBlockCoverage":true}]},{"scriptId":"647","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9087,"count":1}],"isBlockCoverage":true},{"functionName":"tagValueProcessor","ranges":[{"startOffset":418,"endOffset":454,"count":0}],"isBlockCoverage":false},{"functionName":"attributeValueProcessor","ranges":[{"startOffset":483,"endOffset":524,"count":0}],"isBlockCoverage":false},{"functionName":"Builder","ranges":[{"startOffset":1024,"endOffset":1665,"count":0}],"isBlockCoverage":false},{"functionName":"Builder.build","ranges":[{"startOffset":1693,"endOffset":2017,"count":0}],"isBlockCoverage":false},{"functionName":"Builder.j2x","ranges":[{"startOffset":2044,"endOffset":4977,"count":0}],"isBlockCoverage":false},{"functionName":"Builder.buildAttrPairStr","ranges":[{"startOffset":5017,"endOffset":5293,"count":0}],"isBlockCoverage":false},{"functionName":"processTextOrObjNode","ranges":[{"startOffset":5295,"endOffset":5673,"count":0}],"isBlockCoverage":false},{"functionName":"Builder.buildObjectNode","ranges":[{"startOffset":5711,"endOffset":6790,"count":0}],"isBlockCoverage":false},{"functionName":"Builder.closeTag","ranges":[{"startOffset":6821,"endOffset":7111,"count":0}],"isBlockCoverage":false},{"functionName":"buildEmptyObjNode","ranges":[{"startOffset":7113,"endOffset":7516,"count":0}],"isBlockCoverage":false},{"functionName":"Builder.buildTextValNode","ranges":[{"startOffset":7555,"endOffset":8427,"count":0}],"isBlockCoverage":false},{"functionName":"Builder.replaceEntitiesValue","ranges":[{"startOffset":8470,"endOffset":8762,"count":0}],"isBlockCoverage":false},{"functionName":"indentate","ranges":[{"startOffset":8764,"endOffset":8839,"count":0}],"isBlockCoverage":false},{"functionName":"isAttribute","ranges":[{"startOffset":8841,"endOffset":9059,"count":0}],"isBlockCoverage":false}]},{"scriptId":"648","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5014,"count":1}],"isBlockCoverage":true},{"functionName":"toXml","ranges":[{"startOffset":95,"endOffset":301,"count":0}],"isBlockCoverage":false},{"functionName":"arrToStr","ranges":[{"startOffset":303,"endOffset":3398,"count":0}],"isBlockCoverage":false},{"functionName":"propName","ranges":[{"startOffset":3400,"endOffset":3625,"count":0}],"isBlockCoverage":false},{"functionName":"attr_to_str","ranges":[{"startOffset":3627,"endOffset":4294,"count":0}],"isBlockCoverage":false},{"functionName":"isStopNode","ranges":[{"startOffset":4296,"endOffset":4647,"count":0}],"isBlockCoverage":false},{"functionName":"replaceEntitiesValue","ranges":[{"startOffset":4649,"endOffset":4989,"count":0}],"isBlockCoverage":false}]},{"scriptId":"649","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/4_file_information/_identifier.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":953,"count":1}],"isBlockCoverage":true},{"functionName":"Identifier","ranges":[{"startOffset":129,"endOffset":227,"count":68295}],"isBlockCoverage":true},{"functionName":"getName","ranges":[{"startOffset":232,"endOffset":459,"count":317258},{"startOffset":386,"endOffset":432,"count":19}],"isBlockCoverage":true},{"functionName":"equals","ranges":[{"startOffset":464,"endOffset":654,"count":1018},{"startOffset":605,"endOffset":647,"count":516}],"isBlockCoverage":true},{"functionName":"getToken","ranges":[{"startOffset":659,"endOffset":704,"count":1158}],"isBlockCoverage":true},{"functionName":"getFilename","ranges":[{"startOffset":709,"endOffset":760,"count":3463}],"isBlockCoverage":true},{"functionName":"getStart","ranges":[{"startOffset":765,"endOffset":821,"count":3639}],"isBlockCoverage":true},{"functionName":"getEnd","ranges":[{"startOffset":826,"endOffset":878,"count":721}],"isBlockCoverage":true}]},{"scriptId":"650","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/identifier.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":291,"count":1}],"isBlockCoverage":true}]},{"scriptId":"651","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/abstract_token.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":885,"count":1}],"isBlockCoverage":true},{"functionName":"AbstractToken","ranges":[{"startOffset":184,"endOffset":267,"count":207964}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":372,"endOffset":470,"count":0}],"isBlockCoverage":false},{"functionName":"getStr","ranges":[{"startOffset":475,"endOffset":516,"count":2134635}],"isBlockCoverage":true},{"functionName":"getRow","ranges":[{"startOffset":521,"endOffset":573,"count":93248}],"isBlockCoverage":true},{"functionName":"getCol","ranges":[{"startOffset":578,"endOffset":630,"count":120590}],"isBlockCoverage":true},{"functionName":"getStart","ranges":[{"startOffset":635,"endOffset":680,"count":47835}],"isBlockCoverage":true},{"functionName":"getEnd","ranges":[{"startOffset":685,"endOffset":801,"count":16255}],"isBlockCoverage":true}]},{"scriptId":"652","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/xml_utils.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":670,"count":1}],"isBlockCoverage":true},{"functionName":"xmlToArray","ranges":[{"startOffset":139,"endOffset":344,"count":270},{"startOffset":195,"endOffset":221,"count":73},{"startOffset":221,"endOffset":342,"count":197},{"startOffset":248,"endOffset":302,"count":116},{"startOffset":302,"endOffset":342,"count":81}],"isBlockCoverage":true},{"functionName":"unescape","ranges":[{"startOffset":345,"endOffset":632,"count":70},{"startOffset":397,"endOffset":423,"count":1},{"startOffset":423,"endOffset":631,"count":69}],"isBlockCoverage":true}]},{"scriptId":"653","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/abap_parser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2084,"count":1}],"isBlockCoverage":true},{"functionName":"ABAPParser","ranges":[{"startOffset":487,"endOffset":689,"count":7484},{"startOffset":560,"endOffset":569,"count":7472},{"startOffset":570,"endOffset":596,"count":12},{"startOffset":639,"endOffset":653,"count":7472},{"startOffset":654,"endOffset":658,"count":12}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":736,"endOffset":2009,"count":7484},{"startOffset":1346,"endOffset":1716,"count":7513}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":929,"endOffset":960,"count":7513}],"isBlockCoverage":true}]},{"scriptId":"654","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/lexer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":13922,"count":1}],"isBlockCoverage":true},{"functionName":"Lexer","ranges":[{"startOffset":365,"endOffset":558,"count":7941}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":563,"endOffset":764,"count":7941}],"isBlockCoverage":true},{"functionName":"add","ranges":[{"startOffset":769,"endOffset":8916,"count":244810},{"startOffset":847,"endOffset":8881,"count":156891},{"startOffset":1035,"endOffset":1291,"count":151403},{"startOffset":1167,"endOffset":1183,"count":51973},{"startOffset":1184,"endOffset":1200,"count":43562},{"startOffset":1201,"endOffset":1216,"count":43529},{"startOffset":1218,"endOffset":1277,"count":107881},{"startOffset":1406,"endOffset":1422,"count":71602},{"startOffset":1423,"endOffset":1439,"count":50882},{"startOffset":1440,"endOffset":1455,"count":50874},{"startOffset":1456,"endOffset":1471,"count":49809},{"startOffset":1472,"endOffset":1487,"count":47648},{"startOffset":1488,"endOffset":1502,"count":24644},{"startOffset":1503,"endOffset":1519,"count":16982},{"startOffset":1521,"endOffset":1571,"count":139928},{"startOffset":1670,"endOffset":1789,"count":210},{"startOffset":1868,"endOffset":1935,"count":302},{"startOffset":1935,"endOffset":8730,"count":156589},{"startOffset":1982,"endOffset":2008,"count":156434},{"startOffset":2010,"endOffset":2081,"count":2439},{"startOffset":2081,"endOffset":8730,"count":154150},{"startOffset":2133,"endOffset":3003,"count":603},{"startOffset":2265,"endOffset":2280,"count":435},{"startOffset":2282,"endOffset":2364,"count":273},{"startOffset":2364,"endOffset":2989,"count":330},{"startOffset":2404,"endOffset":2419,"count":162},{"startOffset":2420,"endOffset":2442,"count":162},{"startOffset":2444,"endOffset":2531,"count":160},{"startOffset":2531,"endOffset":2989,"count":170},{"startOffset":2571,"endOffset":2586,"count":168},{"startOffset":2587,"endOffset":2610,"count":161},{"startOffset":2612,"endOffset":2697,"count":158},{"startOffset":2697,"endOffset":2989,"count":12},{"startOffset":2737,"endOffset":2752,"count":10},{"startOffset":2753,"endOffset":2775,"count":7},{"startOffset":2776,"endOffset":2799,"count":7},{"startOffset":2801,"endOffset":2889,"count":7},{"startOffset":2889,"endOffset":2989,"count":5},{"startOffset":3003,"endOffset":8730,"count":153547},{"startOffset":3038,"endOffset":3064,"count":89387},{"startOffset":3066,"endOffset":3132,"count":81},{"startOffset":3132,"endOffset":8730,"count":153466},{"startOffset":3170,"endOffset":7458,"count":54590},{"startOffset":3202,"endOffset":3214,"count":31493},{"startOffset":3216,"endOffset":3295,"count":25268},{"startOffset":3295,"endOffset":7444,"count":29322},{"startOffset":3332,"endOffset":3902,"count":221},{"startOffset":3379,"endOffset":3401,"count":0},{"startOffset":3403,"endOffset":3492,"count":0},{"startOffset":3544,"endOffset":3632,"count":0},{"startOffset":3683,"endOffset":3771,"count":180},{"startOffset":3771,"endOffset":3884,"count":41},{"startOffset":3902,"endOffset":7444,"count":29101},{"startOffset":3939,"endOffset":4501,"count":4998},{"startOffset":3986,"endOffset":4008,"count":1235},{"startOffset":4010,"endOffset":4097,"count":888},{"startOffset":4097,"endOffset":4483,"count":4110},{"startOffset":4149,"endOffset":4235,"count":347},{"startOffset":4235,"endOffset":4483,"count":3763},{"startOffset":4286,"endOffset":4372,"count":2128},{"startOffset":4372,"endOffset":4483,"count":1635},{"startOffset":4501,"endOffset":7444,"count":24103},{"startOffset":4538,"endOffset":5112,"count":221},{"startOffset":4585,"endOffset":4607,"count":180},{"startOffset":4609,"endOffset":4699,"count":145},{"startOffset":4699,"endOffset":5094,"count":76},{"startOffset":4751,"endOffset":4840,"count":35},{"startOffset":4840,"endOffset":5094,"count":41},{"startOffset":4980,"endOffset":5094,"count":0},{"startOffset":5112,"endOffset":7444,"count":23882},{"startOffset":5149,"endOffset":5715,"count":5000},{"startOffset":5196,"endOffset":5218,"count":3002},{"startOffset":5220,"endOffset":5308,"count":2934},{"startOffset":5308,"endOffset":5697,"count":2066},{"startOffset":5360,"endOffset":5447,"count":68},{"startOffset":5447,"endOffset":5697,"count":1998},{"startOffset":5498,"endOffset":5585,"count":1982},{"startOffset":5585,"endOffset":5697,"count":16},{"startOffset":5715,"endOffset":7444,"count":18882},{"startOffset":5752,"endOffset":6294,"count":3350},{"startOffset":5799,"endOffset":5821,"count":56},{"startOffset":5823,"endOffset":5905,"count":40},{"startOffset":5905,"endOffset":6276,"count":3310},{"startOffset":5957,"endOffset":6038,"count":16},{"startOffset":6038,"endOffset":6276,"count":3294},{"startOffset":6089,"endOffset":6170,"count":9},{"startOffset":6170,"endOffset":6276,"count":3285},{"startOffset":6294,"endOffset":7444,"count":15532},{"startOffset":6331,"endOffset":6873,"count":225},{"startOffset":6378,"endOffset":6400,"count":169},{"startOffset":6402,"endOffset":6484,"count":151},{"startOffset":6484,"endOffset":6855,"count":74},{"startOffset":6536,"endOffset":6617,"count":18},{"startOffset":6617,"endOffset":6855,"count":56},{"startOffset":6668,"endOffset":6749,"count":1},{"startOffset":6749,"endOffset":6855,"count":55},{"startOffset":6873,"endOffset":7444,"count":15307},{"startOffset":6910,"endOffset":7444,"count":434},{"startOffset":6957,"endOffset":6979,"count":420},{"startOffset":6981,"endOffset":7061,"count":0},{"startOffset":7113,"endOffset":7192,"count":420},{"startOffset":7192,"endOffset":7426,"count":14},{"startOffset":7243,"endOffset":7322,"count":0},{"startOffset":7458,"endOffset":8730,"count":98876},{"startOffset":7496,"endOffset":8730,"count":9570},{"startOffset":7530,"endOffset":8108,"count":428},{"startOffset":7577,"endOffset":7599,"count":1},{"startOffset":7601,"endOffset":7692,"count":0},{"startOffset":7744,"endOffset":7834,"count":1},{"startOffset":7834,"endOffset":8090,"count":427},{"startOffset":7885,"endOffset":7975,"count":0},{"startOffset":8108,"endOffset":8716,"count":9142},{"startOffset":8146,"endOffset":8716,"count":423},{"startOffset":8193,"endOffset":8215,"count":2},{"startOffset":8217,"endOffset":8306,"count":2},{"startOffset":8306,"endOffset":8698,"count":421},{"startOffset":8358,"endOffset":8446,"count":0},{"startOffset":8497,"endOffset":8585,"count":0},{"startOffset":8766,"endOffset":8836,"count":112898}],"isBlockCoverage":true},{"functionName":"process","ranges":[{"startOffset":8921,"endOffset":13863,"count":7941},{"startOffset":9711,"endOffset":13837,"count":832008},{"startOffset":9967,"endOffset":11708,"count":806679},{"startOffset":10004,"endOffset":10055,"count":215329},{"startOffset":10055,"endOffset":11694,"count":591350},{"startOffset":10096,"endOffset":10226,"count":2284},{"startOffset":10226,"endOffset":11694,"count":589066},{"startOffset":10266,"endOffset":10282,"count":588631},{"startOffset":10284,"endOffset":10421,"count":602},{"startOffset":10421,"endOffset":11694,"count":588464},{"startOffset":10462,"endOffset":10591,"count":155},{"startOffset":10591,"endOffset":11694,"count":588309},{"startOffset":10634,"endOffset":10767,"count":81},{"startOffset":10767,"endOffset":11694,"count":588228},{"startOffset":10828,"endOffset":10866,"count":588014},{"startOffset":10846,"endOffset":10865,"count":524},{"startOffset":10868,"endOffset":11003,"count":297},{"startOffset":11003,"endOffset":11694,"count":587931},{"startOffset":11043,"endOffset":11069,"count":439},{"startOffset":11071,"endOffset":11122,"count":422},{"startOffset":11122,"endOffset":11694,"count":587509},{"startOffset":11204,"endOffset":11255,"count":423},{"startOffset":11255,"endOffset":11694,"count":587086},{"startOffset":11317,"endOffset":11333,"count":847},{"startOffset":11354,"endOffset":11423,"count":847},{"startOffset":11389,"endOffset":11422,"count":430},{"startOffset":11425,"endOffset":11506,"count":829},{"startOffset":11506,"endOffset":11694,"count":586257},{"startOffset":11569,"endOffset":11641,"count":125995},{"startOffset":11607,"endOffset":11640,"count":116188},{"startOffset":11623,"endOffset":11639,"count":3726},{"startOffset":11643,"endOffset":11694,"count":13105},{"startOffset":11708,"endOffset":13748,"count":25329},{"startOffset":11757,"endOffset":11844,"count":841},{"startOffset":11775,"endOffset":11791,"count":836},{"startOffset":11792,"endOffset":11808,"count":833},{"startOffset":11809,"endOffset":11825,"count":774},{"startOffset":11826,"endOffset":11843,"count":765},{"startOffset":11846,"endOffset":11964,"count":77},{"startOffset":11964,"endOffset":13748,"count":25252},{"startOffset":12027,"endOffset":12044,"count":902},{"startOffset":12061,"endOffset":12079,"count":747},{"startOffset":12096,"endOffset":12114,"count":167},{"startOffset":12131,"endOffset":12147,"count":165},{"startOffset":12164,"endOffset":12195,"count":159},{"startOffset":12197,"endOffset":12460,"count":155},{"startOffset":12293,"endOffset":12359,"count":1},{"startOffset":12359,"endOffset":12446,"count":154},{"startOffset":12460,"endOffset":13748,"count":25097},{"startOffset":12527,"endOffset":12544,"count":2786},{"startOffset":12561,"endOffset":12600,"count":2183},{"startOffset":12581,"endOffset":12599,"count":1747},{"startOffset":12617,"endOffset":12694,"count":610},{"startOffset":12653,"endOffset":12693,"count":12},{"startOffset":12696,"endOffset":12816,"count":602},{"startOffset":12816,"endOffset":13748,"count":24495},{"startOffset":12883,"endOffset":12899,"count":2184},{"startOffset":12916,"endOffset":12935,"count":4},{"startOffset":12937,"endOffset":12980,"count":1},{"startOffset":12980,"endOffset":13748,"count":24494},{"startOffset":13042,"endOffset":13060,"count":14574},{"startOffset":13077,"endOffset":13094,"count":4603},{"startOffset":13111,"endOffset":13129,"count":2319},{"startOffset":13146,"endOffset":13162,"count":2315},{"startOffset":13179,"endOffset":13210,"count":2294},{"startOffset":13212,"endOffset":13478,"count":2277},{"startOffset":13311,"endOffset":13377,"count":4},{"startOffset":13377,"endOffset":13464,"count":2273},{"startOffset":13478,"endOffset":13748,"count":22217},{"startOffset":13515,"endOffset":13546,"count":230},{"startOffset":13548,"endOffset":13633,"count":230},{"startOffset":13633,"endOffset":13748,"count":21987},{"startOffset":13684,"endOffset":13703,"count":2183},{"startOffset":13705,"endOffset":13748,"count":0},{"startOffset":13789,"endOffset":13827,"count":7941}],"isBlockCoverage":true}]},{"scriptId":"655","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3024,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":46},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":618789}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":46}],"isBlockCoverage":true}]},{"scriptId":"656","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/at.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":301,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":213,"endOffset":251,"count":0}],"isBlockCoverage":false}]},{"scriptId":"657","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/atw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":307,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":215,"endOffset":254,"count":0}],"isBlockCoverage":false}]},{"scriptId":"658","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wat.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":307,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":215,"endOffset":254,"count":0}],"isBlockCoverage":false}]},{"scriptId":"659","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/watw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":313,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":217,"endOffset":257,"count":0}],"isBlockCoverage":false}]},{"scriptId":"660","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/bracket_left.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":347,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":231,"endOffset":269,"count":0}],"isBlockCoverage":false}]},{"scriptId":"661","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wbracket_left.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":353,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":233,"endOffset":272,"count":0}],"isBlockCoverage":false}]},{"scriptId":"662","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/bracket_leftw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":353,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":233,"endOffset":272,"count":0}],"isBlockCoverage":false}]},{"scriptId":"663","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":359,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":235,"endOffset":275,"count":0}],"isBlockCoverage":false}]},{"scriptId":"664","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/bracket_right.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":352,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":233,"endOffset":271,"count":0}],"isBlockCoverage":false}]},{"scriptId":"665","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wbracket_right.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":358,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":235,"endOffset":274,"count":0}],"isBlockCoverage":false}]},{"scriptId":"666","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/bracket_rightw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":358,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":235,"endOffset":274,"count":0}],"isBlockCoverage":false}]},{"scriptId":"667","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":237,"endOffset":277,"count":0}],"isBlockCoverage":false}]},{"scriptId":"668","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/instance_arrow.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":358,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":235,"endOffset":274,"count":0}],"isBlockCoverage":false}]},{"scriptId":"669","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/winstance_arrow.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":237,"endOffset":277,"count":0}],"isBlockCoverage":false}]},{"scriptId":"670","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/instance_arroww.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":237,"endOffset":277,"count":0}],"isBlockCoverage":false}]},{"scriptId":"671","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/winstance_arroww.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":370,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":239,"endOffset":280,"count":0}],"isBlockCoverage":false}]},{"scriptId":"672","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/paren_left.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":337,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":227,"endOffset":265,"count":0}],"isBlockCoverage":false}]},{"scriptId":"673","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wparen_left.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":343,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":229,"endOffset":268,"count":0}],"isBlockCoverage":false}]},{"scriptId":"674","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/paren_leftw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":343,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":229,"endOffset":268,"count":0}],"isBlockCoverage":false}]},{"scriptId":"675","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wparen_leftw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":349,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":231,"endOffset":271,"count":0}],"isBlockCoverage":false}]},{"scriptId":"676","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/paren_right.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":342,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":229,"endOffset":267,"count":0}],"isBlockCoverage":false}]},{"scriptId":"677","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wparen_right.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":348,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":231,"endOffset":270,"count":0}],"isBlockCoverage":false}]},{"scriptId":"678","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/paren_rightw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":348,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":231,"endOffset":270,"count":0}],"isBlockCoverage":false}]},{"scriptId":"679","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wparen_rightw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":354,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":233,"endOffset":273,"count":0}],"isBlockCoverage":false}]},{"scriptId":"680","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/dash.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":311,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":217,"endOffset":255,"count":0}],"isBlockCoverage":false}]},{"scriptId":"681","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wdash.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":317,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":219,"endOffset":258,"count":0}],"isBlockCoverage":false}]},{"scriptId":"682","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/dashw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":317,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":219,"endOffset":258,"count":0}],"isBlockCoverage":false}]},{"scriptId":"683","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wdashw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":323,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":221,"endOffset":261,"count":0}],"isBlockCoverage":false}]},{"scriptId":"684","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/plus.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":311,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":217,"endOffset":255,"count":0}],"isBlockCoverage":false}]},{"scriptId":"685","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wplus.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":317,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":219,"endOffset":258,"count":0}],"isBlockCoverage":false}]},{"scriptId":"686","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/plusw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":317,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":219,"endOffset":258,"count":0}],"isBlockCoverage":false}]},{"scriptId":"687","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wplusw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":323,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":221,"endOffset":261,"count":0}],"isBlockCoverage":false}]},{"scriptId":"688","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/static_arrow.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":348,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":231,"endOffset":270,"count":0}],"isBlockCoverage":false}]},{"scriptId":"689","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":354,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":233,"endOffset":273,"count":0}],"isBlockCoverage":false}]},{"scriptId":"690","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/static_arroww.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":354,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":233,"endOffset":273,"count":0}],"isBlockCoverage":false}]},{"scriptId":"691","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":360,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":235,"endOffset":276,"count":0}],"isBlockCoverage":false}]},{"scriptId":"692","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":291,"count":1}],"isBlockCoverage":true}]},{"scriptId":"693","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string_template.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":312,"count":1}],"isBlockCoverage":true}]},{"scriptId":"694","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string_template_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":338,"count":1}],"isBlockCoverage":true}]},{"scriptId":"695","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string_template_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":328,"count":1}],"isBlockCoverage":true}]},{"scriptId":"696","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string_template_middle.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":343,"count":1}],"isBlockCoverage":true}]},{"scriptId":"697","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/colon.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":266,"count":1}],"isBlockCoverage":true}]},{"scriptId":"698","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/comment.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":276,"count":1}],"isBlockCoverage":true}]},{"scriptId":"699","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/pragma.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":271,"count":1}],"isBlockCoverage":true}]},{"scriptId":"700","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/punctuation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":296,"count":1}],"isBlockCoverage":true}]},{"scriptId":"701","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/lexer_buffer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":655,"count":1}],"isBlockCoverage":true},{"functionName":"LexerBuffer","ranges":[{"startOffset":131,"endOffset":175,"count":7941}],"isBlockCoverage":true},{"functionName":"add","ranges":[{"startOffset":180,"endOffset":252,"count":832008}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":257,"endOffset":295,"count":244810}],"isBlockCoverage":true},{"functionName":"clear","ranges":[{"startOffset":300,"endOffset":338,"count":244810}],"isBlockCoverage":true},{"functionName":"countIsEven","ranges":[{"startOffset":343,"endOffset":577,"count":2453},{"startOffset":439,"endOffset":539,"count":15580},{"startOffset":486,"endOffset":529,"count":4973}],"isBlockCoverage":true}]},{"scriptId":"702","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/lexer_stream.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1777,"count":1}],"isBlockCoverage":true},{"functionName":"LexerStream","ranges":[{"startOffset":131,"endOffset":249,"count":7941}],"isBlockCoverage":true},{"functionName":"advance","ranges":[{"startOffset":254,"endOffset":600,"count":832008},{"startOffset":307,"endOffset":381,"count":31974},{"startOffset":427,"endOffset":501,"count":7941},{"startOffset":501,"endOffset":599,"count":824067}],"isBlockCoverage":true},{"functionName":"getCol","ranges":[{"startOffset":605,"endOffset":646,"count":156891}],"isBlockCoverage":true},{"functionName":"getRow","ranges":[{"startOffset":651,"endOffset":692,"count":156891}],"isBlockCoverage":true},{"functionName":"prevChar","ranges":[{"startOffset":697,"endOffset":835,"count":1887},{"startOffset":743,"endOffset":777,"count":0}],"isBlockCoverage":true},{"functionName":"prevPrevChar","ranges":[{"startOffset":840,"endOffset":982,"count":12},{"startOffset":890,"endOffset":924,"count":0}],"isBlockCoverage":true},{"functionName":"currentChar","ranges":[{"startOffset":987,"endOffset":1270,"count":1664016},{"startOffset":1032,"endOffset":1132,"count":15882},{"startOffset":1132,"endOffset":1216,"count":1648134},{"startOffset":1182,"endOffset":1216,"count":15882},{"startOffset":1216,"endOffset":1269,"count":1632252}],"isBlockCoverage":true},{"functionName":"nextChar","ranges":[{"startOffset":1275,"endOffset":1427,"count":1012688},{"startOffset":1335,"endOffset":1369,"count":39426},{"startOffset":1369,"endOffset":1426,"count":973262}],"isBlockCoverage":true},{"functionName":"nextNextChar","ranges":[{"startOffset":1432,"endOffset":1601,"count":832008},{"startOffset":1496,"endOffset":1543,"count":23789},{"startOffset":1543,"endOffset":1600,"count":808219}],"isBlockCoverage":true},{"functionName":"getRaw","ranges":[{"startOffset":1606,"endOffset":1647,"count":151403}],"isBlockCoverage":true},{"functionName":"getOffset","ranges":[{"startOffset":1652,"endOffset":1699,"count":308294}],"isBlockCoverage":true}]},{"scriptId":"703","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statement_parser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":11250,"count":1}],"isBlockCoverage":true},{"functionName":"StatementMap","ranges":[{"startOffset":613,"endOffset":1184,"count":1},{"startOffset":722,"endOffset":1178,"count":303},{"startOffset":805,"endOffset":895,"count":0},{"startOffset":931,"endOffset":1168,"count":310},{"startOffset":970,"endOffset":1052,"count":139},{"startOffset":1052,"endOffset":1154,"count":171}],"isBlockCoverage":true},{"functionName":"lookup","ranges":[{"startOffset":1189,"endOffset":1500,"count":28288},{"startOffset":1283,"endOffset":1317,"count":2089},{"startOffset":1317,"endOffset":1360,"count":26199},{"startOffset":1360,"endOffset":1474,"count":167},{"startOffset":1395,"endOffset":1464,"count":304},{"startOffset":1474,"endOffset":1499,"count":26199}],"isBlockCoverage":true},{"functionName":"WorkArea","ranges":[{"startOffset":1524,"endOffset":1643,"count":7584}],"isBlockCoverage":true},{"functionName":"addUnknown","ranges":[{"startOffset":1648,"endOffset":1854,"count":25127}],"isBlockCoverage":true},{"functionName":"toResult","ranges":[{"startOffset":1859,"endOffset":1963,"count":7584}],"isBlockCoverage":true},{"functionName":"tokensToNodes","ranges":[{"startOffset":1968,"endOffset":2237,"count":25127},{"startOffset":2059,"endOffset":2118,"count":3160},{"startOffset":2152,"endOffset":2211,"count":147209}],"isBlockCoverage":true},{"functionName":"StatementParser","ranges":[{"startOffset":2268,"endOffset":2457,"count":7555},{"startOffset":2330,"endOffset":2395,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2498,"endOffset":3162,"count":7555},{"startOffset":2715,"endOffset":2834,"count":7584},{"startOffset":2863,"endOffset":3114,"count":7584},{"startOffset":3021,"endOffset":3073,"count":641}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2649,"endOffset":2684,"count":7584}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3137,"endOffset":3154,"count":7584}],"isBlockCoverage":true},{"functionName":"tokensToNodes","ranges":[{"startOffset":3241,"endOffset":3406,"count":646},{"startOffset":3321,"endOffset":3380,"count":4737}],"isBlockCoverage":true},{"functionName":"lazyUnknown","ranges":[{"startOffset":3680,"endOffset":5264,"count":641},{"startOffset":3770,"endOffset":5226,"count":2371},{"startOffset":3967,"endOffset":5180,"count":685},{"startOffset":4124,"endOffset":4179,"count":683},{"startOffset":4200,"endOffset":4245,"count":672},{"startOffset":4266,"endOffset":4308,"count":660},{"startOffset":4329,"endOffset":4377,"count":628},{"startOffset":4379,"endOffset":5166,"count":624},{"startOffset":4474,"endOffset":5148,"count":315},{"startOffset":4525,"endOffset":4614,"count":3},{"startOffset":4614,"endOffset":4841,"count":312},{"startOffset":4841,"endOffset":4884,"count":28},{"startOffset":4886,"endOffset":5126,"count":27}],"isBlockCoverage":true},{"functionName":"buildSplits","ranges":[{"startOffset":5269,"endOffset":5692,"count":624},{"startOffset":5432,"endOffset":5666,"count":7097},{"startOffset":5482,"endOffset":5578,"count":315}],"isBlockCoverage":true},{"functionName":"nativeSQL","ranges":[{"startOffset":5697,"endOffset":6578,"count":7584},{"startOffset":5793,"endOffset":6572,"count":25488},{"startOffset":5952,"endOffset":6060,"count":25482},{"startOffset":6004,"endOffset":6059,"count":685},{"startOffset":6062,"endOffset":6105,"count":13},{"startOffset":6105,"endOffset":6562,"count":25475},{"startOffset":6141,"endOffset":6562,"count":14},{"startOffset":6218,"endOffset":6257,"count":11},{"startOffset":6259,"endOffset":6311,"count":5},{"startOffset":6311,"endOffset":6548,"count":9}],"isBlockCoverage":true},{"functionName":"categorize","ranges":[{"startOffset":6677,"endOffset":6879,"count":7584},{"startOffset":6768,"endOffset":6841,"count":25407}],"isBlockCoverage":true},{"functionName":"categorizeStatement","ranges":[{"startOffset":6884,"endOffset":7947,"count":25719},{"startOffset":7139,"endOffset":7155,"count":315},{"startOffset":7157,"endOffset":7335,"count":15},{"startOffset":7335,"endOffset":7915,"count":25704},{"startOffset":7402,"endOffset":7915,"count":25424},{"startOffset":7435,"endOffset":7501,"count":25300},{"startOffset":7501,"endOffset":7905,"count":124},{"startOffset":7562,"endOffset":7709,"count":0},{"startOffset":7744,"endOffset":7783,"count":20},{"startOffset":7785,"endOffset":7905,"count":1}],"isBlockCoverage":true},{"functionName":"removePragma","ranges":[{"startOffset":7952,"endOffset":8399,"count":25300},{"startOffset":8138,"endOffset":8340,"count":129001},{"startOffset":8217,"endOffset":8265,"count":69},{"startOffset":8265,"endOffset":8330,"count":128932}],"isBlockCoverage":true},{"functionName":"match","ranges":[{"startOffset":8404,"endOffset":9643,"count":25300},{"startOffset":8577,"endOffset":8700,"count":3},{"startOffset":8700,"endOffset":8776,"count":25297},{"startOffset":8776,"endOffset":9134,"count":55191},{"startOffset":8882,"endOffset":9124,"count":22306},{"startOffset":9134,"endOffset":9253,"count":2991},{"startOffset":9253,"endOffset":9611,"count":5570},{"startOffset":9359,"endOffset":9601,"count":2073},{"startOffset":9611,"endOffset":9642,"count":918}],"isBlockCoverage":true},{"functionName":"process","ranges":[{"startOffset":9845,"endOffset":11160,"count":7584},{"startOffset":9973,"endOffset":11070,"count":149677},{"startOffset":10024,"endOffset":10197,"count":280},{"startOffset":10197,"endOffset":10301,"count":149397},{"startOffset":10301,"endOffset":11060,"count":49984},{"startOffset":10336,"endOffset":10506,"count":23012},{"startOffset":10506,"endOffset":11046,"count":26972},{"startOffset":10544,"endOffset":10561,"count":2165},{"startOffset":10563,"endOffset":10664,"count":1991},{"startOffset":10664,"endOffset":11046,"count":24981},{"startOffset":10702,"endOffset":10724,"count":1058},{"startOffset":10726,"endOffset":10918,"count":1056},{"startOffset":10918,"endOffset":11046,"count":23925},{"startOffset":10957,"endOffset":11046,"count":2},{"startOffset":11099,"endOffset":11154,"count":124}],"isBlockCoverage":true}]},{"scriptId":"704","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":15585,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":303},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":666304}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":303}],"isBlockCoverage":true}]},{"scriptId":"705","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":388,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":203,"endOffset":332,"count":18}],"isBlockCoverage":true}]},{"scriptId":"706","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/combi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":23556,"count":1}],"isBlockCoverage":true},{"functionName":"Regex","ranges":[{"startOffset":709,"endOffset":756,"count":278}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":761,"endOffset":802,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":807,"endOffset":844,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":849,"endOffset":1237,"count":410964},{"startOffset":916,"endOffset":1208,"count":411172},{"startOffset":965,"endOffset":1006,"count":29450},{"startOffset":1006,"endOffset":1106,"count":381722},{"startOffset":1106,"endOffset":1198,"count":172904}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":1242,"endOffset":1351,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":1356,"endOffset":1410,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":1415,"endOffset":1451,"count":0}],"isBlockCoverage":false},{"functionName":"Word","ranges":[{"startOffset":1471,"endOffset":1527,"count":2746}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":1532,"endOffset":1579,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":1584,"endOffset":1621,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":1626,"endOffset":2016,"count":1192158},{"startOffset":1693,"endOffset":1987,"count":1198427},{"startOffset":1757,"endOffset":1806,"count":997314},{"startOffset":1808,"endOffset":1977,"count":135434}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":2021,"endOffset":2097,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":2102,"endOffset":2154,"count":17}],"isBlockCoverage":true},{"functionName":"first","ranges":[{"startOffset":2159,"endOffset":2199,"count":957}],"isBlockCoverage":true},{"functionName":"Token","ranges":[{"startOffset":2220,"endOffset":2279,"count":809}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":2284,"endOffset":2325,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":2330,"endOffset":2367,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":2372,"endOffset":2698,"count":670655},{"startOffset":2439,"endOffset":2669,"count":681233},{"startOffset":2503,"endOffset":2563,"count":551141},{"startOffset":2565,"endOffset":2659,"count":21647}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":2703,"endOffset":3046,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":3051,"endOffset":3112,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":3117,"endOffset":3153,"count":0}],"isBlockCoverage":false},{"functionName":"Vers","ranges":[{"startOffset":3173,"endOffset":3303,"count":533}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":3308,"endOffset":3375,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":3380,"endOffset":3992,"count":400982},{"startOffset":3459,"endOffset":3487,"count":293},{"startOffset":3489,"endOffset":3541,"count":8},{"startOffset":3541,"endOffset":3986,"count":400974},{"startOffset":3605,"endOffset":3792,"count":435},{"startOffset":3662,"endOffset":3704,"count":384},{"startOffset":3704,"endOffset":3782,"count":51},{"startOffset":3792,"endOffset":3986,"count":400539},{"startOffset":3840,"endOffset":3884,"count":48904},{"startOffset":3886,"endOffset":3938,"count":354785},{"startOffset":3938,"endOffset":3986,"count":45754}],"isBlockCoverage":true},{"functionName":"getUsing","ranges":[{"startOffset":3997,"endOffset":4056,"count":0}],"isBlockCoverage":false},{"functionName":"railroad","ranges":[{"startOffset":4061,"endOffset":4341,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":4346,"endOffset":4418,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":4423,"endOffset":4476,"count":40}],"isBlockCoverage":true},{"functionName":"VersNot","ranges":[{"startOffset":4499,"endOffset":4603,"count":653}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":4608,"endOffset":4675,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":4680,"endOffset":4739,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":4744,"endOffset":4908,"count":13333},{"startOffset":4802,"endOffset":4854,"count":13224},{"startOffset":4854,"endOffset":4902,"count":109}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":4913,"endOffset":5101,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":5106,"endOffset":5181,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":5186,"endOffset":5239,"count":452}],"isBlockCoverage":true},{"functionName":"OptionalPriority","ranges":[{"startOffset":5271,"endOffset":5334,"count":936}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":5339,"endOffset":5406,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":5411,"endOffset":5470,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":5475,"endOffset":6005,"count":257469},{"startOffset":5542,"endOffset":5976,"count":271073},{"startOffset":5628,"endOffset":5680,"count":891},{"startOffset":5680,"endOffset":5966,"count":270182},{"startOffset":5720,"endOffset":5771,"count":261225},{"startOffset":5771,"endOffset":5966,"count":8957},{"startOffset":5897,"endOffset":5966,"count":0}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":6010,"endOffset":6098,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":6103,"endOffset":6171,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":6176,"endOffset":6212,"count":0}],"isBlockCoverage":false},{"functionName":"Optional","ranges":[{"startOffset":6236,"endOffset":6299,"count":1745}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":6304,"endOffset":6371,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":6376,"endOffset":6435,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":6440,"endOffset":6664,"count":73527},{"startOffset":6507,"endOffset":6635,"count":82283},{"startOffset":6635,"endOffset":6663,"count":73525}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":6669,"endOffset":6757,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":6762,"endOffset":6830,"count":1}],"isBlockCoverage":true},{"functionName":"first","ranges":[{"startOffset":6835,"endOffset":6871,"count":0}],"isBlockCoverage":false},{"functionName":"Star","ranges":[{"startOffset":6891,"endOffset":6939,"count":525}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":6944,"endOffset":7006,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":7011,"endOffset":7065,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":7070,"endOffset":7819,"count":36824},{"startOffset":7191,"endOffset":7597,"count":44585},{"startOffset":7303,"endOffset":7349,"count":36792},{"startOffset":7349,"endOffset":7389,"count":7761},{"startOffset":7389,"endOffset":7501,"count":0},{"startOffset":7501,"endOffset":7583,"count":7761},{"startOffset":7616,"endOffset":7755,"count":32},{"startOffset":7722,"endOffset":7755,"count":0},{"startOffset":7755,"endOffset":7818,"count":36792}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":7824,"endOffset":7909,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":7914,"endOffset":7978,"count":6}],"isBlockCoverage":true},{"functionName":"first","ranges":[{"startOffset":7983,"endOffset":8019,"count":0}],"isBlockCoverage":false},{"functionName":"StarPriority","ranges":[{"startOffset":8047,"endOffset":8095,"count":124}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":8100,"endOffset":8162,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":8167,"endOffset":8221,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":8226,"endOffset":9002,"count":52788},{"startOffset":8355,"endOffset":8973,"count":56308},{"startOffset":8461,"endOffset":8939,"count":52788},{"startOffset":8503,"endOffset":8902,"count":1835},{"startOffset":8679,"endOffset":8884,"count":2369},{"startOffset":8737,"endOffset":8862,"count":1939},{"startOffset":8939,"endOffset":8973,"count":3520}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":9007,"endOffset":9092,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":9097,"endOffset":9161,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":9166,"endOffset":9202,"count":0}],"isBlockCoverage":false},{"functionName":"Plus","ranges":[{"startOffset":9222,"endOffset":9335,"count":282}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":9340,"endOffset":9402,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":9407,"endOffset":9461,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":9466,"endOffset":9512,"count":5508}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":9517,"endOffset":9601,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":9606,"endOffset":9670,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":9675,"endOffset":9723,"count":0}],"isBlockCoverage":false},{"functionName":"PlusPriority","ranges":[{"startOffset":9751,"endOffset":9872,"count":37}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":9877,"endOffset":9939,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":9944,"endOffset":9998,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":10003,"endOffset":10049,"count":6401}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":10054,"endOffset":10138,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":10143,"endOffset":10207,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":10212,"endOffset":10260,"count":0}],"isBlockCoverage":false},{"functionName":"Sequence","ranges":[{"startOffset":10284,"endOffset":10431,"count":6108},{"startOffset":10333,"endOffset":10399,"count":0}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":10436,"endOffset":10592,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":10597,"endOffset":10698,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":10703,"endOffset":11381,"count":1897616},{"startOffset":10768,"endOffset":11352,"count":1918885},{"startOffset":10878,"endOffset":11057,"count":2589895},{"startOffset":10962,"endOffset":11043,"count":1652447},{"startOffset":11057,"endOffset":11090,"count":1918850},{"startOffset":11090,"endOffset":11342,"count":266403},{"startOffset":11132,"endOffset":11245,"count":0},{"startOffset":11352,"endOffset":11380,"count":1897581}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":11386,"endOffset":11538,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":11543,"endOffset":11703,"count":6},{"startOffset":11610,"endOffset":11662,"count":12}],"isBlockCoverage":true},{"functionName":"first","ranges":[{"startOffset":11708,"endOffset":11760,"count":824}],"isBlockCoverage":true},{"functionName":"WordSequence","ranges":[{"startOffset":11788,"endOffset":12122,"count":689},{"startOffset":11981,"endOffset":12071,"count":1878}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":12127,"endOffset":12188,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":12193,"endOffset":12230,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":12235,"endOffset":12281,"count":251974}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":12286,"endOffset":12365,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":12370,"endOffset":12426,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":12431,"endOffset":12484,"count":377}],"isBlockCoverage":true},{"functionName":"Expression","ranges":[{"startOffset":12510,"endOffset":12566,"count":470}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":12571,"endOffset":13750,"count":971704},{"startOffset":12649,"endOffset":12708,"count":384},{"startOffset":12740,"endOffset":13684,"count":989045},{"startOffset":12829,"endOffset":13674,"count":320171},{"startOffset":12943,"endOffset":13627,"count":318118},{"startOffset":13091,"endOffset":13341,"count":432663}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":13755,"endOffset":13873,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":13878,"endOffset":13945,"count":0}],"isBlockCoverage":false},{"functionName":"getName","ranges":[{"startOffset":13950,"endOffset":14005,"count":89}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":14010,"endOffset":14140,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":14145,"endOffset":14213,"count":7}],"isBlockCoverage":true},{"functionName":"first","ranges":[{"startOffset":14218,"endOffset":14276,"count":9}],"isBlockCoverage":true},{"functionName":"Permutation","ranges":[{"startOffset":14336,"endOffset":14506,"count":11409},{"startOffset":14385,"endOffset":14474,"count":0}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":14511,"endOffset":14667,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":14672,"endOffset":14773,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":14778,"endOffset":15419,"count":24923},{"startOffset":14917,"endOffset":15390,"count":175423},{"startOffset":15004,"endOffset":15380,"count":11517},{"startOffset":15182,"endOffset":15256,"count":464},{"startOffset":15256,"endOffset":15366,"count":11053}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":15424,"endOffset":15591,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":15596,"endOffset":15728,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":15733,"endOffset":15769,"count":0}],"isBlockCoverage":false},{"functionName":"listKeywords","ranges":[{"startOffset":15881,"endOffset":15922,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":15927,"endOffset":15964,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":15969,"endOffset":16025,"count":1}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":16030,"endOffset":16103,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":16108,"endOffset":16148,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":16153,"endOffset":16187,"count":0}],"isBlockCoverage":false},{"functionName":"listKeywords","ranges":[{"startOffset":16254,"endOffset":16295,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":16300,"endOffset":16337,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":16342,"endOffset":16392,"count":32}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":16397,"endOffset":16464,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":16469,"endOffset":16509,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":16514,"endOffset":16548,"count":0}],"isBlockCoverage":false},{"functionName":"Alternative","ranges":[{"startOffset":16575,"endOffset":16725,"count":746},{"startOffset":16624,"endOffset":16693,"count":0}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":16730,"endOffset":16886,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":16891,"endOffset":16992,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":16997,"endOffset":17183,"count":74152},{"startOffset":17071,"endOffset":17154,"count":217735},{"startOffset":17154,"endOffset":17182,"count":74120}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":17188,"endOffset":17341,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":17346,"endOffset":17506,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":17511,"endOffset":17986,"count":25},{"startOffset":17557,"endOffset":17593,"count":0},{"startOffset":17721,"endOffset":17755,"count":0},{"startOffset":17801,"endOffset":17835,"count":0},{"startOffset":17903,"endOffset":17937,"count":2},{"startOffset":17937,"endOffset":17985,"count":23}],"isBlockCoverage":true},{"functionName":"AlternativePriority","ranges":[{"startOffset":18076,"endOffset":18226,"count":833},{"startOffset":18125,"endOffset":18194,"count":0}],"isBlockCoverage":true},{"functionName":"listKeywords","ranges":[{"startOffset":18231,"endOffset":18387,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":18392,"endOffset":18493,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":18498,"endOffset":18806,"count":509076},{"startOffset":18572,"endOffset":18777,"count":1719198},{"startOffset":18691,"endOffset":18767,"count":183672}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":18811,"endOffset":18964,"count":0}],"isBlockCoverage":false},{"functionName":"toStr","ranges":[{"startOffset":18969,"endOffset":19129,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":19134,"endOffset":19609,"count":22},{"startOffset":19180,"endOffset":19216,"count":5},{"startOffset":19216,"endOffset":19342,"count":17},{"startOffset":19344,"endOffset":19378,"count":0},{"startOffset":19378,"endOffset":19422,"count":17},{"startOffset":19424,"endOffset":19458,"count":5},{"startOffset":19458,"endOffset":19505,"count":12},{"startOffset":19506,"endOffset":19524,"count":12},{"startOffset":19526,"endOffset":19560,"count":2},{"startOffset":19560,"endOffset":19608,"count":10}],"isBlockCoverage":true},{"functionName":"railroad","ranges":[{"startOffset":19637,"endOffset":20031,"count":0}],"isBlockCoverage":false},{"functionName":"listKeywords","ranges":[{"startOffset":20043,"endOffset":20312,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":20379,"endOffset":21224,"count":60970},{"startOffset":20898,"endOffset":21025,"count":41682},{"startOffset":20949,"endOffset":21011,"count":24515},{"startOffset":21025,"endOffset":21044,"count":36454},{"startOffset":21044,"endOffset":21192,"count":1},{"startOffset":21159,"endOffset":21192,"count":0},{"startOffset":21192,"endOffset":21223,"count":36454}],"isBlockCoverage":true},{"functionName":"getVersion","ranges":[{"startOffset":21236,"endOffset":21281,"count":414315}],"isBlockCoverage":true},{"functionName":"str","ranges":[{"startOffset":21388,"endOffset":21546,"count":1557},{"startOffset":21433,"endOffset":21454,"count":959},{"startOffset":21456,"endOffset":21499,"count":689},{"startOffset":21499,"endOffset":21544,"count":868}],"isBlockCoverage":true},{"functionName":"regex","ranges":[{"startOffset":21547,"endOffset":21593,"count":278}],"isBlockCoverage":true},{"functionName":"tok","ranges":[{"startOffset":21594,"endOffset":21643,"count":809}],"isBlockCoverage":true},{"functionName":"map","ranges":[{"startOffset":21706,"endOffset":22237,"count":26303},{"startOffset":21778,"endOffset":21922,"count":7528},{"startOffset":21827,"endOffset":21880,"count":1072},{"startOffset":21922,"endOffset":22235,"count":18775},{"startOffset":21957,"endOffset":22200,"count":6622},{"startOffset":22064,"endOffset":22151,"count":249},{"startOffset":22200,"endOffset":22235,"count":12153}],"isBlockCoverage":true},{"functionName":"seq","ranges":[{"startOffset":22238,"endOffset":22386,"count":5100}],"isBlockCoverage":true},{"functionName":"alt","ranges":[{"startOffset":22387,"endOffset":22538,"count":746}],"isBlockCoverage":true},{"functionName":"altPrio","ranges":[{"startOffset":22539,"endOffset":22702,"count":833}],"isBlockCoverage":true},{"functionName":"opt","ranges":[{"startOffset":22703,"endOffset":22763,"count":1745}],"isBlockCoverage":true},{"functionName":"optPrio","ranges":[{"startOffset":22764,"endOffset":22836,"count":936}],"isBlockCoverage":true},{"functionName":"per","ranges":[{"startOffset":22837,"endOffset":22988,"count":356}],"isBlockCoverage":true},{"functionName":"star","ranges":[{"startOffset":22989,"endOffset":23046,"count":243}],"isBlockCoverage":true},{"functionName":"starPrio","ranges":[{"startOffset":23047,"endOffset":23116,"count":87}],"isBlockCoverage":true},{"functionName":"plus","ranges":[{"startOffset":23117,"endOffset":23174,"count":282}],"isBlockCoverage":true},{"functionName":"plusPrio","ranges":[{"startOffset":23175,"endOffset":23244,"count":37}],"isBlockCoverage":true},{"functionName":"ver","ranges":[{"startOffset":23245,"endOffset":23327,"count":533}],"isBlockCoverage":true},{"functionName":"verNot","ranges":[{"startOffset":23328,"endOffset":23408,"count":653}],"isBlockCoverage":true},{"functionName":"failCombinator","ranges":[{"startOffset":23409,"endOffset":23471,"count":3}],"isBlockCoverage":true},{"functionName":"failStar","ranges":[{"startOffset":23472,"endOffset":23522,"count":2}],"isBlockCoverage":true}]},{"scriptId":"707","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1049,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":5},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":1074303}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":5}],"isBlockCoverage":true}]},{"scriptId":"708","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/expression_node.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8535,"count":1}],"isBlockCoverage":true},{"functionName":"ExpressionNode","ranges":[{"startOffset":322,"endOffset":408,"count":318118}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":413,"endOffset":458,"count":673467}],"isBlockCoverage":true},{"functionName":"countTokens","ranges":[{"startOffset":463,"endOffset":622,"count":531259},{"startOffset":544,"endOffset":596,"count":728736}],"isBlockCoverage":true},{"functionName":"getFirstToken","ranges":[{"startOffset":627,"endOffset":823,"count":58359},{"startOffset":746,"endOffset":822,"count":0}],"isBlockCoverage":true},{"functionName":"concatTokensWithLinebreaks","ranges":[{"startOffset":828,"endOffset":1645,"count":35},{"startOffset":945,"endOffset":1619,"count":111},{"startOffset":997,"endOffset":1038,"count":0},{"startOffset":1067,"endOffset":1120,"count":35},{"startOffset":1120,"endOffset":1583,"count":76},{"startOffset":1222,"endOffset":1257,"count":2},{"startOffset":1259,"endOffset":1318,"count":2},{"startOffset":1318,"endOffset":1583,"count":74},{"startOffset":1400,"endOffset":1474,"count":2},{"startOffset":1474,"endOffset":1569,"count":72}],"isBlockCoverage":true},{"functionName":"concatTokens","ranges":[{"startOffset":1650,"endOffset":2271,"count":19927},{"startOffset":1753,"endOffset":2245,"count":37486},{"startOffset":1805,"endOffset":1846,"count":0},{"startOffset":1875,"endOffset":1928,"count":19927},{"startOffset":1928,"endOffset":2209,"count":17559},{"startOffset":2030,"endOffset":2065,"count":3701},{"startOffset":2067,"endOffset":2126,"count":3701},{"startOffset":2126,"endOffset":2209,"count":13858}],"isBlockCoverage":true},{"functionName":"concatTokensWithoutStringsAndComments","ranges":[{"startOffset":2276,"endOffset":3234,"count":47},{"startOffset":2404,"endOffset":3208,"count":63},{"startOffset":2768,"endOffset":2809,"count":0},{"startOffset":2838,"endOffset":2891,"count":47},{"startOffset":2891,"endOffset":3172,"count":16},{"startOffset":2993,"endOffset":3028,"count":9},{"startOffset":3030,"endOffset":3089,"count":9},{"startOffset":3089,"endOffset":3172,"count":7}],"isBlockCoverage":true},{"functionName":"getTokens","ranges":[{"startOffset":3282,"endOffset":3453,"count":20158},{"startOffset":3367,"endOffset":3424,"count":32608}],"isBlockCoverage":true},{"functionName":"toTokens","ranges":[{"startOffset":3458,"endOffset":3892,"count":42747},{"startOffset":3548,"endOffset":3620,"count":19932},{"startOffset":3620,"endOffset":3662,"count":22815},{"startOffset":3662,"endOffset":3863,"count":28140},{"startOffset":3717,"endOffset":3770,"count":18001},{"startOffset":3770,"endOffset":3853,"count":10139},{"startOffset":3863,"endOffset":3891,"count":22815}],"isBlockCoverage":true},{"functionName":"getLastToken","ranges":[{"startOffset":3897,"endOffset":4104,"count":1579},{"startOffset":4028,"endOffset":4103,"count":0}],"isBlockCoverage":true},{"functionName":"getAllTokens","ranges":[{"startOffset":4109,"endOffset":4431,"count":1326},{"startOffset":4198,"endOffset":4405,"count":1643},{"startOffset":4257,"endOffset":4311,"count":553},{"startOffset":4311,"endOffset":4395,"count":1090}],"isBlockCoverage":true},{"functionName":"getDirectTokens","ranges":[{"startOffset":4436,"endOffset":4677,"count":35},{"startOffset":4528,"endOffset":4651,"count":61},{"startOffset":4587,"endOffset":4641,"count":25}],"isBlockCoverage":true},{"functionName":"findDirectExpression","ranges":[{"startOffset":4682,"endOffset":4928,"count":17244},{"startOffset":4759,"endOffset":4896,"count":34815},{"startOffset":4809,"endOffset":4839,"count":24346},{"startOffset":4841,"endOffset":4886,"count":6733},{"startOffset":4896,"endOffset":4927,"count":10511}],"isBlockCoverage":true},{"functionName":"findExpressionAfterToken","ranges":[{"startOffset":4933,"endOffset":5406,"count":342},{"startOffset":5065,"endOffset":5374,"count":777},{"startOffset":5212,"endOffset":5268,"count":500},{"startOffset":5285,"endOffset":5318,"count":60},{"startOffset":5320,"endOffset":5364,"count":60},{"startOffset":5374,"endOffset":5405,"count":282}],"isBlockCoverage":true},{"functionName":"findDirectExpressions","ranges":[{"startOffset":5411,"endOffset":5679,"count":4161},{"startOffset":5513,"endOffset":5653,"count":13543},{"startOffset":5563,"endOffset":5593,"count":8315},{"startOffset":5595,"endOffset":5643,"count":2137}],"isBlockCoverage":true},{"functionName":"findDirectExpressionsMulti","ranges":[{"startOffset":5684,"endOffset":6097,"count":151},{"startOffset":5791,"endOffset":6071,"count":238},{"startOffset":5842,"endOffset":6061,"count":134},{"startOffset":5882,"endOffset":6047,"count":195},{"startOffset":5934,"endOffset":6029,"count":88}],"isBlockCoverage":true},{"functionName":"findDirectTokenByText","ranges":[{"startOffset":6102,"endOffset":6424,"count":6112},{"startOffset":6223,"endOffset":6392,"count":9488},{"startOffset":6281,"endOffset":6329,"count":1618},{"startOffset":6331,"endOffset":6382,"count":259},{"startOffset":6392,"endOffset":6423,"count":5853}],"isBlockCoverage":true},{"functionName":"findAllExpressionsRecursive","ranges":[{"startOffset":6429,"endOffset":6838,"count":55154},{"startOffset":6537,"endOffset":6812,"count":83815},{"startOffset":6596,"endOffset":6637,"count":40330},{"startOffset":6637,"endOffset":6736,"count":43485},{"startOffset":6688,"endOffset":6736,"count":3121},{"startOffset":6736,"endOffset":6812,"count":43485}],"isBlockCoverage":true},{"functionName":"findAllExpressions","ranges":[{"startOffset":6843,"endOffset":7271,"count":90076},{"startOffset":6942,"endOffset":7245,"count":136521},{"startOffset":7001,"endOffset":7042,"count":79238},{"startOffset":7042,"endOffset":7235,"count":57283},{"startOffset":7093,"endOffset":7141,"count":3048},{"startOffset":7141,"endOffset":7235,"count":54235}],"isBlockCoverage":true},{"functionName":"findAllExpressionsMulti","ranges":[{"startOffset":7276,"endOffset":7881,"count":17679},{"startOffset":7399,"endOffset":7855,"count":25216},{"startOffset":7458,"endOffset":7499,"count":14975},{"startOffset":7499,"endOffset":7573,"count":10241},{"startOffset":7573,"endOffset":7691,"count":33243},{"startOffset":7621,"endOffset":7677,"count":335},{"startOffset":7691,"endOffset":7730,"count":10241},{"startOffset":7730,"endOffset":7751,"count":335},{"startOffset":7753,"endOffset":7845,"count":10086}],"isBlockCoverage":true},{"functionName":"findFirstExpression","ranges":[{"startOffset":7886,"endOffset":8448,"count":184627},{"startOffset":7954,"endOffset":7990,"count":408},{"startOffset":7990,"endOffset":8039,"count":184219},{"startOffset":8039,"endOffset":8416,"count":275705},{"startOffset":8098,"endOffset":8139,"count":152362},{"startOffset":8139,"endOffset":8406,"count":123343},{"startOffset":8190,"endOffset":8235,"count":15550},{"startOffset":8235,"endOffset":8406,"count":107793},{"startOffset":8341,"endOffset":8392,"count":2784},{"startOffset":8416,"endOffset":8447,"count":165885}],"isBlockCoverage":true}]},{"scriptId":"709","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/token_node.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":745,"count":1}],"isBlockCoverage":true},{"functionName":"TokenNode","ranges":[{"startOffset":127,"endOffset":181,"count":509904}],"isBlockCoverage":true},{"functionName":"addChild","ranges":[{"startOffset":186,"endOffset":269,"count":0}],"isBlockCoverage":false},{"functionName":"setChildren","ranges":[{"startOffset":274,"endOffset":367,"count":0}],"isBlockCoverage":false},{"functionName":"getChildren","ranges":[{"startOffset":372,"endOffset":412,"count":0}],"isBlockCoverage":false},{"functionName":"concatTokens","ranges":[{"startOffset":417,"endOffset":475,"count":328}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":480,"endOffset":520,"count":351812}],"isBlockCoverage":true},{"functionName":"countTokens","ranges":[{"startOffset":525,"endOffset":564,"count":632751}],"isBlockCoverage":true},{"functionName":"getFirstToken","ranges":[{"startOffset":569,"endOffset":619,"count":87696}],"isBlockCoverage":true},{"functionName":"getLastToken","ranges":[{"startOffset":624,"endOffset":673,"count":39193}],"isBlockCoverage":true}]},{"scriptId":"710","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/_abstract_node.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":587,"count":1}],"isBlockCoverage":true},{"functionName":"AbstractNode","ranges":[{"startOffset":133,"endOffset":182,"count":406983}],"isBlockCoverage":true},{"functionName":"addChild","ranges":[{"startOffset":187,"endOffset":237,"count":43475}],"isBlockCoverage":true},{"functionName":"setChildren","ranges":[{"startOffset":242,"endOffset":305,"count":318118}],"isBlockCoverage":true},{"functionName":"getChildren","ranges":[{"startOffset":310,"endOffset":361,"count":1693488}],"isBlockCoverage":true},{"functionName":"getFirstChild","ranges":[{"startOffset":366,"endOffset":422,"count":2990}],"isBlockCoverage":true},{"functionName":"getLastChild","ranges":[{"startOffset":427,"endOffset":505,"count":41289}],"isBlockCoverage":true}]},{"scriptId":"711","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/statement_node.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":11153,"count":1}],"isBlockCoverage":true},{"functionName":"StatementNode","ranges":[{"startOffset":815,"endOffset":1067,"count":50310},{"startOffset":958,"endOffset":1005,"count":24380},{"startOffset":1005,"endOffset":1061,"count":25930}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1072,"endOffset":1116,"count":522259}],"isBlockCoverage":true},{"functionName":"getColon","ranges":[{"startOffset":1121,"endOffset":1166,"count":31005}],"isBlockCoverage":true},{"functionName":"getPragmas","ranges":[{"startOffset":1171,"endOffset":1220,"count":9799}],"isBlockCoverage":true},{"functionName":"setChildren","ranges":[{"startOffset":1225,"endOffset":1413,"count":50274},{"startOffset":1284,"endOffset":1352,"count":0}],"isBlockCoverage":true},{"functionName":"getStart","ranges":[{"startOffset":1418,"endOffset":1484,"count":5623}],"isBlockCoverage":true},{"functionName":"getEnd","ranges":[{"startOffset":1489,"endOffset":1577,"count":975}],"isBlockCoverage":true},{"functionName":"getTokens","ranges":[{"startOffset":1582,"endOffset":1753,"count":40986},{"startOffset":1667,"endOffset":1724,"count":242114}],"isBlockCoverage":true},{"functionName":"includesToken","ranges":[{"startOffset":1758,"endOffset":1964,"count":1331},{"startOffset":1824,"endOffset":1936,"count":5181},{"startOffset":1882,"endOffset":1926,"count":338},{"startOffset":1936,"endOffset":1963,"count":993}],"isBlockCoverage":true},{"functionName":"getTokenNodes","ranges":[{"startOffset":1969,"endOffset":2149,"count":1272},{"startOffset":2058,"endOffset":2120,"count":4002}],"isBlockCoverage":true},{"functionName":"concatTokens","ranges":[{"startOffset":2154,"endOffset":2775,"count":6161},{"startOffset":2257,"endOffset":2749,"count":42941},{"startOffset":2309,"endOffset":2350,"count":1},{"startOffset":2350,"endOffset":2379,"count":42940},{"startOffset":2379,"endOffset":2432,"count":6161},{"startOffset":2432,"endOffset":2713,"count":36779},{"startOffset":2534,"endOffset":2569,"count":10384},{"startOffset":2571,"endOffset":2630,"count":10379},{"startOffset":2630,"endOffset":2713,"count":26400},{"startOffset":2713,"endOffset":2749,"count":42940}],"isBlockCoverage":true},{"functionName":"concatTokensVirtual","ranges":[{"startOffset":2780,"endOffset":3605,"count":11},{"startOffset":2890,"endOffset":3579,"count":40},{"startOffset":2942,"endOffset":2983,"count":0},{"startOffset":3043,"endOffset":3051,"count":11},{"startOffset":3052,"endOffset":3069,"count":29},{"startOffset":3132,"endOffset":3140,"count":0},{"startOffset":3189,"endOffset":3242,"count":11},{"startOffset":3242,"endOffset":3543,"count":29},{"startOffset":3371,"endOffset":3399,"count":13},{"startOffset":3401,"endOffset":3460,"count":13},{"startOffset":3460,"endOffset":3543,"count":16}],"isBlockCoverage":true},{"functionName":"concatTokensWithoutStringsAndComments","ranges":[{"startOffset":3610,"endOffset":4622,"count":938},{"startOffset":3738,"endOffset":4596,"count":3611},{"startOffset":3864,"endOffset":3916,"count":3595},{"startOffset":3933,"endOffset":3996,"count":3594},{"startOffset":4013,"endOffset":4078,"count":3591},{"startOffset":4095,"endOffset":4154,"count":3589},{"startOffset":4156,"endOffset":4197,"count":25},{"startOffset":4197,"endOffset":4226,"count":3586},{"startOffset":4226,"endOffset":4279,"count":938},{"startOffset":4279,"endOffset":4560,"count":2648},{"startOffset":4381,"endOffset":4416,"count":1064},{"startOffset":4418,"endOffset":4477,"count":1064},{"startOffset":4477,"endOffset":4560,"count":1584},{"startOffset":4560,"endOffset":4596,"count":3586}],"isBlockCoverage":true},{"functionName":"getTerminator","ranges":[{"startOffset":4627,"endOffset":4695,"count":1530}],"isBlockCoverage":true},{"functionName":"getFirstToken","ranges":[{"startOffset":4700,"endOffset":4927,"count":53572},{"startOffset":4819,"endOffset":4926,"count":0}],"isBlockCoverage":true},{"functionName":"getLastToken","ranges":[{"startOffset":4932,"endOffset":5152,"count":38265},{"startOffset":5077,"endOffset":5151,"count":0}],"isBlockCoverage":true},{"functionName":"findDirectExpression","ranges":[{"startOffset":5157,"endOffset":5421,"count":17716},{"startOffset":5234,"endOffset":5389,"count":66761},{"startOffset":5302,"endOffset":5332,"count":27575},{"startOffset":5334,"endOffset":5379,"count":6651},{"startOffset":5389,"endOffset":5420,"count":11065}],"isBlockCoverage":true},{"functionName":"findDirectExpressions","ranges":[{"startOffset":5426,"endOffset":5712,"count":2785},{"startOffset":5528,"endOffset":5686,"count":12544},{"startOffset":5596,"endOffset":5626,"count":4935},{"startOffset":5628,"endOffset":5676,"count":1918}],"isBlockCoverage":true},{"functionName":"findDirectTokenByText","ranges":[{"startOffset":5717,"endOffset":6037,"count":4725},{"startOffset":5837,"endOffset":6005,"count":23773},{"startOffset":5895,"endOffset":5942,"count":14681},{"startOffset":5944,"endOffset":5995,"count":109},{"startOffset":6005,"endOffset":6036,"count":4616}],"isBlockCoverage":true},{"functionName":"findFirstExpression","ranges":[{"startOffset":6042,"endOffset":6527,"count":49141},{"startOffset":6118,"endOffset":6495,"count":165327},{"startOffset":6177,"endOffset":6218,"count":98797},{"startOffset":6218,"endOffset":6485,"count":66530},{"startOffset":6269,"endOffset":6314,"count":15802},{"startOffset":6314,"endOffset":6485,"count":50728},{"startOffset":6420,"endOffset":6471,"count":4154},{"startOffset":6495,"endOffset":6526,"count":29185}],"isBlockCoverage":true},{"functionName":"findAllExpressions","ranges":[{"startOffset":6532,"endOffset":6960,"count":37025},{"startOffset":6631,"endOffset":6934,"count":125489},{"startOffset":6690,"endOffset":6731,"count":91654},{"startOffset":6731,"endOffset":6924,"count":33835},{"startOffset":6782,"endOffset":6830,"count":820},{"startOffset":6830,"endOffset":6924,"count":33015}],"isBlockCoverage":true},{"functionName":"findAllExpressionsRecursive","ranges":[{"startOffset":6965,"endOffset":7374,"count":10778},{"startOffset":7073,"endOffset":7348,"count":38564},{"startOffset":7132,"endOffset":7173,"count":26897},{"startOffset":7173,"endOffset":7272,"count":11667},{"startOffset":7224,"endOffset":7272,"count":892},{"startOffset":7272,"endOffset":7348,"count":11667}],"isBlockCoverage":true},{"functionName":"findAllExpressionsMulti","ranges":[{"startOffset":7379,"endOffset":7984,"count":8834},{"startOffset":7502,"endOffset":7958,"count":29443},{"startOffset":7561,"endOffset":7602,"count":21786},{"startOffset":7602,"endOffset":7676,"count":7657},{"startOffset":7676,"endOffset":7794,"count":24281},{"startOffset":7724,"endOffset":7780,"count":175},{"startOffset":7794,"endOffset":7833,"count":7657},{"startOffset":7833,"endOffset":7854,"count":175},{"startOffset":7856,"endOffset":7948,"count":7593}],"isBlockCoverage":true},{"functionName":"findTokenSequencePosition","ranges":[{"startOffset":8249,"endOffset":9142,"count":22},{"startOffset":8356,"endOffset":9110,"count":94},{"startOffset":8482,"endOffset":8534,"count":91},{"startOffset":8551,"endOffset":8614,"count":87},{"startOffset":8631,"endOffset":8696,"count":86},{"startOffset":8713,"endOffset":8772,"count":86},{"startOffset":8774,"endOffset":8815,"count":8},{"startOffset":8815,"endOffset":8837,"count":86},{"startOffset":8837,"endOffset":8879,"count":64},{"startOffset":8880,"endOffset":8980,"count":22},{"startOffset":8917,"endOffset":8925,"count":0},{"startOffset":8982,"endOffset":9037,"count":22},{"startOffset":9037,"endOffset":9100,"count":64},{"startOffset":9110,"endOffset":9141,"count":0}],"isBlockCoverage":true},{"functionName":"findExpressionAfterToken","ranges":[{"startOffset":9147,"endOffset":9638,"count":2344},{"startOffset":9279,"endOffset":9606,"count":9528},{"startOffset":9426,"endOffset":9482,"count":5465},{"startOffset":9499,"endOffset":9550,"count":419},{"startOffset":9552,"endOffset":9596,"count":307},{"startOffset":9606,"endOffset":9637,"count":2037}],"isBlockCoverage":true},{"functionName":"findExpressionsAfterToken","ranges":[{"startOffset":9643,"endOffset":10156,"count":14},{"startOffset":9800,"endOffset":10130,"count":155},{"startOffset":9947,"endOffset":10003,"count":90},{"startOffset":10020,"endOffset":10071,"count":7},{"startOffset":10073,"endOffset":10120,"count":7}],"isBlockCoverage":true},{"functionName":"toTokens","ranges":[{"startOffset":10198,"endOffset":10632,"count":283053},{"startOffset":10288,"endOffset":10360,"count":221962},{"startOffset":10360,"endOffset":10402,"count":61091},{"startOffset":10402,"endOffset":10603,"count":87512},{"startOffset":10457,"endOffset":10510,"count":46573},{"startOffset":10510,"endOffset":10593,"count":40939},{"startOffset":10603,"endOffset":10631,"count":61091}],"isBlockCoverage":true},{"functionName":"toTokenNodess","ranges":[{"startOffset":10637,"endOffset":11069,"count":5346},{"startOffset":10732,"endOffset":10798,"count":3042},{"startOffset":10798,"endOffset":10840,"count":2304},{"startOffset":10840,"endOffset":11040,"count":3118},{"startOffset":10895,"endOffset":10942,"count":1774},{"startOffset":10942,"endOffset":11030,"count":1344},{"startOffset":11040,"endOffset":11068,"count":2304}],"isBlockCoverage":true}]},{"scriptId":"712","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/structure_node.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7564,"count":1}],"isBlockCoverage":true},{"functionName":"StructureNode","ranges":[{"startOffset":281,"endOffset":364,"count":38530}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":369,"endOffset":413,"count":326227}],"isBlockCoverage":true},{"functionName":"findParent","ranges":[{"startOffset":492,"endOffset":953,"count":350},{"startOffset":559,"endOffset":921,"count":710},{"startOffset":593,"endOffset":637,"count":70},{"startOffset":637,"endOffset":911,"count":640},{"startOffset":708,"endOffset":749,"count":360},{"startOffset":749,"endOffset":911,"count":280},{"startOffset":846,"endOffset":897,"count":244},{"startOffset":921,"endOffset":952,"count":36}],"isBlockCoverage":true},{"functionName":"concatTokens","ranges":[{"startOffset":958,"endOffset":1140,"count":45},{"startOffset":1048,"endOffset":1111,"count":63}],"isBlockCoverage":true},{"functionName":"findDirectStatement","ranges":[{"startOffset":1145,"endOffset":1406,"count":205},{"startOffset":1221,"endOffset":1374,"count":293},{"startOffset":1287,"endOffset":1317,"count":289},{"startOffset":1319,"endOffset":1364,"count":174},{"startOffset":1374,"endOffset":1405,"count":31}],"isBlockCoverage":true},{"functionName":"findDirectStatements","ranges":[{"startOffset":1411,"endOffset":1694,"count":3608},{"startOffset":1512,"endOffset":1668,"count":5477},{"startOffset":1578,"endOffset":1608,"count":5122},{"startOffset":1610,"endOffset":1658,"count":607}],"isBlockCoverage":true},{"functionName":"findDirectStructures","ranges":[{"startOffset":1699,"endOffset":1965,"count":7904},{"startOffset":1800,"endOffset":1939,"count":13711},{"startOffset":1849,"endOffset":1879,"count":12780},{"startOffset":1881,"endOffset":1929,"count":704}],"isBlockCoverage":true},{"functionName":"findFirstStatement","ranges":[{"startOffset":1970,"endOffset":2461,"count":6043},{"startOffset":2045,"endOffset":2429,"count":6632},{"startOffset":2092,"endOffset":2137,"count":5363},{"startOffset":2137,"endOffset":2419,"count":1269},{"startOffset":2208,"endOffset":2249,"count":710},{"startOffset":2249,"endOffset":2419,"count":559},{"startOffset":2354,"endOffset":2405,"count":75},{"startOffset":2429,"endOffset":2460,"count":605}],"isBlockCoverage":true},{"functionName":"findFirstExpression","ranges":[{"startOffset":2466,"endOffset":2707,"count":10804},{"startOffset":2542,"endOffset":2675,"count":20362},{"startOffset":2622,"endOffset":2665,"count":2911},{"startOffset":2675,"endOffset":2706,"count":7893}],"isBlockCoverage":true},{"functionName":"getFirstStatement","ranges":[{"startOffset":2712,"endOffset":2982,"count":146},{"startOffset":2849,"endOffset":2894,"count":145},{"startOffset":2894,"endOffset":2950,"count":1},{"startOffset":2950,"endOffset":2981,"count":0}],"isBlockCoverage":true},{"functionName":"getFirstToken","ranges":[{"startOffset":2987,"endOffset":3215,"count":389},{"startOffset":3135,"endOffset":3214,"count":0}],"isBlockCoverage":true},{"functionName":"getLastToken","ranges":[{"startOffset":3220,"endOffset":3444,"count":1404},{"startOffset":3365,"endOffset":3443,"count":0}],"isBlockCoverage":true},{"functionName":"findAllExpressions","ranges":[{"startOffset":3449,"endOffset":3642,"count":21540},{"startOffset":3548,"endOffset":3616,"count":41608}],"isBlockCoverage":true},{"functionName":"findAllExpressionsRecursive","ranges":[{"startOffset":3647,"endOffset":4046,"count":7811},{"startOffset":3755,"endOffset":4020,"count":14796},{"startOffset":3822,"endOffset":3907,"count":8646},{"startOffset":3907,"endOffset":4010,"count":6150}],"isBlockCoverage":true},{"functionName":"findAllExpressionsMulti","ranges":[{"startOffset":4051,"endOffset":4254,"count":5266},{"startOffset":4155,"endOffset":4228,"count":10024}],"isBlockCoverage":true},{"functionName":"findAllStatements","ranges":[{"startOffset":4259,"endOffset":4617,"count":76670},{"startOffset":4357,"endOffset":4591,"count":149238},{"startOffset":4407,"endOffset":4482,"count":56324},{"startOffset":4482,"endOffset":4581,"count":92914},{"startOffset":4533,"endOffset":4581,"count":2637}],"isBlockCoverage":true},{"functionName":"findAllStatementNodes","ranges":[{"startOffset":4622,"endOffset":4964,"count":2243},{"startOffset":4720,"endOffset":4938,"count":4397},{"startOffset":4787,"endOffset":4835,"count":2730},{"startOffset":4835,"endOffset":4928,"count":1667}],"isBlockCoverage":true},{"functionName":"findAllStructuresRecursive","ranges":[{"startOffset":4969,"endOffset":5384,"count":29025},{"startOffset":5076,"endOffset":5358,"count":55883},{"startOffset":5143,"endOffset":5184,"count":32532},{"startOffset":5184,"endOffset":5283,"count":23351},{"startOffset":5235,"endOffset":5283,"count":232},{"startOffset":5283,"endOffset":5358,"count":23351}],"isBlockCoverage":true},{"functionName":"findAllStructuresMulti","ranges":[{"startOffset":5389,"endOffset":6097,"count":2120},{"startOffset":5474,"endOffset":5573,"count":5112},{"startOffset":5517,"endOffset":5563,"count":135},{"startOffset":5573,"endOffset":5622,"count":1985},{"startOffset":5622,"endOffset":6071,"count":3958},{"startOffset":5689,"endOffset":5730,"count":2346},{"startOffset":5730,"endOffset":5796,"count":1612},{"startOffset":5796,"endOffset":5947,"count":4020},{"startOffset":5843,"endOffset":5933,"count":0},{"startOffset":5947,"endOffset":6061,"count":1612},{"startOffset":6071,"endOffset":6096,"count":1985}],"isBlockCoverage":true},{"functionName":"findAllStructures","ranges":[{"startOffset":6102,"endOffset":6615,"count":113981},{"startOffset":6192,"endOffset":6230,"count":0},{"startOffset":6279,"endOffset":6589,"count":195928},{"startOffset":6346,"endOffset":6387,"count":108766},{"startOffset":6387,"endOffset":6579,"count":87162},{"startOffset":6438,"endOffset":6486,"count":3732},{"startOffset":6486,"endOffset":6579,"count":83430}],"isBlockCoverage":true},{"functionName":"findDirectStructure","ranges":[{"startOffset":6620,"endOffset":6907,"count":11455},{"startOffset":6688,"endOffset":6724,"count":2788},{"startOffset":6724,"endOffset":6773,"count":8667},{"startOffset":6773,"endOffset":6875,"count":21585},{"startOffset":6820,"endOffset":6865,"count":2021},{"startOffset":6875,"endOffset":6906,"count":6646}],"isBlockCoverage":true},{"functionName":"findFirstStructure","ranges":[{"startOffset":6912,"endOffset":7480,"count":29579},{"startOffset":6979,"endOffset":7015,"count":0},{"startOffset":7064,"endOffset":7448,"count":63475},{"startOffset":7131,"endOffset":7172,"count":43955},{"startOffset":7172,"endOffset":7438,"count":19520},{"startOffset":7223,"endOffset":7268,"count":5276},{"startOffset":7268,"endOffset":7438,"count":14244},{"startOffset":7373,"endOffset":7424,"count":14},{"startOffset":7448,"endOffset":7479,"count":24289}],"isBlockCoverage":true}]},{"scriptId":"713","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/token_node_regex.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":297,"count":1}],"isBlockCoverage":true}]},{"scriptId":"714","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/result.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":957,"count":1}],"isBlockCoverage":true},{"functionName":"Result","ranges":[{"startOffset":121,"endOffset":444,"count":391062},{"startOffset":398,"endOffset":438,"count":61077}],"isBlockCoverage":true},{"functionName":"peek","ranges":[{"startOffset":449,"endOffset":508,"count":2087258}],"isBlockCoverage":true},{"functionName":"shift","ranges":[{"startOffset":513,"endOffset":659,"count":329985}],"isBlockCoverage":true},{"functionName":"popNode","ranges":[{"startOffset":664,"endOffset":714,"count":432663}],"isBlockCoverage":true},{"functionName":"getNodes","ranges":[{"startOffset":719,"endOffset":764,"count":660751}],"isBlockCoverage":true},{"functionName":"setNodes","ranges":[{"startOffset":769,"endOffset":812,"count":318118}],"isBlockCoverage":true},{"functionName":"remainingLength","ranges":[{"startOffset":817,"endOffset":895,"count":2995184}],"isBlockCoverage":true}]},{"scriptId":"715","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":11973,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":216},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":182589}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":217},{"startOffset":659,"endOffset":690,"count":216}],"isBlockCoverage":true}]},{"scriptId":"716","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/abstract_methods.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":464,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":251,"endOffset":374,"count":1}],"isBlockCoverage":true}]},{"scriptId":"717","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":350,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":193,"endOffset":275,"count":1}],"isBlockCoverage":true}]},{"scriptId":"718","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/abstract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":323,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":189,"endOffset":255,"count":1}],"isBlockCoverage":true}]},{"scriptId":"719","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/and_return.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":331,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":191,"endOffset":259,"count":1}],"isBlockCoverage":true}]},{"scriptId":"720","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/arith_operator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":548,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":249,"endOffset":464,"count":1}],"isBlockCoverage":true}]},{"scriptId":"721","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/arrow_or_dash.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":497,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":245,"endOffset":418,"count":1}],"isBlockCoverage":true}]},{"scriptId":"722","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/arrow.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":432,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":233,"endOffset":373,"count":1}],"isBlockCoverage":true}]},{"scriptId":"723","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/assign_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1319,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":462,"endOffset":1238,"count":1}],"isBlockCoverage":true}]},{"scriptId":"724","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4271,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":598,"endOffset":4209,"count":17}],"isBlockCoverage":true}]},{"scriptId":"725","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/text_element.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":462,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":270,"endOffset":384,"count":1}],"isBlockCoverage":true}]},{"scriptId":"726","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/attribute_chain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":769,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":272,"endOffset":682,"count":1}],"isBlockCoverage":true}]},{"scriptId":"727","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/table_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":474,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":241,"endOffset":402,"count":1}],"isBlockCoverage":true}]},{"scriptId":"728","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/dereference.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":423,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":245,"endOffset":346,"count":1}],"isBlockCoverage":true}]},{"scriptId":"729","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/dynamic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":656,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":262,"endOffset":591,"count":1}],"isBlockCoverage":true}]},{"scriptId":"730","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":514,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":183,"endOffset":455,"count":15}],"isBlockCoverage":true}]},{"scriptId":"731","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_source3.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":410,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":224,"endOffset":326,"count":1}],"isBlockCoverage":true}]},{"scriptId":"732","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/association_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":363,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":203,"endOffset":273,"count":1}],"isBlockCoverage":true}]},{"scriptId":"733","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/attribute_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":374,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":199,"endOffset":290,"count":1}],"isBlockCoverage":true}]},{"scriptId":"734","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/behavior_definition_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":428,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":217,"endOffset":316,"count":1}],"isBlockCoverage":true}]},{"scriptId":"735","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/block_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":538,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":241,"endOffset":466,"count":1}],"isBlockCoverage":true}]},{"scriptId":"736","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/call_transformation_options.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":634,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":337,"endOffset":513,"count":1}],"isBlockCoverage":true}]},{"scriptId":"737","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/integer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":567,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":237,"endOffset":502,"count":2}],"isBlockCoverage":true}]},{"scriptId":"738","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/call_transformation_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":714,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":370,"endOffset":584,"count":1}],"isBlockCoverage":true}]},{"scriptId":"739","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/cast.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":763,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":335,"endOffset":707,"count":1}],"isBlockCoverage":true}]},{"scriptId":"740","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/let.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":373,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":204,"endOffset":320,"count":1}],"isBlockCoverage":true}]},{"scriptId":"741","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/class_final.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":331,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":193,"endOffset":256,"count":1}],"isBlockCoverage":true}]},{"scriptId":"742","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/class_friends.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":464,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":243,"endOffset":383,"count":1}],"isBlockCoverage":true}]},{"scriptId":"743","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/class_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":344,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":191,"endOffset":272,"count":2}],"isBlockCoverage":true}]},{"scriptId":"744","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/class_global.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":337,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":195,"endOffset":259,"count":1}],"isBlockCoverage":true}]},{"scriptId":"745","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/color.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":853,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":221,"endOffset":794,"count":1}],"isBlockCoverage":true}]},{"scriptId":"746","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/compare_operator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":672,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":203,"endOffset":582,"count":1}],"isBlockCoverage":true}]},{"scriptId":"747","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/compare.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1591,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":309,"endOffset":1526,"count":1}],"isBlockCoverage":true}]},{"scriptId":"748","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_chain_simple.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":639,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":238,"endOffset":533,"count":1}],"isBlockCoverage":true}]},{"scriptId":"749","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_chain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":765,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":272,"endOffset":678,"count":1}],"isBlockCoverage":true}]},{"scriptId":"750","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_compare_simple.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":619,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":312,"endOffset":507,"count":1}],"isBlockCoverage":true}]},{"scriptId":"751","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_compare_single.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":600,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":312,"endOffset":488,"count":1}],"isBlockCoverage":true}]},{"scriptId":"752","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_compare.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1369,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":327,"endOffset":1276,"count":1}],"isBlockCoverage":true}]},{"scriptId":"753","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_cond_sub.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":647,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":280,"endOffset":553,"count":1}],"isBlockCoverage":true}]},{"scriptId":"754","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_cond.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":580,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":224,"endOffset":496,"count":1}],"isBlockCoverage":true}]},{"scriptId":"755","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":369,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":199,"endOffset":285,"count":1}],"isBlockCoverage":true}]},{"scriptId":"756","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/concatenated_constant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":676,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":213,"endOffset":571,"count":1}],"isBlockCoverage":true}]},{"scriptId":"757","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/cond_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":656,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":214,"endOffset":587,"count":1}],"isBlockCoverage":true}]},{"scriptId":"758","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/cond_sub.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":729,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":262,"endOffset":663,"count":1}],"isBlockCoverage":true}]},{"scriptId":"759","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/cond.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":676,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":295,"endOffset":620,"count":1}],"isBlockCoverage":true}]},{"scriptId":"760","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/constant_field_length.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":607,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":286,"endOffset":504,"count":1}],"isBlockCoverage":true}]},{"scriptId":"761","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/constant_string.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":363,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":201,"endOffset":276,"count":1}],"isBlockCoverage":true}]},{"scriptId":"762","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/constant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":418,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":214,"endOffset":350,"count":2}],"isBlockCoverage":true}]},{"scriptId":"763","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/conv_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":378,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":214,"endOffset":309,"count":1}],"isBlockCoverage":true}]},{"scriptId":"764","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/corresponding_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1161,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":385,"endOffset":1065,"count":1}],"isBlockCoverage":true}]},{"scriptId":"765","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/data_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":768,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":235,"endOffset":681,"count":1}],"isBlockCoverage":true}]},{"scriptId":"766","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/database_connection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":493,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":234,"endOffset":394,"count":1}],"isBlockCoverage":true}]},{"scriptId":"767","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/database_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":442,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":239,"endOffset":358,"count":1}],"isBlockCoverage":true}]},{"scriptId":"768","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/decimals.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":385,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":214,"endOffset":317,"count":1}],"isBlockCoverage":true}]},{"scriptId":"769","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/default.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":505,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":212,"endOffset":440,"count":1}],"isBlockCoverage":true}]},{"scriptId":"770","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/definition_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":631,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":251,"endOffset":544,"count":1}],"isBlockCoverage":true}]},{"scriptId":"771","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/destination.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":444,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":220,"endOffset":367,"count":1}],"isBlockCoverage":true}]},{"scriptId":"772","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/entity_association.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":378,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":207,"endOffset":282,"count":1}],"isBlockCoverage":true}]},{"scriptId":"773","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/event_handler.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":529,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":222,"endOffset":448,"count":1}],"isBlockCoverage":true}]},{"scriptId":"774","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/event_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":382,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":191,"endOffset":310,"count":1}],"isBlockCoverage":true}]},{"scriptId":"775","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/exception_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":565,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":323,"endOffset":481,"count":1}],"isBlockCoverage":true}]},{"scriptId":"776","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_all.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":504,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":189,"endOffset":435,"count":0}],"isBlockCoverage":false}]},{"scriptId":"777","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_assignment.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":498,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":285,"endOffset":408,"count":1}],"isBlockCoverage":true}]},{"scriptId":"778","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_sub.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":649,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":285,"endOffset":580,"count":11}],"isBlockCoverage":true}]},{"scriptId":"779","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_chain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1172,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":268,"endOffset":1097,"count":14}],"isBlockCoverage":true}]},{"scriptId":"780","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_length.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":715,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":270,"endOffset":637,"count":5}],"isBlockCoverage":true}]},{"scriptId":"781","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_offset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":539,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":270,"endOffset":461,"count":3}],"isBlockCoverage":true}]},{"scriptId":"782","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_symbol.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":633,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":245,"endOffset":555,"count":4}],"isBlockCoverage":true}]},{"scriptId":"783","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/filter_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":610,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":218,"endOffset":535,"count":1}],"isBlockCoverage":true}]},{"scriptId":"784","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/final_methods.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":442,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":245,"endOffset":361,"count":1}],"isBlockCoverage":true}]},{"scriptId":"785","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/find_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":477,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":236,"endOffset":408,"count":1}],"isBlockCoverage":true}]},{"scriptId":"786","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/for.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1670,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":299,"endOffset":1617,"count":1}],"isBlockCoverage":true}]},{"scriptId":"787","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_changing.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":402,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":222,"endOffset":321,"count":1}],"isBlockCoverage":true}]},{"scriptId":"788","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":635,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":239,"endOffset":566,"count":1}],"isBlockCoverage":true}]},{"scriptId":"789","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_param_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":651,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":249,"endOffset":566,"count":1}],"isBlockCoverage":true}]},{"scriptId":"790","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_param_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1005,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":224,"endOffset":920,"count":1}],"isBlockCoverage":true}]},{"scriptId":"791","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_param.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":564,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":216,"endOffset":492,"count":1}],"isBlockCoverage":true}]},{"scriptId":"792","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_raising.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":651,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":270,"endOffset":573,"count":1}],"isBlockCoverage":true}]},{"scriptId":"793","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_tables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":390,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":218,"endOffset":315,"count":1}],"isBlockCoverage":true}]},{"scriptId":"794","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_using.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":384,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":216,"endOffset":312,"count":1}],"isBlockCoverage":true}]},{"scriptId":"795","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/fstarget.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":375,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":214,"endOffset":307,"count":1}],"isBlockCoverage":true}]},{"scriptId":"796","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/function_exporting_parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":796,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":418,"endOffset":672,"count":1}],"isBlockCoverage":true}]},{"scriptId":"797","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":445,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":199,"endOffset":361,"count":1}],"isBlockCoverage":true}]},{"scriptId":"798","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/function_exporting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":443,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":232,"endOffset":347,"count":1}],"isBlockCoverage":true}]},{"scriptId":"799","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/function_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":389,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":222,"endOffset":308,"count":1}],"isBlockCoverage":true}]},{"scriptId":"800","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/function_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1016,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":234,"endOffset":917,"count":1}],"isBlockCoverage":true}]},{"scriptId":"801","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/include_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":532,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":245,"endOffset":454,"count":1}],"isBlockCoverage":true}]},{"scriptId":"802","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inline_field_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":500,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":240,"endOffset":391,"count":1}],"isBlockCoverage":true}]},{"scriptId":"803","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inline_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":350,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":220,"endOffset":272,"count":1}],"isBlockCoverage":true}]},{"scriptId":"804","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inline_loop_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":601,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":238,"endOffset":495,"count":1}],"isBlockCoverage":true}]},{"scriptId":"805","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inlinedata.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":884,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":315,"endOffset":810,"count":1}],"isBlockCoverage":true}]},{"scriptId":"806","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inlinefs.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":674,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":311,"endOffset":606,"count":1}],"isBlockCoverage":true}]},{"scriptId":"807","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/interface_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":199,"endOffset":280,"count":1}],"isBlockCoverage":true}]},{"scriptId":"808","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/kernel_id.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":428,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":227,"endOffset":359,"count":1}],"isBlockCoverage":true}]},{"scriptId":"809","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/language.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":374,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":189,"endOffset":306,"count":1}],"isBlockCoverage":true}]},{"scriptId":"810","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/length.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":435,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":210,"endOffset":373,"count":1}],"isBlockCoverage":true}]},{"scriptId":"811","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/loop_group_by_component.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":807,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":341,"endOffset":700,"count":1}],"isBlockCoverage":true}]},{"scriptId":"812","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/loop_group_by_target.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":651,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":287,"endOffset":553,"count":1}],"isBlockCoverage":true}]},{"scriptId":"813","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/target.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1311,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":362,"endOffset":1249,"count":5}],"isBlockCoverage":true}]},{"scriptId":"814","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/loop_group_by.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":937,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":421,"endOffset":858,"count":1}],"isBlockCoverage":true}]},{"scriptId":"815","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/loop_target.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":649,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":218,"endOffset":574,"count":1}],"isBlockCoverage":true}]},{"scriptId":"816","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/macro_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":241,"endOffset":463,"count":1}],"isBlockCoverage":true}]},{"scriptId":"817","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/message_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":461,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":197,"endOffset":380,"count":1}],"isBlockCoverage":true}]},{"scriptId":"818","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/message_number.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":352,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":199,"endOffset":268,"count":1}],"isBlockCoverage":true}]},{"scriptId":"819","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/message_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":794,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":274,"endOffset":710,"count":1}],"isBlockCoverage":true}]},{"scriptId":"820","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/message_type_and_number.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":397,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":213,"endOffset":290,"count":1}],"isBlockCoverage":true}]},{"scriptId":"821","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_call_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":733,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":286,"endOffset":645,"count":1}],"isBlockCoverage":true}]},{"scriptId":"822","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_call_param.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1413,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":334,"endOffset":1322,"count":1}],"isBlockCoverage":true}]},{"scriptId":"823","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_call_chain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1199,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":278,"endOffset":1108,"count":5}],"isBlockCoverage":true}]},{"scriptId":"824","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":484,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":278,"endOffset":409,"count":7}],"isBlockCoverage":true}]},{"scriptId":"825","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_changing.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":438,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":232,"endOffset":341,"count":1}],"isBlockCoverage":true}]},{"scriptId":"826","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_exceptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":493,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":236,"endOffset":390,"count":1}],"isBlockCoverage":true}]},{"scriptId":"827","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_exporting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":436,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":234,"endOffset":336,"count":1}],"isBlockCoverage":true}]},{"scriptId":"828","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_importing.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":577,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":234,"endOffset":477,"count":1}],"isBlockCoverage":true}]},{"scriptId":"829","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_raising.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":728,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":301,"endOffset":634,"count":1}],"isBlockCoverage":true}]},{"scriptId":"830","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_returning.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":646,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":293,"endOffset":546,"count":1}],"isBlockCoverage":true}]},{"scriptId":"831","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_param_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":403,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":203,"endOffset":312,"count":1}],"isBlockCoverage":true}]},{"scriptId":"832","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_param_optional.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":443,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":236,"endOffset":340,"count":1}],"isBlockCoverage":true}]},{"scriptId":"833","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_param.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":856,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":279,"endOffset":778,"count":2}],"isBlockCoverage":true}]},{"scriptId":"834","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":954,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":230,"endOffset":861,"count":1}],"isBlockCoverage":true}]},{"scriptId":"835","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1358,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":272,"endOffset":1277,"count":1}],"isBlockCoverage":true}]},{"scriptId":"836","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/modif.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":315,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":183,"endOffset":256,"count":1}],"isBlockCoverage":true}]},{"scriptId":"837","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/namespace_simple_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":413,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":211,"endOffset":310,"count":1}],"isBlockCoverage":true}]},{"scriptId":"838","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/new_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1128,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":416,"endOffset":1056,"count":1}],"isBlockCoverage":true}]},{"scriptId":"839","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/ole_exporting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":504,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":222,"endOffset":423,"count":1}],"isBlockCoverage":true}]},{"scriptId":"840","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/or.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":323,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":202,"endOffset":273,"count":1}],"isBlockCoverage":true}]},{"scriptId":"841","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_exception.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":546,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":234,"endOffset":447,"count":1}],"isBlockCoverage":true}]},{"scriptId":"842","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_list_exceptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":437,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":244,"endOffset":322,"count":1}],"isBlockCoverage":true}]},{"scriptId":"843","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_list_s.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":384,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":226,"endOffset":296,"count":4}],"isBlockCoverage":true}]},{"scriptId":"844","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_list_t.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":384,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":226,"endOffset":296,"count":1}],"isBlockCoverage":true}]},{"scriptId":"845","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_s.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":381,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":218,"endOffset":306,"count":2}],"isBlockCoverage":true}]},{"scriptId":"846","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_t.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":381,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":218,"endOffset":306,"count":1}],"isBlockCoverage":true}]},{"scriptId":"847","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/pass_by_value.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":537,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":270,"endOffset":458,"count":1}],"isBlockCoverage":true}]},{"scriptId":"848","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/perform_changing.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":468,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":241,"endOffset":378,"count":1}],"isBlockCoverage":true}]},{"scriptId":"849","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/perform_tables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":452,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":237,"endOffset":368,"count":1}],"isBlockCoverage":true}]},{"scriptId":"850","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/perform_using.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":444,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":235,"endOffset":363,"count":1}],"isBlockCoverage":true}]},{"scriptId":"851","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/radio_group_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":359,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":201,"endOffset":271,"count":1}],"isBlockCoverage":true}]},{"scriptId":"852","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/raise_with.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":501,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":216,"endOffset":429,"count":1}],"isBlockCoverage":true}]},{"scriptId":"853","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/read_table_target.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":619,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":283,"endOffset":528,"count":1}],"isBlockCoverage":true}]},{"scriptId":"854","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/receive_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":875,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":232,"endOffset":779,"count":1}],"isBlockCoverage":true}]},{"scriptId":"855","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/redefinition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":374,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":197,"endOffset":294,"count":1}],"isBlockCoverage":true}]},{"scriptId":"856","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/reduce_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":572,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":266,"endOffset":497,"count":1}],"isBlockCoverage":true}]},{"scriptId":"857","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/reduce_next.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":807,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":315,"endOffset":732,"count":1}],"isBlockCoverage":true}]},{"scriptId":"858","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/report_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":505,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":243,"endOffset":430,"count":1}],"isBlockCoverage":true}]},{"scriptId":"859","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/select_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1767,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":575,"endOffset":1692,"count":4}],"isBlockCoverage":true}]},{"scriptId":"860","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_order_by.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":728,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":287,"endOffset":652,"count":1}],"isBlockCoverage":true}]},{"scriptId":"861","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":437,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":197,"endOffset":355,"count":1}],"isBlockCoverage":true}]},{"scriptId":"862","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_having.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":417,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":231,"endOffset":345,"count":1}],"isBlockCoverage":true}]},{"scriptId":"863","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_into_structure.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":506,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":230,"endOffset":412,"count":1}],"isBlockCoverage":true}]},{"scriptId":"864","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_hints.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":543,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":214,"endOffset":474,"count":1}],"isBlockCoverage":true}]},{"scriptId":"865","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":999,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":374,"endOffset":904,"count":1}],"isBlockCoverage":true}]},{"scriptId":"866","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_path.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":508,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":237,"endOffset":442,"count":1}],"isBlockCoverage":true}]},{"scriptId":"867","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_up_to.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":418,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":233,"endOffset":351,"count":1}],"isBlockCoverage":true}]},{"scriptId":"868","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":772,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":313,"endOffset":700,"count":3}],"isBlockCoverage":true}]},{"scriptId":"869","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/select.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2105,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":517,"endOffset":2043,"count":3}],"isBlockCoverage":true}]},{"scriptId":"870","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_group_by.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":685,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":287,"endOffset":609,"count":1}],"isBlockCoverage":true}]},{"scriptId":"871","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_field_chain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":820,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":334,"endOffset":726,"count":1}],"isBlockCoverage":true}]},{"scriptId":"872","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_field_chain2.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1017,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":336,"endOffset":920,"count":1}],"isBlockCoverage":true}]},{"scriptId":"873","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":337,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":193,"endOffset":262,"count":1}],"isBlockCoverage":true}]},{"scriptId":"874","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_source1.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":591,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":224,"endOffset":507,"count":1}],"isBlockCoverage":true}]},{"scriptId":"875","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_source2.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":639,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":288,"endOffset":555,"count":1}],"isBlockCoverage":true}]},{"scriptId":"876","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_source4.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":503,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":284,"endOffset":419,"count":1}],"isBlockCoverage":true}]},{"scriptId":"877","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_target.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1382,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":374,"endOffset":1301,"count":1}],"isBlockCoverage":true}]},{"scriptId":"878","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/source_field_symbol.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":387,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":232,"endOffset":290,"count":1}],"isBlockCoverage":true}]},{"scriptId":"879","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/source_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":350,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":220,"endOffset":272,"count":1}],"isBlockCoverage":true}]},{"scriptId":"880","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_aggregation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1606,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":372,"endOffset":1519,"count":1}],"isBlockCoverage":true}]},{"scriptId":"881","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_arithmetics.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":616,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":298,"endOffset":529,"count":1}],"isBlockCoverage":true}]},{"scriptId":"882","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":547,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":265,"endOffset":438,"count":1}],"isBlockCoverage":true}]},{"scriptId":"883","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_alias_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":363,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":199,"endOffset":278,"count":1}],"isBlockCoverage":true}]},{"scriptId":"884","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_as_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":600,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":241,"endOffset":527,"count":1}],"isBlockCoverage":true}]},{"scriptId":"885","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1467,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":493,"endOffset":1401,"count":1}],"isBlockCoverage":true}]},{"scriptId":"886","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_cond.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":831,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":262,"endOffset":765,"count":1}],"isBlockCoverage":true}]},{"scriptId":"887","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_cds_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":708,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":328,"endOffset":614,"count":1}],"isBlockCoverage":true}]},{"scriptId":"888","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_client.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":871,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":298,"endOffset":799,"count":1}],"isBlockCoverage":true}]},{"scriptId":"889","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_source_simple.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":841,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":385,"endOffset":750,"count":1}],"isBlockCoverage":true}]},{"scriptId":"890","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_compare_operator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":489,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":209,"endOffset":389,"count":1}],"isBlockCoverage":true}]},{"scriptId":"891","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_compare.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1927,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":315,"endOffset":1852,"count":1}],"isBlockCoverage":true}]},{"scriptId":"892","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field_and_value.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":867,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":417,"endOffset":772,"count":1}],"isBlockCoverage":true}]},{"scriptId":"893","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field_list.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":666,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":269,"endOffset":584,"count":1}],"isBlockCoverage":true}]},{"scriptId":"894","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1336,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":465,"endOffset":1267,"count":1}],"isBlockCoverage":true}]},{"scriptId":"895","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_function.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4806,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":632,"endOffset":4728,"count":1}],"isBlockCoverage":true}]},{"scriptId":"896","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_fields.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":399,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":216,"endOffset":327,"count":1}],"isBlockCoverage":true}]},{"scriptId":"897","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":477,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":251,"endOffset":382,"count":1}],"isBlockCoverage":true}]},{"scriptId":"898","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_from_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1054,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":365,"endOffset":969,"count":1}],"isBlockCoverage":true}]},{"scriptId":"899","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/with_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":425,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":239,"endOffset":356,"count":1}],"isBlockCoverage":true}]},{"scriptId":"900","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_from.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":726,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":262,"endOffset":660,"count":2}],"isBlockCoverage":true}]},{"scriptId":"901","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_in.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1452,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":305,"endOffset":1392,"count":1}],"isBlockCoverage":true}]},{"scriptId":"902","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_into_list.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":741,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":356,"endOffset":662,"count":1}],"isBlockCoverage":true}]},{"scriptId":"903","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_into_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":500,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":222,"endOffset":418,"count":1}],"isBlockCoverage":true}]},{"scriptId":"904","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_join.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":212,"endOffset":489,"count":1}],"isBlockCoverage":true}]},{"scriptId":"905","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_source_no_space.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":808,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":327,"endOffset":713,"count":1}],"isBlockCoverage":true}]},{"scriptId":"906","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_target.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":725,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":313,"endOffset":653,"count":1}],"isBlockCoverage":true}]},{"scriptId":"907","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/string_template_formatting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2865,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":333,"endOffset":2747,"count":1}],"isBlockCoverage":true}]},{"scriptId":"908","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/string_template_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":485,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":238,"endOffset":379,"count":1}],"isBlockCoverage":true}]},{"scriptId":"909","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/string_template.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":822,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":321,"endOffset":735,"count":7}],"isBlockCoverage":true}]},{"scriptId":"910","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/super_class_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":370,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":226,"endOffset":282,"count":1}],"isBlockCoverage":true}]},{"scriptId":"911","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_structure.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":584,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":224,"endOffset":500,"count":1}],"isBlockCoverage":true}]},{"scriptId":"912","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/switch_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":676,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":218,"endOffset":601,"count":1}],"isBlockCoverage":true}]},{"scriptId":"913","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/table_expression.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1086,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":325,"endOffset":996,"count":1}],"isBlockCoverage":true}]},{"scriptId":"914","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/target_field_symbol.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":387,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":232,"endOffset":290,"count":1}],"isBlockCoverage":true}]},{"scriptId":"915","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/target_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":350,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":220,"endOffset":272,"count":1}],"isBlockCoverage":true}]},{"scriptId":"916","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/test_seam_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":554,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":247,"endOffset":472,"count":1}],"isBlockCoverage":true}]},{"scriptId":"917","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/text_element_key.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":356,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":201,"endOffset":268,"count":1}],"isBlockCoverage":true}]},{"scriptId":"918","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/text_element_string.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":641,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":282,"endOffset":544,"count":1}],"isBlockCoverage":true}]},{"scriptId":"919","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/throw.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":718,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":258,"endOffset":659,"count":1}],"isBlockCoverage":true}]},{"scriptId":"920","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/transporting_fields.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":610,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":293,"endOffset":511,"count":1}],"isBlockCoverage":true}]},{"scriptId":"921","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_name_or_infer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":396,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":228,"endOffset":304,"count":2}],"isBlockCoverage":true}]},{"scriptId":"922","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":771,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":309,"endOffset":702,"count":1}],"isBlockCoverage":true}]},{"scriptId":"923","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_param.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":928,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":216,"endOffset":856,"count":1}],"isBlockCoverage":true}]},{"scriptId":"924","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_table_key.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1171,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":269,"endOffset":1089,"count":1}],"isBlockCoverage":true}]},{"scriptId":"925","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2807,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":365,"endOffset":2735,"count":6}],"isBlockCoverage":true}]},{"scriptId":"926","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":774,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":206,"endOffset":718,"count":5}],"isBlockCoverage":true}]},{"scriptId":"927","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/value_body_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":897,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":332,"endOffset":812,"count":1}],"isBlockCoverage":true}]},{"scriptId":"928","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/value_body_lines.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":583,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":226,"endOffset":495,"count":1}],"isBlockCoverage":true}]},{"scriptId":"929","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/value_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":900,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":263,"endOffset":828,"count":1}],"isBlockCoverage":true}]},{"scriptId":"930","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/value.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":421,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":208,"endOffset":362,"count":1}],"isBlockCoverage":true}]},{"scriptId":"931","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/write_offset_length.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1149,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":321,"endOffset":1052,"count":1}],"isBlockCoverage":true}]},{"scriptId":"932","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1173,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":304,"endOffset":1111,"count":7}],"isBlockCoverage":true}]},{"scriptId":"933","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/write.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2169,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":252,"endOffset":2110,"count":3}],"isBlockCoverage":true}]},{"scriptId":"934","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endmethod.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":301,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":164,"endOffset":230,"count":2}],"isBlockCoverage":true}]},{"scriptId":"935","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/method_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1046,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":235,"endOffset":941,"count":8}],"isBlockCoverage":true}]},{"scriptId":"936","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endform.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":314,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":160,"endOffset":249,"count":2}],"isBlockCoverage":true}]},{"scriptId":"937","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/form.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":640,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":203,"endOffset":584,"count":7}],"isBlockCoverage":true}]},{"scriptId":"938","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/import_nametab.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":566,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":268,"endOffset":482,"count":3}],"isBlockCoverage":true}]},{"scriptId":"939","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/check_select_options.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":459,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":229,"endOffset":359,"count":7}],"isBlockCoverage":true}]},{"scriptId":"940","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_badi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":527,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":458,"count":3}],"isBlockCoverage":true}]},{"scriptId":"941","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":382,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":213,"endOffset":310,"count":5}],"isBlockCoverage":true}]},{"scriptId":"942","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_data_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":656,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":568,"count":5}],"isBlockCoverage":true}]},{"scriptId":"943","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_data_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":611,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":219,"endOffset":529,"count":2}],"isBlockCoverage":true}]},{"scriptId":"944","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/select_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":320,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":178,"endOffset":245,"count":3}],"isBlockCoverage":true}]},{"scriptId":"945","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/do.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":683,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":199,"endOffset":633,"count":4}],"isBlockCoverage":true}]},{"scriptId":"946","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/break_id.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":529,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":463,"count":3}],"isBlockCoverage":true}]},{"scriptId":"947","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/interface_deferred.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":460,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":229,"endOffset":364,"count":7}],"isBlockCoverage":true}]},{"scriptId":"948","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/while.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":499,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":205,"endOffset":440,"count":3}],"isBlockCoverage":true}]},{"scriptId":"949","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/loop_at_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":552,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":470,"count":3}],"isBlockCoverage":true}]},{"scriptId":"950","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1585,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":382,"endOffset":1529,"count":3}],"isBlockCoverage":true}]},{"scriptId":"951","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":414,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":205,"endOffset":355,"count":3}],"isBlockCoverage":true}]},{"scriptId":"952","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endprovide.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":425,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":213,"endOffset":351,"count":2}],"isBlockCoverage":true}]},{"scriptId":"953","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/if.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":328,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":199,"endOffset":278,"count":3}],"isBlockCoverage":true}]},{"scriptId":"954","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/convert_text.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":430,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":217,"endOffset":352,"count":3}],"isBlockCoverage":true}]},{"scriptId":"955","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/log_point.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":719,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":650,"count":3}],"isBlockCoverage":true}]},{"scriptId":"956","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/window.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":630,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":568,"count":3}],"isBlockCoverage":true}]},{"scriptId":"957","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endif.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":156,"endOffset":218,"count":2}],"isBlockCoverage":true}]},{"scriptId":"958","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_enum.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":599,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":530,"count":5}],"isBlockCoverage":true}]},{"scriptId":"959","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_enum_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":810,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":268,"endOffset":725,"count":4}],"isBlockCoverage":true}]},{"scriptId":"960","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_enum_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":646,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":567,"count":2}],"isBlockCoverage":true}]},{"scriptId":"961","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_run_time.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":643,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":213,"endOffset":567,"count":3}],"isBlockCoverage":true}]},{"scriptId":"962","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/field_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":517,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":442,"count":3}],"isBlockCoverage":true}]},{"scriptId":"963","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/print_control.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":668,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":587,"count":3}],"isBlockCoverage":true}]},{"scriptId":"964","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/extract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":495,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":430,"count":3}],"isBlockCoverage":true}]},{"scriptId":"965","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/sum.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":340,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":199,"endOffset":287,"count":3}],"isBlockCoverage":true}]},{"scriptId":"966","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_of_page.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":380,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":211,"endOffset":307,"count":7}],"isBlockCoverage":true}]},{"scriptId":"967","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/generate_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1578,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":1491,"count":3}],"isBlockCoverage":true}]},{"scriptId":"968","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/elseif.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":352,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":290,"count":2}],"isBlockCoverage":true}]},{"scriptId":"969","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/else.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":154,"endOffset":215,"count":2}],"isBlockCoverage":true}]},{"scriptId":"970","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/perform.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1511,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":353,"endOffset":1446,"count":3}],"isBlockCoverage":true}]},{"scriptId":"971","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/append.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1305,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":1243,"count":3}],"isBlockCoverage":true}]},{"scriptId":"972","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/clear.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":551,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":205,"endOffset":492,"count":3}],"isBlockCoverage":true}]},{"scriptId":"973","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/concatenate.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":952,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":217,"endOffset":875,"count":3}],"isBlockCoverage":true}]},{"scriptId":"974","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enddo.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":156,"endOffset":218,"count":2}],"isBlockCoverage":true}]},{"scriptId":"975","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endclass.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":295,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":162,"endOffset":227,"count":2}],"isBlockCoverage":true}]},{"scriptId":"976","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/try.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":265,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":152,"endOffset":212,"count":3}],"isBlockCoverage":true}]},{"scriptId":"977","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endtry.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":283,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":158,"endOffset":221,"count":2}],"isBlockCoverage":true}]},{"scriptId":"978","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/assert.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":712,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":650,"count":3}],"isBlockCoverage":true}]},{"scriptId":"979","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/return.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":483,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":421,"count":3}],"isBlockCoverage":true}]},{"scriptId":"980","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endwhile.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":295,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":162,"endOffset":227,"count":2}],"isBlockCoverage":true}]},{"scriptId":"981","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/constant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":669,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":211,"endOffset":601,"count":18}],"isBlockCoverage":true}]},{"scriptId":"982","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/catch.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":475,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":205,"endOffset":416,"count":2}],"isBlockCoverage":true}]},{"scriptId":"983","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/infotypes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":693,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":622,"count":3}],"isBlockCoverage":true}]},{"scriptId":"984","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/message.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2201,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":2136,"count":3}],"isBlockCoverage":true}]},{"scriptId":"985","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1650,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":337,"endOffset":1578,"count":3}],"isBlockCoverage":true}]},{"scriptId":"986","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endloop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":289,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":160,"endOffset":224,"count":2}],"isBlockCoverage":true}]},{"scriptId":"987","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":342,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":203,"endOffset":286,"count":3}],"isBlockCoverage":true}]},{"scriptId":"988","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/create_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1138,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":219,"endOffset":1057,"count":3}],"isBlockCoverage":true}]},{"scriptId":"989","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/select.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":597,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":535,"count":3}],"isBlockCoverage":true}]},{"scriptId":"990","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":480,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":218,"endOffset":424,"count":3}],"isBlockCoverage":true}]},{"scriptId":"991","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_local_friends.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":489,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":229,"endOffset":392,"count":7}],"isBlockCoverage":true}]},{"scriptId":"992","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_deferred.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":447,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":221,"endOffset":363,"count":7}],"isBlockCoverage":true}]},{"scriptId":"993","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/fieldsymbol.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":586,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":217,"endOffset":509,"count":3}],"isBlockCoverage":true}]},{"scriptId":"994","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1293,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":272,"endOffset":1203,"count":7}],"isBlockCoverage":true}]},{"scriptId":"995","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":440,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":233,"endOffset":338,"count":7}],"isBlockCoverage":true}]},{"scriptId":"996","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/translate.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":569,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":213,"endOffset":498,"count":3}],"isBlockCoverage":true}]},{"scriptId":"997","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/exit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":337,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":154,"endOffset":281,"count":3}],"isBlockCoverage":true}]},{"scriptId":"998","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endcase.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":289,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":160,"endOffset":224,"count":2}],"isBlockCoverage":true}]},{"scriptId":"999","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/constant_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":473,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":221,"endOffset":389,"count":18}],"isBlockCoverage":true}]},{"scriptId":"1000","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/constant_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":429,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":217,"endOffset":351,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1001","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/when_others.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":309,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":166,"endOffset":234,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1002","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/when.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":430,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":203,"endOffset":374,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1003","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/continue.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":295,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":162,"endOffset":227,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1004","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/assign.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1400,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":1338,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1005","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_badi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":786,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":720,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1006","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/suppress_dialog.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":451,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":221,"endOffset":364,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1007","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":885,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":248,"endOffset":829,"count":25}],"isBlockCoverage":true}]},{"scriptId":"1008","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/hide.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":460,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":250,"endOffset":404,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1009","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_locale.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":672,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":600,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1010","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_locale.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":708,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":636,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1011","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/commit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":467,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":405,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1012","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":554,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":473,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1013","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/commit_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":689,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":602,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1014","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1401,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":1314,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1015","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1352,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":316,"endOffset":1271,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1016","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/rollback_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":437,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":225,"endOffset":344,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1017","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/summary.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":299,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1018","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/on_change.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":577,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":508,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1019","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_user_command.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":404,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":219,"endOffset":319,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1020","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/position.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":484,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":416,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1021","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/resume.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":283,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":158,"endOffset":221,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1022","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/stop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":346,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":201,"endOffset":290,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1023","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_pf_status.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":706,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":627,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1024","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":610,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":529,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1025","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/controls.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":683,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":615,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1026","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_line_selection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":416,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":325,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1027","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/new_page.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1965,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":1899,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1028","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":565,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":490,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1029","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_property.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":634,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":556,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1030","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/scroll_list.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":912,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":837,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1031","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/load_of_program.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":447,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":219,"endOffset":362,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1032","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/top_of_page.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":466,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":211,"endOffset":393,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1033","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/truncate_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":526,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":272,"endOffset":436,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1034","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_update_task.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":410,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":219,"endOffset":325,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1035","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_user_command.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":524,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":436,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1036","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/rollback.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":408,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":211,"endOffset":340,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1037","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_internal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1947,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":1860,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1038","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1049,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":282,"endOffset":962,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1039","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":516,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":268,"endOffset":432,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1040","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/free_memory.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":544,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":469,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1041","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/catch_system_exceptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":629,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":284,"endOffset":520,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1042","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endcatch.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":370,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":302,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1043","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/assign_local_copy.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":689,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":272,"endOffset":598,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1044","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_extended_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":496,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":225,"endOffset":402,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1045","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/split.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":706,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":205,"endOffset":647,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1046","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/new_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":474,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":408,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1047","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/free_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":528,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":453,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1048","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/sort.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":941,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":203,"endOffset":885,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1049","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/replace.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1735,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":1670,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1050","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/with_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":703,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":308,"endOffset":634,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1051","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/with.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":678,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":300,"endOffset":622,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1052","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endwith.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":360,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":295,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1053","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/condense.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":395,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":211,"endOffset":327,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1054","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_internal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1819,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":1732,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1055","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1226,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":273,"endOffset":1139,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1056","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_field_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":709,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":274,"endOffset":615,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1057","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/update_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1013,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":926,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1058","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":617,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":530,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1059","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_internal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1587,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":1500,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1060","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/raise.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1431,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":252,"endOffset":1372,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1061","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/define.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":475,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":413,"count":21}],"isBlockCoverage":true}]},{"scriptId":"1062","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enddefine.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":408,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":325,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1063","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/find.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1587,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":203,"endOffset":1531,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1064","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/move.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1287,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":300,"endOffset":1231,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1065","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/move_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":887,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":276,"endOffset":791,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1066","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_time.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":473,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":407,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1067","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enhancement_point.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":629,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":274,"endOffset":536,"count":15}],"isBlockCoverage":true}]},{"scriptId":"1068","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enhancement_section.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":802,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":331,"endOffset":703,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1069","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_enhancement_section.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":495,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":235,"endOffset":386,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1070","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_handler.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":676,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":215,"endOffset":601,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1071","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_left.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":548,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":482,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1072","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/pack.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":488,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":250,"endOffset":432,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1073","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/case_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":488,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":419,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1074","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/when_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":630,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":561,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1075","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/exec_sql.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":573,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":507,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1076","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/open_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":565,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":490,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1077","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/communication.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1353,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":268,"endOffset":1270,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1078","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/generate_subroutine.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1219,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":278,"endOffset":1120,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1079","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/reject.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":490,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":428,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1080","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/load_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":558,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":483,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1081","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/private.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":297,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":160,"endOffset":232,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1082","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/system_call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":868,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":315,"endOffset":793,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1083","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_language.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":504,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":426,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1084","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_dialog.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":978,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":903,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1085","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/protected.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":309,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":164,"endOffset":238,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1086","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/public.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":291,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":158,"endOffset":229,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1087","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/nodes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":465,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":252,"endOffset":406,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1088","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/demand.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":711,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":649,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1089","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/supply.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":599,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":537,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1090","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/fields.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":474,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":412,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1091","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_cluster.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":816,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":318,"endOffset":732,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1092","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_margin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":532,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":460,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1093","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":952,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":871,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1094","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/contexts.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":483,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":415,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1095","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":424,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":213,"endOffset":353,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1096","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endinterface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":319,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":170,"endOffset":239,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1097","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1786,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":1715,"count":8}],"isBlockCoverage":true}]},{"scriptId":"1098","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/include.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":420,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":355,"count":36}],"isBlockCoverage":true}]},{"scriptId":"1099","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/collect.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":563,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":498,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1100","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/ranges.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":606,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":544,"count":15}],"isBlockCoverage":true}]},{"scriptId":"1101","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/events.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":539,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":477,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1102","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/receive.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":573,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":508,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1103","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/back.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":346,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":201,"endOffset":290,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1104","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/add_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":562,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":274,"endOffset":469,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1105","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/subtract_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":594,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":284,"endOffset":486,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1106","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/static_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":554,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":217,"endOffset":476,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1107","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/static_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":442,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":213,"endOffset":370,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1108","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":702,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":627,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1109","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/tables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":471,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":409,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1110","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/local.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":511,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":252,"endOffset":452,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1111","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/add.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":596,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":201,"endOffset":543,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1112","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/describe.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2259,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":2191,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1113","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/submit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2911,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":2849,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1114","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/scan.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2634,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":250,"endOffset":2578,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1115","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/export.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1980,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":280,"endOffset":1918,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1116","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/import.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2262,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":257,"endOffset":2200,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1117","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_first.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":291,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":160,"endOffset":225,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1118","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_last.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":285,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":158,"endOffset":222,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1119","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":766,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":199,"endOffset":716,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1120","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/put.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":453,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":248,"endOffset":400,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1121","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endat.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":302,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":156,"endOffset":243,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1122","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endselect.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":301,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":164,"endOffset":230,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1123","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/refresh.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":588,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":523,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1124","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/shift.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":900,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":205,"endOffset":841,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1125","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_mesh.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1093,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":1024,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1126","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/transfer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":647,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":579,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1127","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/subtract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":421,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":211,"endOffset":353,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1128","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/unassign.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":377,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":211,"endOffset":309,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1129","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/open_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1853,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":1775,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1130","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/close_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":510,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":429,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1131","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/interface_load.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":408,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":221,"endOffset":324,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1132","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/close_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":513,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":435,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1133","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/leave.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":925,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":252,"endOffset":866,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1134","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_definition_load.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":442,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":233,"endOffset":339,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1135","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/initialization.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":406,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":221,"endOffset":320,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1136","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/start_of_selection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":422,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":225,"endOffset":328,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1137","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_blank.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":481,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":412,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1138","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/export_dynpro.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":604,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":523,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1139","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_of_selection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":410,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":221,"endOffset":322,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1140","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/search.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":854,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":792,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1141","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1666,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":1591,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1142","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/selectionscreen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4215,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":322,"endOffset":4126,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1143","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/free.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":367,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":203,"endOffset":311,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1144","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endon.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":395,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":203,"endOffset":336,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1145","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/fetch_next_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":840,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":347,"endOffset":749,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1146","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/reserve.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":487,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":422,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1147","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/raise_entity_event.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":451,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":227,"endOffset":357,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1148","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/refresh_control.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":559,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":472,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1149","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_dynpro.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":510,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":429,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1150","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/generate_dynpro.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":817,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":730,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1151","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/detail.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":358,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":205,"endOffset":296,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1152","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/editor_call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":708,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":633,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1153","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/break.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":667,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":252,"endOffset":608,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1154","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_textpool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":723,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":636,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1155","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":630,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":248,"endOffset":577,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1156","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/selectoption.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1505,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":1425,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1157","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/convert.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1412,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":1347,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1158","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/static.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":685,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":205,"endOffset":623,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1159","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/compute.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":532,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":467,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1160","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/multiply.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":419,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":211,"endOffset":351,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1161","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/divide.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":407,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":345,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1162","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/format.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":891,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":829,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1163","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/syntax_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2049,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":1971,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1164","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/aliases.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":392,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":327,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1165","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/method_def.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4296,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":4224,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1166","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_mesh_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":538,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":268,"endOffset":453,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1167","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_mesh_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":526,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":447,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1168","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/interface_def.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":895,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":814,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1169","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_selection_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1164,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":276,"endOffset":1067,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1170","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/include_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":651,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":215,"endOffset":573,"count":20}],"isBlockCoverage":true}]},{"scriptId":"1171","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/import_dynpro.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":604,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":523,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1172","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_function.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1745,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":1664,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1173","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_selection_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":959,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":280,"endOffset":856,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1174","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_transformation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1260,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":231,"endOffset":1161,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1175","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1105,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":1036,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1176","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_textpool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":774,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":693,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1177","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":764,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":689,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1178","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":753,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":675,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1179","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_bit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":439,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":376,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1180","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_reference.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":450,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":219,"endOffset":369,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1181","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1077,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":996,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1182","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_textpool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":753,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":666,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1183","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_bit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":473,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":410,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1184","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_run_time.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":506,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":430,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1185","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":544,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":463,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1186","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/create_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2155,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":297,"endOffset":2080,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1187","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_country.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":498,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":423,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1188","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/function_module.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":396,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":309,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1189","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_pools.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":506,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":230,"endOffset":434,"count":21}],"isBlockCoverage":true}]},{"scriptId":"1190","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_pool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":505,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":233,"endOffset":436,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1191","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/wait.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":901,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":250,"endOffset":845,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1192","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/overlay.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":508,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":443,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1193","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":492,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":420,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1194","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":831,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":759,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1195","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":778,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":703,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1196","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_pf_status.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":730,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":651,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1197","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_titlebar.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":719,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":641,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1198","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/program.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":900,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":835,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1199","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/function_pool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":670,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":219,"endOffset":589,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1200","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/module.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":529,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":467,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1201","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endmodule.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":376,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":211,"endOffset":305,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1202","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endfunction.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":313,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":168,"endOffset":236,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1203","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/retry.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":348,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":203,"endOffset":289,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1204","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/authority_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":699,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":612,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1205","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":544,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":463,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1206","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":985,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":913,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1207","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_kernel.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":583,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":262,"endOffset":508,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1208","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_transaction.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1093,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":272,"endOffset":1003,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1209","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/unpack.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":500,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":438,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1210","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/skip.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":507,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":250,"endOffset":451,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1211","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/uline.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":531,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":252,"endOffset":472,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1212","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/data_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":607,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":213,"endOffset":535,"count":16}],"isBlockCoverage":true}]},{"scriptId":"1213","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/data_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":720,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":654,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1214","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":473,"count":21}],"isBlockCoverage":true}]},{"scriptId":"1215","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":407,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":341,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1216","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/raise_event.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":499,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":215,"endOffset":424,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1217","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/cleanup.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":431,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":209,"endOffset":366,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1218","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/create_ole.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":579,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":260,"endOffset":507,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1219","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_ole.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":701,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":635,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1220","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_property.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":677,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":599,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1221","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/test_injection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":404,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":221,"endOffset":320,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1222","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_test_injection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":347,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":178,"endOffset":253,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1223","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/test_seam.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":463,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":394,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1224","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_test_seam.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":406,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":215,"endOffset":327,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1225","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_memory.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":878,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":266,"endOffset":797,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1226","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/provide.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1013,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":948,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1227","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endexec.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":207,"endOffset":299,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1228","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/sort_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":826,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":748,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1229","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_permissions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":682,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":595,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1230","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_locks.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":617,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":548,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1231","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enhancement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":576,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":296,"endOffset":499,"count":15}],"isBlockCoverage":true}]},{"scriptId":"1232","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_enhancement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":407,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":221,"endOffset":320,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1233","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/form_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":612,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":223,"endOffset":525,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1234","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/artifacts.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2351,"count":1}],"isBlockCoverage":true},{"functionName":"List","ranges":[{"startOffset":348,"endOffset":394,"count":0}],"isBlockCoverage":false},{"functionName":"add","ranges":[{"startOffset":399,"endOffset":710,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":715,"endOffset":755,"count":0}],"isBlockCoverage":false},{"functionName":"find","ranges":[{"startOffset":760,"endOffset":954,"count":0}],"isBlockCoverage":false},{"functionName":"className","ranges":[{"startOffset":957,"endOffset":1017,"count":0}],"isBlockCoverage":false},{"functionName":"getStructures","ranges":[{"startOffset":1051,"endOffset":1309,"count":0}],"isBlockCoverage":false},{"functionName":"getExpressions","ranges":[{"startOffset":1321,"endOffset":1576,"count":0}],"isBlockCoverage":false},{"functionName":"getStatements","ranges":[{"startOffset":1588,"endOffset":1846,"count":1},{"startOffset":1701,"endOffset":1820,"count":303}],"isBlockCoverage":true},{"functionName":"getKeywords","ranges":[{"startOffset":1858,"endOffset":2272,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1235","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3170,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":51},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":145232}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":51}],"isBlockCoverage":true}]},{"scriptId":"1236","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/any.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1681,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":247,"endOffset":1628,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1237","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/_combi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10032,"count":1}],"isBlockCoverage":true},{"functionName":"Sequence","ranges":[{"startOffset":357,"endOffset":504,"count":162},{"startOffset":406,"endOffset":472,"count":0}],"isBlockCoverage":true},{"functionName":"toRailroad","ranges":[{"startOffset":509,"endOffset":665,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":670,"endOffset":771,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":776,"endOffset":828,"count":157}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":833,"endOffset":1880,"count":16010},{"startOffset":946,"endOffset":1703,"count":37596},{"startOffset":1023,"endOffset":1299,"count":7355},{"startOffset":1299,"endOffset":1344,"count":30241},{"startOffset":1344,"endOffset":1403,"count":30235},{"startOffset":1403,"endOffset":1658,"count":6},{"startOffset":1658,"endOffset":1703,"count":30241},{"startOffset":1703,"endOffset":1879,"count":8655}],"isBlockCoverage":true},{"functionName":"Alternative","ranges":[{"startOffset":2036,"endOffset":2186,"count":58},{"startOffset":2085,"endOffset":2154,"count":0}],"isBlockCoverage":true},{"functionName":"setupMap","ranges":[{"startOffset":2191,"endOffset":2683,"count":32904},{"startOffset":2307,"endOffset":2677,"count":57},{"startOffset":2375,"endOffset":2667,"count":653},{"startOffset":2424,"endOffset":2653,"count":679},{"startOffset":2467,"endOffset":2539,"count":245},{"startOffset":2539,"endOffset":2635,"count":434}],"isBlockCoverage":true},{"functionName":"first","ranges":[{"startOffset":2688,"endOffset":2724,"count":15}],"isBlockCoverage":true},{"functionName":"toRailroad","ranges":[{"startOffset":2729,"endOffset":2886,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":2891,"endOffset":2992,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":2997,"endOffset":4662,"count":32904},{"startOffset":3137,"endOffset":3364,"count":1},{"startOffset":3364,"endOffset":3481,"count":32903},{"startOffset":3481,"endOffset":3486,"count":16130},{"startOffset":3488,"endOffset":3794,"count":27074},{"startOffset":3582,"endOffset":3627,"count":14518},{"startOffset":3627,"endOffset":3672,"count":12556},{"startOffset":3672,"endOffset":3784,"count":361},{"startOffset":3794,"endOffset":3832,"count":18385},{"startOffset":3832,"endOffset":3837,"count":2820},{"startOffset":3839,"endOffset":4145,"count":21963},{"startOffset":3933,"endOffset":3978,"count":11462},{"startOffset":3978,"endOffset":4023,"count":10501},{"startOffset":4023,"endOffset":4135,"count":264},{"startOffset":4145,"endOffset":4171,"count":6923},{"startOffset":4171,"endOffset":4415,"count":6298},{"startOffset":4415,"endOffset":4656,"count":625}],"isBlockCoverage":true},{"functionName":"Optional","ranges":[{"startOffset":4686,"endOffset":4734,"count":121}],"isBlockCoverage":true},{"functionName":"toRailroad","ranges":[{"startOffset":4739,"endOffset":4826,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":4831,"endOffset":4885,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":4890,"endOffset":5022,"count":9623}],"isBlockCoverage":true},{"functionName":"first","ranges":[{"startOffset":5027,"endOffset":5063,"count":0}],"isBlockCoverage":false},{"functionName":"Star","ranges":[{"startOffset":5083,"endOffset":5131,"count":115}],"isBlockCoverage":true},{"functionName":"toRailroad","ranges":[{"startOffset":5136,"endOffset":5225,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":5230,"endOffset":5284,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":5289,"endOffset":6834,"count":17340},{"startOffset":5388,"endOffset":6828,"count":34494},{"startOffset":5424,"endOffset":5666,"count":7011},{"startOffset":5666,"endOffset":5758,"count":27483},{"startOffset":5758,"endOffset":6424,"count":10329},{"startOffset":5804,"endOffset":6114,"count":361},{"startOffset":6114,"endOffset":6410,"count":9968},{"startOffset":6424,"endOffset":6469,"count":17154},{"startOffset":6469,"endOffset":6528,"count":17150},{"startOffset":6528,"endOffset":6783,"count":4},{"startOffset":6783,"endOffset":6828,"count":17154}],"isBlockCoverage":true},{"functionName":"first","ranges":[{"startOffset":6839,"endOffset":6875,"count":7}],"isBlockCoverage":true},{"functionName":"SubStructure","ranges":[{"startOffset":6903,"endOffset":6945,"count":48}],"isBlockCoverage":true},{"functionName":"toRailroad","ranges":[{"startOffset":6950,"endOffset":7099,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":7104,"endOffset":7179,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":7184,"endOffset":7265,"count":167}],"isBlockCoverage":true},{"functionName":"setupMatcher","ranges":[{"startOffset":7270,"endOffset":7582,"count":31088},{"startOffset":7327,"endOffset":7576,"count":48}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":7587,"endOffset":7928,"count":30921},{"startOffset":7798,"endOffset":7839,"count":11738},{"startOffset":7839,"endOffset":7902,"count":19183}],"isBlockCoverage":true},{"functionName":"SubStatement","ranges":[{"startOffset":7956,"endOffset":8004,"count":811}],"isBlockCoverage":true},{"functionName":"first","ranges":[{"startOffset":8009,"endOffset":8222,"count":631},{"startOffset":8101,"endOffset":8139,"count":617},{"startOffset":8141,"endOffset":8177,"count":14},{"startOffset":8177,"endOffset":8221,"count":617}],"isBlockCoverage":true},{"functionName":"toRailroad","ranges":[{"startOffset":8227,"endOffset":8359,"count":0}],"isBlockCoverage":false},{"functionName":"getUsing","ranges":[{"startOffset":8364,"endOffset":8432,"count":0}],"isBlockCoverage":false},{"functionName":"className","ranges":[{"startOffset":8437,"endOffset":8486,"count":31237}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":8491,"endOffset":9422,"count":55494},{"startOffset":8554,"endOffset":8803,"count":567},{"startOffset":8803,"endOffset":9416,"count":54927},{"startOffset":8862,"endOffset":9145,"count":24257},{"startOffset":9145,"endOffset":9416,"count":30670}],"isBlockCoverage":true},{"functionName":"seq","ranges":[{"startOffset":9425,"endOffset":9504,"count":46}],"isBlockCoverage":true},{"functionName":"alt","ranges":[{"startOffset":9505,"endOffset":9587,"count":58}],"isBlockCoverage":true},{"functionName":"beginEnd","ranges":[{"startOffset":9588,"endOffset":9672,"count":116}],"isBlockCoverage":true},{"functionName":"opt","ranges":[{"startOffset":9673,"endOffset":9720,"count":121}],"isBlockCoverage":true},{"functionName":"star","ranges":[{"startOffset":9721,"endOffset":9765,"count":115}],"isBlockCoverage":true},{"functionName":"sta","ranges":[{"startOffset":9766,"endOffset":9817,"count":811}],"isBlockCoverage":true},{"functionName":"sub","ranges":[{"startOffset":9841,"endOffset":9997,"count":317},{"startOffset":9901,"endOffset":9964,"count":48}],"isBlockCoverage":true}]},{"scriptId":"1238","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1040,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":220,"endOffset":299,"count":0}],"isBlockCoverage":false},{"functionName":"getMatcher","ranges":[{"startOffset":349,"endOffset":428,"count":0}],"isBlockCoverage":false},{"functionName":"getMatcher","ranges":[{"startOffset":476,"endOffset":553,"count":0}],"isBlockCoverage":false},{"functionName":"getMatcher","ranges":[{"startOffset":601,"endOffset":682,"count":0}],"isBlockCoverage":false},{"functionName":"getMatcher","ranges":[{"startOffset":741,"endOffset":825,"count":0}],"isBlockCoverage":false},{"functionName":"getMatcher","ranges":[{"startOffset":887,"endOffset":968,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1239","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/at.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":477,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":246,"endOffset":427,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1240","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":422,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":193,"endOffset":366,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1241","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/normal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9732,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":327,"endOffset":9670,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1242","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/at_first.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":508,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":442,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1243","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/at_last.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":502,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":439,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1244","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/case_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":591,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":268,"endOffset":522,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1245","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/when_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":560,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":491,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1246","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":667,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":324,"endOffset":611,"count":8}],"isBlockCoverage":true}]},{"scriptId":"1247","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/when.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":250,"endOffset":479,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1248","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/catch_system_exceptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":596,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":284,"endOffset":487,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1249","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/catch.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":478,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":252,"endOffset":419,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1250","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/class_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":557,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":226,"endOffset":485,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1251","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/class_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1162,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":408,"endOffset":1072,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1252","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/private_section.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":292,"endOffset":458,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1253","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/section_section.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1306,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":467,"endOffset":1217,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1254","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":716,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":292,"endOffset":657,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1255","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/constants.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":592,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":226,"endOffset":521,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1256","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/type_enum.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":224,"endOffset":486,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1257","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1120,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":382,"endOffset":1064,"count":12}],"isBlockCoverage":true}]},{"scriptId":"1258","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/enhancement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":264,"endOffset":463,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1259","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/define.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":566,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":294,"endOffset":504,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1260","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/protected_section.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":557,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":296,"endOffset":464,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1261","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/public_section.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":539,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":290,"endOffset":455,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1262","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/class_global.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":554,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":263,"endOffset":476,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1263","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/class_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":809,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":279,"endOffset":707,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1264","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/cleanup.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":498,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":433,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1265","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/do.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":477,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":246,"endOffset":427,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1266","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/type_mesh.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":224,"endOffset":486,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1267","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/else.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":505,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":250,"endOffset":449,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1268","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/elseif.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":517,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":455,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1269","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/enhancement_section.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":590,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":278,"endOffset":491,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1270","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/exec_sql.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":562,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":296,"endOffset":496,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1271","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/form.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":491,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":250,"endOffset":435,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1272","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/function_module.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":556,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":270,"endOffset":469,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1273","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/if.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":710,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":318,"endOffset":660,"count":8}],"isBlockCoverage":true}]},{"scriptId":"1274","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/interface_global.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":582,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":271,"endOffset":492,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1275","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":598,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":282,"endOffset":527,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1276","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/loop_at_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":528,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":257,"endOffset":446,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1277","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":557,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":241,"endOffset":501,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1278","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/method.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":675,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":328,"endOffset":613,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1279","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/module.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":505,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":443,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1280","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/on_change.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":514,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":445,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1281","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/provide.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":512,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":256,"endOffset":447,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1282","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/select.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":509,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":254,"endOffset":447,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1283","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/statics.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":550,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":222,"endOffset":485,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1284","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/test_injection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":268,"endOffset":471,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1285","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/test_seam.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":520,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":258,"endOffset":451,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1286","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/try.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":719,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":324,"endOffset":666,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1287","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/while.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":498,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":252,"endOffset":439,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1288","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/with.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":495,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":250,"endOffset":439,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1289","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expand_macros.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9305,"count":1}],"isBlockCoverage":true},{"functionName":"Macros","ranges":[{"startOffset":656,"endOffset":894,"count":7555},{"startOffset":748,"endOffset":888,"count":58}],"isBlockCoverage":true},{"functionName":"addMacro","ranges":[{"startOffset":899,"endOffset":1126,"count":70},{"startOffset":968,"endOffset":999,"count":0}],"isBlockCoverage":true},{"functionName":"getContents","ranges":[{"startOffset":1131,"endOffset":1215,"count":55}],"isBlockCoverage":true},{"functionName":"listMacroNames","ranges":[{"startOffset":1220,"endOffset":1285,"count":39}],"isBlockCoverage":true},{"functionName":"isMacro","ranges":[{"startOffset":1290,"endOffset":1415,"count":810},{"startOffset":1351,"endOffset":1387,"count":55},{"startOffset":1387,"endOffset":1414,"count":755}],"isBlockCoverage":true},{"functionName":"getMacroFilename","ranges":[{"startOffset":1420,"endOffset":1507,"count":55}],"isBlockCoverage":true},{"functionName":"ExpandMacros","ranges":[{"startOffset":1610,"endOffset":1803,"count":7555}],"isBlockCoverage":true},{"functionName":"find","ranges":[{"startOffset":1808,"endOffset":4331,"count":7606},{"startOffset":2038,"endOffset":2046,"count":63},{"startOffset":2047,"endOffset":2072,"count":7543},{"startOffset":2093,"endOffset":2225,"count":7584},{"startOffset":2162,"endOffset":2170,"count":63},{"startOffset":2171,"endOffset":2214,"count":7521},{"startOffset":2278,"endOffset":4325,"count":25471},{"startOffset":2418,"endOffset":2649,"count":81},{"startOffset":2649,"endOffset":4315,"count":25390},{"startOffset":2707,"endOffset":3541,"count":64},{"startOffset":2834,"endOffset":2842,"count":0},{"startOffset":3074,"endOffset":3082,"count":0},{"startOffset":3146,"endOffset":3527,"count":22},{"startOffset":3541,"endOffset":4315,"count":25326},{"startOffset":3574,"endOffset":4315,"count":138},{"startOffset":3640,"endOffset":4005,"count":70},{"startOffset":3809,"endOffset":3817,"count":13},{"startOffset":3818,"endOffset":3943,"count":57},{"startOffset":4005,"endOffset":4301,"count":68},{"startOffset":4072,"endOffset":4301,"count":67}],"isBlockCoverage":true},{"functionName":"handleMacros","ranges":[{"startOffset":4336,"endOffset":6110,"count":7639},{"startOffset":4523,"endOffset":4531,"count":81},{"startOffset":4532,"endOffset":4557,"count":7558},{"startOffset":4603,"endOffset":6048,"count":25461},{"startOffset":4700,"endOffset":4741,"count":24726},{"startOffset":4743,"endOffset":6002,"count":740},{"startOffset":4882,"endOffset":5903,"count":55},{"startOffset":4996,"endOffset":5278,"count":48},{"startOffset":5077,"endOffset":5085,"count":13},{"startOffset":5086,"endOffset":5255,"count":35},{"startOffset":5662,"endOffset":5725,"count":62},{"startOffset":5784,"endOffset":5855,"count":0},{"startOffset":5903,"endOffset":5988,"count":685},{"startOffset":6002,"endOffset":6048,"count":25406}],"isBlockCoverage":true},{"functionName":"expandContents","ranges":[{"startOffset":6134,"endOffset":7250,"count":55},{"startOffset":6285,"endOffset":6319,"count":16},{"startOffset":6319,"endOffset":6376,"count":39},{"startOffset":6376,"endOffset":6628,"count":54},{"startOffset":6464,"endOffset":6584,"count":1},{"startOffset":6628,"endOffset":6735,"count":39},{"startOffset":6735,"endOffset":6891,"count":20},{"startOffset":6891,"endOffset":7249,"count":39}],"isBlockCoverage":true},{"functionName":"buildInput","ranges":[{"startOffset":7255,"endOffset":8247,"count":39},{"startOffset":7428,"endOffset":8218,"count":26},{"startOffset":7544,"endOffset":7622,"count":14},{"startOffset":7771,"endOffset":7895,"count":9},{"startOffset":7895,"endOffset":7964,"count":17},{"startOffset":7986,"endOffset":8016,"count":12},{"startOffset":8018,"endOffset":8072,"count":6},{"startOffset":8072,"endOffset":8208,"count":20}],"isBlockCoverage":true},{"functionName":"findName","ranges":[{"startOffset":8252,"endOffset":9049,"count":740},{"startOffset":8372,"endOffset":9017,"count":1489},{"startOffset":8399,"endOffset":8508,"count":748},{"startOffset":8444,"endOffset":8452,"count":0},{"startOffset":8510,"endOffset":8548,"count":606},{"startOffset":8548,"endOffset":8981,"count":883},{"startOffset":8601,"endOffset":8622,"count":128},{"startOffset":8624,"endOffset":8834,"count":767},{"startOffset":8671,"endOffset":8734,"count":740},{"startOffset":8734,"endOffset":8820,"count":27},{"startOffset":8834,"endOffset":8981,"count":116},{"startOffset":8884,"endOffset":8925,"count":1},{"startOffset":8925,"endOffset":8981,"count":115},{"startOffset":8981,"endOffset":9017,"count":767}],"isBlockCoverage":true},{"functionName":"tokensToNodes","ranges":[{"startOffset":9054,"endOffset":9224,"count":122},{"startOffset":9134,"endOffset":9198,"count":401}],"isBlockCoverage":true}]},{"scriptId":"1290","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/files/memory_file.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":487,"count":1}],"isBlockCoverage":true},{"functionName":"MemoryFile","ranges":[{"startOffset":221,"endOffset":304,"count":8054}],"isBlockCoverage":true},{"functionName":"getRaw","ranges":[{"startOffset":309,"endOffset":350,"count":9535}],"isBlockCoverage":true},{"functionName":"getRawRows","ranges":[{"startOffset":355,"endOffset":412,"count":4829}],"isBlockCoverage":true}]},{"scriptId":"1291","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/files/_abstract_file.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1414,"count":1}],"isBlockCoverage":true},{"functionName":"AbstractFile","ranges":[{"startOffset":133,"endOffset":196,"count":15567}],"isBlockCoverage":true},{"functionName":"getFilename","ranges":[{"startOffset":201,"endOffset":252,"count":128016}],"isBlockCoverage":true},{"functionName":"baseName","ranges":[{"startOffset":257,"endOffset":597,"count":16816}],"isBlockCoverage":true},{"functionName":"getObjectType","ranges":[{"startOffset":602,"endOffset":777,"count":8408},{"startOffset":743,"endOffset":751,"count":0}],"isBlockCoverage":true},{"functionName":"getObjectName","ranges":[{"startOffset":782,"endOffset":1332,"count":8408}],"isBlockCoverage":true}]},{"scriptId":"1292","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structure_parser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2560,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":430,"endOffset":906,"count":7513},{"startOffset":593,"endOffset":838,"count":25336},{"startOffset":680,"endOffset":716,"count":25056},{"startOffset":717,"endOffset":755,"count":25039},{"startOffset":757,"endOffset":798,"count":963},{"startOffset":798,"endOffset":838,"count":24373}],"isBlockCoverage":true},{"functionName":"findStructureForFile","ranges":[{"startOffset":941,"endOffset":1391,"count":7513},{"startOffset":1084,"endOffset":1144,"count":377},{"startOffset":1144,"endOffset":1385,"count":7136},{"startOffset":1195,"endOffset":1259,"count":84},{"startOffset":1259,"endOffset":1385,"count":7052}],"isBlockCoverage":true},{"functionName":"runFile","ranges":[{"startOffset":1403,"endOffset":2437,"count":7513},{"startOffset":1574,"endOffset":1667,"count":3},{"startOffset":1786,"endOffset":2008,"count":390},{"startOffset":2008,"endOffset":2050,"count":7123},{"startOffset":2050,"endOffset":2386,"count":190},{"startOffset":2386,"endOffset":2436,"count":6933}],"isBlockCoverage":true}]},{"scriptId":"1293","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/4_file_information/abap_file_information.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":18208,"count":1}],"isBlockCoverage":true},{"functionName":"ABAPFileInformation","ranges":[{"startOffset":532,"endOffset":754,"count":7513}],"isBlockCoverage":true},{"functionName":"listClassImplementations","ranges":[{"startOffset":759,"endOffset":830,"count":689}],"isBlockCoverage":true},{"functionName":"listInterfaceDefinitions","ranges":[{"startOffset":835,"endOffset":901,"count":1996}],"isBlockCoverage":true},{"functionName":"getInterfaceDefinitionByName","ranges":[{"startOffset":906,"endOffset":1191,"count":81},{"startOffset":1042,"endOffset":1159,"count":88},{"startOffset":1108,"endOffset":1149,"count":79},{"startOffset":1159,"endOffset":1190,"count":2}],"isBlockCoverage":true},{"functionName":"listClassDefinitions","ranges":[{"startOffset":1196,"endOffset":1255,"count":4658}],"isBlockCoverage":true},{"functionName":"getClassDefinitionByName","ranges":[{"startOffset":1260,"endOffset":1537,"count":1027},{"startOffset":1388,"endOffset":1505,"count":1002},{"startOffset":1454,"endOffset":1495,"count":983},{"startOffset":1505,"endOffset":1536,"count":44}],"isBlockCoverage":true},{"functionName":"getClassImplementationByName","ranges":[{"startOffset":1542,"endOffset":1836,"count":156},{"startOffset":1681,"endOffset":1804,"count":161},{"startOffset":1750,"endOffset":1794,"count":142},{"startOffset":1804,"endOffset":1835,"count":14}],"isBlockCoverage":true},{"functionName":"listFormDefinitions","ranges":[{"startOffset":1841,"endOffset":1897,"count":271}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":1930,"endOffset":3551,"count":7513},{"startOffset":2002,"endOffset":2033,"count":580},{"startOffset":2033,"endOffset":2202,"count":6933},{"startOffset":2202,"endOffset":2970,"count":1038},{"startOffset":2313,"endOffset":2621,"count":658},{"startOffset":2434,"endOffset":2442,"count":0},{"startOffset":2970,"endOffset":3049,"count":6933},{"startOffset":3049,"endOffset":3545,"count":329},{"startOffset":3545,"endOffset":3550,"count":6933}],"isBlockCoverage":true},{"functionName":"parseInterfaces","ranges":[{"startOffset":3556,"endOffset":4842,"count":6933},{"startOffset":3667,"endOffset":4836,"count":290},{"startOffset":3772,"endOffset":3859,"count":0}],"isBlockCoverage":true},{"functionName":"parseClasses","ranges":[{"startOffset":4847,"endOffset":9048,"count":6933},{"startOffset":4974,"endOffset":9042,"count":1133},{"startOffset":6910,"endOffset":6918,"count":950},{"startOffset":6919,"endOffset":6948,"count":183},{"startOffset":7177,"endOffset":7185,"count":0},{"startOffset":7223,"endOffset":7228,"count":0},{"startOffset":7313,"endOffset":7401,"count":1},{"startOffset":7401,"endOffset":7703,"count":1132},{"startOffset":7464,"endOffset":7553,"count":0},{"startOffset":7615,"endOffset":7703,"count":5},{"startOffset":7781,"endOffset":7864,"count":6},{"startOffset":7864,"endOffset":8144,"count":1127},{"startOffset":7920,"endOffset":8002,"count":0},{"startOffset":8060,"endOffset":8144,"count":0},{"startOffset":8706,"endOffset":8714,"count":0}],"isBlockCoverage":true},{"functionName":"getImplementing","ranges":[{"startOffset":9077,"endOffset":10422,"count":1423},{"startOffset":9203,"endOffset":10396,"count":114},{"startOffset":9356,"endOffset":9553,"count":1},{"startOffset":9693,"endOffset":9884,"count":0}],"isBlockCoverage":true},{"functionName":"parseAliases","ranges":[{"startOffset":10427,"endOffset":11052,"count":3689},{"startOffset":10492,"endOffset":10526,"count":2492},{"startOffset":10526,"endOffset":10619,"count":1197},{"startOffset":10619,"endOffset":11026,"count":30},{"startOffset":11026,"endOffset":11051,"count":1197}],"isBlockCoverage":true},{"functionName":"parseConstants","ranges":[{"startOffset":11057,"endOffset":12203,"count":3689},{"startOffset":11144,"endOffset":11178,"count":2492},{"startOffset":11178,"endOffset":11283,"count":1197},{"startOffset":11283,"endOffset":12173,"count":112},{"startOffset":11632,"endOffset":11640,"count":2},{"startOffset":11641,"endOffset":11669,"count":110},{"startOffset":11697,"endOffset":11701,"count":110},{"startOffset":11702,"endOffset":11708,"count":2},{"startOffset":11837,"endOffset":11845,"count":0},{"startOffset":12005,"endOffset":12009,"count":0},{"startOffset":12173,"endOffset":12202,"count":1197}],"isBlockCoverage":true},{"functionName":"parseAttributes","ranges":[{"startOffset":12208,"endOffset":14006,"count":3689},{"startOffset":12276,"endOffset":12310,"count":2492},{"startOffset":12310,"endOffset":12425,"count":1197},{"startOffset":12425,"endOffset":12459,"count":91},{"startOffset":12459,"endOffset":12556,"count":1106},{"startOffset":12556,"endOffset":12996,"count":181},{"startOffset":12996,"endOffset":13074,"count":1106},{"startOffset":13074,"endOffset":13512,"count":23},{"startOffset":13512,"endOffset":13589,"count":1106},{"startOffset":13589,"endOffset":13980,"count":106},{"startOffset":13980,"endOffset":14005,"count":1106}],"isBlockCoverage":true},{"functionName":"parseMethodDefinition","ranges":[{"startOffset":14011,"endOffset":15211,"count":3689},{"startOffset":14101,"endOffset":14135,"count":2492},{"startOffset":14135,"endOffset":14236,"count":1197},{"startOffset":14236,"endOffset":15181,"count":793},{"startOffset":14351,"endOffset":14359,"count":0},{"startOffset":14424,"endOffset":14465,"count":0},{"startOffset":15181,"endOffset":15210,"count":1197}],"isBlockCoverage":true},{"functionName":"parseMethodParameters","ranges":[{"startOffset":15266,"endOffset":18105,"count":793},{"startOffset":15455,"endOffset":16064,"count":282},{"startOffset":15544,"endOffset":16054,"count":300},{"startOffset":15664,"endOffset":15672,"count":0},{"startOffset":16172,"endOffset":16781,"count":21},{"startOffset":16261,"endOffset":16771,"count":22},{"startOffset":16381,"endOffset":16389,"count":0},{"startOffset":16886,"endOffset":17493,"count":14},{"startOffset":17094,"endOffset":17102,"count":0},{"startOffset":17601,"endOffset":18079,"count":133},{"startOffset":17721,"endOffset":17729,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1294","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/4_file_information/_abap_file_information.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1358,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":280,"endOffset":440,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":540,"endOffset":805,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":919,"endOffset":1041,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1108,"endOffset":1254,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1295","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/4_file_information/visibility.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":410,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":123,"endOffset":315,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1296","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/abap_file.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1247,"count":1}],"isBlockCoverage":true},{"functionName":"ABAPFile","ranges":[{"startOffset":270,"endOffset":523,"count":7513}],"isBlockCoverage":true},{"functionName":"getRaw","ranges":[{"startOffset":528,"endOffset":579,"count":456}],"isBlockCoverage":true},{"functionName":"getInfo","ranges":[{"startOffset":584,"endOffset":627,"count":7602}],"isBlockCoverage":true},{"functionName":"getRawRows","ranges":[{"startOffset":632,"endOffset":691,"count":2674}],"isBlockCoverage":true},{"functionName":"getStructure","ranges":[{"startOffset":696,"endOffset":749,"count":24505}],"isBlockCoverage":true},{"functionName":"getTokens","ranges":[{"startOffset":754,"endOffset":1118,"count":3937},{"startOffset":820,"endOffset":863,"count":1549},{"startOffset":863,"endOffset":1112,"count":2388}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":942,"endOffset":1073,"count":30717},{"startOffset":1004,"endOffset":1059,"count":30706}],"isBlockCoverage":true},{"functionName":"getStatements","ranges":[{"startOffset":1123,"endOffset":1178,"count":23393}],"isBlockCoverage":true}]},{"scriptId":"1297","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/align_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":14817,"count":1}],"isBlockCoverage":true},{"functionName":"AlignParameters","ranges":[{"startOffset":692,"endOffset":789,"count":10461}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":794,"endOffset":2151,"count":31111}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2156,"endOffset":2201,"count":9922}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2206,"endOffset":2255,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2260,"endOffset":2973,"count":295},{"startOffset":2379,"endOffset":2433,"count":12},{"startOffset":2433,"endOffset":2814,"count":283},{"startOffset":2814,"endOffset":2944,"count":36},{"startOffset":2887,"endOffset":2934,"count":16},{"startOffset":2944,"endOffset":2972,"count":283}],"isBlockCoverage":true},{"functionName":"checkCandidate","ranges":[{"startOffset":2978,"endOffset":4343,"count":36},{"startOffset":3059,"endOffset":3100,"count":0},{"startOffset":3206,"endOffset":3564,"count":75},{"startOffset":3354,"endOffset":3403,"count":2},{"startOffset":3403,"endOffset":3488,"count":73},{"startOffset":3488,"endOffset":3554,"count":54},{"startOffset":3564,"endOffset":3611,"count":34},{"startOffset":3611,"endOffset":4311,"count":60},{"startOffset":3669,"endOffset":4301,"count":16},{"startOffset":3754,"endOffset":3896,"count":13},{"startOffset":3896,"endOffset":4075,"count":3},{"startOffset":4311,"endOffset":4342,"count":18}],"isBlockCoverage":true},{"functionName":"newCandidates","ranges":[{"startOffset":4348,"endOffset":6014,"count":283},{"startOffset":4483,"endOffset":5981,"count":4},{"startOffset":4658,"endOffset":5279,"count":0},{"startOffset":5380,"endOffset":5971,"count":2},{"startOffset":5434,"endOffset":5841,"count":4},{"startOffset":5535,"endOffset":5606,"count":0}],"isBlockCoverage":true},{"functionName":"valueBodyCandidates","ranges":[{"startOffset":6019,"endOffset":7772,"count":283},{"startOffset":6160,"endOffset":6906,"count":6},{"startOffset":6335,"endOffset":6376,"count":1},{"startOffset":6376,"endOffset":6424,"count":5},{"startOffset":6424,"endOffset":6792,"count":10},{"startOffset":6518,"endOffset":6581,"count":0},{"startOffset":6792,"endOffset":6896,"count":5},{"startOffset":6993,"endOffset":7739,"count":4},{"startOffset":7168,"endOffset":7209,"count":1},{"startOffset":7209,"endOffset":7257,"count":3},{"startOffset":7257,"endOffset":7625,"count":6},{"startOffset":7351,"endOffset":7414,"count":0},{"startOffset":7625,"endOffset":7729,"count":3}],"isBlockCoverage":true},{"functionName":"raiseAndCreateCandidates","ranges":[{"startOffset":7777,"endOffset":9400,"count":283},{"startOffset":8114,"endOffset":9367,"count":13},{"startOffset":8297,"endOffset":8305,"count":5},{"startOffset":8306,"endOffset":8327,"count":8},{"startOffset":8329,"endOffset":8334,"count":5},{"startOffset":8336,"endOffset":8703,"count":15},{"startOffset":8429,"endOffset":8492,"count":0},{"startOffset":8850,"endOffset":8858,"count":12},{"startOffset":8859,"endOffset":8877,"count":1},{"startOffset":8879,"endOffset":8884,"count":12},{"startOffset":8886,"endOffset":9253,"count":5},{"startOffset":8979,"endOffset":9042,"count":0},{"startOffset":9293,"endOffset":9357,"count":8}],"isBlockCoverage":true},{"functionName":"methodCallParamCandidates","ranges":[{"startOffset":9405,"endOffset":12700,"count":283},{"startOffset":9583,"endOffset":12667,"count":19},{"startOffset":9739,"endOffset":9747,"count":15},{"startOffset":9748,"endOffset":9766,"count":4},{"startOffset":9768,"endOffset":9773,"count":15},{"startOffset":9775,"endOffset":10146,"count":7},{"startOffset":9872,"endOffset":9935,"count":0},{"startOffset":10246,"endOffset":12553,"count":6},{"startOffset":10366,"endOffset":10374,"count":4},{"startOffset":10375,"endOffset":10393,"count":2},{"startOffset":10395,"endOffset":10400,"count":4},{"startOffset":10402,"endOffset":10809,"count":4},{"startOffset":10503,"endOffset":10574,"count":0},{"startOffset":10896,"endOffset":11454,"count":2},{"startOffset":10982,"endOffset":10987,"count":0},{"startOffset":10989,"endOffset":11436,"count":4},{"startOffset":11098,"endOffset":11177,"count":0},{"startOffset":11557,"endOffset":11966,"count":0},{"startOffset":12095,"endOffset":12103,"count":4},{"startOffset":12104,"endOffset":12122,"count":2},{"startOffset":12124,"endOffset":12129,"count":4},{"startOffset":12131,"endOffset":12539,"count":4},{"startOffset":12233,"endOffset":12304,"count":0},{"startOffset":12593,"endOffset":12657,"count":10}],"isBlockCoverage":true},{"functionName":"functionParameterCandidates","ranges":[{"startOffset":12705,"endOffset":14727,"count":283},{"startOffset":12863,"endOffset":14694,"count":8},{"startOffset":12991,"endOffset":13358,"count":16},{"startOffset":13084,"endOffset":13147,"count":0},{"startOffset":13444,"endOffset":13953,"count":0},{"startOffset":14063,"endOffset":14580,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1298","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10224,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1413,"endOffset":1450,"count":8}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1559,"endOffset":1598,"count":68}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1710,"endOffset":1751,"count":392}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1866,"endOffset":1909,"count":54}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":2061,"endOffset":2124,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2263,"endOffset":2319,"count":5}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":2555,"endOffset":2604,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2745,"endOffset":2805,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":2940,"endOffset":2996,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":3129,"endOffset":3178,"count":315}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3306,"endOffset":3350,"count":254}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3499,"endOffset":3555,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":3638,"endOffset":3698,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":3849,"endOffset":3908,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4056,"endOffset":4109,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4245,"endOffset":4292,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4437,"endOffset":4490,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4699,"endOffset":4753,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5532,"endOffset":5575,"count":6}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":5713,"endOffset":5771,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5908,"endOffset":5961,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6108,"endOffset":6162,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6307,"endOffset":6349,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6421,"endOffset":6465,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6537,"endOffset":6581,"count":6}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":6655,"endOffset":6701,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6778,"endOffset":6827,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6901,"endOffset":6947,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7075,"endOffset":7128,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7206,"endOffset":7257,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7395,"endOffset":7445,"count":15}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":7573,"endOffset":7615,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":7737,"endOffset":7781,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7910,"endOffset":7958,"count":186}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8084,"endOffset":8125,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":8365,"endOffset":8412,"count":38}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8559,"endOffset":8607,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":8722,"endOffset":8765,"count":3}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8889,"endOffset":8935,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":9059,"endOffset":9105,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":9231,"endOffset":9281,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":9397,"endOffset":9437,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":9613,"endOffset":9692,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":9812,"endOffset":9858,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":9986,"endOffset":10035,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":10147,"endOffset":10186,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1299","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/registry.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12837,"count":1}],"isBlockCoverage":true},{"functionName":"clear","ranges":[{"startOffset":706,"endOffset":830,"count":7514}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":842,"endOffset":1623,"count":7915},{"startOffset":895,"endOffset":1085,"count":7452},{"startOffset":1151,"endOffset":1622,"count":0}],"isBlockCoverage":true},{"functionName":"output","ranges":[{"startOffset":1635,"endOffset":2219,"count":0}],"isBlockCoverage":false},{"functionName":"Registry","ranges":[{"startOffset":2339,"endOffset":2733,"count":7073},{"startOffset":2476,"endOffset":2482,"count":2751},{"startOffset":2483,"endOffset":2513,"count":4322}],"isBlockCoverage":true},{"functionName":"abaplintVersion","ranges":[{"startOffset":2745,"endOffset":2844,"count":0}],"isBlockCoverage":false},{"functionName":"getDDICReferences","ranges":[{"startOffset":2849,"endOffset":2912,"count":3562}],"isBlockCoverage":true},{"functionName":"getMSAGReferences","ranges":[{"startOffset":2917,"endOffset":2980,"count":2903}],"isBlockCoverage":true},{"functionName":"getMacroReferences","ranges":[{"startOffset":2985,"endOffset":3050,"count":15360}],"isBlockCoverage":true},{"functionName":"getObjects","ranges":[{"startOffset":3055,"endOffset":3244,"count":31912},{"startOffset":3112,"endOffset":3238,"count":33934},{"startOffset":3165,"endOffset":3228,"count":33939},{"startOffset":3214,"endOffset":3228,"count":24657},{"startOffset":3228,"endOffset":3238,"count":24652},{"startOffset":3238,"endOffset":3243,"count":22630}],"isBlockCoverage":true},{"functionName":"getObjectsByType","ranges":[{"startOffset":3249,"endOffset":3401,"count":1292},{"startOffset":3327,"endOffset":3332,"count":1200},{"startOffset":3334,"endOffset":3395,"count":104},{"startOffset":3385,"endOffset":3395,"count":98},{"startOffset":3395,"endOffset":3400,"count":1286}],"isBlockCoverage":true},{"functionName":"getFiles","ranges":[{"startOffset":3406,"endOffset":3573,"count":27},{"startOffset":3465,"endOffset":3567,"count":45},{"startOffset":3514,"endOffset":3557,"count":48}],"isBlockCoverage":true},{"functionName":"getFirstObject","ranges":[{"startOffset":3578,"endOffset":3797,"count":3581},{"startOffset":3755,"endOffset":3796,"count":0}],"isBlockCoverage":true},{"functionName":"getObjectCount","ranges":[{"startOffset":3802,"endOffset":4081,"count":59},{"startOffset":3908,"endOffset":4055,"count":81},{"startOffset":3977,"endOffset":4018,"count":1},{"startOffset":4018,"endOffset":4055,"count":80}],"isBlockCoverage":true},{"functionName":"getFileByName","ranges":[{"startOffset":4086,"endOffset":4413,"count":1180},{"startOffset":4201,"endOffset":4381,"count":1285},{"startOffset":4245,"endOffset":4371,"count":1306},{"startOffset":4308,"endOffset":4357,"count":1179},{"startOffset":4371,"endOffset":4381,"count":106},{"startOffset":4381,"endOffset":4412,"count":1}],"isBlockCoverage":true},{"functionName":"getObject","ranges":[{"startOffset":4418,"endOffset":4717,"count":7460},{"startOffset":4496,"endOffset":4537,"count":4},{"startOffset":4537,"endOffset":4623,"count":7456},{"startOffset":4623,"endOffset":4685,"count":3500},{"startOffset":4685,"endOffset":4716,"count":3956}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":4722,"endOffset":4767,"count":72747}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":4852,"endOffset":5007,"count":764},{"startOffset":4915,"endOffset":4954,"count":775}],"isBlockCoverage":true},{"functionName":"inErrorNamespace","ranges":[{"startOffset":5012,"endOffset":5208,"count":1080}],"isBlockCoverage":true},{"functionName":"addFile","ranges":[{"startOffset":5213,"endOffset":5272,"count":7342}],"isBlockCoverage":true},{"functionName":"updateFile","ranges":[{"startOffset":5277,"endOffset":5427,"count":497}],"isBlockCoverage":true},{"functionName":"removeFile","ranges":[{"startOffset":5432,"endOffset":5759,"count":41},{"startOffset":5597,"endOffset":5732,"count":34},{"startOffset":5732,"endOffset":5758,"count":40}],"isBlockCoverage":true},{"functionName":"_addFiles","ranges":[{"startOffset":5764,"endOffset":6630,"count":7493},{"startOffset":5905,"endOffset":5909,"count":7486},{"startOffset":5910,"endOffset":5914,"count":7},{"startOffset":6002,"endOffset":6603,"count":7570},{"startOffset":6153,"endOffset":6221,"count":7566},{"startOffset":6223,"endOffset":6264,"count":8},{"startOffset":6264,"endOffset":6383,"count":7562},{"startOffset":6383,"endOffset":6391,"count":7559},{"startOffset":6392,"endOffset":6419,"count":7559},{"startOffset":6421,"endOffset":6563,"count":2},{"startOffset":6563,"endOffset":6603,"count":7562}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5933,"endOffset":5968,"count":4}],"isBlockCoverage":true},{"functionName":"addFiles","ranges":[{"startOffset":6635,"endOffset":6717,"count":7490}],"isBlockCoverage":true},{"functionName":"addDependencies","ranges":[{"startOffset":6722,"endOffset":6851,"count":0}],"isBlockCoverage":false},{"functionName":"addDependency","ranges":[{"startOffset":6856,"endOffset":7339,"count":3},{"startOffset":6969,"endOffset":6977,"count":0},{"startOffset":7030,"endOffset":7066,"count":0}],"isBlockCoverage":true},{"functionName":"removeDependency","ranges":[{"startOffset":7344,"endOffset":7530,"count":2},{"startOffset":7458,"endOffset":7464,"count":0}],"isBlockCoverage":true},{"functionName":"isDependency","ranges":[{"startOffset":7535,"endOffset":7698,"count":8983},{"startOffset":7653,"endOffset":7661,"count":8977},{"startOffset":7662,"endOffset":7681,"count":6}],"isBlockCoverage":true},{"functionName":"isFileDependency","ranges":[{"startOffset":7703,"endOffset":8201,"count":159},{"startOffset":7829,"endOffset":7866,"count":0},{"startOffset":7939,"endOffset":7947,"count":0},{"startOffset":8000,"endOffset":8037,"count":0},{"startOffset":8165,"endOffset":8173,"count":157},{"startOffset":8174,"endOffset":8184,"count":2}],"isBlockCoverage":true},{"functionName":"findObjectForFile","ranges":[{"startOffset":8261,"endOffset":8590,"count":487},{"startOffset":8377,"endOffset":8558,"count":523},{"startOffset":8427,"endOffset":8548,"count":533},{"startOffset":8483,"endOffset":8534,"count":487},{"startOffset":8548,"endOffset":8558,"count":36},{"startOffset":8558,"endOffset":8589,"count":0}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":8647,"endOffset":8835,"count":251},{"startOffset":8704,"endOffset":8741,"count":89}],"isBlockCoverage":true},{"functionName":"findIssuesObject","ranges":[{"startOffset":8892,"endOffset":9067,"count":4},{"startOffset":8954,"endOffset":8991,"count":0}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":9124,"endOffset":9433,"count":6456},{"startOffset":9172,"endOffset":9208,"count":18},{"startOffset":9208,"endOffset":9288,"count":6438},{"startOffset":9288,"endOffset":9333,"count":6621},{"startOffset":9333,"endOffset":9432,"count":6438}],"isBlockCoverage":true},{"functionName":"parseAsync","ranges":[{"startOffset":9438,"endOffset":10386,"count":1080},{"startOffset":9522,"endOffset":9558,"count":4},{"startOffset":9558,"endOffset":9643,"count":1076},{"startOffset":9644,"endOffset":9652,"count":1076},{"startOffset":9653,"endOffset":9669,"count":0},{"startOffset":9680,"endOffset":9696,"count":1076},{"startOffset":9697,"endOffset":9705,"count":1076},{"startOffset":9706,"endOffset":9764,"count":0},{"startOffset":9809,"endOffset":10079,"count":1294},{"startOffset":9880,"endOffset":9896,"count":0},{"startOffset":9933,"endOffset":10033,"count":0},{"startOffset":10079,"endOffset":10127,"count":1076},{"startOffset":10128,"endOffset":10136,"count":1076},{"startOffset":10137,"endOffset":10162,"count":0},{"startOffset":10174,"endOffset":10226,"count":0},{"startOffset":10226,"endOffset":10331,"count":1076},{"startOffset":10332,"endOffset":10340,"count":1076},{"startOffset":10341,"endOffset":10357,"count":0}],"isBlockCoverage":true},{"functionName":"parsePrivate","ranges":[{"startOffset":10544,"endOffset":10765,"count":7915}],"isBlockCoverage":true},{"functionName":"isDirty","ranges":[{"startOffset":10770,"endOffset":10980,"count":7791},{"startOffset":10825,"endOffset":10952,"count":7817},{"startOffset":10898,"endOffset":10942,"count":7603},{"startOffset":10952,"endOffset":10979,"count":188}],"isBlockCoverage":true},{"functionName":"findOrCreate","ranges":[{"startOffset":10985,"endOffset":11673,"count":7564},{"startOffset":11086,"endOffset":11667,"count":7436},{"startOffset":11187,"endOffset":11198,"count":0},{"startOffset":11343,"endOffset":11402,"count":7434},{"startOffset":11512,"endOffset":11577,"count":7275}],"isBlockCoverage":true},{"functionName":"removeObject","ranges":[{"startOffset":11678,"endOffset":12395,"count":36},{"startOffset":11735,"endOffset":11766,"count":0},{"startOffset":11843,"endOffset":11917,"count":0},{"startOffset":12050,"endOffset":12144,"count":0},{"startOffset":12221,"endOffset":12289,"count":27},{"startOffset":12289,"endOffset":12389,"count":9}],"isBlockCoverage":true},{"functionName":"find","ranges":[{"startOffset":12400,"endOffset":12769,"count":8102},{"startOffset":12458,"endOffset":12469,"count":0},{"startOffset":12581,"endOffset":12620,"count":666},{"startOffset":12622,"endOffset":12690,"count":664},{"startOffset":12690,"endOffset":12768,"count":7438}],"isBlockCoverage":true}]},{"scriptId":"1300","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/artifacts_objects.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1010,"count":1}],"isBlockCoverage":true},{"functionName":"newObject","ranges":[{"startOffset":250,"endOffset":594,"count":7439},{"startOffset":316,"endOffset":362,"count":1},{"startOffset":433,"endOffset":512,"count":5},{"startOffset":512,"endOffset":588,"count":7434}],"isBlockCoverage":true},{"functionName":"buildObjectMap","ranges":[{"startOffset":606,"endOffset":917,"count":1},{"startOffset":719,"endOffset":911,"count":152},{"startOffset":770,"endOffset":901,"count":149}],"isBlockCoverage":true}]},{"scriptId":"1301","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9143,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":152},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":69484}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":150},{"startOffset":585,"endOffset":690,"count":153},{"startOffset":659,"endOffset":690,"count":152}],"isBlockCoverage":true}]},{"scriptId":"1302","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/activation_variant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":570,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":243,"endOffset":283,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":288,"endOffset":403,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":408,"endOffset":474,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1303","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/api_release_state.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":562,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":400,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":405,"endOffset":471,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1304","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/application_job_catalog_entry.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":617,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":261,"endOffset":301,"count":2}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":306,"endOffset":421,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":426,"endOffset":492,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1305","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/application_job_template.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":596,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":253,"endOffset":293,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":298,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":418,"endOffset":484,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1306","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/application_log_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":587,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":249,"endOffset":289,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":294,"endOffset":410,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":415,"endOffset":481,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1307","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/assignment_service_to_authorization_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":673,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":283,"endOffset":323,"count":2}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":328,"endOffset":443,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":448,"endOffset":514,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1308","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/atc_check_category.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":566,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":241,"endOffset":281,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":286,"endOffset":401,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":406,"endOffset":472,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1309","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/atc_check_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":556,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1310","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/atc_check_variant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":561,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":399,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":404,"endOffset":470,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1311","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_check_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2476,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":338,"endOffset":378,"count":69}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":383,"endOffset":498,"count":2}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":503,"endOffset":583,"count":4}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":588,"endOffset":654,"count":0}],"isBlockCoverage":false},{"functionName":"getDataElementName","ranges":[{"startOffset":659,"endOffset":812,"count":1},{"startOffset":783,"endOffset":791,"count":0}],"isBlockCoverage":true},{"functionName":"parseType","ranges":[{"startOffset":817,"endOffset":1692,"count":9},{"startOffset":1006,"endOffset":1014,"count":0},{"startOffset":1137,"endOffset":1314,"count":6},{"startOffset":1314,"endOffset":1590,"count":3},{"startOffset":1487,"endOffset":1590,"count":0},{"startOffset":1600,"endOffset":1686,"count":0}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":1697,"endOffset":2361,"count":16},{"startOffset":1751,"endOffset":1813,"count":12},{"startOffset":1813,"endOffset":1995,"count":4},{"startOffset":2008,"endOffset":2065,"count":4},{"startOffset":2067,"endOffset":2129,"count":0},{"startOffset":2129,"endOffset":2243,"count":4},{"startOffset":2244,"endOffset":2252,"count":0},{"startOffset":2253,"endOffset":2266,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1312","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2428,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":34},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":2204794}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":32},{"startOffset":585,"endOffset":690,"count":34}],"isBlockCoverage":true}]},{"scriptId":"1313","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/any_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":514,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":215,"endOffset":259,"count":2}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":264,"endOffset":302,"count":1}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":307,"endOffset":347,"count":9}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":352,"endOffset":396,"count":6}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":401,"endOffset":448,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1314","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/_abstract_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":899,"count":1}],"isBlockCoverage":true},{"functionName":"AbstractType","ranges":[{"startOffset":133,"endOffset":186,"count":1177399}],"isBlockCoverage":true},{"functionName":"getAbstractTypeData","ranges":[{"startOffset":191,"endOffset":246,"count":161}],"isBlockCoverage":true},{"functionName":"getQualifiedName","ranges":[{"startOffset":304,"endOffset":433,"count":291},{"startOffset":399,"endOffset":407,"count":3},{"startOffset":408,"endOffset":426,"count":288}],"isBlockCoverage":true},{"functionName":"getRTTIName","ranges":[{"startOffset":438,"endOffset":557,"count":56},{"startOffset":528,"endOffset":536,"count":0}],"isBlockCoverage":true},{"functionName":"getConversionExit","ranges":[{"startOffset":562,"endOffset":693,"count":58},{"startOffset":658,"endOffset":666,"count":0}],"isBlockCoverage":true},{"functionName":"getDDICName","ranges":[{"startOffset":698,"endOffset":817,"count":63},{"startOffset":788,"endOffset":796,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1315","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/cgeneric_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":559,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":225,"endOffset":267,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":272,"endOffset":312,"count":0}],"isBlockCoverage":false},{"functionName":"toABAP","ranges":[{"startOffset":317,"endOffset":372,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":377,"endOffset":421,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":426,"endOffset":478,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1316","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/character_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1373,"count":1}],"isBlockCoverage":true},{"functionName":"CharacterType","ranges":[{"startOffset":227,"endOffset":404,"count":1001383},{"startOffset":303,"endOffset":368,"count":1},{"startOffset":368,"endOffset":403,"count":1001382}],"isBlockCoverage":true},{"functionName":"cloneType","ranges":[{"startOffset":409,"endOffset":865,"count":5},{"startOffset":496,"endOffset":501,"count":0},{"startOffset":631,"endOffset":687,"count":0},{"startOffset":727,"endOffset":805,"count":0}],"isBlockCoverage":true},{"functionName":"getLength","ranges":[{"startOffset":870,"endOffset":917,"count":415}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":922,"endOffset":996,"count":127}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":1001,"endOffset":1064,"count":4}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":1069,"endOffset":1110,"count":495}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":1115,"endOffset":1159,"count":249}],"isBlockCoverage":true},{"functionName":"getIdentifier","ranges":[{"startOffset":1164,"endOffset":1213,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":1218,"endOffset":1289,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1317","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/clike_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":687,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":226,"endOffset":270,"count":146}],"isBlockCoverage":true},{"functionName":"CLikeType","ranges":[{"startOffset":275,"endOffset":313,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":318,"endOffset":364,"count":4}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":369,"endOffset":409,"count":4}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":414,"endOffset":473,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":478,"endOffset":522,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":527,"endOffset":576,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1318","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/csequence_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":581,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":227,"endOffset":277,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":282,"endOffset":322,"count":1}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":327,"endOffset":390,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":395,"endOffset":439,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":444,"endOffset":497,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1319","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/data_reference_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1093,"count":1}],"isBlockCoverage":true},{"functionName":"DataReference","ranges":[{"startOffset":269,"endOffset":384,"count":93}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":389,"endOffset":471,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":476,"endOffset":519,"count":40}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":524,"endOffset":742,"count":3},{"startOffset":617,"endOffset":689,"count":0}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":747,"endOffset":878,"count":49},{"startOffset":814,"endOffset":850,"count":1},{"startOffset":850,"endOffset":877,"count":48}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":883,"endOffset":946,"count":2}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":951,"endOffset":1004,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1320","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/data_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":522,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":217,"endOffset":262,"count":0}],"isBlockCoverage":false},{"functionName":"toABAP","ranges":[{"startOffset":267,"endOffset":306,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":311,"endOffset":351,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":356,"endOffset":400,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":405,"endOffset":453,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1321","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/date_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":512,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":217,"endOffset":259,"count":3}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":264,"endOffset":305,"count":19}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":310,"endOffset":346,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":351,"endOffset":395,"count":6}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":400,"endOffset":443,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1322","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/decfloat_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":225,"endOffset":274,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":279,"endOffset":319,"count":0}],"isBlockCoverage":false},{"functionName":"toABAP","ranges":[{"startOffset":324,"endOffset":367,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":372,"endOffset":416,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":421,"endOffset":464,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1323","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/decfloat16_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":560,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":229,"endOffset":280,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":285,"endOffset":326,"count":1}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":331,"endOffset":376,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":381,"endOffset":425,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":430,"endOffset":473,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1324","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/decfloat34_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":560,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":229,"endOffset":280,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":285,"endOffset":326,"count":2}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":331,"endOffset":376,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":381,"endOffset":425,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":430,"endOffset":473,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1325","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/float_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":599,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":301,"endOffset":343,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":348,"endOffset":389,"count":10}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":394,"endOffset":430,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":435,"endOffset":479,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":484,"endOffset":527,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1326","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/floating_point_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":931,"count":1}],"isBlockCoverage":true},{"functionName":"FloatingPointType","ranges":[{"startOffset":275,"endOffset":492,"count":2},{"startOffset":386,"endOffset":456,"count":0}],"isBlockCoverage":true},{"functionName":"getLength","ranges":[{"startOffset":497,"endOffset":544,"count":0}],"isBlockCoverage":false},{"functionName":"toText","ranges":[{"startOffset":549,"endOffset":623,"count":0}],"isBlockCoverage":false},{"functionName":"toABAP","ranges":[{"startOffset":628,"endOffset":691,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":696,"endOffset":737,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":742,"endOffset":786,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":791,"endOffset":834,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1327","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/generic_object_reference_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":717,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":253,"endOffset":307,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":312,"endOffset":425,"count":39}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":430,"endOffset":478,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":483,"endOffset":527,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":532,"endOffset":592,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1328","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/hex_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":856,"count":1}],"isBlockCoverage":true},{"functionName":"HexType","ranges":[{"startOffset":215,"endOffset":421,"count":18398},{"startOffset":326,"endOffset":385,"count":0}],"isBlockCoverage":true},{"functionName":"getLength","ranges":[{"startOffset":426,"endOffset":473,"count":16}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":478,"endOffset":552,"count":2}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":557,"endOffset":620,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":625,"endOffset":666,"count":32}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":671,"endOffset":715,"count":6}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":720,"endOffset":790,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1329","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/integer_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1054,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":230,"endOffset":367,"count":451364},{"startOffset":276,"endOffset":322,"count":440557},{"startOffset":322,"endOffset":366,"count":10807}],"isBlockCoverage":true},{"functionName":"IntegerType","ranges":[{"startOffset":372,"endOffset":420,"count":10808}],"isBlockCoverage":true},{"functionName":"getQualifiedName","ranges":[{"startOffset":478,"endOffset":702,"count":98},{"startOffset":579,"endOffset":587,"count":4},{"startOffset":588,"endOffset":606,"count":94},{"startOffset":640,"endOffset":675,"count":48},{"startOffset":675,"endOffset":701,"count":50}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":707,"endOffset":749,"count":71}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":754,"endOffset":795,"count":930}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":800,"endOffset":836,"count":5}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":841,"endOffset":885,"count":138}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":890,"endOffset":933,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1330","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/integer8_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":538,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":225,"endOffset":270,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":275,"endOffset":316,"count":9}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":321,"endOffset":360,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":365,"endOffset":409,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":414,"endOffset":457,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1331","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/numeric_generic_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":619,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":237,"endOffset":285,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":290,"endOffset":330,"count":0}],"isBlockCoverage":false},{"functionName":"toABAP","ranges":[{"startOffset":335,"endOffset":407,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":412,"endOffset":456,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":461,"endOffset":519,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1332","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/numeric_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":881,"count":1}],"isBlockCoverage":true},{"functionName":"NumericType","ranges":[{"startOffset":223,"endOffset":433,"count":55054},{"startOffset":334,"endOffset":397,"count":0}],"isBlockCoverage":true},{"functionName":"getLength","ranges":[{"startOffset":438,"endOffset":485,"count":6}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":490,"endOffset":564,"count":6}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":569,"endOffset":632,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":637,"endOffset":678,"count":10}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":683,"endOffset":727,"count":13}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":732,"endOffset":803,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1333","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/object_reference_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":924,"count":1}],"isBlockCoverage":true},{"functionName":"ObjectReferenceType","ranges":[{"startOffset":291,"endOffset":373,"count":1225}],"isBlockCoverage":true},{"functionName":"getIdentifierName","ranges":[{"startOffset":378,"endOffset":447,"count":345}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":452,"endOffset":533,"count":3}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":538,"endOffset":608,"count":7}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":613,"endOffset":654,"count":166}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":659,"endOffset":703,"count":7}],"isBlockCoverage":true},{"functionName":"getIdentifier","ranges":[{"startOffset":708,"endOffset":763,"count":169}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":768,"endOffset":821,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1334","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/packed_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1087,"count":1}],"isBlockCoverage":true},{"functionName":"PackedType","ranges":[{"startOffset":221,"endOffset":535,"count":18367},{"startOffset":307,"endOffset":369,"count":0},{"startOffset":401,"endOffset":465,"count":0}],"isBlockCoverage":true},{"functionName":"getLength","ranges":[{"startOffset":540,"endOffset":587,"count":5}],"isBlockCoverage":true},{"functionName":"getDecimals","ranges":[{"startOffset":592,"endOffset":643,"count":5}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":648,"endOffset":758,"count":2}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":763,"endOffset":862,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":867,"endOffset":908,"count":14}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":913,"endOffset":957,"count":5}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":962,"endOffset":1012,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1335","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/simple_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":538,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":221,"endOffset":268,"count":0}],"isBlockCoverage":false},{"functionName":"toABAP","ranges":[{"startOffset":273,"endOffset":314,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":319,"endOffset":359,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":364,"endOffset":408,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":413,"endOffset":463,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1336","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/string_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1063,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":228,"endOffset":364,"count":1174},{"startOffset":274,"endOffset":320,"count":435},{"startOffset":320,"endOffset":363,"count":739}],"isBlockCoverage":true},{"functionName":"StringType","ranges":[{"startOffset":369,"endOffset":417,"count":740}],"isBlockCoverage":true},{"functionName":"getQualifiedName","ranges":[{"startOffset":475,"endOffset":704,"count":84},{"startOffset":576,"endOffset":584,"count":37},{"startOffset":585,"endOffset":603,"count":47},{"startOffset":637,"endOffset":677,"count":40},{"startOffset":677,"endOffset":703,"count":44}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":709,"endOffset":756,"count":16}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":761,"endOffset":802,"count":624}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":807,"endOffset":848,"count":1}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":853,"endOffset":897,"count":22}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":902,"endOffset":947,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1337","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/structure_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1785,"count":1}],"isBlockCoverage":true},{"functionName":"StructureType","ranges":[{"startOffset":227,"endOffset":882,"count":9955},{"startOffset":417,"endOffset":502,"count":0},{"startOffset":566,"endOffset":838,"count":1570607},{"startOffset":667,"endOffset":786,"count":1},{"startOffset":786,"endOffset":838,"count":1570606},{"startOffset":838,"endOffset":881,"count":9954}],"isBlockCoverage":true},{"functionName":"getComponents","ranges":[{"startOffset":887,"endOffset":942,"count":1580}],"isBlockCoverage":true},{"functionName":"getComponentByName","ranges":[{"startOffset":947,"endOffset":1028,"count":587}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":1033,"endOffset":1327,"count":8},{"startOffset":1116,"endOffset":1197,"count":180}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":1332,"endOffset":1373,"count":525}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":1378,"endOffset":1534,"count":8},{"startOffset":1486,"endOffset":1533,"count":0}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":1539,"endOffset":1643,"count":28}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1597,"endOffset":1635,"count":381}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":1648,"endOffset":1701,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1338","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/table_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2603,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":230,"endOffset":466,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":557,"endOffset":697,"count":1}],"isBlockCoverage":true},{"functionName":"TableType","ranges":[{"startOffset":820,"endOffset":1239,"count":673},{"startOffset":1061,"endOffset":1069,"count":94},{"startOffset":1070,"endOffset":1079,"count":579},{"startOffset":1110,"endOffset":1149,"count":543},{"startOffset":1151,"endOffset":1233,"count":1},{"startOffset":1233,"endOffset":1238,"count":672}],"isBlockCoverage":true},{"functionName":"getOptions","ranges":[{"startOffset":1244,"endOffset":1293,"count":18}],"isBlockCoverage":true},{"functionName":"isWithHeader","ranges":[{"startOffset":1298,"endOffset":1360,"count":422}],"isBlockCoverage":true},{"functionName":"getAccessType","ranges":[{"startOffset":1365,"endOffset":1496,"count":3},{"startOffset":1471,"endOffset":1479,"count":0}],"isBlockCoverage":true},{"functionName":"getRowType","ranges":[{"startOffset":1501,"endOffset":1550,"count":1362}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":1555,"endOffset":1725,"count":4}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":1730,"endOffset":1995,"count":5},{"startOffset":1827,"endOffset":1907,"count":0}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":2000,"endOffset":2406,"count":701},{"startOffset":2104,"endOffset":2112,"count":19},{"startOffset":2113,"endOffset":2122,"count":682},{"startOffset":2165,"endOffset":2210,"count":52},{"startOffset":2223,"endOffset":2321,"count":23},{"startOffset":2284,"endOffset":2292,"count":0},{"startOffset":2323,"endOffset":2359,"count":2},{"startOffset":2359,"endOffset":2405,"count":699}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":2411,"endOffset":2477,"count":11}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":2482,"endOffset":2531,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1339","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/time_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":512,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":217,"endOffset":259,"count":2}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":264,"endOffset":305,"count":5}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":310,"endOffset":346,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":351,"endOffset":395,"count":4}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":400,"endOffset":443,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1340","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/unknown_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":768,"count":1}],"isBlockCoverage":true},{"functionName":"UnknownType","ranges":[{"startOffset":223,"endOffset":341,"count":3569}],"isBlockCoverage":true},{"functionName":"getError","ranges":[{"startOffset":346,"endOffset":391,"count":37}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":396,"endOffset":458,"count":0}],"isBlockCoverage":false},{"functionName":"toABAP","ranges":[{"startOffset":463,"endOffset":539,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":544,"endOffset":585,"count":47}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":590,"endOffset":634,"count":1}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":639,"endOffset":690,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1341","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/utc_long_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":223,"endOffset":271,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":276,"endOffset":317,"count":1}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":322,"endOffset":364,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":369,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":418,"endOffset":461,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1342","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/void_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":738,"count":1}],"isBlockCoverage":true},{"functionName":"VoidType","ranges":[{"startOffset":217,"endOffset":338,"count":1727}],"isBlockCoverage":true},{"functionName":"getVoided","ranges":[{"startOffset":343,"endOffset":390,"count":19}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":395,"endOffset":457,"count":0}],"isBlockCoverage":false},{"functionName":"toText","ranges":[{"startOffset":462,"endOffset":522,"count":1}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":527,"endOffset":568,"count":273}],"isBlockCoverage":true},{"functionName":"containsVoid","ranges":[{"startOffset":573,"endOffset":616,"count":4}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":621,"endOffset":669,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1343","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/xgeneric_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":559,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":225,"endOffset":267,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":272,"endOffset":312,"count":0}],"isBlockCoverage":false},{"functionName":"toABAP","ranges":[{"startOffset":317,"endOffset":372,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":377,"endOffset":421,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":426,"endOffset":478,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1344","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/xsequence_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":581,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":227,"endOffset":277,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":282,"endOffset":322,"count":0}],"isBlockCoverage":false},{"functionName":"toABAP","ranges":[{"startOffset":327,"endOffset":390,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":395,"endOffset":439,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":444,"endOffset":497,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1345","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/xstring_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":544,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":223,"endOffset":271,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneric","ranges":[{"startOffset":276,"endOffset":317,"count":24}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":322,"endOffset":364,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":369,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"toCDS","ranges":[{"startOffset":418,"endOffset":466,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1346","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":16714,"count":1}],"isBlockCoverage":true},{"functionName":"DDIC","ranges":[{"startOffset":209,"endOffset":257,"count":8551}],"isBlockCoverage":true},{"functionName":"isException","ranges":[{"startOffset":428,"endOffset":1800,"count":893},{"startOffset":500,"endOffset":537,"count":0},{"startOffset":588,"endOffset":624,"count":18},{"startOffset":624,"endOffset":716,"count":875},{"startOffset":716,"endOffset":753,"count":721},{"startOffset":753,"endOffset":870,"count":154},{"startOffset":870,"endOffset":901,"count":226},{"startOffset":903,"endOffset":1462,"count":226},{"startOffset":1012,"endOffset":1050,"count":42},{"startOffset":1050,"endOffset":1136,"count":184},{"startOffset":1137,"endOffset":1145,"count":0},{"startOffset":1146,"endOffset":1201,"count":184},{"startOffset":1243,"endOffset":1281,"count":0},{"startOffset":1281,"endOffset":1323,"count":184},{"startOffset":1323,"endOffset":1396,"count":72},{"startOffset":1396,"endOffset":1452,"count":112},{"startOffset":1462,"endOffset":1594,"count":154},{"startOffset":1595,"endOffset":1603,"count":0},{"startOffset":1604,"endOffset":1640,"count":154},{"startOffset":1642,"endOffset":1749,"count":44},{"startOffset":1699,"endOffset":1707,"count":0},{"startOffset":1751,"endOffset":1757,"count":110},{"startOffset":1758,"endOffset":1765,"count":44}],"isBlockCoverage":true},{"functionName":"lookupBuiltinType","ranges":[{"startOffset":1805,"endOffset":5433,"count":3225},{"startOffset":1900,"endOffset":2001,"count":700},{"startOffset":1990,"endOffset":1997,"count":553},{"startOffset":2014,"endOffset":2117,"count":32},{"startOffset":2130,"endOffset":2224,"count":20},{"startOffset":2213,"endOffset":2220,"count":14},{"startOffset":2237,"endOffset":2331,"count":4},{"startOffset":2320,"endOffset":2327,"count":2},{"startOffset":2344,"endOffset":2443,"count":3},{"startOffset":2456,"endOffset":2515,"count":9},{"startOffset":2528,"endOffset":2625,"count":1},{"startOffset":2638,"endOffset":2725,"count":40},{"startOffset":2738,"endOffset":2831,"count":4},{"startOffset":2844,"endOffset":2923,"count":1},{"startOffset":2936,"endOffset":3074,"count":1},{"startOffset":3087,"endOffset":3176,"count":30},{"startOffset":3189,"endOffset":3291,"count":1},{"startOffset":3304,"endOffset":3434,"count":1},{"startOffset":3447,"endOffset":3548,"count":1},{"startOffset":3561,"endOffset":3662,"count":3},{"startOffset":3675,"endOffset":3774,"count":3},{"startOffset":3787,"endOffset":3884,"count":914},{"startOffset":3873,"endOffset":3880,"count":622},{"startOffset":3897,"endOffset":4033,"count":13},{"startOffset":4046,"endOffset":4141,"count":10},{"startOffset":4130,"endOffset":4137,"count":9},{"startOffset":4154,"endOffset":4601,"count":14},{"startOffset":4204,"endOffset":4324,"count":2},{"startOffset":4324,"endOffset":4601,"count":12},{"startOffset":4471,"endOffset":4601,"count":0},{"startOffset":4614,"endOffset":4895,"count":347},{"startOffset":4652,"endOffset":4765,"count":344},{"startOffset":4765,"endOffset":4895,"count":3},{"startOffset":4908,"endOffset":5139,"count":39},{"startOffset":4946,"endOffset":5034,"count":38},{"startOffset":5034,"endOffset":5139,"count":1},{"startOffset":5152,"endOffset":5391,"count":10},{"startOffset":5282,"endOffset":5391,"count":0},{"startOffset":5401,"endOffset":5432,"count":1024}],"isBlockCoverage":true},{"functionName":"inErrorNamespace","ranges":[{"startOffset":5438,"endOffset":5585,"count":455},{"startOffset":5495,"endOffset":5531,"count":0}],"isBlockCoverage":true},{"functionName":"lookupObject","ranges":[{"startOffset":5590,"endOffset":6566,"count":14},{"startOffset":5726,"endOffset":5734,"count":4},{"startOffset":5735,"endOffset":5757,"count":10},{"startOffset":5783,"endOffset":5981,"count":10},{"startOffset":5981,"endOffset":6096,"count":4},{"startOffset":6097,"endOffset":6105,"count":2},{"startOffset":6106,"endOffset":6128,"count":2},{"startOffset":6154,"endOffset":6407,"count":2},{"startOffset":6407,"endOffset":6478,"count":0},{"startOffset":6478,"endOffset":6560,"count":2}],"isBlockCoverage":true},{"functionName":"lookupNoVoid","ranges":[{"startOffset":6571,"endOffset":7433,"count":613},{"startOffset":6675,"endOffset":6765,"count":31},{"startOffset":6765,"endOffset":6849,"count":582},{"startOffset":6849,"endOffset":6939,"count":0},{"startOffset":6939,"endOffset":7023,"count":582},{"startOffset":7023,"endOffset":7113,"count":8},{"startOffset":7113,"endOffset":7197,"count":574},{"startOffset":7197,"endOffset":7287,"count":66},{"startOffset":7287,"endOffset":7360,"count":508},{"startOffset":7360,"endOffset":7401,"count":1},{"startOffset":7401,"endOffset":7432,"count":507}],"isBlockCoverage":true},{"functionName":"lookupDDLS","ranges":[{"startOffset":7438,"endOffset":7962,"count":699},{"startOffset":7505,"endOffset":7546,"count":0},{"startOffset":7650,"endOffset":7930,"count":1},{"startOffset":7792,"endOffset":7800,"count":0},{"startOffset":7930,"endOffset":7961,"count":698}],"isBlockCoverage":true},{"functionName":"lookup","ranges":[{"startOffset":8016,"endOffset":8358,"count":358},{"startOffset":8097,"endOffset":8134,"count":60},{"startOffset":8134,"endOffset":8180,"count":298},{"startOffset":8180,"endOffset":8272,"count":51},{"startOffset":8272,"endOffset":8352,"count":247}],"isBlockCoverage":true},{"functionName":"lookupDomain","ranges":[{"startOffset":8363,"endOffset":8830,"count":22},{"startOffset":8472,"endOffset":8824,"count":11},{"startOffset":8618,"endOffset":8725,"count":0}],"isBlockCoverage":true},{"functionName":"lookupDataElement","ranges":[{"startOffset":8835,"endOffset":9386,"count":267},{"startOffset":8893,"endOffset":8988,"count":0},{"startOffset":9064,"endOffset":9146,"count":29},{"startOffset":9146,"endOffset":9380,"count":238},{"startOffset":9197,"endOffset":9300,"count":43},{"startOffset":9300,"endOffset":9380,"count":195}],"isBlockCoverage":true},{"functionName":"lookupTableOrView","ranges":[{"startOffset":9391,"endOffset":9876,"count":133},{"startOffset":9449,"endOffset":9544,"count":0},{"startOffset":9628,"endOffset":9718,"count":58},{"startOffset":9718,"endOffset":9791,"count":75},{"startOffset":9791,"endOffset":9832,"count":0},{"startOffset":9832,"endOffset":9875,"count":75}],"isBlockCoverage":true},{"functionName":"lookupTableOrView2","ranges":[{"startOffset":9954,"endOffset":10457,"count":141},{"startOffset":10013,"endOffset":10054,"count":0},{"startOffset":10138,"endOffset":10179,"count":25},{"startOffset":10179,"endOffset":10263,"count":116},{"startOffset":10263,"endOffset":10304,"count":0},{"startOffset":10304,"endOffset":10377,"count":116},{"startOffset":10377,"endOffset":10425,"count":0},{"startOffset":10425,"endOffset":10456,"count":116}],"isBlockCoverage":true},{"functionName":"lookupTable","ranges":[{"startOffset":10462,"endOffset":10940,"count":3},{"startOffset":10514,"endOffset":10593,"count":0},{"startOffset":10669,"endOffset":10726,"count":1},{"startOffset":10726,"endOffset":10934,"count":2},{"startOffset":10777,"endOffset":10934,"count":1}],"isBlockCoverage":true},{"functionName":"lookupView","ranges":[{"startOffset":10945,"endOffset":11475,"count":75},{"startOffset":10996,"endOffset":11084,"count":0},{"startOffset":11160,"endOffset":11242,"count":2},{"startOffset":11242,"endOffset":11469,"count":73},{"startOffset":11293,"endOffset":11389,"count":10},{"startOffset":11389,"endOffset":11469,"count":63}],"isBlockCoverage":true},{"functionName":"lookupTableType","ranges":[{"startOffset":11480,"endOffset":12025,"count":2},{"startOffset":11536,"endOffset":11629,"count":0},{"startOffset":11787,"endOffset":12019,"count":0}],"isBlockCoverage":true},{"functionName":"textToType","ranges":[{"startOffset":12030,"endOffset":16658,"count":571},{"startOffset":12257,"endOffset":12268,"count":3},{"startOffset":12299,"endOffset":12311,"count":3},{"startOffset":12342,"endOffset":12354,"count":3},{"startOffset":12385,"endOffset":12401,"count":3},{"startOffset":12432,"endOffset":12448,"count":3},{"startOffset":12479,"endOffset":12491,"count":3},{"startOffset":12522,"endOffset":13037,"count":3},{"startOffset":12595,"endOffset":12713,"count":0},{"startOffset":12763,"endOffset":12901,"count":1},{"startOffset":12901,"endOffset":13037,"count":2},{"startOffset":13050,"endOffset":13158,"count":0},{"startOffset":13181,"endOffset":13289,"count":26},{"startOffset":13302,"endOffset":13410,"count":6},{"startOffset":13423,"endOffset":13531,"count":0},{"startOffset":13544,"endOffset":13669,"count":0},{"startOffset":13682,"endOffset":13794,"count":0},{"startOffset":13807,"endOffset":14069,"count":0},{"startOffset":14082,"endOffset":14094,"count":446},{"startOffset":14152,"endOffset":14450,"count":446},{"startOffset":14230,"endOffset":14335,"count":0},{"startOffset":14463,"endOffset":14474,"count":6},{"startOffset":14508,"endOffset":14770,"count":6},{"startOffset":14586,"endOffset":14691,"count":0},{"startOffset":14783,"endOffset":14795,"count":0},{"startOffset":14823,"endOffset":14912,"count":0},{"startOffset":14934,"endOffset":14952,"count":0},{"startOffset":14977,"endOffset":14995,"count":0},{"startOffset":15020,"endOffset":15032,"count":0},{"startOffset":15057,"endOffset":15069,"count":0},{"startOffset":15094,"endOffset":15110,"count":0},{"startOffset":15135,"endOffset":15151,"count":0},{"startOffset":15176,"endOffset":15437,"count":2},{"startOffset":15243,"endOffset":15348,"count":0},{"startOffset":15450,"endOffset":15462,"count":0},{"startOffset":15490,"endOffset":15579,"count":0},{"startOffset":15603,"endOffset":15615,"count":0},{"startOffset":15628,"endOffset":15640,"count":0},{"startOffset":15653,"endOffset":15745,"count":47},{"startOffset":15758,"endOffset":15851,"count":0},{"startOffset":15864,"endOffset":15876,"count":0},{"startOffset":15909,"endOffset":15924,"count":0},{"startOffset":15957,"endOffset":15969,"count":31},{"startOffset":15996,"endOffset":16103,"count":31},{"startOffset":16116,"endOffset":16128,"count":4},{"startOffset":16155,"endOffset":16172,"count":4},{"startOffset":16199,"endOffset":16296,"count":4},{"startOffset":16309,"endOffset":16321,"count":0},{"startOffset":16334,"endOffset":16346,"count":0},{"startOffset":16359,"endOffset":16375,"count":0},{"startOffset":16388,"endOffset":16404,"count":0},{"startOffset":16417,"endOffset":16429,"count":0},{"startOffset":16442,"endOffset":16546,"count":0},{"startOffset":16559,"endOffset":16642,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1347","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":575,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":245,"endOffset":285,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":290,"endOffset":405,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":410,"endOffset":476,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1348","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_object_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":606,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":257,"endOffset":297,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":302,"endOffset":417,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":422,"endOffset":488,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1349","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_object_extension.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":627,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":265,"endOffset":305,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":310,"endOffset":426,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":431,"endOffset":497,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1350","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":580,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":247,"endOffset":287,"count":10}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":292,"endOffset":407,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":412,"endOffset":478,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1351","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/behavior_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":575,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":245,"endOffset":285,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":290,"endOffset":405,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":410,"endOffset":476,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1352","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/bsp_application.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1353","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_add_in_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":622,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":263,"endOffset":303,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":308,"endOffset":423,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":428,"endOffset":494,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1354","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_catalog_app_assignment.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":628,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":265,"endOffset":305,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":310,"endOffset":426,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":431,"endOffset":497,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1355","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_catalog.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":561,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":400,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":405,"endOffset":471,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1356","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_configuration_set.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":606,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":257,"endOffset":297,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":302,"endOffset":417,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":422,"endOffset":488,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1357","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_function_assignment.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":616,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":261,"endOffset":301,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":306,"endOffset":421,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":426,"endOffset":492,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1358","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_function_set_assignment.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":632,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":267,"endOffset":307,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":312,"endOffset":427,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":432,"endOffset":498,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1359","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_object_model.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":581,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":247,"endOffset":287,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":292,"endOffset":407,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":412,"endOffset":478,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1360","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_object_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":577,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":245,"endOffset":285,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":290,"endOffset":406,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":411,"endOffset":477,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1361","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/cds_metadata_extension.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1476,"count":1}],"isBlockCoverage":true},{"functionName":"CDSMetadataExtension","ranges":[{"startOffset":300,"endOffset":425,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":430,"endOffset":470,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":475,"endOffset":590,"count":0}],"isBlockCoverage":false},{"functionName":"hasParserError","ranges":[{"startOffset":595,"endOffset":652,"count":0}],"isBlockCoverage":false},{"functionName":"parse","ranges":[{"startOffset":657,"endOffset":1153,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":1158,"endOffset":1224,"count":0}],"isBlockCoverage":false},{"functionName":"findSourceFile","ranges":[{"startOffset":1229,"endOffset":1370,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1362","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/cds_parser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1870,"count":1}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":516,"endOffset":1798,"count":70},{"startOffset":562,"endOffset":603,"count":0},{"startOffset":894,"endOffset":940,"count":52},{"startOffset":942,"endOffset":1061,"count":18},{"startOffset":1092,"endOffset":1138,"count":57},{"startOffset":1140,"endOffset":1261,"count":13},{"startOffset":1292,"endOffset":1338,"count":63},{"startOffset":1340,"endOffset":1453,"count":7},{"startOffset":1484,"endOffset":1530,"count":64},{"startOffset":1532,"endOffset":1649,"count":6},{"startOffset":1680,"endOffset":1726,"count":67},{"startOffset":1728,"endOffset":1769,"count":3},{"startOffset":1769,"endOffset":1797,"count":67}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":688,"endOffset":725,"count":2015}],"isBlockCoverage":true}]},{"scriptId":"1363","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/cds_lexer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5008,"count":1}],"isBlockCoverage":true},{"functionName":"Stream","ranges":[{"startOffset":382,"endOffset":439,"count":84}],"isBlockCoverage":true},{"functionName":"takeNext","ranges":[{"startOffset":444,"endOffset":581,"count":12586}],"isBlockCoverage":true},{"functionName":"peekNext","ranges":[{"startOffset":586,"endOffset":675,"count":12586}],"isBlockCoverage":true},{"functionName":"length","ranges":[{"startOffset":680,"endOffset":731,"count":12670}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":745,"endOffset":972,"count":1}],"isBlockCoverage":true},{"functionName":"Result","ranges":[{"startOffset":1015,"endOffset":1062,"count":84}],"isBlockCoverage":true},{"functionName":"add","ranges":[{"startOffset":1067,"endOffset":1455,"count":4145},{"startOffset":1124,"endOffset":1430,"count":2223},{"startOffset":1175,"endOffset":1287,"count":8},{"startOffset":1287,"endOffset":1420,"count":2215}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1460,"endOffset":1501,"count":84}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1532,"endOffset":4939,"count":84},{"startOffset":1832,"endOffset":4861,"count":12586},{"startOffset":2039,"endOffset":2269,"count":528},{"startOffset":2106,"endOffset":2229,"count":97},{"startOffset":2269,"endOffset":2363,"count":12058},{"startOffset":2363,"endOffset":2643,"count":200},{"startOffset":2400,"endOffset":2523,"count":8},{"startOffset":2523,"endOffset":2629,"count":192},{"startOffset":2643,"endOffset":3161,"count":11858},{"startOffset":2687,"endOffset":2702,"count":11733},{"startOffset":2703,"endOffset":2722,"count":46},{"startOffset":2724,"endOffset":2902,"count":5},{"startOffset":2902,"endOffset":3161,"count":11853},{"startOffset":2946,"endOffset":2961,"count":11728},{"startOffset":2962,"endOffset":2981,"count":3},{"startOffset":2983,"endOffset":3161,"count":3},{"startOffset":3161,"endOffset":3253,"count":11858},{"startOffset":3253,"endOffset":3492,"count":125},{"startOffset":3290,"endOffset":3336,"count":2},{"startOffset":3336,"endOffset":3452,"count":123},{"startOffset":3375,"endOffset":3390,"count":6},{"startOffset":3392,"endOffset":3452,"count":3},{"startOffset":3492,"endOffset":3719,"count":11733},{"startOffset":3552,"endOffset":3571,"count":41},{"startOffset":3573,"endOffset":3719,"count":3},{"startOffset":3719,"endOffset":3764,"count":11730},{"startOffset":3764,"endOffset":3875,"count":97},{"startOffset":3892,"endOffset":3991,"count":2024},{"startOffset":4008,"endOffset":4164,"count":461},{"startOffset":4181,"endOffset":4190,"count":27},{"startOffset":4207,"endOffset":4216,"count":127},{"startOffset":4233,"endOffset":4242,"count":243},{"startOffset":4259,"endOffset":4268,"count":381},{"startOffset":4285,"endOffset":4294,"count":467},{"startOffset":4311,"endOffset":4320,"count":553},{"startOffset":4337,"endOffset":4346,"count":602},{"startOffset":4363,"endOffset":4372,"count":651},{"startOffset":4389,"endOffset":4398,"count":657},{"startOffset":4415,"endOffset":4424,"count":663},{"startOffset":4441,"endOffset":4450,"count":678},{"startOffset":4467,"endOffset":4476,"count":684},{"startOffset":4493,"endOffset":4502,"count":689},{"startOffset":4519,"endOffset":4528,"count":690},{"startOffset":4545,"endOffset":4554,"count":690},{"startOffset":4571,"endOffset":4580,"count":692},{"startOffset":4597,"endOffset":4750,"count":730},{"startOffset":4767,"endOffset":4837,"count":8418}],"isBlockCoverage":true}]},{"scriptId":"1364","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2546,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":34},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":755}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":34}],"isBlockCoverage":true}]},{"scriptId":"1365","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_aggregate.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":654,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":243,"endOffset":573,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1366","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotate.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":604,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":241,"endOffset":526,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1367","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotation_array.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":709,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":323,"endOffset":609,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1368","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotation_simple.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":617,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":257,"endOffset":514,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1369","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotation_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":903,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":325,"endOffset":800,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1370","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":700,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":311,"endOffset":616,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1371","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_arithmetics.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":751,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":295,"endOffset":664,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1372","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_integer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":354,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":214,"endOffset":279,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1373","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_as.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":361,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":229,"endOffset":301,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1374","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_association.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":584,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":303,"endOffset":497,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1375","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_cardinality.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":521,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":222,"endOffset":434,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1376","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":961,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":233,"endOffset":895,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1377","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_cast.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":645,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":233,"endOffset":579,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1378","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_composition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":533,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":303,"endOffset":446,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1379","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_condition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1296,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":291,"endOffset":1215,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1380","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_define_abstract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":804,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":295,"endOffset":707,"count":18}],"isBlockCoverage":true}]},{"scriptId":"1381","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":491,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":208,"endOffset":425,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1382","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_define_custom.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":907,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":333,"endOffset":816,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1383","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":594,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":233,"endOffset":528,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1384","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_define_projection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":863,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":287,"endOffset":760,"count":13}],"isBlockCoverage":true}]},{"scriptId":"1385","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_define_view.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":843,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":427,"endOffset":758,"count":70}],"isBlockCoverage":true}]},{"scriptId":"1386","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_select.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1324,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":335,"endOffset":1252,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1387","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_join.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":543,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":285,"endOffset":477,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1388","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_with_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":548,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":253,"endOffset":451,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1389","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_element.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":985,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":319,"endOffset":910,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1390","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_function.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3179,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":241,"endOffset":3101,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1391","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_group_by.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":239,"endOffset":464,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1392","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_provider_contract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":498,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":232,"endOffset":395,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1393","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_parameters_select.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":714,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":257,"endOffset":611,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1394","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":669,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":245,"endOffset":585,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1395","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_relation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":536,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":241,"endOffset":458,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1396","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":526,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":237,"endOffset":454,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1397","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_string.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":357,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":212,"endOffset":285,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1398","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_where.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":384,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":235,"endOffset":315,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1399","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/change_document.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1400","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/chapter_of_book_structure.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":597,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":253,"endOffset":293,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":298,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":418,"endOffset":484,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1401","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/checkpoint_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":560,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":399,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":404,"endOffset":470,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1402","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3688,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":195,"endOffset":425,"count":1}],"isBlockCoverage":true},{"functionName":"Class","ranges":[{"startOffset":543,"endOffset":659,"count":401}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":664,"endOffset":704,"count":5017}],"isBlockCoverage":true},{"functionName":"getSequencedFiles","ranges":[{"startOffset":709,"endOffset":1154,"count":362}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":902,"endOffset":1125,"count":23}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":960,"endOffset":994,"count":69}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1043,"endOffset":1077,"count":63}],"isBlockCoverage":true},{"functionName":"setDefinition","ranges":[{"startOffset":1159,"endOffset":1209,"count":524}],"isBlockCoverage":true},{"functionName":"getDefinition","ranges":[{"startOffset":1214,"endOffset":1262,"count":2628}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":1267,"endOffset":1382,"count":58}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":1387,"endOffset":1497,"count":518}],"isBlockCoverage":true},{"functionName":"getClassDefinition","ranges":[{"startOffset":1502,"endOffset":1683,"count":645},{"startOffset":1612,"endOffset":1620,"count":0}],"isBlockCoverage":true},{"functionName":"getIdentifier","ranges":[{"startOffset":1688,"endOffset":1827,"count":97},{"startOffset":1796,"endOffset":1804,"count":3},{"startOffset":1805,"endOffset":1820,"count":94}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1859,"endOffset":2014,"count":175},{"startOffset":1982,"endOffset":1990,"count":0}],"isBlockCoverage":true},{"functionName":"getNameFromXML","ranges":[{"startOffset":2019,"endOffset":2167,"count":10},{"startOffset":2142,"endOffset":2150,"count":0}],"isBlockCoverage":true},{"functionName":"getCategory","ranges":[{"startOffset":2172,"endOffset":2451,"count":1},{"startOffset":2422,"endOffset":2430,"count":0}],"isBlockCoverage":true},{"functionName":"getLocalsImpFile","ranges":[{"startOffset":2456,"endOffset":2683,"count":0}],"isBlockCoverage":false},{"functionName":"getTestclassFile","ranges":[{"startOffset":2688,"endOffset":2916,"count":3},{"startOffset":2757,"endOffset":2884,"count":5},{"startOffset":2830,"endOffset":2874,"count":3},{"startOffset":2884,"endOffset":2915,"count":0}],"isBlockCoverage":true},{"functionName":"parseXML","ranges":[{"startOffset":2951,"endOffset":3629,"count":186},{"startOffset":3006,"endOffset":3037,"count":123},{"startOffset":3037,"endOffset":3154,"count":63},{"startOffset":3154,"endOffset":3197,"count":19},{"startOffset":3210,"endOffset":3267,"count":19},{"startOffset":3269,"endOffset":3300,"count":44},{"startOffset":3300,"endOffset":3406,"count":19},{"startOffset":3406,"endOffset":3437,"count":0},{"startOffset":3437,"endOffset":3538,"count":19},{"startOffset":3538,"endOffset":3553,"count":17},{"startOffset":3554,"endOffset":3558,"count":2},{"startOffset":3603,"endOffset":3617,"count":19},{"startOffset":3618,"endOffset":3622,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1403","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/classification.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":554,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1404","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/communication_scenario.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":590,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":251,"endOffset":291,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":296,"endOffset":411,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":416,"endOffset":482,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1405","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/composite_enhancement_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":656,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":277,"endOffset":317,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":322,"endOffset":437,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":442,"endOffset":508,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1406","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/composite_enhancement_spot.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":606,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":257,"endOffset":297,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":302,"endOffset":417,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":422,"endOffset":488,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1407","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/concepts_of_package.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":648,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":243,"endOffset":283,"count":2}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":288,"endOffset":480,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":485,"endOffset":551,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1408","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/customer_enhancement_project.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":616,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":261,"endOffset":301,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":306,"endOffset":421,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":426,"endOffset":492,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1409","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/customizing_attributes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":590,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":251,"endOffset":291,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":296,"endOffset":411,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":416,"endOffset":482,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1410","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/customizing_img_activity.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":596,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":253,"endOffset":293,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":298,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":418,"endOffset":484,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1411","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/customizing_transaction.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":595,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":253,"endOffset":293,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":298,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":418,"endOffset":484,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1412","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/data_control.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":276,"endOffset":391,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":396,"endOffset":462,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1413","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/data_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7197,"count":1}],"isBlockCoverage":true},{"functionName":"DataDefinition","ranges":[{"startOffset":452,"endOffset":577,"count":19}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":582,"endOffset":622,"count":42}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":627,"endOffset":742,"count":1}],"isBlockCoverage":true},{"functionName":"getSQLViewName","ranges":[{"startOffset":747,"endOffset":900,"count":2},{"startOffset":868,"endOffset":876,"count":0}],"isBlockCoverage":true},{"functionName":"getDefinitionName","ranges":[{"startOffset":905,"endOffset":1064,"count":4},{"startOffset":1029,"endOffset":1037,"count":0}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1069,"endOffset":1135,"count":0}],"isBlockCoverage":false},{"functionName":"parseType","ranges":[{"startOffset":1140,"endOffset":1278,"count":8}],"isBlockCoverage":true},{"functionName":"getParsedData","ranges":[{"startOffset":1283,"endOffset":1338,"count":1}],"isBlockCoverage":true},{"functionName":"listSources","ranges":[{"startOffset":1343,"endOffset":1489,"count":0}],"isBlockCoverage":false},{"functionName":"setDirty","ranges":[{"startOffset":1494,"endOffset":1613,"count":19}],"isBlockCoverage":true},{"functionName":"findSourceFile","ranges":[{"startOffset":1618,"endOffset":1758,"count":44}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1673,"endOffset":1750,"count":46},{"startOffset":1714,"endOffset":1750,"count":2}],"isBlockCoverage":true},{"functionName":"hasParserError","ranges":[{"startOffset":1763,"endOffset":1820,"count":3}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":1825,"endOffset":3220,"count":32},{"startOffset":1893,"endOffset":1955,"count":14},{"startOffset":1955,"endOffset":2395,"count":18},{"startOffset":2395,"endOffset":3061,"count":16},{"startOffset":2480,"endOffset":2488,"count":0},{"startOffset":2509,"endOffset":2514,"count":0},{"startOffset":2516,"endOffset":2932,"count":77},{"startOffset":2586,"endOffset":2635,"count":22},{"startOffset":2635,"endOffset":2693,"count":55},{"startOffset":2693,"endOffset":2918,"count":16},{"startOffset":2826,"endOffset":2834,"count":0},{"startOffset":3061,"endOffset":3123,"count":2},{"startOffset":3123,"endOffset":3219,"count":18}],"isBlockCoverage":true},{"functionName":"getTree","ranges":[{"startOffset":3225,"endOffset":3342,"count":4},{"startOffset":3317,"endOffset":3325,"count":0}],"isBlockCoverage":true},{"functionName":"findSQLViewName","ranges":[{"startOffset":3362,"endOffset":3645,"count":18},{"startOffset":3475,"endOffset":3483,"count":0},{"startOffset":3562,"endOffset":3639,"count":9}],"isBlockCoverage":true},{"functionName":"findFieldNames","ranges":[{"startOffset":3650,"endOffset":5526,"count":16},{"startOffset":3795,"endOffset":3878,"count":2},{"startOffset":3911,"endOffset":4002,"count":2},{"startOffset":4061,"endOffset":4069,"count":0},{"startOffset":4126,"endOffset":4131,"count":0},{"startOffset":4133,"endOffset":5520,"count":36},{"startOffset":4236,"endOffset":4244,"count":27},{"startOffset":4245,"endOffset":4293,"count":9},{"startOffset":4332,"endOffset":4653,"count":27},{"startOffset":4491,"endOffset":4547,"count":2},{"startOffset":4547,"endOffset":4639,"count":25},{"startOffset":4691,"endOffset":4732,"count":0},{"startOffset":4793,"endOffset":4801,"count":0},{"startOffset":4891,"endOffset":4899,"count":0},{"startOffset":5088,"endOffset":5129,"count":1},{"startOffset":5129,"endOffset":5248,"count":35},{"startOffset":5248,"endOffset":5315,"count":4},{"startOffset":5315,"endOffset":5520,"count":35}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4923,"endOffset":5085,"count":4},{"startOffset":5031,"endOffset":5039,"count":0}],"isBlockCoverage":true},{"functionName":"findSourcesAndRelations","ranges":[{"startOffset":5531,"endOffset":7110,"count":16},{"startOffset":5673,"endOffset":6024,"count":15},{"startOffset":5843,"endOffset":5891,"count":0},{"startOffset":5928,"endOffset":5957,"count":0},{"startOffset":6101,"endOffset":6454,"count":1},{"startOffset":6262,"endOffset":6270,"count":0},{"startOffset":6347,"endOffset":6355,"count":0},{"startOffset":6534,"endOffset":7104,"count":1},{"startOffset":6642,"endOffset":6683,"count":0},{"startOffset":6843,"endOffset":6851,"count":0},{"startOffset":6928,"endOffset":6936,"count":0},{"startOffset":7043,"endOffset":7053,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1414","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/cds_determine_types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":890,"count":1}],"isBlockCoverage":true},{"functionName":"parseType","ranges":[{"startOffset":191,"endOffset":793,"count":8},{"startOffset":279,"endOffset":287,"count":0},{"startOffset":323,"endOffset":388,"count":0},{"startOffset":513,"endOffset":521,"count":0},{"startOffset":543,"endOffset":548,"count":0},{"startOffset":550,"endOffset":719,"count":23}],"isBlockCoverage":true}]},{"scriptId":"1415","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/data_element.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4007,"count":1}],"isBlockCoverage":true},{"functionName":"DataElement","ranges":[{"startOffset":312,"endOffset":398,"count":60}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":403,"endOffset":443,"count":1492}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":448,"endOffset":578,"count":57},{"startOffset":546,"endOffset":554,"count":0}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":583,"endOffset":698,"count":42}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":703,"endOffset":783,"count":76}],"isBlockCoverage":true},{"functionName":"getDomainName","ranges":[{"startOffset":788,"endOffset":935,"count":0}],"isBlockCoverage":false},{"functionName":"parseType","ranges":[{"startOffset":940,"endOffset":2748,"count":226},{"startOffset":1062,"endOffset":1180,"count":0},{"startOffset":1291,"endOffset":1658,"count":24},{"startOffset":1384,"endOffset":1515,"count":2},{"startOffset":1515,"endOffset":1644,"count":22},{"startOffset":1658,"endOffset":2549,"count":202},{"startOffset":1712,"endOffset":2063,"count":2},{"startOffset":1805,"endOffset":1936,"count":0},{"startOffset":2063,"endOffset":2549,"count":200},{"startOffset":2141,"endOffset":2174,"count":180},{"startOffset":2176,"endOffset":2308,"count":20},{"startOffset":2308,"endOffset":2535,"count":180},{"startOffset":2587,"endOffset":2654,"count":13}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":2753,"endOffset":3929,"count":88},{"startOffset":2829,"endOffset":2891,"count":30},{"startOffset":2891,"endOffset":3031,"count":58},{"startOffset":3031,"endOffset":3093,"count":0},{"startOffset":3093,"endOffset":3175,"count":58},{"startOffset":3176,"endOffset":3184,"count":15},{"startOffset":3185,"endOffset":3201,"count":43},{"startOffset":3212,"endOffset":3228,"count":58},{"startOffset":3229,"endOffset":3237,"count":15},{"startOffset":3238,"endOffset":3256,"count":43},{"startOffset":3267,"endOffset":3283,"count":58},{"startOffset":3284,"endOffset":3292,"count":15},{"startOffset":3293,"endOffset":3303,"count":43},{"startOffset":3372,"endOffset":3391,"count":58},{"startOffset":3392,"endOffset":3400,"count":15},{"startOffset":3401,"endOffset":3415,"count":43},{"startOffset":3453,"endOffset":3472,"count":58},{"startOffset":3473,"endOffset":3481,"count":15},{"startOffset":3482,"endOffset":3497,"count":43},{"startOffset":3535,"endOffset":3554,"count":58},{"startOffset":3555,"endOffset":3563,"count":15},{"startOffset":3564,"endOffset":3579,"count":43},{"startOffset":3618,"endOffset":3637,"count":58},{"startOffset":3638,"endOffset":3646,"count":15},{"startOffset":3647,"endOffset":3663,"count":43},{"startOffset":3698,"endOffset":3717,"count":58},{"startOffset":3718,"endOffset":3726,"count":15},{"startOffset":3727,"endOffset":3739,"count":43},{"startOffset":3778,"endOffset":3797,"count":58},{"startOffset":3798,"endOffset":3806,"count":15},{"startOffset":3807,"endOffset":3823,"count":43}],"isBlockCoverage":true}]},{"scriptId":"1416","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/dialog_module.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":233,"endOffset":273,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":278,"endOffset":393,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":398,"endOffset":464,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1417","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/documentation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":549,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":235,"endOffset":275,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":280,"endOffset":395,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":400,"endOffset":466,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1418","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/domain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3687,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":347,"endOffset":387,"count":187}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":392,"endOffset":522,"count":7},{"startOffset":490,"endOffset":498,"count":0}],"isBlockCoverage":true},{"functionName":"getConversionExit","ranges":[{"startOffset":527,"endOffset":663,"count":0}],"isBlockCoverage":false},{"functionName":"getAllowedNaming","ranges":[{"startOffset":668,"endOffset":783,"count":4}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":788,"endOffset":868,"count":31}],"isBlockCoverage":true},{"functionName":"parseType","ranges":[{"startOffset":873,"endOffset":1505,"count":17},{"startOffset":1083,"endOffset":1120,"count":0},{"startOffset":1163,"endOffset":1278,"count":0}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":1510,"endOffset":3448,"count":32},{"startOffset":1588,"endOffset":1650,"count":3},{"startOffset":1650,"endOffset":1790,"count":29},{"startOffset":1790,"endOffset":1852,"count":0},{"startOffset":1852,"endOffset":1934,"count":29},{"startOffset":1935,"endOffset":1943,"count":4},{"startOffset":1944,"endOffset":1960,"count":25},{"startOffset":1971,"endOffset":1987,"count":29},{"startOffset":1988,"endOffset":1996,"count":4},{"startOffset":1997,"endOffset":2015,"count":25},{"startOffset":2026,"endOffset":2042,"count":29},{"startOffset":2043,"endOffset":2051,"count":4},{"startOffset":2052,"endOffset":2062,"count":25},{"startOffset":2167,"endOffset":2183,"count":29},{"startOffset":2184,"endOffset":2192,"count":4},{"startOffset":2193,"endOffset":2209,"count":25},{"startOffset":2220,"endOffset":2236,"count":29},{"startOffset":2237,"endOffset":2245,"count":4},{"startOffset":2246,"endOffset":2264,"count":25},{"startOffset":2275,"endOffset":2291,"count":29},{"startOffset":2292,"endOffset":2300,"count":4},{"startOffset":2301,"endOffset":2315,"count":25},{"startOffset":2326,"endOffset":2342,"count":29},{"startOffset":2343,"endOffset":2351,"count":13},{"startOffset":2352,"endOffset":2362,"count":16},{"startOffset":2431,"endOffset":2867,"count":55},{"startOffset":2525,"endOffset":2533,"count":0},{"startOffset":2606,"endOffset":2614,"count":0},{"startOffset":2692,"endOffset":2700,"count":0},{"startOffset":2782,"endOffset":2790,"count":0},{"startOffset":2867,"endOffset":2954,"count":29},{"startOffset":2955,"endOffset":2963,"count":4},{"startOffset":2964,"endOffset":2978,"count":25},{"startOffset":3017,"endOffset":3036,"count":29},{"startOffset":3037,"endOffset":3045,"count":4},{"startOffset":3046,"endOffset":3062,"count":25},{"startOffset":3099,"endOffset":3118,"count":29},{"startOffset":3119,"endOffset":3127,"count":4},{"startOffset":3128,"endOffset":3140,"count":25},{"startOffset":3185,"endOffset":3204,"count":29},{"startOffset":3205,"endOffset":3213,"count":4},{"startOffset":3214,"endOffset":3230,"count":25},{"startOffset":3269,"endOffset":3288,"count":29},{"startOffset":3289,"endOffset":3297,"count":4},{"startOffset":3298,"endOffset":3314,"count":25}],"isBlockCoverage":true},{"functionName":"getFixedValues","ranges":[{"startOffset":3453,"endOffset":3625,"count":26},{"startOffset":3561,"endOffset":3569,"count":0},{"startOffset":3614,"endOffset":3618,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1419","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/ecatt_test_configuration.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":596,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":253,"endOffset":293,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":298,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":418,"endOffset":484,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1420","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/ecatt_test_data_container.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":597,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":253,"endOffset":293,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":298,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":418,"endOffset":484,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1421","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/ecatt_test_script.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":561,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":399,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":404,"endOffset":470,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1422","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/enhancement_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1621,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":259,"endOffset":299,"count":4}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":304,"endOffset":384,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":389,"endOffset":504,"count":0}],"isBlockCoverage":false},{"functionName":"getClassName","ranges":[{"startOffset":509,"endOffset":657,"count":1},{"startOffset":627,"endOffset":635,"count":0}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":662,"endOffset":814,"count":1},{"startOffset":782,"endOffset":790,"count":0}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":819,"endOffset":1501,"count":3},{"startOffset":857,"endOffset":919,"count":2},{"startOffset":919,"endOffset":1101,"count":1},{"startOffset":1114,"endOffset":1171,"count":1},{"startOffset":1173,"endOffset":1235,"count":0},{"startOffset":1235,"endOffset":1500,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1423","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/enhancement_spot.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1403,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":284,"endOffset":324,"count":25}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":329,"endOffset":395,"count":0}],"isBlockCoverage":false},{"functionName":"getAllowedNaming","ranges":[{"startOffset":400,"endOffset":515,"count":1}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":520,"endOffset":596,"count":2}],"isBlockCoverage":true},{"functionName":"listBadiDefinitions","ranges":[{"startOffset":601,"endOffset":749,"count":2}],"isBlockCoverage":true},{"functionName":"parseXML","ranges":[{"startOffset":776,"endOffset":1313,"count":2},{"startOffset":885,"endOffset":919,"count":0},{"startOffset":1076,"endOffset":1084,"count":0},{"startOffset":1127,"endOffset":1135,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1424","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/event_binding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":233,"endOffset":273,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":278,"endOffset":393,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":398,"endOffset":464,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1425","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/event_consumer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":551,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":235,"endOffset":275,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":280,"endOffset":396,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":401,"endOffset":467,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1426","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/extension_index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1916,"count":1}],"isBlockCoverage":true},{"functionName":"ExtensionIndex","ranges":[{"startOffset":237,"endOffset":323,"count":2}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":328,"endOffset":368,"count":4}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":373,"endOffset":488,"count":0}],"isBlockCoverage":false},{"functionName":"setDirty","ranges":[{"startOffset":493,"endOffset":573,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":578,"endOffset":725,"count":1},{"startOffset":698,"endOffset":706,"count":0}],"isBlockCoverage":true},{"functionName":"getTableName","ranges":[{"startOffset":730,"endOffset":875,"count":1},{"startOffset":848,"endOffset":856,"count":0}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":880,"endOffset":1829,"count":3},{"startOffset":964,"endOffset":1026,"count":2},{"startOffset":1026,"endOffset":1166,"count":1},{"startOffset":1166,"endOffset":1228,"count":0},{"startOffset":1228,"endOffset":1309,"count":1},{"startOffset":1310,"endOffset":1318,"count":0},{"startOffset":1319,"endOffset":1335,"count":1},{"startOffset":1346,"endOffset":1362,"count":1},{"startOffset":1363,"endOffset":1371,"count":0},{"startOffset":1372,"endOffset":1390,"count":1},{"startOffset":1401,"endOffset":1417,"count":1},{"startOffset":1418,"endOffset":1426,"count":0},{"startOffset":1427,"endOffset":1436,"count":1},{"startOffset":1505,"endOffset":1523,"count":1},{"startOffset":1524,"endOffset":1532,"count":0},{"startOffset":1533,"endOffset":1545,"count":1},{"startOffset":1556,"endOffset":1572,"count":1},{"startOffset":1573,"endOffset":1581,"count":0},{"startOffset":1582,"endOffset":1593,"count":1},{"startOffset":1635,"endOffset":1653,"count":1},{"startOffset":1654,"endOffset":1662,"count":0},{"startOffset":1663,"endOffset":1675,"count":1},{"startOffset":1686,"endOffset":1702,"count":1},{"startOffset":1703,"endOffset":1711,"count":0},{"startOffset":1712,"endOffset":1723,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1427","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/field_catalog.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":233,"endOffset":273,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":278,"endOffset":393,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":398,"endOffset":464,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1428","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/form_object_form.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":556,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1429","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/form_object_interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":581,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":247,"endOffset":287,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":292,"endOffset":407,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":412,"endOffset":478,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1430","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/format_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":229,"endOffset":269,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":274,"endOffset":389,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":394,"endOffset":460,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1431","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/function_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5399,"count":1}],"isBlockCoverage":true},{"functionName":"FunctionGroup","ranges":[{"startOffset":360,"endOffset":479,"count":22}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":484,"endOffset":524,"count":200}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":529,"endOffset":595,"count":0}],"isBlockCoverage":false},{"functionName":"setDirty","ranges":[{"startOffset":600,"endOffset":713,"count":80}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":718,"endOffset":833,"count":1}],"isBlockCoverage":true},{"functionName":"getSequencedFiles","ranges":[{"startOffset":838,"endOffset":1487,"count":21},{"startOffset":937,"endOffset":971,"count":2},{"startOffset":971,"endOffset":1048,"count":19},{"startOffset":1048,"endOffset":1456,"count":15},{"startOffset":1195,"endOffset":1446,"count":37},{"startOffset":1271,"endOffset":1432,"count":15},{"startOffset":1456,"endOffset":1486,"count":19}],"isBlockCoverage":true},{"functionName":"getModules","ranges":[{"startOffset":1492,"endOffset":1729,"count":29},{"startOffset":1547,"endOffset":1587,"count":12},{"startOffset":1628,"endOffset":1694,"count":0}],"isBlockCoverage":true},{"functionName":"getIncludeFiles","ranges":[{"startOffset":1734,"endOffset":2654,"count":71},{"startOffset":1868,"endOffset":2628,"count":209},{"startOffset":1908,"endOffset":2618,"count":510},{"startOffset":1963,"endOffset":1982,"count":40},{"startOffset":2048,"endOffset":2124,"count":22},{"startOffset":2164,"endOffset":2177,"count":229},{"startOffset":2179,"endOffset":2228,"count":303},{"startOffset":2230,"endOffset":2301,"count":91},{"startOffset":2379,"endOffset":2604,"count":22},{"startOffset":2507,"endOffset":2586,"count":0}],"isBlockCoverage":true},{"functionName":"getInclude","ranges":[{"startOffset":2659,"endOffset":2941,"count":66},{"startOffset":2803,"endOffset":2909,"count":78},{"startOffset":2853,"endOffset":2899,"count":26},{"startOffset":2909,"endOffset":2940,"count":40}],"isBlockCoverage":true},{"functionName":"getMainABAPFile","ranges":[{"startOffset":2946,"endOffset":3204,"count":36},{"startOffset":3074,"endOffset":3172,"count":73},{"startOffset":3121,"endOffset":3162,"count":33},{"startOffset":3172,"endOffset":3203,"count":3}],"isBlockCoverage":true},{"functionName":"getIncludes","ranges":[{"startOffset":3209,"endOffset":3450,"count":72},{"startOffset":3266,"endOffset":3306,"count":4},{"startOffset":3348,"endOffset":3414,"count":0}],"isBlockCoverage":true},{"functionName":"getModule","ranges":[{"startOffset":3455,"endOffset":3673,"count":7},{"startOffset":3641,"endOffset":3672,"count":0}],"isBlockCoverage":true},{"functionName":"getTexts","ranges":[{"startOffset":3678,"endOffset":4087,"count":0}],"isBlockCoverage":false},{"functionName":"parseXML","ranges":[{"startOffset":4130,"endOffset":5023,"count":16},{"startOffset":4293,"endOffset":4324,"count":0},{"startOffset":4444,"endOffset":4452,"count":0},{"startOffset":4583,"endOffset":4637,"count":35},{"startOffset":4776,"endOffset":4784,"count":0},{"startOffset":4901,"endOffset":4909,"count":2},{"startOffset":4910,"endOffset":4926,"count":14},{"startOffset":4929,"endOffset":5017,"count":15}],"isBlockCoverage":true},{"functionName":"findTextFile","ranges":[{"startOffset":5028,"endOffset":5315,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1432","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1515,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":14},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":566}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":13},{"startOffset":585,"endOffset":690,"count":14}],"isBlockCoverage":true}]},{"scriptId":"1433","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_attribute.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":549,"count":1}],"isBlockCoverage":true},{"functionName":"ClassAttribute","ranges":[{"startOffset":241,"endOffset":402,"count":215}],"isBlockCoverage":true},{"functionName":"getVisibility","ranges":[{"startOffset":407,"endOffset":462,"count":25}],"isBlockCoverage":true}]},{"scriptId":"1434","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/_typed_identifier.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1173,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":240,"endOffset":379,"count":0}],"isBlockCoverage":false},{"functionName":"from","ranges":[{"startOffset":391,"endOffset":500,"count":0}],"isBlockCoverage":false},{"functionName":"TypedIdentifier","ranges":[{"startOffset":505,"endOffset":856,"count":53404},{"startOffset":632,"endOffset":683,"count":0},{"startOffset":809,"endOffset":850,"count":29285}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":861,"endOffset":936,"count":55}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":941,"endOffset":984,"count":19114}],"isBlockCoverage":true},{"functionName":"getMeta","ranges":[{"startOffset":989,"endOffset":1032,"count":1231}],"isBlockCoverage":true},{"functionName":"getValue","ranges":[{"startOffset":1037,"endOffset":1082,"count":573}],"isBlockCoverage":true}]},{"scriptId":"1435","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_attributes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10396,"count":1}],"isBlockCoverage":true},{"functionName":"Attributes","ranges":[{"startOffset":1217,"endOffset":1530,"count":1398}],"isBlockCoverage":true},{"functionName":"getTypes","ranges":[{"startOffset":1535,"endOffset":1580,"count":1390}],"isBlockCoverage":true},{"functionName":"getStatic","ranges":[{"startOffset":1585,"endOffset":1632,"count":920}],"isBlockCoverage":true},{"functionName":"getAliases","ranges":[{"startOffset":1637,"endOffset":1686,"count":1390}],"isBlockCoverage":true},{"functionName":"getAll","ranges":[{"startOffset":1691,"endOffset":1829,"count":1189}],"isBlockCoverage":true},{"functionName":"getStaticsByVisibility","ranges":[{"startOffset":1834,"endOffset":2094,"count":0}],"isBlockCoverage":false},{"functionName":"getInstance","ranges":[{"startOffset":2099,"endOffset":2150,"count":1275}],"isBlockCoverage":true},{"functionName":"getInstancesByVisibility","ranges":[{"startOffset":2155,"endOffset":2419,"count":0}],"isBlockCoverage":false},{"functionName":"getConstants","ranges":[{"startOffset":2424,"endOffset":2477,"count":2054}],"isBlockCoverage":true},{"functionName":"getConstantsByVisibility","ranges":[{"startOffset":2482,"endOffset":2747,"count":0}],"isBlockCoverage":false},{"functionName":"findByName","ranges":[{"startOffset":2774,"endOffset":3318,"count":36},{"startOffset":2877,"endOffset":2983,"count":0},{"startOffset":3028,"endOffset":3134,"count":11},{"startOffset":3134,"endOffset":3180,"count":25},{"startOffset":3180,"endOffset":3286,"count":5},{"startOffset":3286,"endOffset":3317,"count":20}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":3357,"endOffset":4219,"count":1398},{"startOffset":3471,"endOffset":3876,"count":1130},{"startOffset":3876,"endOffset":4119,"count":268},{"startOffset":4119,"endOffset":4218,"count":0}],"isBlockCoverage":true},{"functionName":"parseSection","ranges":[{"startOffset":4224,"endOffset":8357,"count":4422},{"startOffset":4296,"endOffset":4327,"count":2611},{"startOffset":4327,"endOffset":4372,"count":1811},{"startOffset":4372,"endOffset":8351,"count":2935},{"startOffset":4460,"endOffset":7052,"count":871},{"startOffset":4515,"endOffset":4912,"count":6},{"startOffset":4912,"endOffset":7038,"count":865},{"startOffset":4976,"endOffset":5382,"count":4},{"startOffset":5382,"endOffset":7038,"count":861},{"startOffset":5446,"endOffset":5843,"count":8},{"startOffset":5843,"endOffset":7038,"count":853},{"startOffset":5906,"endOffset":6574,"count":5},{"startOffset":6046,"endOffset":6358,"count":6},{"startOffset":6574,"endOffset":7038,"count":848},{"startOffset":6634,"endOffset":6897,"count":84},{"startOffset":6897,"endOffset":7038,"count":764},{"startOffset":7052,"endOffset":8341,"count":2064},{"startOffset":7165,"endOffset":7267,"count":185},{"startOffset":7267,"endOffset":8327,"count":1879},{"startOffset":7331,"endOffset":7431,"count":21},{"startOffset":7431,"endOffset":8327,"count":1858},{"startOffset":7493,"endOffset":7571,"count":26},{"startOffset":7571,"endOffset":8327,"count":1832},{"startOffset":7634,"endOffset":8007,"count":124},{"startOffset":7748,"endOffset":7989,"count":121},{"startOffset":8007,"endOffset":8327,"count":1708},{"startOffset":8066,"endOffset":8327,"count":154},{"startOffset":8351,"endOffset":8356,"count":1803}],"isBlockCoverage":true},{"functionName":"parseAlias","ranges":[{"startOffset":8362,"endOffset":9564,"count":26},{"startOffset":8895,"endOffset":9548,"count":21},{"startOffset":9198,"endOffset":9294,"count":3},{"startOffset":9427,"endOffset":9534,"count":9}],"isBlockCoverage":true},{"functionName":"parseAttribute","ranges":[{"startOffset":9569,"endOffset":10316,"count":206},{"startOffset":9714,"endOffset":9787,"count":185},{"startOffset":9787,"endOffset":10034,"count":21},{"startOffset":9924,"endOffset":10034,"count":0},{"startOffset":10068,"endOffset":10161,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1436","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_constant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":615,"count":1}],"isBlockCoverage":true},{"functionName":"ClassConstant","ranges":[{"startOffset":239,"endOffset":471,"count":135}],"isBlockCoverage":true},{"functionName":"getVisibility","ranges":[{"startOffset":476,"endOffset":531,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1437","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/class_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1967,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":494,"endOffset":1895,"count":25},{"startOffset":734,"endOffset":783,"count":0},{"startOffset":836,"endOffset":844,"count":0},{"startOffset":901,"endOffset":992,"count":1},{"startOffset":940,"endOffset":948,"count":0},{"startOffset":994,"endOffset":1357,"count":1},{"startOffset":1357,"endOffset":1587,"count":24},{"startOffset":1587,"endOffset":1894,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1438","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/data_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1859,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":411,"endOffset":1772,"count":1979},{"startOffset":520,"endOffset":603,"count":395},{"startOffset":603,"endOffset":729,"count":1584},{"startOffset":729,"endOffset":813,"count":28},{"startOffset":813,"endOffset":998,"count":1584},{"startOffset":998,"endOffset":1005,"count":1},{"startOffset":1007,"endOffset":1171,"count":1},{"startOffset":1171,"endOffset":1269,"count":1583},{"startOffset":1269,"endOffset":1525,"count":1581},{"startOffset":1294,"endOffset":1451,"count":27},{"startOffset":1451,"endOffset":1515,"count":1554},{"startOffset":1525,"endOffset":1771,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1439","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/basic_types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":46373,"count":1}],"isBlockCoverage":true},{"functionName":"BasicTypes","ranges":[{"startOffset":954,"endOffset":1008,"count":4288}],"isBlockCoverage":true},{"functionName":"lookupQualifiedName","ranges":[{"startOffset":1013,"endOffset":4310,"count":133},{"startOffset":1162,"endOffset":1203,"count":15},{"startOffset":1203,"endOffset":1278,"count":118},{"startOffset":1278,"endOffset":1315,"count":49},{"startOffset":1315,"endOffset":1349,"count":69},{"startOffset":1349,"endOffset":2696,"count":8},{"startOffset":1607,"endOffset":2471,"count":3},{"startOffset":1913,"endOffset":1921,"count":0},{"startOffset":2126,"endOffset":2163,"count":1},{"startOffset":2165,"endOffset":2256,"count":1},{"startOffset":2471,"endOffset":2672,"count":5},{"startOffset":2696,"endOffset":3474,"count":61},{"startOffset":2734,"endOffset":3474,"count":2},{"startOffset":3147,"endOffset":3184,"count":1},{"startOffset":3186,"endOffset":3269,"count":1},{"startOffset":3474,"endOffset":3606,"count":59},{"startOffset":3607,"endOffset":3615,"count":58},{"startOffset":3616,"endOffset":3631,"count":1},{"startOffset":3642,"endOffset":3658,"count":59},{"startOffset":3659,"endOffset":3667,"count":58},{"startOffset":3668,"endOffset":3688,"count":1},{"startOffset":3705,"endOffset":3769,"count":1},{"startOffset":3746,"endOffset":3754,"count":0},{"startOffset":3771,"endOffset":3888,"count":1},{"startOffset":3888,"endOffset":3986,"count":58},{"startOffset":3986,"endOffset":4242,"count":29},{"startOffset":4242,"endOffset":4278,"count":0},{"startOffset":4278,"endOffset":4309,"count":29}],"isBlockCoverage":true},{"functionName":"resolveLikeName","ranges":[{"startOffset":4315,"endOffset":8932,"count":201},{"startOffset":4407,"endOffset":4448,"count":0},{"startOffset":4552,"endOffset":4631,"count":1},{"startOffset":4665,"endOffset":4744,"count":0},{"startOffset":4778,"endOffset":4865,"count":0},{"startOffset":4899,"endOffset":4975,"count":0},{"startOffset":5107,"endOffset":5232,"count":0},{"startOffset":5287,"endOffset":5386,"count":66},{"startOffset":5337,"endOffset":5385,"count":51},{"startOffset":5388,"endOffset":5521,"count":20},{"startOffset":5521,"endOffset":8760,"count":181},{"startOffset":5786,"endOffset":5862,"count":125},{"startOffset":5917,"endOffset":5925,"count":15},{"startOffset":5926,"endOffset":5943,"count":166},{"startOffset":5982,"endOffset":6149,"count":15},{"startOffset":6108,"endOffset":6116,"count":14},{"startOffset":6117,"endOffset":6134,"count":1},{"startOffset":6173,"endOffset":6374,"count":167},{"startOffset":6256,"endOffset":6264,"count":0},{"startOffset":6411,"endOffset":6548,"count":14},{"startOffset":6515,"endOffset":6523,"count":11},{"startOffset":6524,"endOffset":6533,"count":3},{"startOffset":6584,"endOffset":6620,"count":11},{"startOffset":6621,"endOffset":6683,"count":10},{"startOffset":6685,"endOffset":6905,"count":10},{"startOffset":6905,"endOffset":6946,"count":171},{"startOffset":6946,"endOffset":8241,"count":83},{"startOffset":7056,"endOffset":7192,"count":41},{"startOffset":7114,"endOffset":7174,"count":1},{"startOffset":7192,"endOffset":8227,"count":42},{"startOffset":7249,"endOffset":7482,"count":2},{"startOffset":7482,"endOffset":8227,"count":40},{"startOffset":7577,"endOffset":7650,"count":3},{"startOffset":7712,"endOffset":8012,"count":39},{"startOffset":7850,"endOffset":7990,"count":0},{"startOffset":8012,"endOffset":8209,"count":1},{"startOffset":8077,"endOffset":8209,"count":0},{"startOffset":8241,"endOffset":8290,"count":170},{"startOffset":8290,"endOffset":8334,"count":10},{"startOffset":8334,"endOffset":8750,"count":160},{"startOffset":8406,"endOffset":8428,"count":92},{"startOffset":8445,"endOffset":8468,"count":5},{"startOffset":8470,"endOffset":8527,"count":2},{"startOffset":8527,"endOffset":8750,"count":158},{"startOffset":8597,"endOffset":8628,"count":90},{"startOffset":8645,"endOffset":8691,"count":3},{"startOffset":8693,"endOffset":8750,"count":0},{"startOffset":8760,"endOffset":8780,"count":180},{"startOffset":8780,"endOffset":8905,"count":1},{"startOffset":8905,"endOffset":8931,"count":179}],"isBlockCoverage":true},{"functionName":"cloneType","ranges":[{"startOffset":8937,"endOffset":9374,"count":520},{"startOffset":9211,"endOffset":9227,"count":59},{"startOffset":9240,"endOffset":9280,"count":10},{"startOffset":9282,"endOffset":9347,"count":5}],"isBlockCoverage":true},{"functionName":"resolveTypeName","ranges":[{"startOffset":9379,"endOffset":11734,"count":3373},{"startOffset":9492,"endOffset":9533,"count":42},{"startOffset":9533,"endOffset":9608,"count":3331},{"startOffset":9608,"endOffset":9676,"count":169},{"startOffset":9676,"endOffset":9879,"count":3162},{"startOffset":9879,"endOffset":9912,"count":2168},{"startOffset":9912,"endOffset":9988,"count":993},{"startOffset":9988,"endOffset":10608,"count":640},{"startOffset":10083,"endOffset":10446,"count":4},{"startOffset":10608,"endOffset":10707,"count":353},{"startOffset":10708,"endOffset":10716,"count":351},{"startOffset":10717,"endOffset":10731,"count":2},{"startOffset":10751,"endOffset":10908,"count":2},{"startOffset":10908,"endOffset":11702,"count":351},{"startOffset":11251,"endOffset":11413,"count":0},{"startOffset":11474,"endOffset":11631,"count":248},{"startOffset":11702,"endOffset":11733,"count":0}],"isBlockCoverage":true},{"functionName":"simpleType","ranges":[{"startOffset":11739,"endOffset":13235,"count":2611},{"startOffset":11897,"endOffset":11985,"count":1783},{"startOffset":12022,"endOffset":12063,"count":0},{"startOffset":12149,"endOffset":12286,"count":3},{"startOffset":12377,"endOffset":12904,"count":828},{"startOffset":12435,"endOffset":12497,"count":8},{"startOffset":12497,"endOffset":12894,"count":820},{"startOffset":12570,"endOffset":12575,"count":162},{"startOffset":12705,"endOffset":12772,"count":502},{"startOffset":12774,"endOffset":12880,"count":398},{"startOffset":12904,"endOffset":13019,"count":1783},{"startOffset":12943,"endOffset":13019,"count":0},{"startOffset":13098,"endOffset":13203,"count":2609},{"startOffset":13203,"endOffset":13234,"count":0}],"isBlockCoverage":true},{"functionName":"parseTable","ranges":[{"startOffset":13240,"endOffset":20670,"count":539},{"startOffset":13468,"endOffset":13476,"count":0},{"startOffset":13544,"endOffset":13585,"count":0},{"startOffset":13680,"endOffset":13713,"count":87},{"startOffset":13726,"endOffset":13759,"count":64},{"startOffset":13772,"endOffset":13814,"count":62},{"startOffset":13816,"endOffset":13880,"count":479},{"startOffset":13880,"endOffset":14224,"count":60},{"startOffset":13948,"endOffset":13988,"count":40},{"startOffset":13990,"endOffset":14052,"count":21},{"startOffset":14052,"endOffset":14224,"count":39},{"startOffset":14120,"endOffset":14160,"count":32},{"startOffset":14162,"endOffset":14224,"count":7},{"startOffset":14417,"endOffset":14425,"count":136},{"startOffset":14426,"endOffset":14478,"count":403},{"startOffset":14506,"endOffset":14707,"count":3},{"startOffset":14557,"endOffset":14565,"count":0},{"startOffset":14646,"endOffset":14654,"count":0},{"startOffset":14794,"endOffset":14829,"count":32},{"startOffset":14861,"endOffset":14868,"count":2},{"startOffset":14869,"endOffset":14996,"count":537},{"startOffset":14913,"endOffset":14921,"count":136},{"startOffset":14922,"endOffset":14986,"count":401},{"startOffset":15090,"endOffset":15336,"count":537},{"startOffset":15162,"endOffset":15170,"count":136},{"startOffset":15171,"endOffset":15227,"count":401},{"startOffset":15229,"endOffset":15234,"count":136},{"startOffset":15236,"endOffset":15326,"count":32},{"startOffset":15336,"endOffset":15384,"count":2},{"startOffset":15478,"endOffset":16374,"count":8},{"startOffset":15626,"endOffset":15634,"count":0},{"startOffset":15692,"endOffset":15733,"count":0},{"startOffset":15852,"endOffset":15884,"count":5},{"startOffset":15885,"endOffset":15917,"count":3},{"startOffset":15977,"endOffset":15985,"count":0},{"startOffset":16163,"endOffset":16171,"count":0},{"startOffset":16225,"endOffset":16230,"count":0},{"startOffset":16232,"endOffset":16321,"count":10},{"startOffset":16463,"endOffset":16522,"count":58},{"startOffset":16522,"endOffset":16632,"count":481},{"startOffset":16571,"endOffset":16632,"count":314},{"startOffset":16930,"endOffset":16982,"count":538},{"startOffset":16995,"endOffset":17045,"count":519},{"startOffset":17058,"endOffset":17108,"count":519},{"startOffset":17110,"endOffset":17277,"count":22},{"startOffset":17277,"endOffset":20569,"count":517},{"startOffset":17341,"endOffset":17386,"count":495},{"startOffset":17399,"endOffset":17442,"count":62},{"startOffset":17455,"endOffset":17498,"count":42},{"startOffset":17500,"endOffset":17668,"count":480},{"startOffset":17668,"endOffset":20569,"count":37},{"startOffset":17732,"endOffset":17777,"count":35},{"startOffset":17790,"endOffset":17833,"count":33},{"startOffset":17846,"endOffset":17889,"count":32},{"startOffset":17891,"endOffset":18055,"count":5},{"startOffset":18055,"endOffset":20569,"count":32},{"startOffset":18277,"endOffset":18358,"count":0},{"startOffset":18411,"endOffset":19122,"count":11},{"startOffset":18569,"endOffset":18671,"count":0},{"startOffset":19122,"endOffset":20569,"count":21},{"startOffset":19175,"endOffset":19888,"count":2},{"startOffset":19335,"endOffset":19437,"count":0},{"startOffset":19888,"endOffset":20569,"count":19},{"startOffset":19915,"endOffset":20018,"count":16},{"startOffset":20020,"endOffset":20569,"count":0},{"startOffset":20569,"endOffset":20669,"count":19}],"isBlockCoverage":true},{"functionName":"parseType","ranges":[{"startOffset":20675,"endOffset":27810,"count":3257},{"startOffset":20912,"endOffset":20920,"count":621},{"startOffset":20921,"endOffset":20954,"count":2636},{"startOffset":20988,"endOffset":21143,"count":621},{"startOffset":21090,"endOffset":21098,"count":262},{"startOffset":21099,"endOffset":21132,"count":359},{"startOffset":21176,"endOffset":21558,"count":262},{"startOffset":21278,"endOffset":21286,"count":230},{"startOffset":21287,"endOffset":21320,"count":32},{"startOffset":21372,"endOffset":21380,"count":230},{"startOffset":21381,"endOffset":21406,"count":32},{"startOffset":21418,"endOffset":21500,"count":3},{"startOffset":21455,"endOffset":21463,"count":0},{"startOffset":21502,"endOffset":21548,"count":1},{"startOffset":21591,"endOffset":21750,"count":230},{"startOffset":21697,"endOffset":21705,"count":210},{"startOffset":21706,"endOffset":21739,"count":20},{"startOffset":21794,"endOffset":21839,"count":210},{"startOffset":21852,"endOffset":21889,"count":4},{"startOffset":21891,"endOffset":22010,"count":1},{"startOffset":21964,"endOffset":21972,"count":0},{"startOffset":22043,"endOffset":22081,"count":209},{"startOffset":22159,"endOffset":23157,"count":77},{"startOffset":22268,"endOffset":22276,"count":0},{"startOffset":22395,"endOffset":22483,"count":3},{"startOffset":22517,"endOffset":22602,"count":1},{"startOffset":22696,"endOffset":22818,"count":0},{"startOffset":22873,"endOffset":22930,"count":65},{"startOffset":22930,"endOffset":23147,"count":12},{"startOffset":22984,"endOffset":23028,"count":11},{"startOffset":23028,"endOffset":23147,"count":1},{"startOffset":23157,"endOffset":27782,"count":3180},{"startOffset":23208,"endOffset":23669,"count":7},{"startOffset":23317,"endOffset":23325,"count":0},{"startOffset":23481,"endOffset":23603,"count":0},{"startOffset":23669,"endOffset":27782,"count":3173},{"startOffset":23730,"endOffset":23761,"count":3171},{"startOffset":23774,"endOffset":23805,"count":3171},{"startOffset":23818,"endOffset":23848,"count":3170},{"startOffset":23861,"endOffset":23889,"count":3167},{"startOffset":23891,"endOffset":24080,"count":15},{"startOffset":24080,"endOffset":27782,"count":3158},{"startOffset":24124,"endOffset":24957,"count":105},{"startOffset":24227,"endOffset":24317,"count":10},{"startOffset":24353,"endOffset":24439,"count":6},{"startOffset":24475,"endOffset":24562,"count":3},{"startOffset":24598,"endOffset":24683,"count":1},{"startOffset":24777,"endOffset":24947,"count":2},{"startOffset":24957,"endOffset":27782,"count":3053},{"startOffset":25009,"endOffset":25832,"count":2},{"startOffset":25200,"endOffset":25256,"count":0},{"startOffset":25365,"endOffset":25822,"count":0},{"startOffset":25832,"endOffset":27782,"count":3051},{"startOffset":25883,"endOffset":25945,"count":308},{"startOffset":25945,"endOffset":27782,"count":2743},{"startOffset":26189,"endOffset":26211,"count":2699},{"startOffset":26213,"endOffset":26386,"count":11},{"startOffset":26386,"endOffset":27003,"count":2730},{"startOffset":26414,"endOffset":26453,"count":2688},{"startOffset":26455,"endOffset":27003,"count":5},{"startOffset":26510,"endOffset":26644,"count":2},{"startOffset":26644,"endOffset":26989,"count":3},{"startOffset":26707,"endOffset":26820,"count":1},{"startOffset":26820,"endOffset":26989,"count":2},{"startOffset":27003,"endOffset":27040,"count":2740},{"startOffset":27040,"endOffset":27065,"count":42},{"startOffset":27067,"endOffset":27772,"count":42},{"startOffset":27214,"endOffset":27432,"count":11},{"startOffset":27577,"endOffset":27758,"count":1},{"startOffset":27782,"endOffset":27809,"count":3153}],"isBlockCoverage":true},{"functionName":"isOccurs","ranges":[{"startOffset":27841,"endOffset":28170,"count":2846},{"startOffset":27924,"endOffset":27960,"count":0},{"startOffset":28059,"endOffset":28067,"count":2827},{"startOffset":28068,"endOffset":28104,"count":19},{"startOffset":28106,"endOffset":28142,"count":14},{"startOffset":28142,"endOffset":28169,"count":2832}],"isBlockCoverage":true},{"functionName":"resolveTypeChain","ranges":[{"startOffset":28208,"endOffset":37198,"count":3331},{"startOffset":28359,"endOffset":28704,"count":82},{"startOffset":28500,"endOffset":28694,"count":2},{"startOffset":28704,"endOffset":28836,"count":3249},{"startOffset":28757,"endOffset":28793,"count":3162},{"startOffset":28795,"endOffset":28836,"count":3162},{"startOffset":28836,"endOffset":28928,"count":167},{"startOffset":28928,"endOffset":29051,"count":93},{"startOffset":29051,"endOffset":29218,"count":74},{"startOffset":29095,"endOffset":29218,"count":9},{"startOffset":29218,"endOffset":29314,"count":167},{"startOffset":29314,"endOffset":29341,"count":102},{"startOffset":29343,"endOffset":32055,"count":93},{"startOffset":29574,"endOffset":29647,"count":77},{"startOffset":29665,"endOffset":29736,"count":38},{"startOffset":29738,"endOffset":30365,"count":4},{"startOffset":29875,"endOffset":29883,"count":0},{"startOffset":29950,"endOffset":30058,"count":0},{"startOffset":30144,"endOffset":30152,"count":0},{"startOffset":30365,"endOffset":32045,"count":89},{"startOffset":30553,"endOffset":30620,"count":22},{"startOffset":30622,"endOffset":30897,"count":9},{"startOffset":30897,"endOffset":31072,"count":80},{"startOffset":30942,"endOffset":31072,"count":13},{"startOffset":31072,"endOffset":31141,"count":67},{"startOffset":31141,"endOffset":31149,"count":37},{"startOffset":31150,"endOffset":31158,"count":30},{"startOffset":31505,"endOffset":31525,"count":67},{"startOffset":31526,"endOffset":31534,"count":1},{"startOffset":31535,"endOffset":31553,"count":66},{"startOffset":31596,"endOffset":31622,"count":66},{"startOffset":31624,"endOffset":31739,"count":1},{"startOffset":31739,"endOffset":31824,"count":66},{"startOffset":31825,"endOffset":31833,"count":2},{"startOffset":31834,"endOffset":31854,"count":64},{"startOffset":31883,"endOffset":32031,"count":64},{"startOffset":32055,"endOffset":36549,"count":74},{"startOffset":32083,"endOffset":32110,"count":9},{"startOffset":32112,"endOffset":34491,"count":9},{"startOffset":32244,"endOffset":32252,"count":0},{"startOffset":32483,"endOffset":32527,"count":4},{"startOffset":32530,"endOffset":32890,"count":2},{"startOffset":32720,"endOffset":32872,"count":0},{"startOffset":32949,"endOffset":32993,"count":2},{"startOffset":33068,"endOffset":33076,"count":7},{"startOffset":33077,"endOffset":33085,"count":2},{"startOffset":33467,"endOffset":33475,"count":0},{"startOffset":33569,"endOffset":33693,"count":0},{"startOffset":33783,"endOffset":33791,"count":0},{"startOffset":34019,"endOffset":34180,"count":0},{"startOffset":34194,"endOffset":34481,"count":0},{"startOffset":34491,"endOffset":36549,"count":65},{"startOffset":34628,"endOffset":34636,"count":37},{"startOffset":34637,"endOffset":34654,"count":28},{"startOffset":34697,"endOffset":35673,"count":37},{"startOffset":34812,"endOffset":34820,"count":36},{"startOffset":34821,"endOffset":34835,"count":1},{"startOffset":34871,"endOffset":35077,"count":1},{"startOffset":35123,"endOffset":35659,"count":36},{"startOffset":35471,"endOffset":35548,"count":0},{"startOffset":35673,"endOffset":35845,"count":28},{"startOffset":35886,"endOffset":35951,"count":0},{"startOffset":35953,"endOffset":36158,"count":0},{"startOffset":36217,"endOffset":36404,"count":27},{"startOffset":36404,"endOffset":36539,"count":38},{"startOffset":36451,"endOffset":36539,"count":0},{"startOffset":36549,"endOffset":36604,"count":117},{"startOffset":36604,"endOffset":37166,"count":47},{"startOffset":36717,"endOffset":36766,"count":1},{"startOffset":36766,"endOffset":36919,"count":46},{"startOffset":36833,"endOffset":36919,"count":0},{"startOffset":36919,"endOffset":37024,"count":46},{"startOffset":37024,"endOffset":37130,"count":1},{"startOffset":37130,"endOffset":37166,"count":45},{"startOffset":37166,"endOffset":37197,"count":115}],"isBlockCoverage":true},{"functionName":"resolveConstantValue","ranges":[{"startOffset":37203,"endOffset":41292,"count":22},{"startOffset":37356,"endOffset":37420,"count":0},{"startOffset":37628,"endOffset":38311,"count":9},{"startOffset":37757,"endOffset":37765,"count":0},{"startOffset":37827,"endOffset":38003,"count":7},{"startOffset":38003,"endOffset":38271,"count":2},{"startOffset":38061,"endOffset":38069,"count":0},{"startOffset":38123,"endOffset":38271,"count":1},{"startOffset":38271,"endOffset":38311,"count":2},{"startOffset":38311,"endOffset":41286,"count":13},{"startOffset":38474,"endOffset":38633,"count":1},{"startOffset":38559,"endOffset":38632,"count":0},{"startOffset":38635,"endOffset":39206,"count":1},{"startOffset":38757,"endOffset":38765,"count":0},{"startOffset":38920,"endOffset":38928,"count":0},{"startOffset":39166,"endOffset":39206,"count":0},{"startOffset":39206,"endOffset":41286,"count":12},{"startOffset":39385,"endOffset":40012,"count":6},{"startOffset":39463,"endOffset":39520,"count":1},{"startOffset":39520,"endOffset":39998,"count":5},{"startOffset":39611,"endOffset":39716,"count":1},{"startOffset":39716,"endOffset":39998,"count":4},{"startOffset":40012,"endOffset":40132,"count":6},{"startOffset":40133,"endOffset":40141,"count":0},{"startOffset":40142,"endOffset":40162,"count":6},{"startOffset":40375,"endOffset":41095,"count":6},{"startOffset":40725,"endOffset":40776,"count":5},{"startOffset":40776,"endOffset":41047,"count":1},{"startOffset":41047,"endOffset":41095,"count":0},{"startOffset":41095,"endOffset":41286,"count":0}],"isBlockCoverage":true},{"functionName":"resolveTypeRef","ranges":[{"startOffset":41297,"endOffset":42958,"count":330},{"startOffset":41370,"endOffset":41411,"count":0},{"startOffset":41511,"endOffset":42117,"count":328},{"startOffset":41562,"endOffset":41640,"count":40},{"startOffset":41640,"endOffset":41757,"count":288},{"startOffset":41758,"endOffset":41766,"count":109},{"startOffset":41767,"endOffset":41778,"count":179},{"startOffset":41780,"endOffset":42107,"count":179},{"startOffset":42117,"endOffset":42227,"count":111},{"startOffset":42228,"endOffset":42265,"count":92},{"startOffset":42267,"endOffset":42329,"count":41},{"startOffset":42329,"endOffset":42471,"count":70},{"startOffset":42394,"endOffset":42471,"count":0},{"startOffset":42471,"endOffset":42527,"count":70},{"startOffset":42527,"endOffset":42583,"count":1},{"startOffset":42583,"endOffset":42656,"count":69},{"startOffset":42657,"endOffset":42665,"count":0},{"startOffset":42666,"endOffset":42693,"count":69},{"startOffset":42706,"endOffset":42880,"count":51},{"startOffset":42880,"endOffset":42957,"count":18}],"isBlockCoverage":true},{"functionName":"findValue","ranges":[{"startOffset":42963,"endOffset":44264,"count":227},{"startOffset":43077,"endOffset":43148,"count":4},{"startOffset":43148,"endOffset":43218,"count":223},{"startOffset":43218,"endOffset":43259,"count":4},{"startOffset":43259,"endOffset":43354,"count":219},{"startOffset":43354,"endOffset":44047,"count":201},{"startOffset":43462,"endOffset":43956,"count":2},{"startOffset":43631,"endOffset":43895,"count":6},{"startOffset":43681,"endOffset":43738,"count":2},{"startOffset":43738,"endOffset":43877,"count":4},{"startOffset":43956,"endOffset":44037,"count":199},{"startOffset":44047,"endOffset":44208,"count":18},{"startOffset":44208,"endOffset":44263,"count":0}],"isBlockCoverage":true},{"functionName":"findDecimals","ranges":[{"startOffset":44269,"endOffset":44628,"count":2742},{"startOffset":44417,"endOffset":44425,"count":2737},{"startOffset":44426,"endOffset":44472,"count":5},{"startOffset":44500,"endOffset":44508,"count":2737},{"startOffset":44509,"endOffset":44528,"count":5},{"startOffset":44547,"endOffset":44596,"count":5},{"startOffset":44596,"endOffset":44627,"count":2737}],"isBlockCoverage":true},{"functionName":"findLength","ranges":[{"startOffset":44633,"endOffset":45987,"count":2743},{"startOffset":44814,"endOffset":44821,"count":235},{"startOffset":44823,"endOffset":44891,"count":1},{"startOffset":44891,"endOffset":44910,"count":2742},{"startOffset":44910,"endOffset":45331,"count":133},{"startOffset":45092,"endOffset":45321,"count":0},{"startOffset":45331,"endOffset":45363,"count":2609},{"startOffset":45363,"endOffset":45396,"count":2375},{"startOffset":45396,"endOffset":45488,"count":234},{"startOffset":45488,"endOffset":45557,"count":228},{"startOffset":45557,"endOffset":45656,"count":6},{"startOffset":45656,"endOffset":45725,"count":2},{"startOffset":45725,"endOffset":45930,"count":4},{"startOffset":45930,"endOffset":45986,"count":0}],"isBlockCoverage":true},{"functionName":"parseInt","ranges":[{"startOffset":45992,"endOffset":46298,"count":367},{"startOffset":46041,"endOffset":46082,"count":1},{"startOffset":46082,"endOffset":46117,"count":366},{"startOffset":46117,"endOffset":46167,"count":1},{"startOffset":46167,"endOffset":46257,"count":365},{"startOffset":46207,"endOffset":46257,"count":1},{"startOffset":46257,"endOffset":46297,"count":366}],"isBlockCoverage":true}]},{"scriptId":"1440","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_scope_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":965,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":121,"endOffset":872,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1441","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_object_oriented.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12921,"count":1}],"isBlockCoverage":true},{"functionName":"ObjectOriented","ranges":[{"startOffset":438,"endOffset":492,"count":9758}],"isBlockCoverage":true},{"functionName":"fromInterfaceByName","ranges":[{"startOffset":497,"endOffset":1502,"count":161},{"startOffset":627,"endOffset":665,"count":132},{"startOffset":667,"endOffset":701,"count":29},{"startOffset":701,"endOffset":804,"count":132},{"startOffset":804,"endOffset":916,"count":16},{"startOffset":916,"endOffset":1210,"count":132},{"startOffset":1210,"endOffset":1476,"count":20},{"startOffset":1267,"endOffset":1308,"count":8},{"startOffset":1308,"endOffset":1476,"count":12},{"startOffset":1476,"endOffset":1501,"count":132}],"isBlockCoverage":true},{"functionName":"addAliasedAttributes","ranges":[{"startOffset":1507,"endOffset":2253,"count":981},{"startOffset":1605,"endOffset":1987,"count":15},{"startOffset":1757,"endOffset":1977,"count":14},{"startOffset":1869,"endOffset":1963,"count":6},{"startOffset":2084,"endOffset":2247,"count":234}],"isBlockCoverage":true},{"functionName":"findMethodInInterface","ranges":[{"startOffset":2258,"endOffset":2779,"count":36},{"startOffset":2399,"endOffset":2747,"count":35},{"startOffset":2592,"endOffset":2661,"count":34},{"startOffset":2675,"endOffset":2747,"count":1},{"startOffset":2747,"endOffset":2778,"count":1}],"isBlockCoverage":true},{"functionName":"findMethodViaAlias","ranges":[{"startOffset":2784,"endOffset":3215,"count":134},{"startOffset":2864,"endOffset":3183,"count":11},{"startOffset":2938,"endOffset":3173,"count":9},{"startOffset":3108,"endOffset":3159,"count":8},{"startOffset":3183,"endOffset":3214,"count":126}],"isBlockCoverage":true},{"functionName":"findClassName","ranges":[{"startOffset":3220,"endOffset":3703,"count":750},{"startOffset":3321,"endOffset":3372,"count":0},{"startOffset":3375,"endOffset":3454,"count":0},{"startOffset":3567,"endOffset":3646,"count":0}],"isBlockCoverage":true},{"functionName":"findInterfaces","ranges":[{"startOffset":3708,"endOffset":4373,"count":509},{"startOffset":3821,"endOffset":4045,"count":66},{"startOffset":3926,"endOffset":3934,"count":0},{"startOffset":4103,"endOffset":4347,"count":25},{"startOffset":4230,"endOffset":4337,"count":0}],"isBlockCoverage":true},{"functionName":"searchEvent","ranges":[{"startOffset":4378,"endOffset":5260,"count":16},{"startOffset":4433,"endOffset":4454,"count":8},{"startOffset":4456,"endOffset":4662,"count":8},{"startOffset":4662,"endOffset":4699,"count":7},{"startOffset":4699,"endOffset":4741,"count":1},{"startOffset":4741,"endOffset":4746,"count":0},{"startOffset":4748,"endOffset":5084,"count":1},{"startOffset":5084,"endOffset":5259,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4541,"endOffset":4640,"count":7},{"startOffset":4610,"endOffset":4618,"count":0}],"isBlockCoverage":true},{"functionName":"searchAttributeName","ranges":[{"startOffset":5322,"endOffset":6542,"count":82},{"startOffset":5408,"endOffset":5449,"count":0},{"startOffset":5546,"endOffset":5652,"count":46},{"startOffset":5601,"endOffset":5642,"count":42},{"startOffset":5652,"endOffset":5694,"count":40},{"startOffset":5694,"endOffset":5699,"count":0},{"startOffset":5701,"endOffset":6032,"count":3},{"startOffset":5957,"endOffset":6008,"count":2},{"startOffset":6032,"endOffset":6065,"count":38},{"startOffset":6065,"endOffset":6358,"count":4},{"startOffset":6358,"endOffset":6417,"count":34},{"startOffset":6417,"endOffset":6510,"count":2},{"startOffset":6510,"endOffset":6541,"count":32}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6165,"endOffset":6210,"count":4}],"isBlockCoverage":true},{"functionName":"searchTypeName","ranges":[{"startOffset":6604,"endOffset":7363,"count":77},{"startOffset":6685,"endOffset":6726,"count":0},{"startOffset":6812,"endOffset":6850,"count":75},{"startOffset":6850,"endOffset":6883,"count":2},{"startOffset":6883,"endOffset":7184,"count":0},{"startOffset":7184,"endOffset":7243,"count":2},{"startOffset":7243,"endOffset":7362,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6982,"endOffset":7041,"count":0}],"isBlockCoverage":false},{"functionName":"searchConstantName","ranges":[{"startOffset":7425,"endOffset":8641,"count":38},{"startOffset":7510,"endOffset":7551,"count":0},{"startOffset":7654,"endOffset":7760,"count":20},{"startOffset":7760,"endOffset":7803,"count":18},{"startOffset":7803,"endOffset":8133,"count":1},{"startOffset":8133,"endOffset":8166,"count":17},{"startOffset":8166,"endOffset":8458,"count":2},{"startOffset":8458,"endOffset":8517,"count":15},{"startOffset":8517,"endOffset":8609,"count":0},{"startOffset":8609,"endOffset":8640,"count":15}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8266,"endOffset":8311,"count":2}],"isBlockCoverage":true},{"functionName":"searchMethodName","ranges":[{"startOffset":8703,"endOffset":10180,"count":934},{"startOffset":8763,"endOffset":8784,"count":817},{"startOffset":8786,"endOffset":8855,"count":117},{"startOffset":8855,"endOffset":8947,"count":817},{"startOffset":8947,"endOffset":9012,"count":656},{"startOffset":9012,"endOffset":9084,"count":161},{"startOffset":9084,"endOffset":9418,"count":28},{"startOffset":9331,"endOffset":9408,"count":1},{"startOffset":9418,"endOffset":9549,"count":160},{"startOffset":9551,"endOffset":9745,"count":27},{"startOffset":9745,"endOffset":9937,"count":133},{"startOffset":9882,"endOffset":9927,"count":7},{"startOffset":9937,"endOffset":10028,"count":126},{"startOffset":10030,"endOffset":10120,"count":46},{"startOffset":10120,"endOffset":10179,"count":80}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9197,"endOffset":9318,"count":28},{"startOffset":9279,"endOffset":9287,"count":0}],"isBlockCoverage":true},{"functionName":"findMethod","ranges":[{"startOffset":10185,"endOffset":10626,"count":823},{"startOffset":10281,"endOffset":10594,"count":768},{"startOffset":10360,"endOffset":10584,"count":661},{"startOffset":10407,"endOffset":10494,"count":5},{"startOffset":10494,"endOffset":10570,"count":656},{"startOffset":10594,"endOffset":10625,"count":162}],"isBlockCoverage":true},{"functionName":"findMethodInSuper","ranges":[{"startOffset":10631,"endOffset":11014,"count":5},{"startOffset":10745,"endOffset":10982,"count":6},{"startOffset":10887,"endOffset":10932,"count":4},{"startOffset":10932,"endOffset":10982,"count":2},{"startOffset":10982,"endOffset":11013,"count":1}],"isBlockCoverage":true},{"functionName":"findSuperDefinition","ranges":[{"startOffset":11019,"endOffset":11266,"count":816},{"startOffset":11138,"endOffset":11239,"count":84},{"startOffset":11239,"endOffset":11265,"count":732}],"isBlockCoverage":true},{"functionName":"fromSuperClassesAndInterfaces","ranges":[{"startOffset":11271,"endOffset":11422,"count":1961}],"isBlockCoverage":true},{"functionName":"fromSuperClasses","ranges":[{"startOffset":11473,"endOffset":12527,"count":1961},{"startOffset":11601,"endOffset":12498,"count":736},{"startOffset":11718,"endOffset":11942,"count":22},{"startOffset":11795,"endOffset":11928,"count":20},{"startOffset":11942,"endOffset":12008,"count":652},{"startOffset":12008,"endOffset":12167,"count":2},{"startOffset":12167,"endOffset":12232,"count":652},{"startOffset":12232,"endOffset":12385,"count":26},{"startOffset":12304,"endOffset":12371,"count":24},{"startOffset":12385,"endOffset":12498,"count":652},{"startOffset":12498,"endOffset":12526,"count":1877}],"isBlockCoverage":true},{"functionName":"fromInterfaces","ranges":[{"startOffset":12578,"endOffset":12833,"count":2529},{"startOffset":12704,"endOffset":12804,"count":149},{"startOffset":12785,"endOffset":12790,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1442","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_reference.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1205,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":129,"endOffset":1101,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1443","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/field_chain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10037,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":921,"endOffset":8116,"count":1928},{"startOffset":1046,"endOffset":1054,"count":0},{"startOffset":1114,"endOffset":1169,"count":1803},{"startOffset":1171,"endOffset":2019,"count":215},{"startOffset":1397,"endOffset":1405,"count":214},{"startOffset":1406,"endOffset":1425,"count":1},{"startOffset":1427,"endOffset":1432,"count":214},{"startOffset":1546,"endOffset":1554,"count":214},{"startOffset":1555,"endOffset":1574,"count":1},{"startOffset":1576,"endOffset":1581,"count":214},{"startOffset":1706,"endOffset":2009,"count":2},{"startOffset":2019,"endOffset":2209,"count":1926},{"startOffset":2209,"endOffset":8086,"count":796},{"startOffset":2291,"endOffset":2329,"count":0},{"startOffset":2387,"endOffset":2641,"count":1},{"startOffset":2641,"endOffset":8076,"count":795},{"startOffset":2703,"endOffset":4809,"count":249},{"startOffset":2765,"endOffset":3060,"count":0},{"startOffset":3150,"endOffset":3218,"count":63},{"startOffset":3192,"endOffset":3217,"count":16},{"startOffset":3239,"endOffset":3280,"count":53},{"startOffset":3282,"endOffset":4795,"count":6},{"startOffset":3482,"endOffset":3580,"count":8},{"startOffset":3848,"endOffset":3889,"count":4},{"startOffset":3891,"endOffset":4032,"count":1},{"startOffset":4058,"endOffset":4432,"count":0},{"startOffset":4454,"endOffset":4777,"count":0},{"startOffset":4809,"endOffset":8076,"count":546},{"startOffset":4880,"endOffset":5386,"count":55},{"startOffset":4972,"endOffset":5018,"count":37},{"startOffset":5039,"endOffset":5080,"count":13},{"startOffset":5082,"endOffset":5372,"count":0},{"startOffset":5386,"endOffset":8076,"count":491},{"startOffset":5460,"endOffset":5569,"count":6},{"startOffset":5569,"endOffset":8076,"count":485},{"startOffset":5643,"endOffset":5913,"count":249},{"startOffset":5702,"endOffset":5727,"count":10},{"startOffset":5729,"endOffset":5800,"count":10},{"startOffset":5913,"endOffset":8076,"count":236},{"startOffset":5993,"endOffset":6048,"count":190},{"startOffset":6050,"endOffset":6671,"count":46},{"startOffset":6112,"endOffset":6153,"count":15},{"startOffset":6155,"endOffset":6441,"count":1},{"startOffset":6441,"endOffset":6586,"count":45},{"startOffset":6586,"endOffset":6657,"count":31},{"startOffset":6671,"endOffset":8076,"count":190},{"startOffset":6745,"endOffset":6868,"count":101},{"startOffset":6868,"endOffset":8076,"count":89},{"startOffset":6939,"endOffset":6983,"count":19},{"startOffset":6985,"endOffset":7494,"count":19},{"startOffset":7106,"endOffset":7480,"count":7},{"startOffset":7174,"endOffset":7288,"count":2},{"startOffset":7288,"endOffset":7462,"count":5},{"startOffset":7354,"endOffset":7462,"count":2},{"startOffset":7494,"endOffset":8076,"count":70},{"startOffset":7565,"endOffset":7609,"count":20},{"startOffset":7611,"endOffset":8076,"count":20},{"startOffset":7732,"endOffset":8062,"count":13},{"startOffset":7800,"endOffset":7892,"count":3},{"startOffset":7892,"endOffset":8044,"count":10},{"startOffset":7958,"endOffset":8044,"count":2},{"startOffset":8086,"endOffset":8115,"count":1924}],"isBlockCoverage":true},{"functionName":"findTop","ranges":[{"startOffset":8142,"endOffset":9962,"count":1926},{"startOffset":8203,"endOffset":8244,"count":0},{"startOffset":8364,"endOffset":8464,"count":79},{"startOffset":8464,"endOffset":9930,"count":1847},{"startOffset":8583,"endOffset":8676,"count":1801},{"startOffset":8676,"endOffset":9930,"count":46},{"startOffset":8893,"endOffset":8973,"count":0},{"startOffset":9087,"endOffset":9095,"count":21},{"startOffset":9096,"endOffset":9106,"count":25},{"startOffset":9108,"endOffset":9319,"count":25},{"startOffset":9319,"endOffset":9920,"count":21},{"startOffset":9401,"endOffset":9642,"count":17},{"startOffset":9642,"endOffset":9920,"count":4},{"startOffset":9930,"endOffset":9961,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1444","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1940,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":232,"endOffset":1856,"count":382},{"startOffset":313,"endOffset":352,"count":78},{"startOffset":352,"endOffset":494,"count":304},{"startOffset":494,"endOffset":853,"count":301},{"startOffset":589,"endOffset":819,"count":3},{"startOffset":819,"endOffset":853,"count":298},{"startOffset":853,"endOffset":935,"count":3},{"startOffset":937,"endOffset":1652,"count":3},{"startOffset":1040,"endOffset":1087,"count":0},{"startOffset":1146,"endOffset":1193,"count":0},{"startOffset":1358,"endOffset":1600,"count":0},{"startOffset":1652,"endOffset":1855,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1445","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_syntax_input.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":486,"count":1}],"isBlockCoverage":true},{"functionName":"syntaxIssue","ranges":[{"startOffset":272,"endOffset":444,"count":482}],"isBlockCoverage":true}]},{"scriptId":"1446","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/attribute_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4013,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":634,"endOffset":3929,"count":128},{"startOffset":741,"endOffset":780,"count":38},{"startOffset":780,"endOffset":961,"count":90},{"startOffset":961,"endOffset":2574,"count":65},{"startOffset":1085,"endOffset":1412,"count":2},{"startOffset":1412,"endOffset":1602,"count":63},{"startOffset":1602,"endOffset":1679,"count":29},{"startOffset":1679,"endOffset":1717,"count":63},{"startOffset":1717,"endOffset":2093,"count":15},{"startOffset":1868,"endOffset":1998,"count":0},{"startOffset":2093,"endOffset":2253,"count":48},{"startOffset":2255,"endOffset":2529,"count":3},{"startOffset":2529,"endOffset":2574,"count":48},{"startOffset":2574,"endOffset":3903,"count":25},{"startOffset":2817,"endOffset":2850,"count":24},{"startOffset":2852,"endOffset":2895,"count":1},{"startOffset":2895,"endOffset":2962,"count":24},{"startOffset":2962,"endOffset":3230,"count":0},{"startOffset":3230,"endOffset":3314,"count":24},{"startOffset":3314,"endOffset":3617,"count":1},{"startOffset":3627,"endOffset":3903,"count":0},{"startOffset":3903,"endOffset":3928,"count":71}],"isBlockCoverage":true}]},{"scriptId":"1447","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/field_offset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":740,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":289,"endOffset":662,"count":22},{"startOffset":413,"endOffset":568,"count":13},{"startOffset":568,"endOffset":656,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1448","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/field_length.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":946,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":289,"endOffset":868,"count":24},{"startOffset":413,"endOffset":568,"count":8},{"startOffset":568,"endOffset":862,"count":16},{"startOffset":741,"endOffset":790,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1449","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/table_expression.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":563,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":240,"endOffset":473,"count":48},{"startOffset":297,"endOffset":328,"count":0},{"startOffset":401,"endOffset":467,"count":54}],"isBlockCoverage":true}]},{"scriptId":"1450","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":17481,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":1843,"endOffset":13507,"count":3580},{"startOffset":1936,"endOffset":1977,"count":4},{"startOffset":1977,"endOffset":2117,"count":3576},{"startOffset":2117,"endOffset":9209,"count":319},{"startOffset":2265,"endOffset":2274,"count":3},{"startOffset":2291,"endOffset":2300,"count":3},{"startOffset":2317,"endOffset":2326,"count":4},{"startOffset":2343,"endOffset":2381,"count":5},{"startOffset":2398,"endOffset":2833,"count":9},{"startOffset":2850,"endOffset":3346,"count":11},{"startOffset":3363,"endOffset":4031,"count":41},{"startOffset":3691,"endOffset":3715,"count":39},{"startOffset":3717,"endOffset":3815,"count":2},{"startOffset":3815,"endOffset":3944,"count":39},{"startOffset":3986,"endOffset":3997,"count":39},{"startOffset":3998,"endOffset":4008,"count":2},{"startOffset":4048,"endOffset":4705,"count":10},{"startOffset":4365,"endOffset":4389,"count":7},{"startOffset":4391,"endOffset":4618,"count":5},{"startOffset":4660,"endOffset":4671,"count":7},{"startOffset":4672,"endOffset":4682,"count":3},{"startOffset":4722,"endOffset":5612,"count":32},{"startOffset":5031,"endOffset":5055,"count":23},{"startOffset":5057,"endOffset":5155,"count":10},{"startOffset":5155,"endOffset":5284,"count":22},{"startOffset":5567,"endOffset":5578,"count":23},{"startOffset":5579,"endOffset":5589,"count":9},{"startOffset":5629,"endOffset":6441,"count":20},{"startOffset":6000,"endOffset":6309,"count":1},{"startOffset":6309,"endOffset":6441,"count":19},{"startOffset":6458,"endOffset":6966,"count":7},{"startOffset":6743,"endOffset":6747,"count":5},{"startOffset":6749,"endOffset":6841,"count":5},{"startOffset":6841,"endOffset":6944,"count":2},{"startOffset":6983,"endOffset":7855,"count":5},{"startOffset":7337,"endOffset":7435,"count":2},{"startOffset":7435,"endOffset":7564,"count":3},{"startOffset":7658,"endOffset":7731,"count":4},{"startOffset":7731,"endOffset":7833,"count":1},{"startOffset":7872,"endOffset":8290,"count":11},{"startOffset":8307,"endOffset":8392,"count":1},{"startOffset":8409,"endOffset":9073,"count":167},{"startOffset":8733,"endOffset":8757,"count":135},{"startOffset":8759,"endOffset":8857,"count":32},{"startOffset":8857,"endOffset":8986,"count":134},{"startOffset":8986,"endOffset":9028,"count":166},{"startOffset":9028,"endOffset":9039,"count":135},{"startOffset":9040,"endOffset":9050,"count":31},{"startOffset":9090,"endOffset":9185,"count":0},{"startOffset":9209,"endOffset":9335,"count":3257},{"startOffset":9294,"endOffset":9335,"count":0},{"startOffset":9335,"endOffset":9508,"count":3262},{"startOffset":9508,"endOffset":9589,"count":36},{"startOffset":9589,"endOffset":9689,"count":3262},{"startOffset":9689,"endOffset":13374,"count":3544},{"startOffset":9747,"endOffset":9800,"count":3491},{"startOffset":9802,"endOffset":10246,"count":180},{"startOffset":9952,"endOffset":10232,"count":3},{"startOffset":10246,"endOffset":12382,"count":3364},{"startOffset":10308,"endOffset":10356,"count":3311},{"startOffset":10358,"endOffset":10461,"count":1803},{"startOffset":10461,"endOffset":12382,"count":1561},{"startOffset":10523,"endOffset":10575,"count":1508},{"startOffset":10577,"endOffset":10682,"count":179},{"startOffset":10682,"endOffset":12382,"count":1382},{"startOffset":10744,"endOffset":10788,"count":1329},{"startOffset":10790,"endOffset":10927,"count":128},{"startOffset":10927,"endOffset":12382,"count":1254},{"startOffset":10989,"endOffset":11035,"count":1201},{"startOffset":11037,"endOffset":11180,"count":1095},{"startOffset":11180,"endOffset":12382,"count":159},{"startOffset":11242,"endOffset":11291,"count":106},{"startOffset":11293,"endOffset":11400,"count":7},{"startOffset":11400,"endOffset":12382,"count":152},{"startOffset":11462,"endOffset":11514,"count":99},{"startOffset":11516,"endOffset":11630,"count":3},{"startOffset":11630,"endOffset":12382,"count":149},{"startOffset":11692,"endOffset":11743,"count":96},{"startOffset":11745,"endOffset":12146,"count":86},{"startOffset":11798,"endOffset":11872,"count":2},{"startOffset":11984,"endOffset":12009,"count":85},{"startOffset":12010,"endOffset":12035,"count":83},{"startOffset":12037,"endOffset":12132,"count":6},{"startOffset":12146,"endOffset":12382,"count":63},{"startOffset":12208,"endOffset":12260,"count":10},{"startOffset":12262,"endOffset":12382,"count":4},{"startOffset":12382,"endOffset":12421,"count":3541},{"startOffset":12421,"endOffset":13250,"count":11},{"startOffset":12628,"endOffset":12673,"count":6},{"startOffset":12694,"endOffset":12740,"count":5},{"startOffset":12761,"endOffset":12812,"count":5},{"startOffset":12814,"endOffset":13103,"count":5},{"startOffset":13103,"endOffset":13143,"count":6},{"startOffset":13143,"endOffset":13203,"count":1},{"startOffset":13203,"endOffset":13250,"count":6},{"startOffset":13250,"endOffset":13326,"count":3536},{"startOffset":13326,"endOffset":13364,"count":3254},{"startOffset":13374,"endOffset":13421,"count":3254},{"startOffset":13421,"endOffset":13477,"count":40},{"startOffset":13477,"endOffset":13506,"count":3214}],"isBlockCoverage":true},{"functionName":"traverseRemainingChildren","ranges":[{"startOffset":13549,"endOffset":13774,"count":32},{"startOffset":13663,"endOffset":13706,"count":2},{"startOffset":13708,"endOffset":13768,"count":2}],"isBlockCoverage":true},{"functionName":"infer","ranges":[{"startOffset":13779,"endOffset":13989,"count":1223},{"startOffset":13852,"endOffset":13891,"count":6},{"startOffset":13893,"endOffset":13932,"count":5},{"startOffset":13932,"endOffset":13983,"count":1218}],"isBlockCoverage":true},{"functionName":"addIfInferred","ranges":[{"startOffset":13994,"endOffset":15592,"count":295},{"startOffset":14261,"endOffset":14269,"count":0},{"startOffset":14372,"endOffset":14380,"count":0},{"startOffset":14432,"endOffset":14447,"count":151},{"startOffset":14448,"endOffset":14460,"count":133},{"startOffset":14462,"endOffset":15586,"count":133},{"startOffset":14573,"endOffset":14705,"count":89},{"startOffset":14705,"endOffset":15576,"count":44},{"startOffset":14780,"endOffset":15168,"count":3},{"startOffset":15168,"endOffset":15576,"count":41},{"startOffset":15237,"endOffset":15576,"count":8}],"isBlockCoverage":true},{"functionName":"determineType","ranges":[{"startOffset":15597,"endOffset":17419,"count":294},{"startOffset":15862,"endOffset":15870,"count":0},{"startOffset":15973,"endOffset":15981,"count":0},{"startOffset":16046,"endOffset":16157,"count":0},{"startOffset":16192,"endOffset":16205,"count":156},{"startOffset":16207,"endOffset":16249,"count":105},{"startOffset":16249,"endOffset":16279,"count":189},{"startOffset":16279,"endOffset":16291,"count":138},{"startOffset":16293,"endOffset":17386,"count":138},{"startOffset":16424,"endOffset":17021,"count":2},{"startOffset":16506,"endOffset":16705,"count":0},{"startOffset":17021,"endOffset":17350,"count":136},{"startOffset":17064,"endOffset":17350,"count":0},{"startOffset":17350,"endOffset":17386,"count":136},{"startOffset":17386,"endOffset":17418,"count":51}],"isBlockCoverage":true}]},{"scriptId":"1451","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_call_chain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8390,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":854,"endOffset":6153,"count":396},{"startOffset":1112,"endOffset":1368,"count":0},{"startOffset":1490,"endOffset":1538,"count":175},{"startOffset":1609,"endOffset":6123,"count":485},{"startOffset":1696,"endOffset":1734,"count":0},{"startOffset":1793,"endOffset":1843,"count":330},{"startOffset":1845,"endOffset":5615,"count":329},{"startOffset":1995,"endOffset":2024,"count":212},{"startOffset":2025,"endOffset":2036,"count":117},{"startOffset":2160,"endOffset":2168,"count":0},{"startOffset":2273,"endOffset":2281,"count":0},{"startOffset":2567,"endOffset":2587,"count":124},{"startOffset":2589,"endOffset":2953,"count":80},{"startOffset":2704,"endOffset":2712,"count":0},{"startOffset":2774,"endOffset":2935,"count":75},{"startOffset":2953,"endOffset":3856,"count":249},{"startOffset":3010,"endOffset":3055,"count":154},{"startOffset":3056,"endOffset":3136,"count":97},{"startOffset":3097,"endOffset":3105,"count":24},{"startOffset":3106,"endOffset":3125,"count":73},{"startOffset":3138,"endOffset":3436,"count":1},{"startOffset":3436,"endOffset":3545,"count":248},{"startOffset":3546,"endOffset":3554,"count":44},{"startOffset":3555,"endOffset":3575,"count":204},{"startOffset":3664,"endOffset":3672,"count":186},{"startOffset":3673,"endOffset":3681,"count":62},{"startOffset":3856,"endOffset":3921,"count":328},{"startOffset":3922,"endOffset":3930,"count":0},{"startOffset":3931,"endOffset":3957,"count":328},{"startOffset":3959,"endOffset":4304,"count":8},{"startOffset":4304,"endOffset":4346,"count":328},{"startOffset":4346,"endOffset":4449,"count":49},{"startOffset":4395,"endOffset":4403,"count":0},{"startOffset":4451,"endOffset":4569,"count":2},{"startOffset":4569,"endOffset":5173,"count":326},{"startOffset":4616,"endOffset":4657,"count":47},{"startOffset":4659,"endOffset":4957,"count":8},{"startOffset":4957,"endOffset":5173,"count":318},{"startOffset":4991,"endOffset":5173,"count":279},{"startOffset":5096,"endOffset":5104,"count":157},{"startOffset":5105,"endOffset":5119,"count":122},{"startOffset":5173,"endOffset":5298,"count":320},{"startOffset":5300,"endOffset":5414,"count":279},{"startOffset":5414,"endOffset":5601,"count":41},{"startOffset":5486,"endOffset":5601,"count":39},{"startOffset":5615,"endOffset":6081,"count":156},{"startOffset":5679,"endOffset":5732,"count":1},{"startOffset":5734,"endOffset":5848,"count":0},{"startOffset":5912,"endOffset":5965,"count":1},{"startOffset":5967,"endOffset":6081,"count":1},{"startOffset":6081,"endOffset":6123,"count":476},{"startOffset":6123,"endOffset":6152,"count":387}],"isBlockCoverage":true},{"functionName":"findTop","ranges":[{"startOffset":6201,"endOffset":8299,"count":396},{"startOffset":6311,"endOffset":7425,"count":97},{"startOffset":6535,"endOffset":6597,"count":23},{"startOffset":6599,"endOffset":6878,"count":20},{"startOffset":6878,"endOffset":7200,"count":77},{"startOffset":6931,"endOffset":7200,"count":3},{"startOffset":7200,"endOffset":7425,"count":74},{"startOffset":7425,"endOffset":8267,"count":299},{"startOffset":7533,"endOffset":7665,"count":40},{"startOffset":7665,"endOffset":8267,"count":259},{"startOffset":7772,"endOffset":7868,"count":74},{"startOffset":7868,"endOffset":8267,"count":185},{"startOffset":7970,"endOffset":8055,"count":10},{"startOffset":8055,"endOffset":8267,"count":175},{"startOffset":8162,"endOffset":8170,"count":77},{"startOffset":8171,"endOffset":8185,"count":98},{"startOffset":8211,"endOffset":8257,"count":98},{"startOffset":8267,"endOffset":8298,"count":77}],"isBlockCoverage":true}]},{"scriptId":"1452","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/new_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7711,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":642,"endOffset":4989,"count":74},{"startOffset":856,"endOffset":864,"count":0},{"startOffset":959,"endOffset":967,"count":0},{"startOffset":1031,"endOffset":1138,"count":0},{"startOffset":1173,"endOffset":1186,"count":34},{"startOffset":1187,"endOffset":1239,"count":34},{"startOffset":1241,"endOffset":2371,"count":23},{"startOffset":1355,"endOffset":1486,"count":22},{"startOffset":1486,"endOffset":1952,"count":1},{"startOffset":1952,"endOffset":2032,"count":22},{"startOffset":2033,"endOffset":2041,"count":0},{"startOffset":2042,"endOffset":2061,"count":22},{"startOffset":2073,"endOffset":2361,"count":1},{"startOffset":2371,"endOffset":2590,"count":51},{"startOffset":2406,"endOffset":2419,"count":11},{"startOffset":2421,"endOffset":2462,"count":11},{"startOffset":2462,"endOffset":2590,"count":40},{"startOffset":2498,"endOffset":2590,"count":0},{"startOffset":2590,"endOffset":2622,"count":72},{"startOffset":2622,"endOffset":3492,"count":40},{"startOffset":2733,"endOffset":3482,"count":20},{"startOffset":3094,"endOffset":3102,"count":0},{"startOffset":3134,"endOffset":3438,"count":1},{"startOffset":3438,"endOffset":3482,"count":19},{"startOffset":3492,"endOffset":3524,"count":71},{"startOffset":3524,"endOffset":4297,"count":20},{"startOffset":3700,"endOffset":3743,"count":4},{"startOffset":3743,"endOffset":4287,"count":16},{"startOffset":3810,"endOffset":3880,"count":4},{"startOffset":3880,"endOffset":4287,"count":12},{"startOffset":3979,"endOffset":4287,"count":0},{"startOffset":4297,"endOffset":4354,"count":71},{"startOffset":4354,"endOffset":4412,"count":40},{"startOffset":4412,"endOffset":4590,"count":31},{"startOffset":4501,"endOffset":4580,"count":10},{"startOffset":4590,"endOffset":4638,"count":71},{"startOffset":4638,"endOffset":4698,"count":4},{"startOffset":4700,"endOffset":4963,"count":4},{"startOffset":4963,"endOffset":4988,"count":67}],"isBlockCoverage":true},{"functionName":"parameters","ranges":[{"startOffset":4994,"endOffset":7207,"count":40},{"startOffset":5404,"endOffset":5412,"count":32},{"startOffset":5413,"endOffset":5461,"count":8},{"startOffset":5463,"endOffset":5468,"count":32},{"startOffset":5642,"endOffset":6450,"count":7},{"startOffset":5780,"endOffset":6034,"count":1},{"startOffset":6034,"endOffset":6225,"count":6},{"startOffset":6225,"endOffset":6440,"count":1},{"startOffset":6450,"endOffset":7201,"count":33},{"startOffset":6480,"endOffset":6902,"count":1},{"startOffset":6557,"endOffset":6794,"count":0},{"startOffset":6902,"endOffset":7201,"count":32},{"startOffset":6951,"endOffset":7201,"count":1}],"isBlockCoverage":true},{"functionName":"defaultImportingType","ranges":[{"startOffset":7212,"endOffset":7639,"count":7},{"startOffset":7313,"endOffset":7354,"count":1},{"startOffset":7354,"endOffset":7638,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1453","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12491,"count":1}],"isBlockCoverage":true},{"functionName":"MethodParameters","ranges":[{"startOffset":567,"endOffset":633,"count":62}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":638,"endOffset":2241,"count":22},{"startOffset":754,"endOffset":853,"count":0},{"startOffset":955,"endOffset":1015,"count":5},{"startOffset":1015,"endOffset":1171,"count":17},{"startOffset":1208,"endOffset":2195,"count":26},{"startOffset":1285,"endOffset":1293,"count":0},{"startOffset":1383,"endOffset":1508,"count":7},{"startOffset":1525,"endOffset":1643,"count":6},{"startOffset":1660,"endOffset":1776,"count":9},{"startOffset":1793,"endOffset":1911,"count":4},{"startOffset":1928,"endOffset":2041,"count":0},{"startOffset":2058,"endOffset":2171,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1128,"endOffset":1158,"count":14}],"isBlockCoverage":true},{"functionName":"checkReceiving","ranges":[{"startOffset":2274,"endOffset":3757,"count":4},{"startOffset":2384,"endOffset":2392,"count":3},{"startOffset":2393,"endOffset":2489,"count":1},{"startOffset":2466,"endOffset":2474,"count":0},{"startOffset":2523,"endOffset":2731,"count":0},{"startOffset":2792,"endOffset":2996,"count":0},{"startOffset":3127,"endOffset":3135,"count":0},{"startOffset":3211,"endOffset":3297,"count":1},{"startOffset":3297,"endOffset":3751,"count":3},{"startOffset":3517,"endOffset":3741,"count":0}],"isBlockCoverage":true},{"functionName":"checkImporting","ranges":[{"startOffset":3762,"endOffset":5395,"count":6},{"startOffset":3958,"endOffset":4013,"count":1},{"startOffset":4013,"endOffset":4530,"count":5},{"startOffset":4202,"endOffset":4463,"count":0},{"startOffset":4640,"endOffset":4743,"count":1},{"startOffset":4743,"endOffset":5379,"count":5},{"startOffset":4796,"endOffset":5009,"count":0},{"startOffset":5147,"endOffset":5379,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4110,"endOffset":4154,"count":5}],"isBlockCoverage":true},{"functionName":"checkChanging","ranges":[{"startOffset":5400,"endOffset":6960,"count":9},{"startOffset":5603,"endOffset":5811,"count":1},{"startOffset":5811,"endOffset":5907,"count":8},{"startOffset":5907,"endOffset":5962,"count":1},{"startOffset":5962,"endOffset":6477,"count":7},{"startOffset":6150,"endOffset":6410,"count":0},{"startOffset":6477,"endOffset":6608,"count":8},{"startOffset":6610,"endOffset":6842,"count":0},{"startOffset":6842,"endOffset":6911,"count":8},{"startOffset":6912,"endOffset":6920,"count":0},{"startOffset":6921,"endOffset":6943,"count":8},{"startOffset":6954,"endOffset":6959,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6058,"endOffset":6102,"count":7}],"isBlockCoverage":true},{"functionName":"checkExporting","ranges":[{"startOffset":6965,"endOffset":8664,"count":47},{"startOffset":7130,"endOffset":7161,"count":9},{"startOffset":7161,"endOffset":7281,"count":38},{"startOffset":7281,"endOffset":7423,"count":32},{"startOffset":7423,"endOffset":7458,"count":38},{"startOffset":7458,"endOffset":8573,"count":48},{"startOffset":7677,"endOffset":7753,"count":44},{"startOffset":7770,"endOffset":7845,"count":31},{"startOffset":7888,"endOffset":8133,"count":2},{"startOffset":8133,"endOffset":8508,"count":46},{"startOffset":8276,"endOffset":8508,"count":1},{"startOffset":8508,"endOffset":8573,"count":45},{"startOffset":8573,"endOffset":8603,"count":35},{"startOffset":8603,"endOffset":8658,"count":30}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7380,"endOffset":7410,"count":29}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7508,"endOffset":7552,"count":64}],"isBlockCoverage":true},{"functionName":"reportErrors","ranges":[{"startOffset":8669,"endOffset":9018,"count":52},{"startOffset":8795,"endOffset":8803,"count":0},{"startOffset":8819,"endOffset":8824,"count":0},{"startOffset":8826,"endOffset":9012,"count":3}],"isBlockCoverage":true},{"functionName":"parameterListS","ranges":[{"startOffset":9023,"endOffset":11141,"count":47},{"startOffset":9109,"endOffset":9143,"count":0},{"startOffset":9214,"endOffset":9310,"count":0},{"startOffset":9379,"endOffset":11115,"count":60},{"startOffset":9485,"endOffset":9596,"count":0},{"startOffset":9705,"endOffset":9713,"count":0},{"startOffset":9795,"endOffset":9902,"count":0},{"startOffset":10012,"endOffset":10116,"count":0},{"startOffset":10212,"endOffset":10452,"count":48},{"startOffset":10285,"endOffset":10438,"count":134},{"startOffset":10347,"endOffset":10420,"count":46},{"startOffset":10584,"endOffset":11053,"count":4},{"startOffset":10702,"endOffset":11039,"count":0}],"isBlockCoverage":true},{"functionName":"parameterListT","ranges":[{"startOffset":11146,"endOffset":12398,"count":15},{"startOffset":11224,"endOffset":11258,"count":0},{"startOffset":11329,"endOffset":11425,"count":0},{"startOffset":11600,"endOffset":11711,"count":0},{"startOffset":11820,"endOffset":11828,"count":0},{"startOffset":11910,"endOffset":12017,"count":0},{"startOffset":12127,"endOffset":12231,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1454","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/inline_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1975,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":408,"endOffset":1900,"count":410},{"startOffset":560,"endOffset":568,"count":0},{"startOffset":674,"endOffset":710,"count":409},{"startOffset":712,"endOffset":776,"count":2},{"startOffset":776,"endOffset":1077,"count":408},{"startOffset":836,"endOffset":1077,"count":1},{"startOffset":1077,"endOffset":1409,"count":409},{"startOffset":1409,"endOffset":1894,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1455","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/target.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10095,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":851,"endOffset":7675,"count":1324},{"startOffset":954,"endOffset":1286,"count":156},{"startOffset":1087,"endOffset":1276,"count":1},{"startOffset":1286,"endOffset":1457,"count":1323},{"startOffset":1459,"endOffset":1500,"count":0},{"startOffset":1500,"endOffset":1586,"count":1323},{"startOffset":1586,"endOffset":1858,"count":68},{"startOffset":1858,"endOffset":1895,"count":1255},{"startOffset":1895,"endOffset":6503,"count":308},{"startOffset":1982,"endOffset":2020,"count":0},{"startOffset":2077,"endOffset":3142,"count":133},{"startOffset":2146,"endOffset":2434,"count":0},{"startOffset":2524,"endOffset":2649,"count":27},{"startOffset":2566,"endOffset":2591,"count":3},{"startOffset":2592,"endOffset":2648,"count":3},{"startOffset":2670,"endOffset":2790,"count":24},{"startOffset":2712,"endOffset":2737,"count":0},{"startOffset":2738,"endOffset":2789,"count":0},{"startOffset":2811,"endOffset":2852,"count":24},{"startOffset":2854,"endOffset":3128,"count":0},{"startOffset":3142,"endOffset":6493,"count":175},{"startOffset":3213,"endOffset":3711,"count":12},{"startOffset":3305,"endOffset":3351,"count":10},{"startOffset":3372,"endOffset":3413,"count":9},{"startOffset":3415,"endOffset":3697,"count":8},{"startOffset":3711,"endOffset":6493,"count":163},{"startOffset":3785,"endOffset":4319,"count":3},{"startOffset":3851,"endOffset":3892,"count":1},{"startOffset":3894,"endOffset":4176,"count":0},{"startOffset":4237,"endOffset":4305,"count":2},{"startOffset":4319,"endOffset":6493,"count":160},{"startOffset":4393,"endOffset":4507,"count":133},{"startOffset":4507,"endOffset":6493,"count":27},{"startOffset":4577,"endOffset":5397,"count":3},{"startOffset":4659,"endOffset":4700,"count":1},{"startOffset":4721,"endOffset":4772,"count":0},{"startOffset":4793,"endOffset":4844,"count":0},{"startOffset":4846,"endOffset":5125,"count":0},{"startOffset":5183,"endOffset":5208,"count":2},{"startOffset":5210,"endOffset":5383,"count":2},{"startOffset":5397,"endOffset":6493,"count":24},{"startOffset":5477,"endOffset":5532,"count":21},{"startOffset":5534,"endOffset":6152,"count":3},{"startOffset":5596,"endOffset":5637,"count":0},{"startOffset":5639,"endOffset":5922,"count":0},{"startOffset":6152,"endOffset":6493,"count":21},{"startOffset":6226,"endOffset":6493,"count":7},{"startOffset":6327,"endOffset":6373,"count":0},{"startOffset":6503,"endOffset":6599,"count":1247},{"startOffset":6599,"endOffset":7074,"count":5},{"startOffset":6656,"endOffset":6696,"count":4},{"startOffset":6698,"endOffset":6993,"count":2},{"startOffset":6993,"endOffset":7074,"count":3},{"startOffset":7074,"endOffset":7170,"count":1245},{"startOffset":7170,"endOffset":7645,"count":6},{"startOffset":7227,"endOffset":7267,"count":5},{"startOffset":7269,"endOffset":7564,"count":2},{"startOffset":7564,"endOffset":7645,"count":4},{"startOffset":7645,"endOffset":7674,"count":1243}],"isBlockCoverage":true},{"functionName":"findTop","ranges":[{"startOffset":7718,"endOffset":10033,"count":1323},{"startOffset":7773,"endOffset":7814,"count":0},{"startOffset":7966,"endOffset":8020,"count":135},{"startOffset":8022,"endOffset":8642,"count":1206},{"startOffset":8105,"endOffset":8239,"count":1138},{"startOffset":8276,"endOffset":8550,"count":2},{"startOffset":8605,"endOffset":8613,"count":68},{"startOffset":8614,"endOffset":8631,"count":1138},{"startOffset":8642,"endOffset":9957,"count":117},{"startOffset":8705,"endOffset":9433,"count":3},{"startOffset":8796,"endOffset":8998,"count":2},{"startOffset":8998,"endOffset":9423,"count":1},{"startOffset":9308,"endOffset":9423,"count":0},{"startOffset":9433,"endOffset":9957,"count":114},{"startOffset":9490,"endOffset":9531,"count":2},{"startOffset":9533,"endOffset":9957,"count":2},{"startOffset":9671,"endOffset":9957,"count":1},{"startOffset":9957,"endOffset":10032,"count":112}],"isBlockCoverage":true}]},{"scriptId":"1456","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/cast.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3769,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":462,"endOffset":3713,"count":12},{"startOffset":611,"endOffset":857,"count":0},{"startOffset":1130,"endOffset":1138,"count":0},{"startOffset":1208,"endOffset":1464,"count":0},{"startOffset":1499,"endOffset":1512,"count":2},{"startOffset":1514,"endOffset":1554,"count":2},{"startOffset":1554,"endOffset":1831,"count":10},{"startOffset":1590,"endOffset":1831,"count":0},{"startOffset":1861,"endOffset":1878,"count":10},{"startOffset":1880,"endOffset":3291,"count":10},{"startOffset":2062,"endOffset":2098,"count":8},{"startOffset":2100,"endOffset":2483,"count":8},{"startOffset":2203,"endOffset":2469,"count":4},{"startOffset":2483,"endOffset":2578,"count":2},{"startOffset":2612,"endOffset":2673,"count":0},{"startOffset":2675,"endOffset":2743,"count":0},{"startOffset":2802,"endOffset":2882,"count":1},{"startOffset":2882,"endOffset":3281,"count":9},{"startOffset":2922,"endOffset":3281,"count":0},{"startOffset":3291,"endOffset":3445,"count":11},{"startOffset":3445,"endOffset":3688,"count":0},{"startOffset":3688,"endOffset":3712,"count":11}],"isBlockCoverage":true}]},{"scriptId":"1457","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_type_utils.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":21223,"count":1}],"isBlockCoverage":true},{"functionName":"TypeUtils","ranges":[{"startOffset":317,"endOffset":371,"count":1964}],"isBlockCoverage":true},{"functionName":"isCharLikeStrict","ranges":[{"startOffset":376,"endOffset":1674,"count":33},{"startOffset":433,"endOffset":470,"count":0},{"startOffset":527,"endOffset":744,"count":1},{"startOffset":579,"endOffset":709,"count":2},{"startOffset":642,"endOffset":695,"count":0},{"startOffset":744,"endOffset":1646,"count":32},{"startOffset":796,"endOffset":818,"count":2},{"startOffset":820,"endOffset":892,"count":2},{"startOffset":892,"endOffset":1646,"count":30},{"startOffset":957,"endOffset":991,"count":19},{"startOffset":1004,"endOffset":1039,"count":19},{"startOffset":1052,"endOffset":1092,"count":18},{"startOffset":1105,"endOffset":1142,"count":6},{"startOffset":1155,"endOffset":1202,"count":6},{"startOffset":1215,"endOffset":1251,"count":6},{"startOffset":1264,"endOffset":1299,"count":6},{"startOffset":1312,"endOffset":1352,"count":6},{"startOffset":1365,"endOffset":1410,"count":6},{"startOffset":1423,"endOffset":1461,"count":6},{"startOffset":1474,"endOffset":1509,"count":6},{"startOffset":1522,"endOffset":1560,"count":6},{"startOffset":1573,"endOffset":1608,"count":6},{"startOffset":1610,"endOffset":1646,"count":27},{"startOffset":1646,"endOffset":1673,"count":3}],"isBlockCoverage":true},{"functionName":"isCharLike","ranges":[{"startOffset":1679,"endOffset":3378,"count":446},{"startOffset":1730,"endOffset":1767,"count":0},{"startOffset":1819,"endOffset":1841,"count":4},{"startOffset":1843,"endOffset":1909,"count":2},{"startOffset":1909,"endOffset":3350,"count":444},{"startOffset":1966,"endOffset":2177,"count":15},{"startOffset":2018,"endOffset":2142,"count":23},{"startOffset":2075,"endOffset":2128,"count":1},{"startOffset":2142,"endOffset":2177,"count":14},{"startOffset":2177,"endOffset":3350,"count":429},{"startOffset":2242,"endOffset":2282,"count":355},{"startOffset":2295,"endOffset":2330,"count":236},{"startOffset":2343,"endOffset":2377,"count":151},{"startOffset":2390,"endOffset":2428,"count":149},{"startOffset":2441,"endOffset":2479,"count":147},{"startOffset":2492,"endOffset":2530,"count":146},{"startOffset":2543,"endOffset":2582,"count":25},{"startOffset":2595,"endOffset":2632,"count":24},{"startOffset":2645,"endOffset":2681,"count":23},{"startOffset":2694,"endOffset":2738,"count":22},{"startOffset":2751,"endOffset":2790,"count":22},{"startOffset":2803,"endOffset":2844,"count":22},{"startOffset":2857,"endOffset":2898,"count":22},{"startOffset":2911,"endOffset":2956,"count":22},{"startOffset":2969,"endOffset":3009,"count":21},{"startOffset":3022,"endOffset":3069,"count":20},{"startOffset":3082,"endOffset":3117,"count":17},{"startOffset":3130,"endOffset":3165,"count":15},{"startOffset":3178,"endOffset":3214,"count":14},{"startOffset":3227,"endOffset":3264,"count":13},{"startOffset":3277,"endOffset":3312,"count":11},{"startOffset":3314,"endOffset":3350,"count":418},{"startOffset":3350,"endOffset":3377,"count":11}],"isBlockCoverage":true},{"functionName":"isHexLike","ranges":[{"startOffset":3383,"endOffset":4295,"count":21},{"startOffset":3433,"endOffset":3470,"count":0},{"startOffset":3527,"endOffset":3737,"count":0},{"startOffset":3789,"endOffset":3811,"count":2},{"startOffset":3813,"endOffset":3878,"count":1},{"startOffset":3878,"endOffset":4267,"count":20},{"startOffset":3944,"endOffset":3978,"count":16},{"startOffset":3991,"endOffset":4026,"count":8},{"startOffset":4039,"endOffset":4078,"count":8},{"startOffset":4091,"endOffset":4131,"count":8},{"startOffset":4144,"endOffset":4178,"count":7},{"startOffset":4191,"endOffset":4229,"count":7},{"startOffset":4231,"endOffset":4267,"count":13},{"startOffset":4267,"endOffset":4294,"count":7}],"isBlockCoverage":true},{"functionName":"isOOAssignable","ranges":[{"startOffset":4300,"endOffset":6475,"count":45},{"startOffset":4548,"endOffset":4584,"count":39},{"startOffset":4584,"endOffset":4720,"count":6},{"startOffset":4720,"endOffset":4765,"count":1},{"startOffset":4768,"endOffset":4984,"count":1},{"startOffset":4911,"endOffset":4974,"count":0},{"startOffset":4984,"endOffset":5038,"count":6},{"startOffset":5038,"endOffset":5083,"count":4},{"startOffset":5086,"endOffset":5302,"count":1},{"startOffset":5229,"endOffset":5292,"count":0},{"startOffset":5302,"endOffset":5395,"count":6},{"startOffset":5397,"endOffset":5625,"count":3},{"startOffset":5432,"endOffset":5476,"count":0},{"startOffset":5571,"endOffset":5615,"count":2},{"startOffset":5625,"endOffset":6447,"count":3},{"startOffset":5842,"endOffset":5985,"count":0},{"startOffset":5995,"endOffset":6447,"count":0},{"startOffset":6447,"endOffset":6474,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5774,"endOffset":5795,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6226,"endOffset":6247,"count":0}],"isBlockCoverage":false},{"functionName":"listAllInterfaces","ranges":[{"startOffset":6480,"endOffset":7356,"count":0}],"isBlockCoverage":false},{"functionName":"listAllSupers","ranges":[{"startOffset":7361,"endOffset":7800,"count":3},{"startOffset":7555,"endOffset":7563,"count":0},{"startOffset":7679,"endOffset":7687,"count":0},{"startOffset":7736,"endOffset":7744,"count":2},{"startOffset":7745,"endOffset":7763,"count":1}],"isBlockCoverage":true},{"functionName":"isCastable","ranges":[{"startOffset":7805,"endOffset":7878,"count":16}],"isBlockCoverage":true},{"functionName":"structureContainsString","ranges":[{"startOffset":7883,"endOffset":8109,"count":208},{"startOffset":7971,"endOffset":8081,"count":275},{"startOffset":8027,"endOffset":8071,"count":72},{"startOffset":8081,"endOffset":8108,"count":136}],"isBlockCoverage":true},{"functionName":"structureContainsVoid","ranges":[{"startOffset":8114,"endOffset":8336,"count":1},{"startOffset":8200,"endOffset":8308,"count":2},{"startOffset":8254,"endOffset":8298,"count":0}],"isBlockCoverage":true},{"functionName":"isAssignableStrict","ranges":[{"startOffset":8341,"endOffset":15320,"count":588},{"startOffset":8590,"endOffset":8629,"count":48},{"startOffset":8630,"endOffset":8670,"count":30},{"startOffset":8672,"endOffset":8709,"count":2},{"startOffset":8709,"endOffset":8734,"count":586},{"startOffset":8734,"endOffset":8799,"count":46},{"startOffset":8799,"endOffset":8853,"count":540},{"startOffset":8853,"endOffset":9793,"count":152},{"startOffset":8912,"endOffset":9210,"count":128},{"startOffset":8997,"endOffset":9005,"count":69},{"startOffset":9006,"endOffset":9030,"count":59},{"startOffset":9042,"endOffset":9130,"count":3},{"startOffset":9130,"endOffset":9210,"count":125},{"startOffset":9210,"endOffset":9783,"count":24},{"startOffset":9271,"endOffset":9497,"count":3},{"startOffset":9356,"endOffset":9364,"count":0},{"startOffset":9401,"endOffset":9453,"count":1},{"startOffset":9453,"endOffset":9497,"count":2},{"startOffset":9497,"endOffset":9783,"count":21},{"startOffset":9557,"endOffset":9783,"count":8},{"startOffset":9642,"endOffset":9650,"count":0},{"startOffset":9687,"endOffset":9739,"count":7},{"startOffset":9739,"endOffset":9783,"count":1},{"startOffset":9793,"endOffset":15264,"count":388},{"startOffset":9846,"endOffset":10642,"count":10},{"startOffset":9899,"endOffset":10197,"count":6},{"startOffset":9984,"endOffset":9992,"count":0},{"startOffset":10029,"endOffset":10117,"count":0},{"startOffset":10197,"endOffset":10632,"count":4},{"startOffset":10258,"endOffset":10303,"count":3},{"startOffset":10303,"endOffset":10632,"count":1},{"startOffset":10491,"endOffset":10499,"count":0},{"startOffset":10536,"endOffset":10588,"count":0},{"startOffset":10642,"endOffset":15264,"count":378},{"startOffset":10698,"endOffset":11681,"count":63},{"startOffset":10756,"endOffset":10795,"count":0},{"startOffset":10797,"endOffset":10842,"count":0},{"startOffset":10903,"endOffset":11129,"count":2},{"startOffset":10988,"endOffset":10996,"count":0},{"startOffset":11033,"endOffset":11129,"count":1},{"startOffset":11129,"endOffset":11646,"count":61},{"startOffset":11214,"endOffset":11269,"count":60},{"startOffset":11271,"endOffset":11316,"count":1},{"startOffset":11316,"endOffset":11646,"count":60},{"startOffset":11378,"endOffset":11418,"count":58},{"startOffset":11420,"endOffset":11646,"count":3},{"startOffset":11505,"endOffset":11513,"count":1},{"startOffset":11514,"endOffset":11538,"count":2},{"startOffset":11550,"endOffset":11602,"count":1},{"startOffset":11602,"endOffset":11646,"count":2},{"startOffset":11646,"endOffset":11681,"count":57},{"startOffset":11681,"endOffset":15264,"count":315},{"startOffset":11740,"endOffset":12732,"count":59},{"startOffset":11799,"endOffset":12359,"count":50},{"startOffset":12004,"endOffset":12057,"count":1},{"startOffset":12057,"endOffset":12124,"count":49},{"startOffset":12124,"endOffset":12316,"count":262},{"startOffset":12237,"endOffset":12298,"count":1},{"startOffset":12316,"endOffset":12359,"count":48},{"startOffset":12359,"endOffset":12696,"count":9},{"startOffset":12418,"endOffset":12487,"count":1},{"startOffset":12487,"endOffset":12696,"count":8},{"startOffset":12613,"endOffset":12650,"count":3},{"startOffset":12652,"endOffset":12696,"count":6},{"startOffset":12696,"endOffset":12732,"count":2},{"startOffset":12732,"endOffset":15264,"count":256},{"startOffset":12790,"endOffset":12942,"count":2},{"startOffset":12846,"endOffset":12885,"count":1},{"startOffset":12942,"endOffset":15264,"count":254},{"startOffset":12999,"endOffset":13438,"count":141},{"startOffset":13055,"endOffset":13100,"count":1},{"startOffset":13100,"endOffset":13428,"count":140},{"startOffset":13161,"endOffset":13200,"count":137},{"startOffset":13202,"endOffset":13428,"count":5},{"startOffset":13287,"endOffset":13295,"count":0},{"startOffset":13332,"endOffset":13384,"count":2},{"startOffset":13384,"endOffset":13428,"count":3},{"startOffset":13438,"endOffset":15264,"count":113},{"startOffset":13493,"endOffset":13605,"count":1},{"startOffset":13605,"endOffset":15264,"count":112},{"startOffset":13677,"endOffset":14022,"count":2},{"startOffset":13757,"endOffset":13796,"count":1},{"startOffset":13813,"endOffset":13855,"count":1},{"startOffset":13872,"endOffset":13910,"count":1},{"startOffset":13927,"endOffset":13965,"count":1},{"startOffset":14022,"endOffset":15264,"count":110},{"startOffset":14087,"endOffset":14429,"count":12},{"startOffset":14161,"endOffset":14201,"count":11},{"startOffset":14218,"endOffset":14260,"count":11},{"startOffset":14277,"endOffset":14315,"count":10},{"startOffset":14332,"endOffset":14372,"count":10},{"startOffset":14374,"endOffset":14419,"count":2},{"startOffset":14429,"endOffset":15264,"count":98},{"startOffset":14486,"endOffset":14827,"count":7},{"startOffset":14556,"endOffset":14596,"count":6},{"startOffset":14613,"endOffset":14652,"count":5},{"startOffset":14669,"endOffset":14717,"count":3},{"startOffset":14734,"endOffset":14770,"count":3},{"startOffset":14772,"endOffset":14817,"count":5},{"startOffset":14827,"endOffset":15264,"count":91},{"startOffset":14882,"endOffset":15264,"count":32},{"startOffset":14937,"endOffset":15042,"count":26},{"startOffset":15042,"endOffset":15254,"count":6},{"startOffset":15210,"endOffset":15254,"count":0},{"startOffset":15264,"endOffset":15319,"count":225}],"isBlockCoverage":true},{"functionName":"isAssignable","ranges":[{"startOffset":15325,"endOffset":21150,"count":1347},{"startOffset":15493,"endOffset":17584,"count":129},{"startOffset":15534,"endOffset":15620,"count":3},{"startOffset":15620,"endOffset":15688,"count":126},{"startOffset":15688,"endOffset":15724,"count":125},{"startOffset":15741,"endOffset":15778,"count":123},{"startOffset":15795,"endOffset":15835,"count":122},{"startOffset":15837,"endOffset":15881,"count":4},{"startOffset":15881,"endOffset":17548,"count":122},{"startOffset":15940,"endOffset":17548,"count":120},{"startOffset":16122,"endOffset":16165,"count":118},{"startOffset":16166,"endOffset":16213,"count":118},{"startOffset":16215,"endOffset":16267,"count":3},{"startOffset":16267,"endOffset":16480,"count":117},{"startOffset":16428,"endOffset":16480,"count":0},{"startOffset":16480,"endOffset":16568,"count":117},{"startOffset":16568,"endOffset":16614,"count":57},{"startOffset":16616,"endOffset":16990,"count":22},{"startOffset":16693,"endOffset":16754,"count":1},{"startOffset":16754,"endOffset":16972,"count":21},{"startOffset":16855,"endOffset":16909,"count":1},{"startOffset":16911,"endOffset":16972,"count":1},{"startOffset":16990,"endOffset":17505,"count":95},{"startOffset":17083,"endOffset":17129,"count":33},{"startOffset":17131,"endOffset":17505,"count":0},{"startOffset":17505,"endOffset":17548,"count":115},{"startOffset":17548,"endOffset":17584,"count":2},{"startOffset":17584,"endOffset":21123,"count":1218},{"startOffset":17648,"endOffset":17696,"count":48},{"startOffset":17698,"endOffset":17765,"count":45},{"startOffset":17765,"endOffset":21123,"count":1173},{"startOffset":17841,"endOffset":17896,"count":1170},{"startOffset":17898,"endOffset":18333,"count":13},{"startOffset":17978,"endOffset":18033,"count":10},{"startOffset":18050,"endOffset":18087,"count":7},{"startOffset":18104,"endOffset":18141,"count":4},{"startOffset":18158,"endOffset":18194,"count":3},{"startOffset":18211,"endOffset":18251,"count":3},{"startOffset":18253,"endOffset":18297,"count":10},{"startOffset":18297,"endOffset":18333,"count":3},{"startOffset":18333,"endOffset":21123,"count":1160},{"startOffset":18392,"endOffset":18749,"count":15},{"startOffset":18466,"endOffset":18503,"count":2},{"startOffset":18520,"endOffset":18557,"count":2},{"startOffset":18574,"endOffset":18610,"count":1},{"startOffset":18627,"endOffset":18667,"count":1},{"startOffset":18669,"endOffset":18713,"count":14},{"startOffset":18713,"endOffset":18749,"count":1},{"startOffset":18749,"endOffset":21123,"count":1145},{"startOffset":18808,"endOffset":20003,"count":93},{"startOffset":18862,"endOffset":18886,"count":1},{"startOffset":18888,"endOffset":18974,"count":0},{"startOffset":19154,"endOffset":19194,"count":92},{"startOffset":19196,"endOffset":19240,"count":1},{"startOffset":19240,"endOffset":19967,"count":92},{"startOffset":19303,"endOffset":19500,"count":78},{"startOffset":19362,"endOffset":19402,"count":15},{"startOffset":19404,"endOffset":19457,"count":1},{"startOffset":19457,"endOffset":19500,"count":77},{"startOffset":19500,"endOffset":19967,"count":14},{"startOffset":19554,"endOffset":19598,"count":2},{"startOffset":19598,"endOffset":19967,"count":12},{"startOffset":19657,"endOffset":19696,"count":4},{"startOffset":19698,"endOffset":19743,"count":1},{"startOffset":19743,"endOffset":19967,"count":11},{"startOffset":19804,"endOffset":19849,"count":3},{"startOffset":19849,"endOffset":19967,"count":8},{"startOffset":19895,"endOffset":19921,"count":7},{"startOffset":19923,"endOffset":19967,"count":6},{"startOffset":19967,"endOffset":20003,"count":2},{"startOffset":20003,"endOffset":21123,"count":1052},{"startOffset":20071,"endOffset":20113,"count":582},{"startOffset":20126,"endOffset":20165,"count":485},{"startOffset":20167,"endOffset":20892,"count":757},{"startOffset":20221,"endOffset":20255,"count":3},{"startOffset":20257,"endOffset":20302,"count":2},{"startOffset":20302,"endOffset":20857,"count":755},{"startOffset":20362,"endOffset":20404,"count":566},{"startOffset":20422,"endOffset":20464,"count":285},{"startOffset":20481,"endOffset":20507,"count":5},{"startOffset":20509,"endOffset":20553,"count":5},{"startOffset":20553,"endOffset":20857,"count":750},{"startOffset":20631,"endOffset":20679,"count":749},{"startOffset":20696,"endOffset":20738,"count":749},{"startOffset":20755,"endOffset":20810,"count":747},{"startOffset":20812,"endOffset":20857,"count":5},{"startOffset":20857,"endOffset":20892,"count":745},{"startOffset":20892,"endOffset":21123,"count":295},{"startOffset":20948,"endOffset":21123,"count":2},{"startOffset":21028,"endOffset":21066,"count":1},{"startOffset":21123,"endOffset":21149,"count":293}],"isBlockCoverage":true}]},{"scriptId":"1458","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/assert_error.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":218,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1459","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_builtin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":50092,"count":1}],"isBlockCoverage":true},{"functionName":"BuiltInMethod","ranges":[{"startOffset":596,"endOffset":731,"count":17}],"isBlockCoverage":true},{"functionName":"getRequiredParameters","ranges":[{"startOffset":736,"endOffset":1070,"count":75},{"startOffset":833,"endOffset":1044,"count":76}],"isBlockCoverage":true},{"functionName":"getOptional","ranges":[{"startOffset":1075,"endOffset":1162,"count":0}],"isBlockCoverage":false},{"functionName":"getAll","ranges":[{"startOffset":1167,"endOffset":1257,"count":0}],"isBlockCoverage":false},{"functionName":"getImporting","ranges":[{"startOffset":1262,"endOffset":1844,"count":159},{"startOffset":1350,"endOffset":1561,"count":162},{"startOffset":1608,"endOffset":1818,"count":180},{"startOffset":1818,"endOffset":1843,"count":45}],"isBlockCoverage":true},{"functionName":"getDefaultImporting","ranges":[{"startOffset":1849,"endOffset":2137,"count":66},{"startOffset":1922,"endOffset":1963,"count":0},{"startOffset":2105,"endOffset":2136,"count":0}],"isBlockCoverage":true},{"functionName":"getExporting","ranges":[{"startOffset":2142,"endOffset":2183,"count":2}],"isBlockCoverage":true},{"functionName":"getRaising","ranges":[{"startOffset":2188,"endOffset":2227,"count":2}],"isBlockCoverage":true},{"functionName":"getChanging","ranges":[{"startOffset":2232,"endOffset":2272,"count":2}],"isBlockCoverage":true},{"functionName":"getReturning","ranges":[{"startOffset":2277,"endOffset":2486,"count":77}],"isBlockCoverage":true},{"functionName":"getExceptions","ranges":[{"startOffset":2491,"endOffset":2533,"count":0}],"isBlockCoverage":false},{"functionName":"getVisibility","ranges":[{"startOffset":2538,"endOffset":2608,"count":0}],"isBlockCoverage":false},{"functionName":"isRedefinition","ranges":[{"startOffset":2613,"endOffset":2659,"count":0}],"isBlockCoverage":false},{"functionName":"isAbstract","ranges":[{"startOffset":2664,"endOffset":2706,"count":0}],"isBlockCoverage":false},{"functionName":"isStatic","ranges":[{"startOffset":2711,"endOffset":2751,"count":0}],"isBlockCoverage":false},{"functionName":"isEventHandler","ranges":[{"startOffset":2756,"endOffset":2802,"count":0}],"isBlockCoverage":false},{"functionName":"getParameters","ranges":[{"startOffset":2807,"endOffset":2851,"count":374}],"isBlockCoverage":true},{"functionName":"getParameterDefault","ranges":[{"startOffset":2856,"endOffset":2921,"count":0}],"isBlockCoverage":false},{"functionName":"BuiltIn","ranges":[{"startOffset":2983,"endOffset":3026,"count":9535}],"isBlockCoverage":true},{"functionName":"buildDefinition","ranges":[{"startOffset":3031,"endOffset":3368,"count":100},{"startOffset":3089,"endOffset":3133,"count":83},{"startOffset":3133,"endOffset":3367,"count":17}],"isBlockCoverage":true},{"functionName":"searchBuiltin","ranges":[{"startOffset":3373,"endOffset":3652,"count":148},{"startOffset":3427,"endOffset":3468,"count":0},{"startOffset":3557,"endOffset":3598,"count":48},{"startOffset":3598,"endOffset":3651,"count":100}],"isBlockCoverage":true},{"functionName":"isPredicate","ranges":[{"startOffset":3657,"endOffset":3916,"count":1},{"startOffset":3709,"endOffset":3750,"count":0},{"startOffset":3839,"endOffset":3880,"count":0}],"isBlockCoverage":true},{"functionName":"getTypes","ranges":[{"startOffset":3921,"endOffset":4545,"count":9173}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":4550,"endOffset":7960,"count":9173},{"startOffset":4631,"endOffset":7557,"count":1},{"startOffset":7629,"endOffset":7934,"count":2}],"isBlockCoverage":true},{"functionName":"buildVariable","ranges":[{"startOffset":7999,"endOffset":8265,"count":1}],"isBlockCoverage":true},{"functionName":"buildSY","ranges":[{"startOffset":8270,"endOffset":24529,"count":9174}],"isBlockCoverage":true},{"functionName":"buildConstant","ranges":[{"startOffset":24534,"endOffset":25004,"count":24},{"startOffset":24691,"endOffset":24749,"count":2},{"startOffset":24783,"endOffset":24821,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1460","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_call_param.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5340,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":538,"endOffset":5249,"count":322},{"startOffset":637,"endOffset":836,"count":0},{"startOffset":938,"endOffset":1144,"count":0},{"startOffset":1236,"endOffset":1283,"count":310},{"startOffset":1285,"endOffset":1748,"count":105},{"startOffset":1342,"endOffset":1738,"count":81},{"startOffset":1466,"endOffset":1724,"count":3},{"startOffset":1748,"endOffset":5243,"count":217},{"startOffset":1880,"endOffset":1932,"count":52},{"startOffset":1935,"endOffset":4604,"count":166},{"startOffset":1992,"endOffset":2709,"count":158},{"startOffset":2066,"endOffset":2327,"count":1},{"startOffset":2327,"endOffset":2695,"count":157},{"startOffset":2412,"endOffset":2695,"count":1},{"startOffset":2709,"endOffset":2805,"count":164},{"startOffset":2805,"endOffset":3420,"count":156},{"startOffset":2922,"endOffset":3150,"count":0},{"startOffset":3222,"endOffset":3406,"count":157},{"startOffset":3284,"endOffset":3388,"count":156},{"startOffset":3420,"endOffset":3490,"count":8},{"startOffset":3490,"endOffset":3605,"count":164},{"startOffset":3605,"endOffset":3708,"count":163},{"startOffset":3708,"endOffset":3825,"count":164},{"startOffset":3825,"endOffset":3895,"count":157},{"startOffset":3912,"endOffset":3981,"count":138},{"startOffset":4025,"endOffset":4247,"count":0},{"startOffset":4247,"endOffset":4594,"count":164},{"startOffset":4376,"endOffset":4594,"count":38},{"startOffset":4604,"endOffset":5243,"count":51},{"startOffset":4716,"endOffset":4820,"count":37},{"startOffset":4820,"endOffset":5243,"count":14},{"startOffset":4990,"endOffset":5243,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1461","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8045,"count":1}],"isBlockCoverage":true},{"functionName":"ClassDefinition","ranges":[{"startOffset":904,"endOffset":2940,"count":1215},{"startOffset":996,"endOffset":1077,"count":0},{"startOffset":2214,"endOffset":2371,"count":5},{"startOffset":2371,"endOffset":2749,"count":1130},{"startOffset":2750,"endOffset":2758,"count":0},{"startOffset":2759,"endOffset":2798,"count":1130}],"isBlockCoverage":true},{"functionName":"getFriends","ranges":[{"startOffset":2945,"endOffset":2994,"count":0}],"isBlockCoverage":false},{"functionName":"getEvents","ranges":[{"startOffset":2999,"endOffset":3046,"count":489}],"isBlockCoverage":true},{"functionName":"getMethodDefinitions","ranges":[{"startOffset":3051,"endOffset":3113,"count":2909}],"isBlockCoverage":true},{"functionName":"getTypeDefinitions","ranges":[{"startOffset":3118,"endOffset":3173,"count":1826}],"isBlockCoverage":true},{"functionName":"getSuperClass","ranges":[{"startOffset":3178,"endOffset":3233,"count":6571}],"isBlockCoverage":true},{"functionName":"getAttributes","ranges":[{"startOffset":3238,"endOffset":3293,"count":3234}],"isBlockCoverage":true},{"functionName":"isGlobal","ranges":[{"startOffset":3298,"endOffset":3349,"count":139}],"isBlockCoverage":true},{"functionName":"isFinal","ranges":[{"startOffset":3354,"endOffset":3403,"count":2}],"isBlockCoverage":true},{"functionName":"getImplementing","ranges":[{"startOffset":3408,"endOffset":3467,"count":3050}],"isBlockCoverage":true},{"functionName":"getAliases","ranges":[{"startOffset":3472,"endOffset":3521,"count":1567}],"isBlockCoverage":true},{"functionName":"isForTesting","ranges":[{"startOffset":3526,"endOffset":3577,"count":0}],"isBlockCoverage":false},{"functionName":"isAbstract","ranges":[{"startOffset":3582,"endOffset":3632,"count":69}],"isBlockCoverage":true},{"functionName":"isSharedMemory","ranges":[{"startOffset":3637,"endOffset":3695,"count":0}],"isBlockCoverage":false},{"functionName":"findSuper","ranges":[{"startOffset":3773,"endOffset":4146,"count":1214},{"startOffset":3872,"endOffset":3880,"count":0},{"startOffset":3965,"endOffset":3973,"count":873},{"startOffset":3974,"endOffset":3994,"count":341},{"startOffset":4093,"endOffset":4101,"count":873},{"startOffset":4102,"endOffset":4118,"count":341}],"isBlockCoverage":true},{"functionName":"checkMethodsFromSuperClasses","ranges":[{"startOffset":4151,"endOffset":5437,"count":1130},{"startOffset":4312,"endOffset":5159,"count":418},{"startOffset":4439,"endOffset":4447,"count":0},{"startOffset":4505,"endOffset":4513,"count":0},{"startOffset":4529,"endOffset":4534,"count":0},{"startOffset":4536,"endOffset":4896,"count":22},{"startOffset":4669,"endOffset":4718,"count":1},{"startOffset":4718,"endOffset":4849,"count":21},{"startOffset":4767,"endOffset":4798,"count":17},{"startOffset":4800,"endOffset":4849,"count":5},{"startOffset":4849,"endOffset":4896,"count":16},{"startOffset":4959,"endOffset":4967,"count":0},{"startOffset":4989,"endOffset":4994,"count":0},{"startOffset":4996,"endOffset":5065,"count":3},{"startOffset":5117,"endOffset":5125,"count":0},{"startOffset":5222,"endOffset":5431,"count":542},{"startOffset":5277,"endOffset":5308,"count":11},{"startOffset":5310,"endOffset":5421,"count":4},{"startOffset":5431,"endOffset":5436,"count":1126}],"isBlockCoverage":true},{"functionName":"findFriends","ranges":[{"startOffset":5442,"endOffset":5931,"count":1214},{"startOffset":5573,"endOffset":5581,"count":0},{"startOffset":5662,"endOffset":5670,"count":1213},{"startOffset":5671,"endOffset":5720,"count":1},{"startOffset":5722,"endOffset":5727,"count":1213},{"startOffset":5729,"endOffset":5902,"count":1}],"isBlockCoverage":true},{"functionName":"addReference","ranges":[{"startOffset":5936,"endOffset":6572,"count":1215},{"startOffset":6021,"endOffset":6029,"count":873},{"startOffset":6030,"endOffset":6046,"count":342},{"startOffset":6066,"endOffset":6566,"count":342},{"startOffset":6148,"endOffset":6331,"count":258},{"startOffset":6331,"endOffset":6556,"count":84},{"startOffset":6409,"endOffset":6556,"count":68}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":6577,"endOffset":7955,"count":1214},{"startOffset":6700,"endOffset":7949,"count":79},{"startOffset":6896,"endOffset":6904,"count":0},{"startOffset":6964,"endOffset":7063,"count":0},{"startOffset":7264,"endOffset":7450,"count":55},{"startOffset":7450,"endOffset":7939,"count":24},{"startOffset":7528,"endOffset":7723,"count":2},{"startOffset":7723,"endOffset":7939,"count":22}],"isBlockCoverage":true}]},{"scriptId":"1462","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/method_definitions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2681,"count":1}],"isBlockCoverage":true},{"functionName":"MethodDefinitions","ranges":[{"startOffset":387,"endOffset":498,"count":1390}],"isBlockCoverage":true},{"functionName":"getAll","ranges":[{"startOffset":503,"endOffset":597,"count":3087},{"startOffset":549,"endOffset":591,"count":1575},{"startOffset":581,"endOffset":591,"count":870},{"startOffset":591,"endOffset":596,"count":2382}],"isBlockCoverage":true},{"functionName":"getByName","ranges":[{"startOffset":602,"endOffset":744,"count":288},{"startOffset":652,"endOffset":693,"count":0}],"isBlockCoverage":true},{"functionName":"parseInterface","ranges":[{"startOffset":777,"endOffset":1086,"count":260},{"startOffset":908,"endOffset":1080,"count":76}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":1091,"endOffset":2585,"count":1390},{"startOffset":1199,"endOffset":1263,"count":260},{"startOffset":1263,"endOffset":1358,"count":1130},{"startOffset":1358,"endOffset":1467,"count":0},{"startOffset":1467,"endOffset":1598,"count":1130},{"startOffset":1599,"endOffset":1607,"count":1058},{"startOffset":1608,"endOffset":1655,"count":72},{"startOffset":1657,"endOffset":1662,"count":1058},{"startOffset":1664,"endOffset":1837,"count":45},{"startOffset":1837,"endOffset":1970,"count":1130},{"startOffset":1971,"endOffset":1979,"count":1086},{"startOffset":1980,"endOffset":2027,"count":44},{"startOffset":2029,"endOffset":2034,"count":1086},{"startOffset":2036,"endOffset":2211,"count":11},{"startOffset":2211,"endOffset":2341,"count":1130},{"startOffset":2342,"endOffset":2350,"count":428},{"startOffset":2351,"endOffset":2398,"count":702},{"startOffset":2400,"endOffset":2405,"count":428},{"startOffset":2407,"endOffset":2579,"count":486},{"startOffset":2579,"endOffset":2584,"count":1130}],"isBlockCoverage":true}]},{"scriptId":"1463","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/method_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4147,"count":1}],"isBlockCoverage":true},{"functionName":"MethodDefinition","ranges":[{"startOffset":502,"endOffset":3588,"count":618},{"startOffset":622,"endOffset":724,"count":0},{"startOffset":831,"endOffset":933,"count":0},{"startOffset":1088,"endOffset":1521,"count":8},{"startOffset":1221,"endOffset":1511,"count":1},{"startOffset":1622,"endOffset":1671,"count":15},{"startOffset":1764,"endOffset":1809,"count":5},{"startOffset":1954,"endOffset":1997,"count":112},{"startOffset":2139,"endOffset":2147,"count":608},{"startOffset":2148,"endOffset":2194,"count":10},{"startOffset":2196,"endOffset":2201,"count":608},{"startOffset":2203,"endOffset":3089,"count":12},{"startOffset":2414,"endOffset":2600,"count":7},{"startOffset":2600,"endOffset":3079,"count":5},{"startOffset":2868,"endOffset":3079,"count":0},{"startOffset":3237,"endOffset":3245,"count":615},{"startOffset":3246,"endOffset":3302,"count":3},{"startOffset":3304,"endOffset":3309,"count":615},{"startOffset":3311,"endOffset":3448,"count":6}],"isBlockCoverage":true},{"functionName":"getVisibility","ranges":[{"startOffset":3593,"endOffset":3648,"count":27}],"isBlockCoverage":true},{"functionName":"isRedefinition","ranges":[{"startOffset":3653,"endOffset":3711,"count":672}],"isBlockCoverage":true},{"functionName":"isAbstract","ranges":[{"startOffset":3716,"endOffset":3766,"count":0}],"isBlockCoverage":false},{"functionName":"isStatic","ranges":[{"startOffset":3771,"endOffset":3817,"count":537}],"isBlockCoverage":true},{"functionName":"isEventHandler","ranges":[{"startOffset":3822,"endOffset":3880,"count":1}],"isBlockCoverage":true},{"functionName":"getParameters","ranges":[{"startOffset":3885,"endOffset":3940,"count":1477}],"isBlockCoverage":true},{"functionName":"getRaising","ranges":[{"startOffset":3945,"endOffset":3994,"count":70}],"isBlockCoverage":true},{"functionName":"getExceptions","ranges":[{"startOffset":3999,"endOffset":4054,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1464","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/method_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12907,"count":1}],"isBlockCoverage":true},{"functionName":"MethodParameters","ranges":[{"startOffset":882,"endOffset":1718,"count":618},{"startOffset":986,"endOffset":1088,"count":0}],"isBlockCoverage":true},{"functionName":"getFilename","ranges":[{"startOffset":1723,"endOffset":1774,"count":0}],"isBlockCoverage":false},{"functionName":"getOptional","ranges":[{"startOffset":1779,"endOffset":1830,"count":157}],"isBlockCoverage":true},{"functionName":"getAll","ranges":[{"startOffset":1835,"endOffset":2135,"count":665},{"startOffset":1940,"endOffset":1984,"count":92}],"isBlockCoverage":true},{"functionName":"getDefaultImporting","ranges":[{"startOffset":2140,"endOffset":2713,"count":107},{"startOffset":2205,"endOffset":2246,"count":0},{"startOffset":2293,"endOffset":2366,"count":102},{"startOffset":2366,"endOffset":2446,"count":5},{"startOffset":2400,"endOffset":2446,"count":3},{"startOffset":2446,"endOffset":2636,"count":2},{"startOffset":2636,"endOffset":2712,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2491,"endOffset":2521,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2563,"endOffset":2596,"count":4}],"isBlockCoverage":true},{"functionName":"getImporting","ranges":[{"startOffset":2718,"endOffset":2771,"count":1162}],"isBlockCoverage":true},{"functionName":"getRequiredParameters","ranges":[{"startOffset":2776,"endOffset":3490,"count":230},{"startOffset":2887,"endOffset":3239,"count":147},{"startOffset":2991,"endOffset":3032,"count":11},{"startOffset":3032,"endOffset":3204,"count":136},{"startOffset":3103,"endOffset":3111,"count":134},{"startOffset":3112,"endOffset":3130,"count":2},{"startOffset":3163,"endOffset":3204,"count":2},{"startOffset":3204,"endOffset":3239,"count":134},{"startOffset":3284,"endOffset":3464,"count":10},{"startOffset":3388,"endOffset":3429,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2929,"endOffset":2979,"count":17}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3326,"endOffset":3376,"count":0}],"isBlockCoverage":false},{"functionName":"getExporting","ranges":[{"startOffset":3495,"endOffset":3548,"count":674}],"isBlockCoverage":true},{"functionName":"getChanging","ranges":[{"startOffset":3553,"endOffset":3604,"count":906}],"isBlockCoverage":true},{"functionName":"getReturning","ranges":[{"startOffset":3609,"endOffset":3662,"count":875}],"isBlockCoverage":true},{"functionName":"getExceptions","ranges":[{"startOffset":3667,"endOffset":3722,"count":0}],"isBlockCoverage":false},{"functionName":"getParameterDefault","ranges":[{"startOffset":3727,"endOffset":3820,"count":2}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":3849,"endOffset":7985,"count":618},{"startOffset":4015,"endOffset":6629,"count":15},{"startOffset":4128,"endOffset":4136,"count":0},{"startOffset":4229,"endOffset":4237,"count":0},{"startOffset":4357,"endOffset":4364,"count":7},{"startOffset":4365,"endOffset":4414,"count":8},{"startOffset":4437,"endOffset":4578,"count":7},{"startOffset":4578,"endOffset":4802,"count":8},{"startOffset":4914,"endOffset":4922,"count":0},{"startOffset":5145,"endOffset":6599,"count":22},{"startOffset":5404,"endOffset":5410,"count":1},{"startOffset":5412,"endOffset":5660,"count":1},{"startOffset":5660,"endOffset":5725,"count":21},{"startOffset":5726,"endOffset":5734,"count":15},{"startOffset":5735,"endOffset":5806,"count":6},{"startOffset":5835,"endOffset":6032,"count":6},{"startOffset":6032,"endOffset":6585,"count":15},{"startOffset":6276,"endOffset":6585,"count":0},{"startOffset":6629,"endOffset":6737,"count":603},{"startOffset":6737,"endOffset":7170,"count":245},{"startOffset":6925,"endOffset":7160,"count":3},{"startOffset":7061,"endOffset":7146,"count":1},{"startOffset":7170,"endOffset":7278,"count":603},{"startOffset":7278,"endOffset":7413,"count":14},{"startOffset":7413,"endOffset":7518,"count":603},{"startOffset":7518,"endOffset":7649,"count":13},{"startOffset":7649,"endOffset":7757,"count":603},{"startOffset":7757,"endOffset":7926,"count":82},{"startOffset":7926,"endOffset":7984,"count":603}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5764,"endOffset":5805,"count":7}],"isBlockCoverage":true},{"functionName":"workaroundRAP","ranges":[{"startOffset":7990,"endOffset":10757,"count":603},{"startOffset":8184,"endOffset":9681,"count":0},{"startOffset":9706,"endOffset":9964,"count":0},{"startOffset":10066,"endOffset":10751,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10119,"endOffset":10250,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10455,"endOffset":10586,"count":0}],"isBlockCoverage":false},{"functionName":"add","ranges":[{"startOffset":10762,"endOffset":12814,"count":272},{"startOffset":11027,"endOffset":11068,"count":0},{"startOffset":11172,"endOffset":11275,"count":9},{"startOffset":11228,"endOffset":11236,"count":0},{"startOffset":11277,"endOffset":11374,"count":5},{"startOffset":11374,"endOffset":11551,"count":267},{"startOffset":11461,"endOffset":11551,"count":254},{"startOffset":11593,"endOffset":11682,"count":5},{"startOffset":11912,"endOffset":12049,"count":10},{"startOffset":12049,"endOffset":12523,"count":262},{"startOffset":12117,"endOffset":12523,"count":12},{"startOffset":12347,"endOffset":12355,"count":0},{"startOffset":12565,"endOffset":12596,"count":258},{"startOffset":12596,"endOffset":12813,"count":14}],"isBlockCoverage":true}]},{"scriptId":"1465","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_def_returning.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1589,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":424,"endOffset":1489,"count":82},{"startOffset":564,"endOffset":690,"count":0},{"startOffset":794,"endOffset":900,"count":0},{"startOffset":1022,"endOffset":1030,"count":0},{"startOffset":1062,"endOffset":1165,"count":2},{"startOffset":1307,"endOffset":1483,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1466","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_param.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2321,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":518,"endOffset":2243,"count":293},{"startOffset":658,"endOffset":776,"count":0},{"startOffset":880,"endOffset":978,"count":0},{"startOffset":1064,"endOffset":1355,"count":12},{"startOffset":1173,"endOffset":1345,"count":0},{"startOffset":1446,"endOffset":1477,"count":282},{"startOffset":1479,"endOffset":1630,"count":14},{"startOffset":1630,"endOffset":1844,"count":279},{"startOffset":1668,"endOffset":1699,"count":277},{"startOffset":1701,"endOffset":1844,"count":2},{"startOffset":1844,"endOffset":2061,"count":277},{"startOffset":2061,"endOffset":2237,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1467","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/default.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":843,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":323,"endOffset":778,"count":12},{"startOffset":440,"endOffset":572,"count":11},{"startOffset":572,"endOffset":746,"count":1},{"startOffset":746,"endOffset":777,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1468","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/constant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1012,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":236,"endOffset":944,"count":1096},{"startOffset":367,"endOffset":453,"count":673},{"startOffset":453,"endOffset":542,"count":423},{"startOffset":542,"endOffset":742,"count":415},{"startOffset":610,"endOffset":650,"count":6},{"startOffset":742,"endOffset":938,"count":8},{"startOffset":868,"endOffset":938,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1469","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/event_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1404,"count":1}],"isBlockCoverage":true},{"functionName":"EventDefinition","ranges":[{"startOffset":497,"endOffset":1023,"count":12},{"startOffset":591,"endOffset":693,"count":0},{"startOffset":798,"endOffset":900,"count":0}],"isBlockCoverage":true},{"functionName":"getParameters","ranges":[{"startOffset":1028,"endOffset":1083,"count":17}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":1108,"endOffset":1314,"count":12},{"startOffset":1205,"endOffset":1308,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1470","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_chain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5597,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":575,"endOffset":5510,"count":88},{"startOffset":644,"endOffset":685,"count":18},{"startOffset":685,"endOffset":781,"count":70},{"startOffset":781,"endOffset":5480,"count":86},{"startOffset":839,"endOffset":880,"count":76},{"startOffset":882,"endOffset":929,"count":10},{"startOffset":929,"endOffset":993,"count":76},{"startOffset":993,"endOffset":1047,"count":60},{"startOffset":1049,"endOffset":1090,"count":24},{"startOffset":1090,"endOffset":5470,"count":52},{"startOffset":1160,"endOffset":2595,"count":8},{"startOffset":1251,"endOffset":1652,"count":0},{"startOffset":1695,"endOffset":2093,"count":0},{"startOffset":2212,"endOffset":2258,"count":2},{"startOffset":2260,"endOffset":2563,"count":0},{"startOffset":2595,"endOffset":5470,"count":44},{"startOffset":2782,"endOffset":2946,"count":2},{"startOffset":2871,"endOffset":2928,"count":1},{"startOffset":2946,"endOffset":3018,"count":43},{"startOffset":3018,"endOffset":3470,"count":36},{"startOffset":3131,"endOffset":3452,"count":2},{"startOffset":3470,"endOffset":5456,"count":7},{"startOffset":3544,"endOffset":5066,"count":6},{"startOffset":3725,"endOffset":4031,"count":0},{"startOffset":4257,"endOffset":4265,"count":2},{"startOffset":4266,"endOffset":4283,"count":4},{"startOffset":4332,"endOffset":4640,"count":2},{"startOffset":4640,"endOffset":5048,"count":4},{"startOffset":4832,"endOffset":4840,"count":0},{"startOffset":5066,"endOffset":5456,"count":1},{"startOffset":5204,"endOffset":5212,"count":0},{"startOffset":5480,"endOffset":5509,"count":55}],"isBlockCoverage":true}]},{"scriptId":"1471","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/string_template.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2953,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":386,"endOffset":2866,"count":179},{"startOffset":621,"endOffset":2840,"count":49},{"startOffset":811,"endOffset":1071,"count":0},{"startOffset":1131,"endOffset":1169,"count":4},{"startOffset":1187,"endOffset":1227,"count":48},{"startOffset":1229,"endOffset":1525,"count":3},{"startOffset":1525,"endOffset":1697,"count":46},{"startOffset":1698,"endOffset":1706,"count":38},{"startOffset":1707,"endOffset":1730,"count":8},{"startOffset":1788,"endOffset":1808,"count":46},{"startOffset":1809,"endOffset":1817,"count":38},{"startOffset":1818,"endOffset":1865,"count":8},{"startOffset":1867,"endOffset":1872,"count":38},{"startOffset":1874,"endOffset":1959,"count":0},{"startOffset":1959,"endOffset":1999,"count":46},{"startOffset":1999,"endOffset":2097,"count":8},{"startOffset":2052,"endOffset":2060,"count":0},{"startOffset":2114,"endOffset":2155,"count":8},{"startOffset":2172,"endOffset":2210,"count":8},{"startOffset":2227,"endOffset":2267,"count":6},{"startOffset":2284,"endOffset":2323,"count":6},{"startOffset":2340,"endOffset":2383,"count":6},{"startOffset":2400,"endOffset":2448,"count":1},{"startOffset":2465,"endOffset":2506,"count":1},{"startOffset":2523,"endOffset":2560,"count":1},{"startOffset":2562,"endOffset":2830,"count":1},{"startOffset":2840,"endOffset":2865,"count":175}],"isBlockCoverage":true}]},{"scriptId":"1472","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/value_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4001,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":449,"endOffset":3929,"count":167},{"startOffset":534,"endOffset":576,"count":52},{"startOffset":576,"endOffset":697,"count":115},{"startOffset":697,"endOffset":775,"count":9},{"startOffset":775,"endOffset":877,"count":115},{"startOffset":877,"endOffset":882,"count":0},{"startOffset":884,"endOffset":1043,"count":34},{"startOffset":989,"endOffset":1033,"count":33},{"startOffset":1043,"endOffset":1159,"count":114},{"startOffset":1159,"endOffset":1808,"count":48},{"startOffset":1355,"endOffset":1363,"count":0},{"startOffset":1471,"endOffset":1745,"count":1},{"startOffset":1745,"endOffset":1798,"count":47},{"startOffset":1808,"endOffset":1981,"count":113},{"startOffset":1981,"endOffset":2060,"count":26},{"startOffset":2060,"endOffset":2142,"count":113},{"startOffset":2142,"endOffset":3519,"count":76},{"startOffset":2219,"endOffset":2266,"count":18},{"startOffset":2283,"endOffset":2326,"count":18},{"startOffset":2343,"endOffset":2370,"count":18},{"startOffset":2387,"endOffset":2431,"count":4},{"startOffset":2433,"endOffset":2690,"count":0},{"startOffset":2786,"endOffset":2852,"count":58},{"startOffset":2936,"endOffset":3163,"count":4},{"startOffset":3015,"endOffset":3149,"count":5},{"startOffset":3248,"endOffset":3350,"count":47},{"startOffset":3426,"endOffset":3509,"count":39},{"startOffset":3519,"endOffset":3552,"count":113},{"startOffset":3552,"endOffset":3622,"count":9},{"startOffset":3622,"endOffset":3667,"count":113},{"startOffset":3667,"endOffset":3737,"count":33},{"startOffset":3737,"endOffset":3795,"count":113},{"startOffset":3796,"endOffset":3804,"count":26},{"startOffset":3805,"endOffset":3829,"count":87},{"startOffset":3831,"endOffset":3838,"count":1},{"startOffset":3840,"endOffset":3876,"count":1},{"startOffset":3876,"endOffset":3903,"count":112},{"startOffset":3903,"endOffset":3915,"count":86},{"startOffset":3916,"endOffset":3922,"count":26}],"isBlockCoverage":true}]},{"scriptId":"1473","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/for.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2849,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":690,"endOffset":2796,"count":76},{"startOffset":1040,"endOffset":1048,"count":69},{"startOffset":1049,"endOffset":1069,"count":7},{"startOffset":1195,"endOffset":1220,"count":31},{"startOffset":1233,"endOffset":1254,"count":7},{"startOffset":1267,"endOffset":1295,"count":6},{"startOffset":1567,"endOffset":1663,"count":45},{"startOffset":1663,"endOffset":1701,"count":75},{"startOffset":1701,"endOffset":1799,"count":24},{"startOffset":1799,"endOffset":1839,"count":75},{"startOffset":1839,"endOffset":2246,"count":7},{"startOffset":2246,"endOffset":2319,"count":75},{"startOffset":2319,"endOffset":2385,"count":14},{"startOffset":2385,"endOffset":2465,"count":75},{"startOffset":2465,"endOffset":2546,"count":2},{"startOffset":2546,"endOffset":2617,"count":75},{"startOffset":2617,"endOffset":2679,"count":24},{"startOffset":2679,"endOffset":2698,"count":75},{"startOffset":2698,"endOffset":2767,"count":4},{"startOffset":2767,"endOffset":2795,"count":75}],"isBlockCoverage":true}]},{"scriptId":"1474","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/inline_field_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2228,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":583,"endOffset":2119,"count":101},{"startOffset":766,"endOffset":774,"count":0},{"startOffset":830,"endOffset":871,"count":0},{"startOffset":962,"endOffset":1040,"count":99},{"startOffset":1137,"endOffset":1224,"count":2},{"startOffset":1263,"endOffset":1305,"count":47},{"startOffset":1338,"endOffset":1435,"count":0},{"startOffset":1531,"endOffset":1782,"count":1},{"startOffset":1782,"endOffset":2118,"count":100}],"isBlockCoverage":true}]},{"scriptId":"1475","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/inline_loop_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3106,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":466,"endOffset":3000,"count":45},{"startOffset":523,"endOffset":554,"count":0},{"startOffset":662,"endOffset":752,"count":5},{"startOffset":1028,"endOffset":1094,"count":39},{"startOffset":1094,"endOffset":1494,"count":6},{"startOffset":1156,"endOffset":1209,"count":5},{"startOffset":1209,"endOffset":1494,"count":1},{"startOffset":1274,"endOffset":1494,"count":0},{"startOffset":1549,"endOffset":1608,"count":1},{"startOffset":1625,"endOffset":1652,"count":1},{"startOffset":1654,"endOffset":1707,"count":1},{"startOffset":1707,"endOffset":1972,"count":44},{"startOffset":1752,"endOffset":1972,"count":0},{"startOffset":2557,"endOffset":2606,"count":4},{"startOffset":2608,"endOffset":2994,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1476","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_cond.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":819,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":258,"endOffset":735,"count":16},{"startOffset":371,"endOffset":553,"count":0},{"startOffset":636,"endOffset":729,"count":18}],"isBlockCoverage":true}]},{"scriptId":"1477","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_compare.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1013,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":351,"endOffset":920,"count":33},{"startOffset":498,"endOffset":697,"count":0},{"startOffset":848,"endOffset":914,"count":31}],"isBlockCoverage":true}]},{"scriptId":"1478","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/cond.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":680,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":220,"endOffset":624,"count":206},{"startOffset":318,"endOffset":476,"count":1},{"startOffset":550,"endOffset":618,"count":221}],"isBlockCoverage":true}]},{"scriptId":"1479","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/compare.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":924,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":348,"endOffset":859,"count":221},{"startOffset":445,"endOffset":511,"count":397},{"startOffset":595,"endOffset":685,"count":1},{"startOffset":767,"endOffset":853,"count":17}],"isBlockCoverage":true}]},{"scriptId":"1480","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/source_field_symbol.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":989,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":289,"endOffset":892,"count":80},{"startOffset":455,"endOffset":744,"count":2},{"startOffset":744,"endOffset":891,"count":78}],"isBlockCoverage":true}]},{"scriptId":"1481","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/let.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":837,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":299,"endOffset":784,"count":26},{"startOffset":375,"endOffset":412,"count":0},{"startOffset":445,"endOffset":571,"count":22},{"startOffset":659,"endOffset":757,"count":30}],"isBlockCoverage":true}]},{"scriptId":"1482","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/field_assignment.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2028,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":339,"endOffset":1938,"count":95},{"startOffset":486,"endOffset":692,"count":0},{"startOffset":787,"endOffset":991,"count":0},{"startOffset":1079,"endOffset":1775,"count":71},{"startOffset":1171,"endOffset":1737,"count":73},{"startOffset":1253,"endOffset":1296,"count":72},{"startOffset":1298,"endOffset":1723,"count":72},{"startOffset":1410,"endOffset":1448,"count":2},{"startOffset":1450,"endOffset":1705,"count":2},{"startOffset":1737,"endOffset":1775,"count":69},{"startOffset":1775,"endOffset":1875,"count":24},{"startOffset":1833,"endOffset":1875,"count":8},{"startOffset":1875,"endOffset":1937,"count":93}],"isBlockCoverage":true}]},{"scriptId":"1483","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/reduce_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2604,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":529,"endOffset":2529,"count":41},{"startOffset":598,"endOffset":629,"count":0},{"startOffset":747,"endOffset":822,"count":3},{"startOffset":941,"endOffset":1596,"count":47},{"startOffset":977,"endOffset":1142,"count":38},{"startOffset":1278,"endOffset":1381,"count":45},{"startOffset":1540,"endOffset":1586,"count":41},{"startOffset":1698,"endOffset":1703,"count":0},{"startOffset":1705,"endOffset":1864,"count":42},{"startOffset":1937,"endOffset":2003,"count":0},{"startOffset":2300,"endOffset":2370,"count":42},{"startOffset":2427,"endOffset":2523,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1484","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/reduce_next.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":721,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":268,"endOffset":646,"count":41},{"startOffset":325,"endOffset":356,"count":0},{"startOffset":429,"endOffset":495,"count":47},{"startOffset":574,"endOffset":640,"count":47}],"isBlockCoverage":true}]},{"scriptId":"1485","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/switch_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1236,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":329,"endOffset":1161,"count":10},{"startOffset":386,"endOffset":417,"count":0},{"startOffset":544,"endOffset":552,"count":0},{"startOffset":605,"endOffset":846,"count":0},{"startOffset":992,"endOffset":1134,"count":49},{"startOffset":1028,"endOffset":1069,"count":10},{"startOffset":1069,"endOffset":1134,"count":39}],"isBlockCoverage":true}]},{"scriptId":"1486","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/cond_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1218,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":292,"endOffset":1149,"count":32},{"startOffset":349,"endOffset":390,"count":0},{"startOffset":496,"endOffset":565,"count":10},{"startOffset":636,"endOffset":698,"count":34},{"startOffset":801,"endOffset":1022,"count":57},{"startOffset":839,"endOffset":920,"count":30},{"startOffset":920,"endOffset":1012,"count":27},{"startOffset":1052,"endOffset":1122,"count":10}],"isBlockCoverage":true}]},{"scriptId":"1487","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/conv_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1167,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":357,"endOffset":1098,"count":20},{"startOffset":487,"endOffset":556,"count":0},{"startOffset":651,"endOffset":895,"count":0},{"startOffset":995,"endOffset":1065,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1488","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/filter_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":787,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":230,"endOffset":712,"count":5},{"startOffset":299,"endOffset":341,"count":0},{"startOffset":563,"endOffset":655,"count":0},{"startOffset":693,"endOffset":705,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1489","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/corresponding_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":828,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":244,"endOffset":732,"count":11},{"startOffset":313,"endOffset":355,"count":0},{"startOffset":458,"endOffset":679,"count":15},{"startOffset":577,"endOffset":669,"count":0},{"startOffset":706,"endOffset":718,"count":10},{"startOffset":719,"endOffset":725,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1490","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/attribute_chain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2715,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":458,"endOffset":2628,"count":4},{"startOffset":561,"endOffset":605,"count":0},{"startOffset":695,"endOffset":920,"count":0},{"startOffset":1076,"endOffset":1300,"count":0},{"startOffset":1420,"endOffset":1737,"count":0},{"startOffset":1999,"endOffset":2070,"count":0},{"startOffset":2106,"endOffset":2395,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1491","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/dereference.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":955,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":230,"endOffset":878,"count":13},{"startOffset":318,"endOffset":352,"count":12},{"startOffset":365,"endOffset":400,"count":10},{"startOffset":413,"endOffset":434,"count":9},{"startOffset":447,"endOffset":485,"count":9},{"startOffset":487,"endOffset":523,"count":4},{"startOffset":523,"endOffset":578,"count":9},{"startOffset":578,"endOffset":841,"count":0},{"startOffset":841,"endOffset":877,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1492","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/source_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1303,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":277,"endOffset":1225,"count":1811},{"startOffset":490,"endOffset":796,"count":157},{"startOffset":796,"endOffset":933,"count":1654},{"startOffset":933,"endOffset":1187,"count":4},{"startOffset":1187,"endOffset":1224,"count":1654}],"isBlockCoverage":true}]},{"scriptId":"1493","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/type_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2031,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":458,"endOffset":1959,"count":539},{"startOffset":698,"endOffset":791,"count":144},{"startOffset":828,"endOffset":869,"count":0},{"startOffset":965,"endOffset":970,"count":529},{"startOffset":1041,"endOffset":1367,"count":144},{"startOffset":1200,"endOffset":1262,"count":109},{"startOffset":1264,"endOffset":1357,"count":41},{"startOffset":1488,"endOffset":1629,"count":0},{"startOffset":1629,"endOffset":1706,"count":537},{"startOffset":1706,"endOffset":1869,"count":408},{"startOffset":1814,"endOffset":1859,"count":2},{"startOffset":1869,"endOffset":1958,"count":537}],"isBlockCoverage":true}]},{"scriptId":"1494","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/type_table_key.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1082,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":242,"endOffset":1000,"count":408},{"startOffset":420,"endOffset":958,"count":174},{"startOffset":501,"endOffset":944,"count":31},{"startOffset":688,"endOffset":739,"count":30},{"startOffset":764,"endOffset":804,"count":3},{"startOffset":806,"endOffset":926,"count":2},{"startOffset":944,"endOffset":958,"count":172},{"startOffset":968,"endOffset":999,"count":406}],"isBlockCoverage":true}]},{"scriptId":"1495","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/class_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1410,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":463,"endOffset":1338,"count":4},{"startOffset":686,"endOffset":1169,"count":12},{"startOffset":814,"endOffset":1107,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1496","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1660,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":484,"endOffset":1604,"count":1954},{"startOffset":788,"endOffset":804,"count":1950},{"startOffset":805,"endOffset":813,"count":0},{"startOffset":814,"endOffset":840,"count":1950},{"startOffset":867,"endOffset":949,"count":3},{"startOffset":900,"endOffset":908,"count":0},{"startOffset":951,"endOffset":1361,"count":3},{"startOffset":1059,"endOffset":1067,"count":0},{"startOffset":1361,"endOffset":1394,"count":1947},{"startOffset":1394,"endOffset":1603,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1497","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/constant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1267,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":404,"endOffset":1199,"count":199},{"startOffset":841,"endOffset":1198,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1498","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4879,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":602,"endOffset":4823,"count":75},{"startOffset":863,"endOffset":4341,"count":247},{"startOffset":950,"endOffset":984,"count":246},{"startOffset":986,"endOffset":1352,"count":92},{"startOffset":1229,"endOffset":1320,"count":2},{"startOffset":1352,"endOffset":4331,"count":155},{"startOffset":1409,"endOffset":1443,"count":1},{"startOffset":1445,"endOffset":1656,"count":1},{"startOffset":1656,"endOffset":4331,"count":154},{"startOffset":1754,"endOffset":1878,"count":75},{"startOffset":1811,"endOffset":1864,"count":14},{"startOffset":1878,"endOffset":4331,"count":79},{"startOffset":1978,"endOffset":4331,"count":8},{"startOffset":2119,"endOffset":2127,"count":0},{"startOffset":2226,"endOffset":2234,"count":0},{"startOffset":2362,"endOffset":2447,"count":5},{"startOffset":2515,"endOffset":2523,"count":3},{"startOffset":2524,"endOffset":2543,"count":5},{"startOffset":2586,"endOffset":2918,"count":3},{"startOffset":2748,"endOffset":2816,"count":0},{"startOffset":2918,"endOffset":3083,"count":5},{"startOffset":3137,"endOffset":3594,"count":3},{"startOffset":3179,"endOffset":3426,"count":2},{"startOffset":3426,"endOffset":3576,"count":1},{"startOffset":3594,"endOffset":3651,"count":5},{"startOffset":3651,"endOffset":3812,"count":0},{"startOffset":3812,"endOffset":3874,"count":5},{"startOffset":3874,"endOffset":4202,"count":1},{"startOffset":4202,"endOffset":4331,"count":4},{"startOffset":4341,"endOffset":4370,"count":71},{"startOffset":4370,"endOffset":4580,"count":12},{"startOffset":4580,"endOffset":4817,"count":59},{"startOffset":4651,"endOffset":4659,"count":1},{"startOffset":4660,"endOffset":4671,"count":58}],"isBlockCoverage":true}]},{"scriptId":"1499","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/type_enum.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3883,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":633,"endOffset":3814,"count":14},{"startOffset":783,"endOffset":873,"count":0},{"startOffset":981,"endOffset":1078,"count":0},{"startOffset":1272,"endOffset":1313,"count":0},{"startOffset":1627,"endOffset":2028,"count":9},{"startOffset":1749,"endOffset":1790,"count":0},{"startOffset":2126,"endOffset":2134,"count":10},{"startOffset":2135,"endOffset":2155,"count":4},{"startOffset":2223,"endOffset":2231,"count":10},{"startOffset":2232,"endOffset":2251,"count":4},{"startOffset":2274,"endOffset":2285,"count":4},{"startOffset":2287,"endOffset":2512,"count":4},{"startOffset":2370,"endOffset":2502,"count":3},{"startOffset":2765,"endOffset":2827,"count":11},{"startOffset":2829,"endOffset":2922,"count":5},{"startOffset":3313,"endOffset":3774,"count":6},{"startOffset":3386,"endOffset":3533,"count":13}],"isBlockCoverage":true}]},{"scriptId":"1500","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/enum_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":544,"count":1}],"isBlockCoverage":true},{"functionName":"toText","ranges":[{"startOffset":217,"endOffset":256,"count":1}],"isBlockCoverage":true},{"functionName":"isGeneric","ranges":[{"startOffset":261,"endOffset":302,"count":8}],"isBlockCoverage":true},{"functionName":"toABAP","ranges":[{"startOffset":307,"endOffset":373,"count":0}],"isBlockCoverage":false},{"functionName":"containsVoid","ranges":[{"startOffset":378,"endOffset":422,"count":1}],"isBlockCoverage":true},{"functionName":"toCDS","ranges":[{"startOffset":427,"endOffset":475,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1501","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/constants.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2213,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":571,"endOffset":2142,"count":19},{"startOffset":719,"endOffset":727,"count":0},{"startOffset":782,"endOffset":884,"count":0},{"startOffset":987,"endOffset":1802,"count":66},{"startOffset":1074,"endOffset":1112,"count":65},{"startOffset":1114,"endOffset":1404,"count":27},{"startOffset":1404,"endOffset":1792,"count":39},{"startOffset":1461,"endOffset":1500,"count":1},{"startOffset":1502,"endOffset":1792,"count":1},{"startOffset":1840,"endOffset":1899,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1502","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/type_definitions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":671,"count":1}],"isBlockCoverage":true},{"functionName":"TypeDefinitions","ranges":[{"startOffset":139,"endOffset":393,"count":1390},{"startOffset":238,"endOffset":387,"count":237}],"isBlockCoverage":true},{"functionName":"getAll","ranges":[{"startOffset":398,"endOffset":440,"count":1986}],"isBlockCoverage":true},{"functionName":"getByName","ranges":[{"startOffset":445,"endOffset":581,"count":107},{"startOffset":556,"endOffset":564,"count":20},{"startOffset":565,"endOffset":574,"count":87}],"isBlockCoverage":true}]},{"scriptId":"1503","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2929,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":661,"endOffset":2870,"count":366},{"startOffset":912,"endOffset":961,"count":358},{"startOffset":1006,"endOffset":2198,"count":1428},{"startOffset":1094,"endOffset":1839,"count":1420},{"startOffset":1149,"endOffset":1430,"count":673},{"startOffset":1430,"endOffset":1825,"count":747},{"startOffset":1496,"endOffset":1825,"count":15},{"startOffset":1645,"endOffset":1707,"count":4},{"startOffset":1707,"endOffset":1807,"count":11},{"startOffset":1839,"endOffset":2188,"count":8},{"startOffset":2218,"endOffset":2318,"count":4},{"startOffset":2318,"endOffset":2429,"count":362},{"startOffset":2361,"endOffset":2429,"count":0},{"startOffset":2429,"endOffset":2585,"count":362},{"startOffset":2585,"endOffset":2647,"count":303},{"startOffset":2649,"endOffset":2734,"count":85},{"startOffset":2734,"endOffset":2869,"count":362}],"isBlockCoverage":true}]},{"scriptId":"1504","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/include_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2964,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":463,"endOffset":2886,"count":15},{"startOffset":642,"endOffset":745,"count":0},{"startOffset":960,"endOffset":968,"count":8},{"startOffset":969,"endOffset":988,"count":7},{"startOffset":1005,"endOffset":1045,"count":7},{"startOffset":1047,"endOffset":1255,"count":6},{"startOffset":1352,"endOffset":1360,"count":13},{"startOffset":1361,"endOffset":1380,"count":2},{"startOffset":1401,"endOffset":1441,"count":2},{"startOffset":1443,"endOffset":1947,"count":2},{"startOffset":1530,"endOffset":1879,"count":4},{"startOffset":1567,"endOffset":1879,"count":2},{"startOffset":2044,"endOffset":2094,"count":0},{"startOffset":2096,"endOffset":2202,"count":0},{"startOffset":2267,"endOffset":2332,"count":11},{"startOffset":2332,"endOffset":2853,"count":4},{"startOffset":2428,"endOffset":2853,"count":0},{"startOffset":2853,"endOffset":2885,"count":11}],"isBlockCoverage":true}]},{"scriptId":"1505","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2457,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":457,"endOffset":2401,"count":972},{"startOffset":587,"endOffset":691,"count":144},{"startOffset":691,"endOffset":2106,"count":828},{"startOffset":862,"endOffset":870,"count":0},{"startOffset":927,"endOffset":1018,"count":1},{"startOffset":966,"endOffset":974,"count":0},{"startOffset":1020,"endOffset":1384,"count":1},{"startOffset":1384,"endOffset":1426,"count":827},{"startOffset":1426,"endOffset":1474,"count":112},{"startOffset":1476,"endOffset":2070,"count":6},{"startOffset":1593,"endOffset":1623,"count":3},{"startOffset":2070,"endOffset":2106,"count":821},{"startOffset":2106,"endOffset":2400,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1506","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/alias.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":562,"count":1}],"isBlockCoverage":true},{"functionName":"Alias","ranges":[{"startOffset":220,"endOffset":385,"count":26}],"isBlockCoverage":true},{"functionName":"getComponent","ranges":[{"startOffset":390,"endOffset":443,"count":30}],"isBlockCoverage":true},{"functionName":"getVisibility","ranges":[{"startOffset":448,"endOffset":503,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1507","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1499,"count":1}],"isBlockCoverage":true},{"functionName":"ClassImplementation","ranges":[{"startOffset":492,"endOffset":876,"count":0}],"isBlockCoverage":false},{"functionName":"getMethodImplementations","ranges":[{"startOffset":881,"endOffset":1143,"count":0}],"isBlockCoverage":false},{"functionName":"getMethodImplementation","ranges":[{"startOffset":1148,"endOffset":1397,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1508","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/method_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":929,"count":1}],"isBlockCoverage":true},{"functionName":"MethodImplementation","ranges":[{"startOffset":368,"endOffset":824,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1509","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/form_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3716,"count":1}],"isBlockCoverage":true},{"functionName":"FormDefinition","ranges":[{"startOffset":602,"endOffset":1303,"count":376},{"startOffset":686,"endOffset":728,"count":188},{"startOffset":729,"endOffset":735,"count":188}],"isBlockCoverage":true},{"functionName":"getTablesParameters","ranges":[{"startOffset":1308,"endOffset":1374,"count":188}],"isBlockCoverage":true},{"functionName":"getUsingParameters","ranges":[{"startOffset":1379,"endOffset":1444,"count":191}],"isBlockCoverage":true},{"functionName":"getChangingParameters","ranges":[{"startOffset":1449,"endOffset":1520,"count":188}],"isBlockCoverage":true},{"functionName":"findTables","ranges":[{"startOffset":1545,"endOffset":3153,"count":376},{"startOffset":1701,"endOffset":1735,"count":364},{"startOffset":1735,"endOffset":3127,"count":12},{"startOffset":1866,"endOffset":2124,"count":2},{"startOffset":2124,"endOffset":3117,"count":10},{"startOffset":2389,"endOffset":2525,"count":6},{"startOffset":2581,"endOffset":2730,"count":8},{"startOffset":2730,"endOffset":2945,"count":2},{"startOffset":2835,"endOffset":2945,"count":0},{"startOffset":3127,"endOffset":3152,"count":12}],"isBlockCoverage":true},{"functionName":"findType","ranges":[{"startOffset":3158,"endOffset":3360,"count":752},{"startOffset":3274,"endOffset":3308,"count":716},{"startOffset":3308,"endOffset":3359,"count":36}],"isBlockCoverage":true},{"functionName":"findParams","ranges":[{"startOffset":3365,"endOffset":3629,"count":36},{"startOffset":3491,"endOffset":3603,"count":40}],"isBlockCoverage":true}]},{"scriptId":"1510","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/form_param.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2382,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":408,"endOffset":2310,"count":50},{"startOffset":570,"endOffset":578,"count":0},{"startOffset":653,"endOffset":665,"count":10},{"startOffset":667,"endOffset":1463,"count":10},{"startOffset":822,"endOffset":830,"count":0},{"startOffset":1011,"endOffset":1019,"count":8},{"startOffset":1020,"endOffset":1034,"count":2},{"startOffset":1076,"endOffset":1178,"count":8},{"startOffset":1192,"endOffset":1305,"count":0},{"startOffset":1463,"endOffset":1508,"count":40},{"startOffset":1508,"endOffset":1520,"count":20},{"startOffset":1522,"endOffset":1844,"count":20},{"startOffset":1846,"endOffset":2007,"count":20},{"startOffset":2007,"endOffset":2309,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1511","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/function_module_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3861,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":250,"endOffset":549,"count":1}],"isBlockCoverage":true},{"functionName":"FunctionModuleDefinition","ranges":[{"startOffset":709,"endOffset":760,"count":15}],"isBlockCoverage":true},{"functionName":"getParameters","ranges":[{"startOffset":765,"endOffset":820,"count":8}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":825,"endOffset":882,"count":3}],"isBlockCoverage":true},{"functionName":"getName","ranges":[{"startOffset":887,"endOffset":930,"count":23}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":955,"endOffset":3743,"count":15},{"startOffset":1010,"endOffset":1084,"count":0},{"startOffset":1219,"endOffset":1823,"count":6},{"startOffset":1301,"endOffset":1813,"count":9},{"startOffset":1354,"endOffset":1465,"count":0},{"startOffset":1659,"endOffset":1675,"count":0},{"startOffset":1851,"endOffset":2455,"count":0},{"startOffset":2481,"endOffset":3063,"count":1},{"startOffset":2616,"endOffset":2727,"count":0},{"startOffset":2921,"endOffset":2937,"count":0},{"startOffset":3089,"endOffset":3737,"count":2},{"startOffset":3224,"endOffset":3332,"count":0},{"startOffset":3581,"endOffset":3593,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1512","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/interface_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5218,"count":1}],"isBlockCoverage":true},{"functionName":"InterfaceDefinition","ranges":[{"startOffset":782,"endOffset":1540,"count":271},{"startOffset":868,"endOffset":953,"count":0}],"isBlockCoverage":true},{"functionName":"getSuperClass","ranges":[{"startOffset":1545,"endOffset":1594,"count":22}],"isBlockCoverage":true},{"functionName":"getImplementing","ranges":[{"startOffset":1599,"endOffset":1658,"count":200}],"isBlockCoverage":true},{"functionName":"getAliases","ranges":[{"startOffset":1663,"endOffset":1712,"count":26}],"isBlockCoverage":true},{"functionName":"getEvents","ranges":[{"startOffset":1717,"endOffset":1764,"count":135}],"isBlockCoverage":true},{"functionName":"getAttributes","ranges":[{"startOffset":1769,"endOffset":1824,"count":637}],"isBlockCoverage":true},{"functionName":"getTypeDefinitions","ranges":[{"startOffset":1829,"endOffset":1894,"count":267}],"isBlockCoverage":true},{"functionName":"isLocal","ranges":[{"startOffset":1899,"endOffset":1950,"count":0}],"isBlockCoverage":false},{"functionName":"isGlobal","ranges":[{"startOffset":1955,"endOffset":2006,"count":40}],"isBlockCoverage":true},{"functionName":"getMethodDefinitions","ranges":[{"startOffset":2011,"endOffset":2080,"count":215}],"isBlockCoverage":true},{"functionName":"checkInterfacesExists","ranges":[{"startOffset":2107,"endOffset":3221,"count":271},{"startOffset":2233,"endOffset":3215,"count":30},{"startOffset":2344,"endOffset":2352,"count":0},{"startOffset":2435,"endOffset":2443,"count":0},{"startOffset":2650,"endOffset":2843,"count":23},{"startOffset":2843,"endOffset":3191,"count":7},{"startOffset":2925,"endOffset":3079,"count":4},{"startOffset":3079,"endOffset":3191,"count":3},{"startOffset":3215,"endOffset":3220,"count":268}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":3226,"endOffset":5116,"count":271},{"startOffset":4735,"endOffset":4858,"count":7},{"startOffset":4858,"endOffset":5024,"count":260},{"startOffset":5024,"endOffset":5110,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1513","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_model_metadata.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":586,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":249,"endOffset":289,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":294,"endOffset":409,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":414,"endOffset":480,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1514","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_model.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":233,"endOffset":273,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":278,"endOffset":393,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":398,"endOffset":464,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1515","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_project.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1516","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_service_groups_metadata.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":627,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":265,"endOffset":305,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":310,"endOffset":425,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":430,"endOffset":496,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1517","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_service.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1518","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_vocabulary_annotation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":621,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":263,"endOffset":303,"count":2}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":308,"endOffset":423,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":428,"endOffset":494,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1519","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/general_hierarchy_storage_extrension_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":673,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":283,"endOffset":323,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":328,"endOffset":443,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":448,"endOffset":514,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1520","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/general_storage_structure.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":601,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":255,"endOffset":295,"count":2}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":300,"endOffset":415,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":420,"endOffset":486,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1521","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/general_text.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":276,"endOffset":391,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":396,"endOffset":462,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1522","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/http_service.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":541,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":276,"endOffset":392,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":397,"endOffset":463,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1523","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iac_binary_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":552,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":235,"endOffset":275,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":280,"endOffset":396,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":401,"endOffset":467,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1524","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iac_language_resource.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":582,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":247,"endOffset":287,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":292,"endOffset":408,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":413,"endOffset":479,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1525","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iac_service.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":229,"endOffset":269,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":274,"endOffset":389,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":394,"endOffset":460,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1526","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iac_template.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":541,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":276,"endOffset":392,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":397,"endOffset":463,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1527","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iam_app.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":516,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":221,"endOffset":261,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":266,"endOffset":382,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":387,"endOffset":453,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1528","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/icf_service.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1873,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":274,"endOffset":314,"count":16}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":319,"endOffset":435,"count":1}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":440,"endOffset":520,"count":5}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":525,"endOffset":591,"count":0}],"isBlockCoverage":false},{"functionName":"getURL","ranges":[{"startOffset":596,"endOffset":732,"count":1},{"startOffset":708,"endOffset":716,"count":0}],"isBlockCoverage":true},{"functionName":"getHandlerList","ranges":[{"startOffset":737,"endOffset":886,"count":4},{"startOffset":857,"endOffset":865,"count":0}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":891,"endOffset":1798,"count":8},{"startOffset":929,"endOffset":991,"count":3},{"startOffset":991,"endOffset":1173,"count":5},{"startOffset":1186,"endOffset":1243,"count":3},{"startOffset":1245,"endOffset":1307,"count":2},{"startOffset":1307,"endOffset":1797,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1529","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/idoc_extension.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":551,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":235,"endOffset":275,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":280,"endOffset":396,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":401,"endOffset":467,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1530","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/idoc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":504,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":217,"endOffset":257,"count":15}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":262,"endOffset":377,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":382,"endOffset":448,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1531","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/inbound_service.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":556,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":398,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":403,"endOffset":469,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1532","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/info_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":229,"endOffset":269,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":274,"endOffset":389,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":394,"endOffset":460,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1533","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2293,"count":1}],"isBlockCoverage":true},{"functionName":"Interface","ranges":[{"startOffset":211,"endOffset":327,"count":85}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":332,"endOffset":372,"count":1431}],"isBlockCoverage":true},{"functionName":"setDefinition","ranges":[{"startOffset":377,"endOffset":427,"count":106}],"isBlockCoverage":true},{"functionName":"getSequencedFiles","ranges":[{"startOffset":432,"endOffset":594,"count":54},{"startOffset":531,"endOffset":565,"count":0}],"isBlockCoverage":true},{"functionName":"getDefinition","ranges":[{"startOffset":599,"endOffset":647,"count":355}],"isBlockCoverage":true},{"functionName":"getInterface","ranges":[{"startOffset":652,"endOffset":831,"count":45},{"startOffset":756,"endOffset":764,"count":0}],"isBlockCoverage":true},{"functionName":"getIdentifier","ranges":[{"startOffset":836,"endOffset":969,"count":45},{"startOffset":938,"endOffset":946,"count":0}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":974,"endOffset":1089,"count":27}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":1094,"endOffset":1204,"count":124}],"isBlockCoverage":true},{"functionName":"getNameFromXML","ranges":[{"startOffset":1209,"endOffset":1357,"count":5},{"startOffset":1332,"endOffset":1340,"count":0}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1362,"endOffset":1517,"count":71},{"startOffset":1485,"endOffset":1493,"count":0}],"isBlockCoverage":true},{"functionName":"parseXML","ranges":[{"startOffset":1552,"endOffset":2222,"count":76},{"startOffset":1607,"endOffset":1638,"count":52},{"startOffset":1638,"endOffset":1755,"count":24},{"startOffset":1755,"endOffset":1812,"count":6},{"startOffset":1814,"endOffset":1845,"count":18},{"startOffset":1845,"endOffset":1952,"count":6},{"startOffset":1952,"endOffset":2046,"count":0},{"startOffset":2046,"endOffset":2216,"count":6},{"startOffset":2133,"endOffset":2137,"count":0},{"startOffset":2201,"endOffset":2205,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1534","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/lock_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2660,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":312,"endOffset":352,"count":50}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":357,"endOffset":472,"count":1}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":477,"endOffset":557,"count":6}],"isBlockCoverage":true},{"functionName":"getPrimaryTable","ranges":[{"startOffset":562,"endOffset":716,"count":1},{"startOffset":683,"endOffset":691,"count":0}],"isBlockCoverage":true},{"functionName":"parseType","ranges":[{"startOffset":721,"endOffset":1613,"count":8},{"startOffset":910,"endOffset":918,"count":0},{"startOffset":938,"endOffset":1521,"count":4},{"startOffset":1043,"endOffset":1223,"count":3},{"startOffset":1223,"endOffset":1511,"count":1},{"startOffset":1404,"endOffset":1511,"count":0},{"startOffset":1521,"endOffset":1607,"count":4}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":1618,"endOffset":2428,"count":16},{"startOffset":1676,"endOffset":1738,"count":10},{"startOffset":1738,"endOffset":1920,"count":6},{"startOffset":1933,"endOffset":1990,"count":2},{"startOffset":1992,"endOffset":2054,"count":4},{"startOffset":2054,"endOffset":2172,"count":2},{"startOffset":2173,"endOffset":2181,"count":0},{"startOffset":2182,"endOffset":2194,"count":2},{"startOffset":2296,"endOffset":2312,"count":2},{"startOffset":2313,"endOffset":2321,"count":0},{"startOffset":2322,"endOffset":2333,"count":2}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":2433,"endOffset":2585,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1535","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/maintenance_and_transport_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3453,"count":1}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":350,"endOffset":430,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":435,"endOffset":475,"count":4}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":480,"endOffset":546,"count":0}],"isBlockCoverage":false},{"functionName":"getAllowedNaming","ranges":[{"startOffset":551,"endOffset":666,"count":0}],"isBlockCoverage":false},{"functionName":"getArea","ranges":[{"startOffset":671,"endOffset":809,"count":1},{"startOffset":784,"endOffset":792,"count":0}],"isBlockCoverage":true},{"functionName":"getObjectName","ranges":[{"startOffset":814,"endOffset":964,"count":1},{"startOffset":933,"endOffset":941,"count":0}],"isBlockCoverage":true},{"functionName":"getObjectType","ranges":[{"startOffset":969,"endOffset":1119,"count":1},{"startOffset":1088,"endOffset":1096,"count":0}],"isBlockCoverage":true},{"functionName":"parseType","ranges":[{"startOffset":1124,"endOffset":2312,"count":0}],"isBlockCoverage":false},{"functionName":"parse","ranges":[{"startOffset":2317,"endOffset":3319,"count":4},{"startOffset":2383,"endOffset":2445,"count":3},{"startOffset":2445,"endOffset":2627,"count":1},{"startOffset":2640,"endOffset":2697,"count":1},{"startOffset":2699,"endOffset":2761,"count":0},{"startOffset":2761,"endOffset":2876,"count":1},{"startOffset":2877,"endOffset":2885,"count":0},{"startOffset":2886,"endOffset":2896,"count":1},{"startOffset":2907,"endOffset":2923,"count":1},{"startOffset":2924,"endOffset":2932,"count":0},{"startOffset":2933,"endOffset":2942,"count":1},{"startOffset":3042,"endOffset":3058,"count":1},{"startOffset":3059,"endOffset":3067,"count":0},{"startOffset":3068,"endOffset":3083,"count":1},{"startOffset":3183,"endOffset":3199,"count":1},{"startOffset":3200,"endOffset":3208,"count":0},{"startOffset":3209,"endOffset":3224,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1536","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/message_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2013,"count":1}],"isBlockCoverage":true},{"functionName":"MessageClass","ranges":[{"startOffset":330,"endOffset":421,"count":44}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":426,"endOffset":466,"count":182}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":471,"endOffset":562,"count":0}],"isBlockCoverage":false},{"functionName":"getAllowedNaming","ranges":[{"startOffset":567,"endOffset":682,"count":6}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":687,"endOffset":772,"count":49}],"isBlockCoverage":true},{"functionName":"getMessages","ranges":[{"startOffset":777,"endOffset":895,"count":32},{"startOffset":884,"endOffset":888,"count":0}],"isBlockCoverage":true},{"functionName":"getByNumber","ranges":[{"startOffset":900,"endOffset":1169,"count":11},{"startOffset":1033,"endOffset":1137,"count":14},{"startOffset":1080,"endOffset":1127,"count":10},{"startOffset":1137,"endOffset":1168,"count":1}],"isBlockCoverage":true},{"functionName":"parseXML","ranges":[{"startOffset":1212,"endOffset":1932,"count":43},{"startOffset":1292,"endOffset":1323,"count":17},{"startOffset":1323,"endOffset":1434,"count":26},{"startOffset":1434,"endOffset":1465,"count":0},{"startOffset":1465,"endOffset":1535,"count":26},{"startOffset":1536,"endOffset":1544,"count":0},{"startOffset":1545,"endOffset":1561,"count":26},{"startOffset":1572,"endOffset":1588,"count":26},{"startOffset":1589,"endOffset":1597,"count":1},{"startOffset":1598,"endOffset":1628,"count":25},{"startOffset":1639,"endOffset":1655,"count":26},{"startOffset":1656,"endOffset":1664,"count":1},{"startOffset":1665,"endOffset":1674,"count":25},{"startOffset":1708,"endOffset":1739,"count":2},{"startOffset":1739,"endOffset":1806,"count":24},{"startOffset":1806,"endOffset":1926,"count":32},{"startOffset":1926,"endOffset":1931,"count":24}],"isBlockCoverage":true}]},{"scriptId":"1537","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/message.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":736,"count":1}],"isBlockCoverage":true},{"functionName":"Message","ranges":[{"startOffset":123,"endOffset":385,"count":36},{"startOffset":223,"endOffset":264,"count":1},{"startOffset":337,"endOffset":379,"count":0}],"isBlockCoverage":true},{"functionName":"getNumber","ranges":[{"startOffset":390,"endOffset":437,"count":45}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":442,"endOffset":491,"count":47}],"isBlockCoverage":true},{"functionName":"getPlaceholderCount","ranges":[{"startOffset":496,"endOffset":671,"count":19},{"startOffset":576,"endOffset":581,"count":18},{"startOffset":637,"endOffset":642,"count":14}],"isBlockCoverage":true}]},{"scriptId":"1538","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/messaging_channel.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":565,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":241,"endOffset":281,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":286,"endOffset":401,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":406,"endOffset":472,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1539","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/mime_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2120,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":229,"endOffset":269,"count":13}],"isBlockCoverage":true},{"functionName":"getURL","ranges":[{"startOffset":274,"endOffset":410,"count":4},{"startOffset":386,"endOffset":394,"count":0}],"isBlockCoverage":true},{"functionName":"getClass","ranges":[{"startOffset":415,"endOffset":555,"count":1},{"startOffset":529,"endOffset":537,"count":0}],"isBlockCoverage":true},{"functionName":"isFolder","ranges":[{"startOffset":560,"endOffset":689,"count":0}],"isBlockCoverage":false},{"functionName":"getAllowedNaming","ranges":[{"startOffset":694,"endOffset":810,"count":1}],"isBlockCoverage":true},{"functionName":"getDataFile","ranges":[{"startOffset":815,"endOffset":1099,"count":0}],"isBlockCoverage":false},{"functionName":"setDirty","ranges":[{"startOffset":1104,"endOffset":1184,"count":4}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1189,"endOffset":1295,"count":0}],"isBlockCoverage":false},{"functionName":"parse","ranges":[{"startOffset":1300,"endOffset":2045,"count":9},{"startOffset":1338,"endOffset":1400,"count":5},{"startOffset":1400,"endOffset":1551,"count":4},{"startOffset":1551,"endOffset":1582,"count":3},{"startOffset":1595,"endOffset":1652,"count":3},{"startOffset":1654,"endOffset":1716,"count":1},{"startOffset":1716,"endOffset":2044,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1540","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/namespace.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":590,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":227,"endOffset":267,"count":2}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":272,"endOffset":448,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":453,"endOffset":519,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1541","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_api.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":568,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":229,"endOffset":269,"count":2}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":274,"endOffset":422,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":427,"endOffset":493,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1542","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_app.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":229,"endOffset":269,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":274,"endOffset":389,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":394,"endOffset":460,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1543","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_custom_color.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":576,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":245,"endOffset":285,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":290,"endOffset":405,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":410,"endOffset":476,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1544","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_custom_js_helper.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":592,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":251,"endOffset":291,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":296,"endOffset":411,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":416,"endOffset":482,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1545","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_documentation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":585,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":249,"endOffset":289,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":294,"endOffset":409,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":414,"endOffset":480,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1546","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_enhancement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":575,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":245,"endOffset":285,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":290,"endOffset":405,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":410,"endOffset":476,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1547","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_launchpad_layout.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":596,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":253,"endOffset":293,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":298,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":418,"endOffset":484,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1548","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_launchpad.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":565,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":241,"endOffset":281,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":286,"endOffset":401,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":406,"endOffset":472,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1549","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_login_page.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":566,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":241,"endOffset":281,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":286,"endOffset":401,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":406,"endOffset":472,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1550","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_media_library.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":581,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":247,"endOffset":287,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":292,"endOffset":407,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":412,"endOffset":478,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1551","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_media_pack.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":566,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":241,"endOffset":281,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":286,"endOffset":401,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":406,"endOffset":472,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1552","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_metadata.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":560,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":399,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":404,"endOffset":470,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1553","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_mobile_client.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":581,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":247,"endOffset":287,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":292,"endOffset":407,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":412,"endOffset":478,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1554","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_odata.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":233,"endOffset":273,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":278,"endOffset":393,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":398,"endOffset":464,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1555","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_policy.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":550,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":235,"endOffset":275,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":280,"endOffset":395,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":400,"endOffset":466,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1556","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_rfc_mapping.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":571,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":243,"endOffset":283,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":288,"endOffset":403,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":408,"endOffset":474,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1557","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_rich_text_template.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":602,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":255,"endOffset":295,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":300,"endOffset":415,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":420,"endOffset":486,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1558","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_splash_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":581,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":247,"endOffset":287,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":292,"endOffset":407,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":412,"endOffset":478,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1559","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_sticky_banner.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":581,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":247,"endOffset":287,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":292,"endOffset":407,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":412,"endOffset":478,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1560","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_tile_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":566,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":241,"endOffset":281,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":286,"endOffset":401,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":406,"endOffset":472,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1561","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_tile_layout.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":571,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":243,"endOffset":283,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":288,"endOffset":403,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":408,"endOffset":474,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1562","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_tile.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":276,"endOffset":391,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":396,"endOffset":462,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1563","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_url_alias.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":561,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":399,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":404,"endOffset":470,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1564","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/number_range.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2213,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":7}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":276,"endOffset":391,"count":1}],"isBlockCoverage":true},{"functionName":"getDomain","ranges":[{"startOffset":396,"endOffset":538,"count":1},{"startOffset":511,"endOffset":519,"count":0}],"isBlockCoverage":true},{"functionName":"getPercentage","ranges":[{"startOffset":543,"endOffset":693,"count":1},{"startOffset":662,"endOffset":670,"count":0}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":698,"endOffset":778,"count":2}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":783,"endOffset":1978,"count":5},{"startOffset":857,"endOffset":919,"count":3},{"startOffset":919,"endOffset":1059,"count":2},{"startOffset":1059,"endOffset":1121,"count":0},{"startOffset":1121,"endOffset":1202,"count":2},{"startOffset":1203,"endOffset":1211,"count":1},{"startOffset":1212,"endOffset":1228,"count":1},{"startOffset":1239,"endOffset":1255,"count":2},{"startOffset":1256,"endOffset":1264,"count":1},{"startOffset":1265,"endOffset":1283,"count":1},{"startOffset":1294,"endOffset":1310,"count":2},{"startOffset":1311,"endOffset":1319,"count":1},{"startOffset":1320,"endOffset":1329,"count":1},{"startOffset":1382,"endOffset":1400,"count":2},{"startOffset":1401,"endOffset":1409,"count":1},{"startOffset":1410,"endOffset":1420,"count":1},{"startOffset":1492,"endOffset":1508,"count":2},{"startOffset":1509,"endOffset":1517,"count":1},{"startOffset":1518,"endOffset":1534,"count":1},{"startOffset":1545,"endOffset":1561,"count":2},{"startOffset":1562,"endOffset":1570,"count":1},{"startOffset":1571,"endOffset":1589,"count":1},{"startOffset":1600,"endOffset":1616,"count":2},{"startOffset":1617,"endOffset":1625,"count":1},{"startOffset":1626,"endOffset":1641,"count":1},{"startOffset":1695,"endOffset":1719,"count":2},{"startOffset":1720,"endOffset":1728,"count":1},{"startOffset":1729,"endOffset":1748,"count":1},{"startOffset":1818,"endOffset":1842,"count":2},{"startOffset":1843,"endOffset":1851,"count":1},{"startOffset":1852,"endOffset":1875,"count":1},{"startOffset":1877,"endOffset":1882,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1983,"endOffset":2135,"count":1},{"startOffset":2103,"endOffset":2111,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1565","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/oauth2_profile.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1038,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":280,"endOffset":320,"count":4}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":325,"endOffset":440,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":445,"endOffset":511,"count":0}],"isBlockCoverage":false},{"functionName":"listScopes","ranges":[{"startOffset":516,"endOffset":954,"count":1},{"startOffset":759,"endOffset":767,"count":0},{"startOffset":808,"endOffset":816,"count":0},{"startOffset":858,"endOffset":866,"count":0},{"startOffset":886,"endOffset":928,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1566","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/object_characteristic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":585,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":249,"endOffset":289,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":294,"endOffset":409,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":414,"endOffset":480,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1567","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/outbound_service.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":561,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":400,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":405,"endOffset":471,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1568","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/package_interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":565,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":241,"endOffset":281,"count":9}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":286,"endOffset":401,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":406,"endOffset":472,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1569","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/package.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":519,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":223,"endOffset":263,"count":6}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":268,"endOffset":383,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":388,"endOffset":454,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1570","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":529,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":227,"endOffset":267,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":272,"endOffset":387,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":392,"endOffset":458,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1571","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/personalization_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":590,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":251,"endOffset":291,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":296,"endOffset":411,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":416,"endOffset":482,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1572","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/program.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2635,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":252,"endOffset":292,"count":37572}],"isBlockCoverage":true},{"functionName":"getSequencedFiles","ranges":[{"startOffset":297,"endOffset":459,"count":4040},{"startOffset":396,"endOffset":430,"count":0}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":464,"endOffset":530,"count":0}],"isBlockCoverage":false},{"functionName":"getAllowedNaming","ranges":[{"startOffset":535,"endOffset":650,"count":176}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":655,"endOffset":735,"count":7715}],"isBlockCoverage":true},{"functionName":"isInclude","ranges":[{"startOffset":740,"endOffset":825,"count":3659}],"isBlockCoverage":true},{"functionName":"isModulePool","ranges":[{"startOffset":830,"endOffset":921,"count":175}],"isBlockCoverage":true},{"functionName":"getDynpros","ranges":[{"startOffset":926,"endOffset":1010,"count":1}],"isBlockCoverage":true},{"functionName":"parseXML","ranges":[{"startOffset":1048,"endOffset":2570,"count":3835},{"startOffset":1131,"endOffset":1162,"count":1241},{"startOffset":1162,"endOffset":1278,"count":2594},{"startOffset":1278,"endOffset":1455,"count":2566},{"startOffset":1455,"endOffset":1570,"count":28},{"startOffset":1571,"endOffset":1579,"count":10},{"startOffset":1580,"endOffset":1596,"count":18},{"startOffset":1607,"endOffset":1623,"count":28},{"startOffset":1624,"endOffset":1632,"count":10},{"startOffset":1633,"endOffset":1651,"count":18},{"startOffset":1662,"endOffset":1678,"count":28},{"startOffset":1679,"endOffset":1687,"count":10},{"startOffset":1688,"endOffset":1700,"count":18},{"startOffset":1740,"endOffset":2333,"count":1},{"startOffset":1955,"endOffset":1963,"count":0},{"startOffset":1982,"endOffset":2177,"count":2},{"startOffset":2333,"endOffset":2431,"count":28},{"startOffset":2432,"endOffset":2439,"count":0},{"startOffset":2472,"endOffset":2514,"count":28},{"startOffset":2515,"endOffset":2522,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1573","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/proxy_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":276,"endOffset":391,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":396,"endOffset":462,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1574","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/push_channel.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":276,"endOffset":391,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":396,"endOffset":462,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1575","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/query_user_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":557,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":398,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":403,"endOffset":469,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1576","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/restriction_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":566,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":241,"endOffset":281,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":286,"endOffset":402,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":407,"endOffset":473,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1577","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/restriction_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":561,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":400,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":405,"endOffset":471,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1578","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rfc_service.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":229,"endOffset":269,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":274,"endOffset":389,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":394,"endOffset":460,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1579","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/sapscript_style.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1580","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/sapscript.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":529,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":227,"endOffset":267,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":272,"endOffset":387,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":392,"endOffset":458,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1581","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/screen_variant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":550,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":235,"endOffset":275,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":280,"endOffset":395,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":400,"endOffset":466,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1582","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/search_help.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":229,"endOffset":269,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":274,"endOffset":389,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":394,"endOffset":460,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1583","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/service_binding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1584","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/service_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":570,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":243,"endOffset":283,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":288,"endOffset":403,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":408,"endOffset":474,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1585","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/shared_memory.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":233,"endOffset":273,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":278,"endOffset":393,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":398,"endOffset":464,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1586","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/smart_form.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":530,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":227,"endOffset":267,"count":9}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":272,"endOffset":387,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":392,"endOffset":458,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1587","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/smart_style.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":229,"endOffset":269,"count":9}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":274,"endOffset":389,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":394,"endOffset":460,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1588","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/standard_task.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":233,"endOffset":273,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":278,"endOffset":393,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":398,"endOffset":464,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1589","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/switch_assignment_hierarchy.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":611,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":259,"endOffset":299,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":304,"endOffset":419,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":424,"endOffset":490,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1590","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/switch_assignments.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":570,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":243,"endOffset":283,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":288,"endOffset":403,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":408,"endOffset":474,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1591","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/table_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7968,"count":1}],"isBlockCoverage":true},{"functionName":"TableType","ranges":[{"startOffset":401,"endOffset":487,"count":31}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":492,"endOffset":532,"count":333}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":537,"endOffset":652,"count":4}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":657,"endOffset":807,"count":0}],"isBlockCoverage":false},{"functionName":"setDirty","ranges":[{"startOffset":812,"endOffset":892,"count":33}],"isBlockCoverage":true},{"functionName":"buildPrimaryKey","ranges":[{"startOffset":897,"endOffset":1993,"count":63},{"startOffset":1049,"endOffset":1057,"count":0},{"startOffset":1265,"endOffset":1273,"count":0},{"startOffset":1300,"endOffset":1373,"count":6},{"startOffset":1373,"endOffset":1548,"count":57},{"startOffset":1440,"endOffset":1448,"count":0},{"startOffset":1475,"endOffset":1548,"count":2},{"startOffset":1622,"endOffset":1630,"count":0},{"startOffset":1643,"endOffset":1648,"count":0},{"startOffset":1650,"endOffset":1766,"count":8},{"startOffset":1686,"endOffset":1756,"count":6},{"startOffset":1828,"endOffset":1836,"count":0},{"startOffset":1858,"endOffset":1894,"count":2},{"startOffset":1896,"endOffset":1960,"count":2}],"isBlockCoverage":true},{"functionName":"buildTableOptions","ranges":[{"startOffset":1998,"endOffset":3480,"count":63},{"startOffset":2156,"endOffset":2164,"count":0},{"startOffset":2187,"endOffset":2248,"count":51},{"startOffset":2500,"endOffset":2508,"count":0},{"startOffset":2521,"endOffset":2526,"count":0},{"startOffset":2528,"endOffset":3445,"count":2},{"startOffset":2638,"endOffset":2646,"count":0},{"startOffset":2659,"endOffset":2664,"count":0},{"startOffset":3025,"endOffset":3126,"count":0},{"startOffset":3143,"endOffset":3178,"count":0},{"startOffset":3261,"endOffset":3269,"count":0}],"isBlockCoverage":true},{"functionName":"parseType","ranges":[{"startOffset":3485,"endOffset":6313,"count":63},{"startOffset":3716,"endOffset":3813,"count":0},{"startOffset":3863,"endOffset":4139,"count":29},{"startOffset":4054,"endOffset":4129,"count":18},{"startOffset":4139,"endOffset":6226,"count":34},{"startOffset":4189,"endOffset":4465,"count":6},{"startOffset":4465,"endOffset":6226,"count":28},{"startOffset":4515,"endOffset":4789,"count":0},{"startOffset":4838,"endOffset":4876,"count":6},{"startOffset":4878,"endOffset":5001,"count":2},{"startOffset":5001,"endOffset":6226,"count":26},{"startOffset":5050,"endOffset":5086,"count":4},{"startOffset":5088,"endOffset":5218,"count":2},{"startOffset":5218,"endOffset":6226,"count":24},{"startOffset":5267,"endOffset":5306,"count":2},{"startOffset":5308,"endOffset":5579,"count":2},{"startOffset":5579,"endOffset":6226,"count":22},{"startOffset":5628,"endOffset":6063,"count":18},{"startOffset":5685,"endOffset":5809,"count":0},{"startOffset":6063,"endOffset":6226,"count":4}],"isBlockCoverage":true},{"functionName":"parseXML","ranges":[{"startOffset":6343,"endOffset":7896,"count":63},{"startOffset":6418,"endOffset":6449,"count":32},{"startOffset":6449,"endOffset":6640,"count":31},{"startOffset":6642,"endOffset":6673,"count":4},{"startOffset":6673,"endOffset":6822,"count":27},{"startOffset":6822,"endOffset":6837,"count":18},{"startOffset":6838,"endOffset":6842,"count":9},{"startOffset":6891,"endOffset":6906,"count":18},{"startOffset":6907,"endOffset":6911,"count":9},{"startOffset":7330,"endOffset":7346,"count":27},{"startOffset":7347,"endOffset":7355,"count":24},{"startOffset":7356,"endOffset":7366,"count":3},{"startOffset":7369,"endOffset":7525,"count":4},{"startOffset":7449,"endOffset":7454,"count":3},{"startOffset":7493,"endOffset":7498,"count":0},{"startOffset":7525,"endOffset":7623,"count":27},{"startOffset":7624,"endOffset":7632,"count":26},{"startOffset":7633,"endOffset":7643,"count":1},{"startOffset":7646,"endOffset":7890,"count":1},{"startOffset":7726,"endOffset":7731,"count":0},{"startOffset":7774,"endOffset":7779,"count":0},{"startOffset":7810,"endOffset":7815,"count":0},{"startOffset":7890,"endOffset":7895,"count":27}],"isBlockCoverage":true}]},{"scriptId":"1592","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":13243,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":526,"endOffset":794,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":898,"endOffset":1170,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":1296,"endOffset":1336,"count":1375}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1341,"endOffset":1407,"count":0}],"isBlockCoverage":false},{"functionName":"getAllowedNaming","ranges":[{"startOffset":1412,"endOffset":1759,"count":28},{"startOffset":1592,"endOffset":1628,"count":13}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":1764,"endOffset":1845,"count":123}],"isBlockCoverage":true},{"functionName":"listKeys","ranges":[{"startOffset":1850,"endOffset":2607,"count":6},{"startOffset":1909,"endOffset":1949,"count":0},{"startOffset":1993,"endOffset":2027,"count":0},{"startOffset":2100,"endOffset":2581,"count":13},{"startOffset":2136,"endOffset":2165,"count":10},{"startOffset":2167,"endOffset":2476,"count":1},{"startOffset":2476,"endOffset":2571,"count":12},{"startOffset":2517,"endOffset":2571,"count":9}],"isBlockCoverage":true},{"functionName":"parseType","ranges":[{"startOffset":2612,"endOffset":10515,"count":275},{"startOffset":2692,"endOffset":2864,"count":100},{"startOffset":2770,"endOffset":2854,"count":0},{"startOffset":2946,"endOffset":2986,"count":2},{"startOffset":2988,"endOffset":3084,"count":2},{"startOffset":3084,"endOffset":3242,"count":273},{"startOffset":3242,"endOffset":10200,"count":644},{"startOffset":3288,"endOffset":3304,"count":286},{"startOffset":3305,"endOffset":3309,"count":358},{"startOffset":3345,"endOffset":3645,"count":252},{"startOffset":3548,"endOffset":3631,"count":17},{"startOffset":3645,"endOffset":9961,"count":392},{"startOffset":3698,"endOffset":3733,"count":380},{"startOffset":3735,"endOffset":5414,"count":16},{"startOffset":3818,"endOffset":3931,"count":0},{"startOffset":4080,"endOffset":4163,"count":12},{"startOffset":4238,"endOffset":4302,"count":0},{"startOffset":4361,"endOffset":4696,"count":12},{"startOffset":4418,"endOffset":4522,"count":5},{"startOffset":4582,"endOffset":4678,"count":14},{"startOffset":4696,"endOffset":5400,"count":4},{"startOffset":4773,"endOffset":4781,"count":0},{"startOffset":4806,"endOffset":4891,"count":2},{"startOffset":4859,"endOffset":4867,"count":0},{"startOffset":4913,"endOffset":4950,"count":2},{"startOffset":4952,"endOffset":5400,"count":2},{"startOffset":5063,"endOffset":5116,"count":0},{"startOffset":5282,"endOffset":5400,"count":0},{"startOffset":5414,"endOffset":9961,"count":376},{"startOffset":5453,"endOffset":5493,"count":4},{"startOffset":5495,"endOffset":6334,"count":2},{"startOffset":5604,"endOffset":5687,"count":0},{"startOffset":5891,"endOffset":6320,"count":0},{"startOffset":6334,"endOffset":9961,"count":374},{"startOffset":6374,"endOffset":6658,"count":2},{"startOffset":6658,"endOffset":9961,"count":372},{"startOffset":6698,"endOffset":8825,"count":14},{"startOffset":6750,"endOffset":6827,"count":0},{"startOffset":6875,"endOffset":7082,"count":2},{"startOffset":7082,"endOffset":8811,"count":12},{"startOffset":7137,"endOffset":7336,"count":2},{"startOffset":7336,"endOffset":8811,"count":10},{"startOffset":7385,"endOffset":7720,"count":0},{"startOffset":7769,"endOffset":8102,"count":0},{"startOffset":8151,"endOffset":8486,"count":0},{"startOffset":8702,"endOffset":8793,"count":8},{"startOffset":8825,"endOffset":9961,"count":358},{"startOffset":8865,"endOffset":9147,"count":2},{"startOffset":9147,"endOffset":9961,"count":356},{"startOffset":9293,"endOffset":9408,"count":0},{"startOffset":9451,"endOffset":9463,"count":338},{"startOffset":9464,"endOffset":9478,"count":18},{"startOffset":9706,"endOffset":9961,"count":0},{"startOffset":9961,"endOffset":9996,"count":638},{"startOffset":9996,"endOffset":10190,"count":7},{"startOffset":10100,"endOffset":10176,"count":3},{"startOffset":10200,"endOffset":10238,"count":269},{"startOffset":10238,"endOffset":10365,"count":14},{"startOffset":10365,"endOffset":10514,"count":255}],"isBlockCoverage":true},{"functionName":"getTableCategory","ranges":[{"startOffset":10520,"endOffset":10739,"count":29},{"startOffset":10600,"endOffset":10640,"count":0},{"startOffset":10705,"endOffset":10713,"count":0}],"isBlockCoverage":true},{"functionName":"getEnhancementCategory","ranges":[{"startOffset":10744,"endOffset":11106,"count":20},{"startOffset":10830,"endOffset":10870,"count":0},{"startOffset":10933,"endOffset":10941,"count":0},{"startOffset":10983,"endOffset":11048,"count":0}],"isBlockCoverage":true},{"functionName":"parseXML","ranges":[{"startOffset":11131,"endOffset":13184,"count":100},{"startOffset":11268,"endOffset":11299,"count":0},{"startOffset":11384,"endOffset":11415,"count":11},{"startOffset":11415,"endOffset":11540,"count":89},{"startOffset":11541,"endOffset":11549,"count":0},{"startOffset":11550,"endOffset":11560,"count":89},{"startOffset":11571,"endOffset":11587,"count":89},{"startOffset":11588,"endOffset":11596,"count":2},{"startOffset":11597,"endOffset":11609,"count":87},{"startOffset":11626,"endOffset":11722,"count":15},{"startOffset":11722,"endOffset":11947,"count":74},{"startOffset":11868,"endOffset":11876,"count":0},{"startOffset":11915,"endOffset":11923,"count":0},{"startOffset":11947,"endOffset":12093,"count":89},{"startOffset":12094,"endOffset":12102,"count":0},{"startOffset":12103,"endOffset":12113,"count":89},{"startOffset":12124,"endOffset":12140,"count":89},{"startOffset":12141,"endOffset":12149,"count":2},{"startOffset":12150,"endOffset":12163,"count":87},{"startOffset":12264,"endOffset":12280,"count":89},{"startOffset":12281,"endOffset":12289,"count":0},{"startOffset":12290,"endOffset":12300,"count":89},{"startOffset":12311,"endOffset":12327,"count":89},{"startOffset":12328,"endOffset":12336,"count":45},{"startOffset":12337,"endOffset":12348,"count":44},{"startOffset":12448,"endOffset":12464,"count":89},{"startOffset":12465,"endOffset":12473,"count":0},{"startOffset":12474,"endOffset":12490,"count":89},{"startOffset":12564,"endOffset":12584,"count":89},{"startOffset":12585,"endOffset":12593,"count":3},{"startOffset":12594,"endOffset":12608,"count":86},{"startOffset":12611,"endOffset":13178,"count":219},{"startOffset":13178,"endOffset":13183,"count":89}],"isBlockCoverage":true}]},{"scriptId":"1593","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/technical_job_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":596,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":253,"endOffset":293,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":298,"endOffset":413,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":418,"endOffset":484,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1594","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/transaction_variant.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":575,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":245,"endOffset":285,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":290,"endOffset":405,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":410,"endOffset":476,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1595","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/transaction.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1677,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":30}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":276,"endOffset":356,"count":8}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":361,"endOffset":476,"count":0}],"isBlockCoverage":false},{"functionName":"getProgramName","ranges":[{"startOffset":481,"endOffset":633,"count":1},{"startOffset":601,"endOffset":609,"count":0}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":638,"endOffset":790,"count":1},{"startOffset":758,"endOffset":766,"count":0}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":795,"endOffset":1600,"count":9},{"startOffset":853,"endOffset":915,"count":2},{"startOffset":915,"endOffset":1097,"count":7},{"startOffset":1110,"endOffset":1167,"count":1},{"startOffset":1169,"endOffset":1231,"count":6},{"startOffset":1231,"endOffset":1348,"count":1},{"startOffset":1349,"endOffset":1357,"count":0},{"startOffset":1358,"endOffset":1368,"count":1},{"startOffset":1469,"endOffset":1485,"count":1},{"startOffset":1486,"endOffset":1494,"count":0},{"startOffset":1495,"endOffset":1505,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1596","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/transformation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":554,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":237,"endOffset":277,"count":10}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":282,"endOffset":397,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":402,"endOffset":468,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1597","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/type_pool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":676,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":209,"endOffset":249,"count":171}],"isBlockCoverage":true},{"functionName":"getSequencedFiles","ranges":[{"startOffset":254,"endOffset":416,"count":7},{"startOffset":353,"endOffset":387,"count":0}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":421,"endOffset":536,"count":3}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":541,"endOffset":607,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1598","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/view_cluster.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":231,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":276,"endOffset":391,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":396,"endOffset":462,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1599","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/view.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5005,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":300,"endOffset":361,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":454,"endOffset":494,"count":47}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":499,"endOffset":614,"count":1}],"isBlockCoverage":true},{"functionName":"getFields","ranges":[{"startOffset":619,"endOffset":824,"count":0}],"isBlockCoverage":false},{"functionName":"getJoin","ranges":[{"startOffset":829,"endOffset":1030,"count":1},{"startOffset":900,"endOffset":940,"count":0},{"startOffset":1005,"endOffset":1013,"count":0}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":1035,"endOffset":1116,"count":6}],"isBlockCoverage":true},{"functionName":"parseType","ranges":[{"startOffset":1121,"endOffset":3351,"count":9},{"startOffset":1181,"endOffset":1221,"count":6},{"startOffset":1265,"endOffset":1356,"count":0},{"startOffset":1514,"endOffset":3063,"count":22},{"startOffset":1584,"endOffset":1697,"count":0},{"startOffset":1780,"endOffset":1979,"count":0},{"startOffset":2035,"endOffset":2187,"count":0},{"startOffset":2322,"endOffset":2397,"count":10},{"startOffset":2445,"endOffset":2547,"count":2},{"startOffset":2547,"endOffset":2602,"count":20},{"startOffset":2602,"endOffset":2940,"count":8},{"startOffset":2710,"endOffset":2854,"count":0},{"startOffset":2940,"endOffset":3063,"count":20},{"startOffset":3161,"endOffset":3277,"count":1},{"startOffset":3277,"endOffset":3350,"count":8}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":3356,"endOffset":3422,"count":0}],"isBlockCoverage":false},{"functionName":"parseXML","ranges":[{"startOffset":3447,"endOffset":4949,"count":6},{"startOffset":3745,"endOffset":3776,"count":1},{"startOffset":3776,"endOffset":3873,"count":5},{"startOffset":3874,"endOffset":3882,"count":0},{"startOffset":3883,"endOffset":3893,"count":5},{"startOffset":3970,"endOffset":3990,"count":5},{"startOffset":3991,"endOffset":3999,"count":0},{"startOffset":4000,"endOffset":4018,"count":5},{"startOffset":4020,"endOffset":4025,"count":0},{"startOffset":4118,"endOffset":4134,"count":5},{"startOffset":4135,"endOffset":4143,"count":0},{"startOffset":4144,"endOffset":4160,"count":5},{"startOffset":4234,"endOffset":4254,"count":5},{"startOffset":4255,"endOffset":4263,"count":0},{"startOffset":4264,"endOffset":4278,"count":5},{"startOffset":4281,"endOffset":4478,"count":16},{"startOffset":4478,"endOffset":4573,"count":5},{"startOffset":4574,"endOffset":4582,"count":0},{"startOffset":4583,"endOffset":4599,"count":5},{"startOffset":4667,"endOffset":4685,"count":5},{"startOffset":4686,"endOffset":4694,"count":4},{"startOffset":4695,"endOffset":4707,"count":1},{"startOffset":4710,"endOffset":4943,"count":1},{"startOffset":4943,"endOffset":4948,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1600","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/virtual_end_point.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":561,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":239,"endOffset":279,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":284,"endOffset":399,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":404,"endOffset":470,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1601","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_dynpro_application_configuration.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":652,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":275,"endOffset":315,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":320,"endOffset":435,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":440,"endOffset":506,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1602","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_dynpro_application.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":586,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":249,"endOffset":289,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":294,"endOffset":409,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":414,"endOffset":480,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1603","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_dynpro_component_configuration.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":642,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":271,"endOffset":311,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":316,"endOffset":431,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":436,"endOffset":502,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1604","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_dynpro_component.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":576,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":245,"endOffset":285,"count":1}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":290,"endOffset":405,"count":0}],"isBlockCoverage":false},{"functionName":"getDescription","ranges":[{"startOffset":410,"endOffset":476,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1605","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_mime.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1547,"count":1}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":223,"endOffset":263,"count":38}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":268,"endOffset":441,"count":1}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":446,"endOffset":598,"count":1},{"startOffset":566,"endOffset":574,"count":0}],"isBlockCoverage":true},{"functionName":"setDirty","ranges":[{"startOffset":603,"endOffset":683,"count":12}],"isBlockCoverage":true},{"functionName":"getDataFile","ranges":[{"startOffset":688,"endOffset":882,"count":0}],"isBlockCoverage":false},{"functionName":"parse","ranges":[{"startOffset":887,"endOffset":1481,"count":3},{"startOffset":925,"endOffset":987,"count":1},{"startOffset":987,"endOffset":1169,"count":2},{"startOffset":1182,"endOffset":1239,"count":1},{"startOffset":1241,"endOffset":1480,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1606","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/_unknown_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1109,"count":1}],"isBlockCoverage":true},{"functionName":"UnknownObject","ranges":[{"startOffset":358,"endOffset":436,"count":5}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":441,"endOffset":484,"count":39}],"isBlockCoverage":true},{"functionName":"getAllowedNaming","ranges":[{"startOffset":489,"endOffset":605,"count":2}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":610,"endOffset":660,"count":0}],"isBlockCoverage":false},{"functionName":"getParsingIssues","ranges":[{"startOffset":665,"endOffset":1024,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1607","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/global_definitions/find_global_definitions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6097,"count":1}],"isBlockCoverage":true},{"functionName":"FindGlobalDefinitions","ranges":[{"startOffset":793,"endOffset":841,"count":7517}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":846,"endOffset":2809,"count":7516},{"startOffset":1086,"endOffset":1705,"count":7918},{"startOffset":1140,"endOffset":1169,"count":7829},{"startOffset":1171,"endOffset":1205,"count":484},{"startOffset":1207,"endOffset":1258,"count":475},{"startOffset":1258,"endOffset":1695,"count":7443},{"startOffset":1331,"endOffset":1361,"count":7355},{"startOffset":1378,"endOffset":1413,"count":7349},{"startOffset":1430,"endOffset":1466,"count":7313},{"startOffset":1483,"endOffset":1532,"count":7306},{"startOffset":1549,"endOffset":1580,"count":7300},{"startOffset":1582,"endOffset":1695,"count":264},{"startOffset":2006,"endOffset":2803,"count":7628},{"startOffset":2070,"endOffset":2133,"count":0},{"startOffset":2234,"endOffset":2633,"count":630},{"startOffset":2302,"endOffset":2383,"count":0},{"startOffset":2514,"endOffset":2567,"count":240},{"startOffset":2703,"endOffset":2720,"count":7547},{"startOffset":2722,"endOffset":2760,"count":7516},{"startOffset":2760,"endOffset":2803,"count":112}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1897,"endOffset":1957,"count":221}],"isBlockCoverage":true},{"functionName":"countUntyped","ranges":[{"startOffset":2848,"endOffset":3778,"count":631},{"startOffset":2940,"endOffset":2973,"count":179},{"startOffset":2973,"endOffset":3056,"count":452},{"startOffset":3056,"endOffset":3125,"count":61},{"startOffset":3125,"endOffset":3180,"count":452},{"startOffset":3180,"endOffset":3244,"count":80},{"startOffset":3244,"endOffset":3305,"count":452},{"startOffset":3305,"endOffset":3369,"count":92},{"startOffset":3369,"endOffset":3431,"count":452},{"startOffset":3431,"endOffset":3571,"count":126},{"startOffset":3489,"endOffset":3561,"count":66},{"startOffset":3571,"endOffset":3612,"count":452},{"startOffset":3612,"endOffset":3617,"count":0},{"startOffset":3619,"endOffset":3750,"count":3},{"startOffset":3668,"endOffset":3740,"count":1},{"startOffset":3750,"endOffset":3777,"count":452}],"isBlockCoverage":true},{"functionName":"count","ranges":[{"startOffset":3783,"endOffset":4422,"count":411},{"startOffset":3848,"endOffset":3886,"count":391},{"startOffset":3888,"endOffset":3921,"count":98},{"startOffset":3921,"endOffset":4398,"count":313},{"startOffset":3977,"endOffset":4038,"count":17},{"startOffset":4038,"endOffset":4398,"count":296},{"startOffset":4098,"endOffset":4156,"count":2},{"startOffset":4156,"endOffset":4398,"count":294},{"startOffset":4216,"endOffset":4398,"count":48},{"startOffset":4295,"endOffset":4362,"count":92},{"startOffset":4398,"endOffset":4421,"count":246}],"isBlockCoverage":true},{"functionName":"update","ranges":[{"startOffset":4427,"endOffset":5988,"count":630},{"startOffset":4517,"endOffset":4590,"count":14},{"startOffset":4590,"endOffset":4645,"count":616},{"startOffset":4646,"endOffset":4654,"count":0},{"startOffset":4655,"endOffset":4676,"count":616},{"startOffset":4711,"endOffset":4784,"count":82},{"startOffset":4784,"endOffset":5014,"count":534},{"startOffset":5014,"endOffset":5492,"count":84},{"startOffset":5309,"endOffset":5389,"count":4},{"startOffset":5403,"endOffset":5482,"count":0},{"startOffset":5492,"endOffset":5982,"count":450},{"startOffset":5799,"endOffset":5879,"count":79},{"startOffset":5893,"endOffset":5972,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1608","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_current_scope.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":16579,"count":1}],"isBlockCoverage":true},{"functionName":"buildDefault","ranges":[{"startOffset":476,"endOffset":1012,"count":9173}],"isBlockCoverage":true},{"functionName":"addBuiltIn","ranges":[{"startOffset":1024,"endOffset":1240,"count":9173},{"startOffset":1197,"endOffset":1234,"count":45865}],"isBlockCoverage":true},{"functionName":"CurrentScope","ranges":[{"startOffset":1245,"endOffset":1362,"count":9173}],"isBlockCoverage":true},{"functionName":"getVersion","ranges":[{"startOffset":1399,"endOffset":1469,"count":51}],"isBlockCoverage":true},{"functionName":"getRegistry","ranges":[{"startOffset":1474,"endOffset":1520,"count":25}],"isBlockCoverage":true},{"functionName":"addType","ranges":[{"startOffset":1525,"endOffset":1659,"count":46686},{"startOffset":1573,"endOffset":1604,"count":0}],"isBlockCoverage":true},{"functionName":"addTypeNamed","ranges":[{"startOffset":1664,"endOffset":2221,"count":46705},{"startOffset":1723,"endOffset":1754,"count":0},{"startOffset":1795,"endOffset":1826,"count":0},{"startOffset":1932,"endOffset":2011,"count":2},{"startOffset":2011,"endOffset":2163,"count":46703},{"startOffset":2041,"endOffset":2092,"count":265},{"startOffset":2094,"endOffset":2163,"count":2},{"startOffset":2163,"endOffset":2220,"count":46701}],"isBlockCoverage":true},{"functionName":"addExtraLikeType","ranges":[{"startOffset":2226,"endOffset":2378,"count":81},{"startOffset":2283,"endOffset":2314,"count":0}],"isBlockCoverage":true},{"functionName":"addExtraLikeTypeNamed","ranges":[{"startOffset":2383,"endOffset":2815,"count":81},{"startOffset":2451,"endOffset":2482,"count":0},{"startOffset":2523,"endOffset":2554,"count":0},{"startOffset":2669,"endOffset":2748,"count":0}],"isBlockCoverage":true},{"functionName":"addClassDefinition","ranges":[{"startOffset":2820,"endOffset":3155,"count":1215},{"startOffset":2884,"endOffset":2915,"count":0},{"startOffset":3026,"endOffset":3101,"count":1},{"startOffset":3101,"endOffset":3154,"count":1214}],"isBlockCoverage":true},{"functionName":"addFormDefinitions","ranges":[{"startOffset":3160,"endOffset":3310,"count":188},{"startOffset":3224,"endOffset":3255,"count":0}],"isBlockCoverage":true},{"functionName":"addInterfaceDefinition","ranges":[{"startOffset":3315,"endOffset":3658,"count":271},{"startOffset":3383,"endOffset":3414,"count":0},{"startOffset":3525,"endOffset":3604,"count":0}],"isBlockCoverage":true},{"functionName":"addNamedIdentifier","ranges":[{"startOffset":3663,"endOffset":4224,"count":261992},{"startOffset":3742,"endOffset":3773,"count":0},{"startOffset":3878,"endOffset":4008,"count":4},{"startOffset":4008,"endOffset":4161,"count":261988},{"startOffset":4038,"endOffset":4090,"count":666},{"startOffset":4092,"endOffset":4161,"count":2},{"startOffset":4161,"endOffset":4223,"count":261986}],"isBlockCoverage":true},{"functionName":"addNamedIdentifierToParent","ranges":[{"startOffset":4229,"endOffset":4848,"count":1},{"startOffset":4316,"endOffset":4347,"count":0},{"startOffset":4431,"endOffset":4462,"count":0},{"startOffset":4561,"endOffset":4644,"count":0},{"startOffset":4674,"endOffset":4720,"count":0},{"startOffset":4722,"endOffset":4791,"count":0}],"isBlockCoverage":true},{"functionName":"addIdentifier","ranges":[{"startOffset":4853,"endOffset":5023,"count":261927},{"startOffset":4919,"endOffset":4950,"count":0}],"isBlockCoverage":true},{"functionName":"addDeferred","ranges":[{"startOffset":5028,"endOffset":5222,"count":5},{"startOffset":5088,"endOffset":5119,"count":0}],"isBlockCoverage":true},{"functionName":"addListPrefix","ranges":[{"startOffset":5227,"endOffset":5383,"count":396},{"startOffset":5302,"endOffset":5377,"count":43}],"isBlockCoverage":true},{"functionName":"addList","ranges":[{"startOffset":5388,"endOffset":5502,"count":12050},{"startOffset":5449,"endOffset":5496,"count":257246}],"isBlockCoverage":true},{"functionName":"addReference","ranges":[{"startOffset":5507,"endOffset":6198,"count":6967},{"startOffset":5640,"endOffset":5671,"count":0},{"startOffset":5777,"endOffset":6003,"count":1578},{"startOffset":5813,"endOffset":5993,"count":1606},{"startOffset":5877,"endOffset":5885,"count":0},{"startOffset":6003,"endOffset":6192,"count":5389},{"startOffset":6077,"endOffset":6085,"count":0}],"isBlockCoverage":true},{"functionName":"addSQLConversion","ranges":[{"startOffset":6203,"endOffset":6399,"count":3},{"startOffset":6319,"endOffset":6327,"count":0}],"isBlockCoverage":true},{"functionName":"findFunctionModule","ranges":[{"startOffset":6436,"endOffset":6770,"count":1},{"startOffset":6495,"endOffset":6536,"count":0},{"startOffset":6599,"endOffset":6738,"count":0}],"isBlockCoverage":true},{"functionName":"findObjectDefinition","ranges":[{"startOffset":6775,"endOffset":7129,"count":780},{"startOffset":6836,"endOffset":6877,"count":117},{"startOffset":6877,"endOffset":6949,"count":663},{"startOffset":6949,"endOffset":6985,"count":495},{"startOffset":6985,"endOffset":7061,"count":168},{"startOffset":7061,"endOffset":7097,"count":77},{"startOffset":7097,"endOffset":7128,"count":91}],"isBlockCoverage":true},{"functionName":"isBadiDef","ranges":[{"startOffset":7134,"endOffset":7476,"count":70},{"startOffset":7256,"endOffset":7448,"count":1},{"startOffset":7438,"endOffset":7448,"count":0},{"startOffset":7448,"endOffset":7475,"count":69}],"isBlockCoverage":true},{"functionName":"existsObject","ranges":[{"startOffset":7481,"endOffset":9679,"count":399},{"startOffset":7558,"endOffset":7599,"count":0},{"startOffset":7678,"endOffset":7755,"count":337},{"startOffset":7755,"endOffset":7890,"count":62},{"startOffset":7810,"endOffset":7890,"count":45},{"startOffset":7968,"endOffset":7976,"count":0},{"startOffset":8037,"endOffset":8270,"count":139},{"startOffset":8091,"endOffset":8139,"count":4},{"startOffset":8270,"endOffset":8356,"count":260},{"startOffset":8356,"endOffset":8483,"count":30},{"startOffset":8483,"endOffset":8564,"count":230},{"startOffset":8565,"endOffset":8573,"count":0},{"startOffset":8574,"endOffset":8608,"count":230},{"startOffset":8642,"endOffset":8891,"count":40},{"startOffset":8700,"endOffset":8748,"count":2},{"startOffset":8891,"endOffset":8977,"count":190},{"startOffset":8977,"endOffset":9108,"count":13},{"startOffset":9108,"endOffset":9174,"count":177},{"startOffset":9175,"endOffset":9183,"count":0},{"startOffset":9184,"endOffset":9207,"count":177},{"startOffset":9240,"endOffset":9647,"count":5},{"startOffset":9331,"endOffset":9435,"count":3},{"startOffset":9452,"endOffset":9548,"count":2},{"startOffset":9647,"endOffset":9678,"count":172}],"isBlockCoverage":true},{"functionName":"findClassDefinition","ranges":[{"startOffset":9766,"endOffset":10219,"count":4512},{"startOffset":9842,"endOffset":9883,"count":598},{"startOffset":9883,"endOffset":9952,"count":3914},{"startOffset":9953,"endOffset":9961,"count":0},{"startOffset":9962,"endOffset":9992,"count":3914},{"startOffset":10014,"endOffset":10052,"count":1987},{"startOffset":10052,"endOffset":10132,"count":1927},{"startOffset":10132,"endOffset":10187,"count":1706},{"startOffset":10187,"endOffset":10218,"count":221}],"isBlockCoverage":true},{"functionName":"findTypePoolConstant","ranges":[{"startOffset":10224,"endOffset":11176,"count":858},{"startOffset":10337,"endOffset":10378,"count":0},{"startOffset":10465,"endOffset":10491,"count":808},{"startOffset":10493,"endOffset":10534,"count":489},{"startOffset":10534,"endOffset":10595,"count":369},{"startOffset":10595,"endOffset":10667,"count":0},{"startOffset":10669,"endOffset":10750,"count":0},{"startOffset":10750,"endOffset":10854,"count":369},{"startOffset":10854,"endOffset":10895,"count":368},{"startOffset":10895,"endOffset":11026,"count":1},{"startOffset":11027,"endOffset":11035,"count":0},{"startOffset":11036,"endOffset":11056,"count":1},{"startOffset":11094,"endOffset":11112,"count":1},{"startOffset":11113,"endOffset":11121,"count":0},{"startOffset":11122,"endOffset":11147,"count":1}],"isBlockCoverage":true},{"functionName":"findTypePoolType","ranges":[{"startOffset":11181,"endOffset":12366,"count":420},{"startOffset":11268,"endOffset":11309,"count":0},{"startOffset":11396,"endOffset":11422,"count":337},{"startOffset":11424,"endOffset":11465,"count":237},{"startOffset":11465,"endOffset":11526,"count":183},{"startOffset":11526,"endOffset":11598,"count":1},{"startOffset":11600,"endOffset":11681,"count":1},{"startOffset":11681,"endOffset":11754,"count":182},{"startOffset":11754,"endOffset":11944,"count":42},{"startOffset":11944,"endOffset":12048,"count":140},{"startOffset":12048,"endOffset":12089,"count":134},{"startOffset":12089,"endOffset":12220,"count":6},{"startOffset":12221,"endOffset":12229,"count":0},{"startOffset":12230,"endOffset":12250,"count":6},{"startOffset":12288,"endOffset":12306,"count":6},{"startOffset":12307,"endOffset":12315,"count":0},{"startOffset":12316,"endOffset":12337,"count":6}],"isBlockCoverage":true},{"functionName":"findInterfaceDefinition","ranges":[{"startOffset":12425,"endOffset":12886,"count":648},{"startOffset":12505,"endOffset":12546,"count":0},{"startOffset":12616,"endOffset":12624,"count":0},{"startOffset":12681,"endOffset":12719,"count":360},{"startOffset":12719,"endOffset":12799,"count":288},{"startOffset":12799,"endOffset":12854,"count":149},{"startOffset":12854,"endOffset":12885,"count":139}],"isBlockCoverage":true},{"functionName":"findFormDefinition","ranges":[{"startOffset":12891,"endOffset":13040,"count":15},{"startOffset":12995,"endOffset":13003,"count":0}],"isBlockCoverage":true},{"functionName":"findType","ranges":[{"startOffset":13045,"endOffset":13248,"count":1290},{"startOffset":13110,"endOffset":13151,"count":0},{"startOffset":13213,"endOffset":13221,"count":0}],"isBlockCoverage":true},{"functionName":"findExtraLikeType","ranges":[{"startOffset":13253,"endOffset":13474,"count":15},{"startOffset":13327,"endOffset":13368,"count":0},{"startOffset":13430,"endOffset":13438,"count":0}],"isBlockCoverage":true},{"functionName":"findVariable","ranges":[{"startOffset":13479,"endOffset":13802,"count":4184},{"startOffset":13548,"endOffset":13589,"count":0},{"startOffset":13658,"endOffset":13666,"count":0},{"startOffset":13711,"endOffset":13748,"count":3326},{"startOffset":13748,"endOffset":13801,"count":858}],"isBlockCoverage":true},{"functionName":"getDDIC","ranges":[{"startOffset":13839,"endOffset":13898,"count":4279}],"isBlockCoverage":true},{"functionName":"getDDICReferences","ranges":[{"startOffset":13903,"endOffset":13975,"count":419}],"isBlockCoverage":true},{"functionName":"getMSAGReferences","ranges":[{"startOffset":13980,"endOffset":14052,"count":31}],"isBlockCoverage":true},{"functionName":"getParentObj","ranges":[{"startOffset":14057,"endOffset":14110,"count":422}],"isBlockCoverage":true},{"functionName":"getName","ranges":[{"startOffset":14115,"endOffset":14282,"count":1661},{"startOffset":14167,"endOffset":14225,"count":0}],"isBlockCoverage":true},{"functionName":"getType","ranges":[{"startOffset":14287,"endOffset":14454,"count":3496},{"startOffset":14339,"endOffset":14397,"count":0}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":14459,"endOffset":15001,"count":24386},{"startOffset":14666,"endOffset":14797,"count":9173},{"startOffset":14797,"endOffset":14995,"count":15213}],"isBlockCoverage":true},{"functionName":"isOO","ranges":[{"startOffset":15006,"endOffset":15459,"count":308703},{"startOffset":15083,"endOffset":15431,"count":321874},{"startOffset":15292,"endOffset":15338,"count":321144},{"startOffset":15340,"endOffset":15384,"count":932},{"startOffset":15384,"endOffset":15431,"count":320942},{"startOffset":15431,"endOffset":15458,"count":307771}],"isBlockCoverage":true},{"functionName":"isGlobalOO","ranges":[{"startOffset":15464,"endOffset":15575,"count":827},{"startOffset":15530,"endOffset":15568,"count":781}],"isBlockCoverage":true},{"functionName":"isTypePool","ranges":[{"startOffset":15580,"endOffset":15760,"count":828},{"startOffset":15673,"endOffset":15681,"count":0},{"startOffset":15745,"endOffset":15753,"count":820}],"isBlockCoverage":true},{"functionName":"setAllowHeaderUse","ranges":[{"startOffset":15765,"endOffset":15881,"count":7}],"isBlockCoverage":true},{"functionName":"isAllowHeaderUse","ranges":[{"startOffset":15886,"endOffset":16054,"count":6},{"startOffset":16019,"endOffset":16027,"count":0}],"isBlockCoverage":true},{"functionName":"pop","ranges":[{"startOffset":16059,"endOffset":16497,"count":10664},{"startOffset":16231,"endOffset":16308,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1609","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/spaghetti_scope.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9330,"count":1}],"isBlockCoverage":true},{"functionName":"ScopeData","ranges":[{"startOffset":392,"endOffset":705,"count":24386}],"isBlockCoverage":true},{"functionName":"getData","ranges":[{"startOffset":710,"endOffset":753,"count":672066}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":805,"endOffset":928,"count":0}],"isBlockCoverage":false},{"functionName":"SpaghettiScopeNode","ranges":[{"startOffset":933,"endOffset":1085,"count":24386}],"isBlockCoverage":true},{"functionName":"getParent","ranges":[{"startOffset":1090,"endOffset":1137,"count":356731}],"isBlockCoverage":true},{"functionName":"addChild","ranges":[{"startOffset":1142,"endOffset":1198,"count":15213}],"isBlockCoverage":true},{"functionName":"getChildren","ranges":[{"startOffset":1203,"endOffset":1254,"count":19575}],"isBlockCoverage":true},{"functionName":"getFirstChild","ranges":[{"startOffset":1259,"endOffset":1315,"count":60}],"isBlockCoverage":true},{"functionName":"getIdentifier","ranges":[{"startOffset":1320,"endOffset":1375,"count":354992}],"isBlockCoverage":true},{"functionName":"calcCoverage","ranges":[{"startOffset":1380,"endOffset":1618,"count":8143},{"startOffset":1444,"endOffset":1537,"count":0}],"isBlockCoverage":true},{"functionName":"setEnd","ranges":[{"startOffset":1623,"endOffset":1677,"count":10664}],"isBlockCoverage":true},{"functionName":"findDeferred","ranges":[{"startOffset":1682,"endOffset":2144,"count":177},{"startOffset":1767,"endOffset":2112,"count":549},{"startOffset":1865,"endOffset":2061,"count":5},{"startOffset":2061,"endOffset":2112,"count":544},{"startOffset":2112,"endOffset":2143,"count":172}],"isBlockCoverage":true},{"functionName":"findClassDefinition","ranges":[{"startOffset":2149,"endOffset":2495,"count":4484},{"startOffset":2283,"endOffset":2463,"count":11444},{"startOffset":2371,"endOffset":2412,"count":2176},{"startOffset":2412,"endOffset":2463,"count":9268},{"startOffset":2463,"endOffset":2494,"count":2308}],"isBlockCoverage":true},{"functionName":"listClassDefinitions","ranges":[{"startOffset":2500,"endOffset":2755,"count":77},{"startOffset":2613,"endOffset":2729,"count":286}],"isBlockCoverage":true},{"functionName":"listInterfaceDefinitions","ranges":[{"startOffset":2760,"endOffset":3019,"count":77},{"startOffset":2877,"endOffset":2993,"count":286}],"isBlockCoverage":true},{"functionName":"findFormDefinition","ranges":[{"startOffset":3024,"endOffset":3425,"count":15},{"startOffset":3157,"endOffset":3393,"count":36},{"startOffset":3214,"endOffset":3342,"count":14},{"startOffset":3276,"endOffset":3328,"count":13},{"startOffset":3342,"endOffset":3393,"count":23},{"startOffset":3393,"endOffset":3424,"count":2}],"isBlockCoverage":true},{"functionName":"findInterfaceDefinition","ranges":[{"startOffset":3430,"endOffset":3775,"count":1009},{"startOffset":3568,"endOffset":3743,"count":2860},{"startOffset":3648,"endOffset":3692,"count":420},{"startOffset":3692,"endOffset":3743,"count":2440},{"startOffset":3743,"endOffset":3774,"count":589}],"isBlockCoverage":true},{"functionName":"findType","ranges":[{"startOffset":3780,"endOffset":4113,"count":2033},{"startOffset":3903,"endOffset":4081,"count":5638},{"startOffset":3985,"endOffset":4030,"count":760},{"startOffset":4030,"endOffset":4081,"count":4878},{"startOffset":4081,"endOffset":4112,"count":1273}],"isBlockCoverage":true},{"functionName":"findExtraLikeType","ranges":[{"startOffset":4118,"endOffset":4488,"count":15},{"startOffset":4250,"endOffset":4456,"count":43},{"startOffset":4339,"endOffset":4405,"count":1},{"startOffset":4405,"endOffset":4456,"count":42},{"startOffset":4456,"endOffset":4487,"count":14}],"isBlockCoverage":true},{"functionName":"findVariable","ranges":[{"startOffset":4493,"endOffset":4838,"count":5470},{"startOffset":4620,"endOffset":4806,"count":10690},{"startOffset":4699,"endOffset":4755,"count":3816},{"startOffset":4755,"endOffset":4806,"count":6874},{"startOffset":4806,"endOffset":4837,"count":1654}],"isBlockCoverage":true},{"functionName":"findWriteReference","ranges":[{"startOffset":4843,"endOffset":5253,"count":5},{"startOffset":4920,"endOffset":5221,"count":8},{"startOffset":5020,"endOffset":5056,"count":4},{"startOffset":5058,"endOffset":5211,"count":3},{"startOffset":5221,"endOffset":5252,"count":2}],"isBlockCoverage":true},{"functionName":"findTableReference","ranges":[{"startOffset":5258,"endOffset":5601,"count":14},{"startOffset":5335,"endOffset":5569,"count":20},{"startOffset":5431,"endOffset":5467,"count":7},{"startOffset":5484,"endOffset":5497,"count":7},{"startOffset":5499,"endOffset":5559,"count":7},{"startOffset":5569,"endOffset":5600,"count":7}],"isBlockCoverage":true},{"functionName":"findTableVoidReference","ranges":[{"startOffset":5606,"endOffset":5907,"count":3},{"startOffset":5687,"endOffset":5879,"count":7},{"startOffset":5787,"endOffset":5823,"count":2},{"startOffset":5825,"endOffset":5869,"count":2},{"startOffset":5879,"endOffset":5906,"count":1}],"isBlockCoverage":true},{"functionName":"findScopeForVariable","ranges":[{"startOffset":5957,"endOffset":6299,"count":1},{"startOffset":6092,"endOffset":6267,"count":2},{"startOffset":6154,"endOffset":6267,"count":1},{"startOffset":6267,"endOffset":6298,"count":0}],"isBlockCoverage":true},{"functionName":"SpaghettiScope","ranges":[{"startOffset":6378,"endOffset":6427,"count":10664}],"isBlockCoverage":true},{"functionName":"listDefinitions","ranges":[{"startOffset":6482,"endOffset":6942,"count":3},{"startOffset":6575,"endOffset":6916,"count":9},{"startOffset":6634,"endOffset":6906,"count":3}],"isBlockCoverage":true},{"functionName":"listReadPositions","ranges":[{"startOffset":6947,"endOffset":7429,"count":3},{"startOffset":7042,"endOffset":7403,"count":17},{"startOffset":7101,"endOffset":7393,"count":11},{"startOffset":7250,"endOffset":7290,"count":3},{"startOffset":7292,"endOffset":7361,"count":3}],"isBlockCoverage":true},{"functionName":"listWritePositions","ranges":[{"startOffset":7434,"endOffset":7918,"count":2},{"startOffset":7530,"endOffset":7892,"count":6},{"startOffset":7589,"endOffset":7882,"count":2},{"startOffset":7647,"endOffset":7868,"count":4},{"startOffset":7739,"endOffset":7779,"count":3},{"startOffset":7781,"endOffset":7850,"count":3}],"isBlockCoverage":true},{"functionName":"lookupPosition","ranges":[{"startOffset":7923,"endOffset":8123,"count":1902},{"startOffset":8008,"endOffset":8049,"count":0}],"isBlockCoverage":true},{"functionName":"getFirstChild","ranges":[{"startOffset":8128,"endOffset":8193,"count":7}],"isBlockCoverage":true},{"functionName":"getTop","ranges":[{"startOffset":8198,"endOffset":8240,"count":9253}],"isBlockCoverage":true},{"functionName":"allNodes","ranges":[{"startOffset":8279,"endOffset":8543,"count":8},{"startOffset":8384,"endOffset":8517,"count":32}],"isBlockCoverage":true},{"functionName":"lookupPositionTraverse","ranges":[{"startOffset":8548,"endOffset":9243,"count":8058},{"startOffset":8693,"endOffset":8747,"count":4204},{"startOffset":8749,"endOffset":8790,"count":1420},{"startOffset":8790,"endOffset":8893,"count":6638},{"startOffset":8893,"endOffset":9061,"count":6156},{"startOffset":9005,"endOffset":9051,"count":4688},{"startOffset":9061,"endOffset":9129,"count":1950},{"startOffset":9129,"endOffset":9173,"count":1899},{"startOffset":9175,"endOffset":9211,"count":1899},{"startOffset":9211,"endOffset":9242,"count":51}],"isBlockCoverage":true}]},{"scriptId":"1610","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/syntax.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":21725,"count":1}],"isBlockCoverage":true},{"functionName":"addToMap","ranges":[{"startOffset":8141,"endOffset":8371,"count":119},{"startOffset":8223,"endOffset":8324,"count":0}],"isBlockCoverage":true},{"functionName":"SyntaxLogic","ranges":[{"startOffset":13733,"endOffset":14103,"count":6592}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":14108,"endOffset":15109,"count":6592},{"startOffset":14168,"endOffset":14224,"count":4236},{"startOffset":14224,"endOffset":14418,"count":2356},{"startOffset":14418,"endOffset":14444,"count":2025},{"startOffset":14446,"endOffset":14640,"count":5},{"startOffset":14640,"endOffset":14689,"count":2351},{"startOffset":14689,"endOffset":15103,"count":6752},{"startOffset":14929,"endOffset":15093,"count":2351}],"isBlockCoverage":true},{"functionName":"traverseObject","ranges":[{"startOffset":15148,"endOffset":16679,"count":2351},{"startOffset":15291,"endOffset":15340,"count":331},{"startOffset":15342,"endOffset":16008,"count":2030},{"startOffset":15405,"endOffset":15560,"count":2036},{"startOffset":15653,"endOffset":15998,"count":2029},{"startOffset":15784,"endOffset":15870,"count":9},{"startOffset":16008,"endOffset":16329,"count":321},{"startOffset":16069,"endOffset":16329,"count":7},{"startOffset":16368,"endOffset":16646,"count":2365},{"startOffset":16511,"endOffset":16561,"count":17},{"startOffset":16561,"endOffset":16636,"count":2348},{"startOffset":16646,"endOffset":16678,"count":2334}],"isBlockCoverage":true},{"functionName":"newIssue","ranges":[{"startOffset":16684,"endOffset":16887,"count":30}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":16892,"endOffset":18207,"count":17640},{"startOffset":16957,"endOffset":18201,"count":43460},{"startOffset":17154,"endOffset":17345,"count":8677},{"startOffset":17270,"endOffset":17327,"count":1295},{"startOffset":17345,"endOffset":17457,"count":34783},{"startOffset":17384,"endOffset":17457,"count":7917},{"startOffset":17484,"endOffset":17597,"count":30},{"startOffset":17597,"endOffset":17660,"count":42135},{"startOffset":17660,"endOffset":17704,"count":7906},{"startOffset":17706,"endOffset":18093,"count":33},{"startOffset":17827,"endOffset":17863,"count":23},{"startOffset":17865,"endOffset":18079,"count":23},{"startOffset":18093,"endOffset":18122,"count":42135},{"startOffset":18122,"endOffset":18136,"count":34772},{"startOffset":18138,"endOffset":18191,"count":15269}],"isBlockCoverage":true},{"functionName":"updateScopeStructure","ranges":[{"startOffset":18308,"endOffset":19808,"count":8677},{"startOffset":18604,"endOffset":18705,"count":765},{"startOffset":18705,"endOffset":19780,"count":7912},{"startOffset":18761,"endOffset":18870,"count":187},{"startOffset":18870,"endOffset":19780,"count":7725},{"startOffset":18922,"endOffset":19034,"count":274},{"startOffset":19034,"endOffset":19780,"count":7451},{"startOffset":19090,"endOffset":19221,"count":10},{"startOffset":19221,"endOffset":19780,"count":7441},{"startOffset":19272,"endOffset":19388,"count":68},{"startOffset":19388,"endOffset":19780,"count":7373},{"startOffset":19442,"endOffset":19564,"count":1},{"startOffset":19564,"endOffset":19780,"count":7372},{"startOffset":19619,"endOffset":19780,"count":9},{"startOffset":19780,"endOffset":19807,"count":7363}],"isBlockCoverage":true},{"functionName":"updateScopeStatement","ranges":[{"startOffset":19813,"endOffset":21653,"count":7917},{"startOffset":20118,"endOffset":20223,"count":145},{"startOffset":20223,"endOffset":20718,"count":7772},{"startOffset":20275,"endOffset":20394,"count":48},{"startOffset":20394,"endOffset":20718,"count":7724},{"startOffset":20444,"endOffset":20559,"count":1},{"startOffset":20559,"endOffset":20718,"count":7723},{"startOffset":20607,"endOffset":20718,"count":1677},{"startOffset":20718,"endOffset":20783,"count":6046},{"startOffset":20783,"endOffset":20860,"count":4081},{"startOffset":20860,"endOffset":20913,"count":1965},{"startOffset":20913,"endOffset":21002,"count":7},{"startOffset":21002,"endOffset":21647,"count":1958},{"startOffset":21064,"endOffset":21102,"count":1770},{"startOffset":21115,"endOffset":21150,"count":1763},{"startOffset":21163,"endOffset":21202,"count":1013},{"startOffset":21204,"endOffset":21273,"count":945},{"startOffset":21273,"endOffset":21647,"count":1013},{"startOffset":21326,"endOffset":21647,"count":463},{"startOffset":21401,"endOffset":21478,"count":456},{"startOffset":21560,"endOffset":21637,"count":354}],"isBlockCoverage":true}]},{"scriptId":"1611","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_procedural.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8319,"count":1}],"isBlockCoverage":true},{"functionName":"Procedural","ranges":[{"startOffset":740,"endOffset":823,"count":6592}],"isBlockCoverage":true},{"functionName":"addAllFormDefinitions","ranges":[{"startOffset":828,"endOffset":1708,"count":2057},{"startOffset":933,"endOffset":1328,"count":2047},{"startOffset":1212,"endOffset":1318,"count":188},{"startOffset":1403,"endOffset":1434,"count":10},{"startOffset":1434,"endOffset":1541,"count":2047},{"startOffset":1541,"endOffset":1702,"count":31},{"startOffset":1621,"endOffset":1692,"count":21},{"startOffset":1702,"endOffset":1707,"count":2047}],"isBlockCoverage":true},{"functionName":"findInclude","ranges":[{"startOffset":1713,"endOffset":2917,"count":64},{"startOffset":2048,"endOffset":2089,"count":0},{"startOffset":2240,"endOffset":2379,"count":42},{"startOffset":2325,"endOffset":2369,"count":22},{"startOffset":2379,"endOffset":2467,"count":42},{"startOffset":2467,"endOffset":2521,"count":18},{"startOffset":2521,"endOffset":2885,"count":24},{"startOffset":2808,"endOffset":2861,"count":4},{"startOffset":2885,"endOffset":2916,"count":20}],"isBlockCoverage":true},{"functionName":"findFunctionScope","ranges":[{"startOffset":2922,"endOffset":8244,"count":7},{"startOffset":3050,"endOffset":3142,"count":0},{"startOffset":3471,"endOffset":3568,"count":0},{"startOffset":3709,"endOffset":8238,"count":8},{"startOffset":3809,"endOffset":3871,"count":0},{"startOffset":3920,"endOffset":4463,"count":1},{"startOffset":4501,"endOffset":4570,"count":7},{"startOffset":4656,"endOffset":5039,"count":1},{"startOffset":4714,"endOffset":4865,"count":0},{"startOffset":5094,"endOffset":5130,"count":4},{"startOffset":5132,"endOffset":5208,"count":6},{"startOffset":5180,"endOffset":5188,"count":0},{"startOffset":5210,"endOffset":6075,"count":1},{"startOffset":5395,"endOffset":5559,"count":0},{"startOffset":5640,"endOffset":5676,"count":0},{"startOffset":5769,"endOffset":5777,"count":0},{"startOffset":6075,"endOffset":6584,"count":7},{"startOffset":6135,"endOffset":6171,"count":4},{"startOffset":6173,"endOffset":6250,"count":5},{"startOffset":6221,"endOffset":6229,"count":0},{"startOffset":6252,"endOffset":6584,"count":0},{"startOffset":6639,"endOffset":6675,"count":5},{"startOffset":6677,"endOffset":6690,"count":5},{"startOffset":6692,"endOffset":7539,"count":5},{"startOffset":6779,"endOffset":6829,"count":3},{"startOffset":6910,"endOffset":6946,"count":3},{"startOffset":6948,"endOffset":7173,"count":2},{"startOffset":7045,"endOffset":7053,"count":1},{"startOffset":7054,"endOffset":7068,"count":1},{"startOffset":7097,"endOffset":7155,"count":1},{"startOffset":7254,"endOffset":7290,"count":4},{"startOffset":7292,"endOffset":7525,"count":1},{"startOffset":7397,"endOffset":7405,"count":0},{"startOffset":7593,"endOffset":7660,"count":0},{"startOffset":7662,"endOffset":7735,"count":0},{"startOffset":7792,"endOffset":7976,"count":1},{"startOffset":7976,"endOffset":8228,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1612","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/statics.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4251,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":608,"endOffset":4186,"count":1},{"startOffset":846,"endOffset":3766,"count":3},{"startOffset":971,"endOffset":1193,"count":0},{"startOffset":1250,"endOffset":1287,"count":0},{"startOffset":1289,"endOffset":1503,"count":0},{"startOffset":1603,"endOffset":1727,"count":1},{"startOffset":1660,"endOffset":1713,"count":0},{"startOffset":1727,"endOffset":3756,"count":2},{"startOffset":1827,"endOffset":3756,"count":1},{"startOffset":1967,"endOffset":1975,"count":0},{"startOffset":2099,"endOffset":2107,"count":0},{"startOffset":2165,"endOffset":2497,"count":0},{"startOffset":2551,"endOffset":3008,"count":0},{"startOffset":3065,"endOffset":3226,"count":0},{"startOffset":3288,"endOffset":3627,"count":0},{"startOffset":3683,"endOffset":3742,"count":171},{"startOffset":3795,"endOffset":4036,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1613","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/static.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1174,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":408,"endOffset":1112,"count":1},{"startOffset":517,"endOffset":682,"count":0},{"startOffset":815,"endOffset":1111,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1614","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/perform.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2557,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":500,"endOffset":2492,"count":16},{"startOffset":582,"endOffset":680,"count":0},{"startOffset":839,"endOffset":998,"count":2},{"startOffset":914,"endOffset":988,"count":4},{"startOffset":1078,"endOffset":1237,"count":0},{"startOffset":1316,"endOffset":1475,"count":1},{"startOffset":1608,"endOffset":1681,"count":0},{"startOffset":1741,"endOffset":1813,"count":1},{"startOffset":1813,"endOffset":1915,"count":15},{"startOffset":1915,"endOffset":1976,"count":0},{"startOffset":1976,"endOffset":2112,"count":15},{"startOffset":2112,"endOffset":2320,"count":2},{"startOffset":2320,"endOffset":2491,"count":13}],"isBlockCoverage":true}]},{"scriptId":"1615","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/search.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":466,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":235,"endOffset":404,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1616","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/translate.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":671,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":292,"endOffset":600,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1617","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/modify_internal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2847,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":523,"endOffset":2760,"count":4},{"startOffset":620,"endOffset":686,"count":5},{"startOffset":1165,"endOffset":1202,"count":0},{"startOffset":1265,"endOffset":1727,"count":3},{"startOffset":1343,"endOffset":1381,"count":2},{"startOffset":1402,"endOffset":1440,"count":1},{"startOffset":1442,"endOffset":1713,"count":1},{"startOffset":1727,"endOffset":2398,"count":1},{"startOffset":1944,"endOffset":2163,"count":0},{"startOffset":2177,"endOffset":2398,"count":0},{"startOffset":2408,"endOffset":2505,"count":3},{"startOffset":2505,"endOffset":2593,"count":0},{"startOffset":2593,"endOffset":2673,"count":3},{"startOffset":2673,"endOffset":2754,"count":0},{"startOffset":2754,"endOffset":2759,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1618","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/fstarget.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1310,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":332,"endOffset":1242,"count":101},{"startOffset":421,"endOffset":429,"count":0},{"startOffset":503,"endOffset":587,"count":62},{"startOffset":644,"endOffset":652,"count":0},{"startOffset":733,"endOffset":1236,"count":39},{"startOffset":890,"endOffset":1111,"count":4},{"startOffset":1111,"endOffset":1236,"count":35}],"isBlockCoverage":true}]},{"scriptId":"1619","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/inline_fs.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1458,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":351,"endOffset":1389,"count":66},{"startOffset":509,"endOffset":517,"count":0},{"startOffset":900,"endOffset":1383,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1620","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1683,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":408,"endOffset":1612,"count":6},{"startOffset":555,"endOffset":563,"count":0},{"startOffset":642,"endOffset":854,"count":1},{"startOffset":854,"endOffset":909,"count":5},{"startOffset":909,"endOffset":948,"count":1},{"startOffset":950,"endOffset":1160,"count":1},{"startOffset":1160,"endOffset":1268,"count":4},{"startOffset":1270,"endOffset":1416,"count":4},{"startOffset":1416,"endOffset":1606,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1621","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/fieldsymbol.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1082,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":379,"endOffset":1005,"count":76},{"startOffset":526,"endOffset":534,"count":0},{"startOffset":806,"endOffset":999,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1622","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/tables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1914,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":369,"endOffset":1852,"count":8},{"startOffset":517,"endOffset":525,"count":0},{"startOffset":585,"endOffset":626,"count":0},{"startOffset":700,"endOffset":746,"count":1},{"startOffset":885,"endOffset":893,"count":0},{"startOffset":1168,"endOffset":1235,"count":7},{"startOffset":1237,"endOffset":1468,"count":1},{"startOffset":1468,"endOffset":1624,"count":7},{"startOffset":1654,"endOffset":1851,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1623","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/selectoption.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2619,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":467,"endOffset":2539,"count":5},{"startOffset":614,"endOffset":622,"count":0},{"startOffset":701,"endOffset":906,"count":0},{"startOffset":980,"endOffset":1048,"count":1},{"startOffset":1309,"endOffset":1808,"count":1},{"startOffset":1595,"endOffset":1690,"count":0},{"startOffset":2339,"endOffset":2533,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1624","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/dynamic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":594,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":281,"endOffset":529,"count":48},{"startOffset":398,"endOffset":523,"count":29}],"isBlockCoverage":true}]},{"scriptId":"1625","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/interface_deferred.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":532,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":206,"endOffset":436,"count":2},{"startOffset":353,"endOffset":361,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1626","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/class_deferred.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":508,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":198,"endOffset":424,"count":3},{"startOffset":341,"endOffset":349,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1627","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1505,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":479,"endOffset":1449,"count":225},{"startOffset":584,"endOffset":733,"count":199},{"startOffset":733,"endOffset":816,"count":26},{"startOffset":816,"endOffset":1016,"count":0},{"startOffset":1016,"endOffset":1196,"count":26},{"startOffset":1196,"endOffset":1443,"count":13},{"startOffset":1392,"endOffset":1431,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1628","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9633,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":961,"endOffset":7488,"count":28},{"startOffset":1211,"endOffset":1310,"count":0},{"startOffset":1406,"endOffset":1565,"count":3},{"startOffset":1494,"endOffset":1502,"count":0},{"startOffset":1643,"endOffset":1688,"count":2},{"startOffset":1701,"endOffset":1743,"count":2},{"startOffset":1756,"endOffset":1843,"count":2},{"startOffset":1805,"endOffset":1813,"count":0},{"startOffset":1845,"endOffset":2390,"count":2},{"startOffset":1954,"endOffset":1962,"count":1},{"startOffset":1963,"endOffset":2018,"count":1},{"startOffset":2055,"endOffset":2109,"count":1},{"startOffset":2111,"endOffset":2380,"count":1},{"startOffset":2390,"endOffset":2440,"count":27},{"startOffset":2440,"endOffset":2590,"count":9},{"startOffset":2590,"endOffset":2627,"count":18},{"startOffset":2627,"endOffset":6825,"count":39},{"startOffset":2714,"endOffset":2752,"count":0},{"startOffset":2809,"endOffset":3530,"count":0},{"startOffset":3616,"endOffset":3664,"count":28},{"startOffset":3666,"endOffset":3734,"count":18},{"startOffset":3734,"endOffset":6815,"count":21},{"startOffset":3823,"endOffset":3874,"count":5},{"startOffset":3876,"endOffset":6165,"count":19},{"startOffset":4184,"endOffset":4238,"count":17},{"startOffset":4289,"endOffset":4386,"count":4},{"startOffset":4404,"endOffset":4562,"count":15},{"startOffset":4563,"endOffset":4574,"count":0},{"startOffset":4693,"endOffset":4718,"count":15},{"startOffset":4719,"endOffset":4727,"count":0},{"startOffset":4728,"endOffset":4750,"count":15},{"startOffset":5013,"endOffset":5116,"count":4},{"startOffset":5062,"endOffset":5070,"count":0},{"startOffset":5118,"endOffset":5262,"count":1},{"startOffset":5262,"endOffset":6151,"count":14},{"startOffset":5309,"endOffset":5350,"count":3},{"startOffset":5352,"endOffset":5669,"count":3},{"startOffset":5669,"endOffset":6151,"count":11},{"startOffset":5814,"endOffset":5822,"count":0},{"startOffset":5921,"endOffset":5929,"count":9},{"startOffset":5930,"endOffset":5938,"count":2},{"startOffset":6165,"endOffset":6815,"count":2},{"startOffset":6238,"endOffset":6289,"count":0},{"startOffset":6291,"endOffset":6561,"count":0},{"startOffset":6825,"endOffset":6887,"count":15},{"startOffset":6887,"endOffset":6928,"count":4},{"startOffset":6930,"endOffset":7175,"count":0},{"startOffset":7175,"endOffset":7458,"count":15},{"startOffset":7216,"endOffset":7458,"count":0},{"startOffset":7458,"endOffset":7487,"count":15}],"isBlockCoverage":true},{"functionName":"findTop","ranges":[{"startOffset":7536,"endOffset":9552,"count":28},{"startOffset":7628,"endOffset":8809,"count":10},{"startOffset":7919,"endOffset":7981,"count":3},{"startOffset":7983,"endOffset":8262,"count":2},{"startOffset":8262,"endOffset":8584,"count":8},{"startOffset":8315,"endOffset":8584,"count":1},{"startOffset":8584,"endOffset":8809,"count":7},{"startOffset":8809,"endOffset":9520,"count":18},{"startOffset":8917,"endOffset":8939,"count":13},{"startOffset":8941,"endOffset":9075,"count":10},{"startOffset":9075,"endOffset":9520,"count":8},{"startOffset":9190,"endOffset":9291,"count":0},{"startOffset":9396,"endOffset":9520,"count":5},{"startOffset":9520,"endOffset":9551,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1629","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_call_body.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1083,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":358,"endOffset":995,"count":13},{"startOffset":499,"endOffset":603,"count":8},{"startOffset":701,"endOffset":799,"count":4},{"startOffset":923,"endOffset":989,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1630","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/class_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2770,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":566,"endOffset":2668,"count":750},{"startOffset":970,"endOffset":1188,"count":3},{"startOffset":1188,"endOffset":1260,"count":747},{"startOffset":1260,"endOffset":1312,"count":127},{"startOffset":1312,"endOffset":1416,"count":747},{"startOffset":1416,"endOffset":1639,"count":149},{"startOffset":1639,"endOffset":1970,"count":598},{"startOffset":1970,"endOffset":2543,"count":747},{"startOffset":2543,"endOffset":2599,"count":81},{"startOffset":2599,"endOffset":2667,"count":747}],"isBlockCoverage":true}]},{"scriptId":"1631","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/method_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2667,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":420,"endOffset":2562,"count":463},{"startOffset":737,"endOffset":745,"count":0},{"startOffset":889,"endOffset":1107,"count":2},{"startOffset":1107,"endOffset":1251,"count":461},{"startOffset":1251,"endOffset":1467,"count":5},{"startOffset":1467,"endOffset":1574,"count":456},{"startOffset":1574,"endOffset":1770,"count":354},{"startOffset":1770,"endOffset":2139,"count":456},{"startOffset":2139,"endOffset":2556,"count":38},{"startOffset":2232,"endOffset":2380,"count":19},{"startOffset":2380,"endOffset":2421,"count":0},{"startOffset":2421,"endOffset":2556,"count":19},{"startOffset":2556,"endOffset":2561,"count":456}],"isBlockCoverage":true}]},{"scriptId":"1632","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/move.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2380,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":445,"endOffset":2324,"count":869},{"startOffset":652,"endOffset":660,"count":0},{"startOffset":791,"endOffset":1107,"count":647},{"startOffset":884,"endOffset":895,"count":0},{"startOffset":934,"endOffset":1097,"count":648},{"startOffset":975,"endOffset":1024,"count":647},{"startOffset":1024,"endOffset":1097,"count":1},{"startOffset":1273,"endOffset":1284,"count":0},{"startOffset":1324,"endOffset":1515,"count":0},{"startOffset":1515,"endOffset":1536,"count":868},{"startOffset":1536,"endOffset":1665,"count":221},{"startOffset":1665,"endOffset":1712,"count":868},{"startOffset":1712,"endOffset":2027,"count":5},{"startOffset":1817,"endOffset":2017,"count":0},{"startOffset":2027,"endOffset":2318,"count":863},{"startOffset":2134,"endOffset":2318,"count":11}],"isBlockCoverage":true}]},{"scriptId":"1633","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/move_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1920,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":454,"endOffset":1824,"count":9},{"startOffset":663,"endOffset":874,"count":0},{"startOffset":1081,"endOffset":1136,"count":1},{"startOffset":1138,"endOffset":1818,"count":1},{"startOffset":1471,"endOffset":1808,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1634","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/catch.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4081,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":515,"endOffset":4022,"count":13},{"startOffset":668,"endOffset":1884,"count":14},{"startOffset":889,"endOffset":897,"count":10},{"startOffset":898,"endOffset":908,"count":4},{"startOffset":910,"endOffset":1052,"count":4},{"startOffset":1052,"endOffset":1576,"count":10},{"startOffset":1358,"endOffset":1576,"count":0},{"startOffset":1615,"endOffset":1840,"count":1},{"startOffset":1840,"endOffset":1884,"count":13},{"startOffset":1884,"endOffset":2067,"count":12},{"startOffset":2068,"endOffset":2076,"count":0},{"startOffset":2077,"endOffset":2106,"count":12},{"startOffset":2136,"endOffset":2156,"count":12},{"startOffset":2157,"endOffset":2165,"count":6},{"startOffset":2166,"endOffset":2219,"count":6},{"startOffset":2221,"endOffset":3919,"count":3},{"startOffset":2334,"endOffset":2342,"count":0},{"startOffset":2521,"endOffset":2531,"count":0},{"startOffset":2534,"endOffset":2920,"count":0},{"startOffset":3398,"endOffset":3909,"count":0},{"startOffset":3919,"endOffset":4016,"count":9},{"startOffset":3945,"endOffset":4016,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1635","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5799,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":739,"endOffset":5743,"count":124},{"startOffset":908,"endOffset":916,"count":8},{"startOffset":917,"endOffset":970,"count":116},{"startOffset":1006,"endOffset":1054,"count":78},{"startOffset":1055,"endOffset":1066,"count":46},{"startOffset":1102,"endOffset":1183,"count":46},{"startOffset":1252,"endOffset":1260,"count":8},{"startOffset":1261,"endOffset":1308,"count":116},{"startOffset":1516,"endOffset":1565,"count":2},{"startOffset":1676,"endOffset":1687,"count":0},{"startOffset":1818,"endOffset":2009,"count":0},{"startOffset":2070,"endOffset":2284,"count":0},{"startOffset":2354,"endOffset":2377,"count":102},{"startOffset":2390,"endOffset":2428,"count":41},{"startOffset":2441,"endOffset":2475,"count":35},{"startOffset":2477,"endOffset":2663,"count":1},{"startOffset":2663,"endOffset":3475,"count":123},{"startOffset":2736,"endOffset":2779,"count":22},{"startOffset":2792,"endOffset":2836,"count":22},{"startOffset":2849,"endOffset":2893,"count":21},{"startOffset":2906,"endOffset":2954,"count":0},{"startOffset":2956,"endOffset":3144,"count":0},{"startOffset":3199,"endOffset":3241,"count":7},{"startOffset":3254,"endOffset":3292,"count":7},{"startOffset":3294,"endOffset":3475,"count":1},{"startOffset":3475,"endOffset":3549,"count":122},{"startOffset":3550,"endOffset":3558,"count":6},{"startOffset":3559,"endOffset":3600,"count":116},{"startOffset":3655,"endOffset":3951,"count":100},{"startOffset":3803,"endOffset":3811,"count":6},{"startOffset":3812,"endOffset":3856,"count":94},{"startOffset":3858,"endOffset":3941,"count":18},{"startOffset":3951,"endOffset":3989,"count":122},{"startOffset":3989,"endOffset":4032,"count":116},{"startOffset":4045,"endOffset":4097,"count":2},{"startOffset":4099,"endOffset":4309,"count":1},{"startOffset":4309,"endOffset":4369,"count":121},{"startOffset":4370,"endOffset":4378,"count":43},{"startOffset":4379,"endOffset":4432,"count":78},{"startOffset":4454,"endOffset":4546,"count":57},{"startOffset":4546,"endOffset":4580,"count":121},{"startOffset":4580,"endOffset":4723,"count":6},{"startOffset":4617,"endOffset":4658,"count":2},{"startOffset":4658,"endOffset":4723,"count":4},{"startOffset":4723,"endOffset":4785,"count":121},{"startOffset":4786,"endOffset":4794,"count":43},{"startOffset":4795,"endOffset":4846,"count":78},{"startOffset":4870,"endOffset":4960,"count":1},{"startOffset":4960,"endOffset":5249,"count":120},{"startOffset":5050,"endOffset":5058,"count":6},{"startOffset":5059,"endOffset":5114,"count":114},{"startOffset":5142,"endOffset":5239,"count":36},{"startOffset":5249,"endOffset":5329,"count":121},{"startOffset":5329,"endOffset":5419,"count":10},{"startOffset":5419,"endOffset":5493,"count":121},{"startOffset":5493,"endOffset":5561,"count":0},{"startOffset":5561,"endOffset":5655,"count":121},{"startOffset":5655,"endOffset":5737,"count":20}],"isBlockCoverage":true}]},{"scriptId":"1636","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/loop_group_by.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1397,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":428,"endOffset":1318,"count":20},{"startOffset":522,"endOffset":850,"count":12},{"startOffset":748,"endOffset":840,"count":0},{"startOffset":922,"endOffset":1029,"count":7},{"startOffset":1116,"endOffset":1312,"count":18},{"startOffset":1207,"endOffset":1302,"count":15}],"isBlockCoverage":true}]},{"scriptId":"1637","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/read_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6689,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":643,"endOffset":6617,"count":78},{"startOffset":917,"endOffset":966,"count":1},{"startOffset":1060,"endOffset":1071,"count":0},{"startOffset":1111,"endOffset":1314,"count":0},{"startOffset":1375,"endOffset":1419,"count":8},{"startOffset":1421,"endOffset":1615,"count":1},{"startOffset":1615,"endOffset":1700,"count":77},{"startOffset":1700,"endOffset":1755,"count":70},{"startOffset":1755,"endOffset":1884,"count":77},{"startOffset":1884,"endOffset":2002,"count":49},{"startOffset":2002,"endOffset":2096,"count":77},{"startOffset":2096,"endOffset":2524,"count":26},{"startOffset":2300,"endOffset":2514,"count":1},{"startOffset":2524,"endOffset":2615,"count":76},{"startOffset":2615,"endOffset":3031,"count":1},{"startOffset":2798,"endOffset":3021,"count":0},{"startOffset":3031,"endOffset":3128,"count":76},{"startOffset":3128,"endOffset":3751,"count":28},{"startOffset":3164,"endOffset":3184,"count":27},{"startOffset":3185,"endOffset":3204,"count":2},{"startOffset":3206,"endOffset":3247,"count":27},{"startOffset":3247,"endOffset":3741,"count":1},{"startOffset":3405,"endOffset":3441,"count":0},{"startOffset":3442,"endOffset":3488,"count":0},{"startOffset":3751,"endOffset":3851,"count":75},{"startOffset":3851,"endOffset":4896,"count":74},{"startOffset":3906,"endOffset":3983,"count":2},{"startOffset":4232,"endOffset":4329,"count":10},{"startOffset":4329,"endOffset":4886,"count":64},{"startOffset":4356,"endOffset":4445,"count":18},{"startOffset":4445,"endOffset":4886,"count":46},{"startOffset":4470,"endOffset":4886,"count":16},{"startOffset":4656,"endOffset":4872,"count":2},{"startOffset":4896,"endOffset":4930,"count":73},{"startOffset":4930,"endOffset":4986,"count":1},{"startOffset":4988,"endOffset":5388,"count":1},{"startOffset":5388,"endOffset":5514,"count":72},{"startOffset":5514,"endOffset":5555,"count":1},{"startOffset":5568,"endOffset":5612,"count":1},{"startOffset":5625,"endOffset":5665,"count":1},{"startOffset":5667,"endOffset":6611,"count":1},{"startOffset":5730,"endOffset":5945,"count":0},{"startOffset":6024,"endOffset":6032,"count":0},{"startOffset":6093,"endOffset":6098,"count":0},{"startOffset":6191,"endOffset":6268,"count":0},{"startOffset":6601,"endOffset":6611,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1638","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_compare_simple.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1909,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":452,"endOffset":1797,"count":49},{"startOffset":566,"endOffset":1791,"count":156},{"startOffset":621,"endOffset":1781,"count":104},{"startOffset":696,"endOffset":1767,"count":52},{"startOffset":883,"endOffset":946,"count":0},{"startOffset":1234,"endOffset":1490,"count":1},{"startOffset":1508,"endOffset":1767,"count":0},{"startOffset":1791,"endOffset":1796,"count":48}],"isBlockCoverage":true}]},{"scriptId":"1639","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/select.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":616,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":235,"endOffset":554,"count":103},{"startOffset":381,"endOffset":548,"count":104}],"isBlockCoverage":true}]},{"scriptId":"1640","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/select.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":11447,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":781,"endOffset":4725,"count":120},{"startOffset":992,"endOffset":1041,"count":119},{"startOffset":1042,"endOffset":1046,"count":1},{"startOffset":1080,"endOffset":1258,"count":1},{"startOffset":1258,"endOffset":1356,"count":119},{"startOffset":1356,"endOffset":1428,"count":1},{"startOffset":1430,"endOffset":1610,"count":1},{"startOffset":1610,"endOffset":1820,"count":118},{"startOffset":1820,"endOffset":2018,"count":9},{"startOffset":2018,"endOffset":2088,"count":118},{"startOffset":2088,"endOffset":2154,"count":113},{"startOffset":2154,"endOffset":2290,"count":118},{"startOffset":2290,"endOffset":2358,"count":117},{"startOffset":2371,"endOffset":2438,"count":75},{"startOffset":2451,"endOffset":2523,"count":70},{"startOffset":2525,"endOffset":3596,"count":9},{"startOffset":2640,"endOffset":2648,"count":4},{"startOffset":2649,"endOffset":2668,"count":5},{"startOffset":2769,"endOffset":2796,"count":5},{"startOffset":2798,"endOffset":3586,"count":4},{"startOffset":2867,"endOffset":2875,"count":0},{"startOffset":3082,"endOffset":3554,"count":2},{"startOffset":3596,"endOffset":3690,"count":116},{"startOffset":3690,"endOffset":3763,"count":1},{"startOffset":3763,"endOffset":3838,"count":116},{"startOffset":3838,"endOffset":4008,"count":10},{"startOffset":4008,"endOffset":4093,"count":116},{"startOffset":4093,"endOffset":4264,"count":9},{"startOffset":4264,"endOffset":4338,"count":116},{"startOffset":4338,"endOffset":4424,"count":75},{"startOffset":4424,"endOffset":4501,"count":116},{"startOffset":4501,"endOffset":4577,"count":5},{"startOffset":4577,"endOffset":4649,"count":116},{"startOffset":4649,"endOffset":4719,"count":9}],"isBlockCoverage":true},{"functionName":"handleInto","ranges":[{"startOffset":4730,"endOffset":7632,"count":118},{"startOffset":4877,"endOffset":5136,"count":42},{"startOffset":4985,"endOffset":5126,"count":20},{"startOffset":5251,"endOffset":5529,"count":61},{"startOffset":5344,"endOffset":5519,"count":29},{"startOffset":5629,"endOffset":7626,"count":5},{"startOffset":5681,"endOffset":5760,"count":1},{"startOffset":5894,"endOffset":5915,"count":1},{"startOffset":5917,"endOffset":6147,"count":0},{"startOffset":6201,"endOffset":7616,"count":10},{"startOffset":6398,"endOffset":7602,"count":2},{"startOffset":6435,"endOffset":6690,"count":0},{"startOffset":7001,"endOffset":7453,"count":0}],"isBlockCoverage":true},{"functionName":"checkFields","ranges":[{"startOffset":7637,"endOffset":8793,"count":118},{"startOffset":7717,"endOffset":7748,"count":4},{"startOffset":7748,"endOffset":7818,"count":114},{"startOffset":7818,"endOffset":7880,"count":98},{"startOffset":7880,"endOffset":8029,"count":16},{"startOffset":8031,"endOffset":8062,"count":0},{"startOffset":8062,"endOffset":8117,"count":16},{"startOffset":8117,"endOffset":8340,"count":0},{"startOffset":8340,"endOffset":8787,"count":16},{"startOffset":8415,"endOffset":8456,"count":12},{"startOffset":8456,"endOffset":8551,"count":4},{"startOffset":8553,"endOffset":8777,"count":0},{"startOffset":8787,"endOffset":8792,"count":16}],"isBlockCoverage":true},{"functionName":"buildTableType","ranges":[{"startOffset":8798,"endOffset":10157,"count":20},{"startOffset":8877,"endOffset":8944,"count":1},{"startOffset":8944,"endOffset":8985,"count":19},{"startOffset":8985,"endOffset":9091,"count":18},{"startOffset":9091,"endOffset":9216,"count":1},{"startOffset":9216,"endOffset":9283,"count":0},{"startOffset":9283,"endOffset":9341,"count":1},{"startOffset":9343,"endOffset":9477,"count":0},{"startOffset":9477,"endOffset":10099,"count":1},{"startOffset":9777,"endOffset":9860,"count":0},{"startOffset":10099,"endOffset":10156,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9523,"endOffset":9549,"count":1}],"isBlockCoverage":true},{"functionName":"findFields","ranges":[{"startOffset":10162,"endOffset":11385,"count":119},{"startOffset":10361,"endOffset":10448,"count":17},{"startOffset":10501,"endOffset":10509,"count":1},{"startOffset":10510,"endOffset":10532,"count":118},{"startOffset":10560,"endOffset":10568,"count":1},{"startOffset":10569,"endOffset":10579,"count":118},{"startOffset":10613,"endOffset":10700,"count":2},{"startOffset":10763,"endOffset":10771,"count":1},{"startOffset":10772,"endOffset":10855,"count":118},{"startOffset":10857,"endOffset":10862,"count":1},{"startOffset":10864,"endOffset":11230,"count":52},{"startOffset":11041,"endOffset":11060,"count":0},{"startOffset":11096,"endOffset":11165,"count":0},{"startOffset":11260,"endOffset":11267,"count":93},{"startOffset":11269,"endOffset":11359,"count":92}],"isBlockCoverage":true}]},{"scriptId":"1641","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_from.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":917,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":280,"endOffset":851,"count":119},{"startOffset":443,"endOffset":825,"count":125},{"startOffset":519,"endOffset":595,"count":7},{"startOffset":712,"endOffset":815,"count":124}],"isBlockCoverage":true}]},{"scriptId":"1642","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/database_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1361,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":235,"endOffset":1277,"count":140},{"startOffset":367,"endOffset":431,"count":10},{"startOffset":431,"endOffset":534,"count":130},{"startOffset":534,"endOffset":590,"count":111},{"startOffset":592,"endOffset":787,"count":14},{"startOffset":787,"endOffset":1249,"count":116},{"startOffset":826,"endOffset":956,"count":97},{"startOffset":956,"endOffset":1249,"count":19},{"startOffset":1249,"endOffset":1276,"count":130}],"isBlockCoverage":true}]},{"scriptId":"1643","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_for_all_entries.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1202,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":341,"endOffset":1107,"count":9},{"startOffset":673,"endOffset":712,"count":2},{"startOffset":712,"endOffset":767,"count":7},{"startOffset":767,"endOffset":981,"count":0},{"startOffset":981,"endOffset":1101,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1644","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":649,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":228,"endOffset":577,"count":94},{"startOffset":322,"endOffset":395,"count":1},{"startOffset":395,"endOffset":472,"count":93},{"startOffset":472,"endOffset":545,"count":84},{"startOffset":545,"endOffset":576,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1645","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_compare.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3743,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":440,"endOffset":3324,"count":75},{"startOffset":603,"endOffset":611,"count":0},{"startOffset":656,"endOffset":763,"count":3},{"startOffset":763,"endOffset":843,"count":72},{"startOffset":843,"endOffset":909,"count":0},{"startOffset":909,"endOffset":985,"count":72},{"startOffset":985,"endOffset":1295,"count":65},{"startOffset":1036,"endOffset":1210,"count":83},{"startOffset":1099,"endOffset":1196,"count":65},{"startOffset":1295,"endOffset":1383,"count":72},{"startOffset":1383,"endOffset":1452,"count":7},{"startOffset":1452,"endOffset":1563,"count":72},{"startOffset":1564,"endOffset":1572,"count":0},{"startOffset":1573,"endOffset":1592,"count":72},{"startOffset":1616,"endOffset":1629,"count":72},{"startOffset":1630,"endOffset":1638,"count":56},{"startOffset":1640,"endOffset":3318,"count":56},{"startOffset":1889,"endOffset":1935,"count":5},{"startOffset":1937,"endOffset":2008,"count":1},{"startOffset":2008,"endOffset":3187,"count":55},{"startOffset":2088,"endOffset":2132,"count":4},{"startOffset":2134,"endOffset":2205,"count":0},{"startOffset":2285,"endOffset":2329,"count":0},{"startOffset":2331,"endOffset":2402,"count":0},{"startOffset":2484,"endOffset":2528,"count":28},{"startOffset":2530,"endOffset":2601,"count":0},{"startOffset":2683,"endOffset":2729,"count":28},{"startOffset":2746,"endOffset":2796,"count":6},{"startOffset":2798,"endOffset":2896,"count":2},{"startOffset":2896,"endOffset":3187,"count":53},{"startOffset":2976,"endOffset":3020,"count":0},{"startOffset":3037,"endOffset":3087,"count":0},{"startOffset":3089,"endOffset":3187,"count":0},{"startOffset":3220,"endOffset":3308,"count":3}],"isBlockCoverage":true},{"functionName":"findType","ranges":[{"startOffset":3329,"endOffset":3668,"count":56},{"startOffset":3398,"endOffset":3636,"count":59},{"startOffset":3452,"endOffset":3460,"count":51},{"startOffset":3461,"endOffset":3495,"count":8},{"startOffset":3552,"endOffset":3626,"count":8},{"startOffset":3636,"endOffset":3667,"count":48}],"isBlockCoverage":true}]},{"scriptId":"1646","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_in.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1436,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":327,"endOffset":1376,"count":7},{"startOffset":397,"endOffset":1065,"count":2},{"startOffset":808,"endOffset":1021,"count":1},{"startOffset":1035,"endOffset":1065,"count":1},{"startOffset":1065,"endOffset":1141,"count":5},{"startOffset":1141,"endOffset":1214,"count":2},{"startOffset":1214,"endOffset":1375,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1647","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_order_by.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":494,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":232,"endOffset":418,"count":5},{"startOffset":342,"endOffset":412,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1648","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_internal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4525,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":623,"endOffset":4438,"count":82},{"startOffset":752,"endOffset":831,"count":80},{"startOffset":899,"endOffset":943,"count":5},{"startOffset":956,"endOffset":999,"count":4},{"startOffset":1012,"endOffset":1059,"count":4},{"startOffset":1072,"endOffset":1099,"count":4},{"startOffset":1101,"endOffset":1296,"count":2},{"startOffset":1296,"endOffset":1481,"count":80},{"startOffset":1366,"endOffset":1418,"count":77},{"startOffset":1420,"endOffset":1481,"count":75},{"startOffset":1481,"endOffset":1591,"count":80},{"startOffset":1591,"endOffset":1670,"count":21},{"startOffset":1670,"endOffset":1705,"count":80},{"startOffset":1705,"endOffset":1765,"count":79},{"startOffset":1766,"endOffset":1778,"count":1},{"startOffset":1829,"endOffset":1874,"count":2},{"startOffset":1887,"endOffset":1931,"count":1},{"startOffset":1944,"endOffset":1987,"count":1},{"startOffset":2000,"endOffset":2047,"count":1},{"startOffset":2049,"endOffset":2244,"count":1},{"startOffset":2244,"endOffset":2385,"count":79},{"startOffset":2386,"endOffset":2394,"count":74},{"startOffset":2395,"endOffset":2417,"count":5},{"startOffset":2452,"endOffset":2861,"count":5},{"startOffset":2536,"endOffset":2544,"count":0},{"startOffset":2632,"endOffset":2730,"count":3},{"startOffset":2730,"endOffset":2851,"count":2},{"startOffset":2861,"endOffset":2927,"count":79},{"startOffset":2927,"endOffset":3665,"count":76},{"startOffset":3040,"endOffset":3242,"count":1},{"startOffset":3242,"endOffset":3655,"count":75},{"startOffset":3308,"endOffset":3351,"count":4},{"startOffset":3353,"endOffset":3655,"count":1},{"startOffset":3665,"endOffset":3786,"count":77},{"startOffset":3787,"endOffset":3795,"count":70},{"startOffset":3796,"endOffset":3813,"count":7},{"startOffset":3845,"endOffset":3858,"count":7},{"startOffset":3860,"endOffset":4209,"count":7},{"startOffset":3969,"endOffset":4099,"count":3},{"startOffset":4099,"endOffset":4199,"count":4},{"startOffset":4209,"endOffset":4282,"count":77},{"startOffset":4282,"endOffset":4432,"count":22},{"startOffset":4314,"endOffset":4355,"count":20},{"startOffset":4355,"endOffset":4432,"count":2},{"startOffset":4432,"endOffset":4437,"count":77}],"isBlockCoverage":true}]},{"scriptId":"1649","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/split.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2371,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":493,"endOffset":2312,"count":7},{"startOffset":750,"endOffset":776,"count":0},{"startOffset":958,"endOffset":1052,"count":2},{"startOffset":1052,"endOffset":2157,"count":5},{"startOffset":1277,"endOffset":1324,"count":2},{"startOffset":1349,"endOffset":1393,"count":2},{"startOffset":1395,"endOffset":1635,"count":0},{"startOffset":1701,"endOffset":1786,"count":3},{"startOffset":1906,"endOffset":2143,"count":1},{"startOffset":2167,"endOffset":2240,"count":6},{"startOffset":2240,"endOffset":2306,"count":12},{"startOffset":2306,"endOffset":2311,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1650","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/assign.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4196,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":491,"endOffset":4134,"count":33},{"startOffset":692,"endOffset":700,"count":0},{"startOffset":793,"endOffset":798,"count":0},{"startOffset":968,"endOffset":976,"count":0},{"startOffset":1088,"endOffset":1096,"count":0},{"startOffset":1207,"endOffset":1215,"count":0},{"startOffset":1311,"endOffset":1319,"count":20},{"startOffset":1320,"endOffset":1349,"count":13},{"startOffset":1360,"endOffset":1374,"count":4},{"startOffset":1375,"endOffset":1486,"count":4},{"startOffset":1426,"endOffset":1434,"count":0},{"startOffset":1488,"endOffset":2037,"count":4},{"startOffset":1607,"endOffset":1640,"count":2},{"startOffset":1678,"endOffset":1725,"count":2},{"startOffset":1726,"endOffset":1759,"count":0},{"startOffset":1761,"endOffset":1969,"count":0},{"startOffset":2037,"endOffset":2138,"count":29},{"startOffset":2201,"endOffset":2209,"count":0},{"startOffset":2265,"endOffset":2450,"count":8},{"startOffset":2324,"endOffset":2332,"count":0},{"startOffset":2391,"endOffset":2399,"count":0},{"startOffset":2452,"endOffset":2960,"count":8},{"startOffset":2737,"endOffset":2950,"count":1},{"startOffset":2960,"endOffset":2998,"count":32},{"startOffset":2998,"endOffset":3117,"count":28},{"startOffset":3051,"endOffset":3059,"count":0},{"startOffset":3119,"endOffset":3178,"count":9},{"startOffset":3178,"endOffset":3252,"count":32},{"startOffset":3253,"endOffset":3261,"count":0},{"startOffset":3262,"endOffset":3316,"count":32},{"startOffset":3318,"endOffset":3323,"count":0},{"startOffset":3325,"endOffset":3393,"count":10},{"startOffset":3393,"endOffset":3917,"count":32},{"startOffset":3560,"endOffset":3568,"count":0},{"startOffset":3627,"endOffset":3635,"count":0},{"startOffset":3688,"endOffset":3794,"count":7},{"startOffset":3794,"endOffset":3907,"count":25},{"startOffset":3917,"endOffset":3987,"count":32},{"startOffset":3987,"endOffset":4128,"count":28},{"startOffset":4022,"endOffset":4063,"count":27},{"startOffset":4063,"endOffset":4128,"count":1},{"startOffset":4128,"endOffset":4133,"count":32}],"isBlockCoverage":true}]},{"scriptId":"1651","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/convert.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2421,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":395,"endOffset":2356,"count":3},{"startOffset":547,"endOffset":613,"count":7},{"startOffset":738,"endOffset":746,"count":0},{"startOffset":798,"endOffset":1187,"count":2},{"startOffset":872,"endOffset":880,"count":0},{"startOffset":1076,"endOffset":1177,"count":0},{"startOffset":1312,"endOffset":1320,"count":0},{"startOffset":1372,"endOffset":1761,"count":2},{"startOffset":1446,"endOffset":1454,"count":0},{"startOffset":1650,"endOffset":1751,"count":0},{"startOffset":1890,"endOffset":1898,"count":0},{"startOffset":1951,"endOffset":2350,"count":1},{"startOffset":2027,"endOffset":2035,"count":0},{"startOffset":2238,"endOffset":2340,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1652","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/describe.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3332,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":505,"endOffset":3264,"count":6},{"startOffset":602,"endOffset":668,"count":4},{"startOffset":745,"endOffset":866,"count":2},{"startOffset":995,"endOffset":1003,"count":4},{"startOffset":1004,"endOffset":1023,"count":2},{"startOffset":1056,"endOffset":1452,"count":2},{"startOffset":1132,"endOffset":1140,"count":0},{"startOffset":1225,"endOffset":1442,"count":1},{"startOffset":1577,"endOffset":1585,"count":3},{"startOffset":1586,"endOffset":1604,"count":3},{"startOffset":1637,"endOffset":2032,"count":3},{"startOffset":1711,"endOffset":1719,"count":0},{"startOffset":1803,"endOffset":1921,"count":1},{"startOffset":1921,"endOffset":2022,"count":2},{"startOffset":2165,"endOffset":2173,"count":5},{"startOffset":2174,"endOffset":2194,"count":1},{"startOffset":2227,"endOffset":2627,"count":1},{"startOffset":2305,"endOffset":2313,"count":0},{"startOffset":2514,"endOffset":2617,"count":0},{"startOffset":2776,"endOffset":2784,"count":5},{"startOffset":2785,"endOffset":2809,"count":1},{"startOffset":2842,"endOffset":3258,"count":1},{"startOffset":2928,"endOffset":2936,"count":0},{"startOffset":3141,"endOffset":3248,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1653","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/read_textpool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":693,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":298,"endOffset":612,"count":1},{"startOffset":395,"endOffset":461,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1654","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/find.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3736,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":389,"endOffset":3352,"count":14},{"startOffset":486,"endOffset":552,"count":29},{"startOffset":637,"endOffset":682,"count":5},{"startOffset":684,"endOffset":1710,"count":5},{"startOffset":1447,"endOffset":1512,"count":2},{"startOffset":1512,"endOffset":1700,"count":3},{"startOffset":1808,"endOffset":1956,"count":7},{"startOffset":1865,"endOffset":1946,"count":6},{"startOffset":2038,"endOffset":2083,"count":0},{"startOffset":2085,"endOffset":2163,"count":0},{"startOffset":2246,"endOffset":2291,"count":0},{"startOffset":2293,"endOffset":2371,"count":0},{"startOffset":2457,"endOffset":2503,"count":4},{"startOffset":2505,"endOffset":2584,"count":4},{"startOffset":2639,"endOffset":3346,"count":7},{"startOffset":2717,"endOffset":3336,"count":18},{"startOffset":2802,"endOffset":2851,"count":4},{"startOffset":2851,"endOffset":2950,"count":14},{"startOffset":2901,"endOffset":2950,"count":4},{"startOffset":2950,"endOffset":3008,"count":10},{"startOffset":3009,"endOffset":3017,"count":0},{"startOffset":3018,"endOffset":3066,"count":10},{"startOffset":3096,"endOffset":3218,"count":7},{"startOffset":3218,"endOffset":3322,"count":3}],"isBlockCoverage":true},{"functionName":"inline","ranges":[{"startOffset":3383,"endOffset":3680,"count":15},{"startOffset":3505,"endOffset":3591,"count":14},{"startOffset":3591,"endOffset":3674,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1655","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/message.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1407,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":462,"endOffset":1342,"count":27},{"startOffset":606,"endOffset":614,"count":26},{"startOffset":615,"endOffset":667,"count":1},{"startOffset":689,"endOffset":795,"count":1},{"startOffset":795,"endOffset":890,"count":26},{"startOffset":820,"endOffset":890,"count":0},{"startOffset":963,"endOffset":1029,"count":20},{"startOffset":1109,"endOffset":1175,"count":1},{"startOffset":1255,"endOffset":1336,"count":25}],"isBlockCoverage":true}]},{"scriptId":"1656","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/message_source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2188,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":236,"endOffset":2104,"count":29},{"startOffset":365,"endOffset":431,"count":20},{"startOffset":498,"endOffset":1442,"count":7},{"startOffset":592,"endOffset":600,"count":0},{"startOffset":733,"endOffset":741,"count":6},{"startOffset":742,"endOffset":761,"count":1},{"startOffset":801,"endOffset":1127,"count":6},{"startOffset":904,"endOffset":912,"count":0},{"startOffset":985,"endOffset":993,"count":0},{"startOffset":1017,"endOffset":1113,"count":5},{"startOffset":1174,"endOffset":1182,"count":0},{"startOffset":1205,"endOffset":1214,"count":6},{"startOffset":1216,"endOffset":1432,"count":6},{"startOffset":1442,"endOffset":2098,"count":22},{"startOffset":1585,"endOffset":1593,"count":0},{"startOffset":1700,"endOffset":1708,"count":0},{"startOffset":1857,"endOffset":1865,"count":1},{"startOffset":1866,"endOffset":1899,"count":21},{"startOffset":1948,"endOffset":2088,"count":21}],"isBlockCoverage":true}]},{"scriptId":"1657","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_time.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":862,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":344,"endOffset":796,"count":1},{"startOffset":499,"endOffset":507,"count":0},{"startOffset":693,"endOffset":790,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1658","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1078,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":405,"endOffset":997,"count":2},{"startOffset":560,"endOffset":568,"count":0},{"startOffset":644,"endOffset":852,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1659","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/when_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1787,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":399,"endOffset":1718,"count":6},{"startOffset":547,"endOffset":555,"count":0},{"startOffset":615,"endOffset":656,"count":0},{"startOffset":832,"endOffset":894,"count":1},{"startOffset":896,"endOffset":959,"count":0},{"startOffset":998,"endOffset":1186,"count":1},{"startOffset":1186,"endOffset":1326,"count":5},{"startOffset":1327,"endOffset":1335,"count":0},{"startOffset":1336,"endOffset":1383,"count":5},{"startOffset":1424,"endOffset":1444,"count":5},{"startOffset":1445,"endOffset":1453,"count":0},{"startOffset":1454,"endOffset":1507,"count":5},{"startOffset":1529,"endOffset":1615,"count":3},{"startOffset":1615,"endOffset":1712,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1660","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/if.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":436,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":223,"endOffset":386,"count":87}],"isBlockCoverage":true}]},{"scriptId":"1661","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/else_if.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":457,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":231,"endOffset":394,"count":13}],"isBlockCoverage":true}]},{"scriptId":"1662","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/append.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4804,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":625,"endOffset":4742,"count":92},{"startOffset":951,"endOffset":1000,"count":6},{"startOffset":1002,"endOffset":1508,"count":6},{"startOffset":1063,"endOffset":1107,"count":3},{"startOffset":1109,"endOffset":1315,"count":0},{"startOffset":1384,"endOffset":1409,"count":3},{"startOffset":1410,"endOffset":1422,"count":3},{"startOffset":1598,"endOffset":1668,"count":7},{"startOffset":1670,"endOffset":2210,"count":3},{"startOffset":1731,"endOffset":1775,"count":0},{"startOffset":1777,"endOffset":1983,"count":0},{"startOffset":2078,"endOffset":2090,"count":0},{"startOffset":2320,"endOffset":2399,"count":38},{"startOffset":2420,"endOffset":4362,"count":64},{"startOffset":2541,"endOffset":2565,"count":2},{"startOffset":2582,"endOffset":2626,"count":1},{"startOffset":2628,"endOffset":2841,"count":0},{"startOffset":2936,"endOffset":3002,"count":62},{"startOffset":3002,"endOffset":3117,"count":2},{"startOffset":3064,"endOffset":3117,"count":1},{"startOffset":3257,"endOffset":3996,"count":6},{"startOffset":3440,"endOffset":3517,"count":5},{"startOffset":3766,"endOffset":3982,"count":0},{"startOffset":3996,"endOffset":4352,"count":58},{"startOffset":4122,"endOffset":4338,"count":1},{"startOffset":4362,"endOffset":4440,"count":91},{"startOffset":4440,"endOffset":4483,"count":1},{"startOffset":4485,"endOffset":4554,"count":1},{"startOffset":4554,"endOffset":4626,"count":91},{"startOffset":4626,"endOffset":4667,"count":90},{"startOffset":4669,"endOffset":4736,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1663","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/selection_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1635,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":318,"endOffset":1545,"count":17},{"startOffset":449,"endOffset":480,"count":7},{"startOffset":480,"endOffset":637,"count":10},{"startOffset":637,"endOffset":1110,"count":3},{"startOffset":1110,"endOffset":1539,"count":7},{"startOffset":1171,"endOffset":1381,"count":2},{"startOffset":1381,"endOffset":1539,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1664","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/ranges.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1555,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":400,"endOffset":1493,"count":3},{"startOffset":549,"endOffset":557,"count":0},{"startOffset":701,"endOffset":789,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1665","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/write.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2014,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":547,"endOffset":1955,"count":350},{"startOffset":721,"endOffset":776,"count":46},{"startOffset":1051,"endOffset":1120,"count":5},{"startOffset":1122,"endOffset":1326,"count":3},{"startOffset":1336,"endOffset":1451,"count":347},{"startOffset":1452,"endOffset":1460,"count":302},{"startOffset":1461,"endOffset":1518,"count":45},{"startOffset":1520,"endOffset":1525,"count":302},{"startOffset":1527,"endOffset":1648,"count":1},{"startOffset":1648,"endOffset":1719,"count":347},{"startOffset":1719,"endOffset":1787,"count":0},{"startOffset":1787,"endOffset":1878,"count":347},{"startOffset":1878,"endOffset":1949,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1666","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":480,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":231,"endOffset":424,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1667","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/case_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":501,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":239,"endOffset":432,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1668","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/create_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8488,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":645,"endOffset":5338,"count":50},{"startOffset":808,"endOffset":854,"count":19},{"startOffset":856,"endOffset":1965,"count":14},{"startOffset":1027,"endOffset":1465,"count":11},{"startOffset":1200,"endOffset":1451,"count":1},{"startOffset":1465,"endOffset":1955,"count":3},{"startOffset":1543,"endOffset":1724,"count":0},{"startOffset":1965,"endOffset":2062,"count":46},{"startOffset":2062,"endOffset":2128,"count":0},{"startOffset":2128,"endOffset":5138,"count":46},{"startOffset":2415,"endOffset":2464,"count":7},{"startOffset":2464,"endOffset":5114,"count":39},{"startOffset":2528,"endOffset":2766,"count":5},{"startOffset":2766,"endOffset":5114,"count":34},{"startOffset":2860,"endOffset":2898,"count":10},{"startOffset":2919,"endOffset":2958,"count":9},{"startOffset":2979,"endOffset":3036,"count":8},{"startOffset":3038,"endOffset":3291,"count":0},{"startOffset":3369,"endOffset":3390,"count":8},{"startOffset":3392,"endOffset":3626,"count":2},{"startOffset":3626,"endOffset":5114,"count":32},{"startOffset":3698,"endOffset":5114,"count":24},{"startOffset":3820,"endOffset":3841,"count":3},{"startOffset":3843,"endOffset":4100,"count":1},{"startOffset":4100,"endOffset":4717,"count":23},{"startOffset":4245,"endOffset":4309,"count":17},{"startOffset":4311,"endOffset":4568,"count":1},{"startOffset":4568,"endOffset":4717,"count":22},{"startOffset":4636,"endOffset":4657,"count":20},{"startOffset":4659,"endOffset":4717,"count":16},{"startOffset":4717,"endOffset":4761,"count":22},{"startOffset":4761,"endOffset":4801,"count":16},{"startOffset":4802,"endOffset":4829,"count":16},{"startOffset":4831,"endOffset":5096,"count":1},{"startOffset":5138,"endOffset":5212,"count":36},{"startOffset":5212,"endOffset":5280,"count":5},{"startOffset":5280,"endOffset":5337,"count":36}],"isBlockCoverage":true},{"functionName":"validateParameters","ranges":[{"startOffset":5343,"endOffset":8407,"count":36},{"startOffset":5443,"endOffset":5761,"count":11},{"startOffset":5560,"endOffset":5568,"count":9},{"startOffset":5569,"endOffset":5612,"count":2},{"startOffset":5650,"endOffset":5655,"count":9},{"startOffset":5657,"endOffset":5731,"count":2},{"startOffset":5761,"endOffset":5960,"count":25},{"startOffset":5961,"endOffset":5969,"count":15},{"startOffset":5970,"endOffset":5990,"count":10},{"startOffset":6048,"endOffset":6078,"count":25},{"startOffset":6079,"endOffset":6087,"count":15},{"startOffset":6088,"endOffset":6121,"count":10},{"startOffset":6123,"endOffset":6128,"count":15},{"startOffset":6198,"endOffset":6228,"count":25},{"startOffset":6229,"endOffset":6237,"count":15},{"startOffset":6238,"endOffset":6316,"count":10},{"startOffset":6414,"endOffset":6430,"count":25},{"startOffset":6431,"endOffset":6439,"count":14},{"startOffset":6440,"endOffset":6487,"count":11},{"startOffset":6489,"endOffset":6494,"count":14},{"startOffset":6496,"endOffset":8137,"count":11},{"startOffset":6606,"endOffset":6614,"count":0},{"startOffset":6686,"endOffset":6727,"count":0},{"startOffset":6947,"endOffset":6955,"count":0},{"startOffset":7045,"endOffset":7166,"count":10},{"startOffset":7086,"endOffset":7094,"count":0},{"startOffset":7183,"endOffset":7303,"count":10},{"startOffset":7224,"endOffset":7232,"count":0},{"startOffset":7380,"endOffset":7388,"count":0},{"startOffset":7488,"endOffset":7716,"count":3},{"startOffset":7716,"endOffset":8083,"count":8},{"startOffset":7850,"endOffset":8083,"count":1},{"startOffset":8083,"endOffset":8137,"count":7},{"startOffset":8137,"endOffset":8190,"count":21},{"startOffset":8190,"endOffset":8401,"count":1},{"startOffset":8401,"endOffset":8406,"count":20}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6285,"endOffset":6315,"count":10}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7409,"endOffset":7448,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1669","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/do.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1212,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":426,"endOffset":1162,"count":7},{"startOffset":801,"endOffset":1007,"count":1},{"startOffset":1017,"endOffset":1090,"count":6},{"startOffset":1090,"endOffset":1156,"count":0},{"startOffset":1156,"endOffset":1161,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1670","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/concatenate.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2927,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":505,"endOffset":2850,"count":11},{"startOffset":811,"endOffset":819,"count":0},{"startOffset":895,"endOffset":1180,"count":3},{"startOffset":923,"endOffset":1038,"count":1},{"startOffset":1038,"endOffset":1170,"count":2},{"startOffset":1180,"endOffset":1703,"count":8},{"startOffset":1321,"endOffset":1379,"count":1},{"startOffset":1380,"endOffset":1445,"count":7},{"startOffset":1485,"endOffset":1693,"count":1},{"startOffset":1703,"endOffset":1727,"count":10},{"startOffset":1727,"endOffset":2272,"count":2},{"startOffset":2018,"endOffset":2248,"count":0},{"startOffset":2272,"endOffset":2352,"count":10},{"startOffset":2352,"endOffset":2844,"count":20},{"startOffset":2462,"endOffset":2520,"count":4},{"startOffset":2521,"endOffset":2586,"count":16},{"startOffset":2626,"endOffset":2834,"count":1},{"startOffset":2844,"endOffset":2849,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1671","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_function.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2184,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":506,"endOffset":2103,"count":14},{"startOffset":717,"endOffset":725,"count":0},{"startOffset":797,"endOffset":922,"count":1},{"startOffset":922,"endOffset":1512,"count":13},{"startOffset":1005,"endOffset":1072,"count":2},{"startOffset":1074,"endOffset":1512,"count":1},{"startOffset":1142,"endOffset":1150,"count":0},{"startOffset":1512,"endOffset":1749,"count":13},{"startOffset":1749,"endOffset":1815,"count":0},{"startOffset":1815,"endOffset":1885,"count":13},{"startOffset":1885,"endOffset":1951,"count":9},{"startOffset":1951,"endOffset":2031,"count":13},{"startOffset":2031,"endOffset":2097,"count":1},{"startOffset":2097,"endOffset":2102,"count":13}],"isBlockCoverage":true}]},{"scriptId":"1672","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/clear.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":651,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":284,"endOffset":592,"count":79},{"startOffset":520,"endOffset":586,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1673","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/replace.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":661,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":288,"endOffset":596,"count":1},{"startOffset":385,"endOffset":451,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1674","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_bit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1482,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":495,"endOffset":1419,"count":2},{"startOffset":626,"endOffset":703,"count":4},{"startOffset":800,"endOffset":1413,"count":1},{"startOffset":1118,"endOffset":1126,"count":0},{"startOffset":1311,"endOffset":1403,"count":0},{"startOffset":1413,"endOffset":1418,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1675","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/raise.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5170,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":677,"endOffset":5111,"count":53},{"startOffset":956,"endOffset":964,"count":12},{"startOffset":965,"endOffset":985,"count":41},{"startOffset":1054,"endOffset":1062,"count":12},{"startOffset":1063,"endOffset":1082,"count":41},{"startOffset":1105,"endOffset":1117,"count":41},{"startOffset":1119,"endOffset":2308,"count":41},{"startOffset":1235,"endOffset":1243,"count":24},{"startOffset":1244,"endOffset":1254,"count":17},{"startOffset":1256,"endOffset":1598,"count":17},{"startOffset":1563,"endOffset":1571,"count":0},{"startOffset":1598,"endOffset":2186,"count":24},{"startOffset":1681,"endOffset":1965,"count":18},{"startOffset":1965,"endOffset":2186,"count":6},{"startOffset":2186,"endOffset":2225,"count":35},{"startOffset":2225,"endOffset":2298,"count":17},{"startOffset":2308,"endOffset":2419,"count":47},{"startOffset":2419,"endOffset":2509,"count":12},{"startOffset":2511,"endOffset":3273,"count":12},{"startOffset":2631,"endOffset":2677,"count":4},{"startOffset":2677,"endOffset":3263,"count":8},{"startOffset":2744,"endOffset":2971,"count":1},{"startOffset":2936,"endOffset":2944,"count":0},{"startOffset":2971,"endOffset":3263,"count":7},{"startOffset":3273,"endOffset":3308,"count":40},{"startOffset":3308,"endOffset":3375,"count":1},{"startOffset":3375,"endOffset":3515,"count":40},{"startOffset":3515,"endOffset":3625,"count":2},{"startOffset":3625,"endOffset":3701,"count":40},{"startOffset":3701,"endOffset":3774,"count":1},{"startOffset":3774,"endOffset":3847,"count":40},{"startOffset":3847,"endOffset":3913,"count":11},{"startOffset":3913,"endOffset":3993,"count":40},{"startOffset":3993,"endOffset":4059,"count":0},{"startOffset":4059,"endOffset":4139,"count":40},{"startOffset":4139,"endOffset":4220,"count":4},{"startOffset":4220,"endOffset":4308,"count":40},{"startOffset":4309,"endOffset":4317,"count":36},{"startOffset":4318,"endOffset":4337,"count":4},{"startOffset":4429,"endOffset":4445,"count":40},{"startOffset":4446,"endOffset":4454,"count":38},{"startOffset":4455,"endOffset":4474,"count":2},{"startOffset":4510,"endOffset":4816,"count":38},{"startOffset":4609,"endOffset":4617,"count":36},{"startOffset":4618,"endOffset":4637,"count":2},{"startOffset":4686,"endOffset":4694,"count":36},{"startOffset":4695,"endOffset":4716,"count":2},{"startOffset":4718,"endOffset":4806,"count":2},{"startOffset":4816,"endOffset":4858,"count":40},{"startOffset":4859,"endOffset":4867,"count":36},{"startOffset":4868,"endOffset":4888,"count":4},{"startOffset":4890,"endOffset":4899,"count":4},{"startOffset":4901,"endOffset":5105,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1676","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/raise_with.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":476,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":228,"endOffset":404,"count":1},{"startOffset":332,"endOffset":398,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1677","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/delete_internal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2028,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":488,"endOffset":1941,"count":8},{"startOffset":601,"endOffset":667,"count":4},{"startOffset":878,"endOffset":942,"count":7},{"startOffset":944,"endOffset":1302,"count":1},{"startOffset":1072,"endOffset":1080,"count":0},{"startOffset":1339,"endOffset":1570,"count":7},{"startOffset":1479,"endOffset":1556,"count":6},{"startOffset":1663,"endOffset":1762,"count":0},{"startOffset":1842,"endOffset":1935,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1678","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/receive.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":743,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":288,"endOffset":678,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1679","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/when.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":453,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":231,"endOffset":397,"count":11}],"isBlockCoverage":true}]},{"scriptId":"1680","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/create_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2334,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":559,"endOffset":2259,"count":9},{"startOffset":656,"endOffset":722,"count":0},{"startOffset":935,"endOffset":1003,"count":2},{"startOffset":1092,"endOffset":2253,"count":7},{"startOffset":1233,"endOffset":2243,"count":3},{"startOffset":1311,"endOffset":1925,"count":2},{"startOffset":1429,"endOffset":1907,"count":1},{"startOffset":1925,"endOffset":2229,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1681","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_transformation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1307,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":470,"endOffset":1208,"count":3},{"startOffset":708,"endOffset":776,"count":2},{"startOffset":902,"endOffset":910,"count":0},{"startOffset":985,"endOffset":1100,"count":1},{"startOffset":1100,"endOffset":1192,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1682","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_locale.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":672,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":292,"endOffset":600,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1683","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_locale.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":672,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":292,"endOffset":600,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1684","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/sort.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3126,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":383,"endOffset":3070,"count":5},{"startOffset":501,"endOffset":569,"count":1},{"startOffset":785,"endOffset":2628,"count":4},{"startOffset":866,"endOffset":874,"count":0},{"startOffset":918,"endOffset":926,"count":0},{"startOffset":974,"endOffset":1201,"count":1},{"startOffset":1201,"endOffset":1333,"count":3},{"startOffset":1333,"endOffset":1377,"count":2},{"startOffset":1398,"endOffset":1438,"count":2},{"startOffset":1440,"endOffset":2614,"count":2},{"startOffset":1539,"endOffset":2596,"count":3},{"startOffset":1605,"endOffset":1670,"count":0},{"startOffset":1801,"endOffset":1866,"count":1},{"startOffset":1866,"endOffset":2574,"count":2},{"startOffset":1945,"endOffset":2209,"count":0},{"startOffset":2292,"endOffset":2574,"count":1},{"startOffset":2596,"endOffset":2614,"count":1},{"startOffset":2628,"endOffset":3054,"count":1},{"startOffset":2742,"endOffset":2784,"count":0},{"startOffset":2801,"endOffset":2839,"count":0},{"startOffset":2841,"endOffset":3054,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1685","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/read_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":677,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":294,"endOffset":602,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1686","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/authority_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":507,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":251,"endOffset":420,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1687","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":497,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":247,"endOffset":416,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1688","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_reference.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1477,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":458,"endOffset":1396,"count":12},{"startOffset":742,"endOffset":750,"count":0},{"startOffset":872,"endOffset":1293,"count":5},{"startOffset":923,"endOffset":1162,"count":1},{"startOffset":1162,"endOffset":1269,"count":4},{"startOffset":1270,"endOffset":1281,"count":0},{"startOffset":1293,"endOffset":1390,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1689","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1100,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":371,"endOffset":1013,"count":5},{"startOffset":465,"endOffset":531,"count":0},{"startOffset":745,"endOffset":813,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1690","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/delete_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1100,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":371,"endOffset":1013,"count":5},{"startOffset":465,"endOffset":531,"count":0},{"startOffset":745,"endOffset":813,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1691","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/import_dynpro.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":687,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":298,"endOffset":606,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1692","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/syntax_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":682,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":296,"endOffset":604,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1693","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/import.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1076,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":286,"endOffset":1014,"count":2},{"startOffset":703,"endOffset":1008,"count":1},{"startOffset":786,"endOffset":794,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1694","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/export.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1073,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":286,"endOffset":1011,"count":3},{"startOffset":396,"endOffset":462,"count":7},{"startOffset":535,"endOffset":601,"count":0},{"startOffset":783,"endOffset":791,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1695","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/scan.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":646,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":282,"endOffset":590,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1696","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/submit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":851,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":339,"endOffset":789,"count":1},{"startOffset":436,"endOffset":502,"count":0},{"startOffset":575,"endOffset":641,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1697","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/open_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":682,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":296,"endOffset":604,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1698","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/close_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":497,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":247,"endOffset":416,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1699","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_run_time.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":875,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":350,"endOffset":799,"count":1},{"startOffset":505,"endOffset":513,"count":0},{"startOffset":696,"endOffset":793,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1700","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/update_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2418,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":601,"endOffset":2331,"count":3},{"startOffset":969,"endOffset":977,"count":0},{"startOffset":1270,"endOffset":1755,"count":1},{"startOffset":1446,"endOffset":1741,"count":2},{"startOffset":1835,"endOffset":1901,"count":0},{"startOffset":1978,"endOffset":2044,"count":5},{"startOffset":2115,"endOffset":2183,"count":0},{"startOffset":2255,"endOffset":2325,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1701","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/add.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":641,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":280,"endOffset":588,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1702","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/editor_call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":633,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":243,"endOffset":558,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1703","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/subtract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":666,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":290,"endOffset":598,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1704","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/add_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":707,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":306,"endOffset":614,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1705","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/subtract_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":732,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":316,"endOffset":624,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1706","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/multiply.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":666,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":290,"endOffset":598,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1707","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/divide.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":656,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":286,"endOffset":594,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1708","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/condense.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":476,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":239,"endOffset":408,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1709","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/controls.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2561,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":304,"endOffset":2493,"count":2},{"startOffset":465,"endOffset":473,"count":0},{"startOffset":549,"endOffset":557,"count":1},{"startOffset":559,"endOffset":821,"count":1},{"startOffset":874,"endOffset":882,"count":1},{"startOffset":884,"endOffset":2487,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1710","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/while.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":831,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":331,"endOffset":772,"count":16},{"startOffset":561,"endOffset":627,"count":0},{"startOffset":700,"endOffset":766,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1711","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/select_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":518,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":253,"endOffset":443,"count":16}],"isBlockCoverage":true}]},{"scriptId":"1712","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/select_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":401,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":167,"endOffset":326,"count":16}],"isBlockCoverage":true}]},{"scriptId":"1713","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":451,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":229,"endOffset":392,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1714","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/log_point.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":501,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":239,"endOffset":432,"count":1},{"startOffset":360,"endOffset":426,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1715","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/raise_event.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1033,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":290,"endOffset":958,"count":3},{"startOffset":464,"endOffset":472,"count":0},{"startOffset":507,"endOffset":816,"count":2},{"startOffset":886,"endOffset":952,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1716","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/form.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1165,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":350,"endOffset":1109,"count":188},{"startOffset":495,"endOffset":503,"count":0},{"startOffset":557,"endOffset":748,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1717","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/assert.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":456,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":231,"endOffset":394,"count":8}],"isBlockCoverage":true}]},{"scriptId":"1718","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":497,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":247,"endOffset":416,"count":1},{"startOffset":344,"endOffset":410,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1719","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/class_local_friends.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2047,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":306,"endOffset":1950,"count":2},{"startOffset":634,"endOffset":710,"count":1},{"startOffset":712,"endOffset":967,"count":0},{"startOffset":1052,"endOffset":1426,"count":1},{"startOffset":1436,"endOffset":1944,"count":1},{"startOffset":1710,"endOffset":1934,"count":0},{"startOffset":1944,"endOffset":1949,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1720","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_badi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":854,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":341,"endOffset":788,"count":3},{"startOffset":435,"endOffset":501,"count":1},{"startOffset":714,"endOffset":782,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1721","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/with.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":663,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":292,"endOffset":607,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1722","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/with_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":684,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":300,"endOffset":615,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1723","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/system_call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":487,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":243,"endOffset":412,"count":1},{"startOffset":340,"endOffset":406,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1724","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/collect.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":929,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":343,"endOffset":864,"count":1},{"startOffset":776,"endOffset":858,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1725","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/transfer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":699,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":290,"endOffset":631,"count":1},{"startOffset":392,"endOffset":463,"count":2},{"startOffset":554,"endOffset":625,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1726","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/modify_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1636,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":418,"endOffset":1549,"count":6},{"startOffset":513,"endOffset":581,"count":1},{"startOffset":741,"endOffset":1143,"count":5},{"startOffset":848,"endOffset":1006,"count":3},{"startOffset":1006,"endOffset":1129,"count":2},{"startOffset":1143,"endOffset":1254,"count":1},{"startOffset":1334,"endOffset":1400,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1727","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/truncate_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":512,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":253,"endOffset":422,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1728","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_badi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":853,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":343,"endOffset":784,"count":1},{"startOffset":437,"endOffset":503,"count":0},{"startOffset":573,"endOffset":639,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1729","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_kernel.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":484,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":243,"endOffset":409,"count":1},{"startOffset":337,"endOffset":403,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1730","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/pack.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":646,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":282,"endOffset":590,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1731","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/unpack.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":656,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":286,"endOffset":594,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1732","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/format.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":463,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":235,"endOffset":401,"count":3},{"startOffset":329,"endOffset":395,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1733","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_pf_status.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":493,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":245,"endOffset":414,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1734","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_titlebar.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":492,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":245,"endOffset":414,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1735","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_transaction.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":702,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":304,"endOffset":612,"count":1},{"startOffset":401,"endOffset":467,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1736","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_handler.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":710,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":308,"endOffset":635,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1737","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/wait.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":636,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":278,"endOffset":580,"count":1},{"startOffset":512,"endOffset":574,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1738","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/delete_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":497,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":247,"endOffset":416,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1739","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/shift.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1693,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":386,"endOffset":1634,"count":4},{"startOffset":654,"endOffset":843,"count":0},{"startOffset":992,"endOffset":1302,"count":2},{"startOffset":1084,"endOffset":1292,"count":1},{"startOffset":1302,"endOffset":1628,"count":2},{"startOffset":1409,"endOffset":1618,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1740","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_bit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1064,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":388,"endOffset":1001,"count":2},{"startOffset":485,"endOffset":551,"count":3},{"startOffset":783,"endOffset":985,"count":1},{"startOffset":995,"endOffset":1000,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1741","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/modify_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":494,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":247,"endOffset":413,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1742","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/delete_cluster.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":922,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":249,"endOffset":838,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1743","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/unassign.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1035,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":288,"endOffset":967,"count":1},{"startOffset":369,"endOffset":377,"count":0},{"startOffset":836,"endOffset":961,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1744","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_textpool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":507,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":251,"endOffset":420,"count":1},{"startOffset":348,"endOffset":414,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1745","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":479,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":241,"endOffset":407,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1746","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/loop_at_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":885,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":354,"endOffset":803,"count":5},{"startOffset":469,"endOffset":540,"count":1},{"startOffset":601,"endOffset":609,"count":4},{"startOffset":610,"endOffset":663,"count":1},{"startOffset":685,"endOffset":797,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1747","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_field_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":848,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":306,"endOffset":754,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1748","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/read_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1095,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":405,"endOffset":1014,"count":1},{"startOffset":641,"endOffset":1008,"count":2},{"startOffset":697,"endOffset":705,"count":0},{"startOffset":906,"endOffset":998,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1749","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/modify_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1107,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":409,"endOffset":1020,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1750","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/commit_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1107,"count":1}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":409,"endOffset":1020,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1751","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/excludeHelper.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":436,"count":1}],"isBlockCoverage":true},{"functionName":"isExcluded","ranges":[{"startOffset":142,"endOffset":353,"count":7569},{"startOffset":229,"endOffset":325,"count":7},{"startOffset":325,"endOffset":352,"count":7562}],"isBlockCoverage":true}]},{"scriptId":"1752","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddic_references.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3402,"count":1}],"isBlockCoverage":true},{"functionName":"DDICReferences","ranges":[{"startOffset":137,"endOffset":224,"count":7075}],"isBlockCoverage":true},{"functionName":"setUsing","ranges":[{"startOffset":229,"endOffset":360,"count":563},{"startOffset":308,"endOffset":354,"count":103}],"isBlockCoverage":true},{"functionName":"addUsing","ranges":[{"startOffset":365,"endOffset":1382,"count":522},{"startOffset":421,"endOffset":452,"count":0},{"startOffset":638,"endOffset":695,"count":329},{"startOffset":760,"endOffset":826,"count":329},{"startOffset":945,"endOffset":959,"count":414},{"startOffset":961,"endOffset":1376,"count":414},{"startOffset":1029,"endOffset":1101,"count":291},{"startOffset":1190,"endOffset":1284,"count":344}],"isBlockCoverage":true},{"functionName":"clear","ranges":[{"startOffset":1387,"endOffset":2131,"count":2953},{"startOffset":1508,"endOffset":1846,"count":120},{"startOffset":1537,"endOffset":1547,"count":58},{"startOffset":1549,"endOffset":1836,"count":58},{"startOffset":1645,"endOffset":1653,"count":0},{"startOffset":2044,"endOffset":2052,"count":2872},{"startOffset":2053,"endOffset":2063,"count":81},{"startOffset":2065,"endOffset":2125,"count":81}],"isBlockCoverage":true},{"functionName":"listByFilename","ranges":[{"startOffset":2136,"endOffset":2296,"count":104},{"startOffset":2263,"endOffset":2271,"count":94},{"startOffset":2272,"endOffset":2282,"count":10},{"startOffset":2284,"endOffset":2289,"count":94}],"isBlockCoverage":true},{"functionName":"listUsing","ranges":[{"startOffset":2301,"endOffset":2657,"count":2955},{"startOffset":2509,"endOffset":2517,"count":2873},{"startOffset":2518,"endOffset":2531,"count":82},{"startOffset":2566,"endOffset":2603,"count":82},{"startOffset":2603,"endOffset":2651,"count":2873}],"isBlockCoverage":true},{"functionName":"listWhereUsed","ranges":[{"startOffset":2662,"endOffset":3315,"count":123},{"startOffset":2901,"endOffset":3289,"count":89},{"startOffset":3026,"endOffset":3265,"count":141},{"startOffset":3098,"endOffset":3134,"count":130},{"startOffset":3136,"endOffset":3247,"count":115}],"isBlockCoverage":true}]},{"scriptId":"1753","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules_runner.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5153,"count":1}],"isBlockCoverage":true},{"functionName":"RulesRunner","ranges":[{"startOffset":401,"endOffset":449,"count":255}],"isBlockCoverage":true},{"functionName":"objectsToCheck","ranges":[{"startOffset":454,"endOffset":782,"count":255},{"startOffset":605,"endOffset":754,"count":318},{"startOffset":643,"endOffset":672,"count":317},{"startOffset":674,"endOffset":715,"count":1},{"startOffset":715,"endOffset":754,"count":317}],"isBlockCoverage":true},{"functionName":"runRules","ranges":[{"startOffset":787,"endOffset":3609,"count":255},{"startOffset":1252,"endOffset":1268,"count":0},{"startOffset":1305,"endOffset":1341,"count":0},{"startOffset":1376,"endOffset":1683,"count":317},{"startOffset":1440,"endOffset":1456,"count":0},{"startOffset":1493,"endOffset":1535,"count":0},{"startOffset":1595,"endOffset":1673,"count":255},{"startOffset":1742,"endOffset":1758,"count":0},{"startOffset":1795,"endOffset":1837,"count":0},{"startOffset":1873,"endOffset":2305,"count":40834},{"startOffset":1937,"endOffset":1953,"count":0},{"startOffset":1990,"endOffset":2047,"count":0},{"startOffset":2096,"endOffset":2199,"count":0},{"startOffset":2364,"endOffset":2380,"count":0},{"startOffset":2417,"endOffset":2457,"count":0},{"startOffset":2492,"endOffset":2994,"count":317},{"startOffset":2556,"endOffset":2572,"count":0},{"startOffset":2609,"endOffset":2677,"count":0},{"startOffset":2717,"endOffset":2984,"count":51920},{"startOffset":3052,"endOffset":3077,"count":0},{"startOffset":3089,"endOffset":3560,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3383,"endOffset":3420,"count":0}],"isBlockCoverage":false},{"functionName":"excludeIssues","ranges":[{"startOffset":3614,"endOffset":5075,"count":255},{"startOffset":3755,"endOffset":3760,"count":10},{"startOffset":3893,"endOffset":4183,"count":2},{"startOffset":4330,"endOffset":5049,"count":42840},{"startOffset":4492,"endOffset":4496,"count":40825},{"startOffset":4497,"endOffset":4501,"count":2015},{"startOffset":4545,"endOffset":4586,"count":42839},{"startOffset":4586,"endOffset":5039,"count":1},{"startOffset":4770,"endOffset":4819,"count":0},{"startOffset":5039,"endOffset":5049,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3820,"endOffset":3843,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4643,"endOffset":4666,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1754","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/skip_logic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5038,"count":1}],"isBlockCoverage":true},{"functionName":"SkipLogic","ranges":[{"startOffset":225,"endOffset":304,"count":262}],"isBlockCoverage":true},{"functionName":"skip","ranges":[{"startOffset":309,"endOffset":1985,"count":325},{"startOffset":446,"endOffset":479,"count":11},{"startOffset":492,"endOffset":528,"count":3},{"startOffset":530,"endOffset":566,"count":3},{"startOffset":566,"endOffset":1957,"count":322},{"startOffset":636,"endOffset":671,"count":2},{"startOffset":684,"endOffset":711,"count":2},{"startOffset":713,"endOffset":964,"count":1},{"startOffset":964,"endOffset":1957,"count":321},{"startOffset":1041,"endOffset":1074,"count":8},{"startOffset":1087,"endOffset":1126,"count":0},{"startOffset":1128,"endOffset":1164,"count":0},{"startOffset":1238,"endOffset":1279,"count":8},{"startOffset":1292,"endOffset":1329,"count":0},{"startOffset":1331,"endOffset":1367,"count":0},{"startOffset":1439,"endOffset":1472,"count":0},{"startOffset":1485,"endOffset":1519,"count":0},{"startOffset":1521,"endOffset":1557,"count":0},{"startOffset":1632,"endOffset":1669,"count":1},{"startOffset":1682,"endOffset":1720,"count":1},{"startOffset":1722,"endOffset":1758,"count":1},{"startOffset":1758,"endOffset":1957,"count":320},{"startOffset":1832,"endOffset":1869,"count":1},{"startOffset":1882,"endOffset":1919,"count":1},{"startOffset":1921,"endOffset":1957,"count":1},{"startOffset":1957,"endOffset":1984,"count":319}],"isBlockCoverage":true},{"functionName":"isGeneratedBOPFInterface","ranges":[{"startOffset":2022,"endOffset":2452,"count":1},{"startOffset":2152,"endOffset":2160,"count":0},{"startOffset":2225,"endOffset":2262,"count":0},{"startOffset":2424,"endOffset":2451,"count":0}],"isBlockCoverage":true},{"functionName":"isGeneratedProxyInterface","ranges":[{"startOffset":2457,"endOffset":2756,"count":1},{"startOffset":2542,"endOffset":2579,"count":0},{"startOffset":2699,"endOffset":2750,"count":0}],"isBlockCoverage":true},{"functionName":"isGeneratedProxyClass","ranges":[{"startOffset":2761,"endOffset":3056,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneratedFunctionGroup","ranges":[{"startOffset":3061,"endOffset":3645,"count":0}],"isBlockCoverage":false},{"functionName":"isGeneratedGatewayClass","ranges":[{"startOffset":3650,"endOffset":4286,"count":3},{"startOffset":3882,"endOffset":3890,"count":0},{"startOffset":3963,"endOffset":4004,"count":2},{"startOffset":4006,"endOffset":4042,"count":2},{"startOffset":4042,"endOffset":4258,"count":1},{"startOffset":4090,"endOffset":4130,"count":0},{"startOffset":4132,"endOffset":4168,"count":0},{"startOffset":4258,"endOffset":4285,"count":0}],"isBlockCoverage":true},{"functionName":"isGeneratedPersistentClass","ranges":[{"startOffset":4291,"endOffset":4966,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1755","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/include_graph.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7276,"count":1}],"isBlockCoverage":true},{"functionName":"getABAPObjects","ranges":[{"startOffset":644,"endOffset":847,"count":1026},{"startOffset":733,"endOffset":829,"count":1306},{"startOffset":787,"endOffset":823,"count":1058}],"isBlockCoverage":true},{"functionName":"Graph","ranges":[{"startOffset":866,"endOffset":940,"count":513}],"isBlockCoverage":true},{"functionName":"addVertex","ranges":[{"startOffset":945,"endOffset":1006,"count":503}],"isBlockCoverage":true},{"functionName":"findInclude","ranges":[{"startOffset":1011,"endOffset":1237,"count":15},{"startOffset":1077,"endOffset":1205,"count":21},{"startOffset":1154,"endOffset":1195,"count":12},{"startOffset":1205,"endOffset":1236,"count":3}],"isBlockCoverage":true},{"functionName":"findVertex","ranges":[{"startOffset":1242,"endOffset":1458,"count":25},{"startOffset":1304,"endOffset":1426,"count":33},{"startOffset":1375,"endOffset":1416,"count":25},{"startOffset":1426,"endOffset":1457,"count":0}],"isBlockCoverage":true},{"functionName":"addEdge","ranges":[{"startOffset":1463,"endOffset":1562,"count":9}],"isBlockCoverage":true},{"functionName":"findTop","ranges":[{"startOffset":1567,"endOffset":1967,"count":35},{"startOffset":1647,"endOffset":1760,"count":20},{"startOffset":1686,"endOffset":1750,"count":10},{"startOffset":1791,"endOffset":1941,"count":25}],"isBlockCoverage":true},{"functionName":"IncludeGraph","ranges":[{"startOffset":1995,"endOffset":2125,"count":513}],"isBlockCoverage":true},{"functionName":"getIssues","ranges":[{"startOffset":2130,"endOffset":2177,"count":0}],"isBlockCoverage":false},{"functionName":"listMainForInclude","ranges":[{"startOffset":2182,"endOffset":2490,"count":25},{"startOffset":2273,"endOffset":2307,"count":0},{"startOffset":2401,"endOffset":2454,"count":22}],"isBlockCoverage":true},{"functionName":"getIssuesFile","ranges":[{"startOffset":2495,"endOffset":2716,"count":273},{"startOffset":2578,"endOffset":2690,"count":8},{"startOffset":2636,"endOffset":2680,"count":5}],"isBlockCoverage":true},{"functionName":"build","ranges":[{"startOffset":2757,"endOffset":4654,"count":513},{"startOffset":2845,"endOffset":4613,"count":529},{"startOffset":2893,"endOffset":4603,"count":545},{"startOffset":2946,"endOffset":4589,"count":2990},{"startOffset":3013,"endOffset":4571,"count":19},{"startOffset":3243,"endOffset":3342,"count":0},{"startOffset":3486,"endOffset":3604,"count":4},{"startOffset":3604,"endOffset":3722,"count":15},{"startOffset":3722,"endOffset":4083,"count":3},{"startOffset":3775,"endOffset":4057,"count":2},{"startOffset":4083,"endOffset":4549,"count":12},{"startOffset":4142,"endOffset":4420,"count":3},{"startOffset":4420,"endOffset":4549,"count":9}],"isBlockCoverage":true},{"functionName":"findUnusedIncludes","ranges":[{"startOffset":4659,"endOffset":5344,"count":513},{"startOffset":4727,"endOffset":5338,"count":503},{"startOffset":4765,"endOffset":5328,"count":11},{"startOffset":4837,"endOffset":5314,"count":2},{"startOffset":4946,"endOffset":5047,"count":0}],"isBlockCoverage":true},{"functionName":"addVertices","ranges":[{"startOffset":5349,"endOffset":7195,"count":513},{"startOffset":5415,"endOffset":7189,"count":529},{"startOffset":5465,"endOffset":5794,"count":376},{"startOffset":5794,"endOffset":7179,"count":153},{"startOffset":5849,"endOffset":6170,"count":7},{"startOffset":6170,"endOffset":7179,"count":146},{"startOffset":6222,"endOffset":6519,"count":102},{"startOffset":6279,"endOffset":6505,"count":112},{"startOffset":6519,"endOffset":7179,"count":44},{"startOffset":6579,"endOffset":7179,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1756","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_include.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1526,"count":1}],"isBlockCoverage":true},{"functionName":"CheckInclude","ranges":[{"startOffset":495,"endOffset":560,"count":10441}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":565,"endOffset":927,"count":31102}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":932,"endOffset":977,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":982,"endOffset":1031,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1036,"endOffset":1169,"count":255}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1174,"endOffset":1445,"count":326},{"startOffset":1242,"endOffset":1276,"count":62},{"startOffset":1276,"endOffset":1346,"count":264},{"startOffset":1346,"endOffset":1419,"count":273},{"startOffset":1419,"endOffset":1444,"count":264}],"isBlockCoverage":true}]},{"scriptId":"1757","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/msag_references.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1937,"count":1}],"isBlockCoverage":true},{"functionName":"MSAGReferences","ranges":[{"startOffset":137,"endOffset":226,"count":7075}],"isBlockCoverage":true},{"functionName":"addUsing","ranges":[{"startOffset":231,"endOffset":1014,"count":32},{"startOffset":314,"endOffset":345,"count":0},{"startOffset":402,"endOffset":460,"count":31},{"startOffset":673,"endOffset":737,"count":31},{"startOffset":808,"endOffset":880,"count":31}],"isBlockCoverage":true},{"functionName":"clear","ranges":[{"startOffset":1019,"endOffset":1584,"count":2390},{"startOffset":1075,"endOffset":1578,"count":2426},{"startOffset":1188,"endOffset":1193,"count":2425},{"startOffset":1195,"endOffset":1519,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1475,"endOffset":1503,"count":1}],"isBlockCoverage":true},{"functionName":"listByFilename","ranges":[{"startOffset":1589,"endOffset":1672,"count":265},{"startOffset":1660,"endOffset":1665,"count":248}],"isBlockCoverage":true},{"functionName":"listByMessage","ranges":[{"startOffset":1677,"endOffset":1850,"count":14},{"startOffset":1815,"endOffset":1823,"count":5},{"startOffset":1824,"endOffset":1836,"count":9},{"startOffset":1838,"endOffset":1843,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1758","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/macro_references.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2416,"count":1}],"isBlockCoverage":true},{"functionName":"MacroReferences","ranges":[{"startOffset":139,"endOffset":221,"count":7073}],"isBlockCoverage":true},{"functionName":"addDefinition","ranges":[{"startOffset":226,"endOffset":604,"count":57},{"startOffset":317,"endOffset":377,"count":49},{"startOffset":377,"endOffset":519,"count":8},{"startOffset":488,"endOffset":519,"count":5},{"startOffset":519,"endOffset":603,"count":52}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":431,"endOffset":485,"count":8}],"isBlockCoverage":true},{"functionName":"getDefinitionRange","ranges":[{"startOffset":609,"endOffset":880,"count":2},{"startOffset":698,"endOffset":703,"count":0},{"startOffset":848,"endOffset":879,"count":0}],"isBlockCoverage":true},{"functionName":"addReference","ranges":[{"startOffset":885,"endOffset":1076,"count":35},{"startOffset":962,"endOffset":1021,"count":31}],"isBlockCoverage":true},{"functionName":"listDefinitionsByFile","ranges":[{"startOffset":1081,"endOffset":1265,"count":265},{"startOffset":1190,"endOffset":1195,"count":259},{"startOffset":1197,"endOffset":1239,"count":6}],"isBlockCoverage":true},{"functionName":"listUsagesbyMacro","ranges":[{"startOffset":1270,"endOffset":1592,"count":6},{"startOffset":1438,"endOffset":1443,"count":2},{"startOffset":1445,"endOffset":1566,"count":4}],"isBlockCoverage":true},{"functionName":"clear","ranges":[{"startOffset":1597,"endOffset":1705,"count":7521}],"isBlockCoverage":true},{"functionName":"findDefinitionByUsage","ranges":[{"startOffset":1710,"endOffset":2326,"count":1},{"startOffset":1858,"endOffset":1863,"count":0},{"startOffset":1995,"endOffset":2000,"count":0},{"startOffset":2270,"endOffset":2284,"count":0},{"startOffset":2294,"endOffset":2325,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1759","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/method_length_stats.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2490,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":480,"endOffset":2049,"count":333},{"startOffset":697,"endOffset":731,"count":62},{"startOffset":731,"endOffset":779,"count":271},{"startOffset":779,"endOffset":2023,"count":278},{"startOffset":866,"endOffset":2013,"count":1739},{"startOffset":978,"endOffset":1176,"count":64},{"startOffset":1176,"endOffset":1999,"count":1675},{"startOffset":1250,"endOffset":1434,"count":120},{"startOffset":1366,"endOffset":1374,"count":0},{"startOffset":1396,"endOffset":1415,"count":0},{"startOffset":1434,"endOffset":1999,"count":1555},{"startOffset":1498,"endOffset":1774,"count":65},{"startOffset":1529,"endOffset":1637,"count":64},{"startOffset":1637,"endOffset":1720,"count":1},{"startOffset":1720,"endOffset":1774,"count":64},{"startOffset":1774,"endOffset":1999,"count":1490},{"startOffset":1836,"endOffset":1878,"count":208},{"startOffset":1899,"endOffset":1939,"count":208},{"startOffset":1941,"endOffset":1999,"count":208},{"startOffset":2023,"endOffset":2048,"count":271}],"isBlockCoverage":true},{"functionName":"findName","ranges":[{"startOffset":2061,"endOffset":2393,"count":64},{"startOffset":2265,"endOffset":2366,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1760","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/language_server.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6765,"count":1}],"isBlockCoverage":true},{"functionName":"LanguageServer","ranges":[{"startOffset":1234,"endOffset":1282,"count":5}],"isBlockCoverage":true},{"functionName":"documentSymbol","ranges":[{"startOffset":1410,"endOffset":1518,"count":0}],"isBlockCoverage":false},{"functionName":"hover","ranges":[{"startOffset":1637,"endOffset":1819,"count":0}],"isBlockCoverage":false},{"functionName":"gotoDefinition","ranges":[{"startOffset":1943,"endOffset":2070,"count":0}],"isBlockCoverage":false},{"functionName":"documentFormatting","ranges":[{"startOffset":2194,"endOffset":2792,"count":4},{"startOffset":2346,"endOffset":2380,"count":0},{"startOffset":2548,"endOffset":2786,"count":2}],"isBlockCoverage":true},{"functionName":"diagnostics","ranges":[{"startOffset":2924,"endOffset":3032,"count":0}],"isBlockCoverage":false},{"functionName":"prepareRename","ranges":[{"startOffset":3159,"endOffset":3256,"count":0}],"isBlockCoverage":false},{"functionName":"rename","ranges":[{"startOffset":3376,"endOffset":3459,"count":0}],"isBlockCoverage":false},{"functionName":"codeActions","ranges":[{"startOffset":3583,"endOffset":3680,"count":0}],"isBlockCoverage":false},{"functionName":"documentHighlight","ranges":[{"startOffset":3811,"endOffset":3891,"count":0}],"isBlockCoverage":false},{"functionName":"implementation","ranges":[{"startOffset":4019,"endOffset":4154,"count":0}],"isBlockCoverage":false},{"functionName":"references","ranges":[{"startOffset":4278,"endOffset":4377,"count":0}],"isBlockCoverage":false},{"functionName":"semanticTokensLegend","ranges":[{"startOffset":4505,"endOffset":4606,"count":0}],"isBlockCoverage":false},{"functionName":"semanticTokensRange","ranges":[{"startOffset":4732,"endOffset":4855,"count":0}],"isBlockCoverage":false},{"functionName":"codeLens","ranges":[{"startOffset":4981,"endOffset":5101,"count":0}],"isBlockCoverage":false},{"functionName":"inlayHints","ranges":[{"startOffset":5228,"endOffset":5354,"count":0}],"isBlockCoverage":false},{"functionName":"help","ranges":[{"startOffset":5682,"endOffset":5785,"count":0}],"isBlockCoverage":false},{"functionName":"listDefinitionPositions","ranges":[{"startOffset":5790,"endOffset":5925,"count":0}],"isBlockCoverage":false},{"functionName":"listReadPositions","ranges":[{"startOffset":5930,"endOffset":6053,"count":0}],"isBlockCoverage":false},{"functionName":"listWritePositions","ranges":[{"startOffset":6058,"endOffset":6183,"count":0}],"isBlockCoverage":false},{"functionName":"dumpStatementFlows","ranges":[{"startOffset":6188,"endOffset":6678,"count":1},{"startOffset":6339,"endOffset":6387,"count":0},{"startOffset":6462,"endOffset":6511,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6616,"endOffset":6634,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1761","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/vscode-languageserver-types/lib/umd/main.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":93906,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1,"endOffset":311,"count":1},{"startOffset":170,"endOffset":189,"count":0},{"startOffset":195,"endOffset":309,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":313,"endOffset":93903,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2960,"endOffset":3104,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":2993,"endOffset":3069,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3182,"endOffset":3310,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":3207,"endOffset":3283,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3368,"endOffset":3645,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":3478,"endOffset":3614,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3716,"endOffset":3989,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":3819,"endOffset":3957,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":4182,"endOffset":5093,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":4411,"endOffset":4726,"count":624},{"startOffset":4489,"endOffset":4547,"count":0},{"startOffset":4596,"endOffset":4659,"count":0}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":4881,"endOffset":5061,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5277,"endOffset":6227,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":5304,"endOffset":5874,"count":240},{"startOffset":5553,"endOffset":5864,"count":0}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":6023,"endOffset":6198,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6411,"endOffset":7068,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":6592,"endOffset":6678,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":6833,"endOffset":7036,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7273,"endOffset":8489,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":7684,"endOffset":7938,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":8101,"endOffset":8453,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8685,"endOffset":9478,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":8776,"endOffset":8978,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":9127,"endOffset":9449,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9686,"endOffset":10318,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":9799,"endOffset":9936,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":10107,"endOffset":10278,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10550,"endOffset":11451,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":10664,"endOffset":10889,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":11061,"endOffset":11410,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":11616,"endOffset":12003,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12233,"endOffset":13662,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":12338,"endOffset":13001,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":13164,"endOffset":13626,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":13927,"endOffset":14636,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":14064,"endOffset":14215,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":14410,"endOffset":14584,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":14830,"endOffset":15243,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15424,"endOffset":15892,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16136,"endOffset":16354,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":16173,"endOffset":16315,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":16574,"endOffset":18245,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":16675,"endOffset":17254,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":17413,"endOffset":18211,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":18441,"endOffset":19277,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":18536,"endOffset":18924,"count":2},{"startOffset":18655,"endOffset":18716,"count":0},{"startOffset":18831,"endOffset":18887,"count":0}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":19077,"endOffset":19246,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":19482,"endOffset":20645,"count":1}],"isBlockCoverage":true},{"functionName":"replace","ranges":[{"startOffset":19674,"endOffset":19773,"count":86}],"isBlockCoverage":true},{"functionName":"insert","ranges":[{"startOffset":19996,"endOffset":20126,"count":0}],"isBlockCoverage":false},{"functionName":"del","ranges":[{"startOffset":20289,"endOffset":20370,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":20407,"endOffset":20613,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20727,"endOffset":21570,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":20765,"endOffset":21137,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":21188,"endOffset":21530,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":21686,"endOffset":21890,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":21734,"endOffset":21840,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":22027,"endOffset":23557,"count":1}],"isBlockCoverage":true},{"functionName":"replace","ranges":[{"startOffset":22295,"endOffset":22432,"count":0}],"isBlockCoverage":false},{"functionName":"insert","ranges":[{"startOffset":22730,"endOffset":22898,"count":0}],"isBlockCoverage":false},{"functionName":"del","ranges":[{"startOffset":23137,"endOffset":23256,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":23302,"endOffset":23516,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":23804,"endOffset":24357,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":23910,"endOffset":24023,"count":78}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":24074,"endOffset":24317,"count":114},{"startOffset":24273,"endOffset":24306,"count":78}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24457,"endOffset":25527,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":24489,"endOffset":24950,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":24995,"endOffset":25493,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":25609,"endOffset":26762,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":25641,"endOffset":26151,"count":36},{"startOffset":25871,"endOffset":25947,"count":0},{"startOffset":25949,"endOffset":26006,"count":0},{"startOffset":26049,"endOffset":26114,"count":0}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":26196,"endOffset":26728,"count":36},{"startOffset":26410,"endOffset":26617,"count":0},{"startOffset":26660,"endOffset":26716,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26844,"endOffset":27923,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":26876,"endOffset":27340,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":27385,"endOffset":27889,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":28008,"endOffset":28691,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":28043,"endOffset":28654,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":28801,"endOffset":31937,"count":1}],"isBlockCoverage":true},{"functionName":"TextEditChangeImpl","ranges":[{"startOffset":28823,"endOffset":28976,"count":0}],"isBlockCoverage":false},{"functionName":"TextEditChangeImpl.insert","ranges":[{"startOffset":29023,"endOffset":29778,"count":0}],"isBlockCoverage":false},{"functionName":"TextEditChangeImpl.replace","ranges":[{"startOffset":29827,"endOffset":30573,"count":0}],"isBlockCoverage":false},{"functionName":"TextEditChangeImpl.delete","ranges":[{"startOffset":30621,"endOffset":31319,"count":0}],"isBlockCoverage":false},{"functionName":"TextEditChangeImpl.add","ranges":[{"startOffset":31364,"endOffset":31426,"count":0}],"isBlockCoverage":false},{"functionName":"TextEditChangeImpl.all","ranges":[{"startOffset":31471,"endOffset":31525,"count":0}],"isBlockCoverage":false},{"functionName":"TextEditChangeImpl.clear","ranges":[{"startOffset":31572,"endOffset":31648,"count":0}],"isBlockCoverage":false},{"functionName":"TextEditChangeImpl.assertChangeAnnotations","ranges":[{"startOffset":31713,"endOffset":31895,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":32023,"endOffset":33485,"count":1}],"isBlockCoverage":true},{"functionName":"ChangeAnnotations","ranges":[{"startOffset":32045,"endOffset":32250,"count":0}],"isBlockCoverage":false},{"functionName":"ChangeAnnotations.all","ranges":[{"startOffset":32293,"endOffset":32354,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":32442,"endOffset":32504,"count":0}],"isBlockCoverage":false},{"functionName":"ChangeAnnotations.manage","ranges":[{"startOffset":32625,"endOffset":33300,"count":0}],"isBlockCoverage":false},{"functionName":"ChangeAnnotations.nextId","ranges":[{"startOffset":33347,"endOffset":33444,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":33616,"endOffset":41604,"count":1}],"isBlockCoverage":true},{"functionName":"WorkspaceChange","ranges":[{"startOffset":33638,"endOffset":34956,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":35220,"endOffset":35717,"count":0}],"isBlockCoverage":false},{"functionName":"WorkspaceChange.getTextEditChange","ranges":[{"startOffset":35847,"endOffset":37444,"count":0}],"isBlockCoverage":false},{"functionName":"WorkspaceChange.initDocumentChanges","ranges":[{"startOffset":37502,"endOffset":37865,"count":0}],"isBlockCoverage":false},{"functionName":"WorkspaceChange.initChanges","ranges":[{"startOffset":37915,"endOffset":38133,"count":0}],"isBlockCoverage":false},{"functionName":"WorkspaceChange.createFile","ranges":[{"startOffset":38182,"endOffset":39266,"count":0}],"isBlockCoverage":false},{"functionName":"WorkspaceChange.renameFile","ranges":[{"startOffset":39315,"endOffset":40432,"count":0}],"isBlockCoverage":false},{"functionName":"WorkspaceChange.deleteFile","ranges":[{"startOffset":40481,"endOffset":41565,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":41840,"endOffset":42436,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":42007,"endOffset":42072,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":42255,"endOffset":42390,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":42740,"endOffset":43491,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":42975,"endOffset":43067,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":43268,"endOffset":43436,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":43846,"endOffset":44669,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":44097,"endOffset":44189,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":44406,"endOffset":44606,"count":114},{"startOffset":44503,"endOffset":44530,"count":78},{"startOffset":44531,"endOffset":44595,"count":78}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44979,"endOffset":45889,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":45300,"endOffset":45446,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":45617,"endOffset":45849,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":46270,"endOffset":46844,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":46653,"endOffset":46810,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":46929,"endOffset":47288,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":47079,"endOffset":47251,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":47442,"endOffset":48491,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48736,"endOffset":49477,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49732,"endOffset":49906,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50155,"endOffset":50795,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":50265,"endOffset":50393,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":50566,"endOffset":50754,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":51036,"endOffset":51904,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52014,"endOffset":52367,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":52062,"endOffset":52317,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":52610,"endOffset":52901,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":52784,"endOffset":52855,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":53108,"endOffset":53498,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":53324,"endOffset":53452,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":53594,"endOffset":54378,"count":1}],"isBlockCoverage":true},{"functionName":"fromPlainText","ranges":[{"startOffset":53759,"endOffset":53970,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":54140,"endOffset":54342,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":54461,"endOffset":54975,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":54595,"endOffset":54946,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":55195,"endOffset":55617,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":55414,"endOffset":55565,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":55882,"endOffset":56544,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":55924,"endOffset":56492,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":56717,"endOffset":57109,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57366,"endOffset":57821,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":57577,"endOffset":57772,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":57962,"endOffset":58835,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59037,"endOffset":59191,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59277,"endOffset":60097,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":59703,"endOffset":60048,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":60205,"endOffset":60866,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":60576,"endOffset":60819,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":60967,"endOffset":62623,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":61403,"endOffset":61817,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":61984,"endOffset":62585,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":62782,"endOffset":65024,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65224,"endOffset":65687,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65946,"endOffset":67087,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":66061,"endOffset":66440,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":66613,"endOffset":67046,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":67190,"endOffset":68601,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":67222,"endOffset":67855,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":67900,"endOffset":68567,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":68800,"endOffset":69486,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":68897,"endOffset":69093,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":69248,"endOffset":69454,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":69706,"endOffset":70333,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":69821,"endOffset":69940,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":70113,"endOffset":70292,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":70565,"endOffset":71185,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":70670,"endOffset":70783,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":70946,"endOffset":71149,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":71399,"endOffset":71978,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":71579,"endOffset":71674,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":71723,"endOffset":71940,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":72289,"endOffset":73721,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74052,"endOffset":74697,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74856,"endOffset":75246,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":74892,"endOffset":75208,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":75476,"endOffset":75954,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":75587,"endOffset":75676,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":75726,"endOffset":75915,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":76217,"endOffset":76923,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":76338,"endOffset":76514,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":76574,"endOffset":76874,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":77236,"endOffset":77862,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":77381,"endOffset":77488,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":77555,"endOffset":77806,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":78185,"endOffset":78789,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":78302,"endOffset":78430,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":78605,"endOffset":78747,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":78967,"endOffset":79336,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":79222,"endOffset":79299,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":79435,"endOffset":80053,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":79475,"endOffset":79546,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":79599,"endOffset":80011,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":80158,"endOffset":81253,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":80189,"endOffset":80417,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":80461,"endOffset":81220,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":81333,"endOffset":81518,"count":1}],"isBlockCoverage":true},{"functionName":"createSnippet","ranges":[{"startOffset":81366,"endOffset":81461,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":81613,"endOffset":81877,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":81655,"endOffset":81825,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":81999,"endOffset":82164,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":82041,"endOffset":82112,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":82457,"endOffset":82782,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":82927,"endOffset":83114,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":82971,"endOffset":83060,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":83245,"endOffset":83506,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":83290,"endOffset":83451,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":83632,"endOffset":83875,"count":1}],"isBlockCoverage":true},{"functionName":"is","ranges":[{"startOffset":83669,"endOffset":83836,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":84128,"endOffset":87417,"count":1}],"isBlockCoverage":true},{"functionName":"create","ranges":[{"startOffset":84464,"endOffset":84602,"count":0}],"isBlockCoverage":false},{"functionName":"is","ranges":[{"startOffset":84766,"endOffset":85137,"count":0}],"isBlockCoverage":false},{"functionName":"applyEdits","ranges":[{"startOffset":85176,"endOffset":86233,"count":0}],"isBlockCoverage":false},{"functionName":"mergeSort","ranges":[{"startOffset":86288,"endOffset":87411,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":87636,"endOffset":91884,"count":1}],"isBlockCoverage":true},{"functionName":"FullTextDocument","ranges":[{"startOffset":87658,"endOffset":87919,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":88004,"endOffset":88065,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":88232,"endOffset":88300,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":88464,"endOffset":88529,"count":0}],"isBlockCoverage":false},{"functionName":"FullTextDocument.getText","ranges":[{"startOffset":88650,"endOffset":88919,"count":0}],"isBlockCoverage":false},{"functionName":"FullTextDocument.update","ranges":[{"startOffset":88965,"endOffset":89122,"count":0}],"isBlockCoverage":false},{"functionName":"FullTextDocument.getLineOffsets","ranges":[{"startOffset":89176,"endOffset":90072,"count":0}],"isBlockCoverage":false},{"functionName":"FullTextDocument.positionAt","ranges":[{"startOffset":90122,"endOffset":90982,"count":0}],"isBlockCoverage":false},{"functionName":"FullTextDocument.offsetAt","ranges":[{"startOffset":91030,"endOffset":91598,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":91690,"endOffset":91770,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":91906,"endOffset":93882,"count":1}],"isBlockCoverage":true},{"functionName":"defined","ranges":[{"startOffset":91980,"endOffset":92064,"count":230}],"isBlockCoverage":true},{"functionName":"undefined","ranges":[{"startOffset":92103,"endOffset":92189,"count":0}],"isBlockCoverage":false},{"functionName":"boolean","ranges":[{"startOffset":92232,"endOffset":92321,"count":0}],"isBlockCoverage":false},{"functionName":"string","ranges":[{"startOffset":92360,"endOffset":92457,"count":150}],"isBlockCoverage":true},{"functionName":"number","ranges":[{"startOffset":92494,"endOffset":92591,"count":0}],"isBlockCoverage":false},{"functionName":"numberRange","ranges":[{"startOffset":92628,"endOffset":92772,"count":0}],"isBlockCoverage":false},{"functionName":"integer","ranges":[{"startOffset":92819,"endOffset":92964,"count":78}],"isBlockCoverage":true},{"functionName":"uinteger","ranges":[{"startOffset":93003,"endOffset":93139,"count":960}],"isBlockCoverage":true},{"functionName":"func","ranges":[{"startOffset":93180,"endOffset":93277,"count":0}],"isBlockCoverage":false},{"functionName":"objectLiteral","ranges":[{"startOffset":93310,"endOffset":93681,"count":0}],"isBlockCoverage":false},{"functionName":"typedArray","ranges":[{"startOffset":93732,"endOffset":93840,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1762","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/symbols.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3989,"count":1}],"isBlockCoverage":true},{"functionName":"Symbols","ranges":[{"startOffset":319,"endOffset":367,"count":6}],"isBlockCoverage":true},{"functionName":"find","ranges":[{"startOffset":372,"endOffset":663,"count":6},{"startOffset":487,"endOffset":521,"count":0}],"isBlockCoverage":true},{"functionName":"selectionRange","ranges":[{"startOffset":668,"endOffset":909,"count":8}],"isBlockCoverage":true},{"functionName":"range","ranges":[{"startOffset":914,"endOffset":1135,"count":6}],"isBlockCoverage":true},{"functionName":"newSymbolRanged","ranges":[{"startOffset":1140,"endOffset":1430,"count":2}],"isBlockCoverage":true},{"functionName":"newSymbol","ranges":[{"startOffset":1435,"endOffset":1729,"count":6}],"isBlockCoverage":true},{"functionName":"outputForms","ranges":[{"startOffset":1734,"endOffset":2003,"count":6},{"startOffset":1843,"endOffset":1977,"count":1}],"isBlockCoverage":true},{"functionName":"outputClasses","ranges":[{"startOffset":2008,"endOffset":2710,"count":6},{"startOffset":2119,"endOffset":2362,"count":1},{"startOffset":2432,"endOffset":2684,"count":4}],"isBlockCoverage":true},{"functionName":"outputMethodImplementations","ranges":[{"startOffset":2715,"endOffset":3608,"count":4},{"startOffset":2822,"endOffset":3582,"count":2},{"startOffset":2952,"endOffset":3246,"count":7},{"startOffset":3020,"endOffset":3069,"count":4},{"startOffset":3069,"endOffset":3133,"count":3},{"startOffset":3133,"endOffset":3232,"count":2},{"startOffset":3282,"endOffset":3323,"count":0}],"isBlockCoverage":true},{"functionName":"outputClassAttributes","ranges":[{"startOffset":3613,"endOffset":3924,"count":1},{"startOffset":3675,"endOffset":3709,"count":0},{"startOffset":3765,"endOffset":3862,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1763","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/_lsp_utils.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3031,"count":1}],"isBlockCoverage":true},{"functionName":"getABAPFile","ranges":[{"startOffset":405,"endOffset":980,"count":312},{"startOffset":516,"endOffset":557,"count":1},{"startOffset":557,"endOffset":645,"count":311},{"startOffset":646,"endOffset":654,"count":0},{"startOffset":655,"endOffset":668,"count":311},{"startOffset":724,"endOffset":948,"count":311},{"startOffset":781,"endOffset":938,"count":312},{"startOffset":868,"endOffset":924,"count":311},{"startOffset":938,"endOffset":948,"count":0},{"startOffset":948,"endOffset":979,"count":0}],"isBlockCoverage":true},{"functionName":"tokenToRange","ranges":[{"startOffset":992,"endOffset":1176,"count":163}],"isBlockCoverage":true},{"functionName":"positionToLS","ranges":[{"startOffset":1188,"endOffset":1289,"count":8}],"isBlockCoverage":true},{"functionName":"identiferToLocation","ranges":[{"startOffset":1301,"endOffset":1476,"count":123}],"isBlockCoverage":true},{"functionName":"findCursor","ranges":[{"startOffset":1488,"endOffset":2225,"count":140},{"startOffset":1613,"endOffset":1654,"count":0},{"startOffset":1808,"endOffset":2193,"count":537},{"startOffset":1918,"endOffset":2183,"count":137},{"startOffset":2193,"endOffset":2224,"count":3}],"isBlockCoverage":true},{"functionName":"buildStack","ranges":[{"startOffset":2237,"endOffset":2961,"count":1414},{"startOffset":2348,"endOffset":2929,"count":2806},{"startOffset":2398,"endOffset":2720,"count":1929},{"startOffset":2524,"endOffset":2560,"count":396},{"startOffset":2581,"endOffset":2640,"count":396},{"startOffset":2642,"endOffset":2706,"count":137},{"startOffset":2720,"endOffset":2919,"count":877},{"startOffset":2854,"endOffset":2905,"count":305},{"startOffset":2929,"endOffset":2960,"count":972}],"isBlockCoverage":true}]},{"scriptId":"1764","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/hover.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2520,"count":1}],"isBlockCoverage":true},{"functionName":"Hover","ranges":[{"startOffset":509,"endOffset":557,"count":96}],"isBlockCoverage":true},{"functionName":"find","ranges":[{"startOffset":562,"endOffset":2461,"count":96},{"startOffset":694,"endOffset":735,"count":0},{"startOffset":877,"endOffset":918,"count":0},{"startOffset":1023,"endOffset":1064,"count":0},{"startOffset":1139,"endOffset":1191,"count":95},{"startOffset":1204,"endOffset":1254,"count":95},{"startOffset":1267,"endOffset":1320,"count":95},{"startOffset":1322,"endOffset":1417,"count":1},{"startOffset":1417,"endOffset":2049,"count":95},{"startOffset":1488,"endOffset":1578,"count":1},{"startOffset":1578,"endOffset":2049,"count":94},{"startOffset":1643,"endOffset":1670,"count":1},{"startOffset":1672,"endOffset":1762,"count":1},{"startOffset":1762,"endOffset":2049,"count":93},{"startOffset":1819,"endOffset":2049,"count":2},{"startOffset":1910,"endOffset":1968,"count":1},{"startOffset":2049,"endOffset":2171,"count":91},{"startOffset":2172,"endOffset":2180,"count":4},{"startOffset":2181,"endOffset":2195,"count":87},{"startOffset":2197,"endOffset":2287,"count":87},{"startOffset":2287,"endOffset":2343,"count":4},{"startOffset":2343,"endOffset":2460,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1765","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/_lookup.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":16205,"count":1}],"isBlockCoverage":true},{"functionName":"lookup","ranges":[{"startOffset":817,"endOffset":7415,"count":129},{"startOffset":932,"endOffset":1078,"count":2},{"startOffset":1078,"endOffset":1147,"count":127},{"startOffset":1147,"endOffset":1213,"count":1},{"startOffset":1213,"endOffset":1411,"count":126},{"startOffset":1411,"endOffset":1452,"count":1},{"startOffset":1452,"endOffset":1547,"count":125},{"startOffset":1547,"endOffset":1597,"count":15},{"startOffset":1599,"endOffset":1940,"count":6},{"startOffset":1940,"endOffset":2039,"count":119},{"startOffset":2039,"endOffset":2089,"count":9},{"startOffset":2091,"endOffset":2436,"count":2},{"startOffset":2436,"endOffset":2534,"count":117},{"startOffset":2534,"endOffset":2584,"count":9},{"startOffset":2586,"endOffset":2863,"count":7},{"startOffset":2863,"endOffset":2980,"count":110},{"startOffset":2980,"endOffset":3032,"count":6},{"startOffset":3034,"endOffset":3289,"count":6},{"startOffset":3289,"endOffset":3490,"count":104},{"startOffset":3490,"endOffset":3696,"count":10},{"startOffset":3517,"endOffset":3527,"count":5},{"startOffset":3528,"endOffset":3586,"count":5},{"startOffset":3588,"endOffset":3686,"count":3},{"startOffset":3696,"endOffset":3806,"count":104},{"startOffset":3806,"endOffset":3860,"count":41},{"startOffset":3862,"endOffset":4511,"count":27},{"startOffset":3978,"endOffset":4068,"count":1},{"startOffset":4068,"endOffset":4137,"count":26},{"startOffset":4511,"endOffset":4744,"count":77},{"startOffset":4744,"endOffset":5555,"count":63},{"startOffset":4833,"endOffset":4841,"count":1},{"startOffset":4842,"endOffset":4855,"count":62},{"startOffset":4857,"endOffset":4862,"count":1},{"startOffset":4864,"endOffset":5545,"count":27},{"startOffset":4950,"endOffset":4958,"count":0},{"startOffset":4974,"endOffset":4979,"count":0},{"startOffset":4981,"endOffset":5531,"count":9},{"startOffset":5053,"endOffset":5513,"count":1},{"startOffset":5531,"endOffset":5545,"count":26},{"startOffset":5545,"endOffset":5555,"count":62},{"startOffset":5555,"endOffset":5656,"count":76},{"startOffset":5656,"endOffset":6651,"count":67},{"startOffset":5694,"endOffset":5901,"count":76},{"startOffset":5735,"endOffset":5813,"count":10},{"startOffset":6020,"endOffset":6398,"count":54},{"startOffset":6180,"endOffset":6243,"count":6},{"startOffset":6316,"endOffset":6384,"count":2},{"startOffset":6651,"endOffset":6718,"count":9},{"startOffset":6718,"endOffset":7278,"count":1},{"startOffset":7086,"endOffset":7094,"count":0},{"startOffset":7278,"endOffset":7310,"count":8},{"startOffset":7310,"endOffset":7383,"count":1},{"startOffset":7383,"endOffset":7414,"count":7}],"isBlockCoverage":true},{"functionName":"dumpType","ranges":[{"startOffset":7476,"endOffset":8712,"count":55},{"startOffset":7615,"endOffset":7695,"count":6},{"startOffset":7739,"endOffset":7817,"count":17},{"startOffset":7874,"endOffset":7933,"count":0},{"startOffset":7985,"endOffset":8097,"count":43},{"startOffset":8144,"endOffset":8241,"count":1},{"startOffset":8295,"endOffset":8350,"count":0},{"startOffset":8417,"endOffset":8526,"count":3},{"startOffset":8587,"endOffset":8684,"count":5}],"isBlockCoverage":true},{"functionName":"referenceHover","ranges":[{"startOffset":8724,"endOffset":10634,"count":76},{"startOffset":8839,"endOffset":8909,"count":63},{"startOffset":9037,"endOffset":9105,"count":8},{"startOffset":9084,"endOffset":9092,"count":0},{"startOffset":9107,"endOffset":9744,"count":8},{"startOffset":9213,"endOffset":9300,"count":6},{"startOffset":9337,"endOffset":9479,"count":0},{"startOffset":9516,"endOffset":9658,"count":0},{"startOffset":9744,"endOffset":10385,"count":68},{"startOffset":9823,"endOffset":9891,"count":21},{"startOffset":9891,"endOffset":10385,"count":47},{"startOffset":9982,"endOffset":10385,"count":2},{"startOffset":10106,"endOffset":10114,"count":0},{"startOffset":10157,"endOffset":10165,"count":0},{"startOffset":10229,"endOffset":10312,"count":0},{"startOffset":10412,"endOffset":10460,"count":63},{"startOffset":10497,"endOffset":10533,"count":23},{"startOffset":10535,"endOffset":10608,"count":23}],"isBlockCoverage":true},{"functionName":"hoverMethod","ranges":[{"startOffset":10646,"endOffset":10997,"count":8},{"startOffset":10714,"endOffset":10763,"count":0},{"startOffset":10878,"endOffset":10996,"count":4}],"isBlockCoverage":true},{"functionName":"methodParameters","ranges":[{"startOffset":11009,"endOffset":12174,"count":6},{"startOffset":11202,"endOffset":11350,"count":4},{"startOffset":11277,"endOffset":11340,"count":7},{"startOffset":11438,"endOffset":11586,"count":0},{"startOffset":11671,"endOffset":11817,"count":0},{"startOffset":11878,"endOffset":11949,"count":4},{"startOffset":11997,"endOffset":12148,"count":0}],"isBlockCoverage":true},{"functionName":"singleParameter","ranges":[{"startOffset":12186,"endOffset":12426,"count":11},{"startOffset":12277,"endOffset":12333,"count":4}],"isBlockCoverage":true},{"functionName":"searchReferences","ranges":[{"startOffset":12438,"endOffset":12830,"count":281},{"startOffset":12547,"endOffset":12667,"count":161},{"startOffset":12613,"endOffset":12657,"count":76},{"startOffset":12730,"endOffset":12804,"count":205}],"isBlockCoverage":true},{"functionName":"ABAPFileResult","ranges":[{"startOffset":12842,"endOffset":12988,"count":2}],"isBlockCoverage":true},{"functionName":"findMethodDefinition","ranges":[{"startOffset":13000,"endOffset":14771,"count":110},{"startOffset":13110,"endOffset":13151,"count":0},{"startOffset":13249,"endOffset":13317,"count":97},{"startOffset":13331,"endOffset":13386,"count":15},{"startOffset":13388,"endOffset":13429,"count":95},{"startOffset":13429,"endOffset":13544,"count":15},{"startOffset":13545,"endOffset":13553,"count":0},{"startOffset":13554,"endOffset":13574,"count":15},{"startOffset":13613,"endOffset":13654,"count":0},{"startOffset":13654,"endOffset":13726,"count":15},{"startOffset":13726,"endOffset":13767,"count":1},{"startOffset":13767,"endOffset":13908,"count":14},{"startOffset":13908,"endOffset":13976,"count":6},{"startOffset":13978,"endOffset":14019,"count":8},{"startOffset":14019,"endOffset":14105,"count":6},{"startOffset":14105,"endOffset":14426,"count":5},{"startOffset":14194,"endOffset":14202,"count":0},{"startOffset":14284,"endOffset":14292,"count":0},{"startOffset":14348,"endOffset":14356,"count":0},{"startOffset":14426,"endOffset":14765,"count":1},{"startOffset":14529,"endOffset":14537,"count":0},{"startOffset":14623,"endOffset":14631,"count":0},{"startOffset":14687,"endOffset":14695,"count":0}],"isBlockCoverage":true},{"functionName":"findFunctionModule","ranges":[{"startOffset":14783,"endOffset":15400,"count":127},{"startOffset":14880,"endOffset":14921,"count":126},{"startOffset":14921,"endOffset":15034,"count":1},{"startOffset":15034,"endOffset":15075,"count":0},{"startOffset":15075,"endOffset":15320,"count":1},{"startOffset":15322,"endOffset":15363,"count":0},{"startOffset":15363,"endOffset":15399,"count":1}],"isBlockCoverage":true},{"functionName":"findInclude","ranges":[{"startOffset":15412,"endOffset":16136,"count":129},{"startOffset":15502,"endOffset":15533,"count":127},{"startOffset":15533,"endOffset":15645,"count":2},{"startOffset":15645,"endOffset":15686,"count":0},{"startOffset":15686,"endOffset":15931,"count":2},{"startOffset":15933,"endOffset":15974,"count":0},{"startOffset":15974,"endOffset":16104,"count":2},{"startOffset":16104,"endOffset":16135,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1766","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/diagnostics.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2276,"count":1}],"isBlockCoverage":true},{"functionName":"Diagnostics","ranges":[{"startOffset":276,"endOffset":324,"count":5}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":329,"endOffset":854,"count":5},{"startOffset":541,"endOffset":575,"count":1},{"startOffset":575,"endOffset":661,"count":4},{"startOffset":661,"endOffset":695,"count":0},{"startOffset":695,"endOffset":853,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":780,"endOffset":823,"count":6}],"isBlockCoverage":true},{"functionName":"mapDiagnostic","ranges":[{"startOffset":866,"endOffset":1473,"count":4}],"isBlockCoverage":true},{"functionName":"find","ranges":[{"startOffset":1478,"endOffset":1730,"count":5},{"startOffset":1621,"endOffset":1696,"count":4}],"isBlockCoverage":true},{"functionName":"mapSeverity","ranges":[{"startOffset":1742,"endOffset":2199,"count":4},{"startOffset":1907,"endOffset":1999,"count":0},{"startOffset":2012,"endOffset":2105,"count":0},{"startOffset":2118,"endOffset":2183,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1767","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/help.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9823,"count":1}],"isBlockCoverage":true},{"functionName":"find","ranges":[{"startOffset":370,"endOffset":665,"count":4},{"startOffset":517,"endOffset":565,"count":0}],"isBlockCoverage":true},{"functionName":"dumpABAP","ranges":[{"startOffset":731,"endOffset":1631,"count":4}],"isBlockCoverage":true},{"functionName":"dumpInfo","ranges":[{"startOffset":1643,"endOffset":2099,"count":4}],"isBlockCoverage":true},{"functionName":"cursorInformation","ranges":[{"startOffset":2111,"endOffset":3599,"count":4},{"startOffset":2310,"endOffset":2534,"count":3},{"startOffset":2534,"endOffset":2614,"count":1},{"startOffset":2933,"endOffset":3563,"count":3},{"startOffset":3463,"endOffset":3549,"count":0}],"isBlockCoverage":true},{"functionName":"fullPath","ranges":[{"startOffset":3611,"endOffset":4012,"count":3},{"startOffset":3780,"endOffset":4011,"count":0}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":4024,"endOffset":5381,"count":0}],"isBlockCoverage":false},{"functionName":"fileInformation","ranges":[{"startOffset":5393,"endOffset":6029,"count":4},{"startOffset":5842,"endOffset":5919,"count":1},{"startOffset":5919,"endOffset":5999,"count":3}],"isBlockCoverage":true},{"functionName":"escape","ranges":[{"startOffset":6041,"endOffset":6290,"count":18}],"isBlockCoverage":true},{"functionName":"linkToStatement","ranges":[{"startOffset":6302,"endOffset":6486,"count":14}],"isBlockCoverage":true},{"functionName":"linkToStructure","ranges":[{"startOffset":6498,"endOffset":6682,"count":3}],"isBlockCoverage":true},{"functionName":"linkToExpression","ranges":[{"startOffset":6694,"endOffset":6883,"count":2}],"isBlockCoverage":true},{"functionName":"outputNodes","ranges":[{"startOffset":6895,"endOffset":7640,"count":9},{"startOffset":6976,"endOffset":7604,"count":20},{"startOffset":7067,"endOffset":7084,"count":16},{"startOffset":7101,"endOffset":7279,"count":18},{"startOffset":7296,"endOffset":7447,"count":2},{"startOffset":7464,"endOffset":7499,"count":0}],"isBlockCoverage":true},{"functionName":"tokens","ranges":[{"startOffset":7652,"endOffset":8202,"count":4},{"startOffset":7836,"endOffset":8138,"count":18}],"isBlockCoverage":true},{"functionName":"buildStatements","ranges":[{"startOffset":8214,"endOffset":8684,"count":4},{"startOffset":8317,"endOffset":8655,"count":7}],"isBlockCoverage":true},{"functionName":"buildStructure","ranges":[{"startOffset":8696,"endOffset":9224,"count":4},{"startOffset":8783,"endOffset":9185,"count":7},{"startOffset":8840,"endOffset":9001,"count":3},{"startOffset":9001,"endOffset":9175,"count":4}],"isBlockCoverage":true},{"functionName":"dumpFiles","ranges":[{"startOffset":9236,"endOffset":9767,"count":4},{"startOffset":9403,"endOffset":9444,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1768","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/dump_scope.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4060,"count":1}],"isBlockCoverage":true},{"functionName":"dump","ranges":[{"startOffset":197,"endOffset":359,"count":4}],"isBlockCoverage":true},{"functionName":"traverseSpaghetti","ranges":[{"startOffset":371,"endOffset":1548,"count":13},{"startOffset":805,"endOffset":857,"count":11},{"startOffset":859,"endOffset":905,"count":11},{"startOffset":905,"endOffset":1017,"count":2},{"startOffset":1121,"endOffset":1297,"count":4},{"startOffset":1297,"endOffset":1375,"count":9},{"startOffset":1448,"endOffset":1522,"count":9}],"isBlockCoverage":true},{"functionName":"dumpNode","ranges":[{"startOffset":1560,"endOffset":3665,"count":9},{"startOffset":1818,"endOffset":1890,"count":0},{"startOffset":1925,"endOffset":2281,"count":0},{"startOffset":2368,"endOffset":2438,"count":8},{"startOffset":2438,"endOffset":2509,"count":1},{"startOffset":2543,"endOffset":3038,"count":2},{"startOffset":3424,"endOffset":3639,"count":0}],"isBlockCoverage":true},{"functionName":"escape","ranges":[{"startOffset":3739,"endOffset":3988,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1769","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/pretty_printer/pretty_printer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1945,"count":1}],"isBlockCoverage":true},{"functionName":"PrettyPrinter","ranges":[{"startOffset":421,"endOffset":947,"count":25},{"startOffset":751,"endOffset":759,"count":0},{"startOffset":882,"endOffset":890,"count":0}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":952,"endOffset":1861,"count":25},{"startOffset":1058,"endOffset":1697,"count":38},{"startOffset":1140,"endOffset":1195,"count":36},{"startOffset":1212,"endOffset":1264,"count":35},{"startOffset":1281,"endOffset":1366,"count":34},{"startOffset":1383,"endOffset":1433,"count":33},{"startOffset":1435,"endOffset":1476,"count":5},{"startOffset":1476,"endOffset":1697,"count":33}],"isBlockCoverage":true}]},{"scriptId":"1770","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/pretty_printer/fix_keyword_case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2438,"count":1}],"isBlockCoverage":true},{"functionName":"FixCase","ranges":[{"startOffset":324,"endOffset":589,"count":33}],"isBlockCoverage":true},{"functionName":"execute","ranges":[{"startOffset":594,"endOffset":1651,"count":129},{"startOffset":668,"endOffset":1611,"count":221},{"startOffset":727,"endOffset":1011,"count":36},{"startOffset":829,"endOffset":878,"count":8},{"startOffset":878,"endOffset":1011,"count":28},{"startOffset":1011,"endOffset":1601,"count":185},{"startOffset":1069,"endOffset":1370,"count":89},{"startOffset":1213,"endOffset":1252,"count":21},{"startOffset":1254,"endOffset":1356,"count":20},{"startOffset":1370,"endOffset":1601,"count":96},{"startOffset":1485,"endOffset":1601,"count":0}],"isBlockCoverage":true},{"functionName":"formatNonKeyword","ranges":[{"startOffset":1656,"endOffset":1719,"count":28}],"isBlockCoverage":true},{"functionName":"formatKeyword","ranges":[{"startOffset":1724,"endOffset":2064,"count":20},{"startOffset":1890,"endOffset":1905,"count":19},{"startOffset":1906,"endOffset":1945,"count":1},{"startOffset":2010,"endOffset":2033,"count":7},{"startOffset":2034,"endOffset":2057,"count":13}],"isBlockCoverage":true},{"functionName":"replaceString","ranges":[{"startOffset":2069,"endOffset":2364,"count":48}],"isBlockCoverage":true}]},{"scriptId":"1771","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/keyword_case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10934,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":848,"endOffset":961,"count":1}],"isBlockCoverage":true},{"functionName":"KeywordCaseConf","ranges":[{"startOffset":1109,"endOffset":1742,"count":20896}],"isBlockCoverage":true},{"functionName":"Skip","ranges":[{"startOffset":1805,"endOffset":1952,"count":363}],"isBlockCoverage":true},{"functionName":"skipStatement","ranges":[{"startOffset":1957,"endOffset":4257,"count":1629},{"startOffset":2081,"endOffset":2124,"count":1626},{"startOffset":2137,"endOffset":2177,"count":1625},{"startOffset":2190,"endOffset":2275,"count":1623},{"startOffset":2288,"endOffset":2326,"count":1622},{"startOffset":2328,"endOffset":2364,"count":27},{"startOffset":2364,"endOffset":2416,"count":1602},{"startOffset":2416,"endOffset":3197,"count":35},{"startOffset":2501,"endOffset":2558,"count":1},{"startOffset":2560,"endOffset":2644,"count":1},{"startOffset":2644,"endOffset":2779,"count":34},{"startOffset":2691,"endOffset":2733,"count":2},{"startOffset":2735,"endOffset":2779,"count":1},{"startOffset":2779,"endOffset":2839,"count":33},{"startOffset":2839,"endOffset":2896,"count":4},{"startOffset":2898,"endOffset":2985,"count":4},{"startOffset":2985,"endOffset":3187,"count":29},{"startOffset":3051,"endOffset":3141,"count":28},{"startOffset":3091,"endOffset":3140,"count":20},{"startOffset":3143,"endOffset":3187,"count":12},{"startOffset":3197,"endOffset":3249,"count":1584},{"startOffset":3249,"endOffset":3717,"count":7},{"startOffset":3325,"endOffset":3382,"count":2},{"startOffset":3384,"endOffset":3462,"count":2},{"startOffset":3462,"endOffset":3707,"count":5},{"startOffset":3503,"endOffset":3540,"count":3},{"startOffset":3542,"endOffset":3621,"count":2},{"startOffset":3621,"endOffset":3707,"count":3},{"startOffset":3663,"endOffset":3707,"count":1},{"startOffset":3717,"endOffset":3763,"count":1579},{"startOffset":3763,"endOffset":4229,"count":2},{"startOffset":3833,"endOffset":3890,"count":1},{"startOffset":3892,"endOffset":4219,"count":1},{"startOffset":4011,"endOffset":4052,"count":0},{"startOffset":4054,"endOffset":4133,"count":0},{"startOffset":4175,"endOffset":4219,"count":0},{"startOffset":4229,"endOffset":4256,"count":1578}],"isBlockCoverage":true},{"functionName":"KeywordCase","ranges":[{"startOffset":4314,"endOffset":4407,"count":10464}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":4412,"endOffset":4981,"count":31201}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":4986,"endOffset":5031,"count":10269}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":5036,"endOffset":5430,"count":283},{"startOffset":5117,"endOffset":5175,"count":1},{"startOffset":5219,"endOffset":5277,"count":1},{"startOffset":5332,"endOffset":5424,"count":0}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":5435,"endOffset":6764,"count":368},{"startOffset":5639,"endOffset":5829,"count":53},{"startOffset":5739,"endOffset":5775,"count":49},{"startOffset":5777,"endOffset":5819,"count":5},{"startOffset":5829,"endOffset":5963,"count":363},{"startOffset":5963,"endOffset":6735,"count":1629},{"startOffset":6021,"endOffset":6062,"count":51},{"startOffset":6062,"endOffset":6166,"count":1578},{"startOffset":6166,"endOffset":6725,"count":54},{"startOffset":6193,"endOffset":6246,"count":15},{"startOffset":6248,"endOffset":6297,"count":8},{"startOffset":6297,"endOffset":6354,"count":46},{"startOffset":6354,"endOffset":6484,"count":6},{"startOffset":6484,"endOffset":6625,"count":46},{"startOffset":6625,"endOffset":6671,"count":0},{"startOffset":6671,"endOffset":6725,"count":46},{"startOffset":6735,"endOffset":6763,"count":363}],"isBlockCoverage":true},{"functionName":"build","ranges":[{"startOffset":6792,"endOffset":8059,"count":46},{"startOffset":7069,"endOffset":7173,"count":37},{"startOffset":7173,"endOffset":7282,"count":9},{"startOffset":7376,"endOffset":7868,"count":62},{"startOffset":7512,"endOffset":7770,"count":49},{"startOffset":7578,"endOffset":7656,"count":23},{"startOffset":7656,"endOffset":7756,"count":26},{"startOffset":7770,"endOffset":7858,"count":13}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":8137,"endOffset":10377,"count":5149},{"startOffset":8273,"endOffset":10351,"count":10520},{"startOffset":8371,"endOffset":9774,"count":1746},{"startOffset":8561,"endOffset":8610,"count":116},{"startOffset":8610,"endOffset":8941,"count":1630},{"startOffset":8864,"endOffset":8940,"count":2},{"startOffset":8910,"endOffset":8931,"count":0},{"startOffset":8943,"endOffset":8992,"count":0},{"startOffset":8992,"endOffset":9077,"count":1630},{"startOffset":9077,"endOffset":9123,"count":4},{"startOffset":9124,"endOffset":9147,"count":4},{"startOffset":9149,"endOffset":9198,"count":4},{"startOffset":9198,"endOffset":9346,"count":1626},{"startOffset":9346,"endOffset":9526,"count":0},{"startOffset":9528,"endOffset":9577,"count":0},{"startOffset":9577,"endOffset":9624,"count":1626},{"startOffset":9624,"endOffset":9669,"count":41},{"startOffset":9671,"endOffset":9760,"count":16},{"startOffset":9774,"endOffset":10341,"count":8774},{"startOffset":9832,"endOffset":10076,"count":5203},{"startOffset":9927,"endOffset":9972,"count":76},{"startOffset":9974,"endOffset":10062,"count":75},{"startOffset":10076,"endOffset":10341,"count":3571},{"startOffset":10218,"endOffset":10341,"count":0}],"isBlockCoverage":true},{"functionName":"violatesRule","ranges":[{"startOffset":10382,"endOffset":10856,"count":5292},{"startOffset":10542,"endOffset":10579,"count":10},{"startOffset":10579,"endOffset":10636,"count":5282},{"startOffset":10636,"endOffset":10701,"count":272},{"startOffset":10701,"endOffset":10828,"count":5010},{"startOffset":10828,"endOffset":10855,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10475,"endOffset":10507,"count":148}],"isBlockCoverage":true}]},{"scriptId":"1772","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/edit_helper.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9653,"count":1}],"isBlockCoverage":true},{"functionName":"EditDraft","ranges":[{"startOffset":326,"endOffset":478,"count":46}],"isBlockCoverage":true},{"functionName":"replace","ranges":[{"startOffset":539,"endOffset":1037,"count":62},{"startOffset":598,"endOffset":625,"count":16},{"startOffset":627,"endOffset":668,"count":46},{"startOffset":792,"endOffset":816,"count":16}],"isBlockCoverage":true},{"functionName":"toEdit","ranges":[{"startOffset":1042,"endOffset":2147,"count":46},{"startOffset":1091,"endOffset":1150,"count":0},{"startOffset":1192,"endOffset":1249,"count":0},{"startOffset":1351,"endOffset":2061,"count":48},{"startOffset":1397,"endOffset":1425,"count":46},{"startOffset":1427,"endOffset":1582,"count":44},{"startOffset":1582,"endOffset":2051,"count":4},{"startOffset":1633,"endOffset":2051,"count":2},{"startOffset":1936,"endOffset":2051,"count":0}],"isBlockCoverage":true},{"functionName":"mergeList","ranges":[{"startOffset":2211,"endOffset":2576,"count":0}],"isBlockCoverage":false},{"functionName":"merge","ranges":[{"startOffset":2588,"endOffset":3023,"count":425},{"startOffset":2898,"endOffset":2942,"count":0}],"isBlockCoverage":true},{"functionName":"findStatement","ranges":[{"startOffset":3035,"endOffset":3309,"count":338},{"startOffset":3096,"endOffset":3137,"count":0},{"startOffset":3184,"endOffset":3277,"count":1331},{"startOffset":3226,"endOffset":3267,"count":338},{"startOffset":3277,"endOffset":3308,"count":0}],"isBlockCoverage":true},{"functionName":"deleteStatement","ranges":[{"startOffset":3321,"endOffset":5991,"count":170},{"startOffset":3435,"endOffset":3568,"count":141},{"startOffset":3568,"endOffset":3847,"count":29},{"startOffset":3847,"endOffset":4513,"count":128},{"startOffset":3926,"endOffset":3967,"count":62},{"startOffset":3967,"endOffset":4503,"count":66},{"startOffset":4006,"endOffset":4116,"count":29},{"startOffset":4116,"endOffset":4503,"count":37},{"startOffset":4160,"endOffset":4302,"count":24},{"startOffset":4226,"endOffset":4288,"count":7},{"startOffset":4302,"endOffset":4503,"count":13},{"startOffset":4408,"endOffset":4466,"count":10},{"startOffset":4513,"endOffset":4558,"count":29},{"startOffset":4558,"endOffset":4588,"count":22},{"startOffset":4590,"endOffset":4795,"count":14},{"startOffset":4795,"endOffset":4981,"count":15},{"startOffset":4981,"endOffset":5130,"count":30},{"startOffset":5038,"endOffset":5120,"count":15},{"startOffset":5130,"endOffset":5229,"count":15},{"startOffset":5229,"endOffset":5249,"count":5},{"startOffset":5251,"endOffset":5582,"count":5},{"startOffset":5582,"endOffset":5985,"count":10},{"startOffset":5632,"endOffset":5640,"count":8},{"startOffset":5641,"endOffset":5657,"count":8},{"startOffset":5659,"endOffset":5829,"count":8},{"startOffset":5829,"endOffset":5985,"count":2}],"isBlockCoverage":true},{"functionName":"firstAfterColon","ranges":[{"startOffset":6003,"endOffset":6311,"count":18},{"startOffset":6134,"endOffset":6243,"count":36},{"startOffset":6181,"endOffset":6233,"count":18},{"startOffset":6243,"endOffset":6310,"count":0}],"isBlockCoverage":true},{"functionName":"deleteToken","ranges":[{"startOffset":6323,"endOffset":6529,"count":38}],"isBlockCoverage":true},{"functionName":"deleteRange","ranges":[{"startOffset":6541,"endOffset":6718,"count":329}],"isBlockCoverage":true},{"functionName":"insertAt","ranges":[{"startOffset":6730,"endOffset":6915,"count":437}],"isBlockCoverage":true},{"functionName":"replaceToken","ranges":[{"startOffset":6927,"endOffset":7046,"count":53}],"isBlockCoverage":true},{"functionName":"replaceRange","ranges":[{"startOffset":7058,"endOffset":7244,"count":831}],"isBlockCoverage":true},{"functionName":"applyEditSingle","ranges":[{"startOffset":7280,"endOffset":8741,"count":414},{"startOffset":7445,"endOffset":7453,"count":0},{"startOffset":7505,"endOffset":7574,"count":0},{"startOffset":7615,"endOffset":8621,"count":659},{"startOffset":7682,"endOffset":7975,"count":581},{"startOffset":7975,"endOffset":8611,"count":78}],"isBlockCoverage":true},{"functionName":"applyEditList","ranges":[{"startOffset":8794,"endOffset":9613,"count":2},{"startOffset":8921,"endOffset":9141,"count":4},{"startOffset":8993,"endOffset":9077,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9294,"endOffset":9524,"count":2},{"startOffset":9404,"endOffset":9490,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1773","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/pretty_printer/indent.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10773,"count":1}],"isBlockCoverage":true},{"functionName":"Indent","ranges":[{"startOffset":446,"endOffset":552,"count":331},{"startOffset":540,"endOffset":545,"count":6}],"isBlockCoverage":true},{"functionName":"execute","ranges":[{"startOffset":557,"endOffset":1352,"count":25},{"startOffset":788,"endOffset":1313,"count":38},{"startOffset":890,"endOffset":949,"count":1},{"startOffset":949,"endOffset":1036,"count":37},{"startOffset":1038,"endOffset":1079,"count":5},{"startOffset":1079,"endOffset":1241,"count":32},{"startOffset":1241,"endOffset":1303,"count":2},{"startOffset":1303,"endOffset":1313,"count":32}],"isBlockCoverage":true},{"functionName":"getExpectedIndents","ranges":[{"startOffset":1426,"endOffset":9512,"count":331},{"startOffset":1695,"endOffset":9486,"count":1706},{"startOffset":1797,"endOffset":1861,"count":10},{"startOffset":1861,"endOffset":1969,"count":1696},{"startOffset":1969,"endOffset":2007,"count":1674},{"startOffset":2024,"endOffset":2063,"count":1672},{"startOffset":2080,"endOffset":2119,"count":1669},{"startOffset":2136,"endOffset":2175,"count":1665},{"startOffset":2192,"endOffset":2227,"count":1614},{"startOffset":2244,"endOffset":2278,"count":1612},{"startOffset":2295,"endOffset":2332,"count":1610},{"startOffset":2349,"endOffset":2394,"count":1609},{"startOffset":2411,"endOffset":2448,"count":1605},{"startOffset":2465,"endOffset":2511,"count":1596},{"startOffset":2528,"endOffset":2569,"count":1595},{"startOffset":2586,"endOffset":2623,"count":1594},{"startOffset":2640,"endOffset":2678,"count":1561},{"startOffset":2695,"endOffset":3090,"count":1560},{"startOffset":2773,"endOffset":2818,"count":27},{"startOffset":2839,"endOffset":3089,"count":16},{"startOffset":2908,"endOffset":2998,"count":15},{"startOffset":2999,"endOffset":3088,"count":11},{"startOffset":3107,"endOffset":3143,"count":1554},{"startOffset":3160,"endOffset":3201,"count":1553},{"startOffset":3218,"endOffset":3260,"count":1551},{"startOffset":3277,"endOffset":3312,"count":1497},{"startOffset":3314,"endOffset":3366,"count":203},{"startOffset":3366,"endOffset":5713,"count":1493},{"startOffset":3448,"endOffset":3495,"count":1490},{"startOffset":3512,"endOffset":3557,"count":1487},{"startOffset":3574,"endOffset":3618,"count":1486},{"startOffset":3635,"endOffset":3678,"count":1484},{"startOffset":3695,"endOffset":3734,"count":1483},{"startOffset":3751,"endOffset":3784,"count":1482},{"startOffset":3801,"endOffset":3845,"count":1481},{"startOffset":3862,"endOffset":3905,"count":1480},{"startOffset":3907,"endOffset":3991,"count":15},{"startOffset":3991,"endOffset":5713,"count":1478},{"startOffset":4061,"endOffset":4117,"count":1445},{"startOffset":4100,"endOffset":4116,"count":4},{"startOffset":4134,"endOffset":4170,"count":1444},{"startOffset":4187,"endOffset":4236,"count":1441},{"startOffset":4253,"endOffset":4298,"count":1326},{"startOffset":4300,"endOffset":4385,"count":272},{"startOffset":4385,"endOffset":5713,"count":1206},{"startOffset":4458,"endOffset":4493,"count":1205},{"startOffset":4495,"endOffset":4553,"count":5},{"startOffset":4553,"endOffset":5713,"count":1201},{"startOffset":4625,"endOffset":4664,"count":1110},{"startOffset":4681,"endOffset":4718,"count":1105},{"startOffset":4735,"endOffset":4773,"count":1092},{"startOffset":4790,"endOffset":4830,"count":1090},{"startOffset":4847,"endOffset":4881,"count":1089},{"startOffset":4883,"endOffset":4937,"count":116},{"startOffset":4937,"endOffset":5713,"count":1085},{"startOffset":4994,"endOffset":5086,"count":6},{"startOffset":5063,"endOffset":5066,"count":1},{"startOffset":5067,"endOffset":5070,"count":5},{"startOffset":5086,"endOffset":5713,"count":1079},{"startOffset":5160,"endOffset":5197,"count":844},{"startOffset":5199,"endOffset":5362,"count":239},{"startOffset":5362,"endOffset":5713,"count":840},{"startOffset":5437,"endOffset":5478,"count":816},{"startOffset":5495,"endOffset":5532,"count":812},{"startOffset":5549,"endOffset":5593,"count":812},{"startOffset":5595,"endOffset":5713,"count":34},{"startOffset":5713,"endOffset":5764,"count":1662},{"startOffset":5764,"endOffset":5825,"count":1337},{"startOffset":5842,"endOffset":5945,"count":1319},{"startOffset":5947,"endOffset":6158,"count":45},{"startOffset":6158,"endOffset":6251,"count":1617},{"startOffset":6251,"endOffset":6286,"count":1595},{"startOffset":6303,"endOffset":6339,"count":1593},{"startOffset":6356,"endOffset":6396,"count":1590},{"startOffset":6413,"endOffset":6457,"count":1586},{"startOffset":6474,"endOffset":6513,"count":1584},{"startOffset":6530,"endOffset":6562,"count":1530},{"startOffset":6579,"endOffset":6611,"count":1526},{"startOffset":6628,"endOffset":6665,"count":1526},{"startOffset":6682,"endOffset":6718,"count":1525},{"startOffset":6735,"endOffset":6772,"count":1524},{"startOffset":6789,"endOffset":6824,"count":1523},{"startOffset":6841,"endOffset":6877,"count":1519},{"startOffset":6894,"endOffset":6928,"count":1515},{"startOffset":6945,"endOffset":6983,"count":1511},{"startOffset":7000,"endOffset":7040,"count":1509},{"startOffset":7057,"endOffset":7094,"count":1508},{"startOffset":7111,"endOffset":7145,"count":1507},{"startOffset":7162,"endOffset":7204,"count":1499},{"startOffset":7221,"endOffset":7272,"count":1498},{"startOffset":7289,"endOffset":7323,"count":1497},{"startOffset":7340,"endOffset":7374,"count":1464},{"startOffset":7391,"endOffset":7427,"count":1462},{"startOffset":7444,"endOffset":7494,"count":1461},{"startOffset":7511,"endOffset":7554,"count":1411},{"startOffset":7571,"endOffset":7609,"count":1410},{"startOffset":7626,"endOffset":8127,"count":1409},{"startOffset":7704,"endOffset":7749,"count":26},{"startOffset":7770,"endOffset":8126,"count":16},{"startOffset":7841,"endOffset":7940,"count":15},{"startOffset":7941,"endOffset":8033,"count":14},{"startOffset":8034,"endOffset":8125,"count":11},{"startOffset":8144,"endOffset":8190,"count":1403},{"startOffset":8207,"endOffset":8240,"count":1400},{"startOffset":8257,"endOffset":8304,"count":1399},{"startOffset":8321,"endOffset":8366,"count":1396},{"startOffset":8383,"endOffset":8426,"count":1395},{"startOffset":8443,"endOffset":8487,"count":1393},{"startOffset":8504,"endOffset":8547,"count":1391},{"startOffset":8564,"endOffset":8603,"count":1390},{"startOffset":8620,"endOffset":8664,"count":1389},{"startOffset":8681,"endOffset":8717,"count":1388},{"startOffset":8734,"endOffset":8773,"count":1298},{"startOffset":8790,"endOffset":8827,"count":1293},{"startOffset":8829,"endOffset":8881,"count":337},{"startOffset":8881,"endOffset":9433,"count":1280},{"startOffset":8935,"endOffset":9058,"count":6},{"startOffset":8999,"endOffset":9002,"count":1},{"startOffset":9003,"endOffset":9006,"count":5},{"startOffset":9058,"endOffset":9433,"count":1274},{"startOffset":9139,"endOffset":9173,"count":1154},{"startOffset":9190,"endOffset":9228,"count":1152},{"startOffset":9245,"endOffset":9294,"count":1150},{"startOffset":9296,"endOffset":9433,"count":239},{"startOffset":9374,"endOffset":9377,"count":3},{"startOffset":9378,"endOffset":9381,"count":236},{"startOffset":9433,"endOffset":9486,"count":1617}],"isBlockCoverage":true},{"functionName":"skipIndentForGlobalClass","ranges":[{"startOffset":9517,"endOffset":10383,"count":239},{"startOffset":9603,"endOffset":9640,"count":234},{"startOffset":9640,"endOffset":9734,"count":5},{"startOffset":9734,"endOffset":9791,"count":3},{"startOffset":9793,"endOffset":10046,"count":2},{"startOffset":10046,"endOffset":10355,"count":3},{"startOffset":10112,"endOffset":10355,"count":2},{"startOffset":10301,"endOffset":10345,"count":1},{"startOffset":10355,"endOffset":10382,"count":2}],"isBlockCoverage":true},{"functionName":"Stack","ranges":[{"startOffset":10429,"endOffset":10475,"count":331}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":10480,"endOffset":10529,"count":245}],"isBlockCoverage":true},{"functionName":"peek","ranges":[{"startOffset":10534,"endOffset":10598,"count":366}],"isBlockCoverage":true},{"functionName":"pop","ranges":[{"startOffset":10603,"endOffset":10736,"count":245}],"isBlockCoverage":true}]},{"scriptId":"1774","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/indentation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5453,"count":1}],"isBlockCoverage":true},{"functionName":"IndentationConf","ranges":[{"startOffset":798,"endOffset":1344,"count":20874}],"isBlockCoverage":true},{"functionName":"Indentation","ranges":[{"startOffset":1444,"endOffset":1537,"count":10451}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1542,"endOffset":2155,"count":31319}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2160,"endOffset":2205,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2210,"endOffset":2259,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2264,"endOffset":5376,"count":319},{"startOffset":2412,"endOffset":2470,"count":20},{"startOffset":2470,"endOffset":2515,"count":299},{"startOffset":2515,"endOffset":2849,"count":51},{"startOffset":2668,"endOffset":2710,"count":2},{"startOffset":2710,"endOffset":2839,"count":49},{"startOffset":2797,"endOffset":2839,"count":1},{"startOffset":2849,"endOffset":2966,"count":296},{"startOffset":2967,"endOffset":2975,"count":0},{"startOffset":2976,"endOffset":3012,"count":296},{"startOffset":3067,"endOffset":3083,"count":296},{"startOffset":3084,"endOffset":3092,"count":0},{"startOffset":3093,"endOffset":3111,"count":296},{"startOffset":3351,"endOffset":5350,"count":1624},{"startOffset":3492,"endOffset":3533,"count":9},{"startOffset":3533,"endOffset":3634,"count":1615},{"startOffset":3634,"endOffset":4149,"count":27},{"startOffset":3730,"endOffset":3787,"count":1},{"startOffset":3789,"endOffset":3871,"count":1},{"startOffset":3871,"endOffset":4135,"count":26},{"startOffset":3911,"endOffset":3960,"count":4},{"startOffset":3962,"endOffset":4045,"count":1},{"startOffset":4045,"endOffset":4135,"count":25},{"startOffset":4086,"endOffset":4135,"count":3},{"startOffset":4149,"endOffset":4199,"count":1610},{"startOffset":4199,"endOffset":4712,"count":22},{"startOffset":4289,"endOffset":4346,"count":1},{"startOffset":4348,"endOffset":4430,"count":1},{"startOffset":4430,"endOffset":4698,"count":21},{"startOffset":4470,"endOffset":4523,"count":0},{"startOffset":4525,"endOffset":4608,"count":0},{"startOffset":4649,"endOffset":4698,"count":0},{"startOffset":4712,"endOffset":4749,"count":1609},{"startOffset":4750,"endOffset":4781,"count":1537},{"startOffset":4783,"endOffset":5340,"count":197},{"startOffset":5280,"endOffset":5326,"count":0},{"startOffset":5350,"endOffset":5375,"count":296}],"isBlockCoverage":true}]},{"scriptId":"1775","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1106,"count":1}],"isBlockCoverage":true},{"functionName":"Definition","ranges":[{"startOffset":294,"endOffset":342,"count":12}],"isBlockCoverage":true},{"functionName":"find","ranges":[{"startOffset":347,"endOffset":1032,"count":12},{"startOffset":510,"endOffset":551,"count":0},{"startOffset":693,"endOffset":734,"count":0},{"startOffset":862,"endOffset":903,"count":0},{"startOffset":1001,"endOffset":1009,"count":1},{"startOffset":1010,"endOffset":1025,"count":11}],"isBlockCoverage":true}]},{"scriptId":"1776","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/rename.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5057,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":603,"endOffset":872,"count":1}],"isBlockCoverage":true},{"functionName":"Rename","ranges":[{"startOffset":948,"endOffset":996,"count":12}],"isBlockCoverage":true},{"functionName":"prepareRename","ranges":[{"startOffset":1001,"endOffset":2759,"count":13},{"startOffset":1148,"endOffset":1189,"count":0},{"startOffset":1331,"endOffset":1372,"count":0},{"startOffset":1482,"endOffset":1523,"count":2},{"startOffset":1523,"endOffset":1686,"count":11},{"startOffset":1686,"endOffset":1789,"count":1},{"startOffset":1789,"endOffset":1913,"count":11},{"startOffset":1914,"endOffset":1922,"count":2},{"startOffset":1923,"endOffset":1944,"count":9},{"startOffset":1994,"endOffset":2081,"count":4},{"startOffset":2081,"endOffset":2727,"count":7},{"startOffset":2137,"endOffset":2145,"count":2},{"startOffset":2146,"endOffset":2167,"count":5},{"startOffset":2205,"endOffset":2295,"count":4},{"startOffset":2295,"endOffset":2727,"count":3},{"startOffset":2351,"endOffset":2359,"count":2},{"startOffset":2360,"endOffset":2381,"count":1},{"startOffset":2423,"endOffset":2517,"count":0},{"startOffset":2573,"endOffset":2581,"count":2},{"startOffset":2582,"endOffset":2603,"count":1},{"startOffset":2642,"endOffset":2727,"count":1},{"startOffset":2727,"endOffset":2758,"count":2}],"isBlockCoverage":true},{"functionName":"rename","ranges":[{"startOffset":2764,"endOffset":3498,"count":7},{"startOffset":2868,"endOffset":2909,"count":1},{"startOffset":2909,"endOffset":2954,"count":6},{"startOffset":2954,"endOffset":3094,"count":3},{"startOffset":3107,"endOffset":3251,"count":0},{"startOffset":3264,"endOffset":3341,"count":2},{"startOffset":3354,"endOffset":3427,"count":1},{"startOffset":3440,"endOffset":3482,"count":0}],"isBlockCoverage":true},{"functionName":"renameVariable","ranges":[{"startOffset":3512,"endOffset":4021,"count":2},{"startOffset":3713,"endOffset":3989,"count":4},{"startOffset":3954,"endOffset":3962,"count":0}],"isBlockCoverage":true},{"functionName":"renameMethod","ranges":[{"startOffset":4026,"endOffset":4995,"count":1},{"startOffset":4470,"endOffset":4478,"count":0},{"startOffset":4816,"endOffset":4824,"count":0},{"startOffset":4928,"endOffset":4936,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1777","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/references.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4222,"count":1}],"isBlockCoverage":true},{"functionName":"References","ranges":[{"startOffset":390,"endOffset":438,"count":11}],"isBlockCoverage":true},{"functionName":"references","ranges":[{"startOffset":443,"endOffset":1417,"count":11},{"startOffset":581,"endOffset":615,"count":0},{"startOffset":757,"endOffset":791,"count":0},{"startOffset":911,"endOffset":919,"count":0},{"startOffset":955,"endOffset":989,"count":0},{"startOffset":1113,"endOffset":1121,"count":0},{"startOffset":1200,"endOffset":1208,"count":0},{"startOffset":1240,"endOffset":1274,"count":0}],"isBlockCoverage":true},{"functionName":"search","ranges":[{"startOffset":1557,"endOffset":2697,"count":11},{"startOffset":1924,"endOffset":1992,"count":0},{"startOffset":2020,"endOffset":2046,"count":0},{"startOffset":2048,"endOffset":2083,"count":0},{"startOffset":2237,"endOffset":2319,"count":0},{"startOffset":2642,"endOffset":2691,"count":0}],"isBlockCoverage":true},{"functionName":"removeDuplicates","ranges":[{"startOffset":2702,"endOffset":3016,"count":11}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2779,"endOffset":3008,"count":20}],"isBlockCoverage":true},{"functionName":"findReferences","ranges":[{"startOffset":3021,"endOffset":4148,"count":45},{"startOffset":3172,"endOffset":4005,"count":34},{"startOffset":3417,"endOffset":3425,"count":27},{"startOffset":3426,"endOffset":3450,"count":7},{"startOffset":3452,"endOffset":3498,"count":7},{"startOffset":3683,"endOffset":3691,"count":33},{"startOffset":3692,"endOffset":3716,"count":1},{"startOffset":3718,"endOffset":3764,"count":1},{"startOffset":3820,"endOffset":3995,"count":18},{"startOffset":3886,"endOffset":3894,"count":0},{"startOffset":3920,"endOffset":3981,"count":12},{"startOffset":4050,"endOffset":4122,"count":34}],"isBlockCoverage":true}]},{"scriptId":"1778","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/renamer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5136,"count":1}],"isBlockCoverage":true},{"functionName":"Renamer","ranges":[{"startOffset":687,"endOffset":735,"count":31}],"isBlockCoverage":true},{"functionName":"rename","ranges":[{"startOffset":864,"endOffset":1315,"count":29},{"startOffset":993,"endOffset":1067,"count":0},{"startOffset":1100,"endOffset":1173,"count":0}],"isBlockCoverage":true},{"functionName":"buildEdits","ranges":[{"startOffset":1389,"endOffset":1967,"count":32},{"startOffset":1591,"endOffset":1659,"count":0},{"startOffset":1728,"endOffset":1857,"count":1},{"startOffset":1857,"endOffset":1966,"count":31}],"isBlockCoverage":true},{"functionName":"factory","ranges":[{"startOffset":1995,"endOffset":2853,"count":31},{"startOffset":2047,"endOffset":2137,"count":8},{"startOffset":2150,"endOffset":2240,"count":9},{"startOffset":2253,"endOffset":2332,"count":1},{"startOffset":2345,"endOffset":2422,"count":3},{"startOffset":2435,"endOffset":2521,"count":1},{"startOffset":2534,"endOffset":2632,"count":7},{"startOffset":2645,"endOffset":2737,"count":2},{"startOffset":2750,"endOffset":2837,"count":0}],"isBlockCoverage":true},{"functionName":"apply","ranges":[{"startOffset":2858,"endOffset":3863,"count":29},{"startOffset":3168,"endOffset":3173,"count":0},{"startOffset":3175,"endOffset":3591,"count":100},{"startOffset":3248,"endOffset":3361,"count":68},{"startOffset":3361,"endOffset":3581,"count":32},{"startOffset":3481,"endOffset":3581,"count":0},{"startOffset":3630,"endOffset":3798,"count":32}],"isBlockCoverage":true},{"functionName":"applyEdit","ranges":[{"startOffset":3868,"endOffset":4660,"count":68},{"startOffset":3982,"endOffset":4068,"count":0},{"startOffset":4143,"endOffset":4524,"count":74},{"startOffset":4202,"endOffset":4290,"count":0}],"isBlockCoverage":true},{"functionName":"applyRenames","ranges":[{"startOffset":4665,"endOffset":5071,"count":29},{"startOffset":4722,"endOffset":5065,"count":32},{"startOffset":4817,"endOffset":4896,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1779","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_data_element.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1237,"count":1}],"isBlockCoverage":true},{"functionName":"RenameDataElement","ranges":[{"startOffset":224,"endOffset":272,"count":9}],"isBlockCoverage":true},{"functionName":"buildEdits","ranges":[{"startOffset":277,"endOffset":1140,"count":9},{"startOffset":360,"endOffset":441,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1780","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/renamer_helper.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7311,"count":1}],"isBlockCoverage":true},{"functionName":"RenamerHelper","ranges":[{"startOffset":478,"endOffset":526,"count":31}],"isBlockCoverage":true},{"functionName":"renameReferences","ranges":[{"startOffset":531,"endOffset":1265,"count":15},{"startOffset":602,"endOffset":688,"count":0},{"startOffset":759,"endOffset":1096,"count":25},{"startOffset":817,"endOffset":1086,"count":24},{"startOffset":865,"endOffset":947,"count":0}],"isBlockCoverage":true},{"functionName":"renameDDICCodeReferences","ranges":[{"startOffset":1270,"endOffset":2011,"count":13},{"startOffset":1448,"endOffset":1981,"count":14},{"startOffset":1488,"endOffset":1515,"count":11},{"startOffset":1517,"endOffset":1558,"count":3},{"startOffset":1558,"endOffset":1981,"count":11}],"isBlockCoverage":true},{"functionName":"renameDDICTABLReferences","ranges":[{"startOffset":2016,"endOffset":2785,"count":21},{"startOffset":2222,"endOffset":2755,"count":16},{"startOffset":2258,"endOffset":2299,"count":3},{"startOffset":2301,"endOffset":2467,"count":14},{"startOffset":2467,"endOffset":2565,"count":2},{"startOffset":2565,"endOffset":2606,"count":0},{"startOffset":2606,"endOffset":2755,"count":2}],"isBlockCoverage":true},{"functionName":"renameDDICDTELReferences","ranges":[{"startOffset":2790,"endOffset":3313,"count":1},{"startOffset":2968,"endOffset":3283,"count":0}],"isBlockCoverage":true},{"functionName":"renameDDICTTYPReferences","ranges":[{"startOffset":3318,"endOffset":3841,"count":13},{"startOffset":3496,"endOffset":3811,"count":14},{"startOffset":3533,"endOffset":3574,"count":13},{"startOffset":3574,"endOffset":3672,"count":1},{"startOffset":3672,"endOffset":3713,"count":0},{"startOffset":3713,"endOffset":3811,"count":1}],"isBlockCoverage":true},{"functionName":"renameDDICAUTHReferences","ranges":[{"startOffset":3846,"endOffset":4370,"count":9},{"startOffset":4024,"endOffset":4340,"count":13},{"startOffset":4061,"endOffset":4102,"count":12},{"startOffset":4102,"endOffset":4200,"count":1},{"startOffset":4200,"endOffset":4241,"count":0},{"startOffset":4241,"endOffset":4340,"count":1}],"isBlockCoverage":true},{"functionName":"buildXMLFileEdits","ranges":[{"startOffset":4375,"endOffset":5283,"count":38},{"startOffset":4529,"endOffset":4563,"count":10},{"startOffset":4563,"endOffset":4813,"count":28},{"startOffset":4813,"endOffset":5253,"count":1063},{"startOffset":4894,"endOffset":5243,"count":31},{"startOffset":5253,"endOffset":5282,"count":28}],"isBlockCoverage":true},{"functionName":"renameFiles","ranges":[{"startOffset":5288,"endOffset":5847,"count":31},{"startOffset":5512,"endOffset":5820,"count":36}],"isBlockCoverage":true},{"functionName":"replaceRefs","ranges":[{"startOffset":5881,"endOffset":6513,"count":15},{"startOffset":6078,"endOffset":6483,"count":14}],"isBlockCoverage":true},{"functionName":"findReferences","ranges":[{"startOffset":6518,"endOffset":7227,"count":105},{"startOffset":6667,"endOffset":7079,"count":81},{"startOffset":6724,"endOffset":7069,"count":31},{"startOffset":6791,"endOffset":6799,"count":0},{"startOffset":6845,"endOffset":6898,"count":15},{"startOffset":6919,"endOffset":6992,"count":14},{"startOffset":6994,"endOffset":7055,"count":14},{"startOffset":7124,"endOffset":7201,"count":81}],"isBlockCoverage":true}]},{"scriptId":"1781","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_domain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":924,"count":1}],"isBlockCoverage":true},{"functionName":"RenameDomain","ranges":[{"startOffset":214,"endOffset":262,"count":1}],"isBlockCoverage":true},{"functionName":"buildEdits","ranges":[{"startOffset":267,"endOffset":843,"count":1},{"startOffset":345,"endOffset":415,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1782","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_global_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2597,"count":1}],"isBlockCoverage":true},{"functionName":"RenameGlobalClass","ranges":[{"startOffset":490,"endOffset":538,"count":8}],"isBlockCoverage":true},{"functionName":"buildEdits","ranges":[{"startOffset":543,"endOffset":2500,"count":8},{"startOffset":620,"endOffset":675,"count":0},{"startOffset":752,"endOffset":815,"count":0},{"startOffset":985,"endOffset":1861,"count":40},{"startOffset":1054,"endOffset":1412,"count":8},{"startOffset":1177,"endOffset":1234,"count":0},{"startOffset":1412,"endOffset":1847,"count":32},{"startOffset":1489,"endOffset":1847,"count":8},{"startOffset":1612,"endOffset":1669,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1783","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_global_interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2125,"count":1}],"isBlockCoverage":true},{"functionName":"RenameGlobalInterface","ranges":[{"startOffset":516,"endOffset":564,"count":7}],"isBlockCoverage":true},{"functionName":"buildEdits","ranges":[{"startOffset":569,"endOffset":2016,"count":7},{"startOffset":658,"endOffset":718,"count":0},{"startOffset":795,"endOffset":858,"count":0},{"startOffset":1028,"endOffset":1467,"count":20},{"startOffset":1091,"endOffset":1453,"count":7},{"startOffset":1218,"endOffset":1275,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1784","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1191,"count":1}],"isBlockCoverage":true},{"functionName":"RenameTable","ranges":[{"startOffset":212,"endOffset":260,"count":3}],"isBlockCoverage":true},{"functionName":"buildEdits","ranges":[{"startOffset":265,"endOffset":1113,"count":3},{"startOffset":342,"endOffset":410,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1785","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_table_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1131,"count":1}],"isBlockCoverage":true},{"functionName":"RenameTableType","ranges":[{"startOffset":220,"endOffset":268,"count":1}],"isBlockCoverage":true},{"functionName":"buildEdits","ranges":[{"startOffset":273,"endOffset":1040,"count":1},{"startOffset":354,"endOffset":431,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1786","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_message_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1849,"count":1}],"isBlockCoverage":true},{"functionName":"RenameMessageClass","ranges":[{"startOffset":304,"endOffset":352,"count":2}],"isBlockCoverage":true},{"functionName":"buildEdits","ranges":[{"startOffset":357,"endOffset":1749,"count":2},{"startOffset":441,"endOffset":524,"count":0},{"startOffset":950,"endOffset":1667,"count":1},{"startOffset":1059,"endOffset":1108,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1787","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/highlight.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2306,"count":1}],"isBlockCoverage":true},{"functionName":"Highlight","ranges":[{"startOffset":285,"endOffset":333,"count":4}],"isBlockCoverage":true},{"functionName":"listDefinitionPositions","ranges":[{"startOffset":338,"endOffset":746,"count":2},{"startOffset":471,"endOffset":505,"count":0},{"startOffset":626,"endOffset":720,"count":1}],"isBlockCoverage":true},{"functionName":"listReadPositions","ranges":[{"startOffset":751,"endOffset":1146,"count":1},{"startOffset":878,"endOffset":912,"count":0}],"isBlockCoverage":true},{"functionName":"listWritePositions","ranges":[{"startOffset":1151,"endOffset":1550,"count":1},{"startOffset":1279,"endOffset":1313,"count":0}],"isBlockCoverage":true},{"functionName":"runSyntax","ranges":[{"startOffset":1584,"endOffset":1811,"count":4},{"startOffset":1692,"endOffset":1733,"count":0}],"isBlockCoverage":true},{"functionName":"findObject","ranges":[{"startOffset":1816,"endOffset":2235,"count":4},{"startOffset":1959,"endOffset":2000,"count":0},{"startOffset":2174,"endOffset":2229,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1788","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/code_actions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3424,"count":1}],"isBlockCoverage":true},{"functionName":"CodeActions","ranges":[{"startOffset":314,"endOffset":362,"count":0}],"isBlockCoverage":false},{"functionName":"find","ranges":[{"startOffset":367,"endOffset":2194,"count":0}],"isBlockCoverage":false},{"functionName":"fixAlls","ranges":[{"startOffset":2226,"endOffset":2881,"count":0}],"isBlockCoverage":false},{"functionName":"inRange","ranges":[{"startOffset":2886,"endOffset":3346,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1789","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/_edit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1253,"count":1}],"isBlockCoverage":true},{"functionName":"mapEdits","ranges":[{"startOffset":186,"endOffset":630,"count":0}],"isBlockCoverage":false},{"functionName":"mapEdit","ranges":[{"startOffset":642,"endOffset":853,"count":0}],"isBlockCoverage":false},{"functionName":"mapText","ranges":[{"startOffset":865,"endOffset":1190,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1790","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2817,"count":1}],"isBlockCoverage":true},{"functionName":"Implementation","ranges":[{"startOffset":581,"endOffset":629,"count":4}],"isBlockCoverage":true},{"functionName":"find","ranges":[{"startOffset":634,"endOffset":1641,"count":4},{"startOffset":781,"endOffset":815,"count":0},{"startOffset":957,"endOffset":991,"count":0},{"startOffset":1119,"endOffset":1153,"count":0},{"startOffset":1276,"endOffset":1284,"count":1},{"startOffset":1285,"endOffset":1308,"count":3},{"startOffset":1310,"endOffset":1413,"count":2},{"startOffset":1369,"endOffset":1377,"count":0},{"startOffset":1413,"endOffset":1463,"count":2},{"startOffset":1464,"endOffset":1472,"count":1},{"startOffset":1473,"endOffset":1494,"count":1},{"startOffset":1533,"endOffset":1640,"count":1}],"isBlockCoverage":true},{"functionName":"findMethodImplementations","ranges":[{"startOffset":1646,"endOffset":2122,"count":1},{"startOffset":1893,"endOffset":1934,"count":0}],"isBlockCoverage":true},{"functionName":"searchReferences","ranges":[{"startOffset":2127,"endOffset":2731,"count":8},{"startOffset":2233,"endOffset":2593,"count":1},{"startOffset":2639,"endOffset":2705,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1791","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/semantic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6185,"count":1}],"isBlockCoverage":true},{"functionName":"SemanticHighlighting","ranges":[{"startOffset":591,"endOffset":682,"count":1}],"isBlockCoverage":true},{"functionName":"semanticTokensLegend","ranges":[{"startOffset":694,"endOffset":1101,"count":0}],"isBlockCoverage":false},{"functionName":"initLegend","ranges":[{"startOffset":1113,"endOffset":1805,"count":1},{"startOffset":1622,"endOffset":1789,"count":23}],"isBlockCoverage":true},{"functionName":"semanticTokensRange","ranges":[{"startOffset":1933,"endOffset":5264,"count":1},{"startOffset":2084,"endOffset":2128,"count":0},{"startOffset":2508,"endOffset":2549,"count":0},{"startOffset":2627,"endOffset":2665,"count":0},{"startOffset":2743,"endOffset":2784,"count":0},{"startOffset":2879,"endOffset":5196,"count":3},{"startOffset":3063,"endOffset":3127,"count":1},{"startOffset":3127,"endOffset":4831,"count":2},{"startOffset":4024,"endOffset":4087,"count":0},{"startOffset":4179,"endOffset":4230,"count":1},{"startOffset":4251,"endOffset":4307,"count":1},{"startOffset":4328,"endOffset":4382,"count":1},{"startOffset":4403,"endOffset":4460,"count":1},{"startOffset":4462,"endOffset":4831,"count":1},{"startOffset":4617,"endOffset":4704,"count":0},{"startOffset":4767,"endOffset":4831,"count":0}],"isBlockCoverage":true},{"functionName":"encodeTokens","ranges":[{"startOffset":5269,"endOffset":6055,"count":1},{"startOffset":5416,"endOffset":6029,"count":3},{"startOffset":5458,"endOffset":5507,"count":1},{"startOffset":5507,"endOffset":5585,"count":2},{"startOffset":5622,"endOffset":5633,"count":2},{"startOffset":5635,"endOffset":5700,"count":1},{"startOffset":5700,"endOffset":5788,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1792","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/flow/statement_flow.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10195,"count":1}],"isBlockCoverage":true},{"functionName":"StatementFlow","ranges":[{"startOffset":394,"endOffset":441,"count":30}],"isBlockCoverage":true},{"functionName":"build","ranges":[{"startOffset":446,"endOffset":1446,"count":30},{"startOffset":598,"endOffset":944,"count":29},{"startOffset":717,"endOffset":725,"count":0},{"startOffset":1045,"endOffset":1399,"count":2},{"startOffset":1170,"endOffset":1178,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1423,"endOffset":1438,"count":31}],"isBlockCoverage":true},{"functionName":"findBody","ranges":[{"startOffset":1476,"endOffset":1635,"count":66},{"startOffset":1594,"endOffset":1602,"count":3},{"startOffset":1603,"endOffset":1621,"count":63},{"startOffset":1623,"endOffset":1628,"count":3}],"isBlockCoverage":true},{"functionName":"buildName","ranges":[{"startOffset":1640,"endOffset":2260,"count":86},{"startOffset":1771,"endOffset":1829,"count":84},{"startOffset":1829,"endOffset":2057,"count":2},{"startOffset":1896,"endOffset":2047,"count":4},{"startOffset":1956,"endOffset":2033,"count":2},{"startOffset":2091,"endOffset":2135,"count":0}],"isBlockCoverage":true},{"functionName":"traverseBody","ranges":[{"startOffset":2265,"endOffset":4639,"count":66},{"startOffset":2400,"endOffset":2498,"count":3},{"startOffset":2498,"endOffset":2573,"count":63},{"startOffset":2573,"endOffset":4563,"count":76},{"startOffset":2781,"endOffset":4312,"count":49},{"startOffset":3000,"endOffset":3294,"count":1},{"startOffset":3049,"endOffset":3144,"count":0},{"startOffset":3294,"endOffset":4294,"count":48},{"startOffset":3371,"endOffset":3461,"count":1},{"startOffset":3461,"endOffset":4294,"count":47},{"startOffset":3539,"endOffset":3559,"count":2},{"startOffset":3561,"endOffset":3686,"count":2},{"startOffset":3686,"endOffset":4294,"count":45},{"startOffset":3761,"endOffset":4089,"count":3},{"startOffset":3808,"endOffset":3901,"count":2},{"startOffset":3901,"endOffset":4029,"count":1},{"startOffset":4089,"endOffset":4294,"count":42},{"startOffset":4166,"endOffset":4294,"count":5},{"startOffset":4312,"endOffset":4539,"count":27},{"startOffset":4563,"endOffset":4638,"count":53}],"isBlockCoverage":true},{"functionName":"traverseStructure","ranges":[{"startOffset":4644,"endOffset":10111,"count":27},{"startOffset":4771,"endOffset":4808,"count":0},{"startOffset":4922,"endOffset":6448,"count":12},{"startOffset":5318,"endOffset":5837,"count":1},{"startOffset":5439,"endOffset":5488,"count":0},{"startOffset":5960,"endOffset":5968,"count":10},{"startOffset":5969,"endOffset":6011,"count":2},{"startOffset":6033,"endOffset":6042,"count":2},{"startOffset":6044,"endOffset":6350,"count":2},{"startOffset":6350,"endOffset":6438,"count":10},{"startOffset":6448,"endOffset":10083,"count":15},{"startOffset":6510,"endOffset":6545,"count":8},{"startOffset":6558,"endOffset":6592,"count":7},{"startOffset":6605,"endOffset":6642,"count":7},{"startOffset":6655,"endOffset":6691,"count":7},{"startOffset":6704,"endOffset":6736,"count":6},{"startOffset":6738,"endOffset":7164,"count":10},{"startOffset":7164,"endOffset":10083,"count":5},{"startOffset":7214,"endOffset":8030,"count":3},{"startOffset":7570,"endOffset":7984,"count":2},{"startOffset":8030,"endOffset":10083,"count":2},{"startOffset":8303,"endOffset":8880,"count":5},{"startOffset":8399,"endOffset":8448,"count":0},{"startOffset":8515,"endOffset":8574,"count":1},{"startOffset":8920,"endOffset":8992,"count":1},{"startOffset":9002,"endOffset":10083,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1793","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/flow/flow_graph.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4117,"count":1}],"isBlockCoverage":true},{"functionName":"FlowGraph","ranges":[{"startOffset":127,"endOffset":300,"count":94}],"isBlockCoverage":true},{"functionName":"getStart","ranges":[{"startOffset":305,"endOffset":354,"count":155}],"isBlockCoverage":true},{"functionName":"getEnd","ranges":[{"startOffset":359,"endOffset":404,"count":211}],"isBlockCoverage":true},{"functionName":"addEdge","ranges":[{"startOffset":409,"endOffset":562,"count":727},{"startOffset":473,"endOffset":519,"count":604}],"isBlockCoverage":true},{"functionName":"removeEdge","ranges":[{"startOffset":567,"endOffset":813,"count":265},{"startOffset":634,"endOffset":665,"count":0},{"startOffset":759,"endOffset":807,"count":210}],"isBlockCoverage":true},{"functionName":"listEdges","ranges":[{"startOffset":818,"endOffset":1064,"count":504},{"startOffset":909,"endOffset":1037,"count":3316},{"startOffset":971,"endOffset":1027,"count":3887}],"isBlockCoverage":true},{"functionName":"listInto","ranges":[{"startOffset":1069,"endOffset":1392,"count":0}],"isBlockCoverage":false},{"functionName":"listNodes","ranges":[{"startOffset":1397,"endOffset":1598,"count":32},{"startOffset":1484,"endOffset":1551,"count":273}],"isBlockCoverage":true},{"functionName":"hasEdges","ranges":[{"startOffset":1603,"endOffset":1672,"count":62}],"isBlockCoverage":true},{"functionName":"addGraph","ranges":[{"startOffset":1723,"endOffset":1959,"count":62},{"startOffset":1781,"endOffset":1817,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1892,"endOffset":1923,"count":314}],"isBlockCoverage":true},{"functionName":"toJSON","ranges":[{"startOffset":1964,"endOffset":2023,"count":0}],"isBlockCoverage":false},{"functionName":"toTextEdges","ranges":[{"startOffset":2028,"endOffset":2208,"count":32},{"startOffset":2110,"endOffset":2173,"count":149}],"isBlockCoverage":true},{"functionName":"setLabel","ranges":[{"startOffset":2213,"endOffset":2264,"count":32}],"isBlockCoverage":true},{"functionName":"toDigraph","ranges":[{"startOffset":2269,"endOffset":2486,"count":3}],"isBlockCoverage":true},{"functionName":"listSources","ranges":[{"startOffset":2491,"endOffset":2722,"count":188},{"startOffset":2584,"endOffset":2675,"count":1575},{"startOffset":2617,"endOffset":2665,"count":191}],"isBlockCoverage":true},{"functionName":"listTargets","ranges":[{"startOffset":2727,"endOffset":2958,"count":188},{"startOffset":2820,"endOffset":2911,"count":1575},{"startOffset":2855,"endOffset":2901,"count":158}],"isBlockCoverage":true},{"functionName":"reduce","ranges":[{"startOffset":3053,"endOffset":4045,"count":31},{"startOffset":3109,"endOffset":4018,"count":272},{"startOffset":3157,"endOffset":3198,"count":86},{"startOffset":3198,"endOffset":3338,"count":186},{"startOffset":3338,"endOffset":3359,"count":147},{"startOffset":3361,"endOffset":3820,"count":116},{"startOffset":3460,"endOffset":3525,"count":138},{"startOffset":3567,"endOffset":3632,"count":118},{"startOffset":3674,"endOffset":3806,"count":138},{"startOffset":3721,"endOffset":3788,"count":140},{"startOffset":3820,"endOffset":3861,"count":186},{"startOffset":3861,"endOffset":3884,"count":93},{"startOffset":3886,"endOffset":4008,"count":8}],"isBlockCoverage":true}]},{"scriptId":"1794","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/code_lens.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3801,"count":1}],"isBlockCoverage":true},{"functionName":"CodeLens","ranges":[{"startOffset":442,"endOffset":490,"count":3}],"isBlockCoverage":true},{"functionName":"list","ranges":[{"startOffset":495,"endOffset":2792,"count":3},{"startOffset":707,"endOffset":741,"count":0},{"startOffset":874,"endOffset":908,"count":0},{"startOffset":1188,"endOffset":1754,"count":1},{"startOffset":1303,"endOffset":1352,"count":0},{"startOffset":1442,"endOffset":1450,"count":0},{"startOffset":1510,"endOffset":1559,"count":0},{"startOffset":1884,"endOffset":2756,"count":1},{"startOffset":1959,"endOffset":2008,"count":0},{"startOffset":2287,"endOffset":2387,"count":0}],"isBlockCoverage":true},{"functionName":"isDynamicException","ranges":[{"startOffset":2797,"endOffset":3240,"count":1},{"startOffset":3083,"endOffset":3171,"count":0},{"startOffset":3172,"endOffset":3180,"count":0},{"startOffset":3181,"endOffset":3201,"count":0},{"startOffset":3212,"endOffset":3239,"count":0}],"isBlockCoverage":true},{"functionName":"findMethodReferences","ranges":[{"startOffset":3245,"endOffset":3732,"count":12},{"startOffset":3370,"endOffset":3589,"count":6},{"startOffset":3427,"endOffset":3579,"count":3},{"startOffset":3513,"endOffset":3565,"count":1},{"startOffset":3634,"endOffset":3706,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1795","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/inlay_hints.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2517,"count":1}],"isBlockCoverage":true},{"functionName":"InlayHints","ranges":[{"startOffset":518,"endOffset":566,"count":8}],"isBlockCoverage":true},{"functionName":"list","ranges":[{"startOffset":571,"endOffset":2059,"count":8},{"startOffset":744,"endOffset":778,"count":0},{"startOffset":911,"endOffset":945,"count":0},{"startOffset":1324,"endOffset":1412,"count":7},{"startOffset":1412,"endOffset":1571,"count":1},{"startOffset":1613,"endOffset":1662,"count":0}],"isBlockCoverage":true},{"functionName":"findImplicitReferences","ranges":[{"startOffset":2064,"endOffset":2442,"count":29},{"startOffset":2170,"endOffset":2303,"count":30},{"startOffset":2249,"endOffset":2293,"count":8},{"startOffset":2348,"endOffset":2416,"count":21}],"isBlockCoverage":true}]},{"scriptId":"1796","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/_interfaces.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":116,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1797","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/ddl_parser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2465,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":365,"endOffset":459,"count":1}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":529,"endOffset":1012,"count":4},{"startOffset":732,"endOffset":842,"count":1},{"startOffset":921,"endOffset":962,"count":0}],"isBlockCoverage":true},{"functionName":"parsedToResult","ranges":[{"startOffset":1017,"endOffset":2393,"count":4},{"startOffset":1364,"endOffset":2125,"count":6},{"startOffset":1469,"endOffset":1477,"count":0},{"startOffset":1499,"endOffset":1504,"count":0},{"startOffset":1565,"endOffset":1768,"count":1},{"startOffset":1768,"endOffset":2115,"count":5},{"startOffset":1895,"endOffset":1903,"count":0},{"startOffset":1925,"endOffset":1930,"count":0},{"startOffset":2297,"endOffset":2316,"count":3},{"startOffset":2317,"endOffset":2332,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1798","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/ddl_lexer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1029,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":227,"endOffset":960,"count":5},{"startOffset":364,"endOffset":521,"count":26},{"startOffset":401,"endOffset":470,"count":9},{"startOffset":470,"endOffset":521,"count":17},{"startOffset":579,"endOffset":864,"count":91},{"startOffset":607,"endOffset":648,"count":43},{"startOffset":648,"endOffset":854,"count":48},{"startOffset":687,"endOffset":790,"count":7},{"startOffset":790,"endOffset":854,"count":41}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":890,"endOffset":952,"count":55}],"isBlockCoverage":true}]},{"scriptId":"1799","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1139,"count":1},{"startOffset":407,"endOffset":488,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88,"endOffset":405,"count":7},{"startOffset":232,"endOffset":247,"count":0},{"startOffset":264,"endOffset":284,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":327,"endOffset":354,"count":42}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":410,"endOffset":487,"count":0}],"isBlockCoverage":true},{"functionName":"__exportStar","ranges":[{"startOffset":541,"endOffset":692,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1800","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_include.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":421,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":256,"endOffset":346,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1801","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":339,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":208,"endOffset":273,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1802","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_structure_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":513,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":312,"endOffset":416,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1803","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":358,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":208,"endOffset":292,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1804","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_structure.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":669,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":372,"endOffset":588,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1805","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_table_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":556,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":304,"endOffset":471,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1806","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":629,"count":1}],"isBlockCoverage":true},{"functionName":"getRunnable","ranges":[{"startOffset":356,"endOffset":560,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1807","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/cyclomatic_complexity_stats.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2257,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":416,"endOffset":2136,"count":313},{"startOffset":532,"endOffset":566,"count":62},{"startOffset":566,"endOffset":614,"count":251},{"startOffset":614,"endOffset":2110,"count":258},{"startOffset":698,"endOffset":706,"count":13},{"startOffset":707,"endOffset":748,"count":245},{"startOffset":750,"endOffset":755,"count":13},{"startOffset":757,"endOffset":2100,"count":48},{"startOffset":849,"endOffset":1632,"count":326},{"startOffset":1153,"endOffset":1188,"count":225},{"startOffset":1213,"endOffset":1247,"count":225},{"startOffset":1272,"endOffset":1312,"count":225},{"startOffset":1337,"endOffset":1372,"count":225},{"startOffset":1397,"endOffset":1434,"count":225},{"startOffset":1459,"endOffset":1494,"count":225},{"startOffset":1519,"endOffset":1553,"count":225},{"startOffset":1555,"endOffset":1614,"count":101},{"startOffset":1756,"endOffset":1764,"count":0},{"startOffset":1842,"endOffset":1850,"count":0},{"startOffset":2028,"endOffset":2038,"count":0},{"startOffset":2110,"endOffset":2135,"count":251}],"isBlockCoverage":true}]},{"scriptId":"1808","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/align_pseudo_comments.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3181,"count":1}],"isBlockCoverage":true},{"functionName":"AlignPseudoComments","ranges":[{"startOffset":700,"endOffset":801,"count":10432}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":806,"endOffset":1276,"count":31106}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1281,"endOffset":1326,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1331,"endOffset":1380,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1385,"endOffset":3078,"count":266},{"startOffset":1521,"endOffset":3049,"count":1482},{"startOffset":1591,"endOffset":1697,"count":1451},{"startOffset":1697,"endOffset":1901,"count":31},{"startOffset":1901,"endOffset":1942,"count":12},{"startOffset":1942,"endOffset":2032,"count":19},{"startOffset":1991,"endOffset":2032,"count":0},{"startOffset":2032,"endOffset":2106,"count":19},{"startOffset":2106,"endOffset":2174,"count":12},{"startOffset":2174,"endOffset":2292,"count":19},{"startOffset":2292,"endOffset":2317,"count":18},{"startOffset":2319,"endOffset":3039,"count":11},{"startOffset":2400,"endOffset":2550,"count":10},{"startOffset":2550,"endOffset":2810,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1809","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/align_type_expressions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6337,"count":1}],"isBlockCoverage":true},{"functionName":"AlignTypeExpressionsConf","ranges":[{"startOffset":775,"endOffset":910,"count":20855}],"isBlockCoverage":true},{"functionName":"AlignTypeExpressions","ranges":[{"startOffset":1037,"endOffset":1139,"count":10433}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1144,"endOffset":2164,"count":31103}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2169,"endOffset":2214,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2219,"endOffset":2268,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2273,"endOffset":2963,"count":267},{"startOffset":2397,"endOffset":2451,"count":13},{"startOffset":2451,"endOffset":2544,"count":254},{"startOffset":2544,"endOffset":2826,"count":51},{"startOffset":2645,"endOffset":2687,"count":2},{"startOffset":2687,"endOffset":2816,"count":49},{"startOffset":2774,"endOffset":2816,"count":1},{"startOffset":2826,"endOffset":2962,"count":251}],"isBlockCoverage":true},{"functionName":"check","ranges":[{"startOffset":2968,"endOffset":3996,"count":87},{"startOffset":3164,"endOffset":3206,"count":1},{"startOffset":3206,"endOffset":3276,"count":86},{"startOffset":3276,"endOffset":3967,"count":85},{"startOffset":3323,"endOffset":3364,"count":77},{"startOffset":3364,"endOffset":3441,"count":8},{"startOffset":3441,"endOffset":3726,"count":4},{"startOffset":3726,"endOffset":3967,"count":8},{"startOffset":3967,"endOffset":3995,"count":86}],"isBlockCoverage":true},{"functionName":"checkMethods","ranges":[{"startOffset":4001,"endOffset":5374,"count":251},{"startOffset":4158,"endOffset":5345,"count":57},{"startOffset":4329,"endOffset":4749,"count":27},{"startOffset":4850,"endOffset":5273,"count":13}],"isBlockCoverage":true},{"functionName":"checkTypes","ranges":[{"startOffset":5379,"endOffset":6231,"count":251},{"startOffset":5535,"endOffset":6202,"count":33},{"startOffset":5600,"endOffset":5641,"count":3},{"startOffset":5641,"endOffset":5797,"count":30},{"startOffset":5797,"endOffset":6130,"count":47},{"startOffset":6130,"endOffset":6202,"count":30}],"isBlockCoverage":true}]},{"scriptId":"1810","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/allowed_object_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2022,"count":1}],"isBlockCoverage":true},{"functionName":"AllowedObjectNaming","ranges":[{"startOffset":514,"endOffset":586,"count":10450}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":591,"endOffset":908,"count":31103}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":913,"endOffset":958,"count":243}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":963,"endOffset":1008,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1013,"endOffset":1062,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1067,"endOffset":1919,"count":337},{"startOffset":1233,"endOffset":1293,"count":1},{"startOffset":1293,"endOffset":1733,"count":336},{"startOffset":1344,"endOffset":1369,"count":4},{"startOffset":1371,"endOffset":1445,"count":0},{"startOffset":1498,"endOffset":1629,"count":29},{"startOffset":1558,"endOffset":1619,"count":5},{"startOffset":1629,"endOffset":1733,"count":307},{"startOffset":1680,"endOffset":1733,"count":2},{"startOffset":1766,"endOffset":1894,"count":8},{"startOffset":1894,"endOffset":1918,"count":329}],"isBlockCoverage":true}]},{"scriptId":"1811","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/allowed_object_types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2022,"count":1}],"isBlockCoverage":true},{"functionName":"AllowedObjectTypesConf","ranges":[{"startOffset":407,"endOffset":592,"count":20844}],"isBlockCoverage":true},{"functionName":"AllowedObjectTypes","ranges":[{"startOffset":683,"endOffset":754,"count":10422}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":759,"endOffset":1139,"count":31095}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1144,"endOffset":1189,"count":243}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1194,"endOffset":1289,"count":0}],"isBlockCoverage":false},{"functionName":"getConfig","ranges":[{"startOffset":1294,"endOffset":1339,"count":10215}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1344,"endOffset":1393,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1398,"endOffset":1922,"count":309},{"startOffset":1552,"endOffset":1921,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1812","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/ambiguous_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3140,"count":1}],"isBlockCoverage":true},{"functionName":"AmbiguousStatement","ranges":[{"startOffset":685,"endOffset":785,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":790,"endOffset":1374,"count":31098}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1379,"endOffset":1459,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1464,"endOffset":1509,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1514,"endOffset":1563,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1568,"endOffset":2768,"count":264},{"startOffset":1689,"endOffset":1723,"count":0},{"startOffset":1778,"endOffset":2739,"count":1463},{"startOffset":1881,"endOffset":1983,"count":1},{"startOffset":1983,"endOffset":2517,"count":1462},{"startOffset":2059,"endOffset":2161,"count":3},{"startOffset":2161,"endOffset":2517,"count":1459},{"startOffset":2237,"endOffset":2339,"count":1},{"startOffset":2339,"endOffset":2517,"count":1458},{"startOffset":2415,"endOffset":2517,"count":2},{"startOffset":2541,"endOffset":2729,"count":2}],"isBlockCoverage":true},{"functionName":"tryMatch","ranges":[{"startOffset":2773,"endOffset":3041,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1813","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/avoid_use.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7274,"count":1}],"isBlockCoverage":true},{"functionName":"AvoidUseConf","ranges":[{"startOffset":676,"endOffset":1538,"count":20846}],"isBlockCoverage":true},{"functionName":"AvoidUse","ranges":[{"startOffset":1629,"endOffset":1719,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1724,"endOffset":2459,"count":31125}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":2464,"endOffset":2541,"count":28}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2546,"endOffset":2591,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2596,"endOffset":2645,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2650,"endOffset":6572,"count":283},{"startOffset":2848,"endOffset":6543,"count":1491},{"startOffset":3096,"endOffset":3147,"count":2},{"startOffset":3147,"endOffset":5209,"count":1489},{"startOffset":3238,"endOffset":3632,"count":6},{"startOffset":3540,"endOffset":3551,"count":0},{"startOffset":3632,"endOffset":5209,"count":1483},{"startOffset":3720,"endOffset":3811,"count":1},{"startOffset":3811,"endOffset":5209,"count":1482},{"startOffset":3897,"endOffset":3952,"count":1},{"startOffset":3952,"endOffset":5209,"count":1481},{"startOffset":4041,"endOffset":4095,"count":3},{"startOffset":4097,"endOffset":4158,"count":1},{"startOffset":4158,"endOffset":5209,"count":1480},{"startOffset":4249,"endOffset":4305,"count":2},{"startOffset":4307,"endOffset":4370,"count":2},{"startOffset":4370,"endOffset":5209,"count":1478},{"startOffset":4457,"endOffset":4773,"count":2},{"startOffset":4561,"endOffset":4569,"count":0},{"startOffset":4616,"endOffset":4669,"count":1},{"startOffset":4671,"endOffset":4773,"count":1},{"startOffset":4773,"endOffset":5209,"count":1476},{"startOffset":4855,"endOffset":4882,"count":3},{"startOffset":4884,"endOffset":4936,"count":1},{"startOffset":4936,"endOffset":5209,"count":1475},{"startOffset":5016,"endOffset":5209,"count":5},{"startOffset":5119,"endOffset":5130,"count":0},{"startOffset":5209,"endOffset":5235,"count":1490},{"startOffset":5235,"endOffset":5406,"count":19},{"startOffset":5406,"endOffset":5613,"count":1490},{"startOffset":5548,"endOffset":5612,"count":0},{"startOffset":5630,"endOffset":5711,"count":1490},{"startOffset":5671,"endOffset":5710,"count":1364},{"startOffset":5713,"endOffset":6533,"count":215},{"startOffset":5834,"endOffset":5842,"count":190},{"startOffset":5843,"endOffset":5896,"count":25},{"startOffset":5957,"endOffset":5965,"count":192},{"startOffset":5966,"endOffset":6003,"count":23},{"startOffset":6028,"endOffset":6036,"count":23},{"startOffset":6038,"endOffset":6519,"count":10},{"startOffset":6150,"endOffset":6158,"count":2},{"startOffset":6159,"endOffset":6171,"count":8},{"startOffset":6205,"endOffset":6254,"count":2},{"startOffset":6256,"endOffset":6313,"count":1},{"startOffset":6313,"endOffset":6519,"count":9}],"isBlockCoverage":true},{"functionName":"getDescribeLinesFix","ranges":[{"startOffset":6577,"endOffset":7205,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1814","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/begin_end_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4392,"count":1}],"isBlockCoverage":true},{"functionName":"BeginEndNames","ranges":[{"startOffset":812,"endOffset":907,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":912,"endOffset":1463,"count":31109}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1468,"endOffset":1513,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1518,"endOffset":1567,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1572,"endOffset":2624,"count":285},{"startOffset":1693,"endOffset":1727,"count":12},{"startOffset":1727,"endOffset":1871,"count":273},{"startOffset":1871,"endOffset":1905,"count":8},{"startOffset":1905,"endOffset":2623,"count":265}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1786,"endOffset":1830,"count":1535}],"isBlockCoverage":true},{"functionName":"test","ranges":[{"startOffset":2629,"endOffset":4307,"count":1590},{"startOffset":2752,"endOffset":4278,"count":72},{"startOffset":2900,"endOffset":3019,"count":33},{"startOffset":3057,"endOffset":3098,"count":0},{"startOffset":3290,"endOffset":3407,"count":33},{"startOffset":3443,"endOffset":3484,"count":1},{"startOffset":3484,"endOffset":3609,"count":71},{"startOffset":3609,"endOffset":3967,"count":11},{"startOffset":3967,"endOffset":4016,"count":71},{"startOffset":4016,"endOffset":4268,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1815","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/begin_single_include.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3337,"count":1}],"isBlockCoverage":true},{"functionName":"BeginSingleInclude","ranges":[{"startOffset":652,"endOffset":752,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":757,"endOffset":1400,"count":31101}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1405,"endOffset":1450,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1455,"endOffset":1504,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1509,"endOffset":3237,"count":259},{"startOffset":1628,"endOffset":1662,"count":13},{"startOffset":1662,"endOffset":1729,"count":246},{"startOffset":1729,"endOffset":2176,"count":26},{"startOffset":1777,"endOffset":1818,"count":12},{"startOffset":1818,"endOffset":1881,"count":14},{"startOffset":1881,"endOffset":2166,"count":1},{"startOffset":2176,"endOffset":2242,"count":246},{"startOffset":2242,"endOffset":2689,"count":9},{"startOffset":2290,"endOffset":2331,"count":1},{"startOffset":2331,"endOffset":2394,"count":8},{"startOffset":2394,"endOffset":2679,"count":3},{"startOffset":2689,"endOffset":2758,"count":246},{"startOffset":2758,"endOffset":3208,"count":1},{"startOffset":2806,"endOffset":2847,"count":0},{"startOffset":3208,"endOffset":3236,"count":246}],"isBlockCoverage":true}]},{"scriptId":"1816","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/call_transaction_authority_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2632,"count":1}],"isBlockCoverage":true},{"functionName":"CallTransactionAuthorityCheck","ranges":[{"startOffset":696,"endOffset":866,"count":10427}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":871,"endOffset":1488,"count":31099}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1493,"endOffset":1574,"count":3}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1579,"endOffset":1624,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1629,"endOffset":1678,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1683,"endOffset":2498,"count":261},{"startOffset":1881,"endOffset":1926,"count":259},{"startOffset":1928,"endOffset":1962,"count":2},{"startOffset":1962,"endOffset":2028,"count":259},{"startOffset":2028,"endOffset":2062,"count":20},{"startOffset":2062,"endOffset":2116,"count":239},{"startOffset":2116,"endOffset":2469,"count":1380},{"startOffset":2228,"endOffset":2327,"count":5},{"startOffset":2329,"endOffset":2459,"count":3},{"startOffset":2469,"endOffset":2497,"count":239}],"isBlockCoverage":true}]},{"scriptId":"1817","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cds_comment_style.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2221,"count":1}],"isBlockCoverage":true},{"functionName":"CDSCommentStyle","ranges":[{"startOffset":574,"endOffset":642,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":647,"endOffset":1201,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1206,"endOffset":1251,"count":9907}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1256,"endOffset":1305,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1310,"endOffset":1355,"count":246}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1360,"endOffset":2130,"count":312},{"startOffset":1442,"endOffset":1487,"count":4},{"startOffset":1489,"endOffset":1585,"count":308},{"startOffset":1533,"endOffset":1584,"count":0},{"startOffset":1587,"endOffset":2101,"count":4},{"startOffset":1675,"endOffset":1721,"count":0},{"startOffset":1817,"endOffset":2091,"count":78},{"startOffset":1869,"endOffset":1899,"count":2},{"startOffset":1901,"endOffset":2077,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1818","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cds_legacy_view.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2182,"count":1}],"isBlockCoverage":true},{"functionName":"CDSLegacyView","ranges":[{"startOffset":502,"endOffset":568,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":573,"endOffset":1088,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1093,"endOffset":1138,"count":9907}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1143,"endOffset":1192,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1197,"endOffset":1265,"count":246}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1270,"endOffset":2097,"count":312},{"startOffset":1389,"endOffset":1453,"count":0},{"startOffset":1455,"endOffset":1489,"count":0},{"startOffset":1526,"endOffset":1560,"count":308},{"startOffset":1560,"endOffset":2068,"count":4},{"startOffset":1688,"endOffset":1746,"count":1},{"startOffset":1746,"endOffset":1815,"count":3},{"startOffset":1815,"endOffset":2058,"count":1},{"startOffset":2068,"endOffset":2096,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1819","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cds_parser_error.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1633,"count":1}],"isBlockCoverage":true},{"functionName":"CDSParserError","ranges":[{"startOffset":467,"endOffset":534,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":539,"endOffset":826,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":831,"endOffset":876,"count":9907}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":881,"endOffset":930,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":935,"endOffset":980,"count":245}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":985,"endOffset":1545,"count":311},{"startOffset":1067,"endOffset":1112,"count":3},{"startOffset":1114,"endOffset":1210,"count":308},{"startOffset":1158,"endOffset":1209,"count":0},{"startOffset":1212,"endOffset":1516,"count":3},{"startOffset":1352,"endOffset":1359,"count":1},{"startOffset":1361,"endOffset":1506,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1820","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/chain_mainly_declarations.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8378,"count":1}],"isBlockCoverage":true},{"functionName":"ChainMainlyDeclarationsConf","ranges":[{"startOffset":537,"endOffset":1473,"count":20848}],"isBlockCoverage":true},{"functionName":"ChainMainlyDeclarations","ranges":[{"startOffset":1609,"endOffset":1714,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1719,"endOffset":2346,"count":31107}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2351,"endOffset":2396,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2401,"endOffset":2450,"count":245}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2455,"endOffset":6916,"count":271},{"startOffset":2600,"endOffset":2634,"count":12},{"startOffset":2634,"endOffset":2731,"count":259},{"startOffset":2731,"endOffset":6887,"count":1440},{"startOffset":2822,"endOffset":2863,"count":1268},{"startOffset":2863,"endOffset":4975,"count":172},{"startOffset":3437,"endOffset":3480,"count":170},{"startOffset":3501,"endOffset":3549,"count":161},{"startOffset":3570,"endOffset":3616,"count":159},{"startOffset":3637,"endOffset":3680,"count":157},{"startOffset":3701,"endOffset":3745,"count":156},{"startOffset":3766,"endOffset":3813,"count":156},{"startOffset":3834,"endOffset":3884,"count":156},{"startOffset":3905,"endOffset":3947,"count":156},{"startOffset":3968,"endOffset":4009,"count":156},{"startOffset":4030,"endOffset":4074,"count":156},{"startOffset":4095,"endOffset":4142,"count":154},{"startOffset":4163,"endOffset":4202,"count":152},{"startOffset":4223,"endOffset":4267,"count":102},{"startOffset":4288,"endOffset":4330,"count":76},{"startOffset":4351,"endOffset":4399,"count":50},{"startOffset":4420,"endOffset":4466,"count":47},{"startOffset":4487,"endOffset":4530,"count":44},{"startOffset":4551,"endOffset":4592,"count":43},{"startOffset":4613,"endOffset":4654,"count":41},{"startOffset":4675,"endOffset":4719,"count":41},{"startOffset":4740,"endOffset":4786,"count":41},{"startOffset":4807,"endOffset":4846,"count":40},{"startOffset":4867,"endOffset":4911,"count":24},{"startOffset":4932,"endOffset":4974,"count":18},{"startOffset":4977,"endOffset":5018,"count":161},{"startOffset":5018,"endOffset":6324,"count":11},{"startOffset":5107,"endOffset":5148,"count":1},{"startOffset":5148,"endOffset":6324,"count":10},{"startOffset":5235,"endOffset":5276,"count":0},{"startOffset":5369,"endOffset":5410,"count":0},{"startOffset":5505,"endOffset":5546,"count":0},{"startOffset":5635,"endOffset":5676,"count":0},{"startOffset":5763,"endOffset":5804,"count":0},{"startOffset":5891,"endOffset":5932,"count":0},{"startOffset":6025,"endOffset":6066,"count":0},{"startOffset":6155,"endOffset":6196,"count":0},{"startOffset":6242,"endOffset":6281,"count":3},{"startOffset":6283,"endOffset":6324,"count":1},{"startOffset":6324,"endOffset":6409,"count":9},{"startOffset":6409,"endOffset":6527,"count":4},{"startOffset":6483,"endOffset":6491,"count":0},{"startOffset":6527,"endOffset":6887,"count":9},{"startOffset":6887,"endOffset":6915,"count":259}],"isBlockCoverage":true},{"functionName":"getFix","ranges":[{"startOffset":6921,"endOffset":8263,"count":9},{"startOffset":7671,"endOffset":7712,"count":0},{"startOffset":7876,"endOffset":7933,"count":5},{"startOffset":7933,"endOffset":8019,"count":4},{"startOffset":8162,"endOffset":8237,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1821","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/change_if_to_case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5547,"count":1}],"isBlockCoverage":true},{"functionName":"ChangeIfToCaseConf","ranges":[{"startOffset":589,"endOffset":778,"count":20857}],"isBlockCoverage":true},{"functionName":"ChangeIfToCase","ranges":[{"startOffset":887,"endOffset":983,"count":10435}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":988,"endOffset":1781,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1786,"endOffset":1831,"count":9914}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1836,"endOffset":1885,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1890,"endOffset":3226,"count":267},{"startOffset":2025,"endOffset":2063,"count":12},{"startOffset":2063,"endOffset":2136,"count":255},{"startOffset":2136,"endOffset":3197,"count":25},{"startOffset":2281,"endOffset":2322,"count":0},{"startOffset":2406,"endOffset":2447,"count":3},{"startOffset":2447,"endOffset":2517,"count":22},{"startOffset":2518,"endOffset":2526,"count":0},{"startOffset":2527,"endOffset":2579,"count":22},{"startOffset":2654,"endOffset":2826,"count":9},{"startOffset":2758,"endOffset":2766,"count":0},{"startOffset":2826,"endOffset":2863,"count":22},{"startOffset":2863,"endOffset":2904,"count":13},{"startOffset":2904,"endOffset":2984,"count":9},{"startOffset":2984,"endOffset":3187,"count":4},{"startOffset":3197,"endOffset":3225,"count":255}],"isBlockCoverage":true},{"functionName":"analyze","ranges":[{"startOffset":3231,"endOffset":5458,"count":9},{"startOffset":3338,"endOffset":4539,"count":16},{"startOffset":3373,"endOffset":3414,"count":0},{"startOffset":3475,"endOffset":3520,"count":0},{"startOffset":3573,"endOffset":3608,"count":15},{"startOffset":3610,"endOffset":3655,"count":1},{"startOffset":3655,"endOffset":3733,"count":15},{"startOffset":3733,"endOffset":4529,"count":19},{"startOffset":3853,"endOffset":3861,"count":0},{"startOffset":3953,"endOffset":4006,"count":0},{"startOffset":4043,"endOffset":4057,"count":5},{"startOffset":4059,"endOffset":4112,"count":2},{"startOffset":4112,"endOffset":4205,"count":17},{"startOffset":4206,"endOffset":4214,"count":0},{"startOffset":4215,"endOffset":4234,"count":17},{"startOffset":4245,"endOffset":4261,"count":17},{"startOffset":4262,"endOffset":4270,"count":0},{"startOffset":4271,"endOffset":4289,"count":17},{"startOffset":4368,"endOffset":4384,"count":17},{"startOffset":4385,"endOffset":4393,"count":0},{"startOffset":4394,"endOffset":4413,"count":17},{"startOffset":4424,"endOffset":4440,"count":17},{"startOffset":4441,"endOffset":4449,"count":0},{"startOffset":4450,"endOffset":4468,"count":17},{"startOffset":4529,"endOffset":4539,"count":13},{"startOffset":4539,"endOffset":4573,"count":6},{"startOffset":4573,"endOffset":4610,"count":0},{"startOffset":4610,"endOffset":4682,"count":6},{"startOffset":4682,"endOffset":5086,"count":3},{"startOffset":4783,"endOffset":4830,"count":0},{"startOffset":4885,"endOffset":4933,"count":1},{"startOffset":4933,"endOffset":5086,"count":2},{"startOffset":4987,"endOffset":5035,"count":0},{"startOffset":5086,"endOffset":5141,"count":4},{"startOffset":5141,"endOffset":5146,"count":0},{"startOffset":5148,"endOffset":5286,"count":0},{"startOffset":5286,"endOffset":5319,"count":4},{"startOffset":5319,"endOffset":5431,"count":12},{"startOffset":5354,"endOffset":5374,"count":2},{"startOffset":5376,"endOffset":5421,"count":0},{"startOffset":5431,"endOffset":5457,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1822","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_abstract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2746,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":456,"endOffset":679,"count":1}],"isBlockCoverage":true},{"functionName":"CheckAbstract","ranges":[{"startOffset":769,"endOffset":864,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":869,"endOffset":1311,"count":31100}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1316,"endOffset":1685,"count":4},{"startOffset":1391,"endOffset":1499,"count":1},{"startOffset":1512,"endOffset":1621,"count":3},{"startOffset":1634,"endOffset":1669,"count":0}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1690,"endOffset":1735,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1740,"endOffset":1789,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1794,"endOffset":2662,"count":262},{"startOffset":1909,"endOffset":2633,"count":122},{"startOffset":1957,"endOffset":2290,"count":6},{"startOffset":2005,"endOffset":2039,"count":2},{"startOffset":2041,"endOffset":2250,"count":1},{"startOffset":2290,"endOffset":2345,"count":116},{"startOffset":2345,"endOffset":2623,"count":49},{"startOffset":2398,"endOffset":2609,"count":3},{"startOffset":2623,"endOffset":2633,"count":116}],"isBlockCoverage":true}]},{"scriptId":"1823","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_comments.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3100,"count":1}],"isBlockCoverage":true},{"functionName":"CheckCommentsConf","ranges":[{"startOffset":471,"endOffset":613,"count":20847}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":679,"endOffset":760,"count":1}],"isBlockCoverage":true},{"functionName":"CheckComments","ranges":[{"startOffset":850,"endOffset":945,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":950,"endOffset":1570,"count":31113}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1575,"endOffset":1798,"count":17},{"startOffset":1763,"endOffset":1782,"count":0}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1803,"endOffset":1848,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1853,"endOffset":1902,"count":259}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1907,"endOffset":3016,"count":270},{"startOffset":2039,"endOffset":2073,"count":7},{"startOffset":2073,"endOffset":2152,"count":263},{"startOffset":2152,"endOffset":2323,"count":1777},{"startOffset":2230,"endOffset":2259,"count":1768},{"startOffset":2261,"endOffset":2313,"count":15},{"startOffset":2323,"endOffset":2430,"count":263},{"startOffset":2430,"endOffset":2987,"count":1494},{"startOffset":2541,"endOffset":2600,"count":41},{"startOffset":2602,"endOffset":2977,"count":27},{"startOffset":2698,"endOffset":2753,"count":18},{"startOffset":2755,"endOffset":2804,"count":10},{"startOffset":2804,"endOffset":2977,"count":17},{"startOffset":2987,"endOffset":3015,"count":263}],"isBlockCoverage":true}]},{"scriptId":"1824","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_ddic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2787,"count":1}],"isBlockCoverage":true},{"functionName":"CheckDDIC","ranges":[{"startOffset":598,"endOffset":660,"count":10430}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":665,"endOffset":1033,"count":31109}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1038,"endOffset":1106,"count":251}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1111,"endOffset":1156,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1161,"endOffset":1210,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1215,"endOffset":1813,"count":317},{"startOffset":1316,"endOffset":1348,"count":285},{"startOffset":1361,"endOffset":1392,"count":282},{"startOffset":1405,"endOffset":1435,"count":261},{"startOffset":1448,"endOffset":1497,"count":261},{"startOffset":1510,"endOffset":1546,"count":258},{"startOffset":1559,"endOffset":1614,"count":257},{"startOffset":1627,"endOffset":1662,"count":257},{"startOffset":1664,"endOffset":1720,"count":63},{"startOffset":1720,"endOffset":1768,"count":254},{"startOffset":1768,"endOffset":1812,"count":63}],"isBlockCoverage":true},{"functionName":"check","ranges":[{"startOffset":1818,"endOffset":2715,"count":133},{"startOffset":1912,"endOffset":2218,"count":14},{"startOffset":2218,"endOffset":2655,"count":119},{"startOffset":2276,"endOffset":2528,"count":22},{"startOffset":2374,"endOffset":2518,"count":67},{"startOffset":2469,"endOffset":2487,"count":0},{"startOffset":2528,"endOffset":2655,"count":97},{"startOffset":2582,"endOffset":2655,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1825","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_subrc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10811,"count":1}],"isBlockCoverage":true},{"functionName":"CheckSubrcConf","ranges":[{"startOffset":639,"endOffset":1018,"count":20845}],"isBlockCoverage":true},{"functionName":"CheckSubrc","ranges":[{"startOffset":1115,"endOffset":1207,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1212,"endOffset":1961,"count":31108}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1966,"endOffset":2011,"count":10188}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2016,"endOffset":2065,"count":243}],"isBlockCoverage":true},{"functionName":"buildFix","ranges":[{"startOffset":2070,"endOffset":2285,"count":8}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2290,"endOffset":7774,"count":282},{"startOffset":2519,"endOffset":7745,"count":1519},{"startOffset":2693,"endOffset":2734,"count":1},{"startOffset":2734,"endOffset":2847,"count":1518},{"startOffset":2864,"endOffset":2906,"count":2},{"startOffset":2908,"endOffset":3143,"count":1},{"startOffset":3143,"endOffset":7735,"count":1517},{"startOffset":3284,"endOffset":3326,"count":0},{"startOffset":3328,"endOffset":3567,"count":0},{"startOffset":3698,"endOffset":3768,"count":9},{"startOffset":3785,"endOffset":3827,"count":6},{"startOffset":3844,"endOffset":3888,"count":3},{"startOffset":3890,"endOffset":4303,"count":3},{"startOffset":4036,"endOffset":4085,"count":1},{"startOffset":4085,"endOffset":4303,"count":2},{"startOffset":4303,"endOffset":7735,"count":1514},{"startOffset":4433,"endOffset":4513,"count":6},{"startOffset":4530,"endOffset":4614,"count":3},{"startOffset":4631,"endOffset":4713,"count":2},{"startOffset":4730,"endOffset":4772,"count":1},{"startOffset":4789,"endOffset":4833,"count":1},{"startOffset":4835,"endOffset":5054,"count":1},{"startOffset":5054,"endOffset":7735,"count":1513},{"startOffset":5195,"endOffset":5237,"count":1},{"startOffset":5254,"endOffset":5298,"count":1},{"startOffset":5300,"endOffset":5519,"count":0},{"startOffset":5660,"endOffset":5702,"count":0},{"startOffset":5719,"endOffset":5763,"count":0},{"startOffset":5765,"endOffset":5984,"count":0},{"startOffset":6125,"endOffset":6167,"count":0},{"startOffset":6184,"endOffset":6228,"count":0},{"startOffset":6230,"endOffset":6449,"count":0},{"startOffset":6580,"endOffset":6622,"count":4},{"startOffset":6624,"endOffset":6843,"count":1},{"startOffset":6843,"endOffset":7735,"count":1512},{"startOffset":6968,"endOffset":7011,"count":9},{"startOffset":7028,"endOffset":7070,"count":4},{"startOffset":7072,"endOffset":7291,"count":1},{"startOffset":7291,"endOffset":7735,"count":1511},{"startOffset":7412,"endOffset":7455,"count":4},{"startOffset":7472,"endOffset":7514,"count":3},{"startOffset":7516,"endOffset":7735,"count":3},{"startOffset":7745,"endOffset":7773,"count":1519}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2645,"endOffset":2690,"count":1}],"isBlockCoverage":true},{"functionName":"isSimpleAssign","ranges":[{"startOffset":7800,"endOffset":8229,"count":9},{"startOffset":7878,"endOffset":8201,"count":8},{"startOffset":8019,"endOffset":8027,"count":0},{"startOffset":8081,"endOffset":8145,"count":7},{"startOffset":8147,"endOffset":8191,"count":5},{"startOffset":8201,"endOffset":8228,"count":4}],"isBlockCoverage":true},{"functionName":"isExemptedFind","ranges":[{"startOffset":8234,"endOffset":8405,"count":4}],"isBlockCoverage":true},{"functionName":"checksDbcnt","ranges":[{"startOffset":8410,"endOffset":9023,"count":5},{"startOffset":8503,"endOffset":8995,"count":1},{"startOffset":8682,"endOffset":8723,"count":0},{"startOffset":8859,"endOffset":8900,"count":0},{"startOffset":8995,"endOffset":9022,"count":4}],"isBlockCoverage":true},{"functionName":"isChecked","ranges":[{"startOffset":9028,"endOffset":10736,"count":21},{"startOffset":9225,"endOffset":9283,"count":17},{"startOffset":9285,"endOffset":9749,"count":8},{"startOffset":9409,"endOffset":9417,"count":3},{"startOffset":9418,"endOffset":9467,"count":5},{"startOffset":9495,"endOffset":9503,"count":3},{"startOffset":9504,"endOffset":9533,"count":5},{"startOffset":9588,"endOffset":9596,"count":3},{"startOffset":9597,"endOffset":9615,"count":5},{"startOffset":9689,"endOffset":9697,"count":3},{"startOffset":9698,"endOffset":9716,"count":5},{"startOffset":9810,"endOffset":10708,"count":15},{"startOffset":9989,"endOffset":10133,"count":2},{"startOffset":10067,"endOffset":10119,"count":1},{"startOffset":10133,"endOffset":10698,"count":13},{"startOffset":10215,"endOffset":10267,"count":12},{"startOffset":10269,"endOffset":10310,"count":2},{"startOffset":10310,"endOffset":10698,"count":11},{"startOffset":10359,"endOffset":10387,"count":7},{"startOffset":10389,"endOffset":10441,"count":1},{"startOffset":10441,"endOffset":10472,"count":10},{"startOffset":10472,"endOffset":10501,"count":6},{"startOffset":10503,"endOffset":10555,"count":0},{"startOffset":10555,"endOffset":10628,"count":10},{"startOffset":10628,"endOffset":10683,"count":3},{"startOffset":10708,"endOffset":10735,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1826","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_syntax.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1822,"count":1}],"isBlockCoverage":true},{"functionName":"CheckSyntax","ranges":[{"startOffset":630,"endOffset":694,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":699,"endOffset":955,"count":31095}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":960,"endOffset":1005,"count":9906}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1010,"endOffset":1078,"count":245}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1083,"endOffset":1132,"count":244}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1137,"endOffset":1744,"count":311},{"startOffset":1205,"endOffset":1239,"count":62},{"startOffset":1239,"endOffset":1484,"count":249},{"startOffset":1486,"endOffset":1715,"count":1},{"startOffset":1715,"endOffset":1743,"count":249}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1515,"endOffset":1703,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1827","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_text_elements.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4071,"count":1}],"isBlockCoverage":true},{"functionName":"CheckTextElements","ranges":[{"startOffset":589,"endOffset":659,"count":10435}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":664,"endOffset":871,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":876,"endOffset":921,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":926,"endOffset":975,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":980,"endOffset":1113,"count":256}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1118,"endOffset":3974,"count":322},{"startOffset":1186,"endOffset":1220,"count":62},{"startOffset":1220,"endOffset":1295,"count":260},{"startOffset":1295,"endOffset":3945,"count":267},{"startOffset":1379,"endOffset":1420,"count":12},{"startOffset":1420,"endOffset":1735,"count":255},{"startOffset":1735,"endOffset":2220,"count":12},{"startOffset":2121,"endOffset":2206,"count":0},{"startOffset":2220,"endOffset":2262,"count":255},{"startOffset":2262,"endOffset":3935,"count":12},{"startOffset":2328,"endOffset":2821,"count":6},{"startOffset":2543,"endOffset":2803,"count":1},{"startOffset":2649,"endOffset":2653,"count":0},{"startOffset":2821,"endOffset":3921,"count":6},{"startOffset":3202,"endOffset":3225,"count":5},{"startOffset":3227,"endOffset":3309,"count":4},{"startOffset":3355,"endOffset":3615,"count":1},{"startOffset":3461,"endOffset":3465,"count":0},{"startOffset":3615,"endOffset":3903,"count":5},{"startOffset":3696,"endOffset":3725,"count":2},{"startOffset":3727,"endOffset":3903,"count":2},{"startOffset":3935,"endOffset":3945,"count":255},{"startOffset":3945,"endOffset":3973,"count":260}],"isBlockCoverage":true}]},{"scriptId":"1828","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_transformation_exists.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2342,"count":1}],"isBlockCoverage":true},{"functionName":"CheckTransformationExists","ranges":[{"startOffset":700,"endOffset":807,"count":10428}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":812,"endOffset":1082,"count":31096}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1087,"endOffset":1175,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1180,"endOffset":1225,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1230,"endOffset":1279,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1284,"endOffset":2221,"count":259},{"startOffset":1405,"endOffset":1439,"count":13},{"startOffset":1439,"endOffset":1486,"count":246},{"startOffset":1486,"endOffset":2192,"count":1439},{"startOffset":1556,"endOffset":2182,"count":4},{"startOffset":1705,"endOffset":1754,"count":1},{"startOffset":1754,"endOffset":1939,"count":3},{"startOffset":1939,"endOffset":1988,"count":1},{"startOffset":1990,"endOffset":2168,"count":1},{"startOffset":2192,"endOffset":2220,"count":246}],"isBlockCoverage":true}]},{"scriptId":"1829","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/class_attribute_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4438,"count":1}],"isBlockCoverage":true},{"functionName":"ClassAttributeNamesConf","ranges":[{"startOffset":608,"endOffset":1145,"count":20910}],"isBlockCoverage":true},{"functionName":"ClassAttributeNames","ranges":[{"startOffset":1269,"endOffset":1370,"count":10472}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1375,"endOffset":1696,"count":31135}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1701,"endOffset":1976,"count":40},{"startOffset":1788,"endOffset":1878,"count":34},{"startOffset":1879,"endOffset":1969,"count":6}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1981,"endOffset":2026,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2031,"endOffset":2080,"count":291}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2085,"endOffset":3066,"count":304},{"startOffset":2182,"endOffset":2241,"count":16},{"startOffset":2389,"endOffset":2651,"count":142},{"startOffset":2425,"endOffset":2449,"count":78},{"startOffset":2467,"endOffset":2533,"count":70},{"startOffset":2503,"endOffset":2532,"count":1},{"startOffset":2535,"endOffset":2576,"count":73},{"startOffset":2576,"endOffset":2651,"count":69},{"startOffset":2702,"endOffset":2986,"count":301},{"startOffset":2781,"endOffset":2976,"count":70},{"startOffset":2819,"endOffset":2843,"count":48},{"startOffset":2845,"endOffset":2894,"count":36},{"startOffset":2894,"endOffset":2976,"count":34}],"isBlockCoverage":true},{"functionName":"checkAttributes","ranges":[{"startOffset":3071,"endOffset":3904,"count":304},{"startOffset":3127,"endOffset":3161,"count":0},{"startOffset":3214,"endOffset":3878,"count":70},{"startOffset":3263,"endOffset":3432,"count":36},{"startOffset":3449,"endOffset":3615,"count":10},{"startOffset":3632,"endOffset":3802,"count":24},{"startOffset":3819,"endOffset":3854,"count":0}],"isBlockCoverage":true},{"functionName":"checkName","ranges":[{"startOffset":3909,"endOffset":4335,"count":70},{"startOffset":4128,"endOffset":4309,"count":40}],"isBlockCoverage":true}]},{"scriptId":"1830","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/_naming_rule_config.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":782,"count":1}],"isBlockCoverage":true},{"functionName":"NamingRuleConfig","ranges":[{"startOffset":248,"endOffset":687,"count":125302}],"isBlockCoverage":true}]},{"scriptId":"1831","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/name_validator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":722,"count":1}],"isBlockCoverage":true},{"functionName":"violatesRule","ranges":[{"startOffset":142,"endOffset":638,"count":658},{"startOffset":211,"endOffset":265,"count":651},{"startOffset":267,"endOffset":304,"count":1},{"startOffset":304,"endOffset":357,"count":657},{"startOffset":357,"endOffset":362,"count":5},{"startOffset":364,"endOffset":474,"count":2},{"startOffset":474,"endOffset":510,"count":655},{"startOffset":510,"endOffset":546,"count":654},{"startOffset":547,"endOffset":589,"count":564},{"startOffset":590,"endOffset":631,"count":91}],"isBlockCoverage":true}]},{"scriptId":"1832","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/classic_exceptions_overlap.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2857,"count":1}],"isBlockCoverage":true},{"functionName":"ClassicExceptionsOverlap","ranges":[{"startOffset":627,"endOffset":733,"count":10427}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":738,"endOffset":1578,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1583,"endOffset":1628,"count":9909}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1633,"endOffset":1682,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1687,"endOffset":2739,"count":259},{"startOffset":1824,"endOffset":1874,"count":12},{"startOffset":1874,"endOffset":1962,"count":247},{"startOffset":1962,"endOffset":2710,"count":4},{"startOffset":2081,"endOffset":2700,"count":10},{"startOffset":2192,"endOffset":2200,"count":0},{"startOffset":2276,"endOffset":2325,"count":0},{"startOffset":2361,"endOffset":2655,"count":3},{"startOffset":2655,"endOffset":2700,"count":7},{"startOffset":2710,"endOffset":2738,"count":247}],"isBlockCoverage":true}]},{"scriptId":"1833","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cloud_types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3810,"count":1}],"isBlockCoverage":true},{"functionName":"CloudTypes","ranges":[{"startOffset":525,"endOffset":588,"count":10422}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":593,"endOffset":906,"count":31095}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":911,"endOffset":1017,"count":0}],"isBlockCoverage":false},{"functionName":"getConfig","ranges":[{"startOffset":1022,"endOffset":1067,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1072,"endOffset":1121,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1126,"endOffset":1194,"count":243}],"isBlockCoverage":true},{"functionName":"isCloud","ranges":[{"startOffset":1206,"endOffset":3340,"count":0}],"isBlockCoverage":false},{"functionName":"run","ranges":[{"startOffset":3345,"endOffset":3735,"count":309},{"startOffset":3430,"endOffset":3456,"count":0},{"startOffset":3492,"endOffset":3734,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1834","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/colon_missing_space.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2253,"count":1}],"isBlockCoverage":true},{"functionName":"ColonMissingSpace","ranges":[{"startOffset":612,"endOffset":711,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":716,"endOffset":1143,"count":31098}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1148,"endOffset":1216,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1221,"endOffset":1266,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1271,"endOffset":1320,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1325,"endOffset":2156,"count":259},{"startOffset":1459,"endOffset":2127,"count":5915},{"startOffset":1553,"endOffset":1583,"count":61},{"startOffset":1600,"endOffset":1644,"count":61},{"startOffset":1661,"endOffset":1709,"count":45},{"startOffset":1711,"endOffset":2117,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1835","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/commented_code.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4460,"count":1}],"isBlockCoverage":true},{"functionName":"CommentedCodeConf","ranges":[{"startOffset":778,"endOffset":917,"count":20846}],"isBlockCoverage":true},{"functionName":"CommentedCode","ranges":[{"startOffset":1023,"endOffset":1118,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1123,"endOffset":1659,"count":31107}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1664,"endOffset":1717,"count":10}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1722,"endOffset":1767,"count":9920}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1772,"endOffset":1821,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1826,"endOffset":2736,"count":272},{"startOffset":2049,"endOffset":2573,"count":1801},{"startOffset":2096,"endOffset":2370,"count":41},{"startOffset":2131,"endOffset":2216,"count":17},{"startOffset":2370,"endOffset":2563,"count":1760},{"startOffset":2404,"endOffset":2415,"count":7},{"startOffset":2416,"endOffset":2425,"count":7},{"startOffset":2427,"endOffset":2563,"count":7},{"startOffset":2595,"endOffset":2604,"count":15},{"startOffset":2606,"endOffset":2707,"count":15}],"isBlockCoverage":true},{"functionName":"check","ranges":[{"startOffset":2741,"endOffset":4213,"count":22},{"startOffset":2880,"endOffset":2919,"count":15},{"startOffset":2921,"endOffset":3223,"count":11},{"startOffset":3223,"endOffset":3257,"count":0},{"startOffset":3257,"endOffset":3349,"count":11},{"startOffset":3349,"endOffset":3897,"count":14},{"startOffset":3537,"endOffset":3581,"count":0},{"startOffset":3583,"endOffset":3624,"count":0},{"startOffset":3701,"endOffset":3743,"count":11},{"startOffset":3760,"endOffset":3804,"count":10},{"startOffset":3807,"endOffset":3887,"count":10},{"startOffset":3897,"endOffset":3930,"count":11},{"startOffset":3930,"endOffset":3964,"count":1},{"startOffset":3964,"endOffset":4212,"count":10}],"isBlockCoverage":true},{"functionName":"isCommentLine","ranges":[{"startOffset":4218,"endOffset":4376,"count":1801},{"startOffset":4295,"endOffset":4369,"count":1775},{"startOffset":4333,"endOffset":4368,"count":29}],"isBlockCoverage":true}]},{"scriptId":"1836","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/constant_classes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5984,"count":1}],"isBlockCoverage":true},{"functionName":"ConstantClassesConf","ranges":[{"startOffset":456,"endOffset":609,"count":20868}],"isBlockCoverage":true},{"functionName":"ConstantClasses","ranges":[{"startOffset":691,"endOffset":759,"count":10434}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":764,"endOffset":1229,"count":31112}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1234,"endOffset":1302,"count":255}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1307,"endOffset":1352,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1357,"endOffset":1406,"count":255}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1411,"endOffset":5730,"count":321},{"startOffset":1527,"endOffset":5705,"count":15},{"startOffset":1676,"endOffset":1718,"count":3},{"startOffset":1718,"endOffset":1831,"count":12},{"startOffset":1832,"endOffset":1840,"count":0},{"startOffset":1841,"endOffset":1874,"count":12},{"startOffset":1914,"endOffset":2209,"count":1},{"startOffset":2209,"endOffset":2327,"count":11},{"startOffset":2327,"endOffset":2369,"count":0},{"startOffset":2369,"endOffset":2457,"count":11},{"startOffset":2457,"endOffset":2680,"count":0},{"startOffset":2680,"endOffset":2887,"count":11},{"startOffset":2887,"endOffset":3235,"count":0},{"startOffset":3235,"endOffset":3401,"count":11},{"startOffset":3401,"endOffset":4913,"count":40},{"startOffset":3477,"endOffset":3531,"count":14},{"startOffset":3533,"endOffset":4030,"count":2},{"startOffset":3756,"endOffset":3930,"count":1},{"startOffset":4030,"endOffset":4076,"count":38},{"startOffset":4076,"endOffset":4147,"count":8},{"startOffset":4149,"endOffset":4358,"count":4},{"startOffset":4358,"endOffset":4426,"count":38},{"startOffset":4426,"endOffset":4607,"count":2},{"startOffset":4607,"endOffset":4668,"count":38},{"startOffset":4668,"endOffset":4899,"count":1},{"startOffset":4913,"endOffset":4959,"count":11},{"startOffset":4959,"endOffset":5326,"count":44},{"startOffset":5026,"endOffset":5312,"count":7},{"startOffset":5326,"endOffset":5377,"count":11},{"startOffset":5377,"endOffset":5404,"count":3},{"startOffset":5406,"endOffset":5668,"count":1},{"startOffset":5668,"endOffset":5705,"count":11},{"startOffset":5705,"endOffset":5729,"count":306}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1584,"endOffset":1643,"count":12}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2792,"endOffset":2802,"count":44}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5001,"endOffset":5023,"count":102}],"isBlockCoverage":true},{"functionName":"issueAtConstant","ranges":[{"startOffset":5735,"endOffset":5894,"count":8}],"isBlockCoverage":true}]},{"scriptId":"1837","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/constructor_visibility_public.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2376,"count":1}],"isBlockCoverage":true},{"functionName":"ConstructorVisibilityPublic","ranges":[{"startOffset":616,"endOffset":696,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":701,"endOffset":1368,"count":31096}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1373,"endOffset":1451,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1456,"endOffset":1501,"count":9906}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1506,"endOffset":1551,"count":246}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1556,"endOffset":1605,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1610,"endOffset":2249,"count":312},{"startOffset":1695,"endOffset":1729,"count":262},{"startOffset":1729,"endOffset":1807,"count":50},{"startOffset":1807,"endOffset":1841,"count":3},{"startOffset":1841,"endOffset":1884,"count":47},{"startOffset":1884,"endOffset":2220,"count":18},{"startOffset":1962,"endOffset":2017,"count":2},{"startOffset":2019,"endOffset":2210,"count":1},{"startOffset":2220,"endOffset":2248,"count":47}],"isBlockCoverage":true}]},{"scriptId":"1838","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/contains_tab.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2748,"count":1}],"isBlockCoverage":true},{"functionName":"ContainsTabConf","ranges":[{"startOffset":481,"endOffset":611,"count":20846}],"isBlockCoverage":true},{"functionName":"ContainsTab","ranges":[{"startOffset":711,"endOffset":804,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":809,"endOffset":1423,"count":31104}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1428,"endOffset":1495,"count":7}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1500,"endOffset":1635,"count":9913},{"startOffset":1558,"endOffset":1603,"count":0}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1640,"endOffset":1689,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1694,"endOffset":2197,"count":266}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1810,"endOffset":2166,"count":1755},{"startOffset":1902,"endOffset":2156,"count":7},{"startOffset":2015,"endOffset":2067,"count":12}],"isBlockCoverage":true},{"functionName":"createIssue","ranges":[{"startOffset":2202,"endOffset":2670,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1839","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cyclic_oo.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5895,"count":1}],"isBlockCoverage":true},{"functionName":"CyclicOOConf","ranges":[{"startOffset":567,"endOffset":916,"count":20848}],"isBlockCoverage":true},{"functionName":"CyclicOO","ranges":[{"startOffset":977,"endOffset":1063,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1068,"endOffset":1425,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1430,"endOffset":1475,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1480,"endOffset":1616,"count":243},{"startOffset":1566,"endOffset":1610,"count":0}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1621,"endOffset":3171,"count":247},{"startOffset":1765,"endOffset":2519,"count":49},{"startOffset":1811,"endOffset":1852,"count":0},{"startOffset":1958,"endOffset":1999,"count":0},{"startOffset":2056,"endOffset":2097,"count":0},{"startOffset":2217,"endOffset":2225,"count":3},{"startOffset":2226,"endOffset":2245,"count":46},{"startOffset":2257,"endOffset":2298,"count":0},{"startOffset":2409,"endOffset":2450,"count":2},{"startOffset":2450,"endOffset":2519,"count":47},{"startOffset":2581,"endOffset":3144,"count":25},{"startOffset":2627,"endOffset":2668,"count":0},{"startOffset":2784,"endOffset":2825,"count":0},{"startOffset":2882,"endOffset":2923,"count":0},{"startOffset":3034,"endOffset":3075,"count":1},{"startOffset":3075,"endOffset":3144,"count":24}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":3176,"endOffset":3810,"count":313},{"startOffset":3237,"endOffset":3273,"count":290},{"startOffset":3275,"endOffset":3309,"count":242},{"startOffset":3309,"endOffset":3380,"count":71},{"startOffset":3380,"endOffset":3414,"count":3},{"startOffset":3414,"endOffset":3579,"count":68},{"startOffset":3579,"endOffset":3785,"count":3},{"startOffset":3785,"endOffset":3809,"count":65}],"isBlockCoverage":true},{"functionName":"findCycle","ranges":[{"startOffset":3849,"endOffset":4418,"count":86},{"startOffset":3935,"endOffset":3976,"count":65},{"startOffset":3976,"endOffset":4386,"count":21},{"startOffset":4054,"endOffset":4095,"count":3},{"startOffset":4095,"endOffset":4376,"count":18},{"startOffset":4296,"endOffset":4362,"count":3},{"startOffset":4386,"endOffset":4417,"count":15}],"isBlockCoverage":true},{"functionName":"buildEdges","ranges":[{"startOffset":4423,"endOffset":5826,"count":315},{"startOffset":4515,"endOffset":5726,"count":89},{"startOffset":4574,"endOffset":4635,"count":77},{"startOffset":4652,"endOffset":4711,"count":50},{"startOffset":4713,"endOffset":4754,"count":41},{"startOffset":4754,"endOffset":4951,"count":48},{"startOffset":4897,"endOffset":4950,"count":47},{"startOffset":4953,"endOffset":4994,"count":1},{"startOffset":4994,"endOffset":5098,"count":47},{"startOffset":5098,"endOffset":5164,"count":29},{"startOffset":5143,"endOffset":5151,"count":8},{"startOffset":5152,"endOffset":5163,"count":21},{"startOffset":5166,"endOffset":5716,"count":21},{"startOffset":5220,"endOffset":5282,"count":18},{"startOffset":5415,"endOffset":5702,"count":18},{"startOffset":5482,"endOffset":5517,"count":8},{"startOffset":5547,"endOffset":5576,"count":17},{"startOffset":5578,"endOffset":5635,"count":0},{"startOffset":5771,"endOffset":5820,"count":244}],"isBlockCoverage":true}]},{"scriptId":"1840","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cyclomatic_complexity.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1863,"count":1}],"isBlockCoverage":true},{"functionName":"CyclomaticComplexityConf","ranges":[{"startOffset":457,"endOffset":530,"count":20846}],"isBlockCoverage":true},{"functionName":"CyclomaticComplexity","ranges":[{"startOffset":627,"endOffset":700,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":705,"endOffset":971,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":976,"endOffset":1021,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1026,"endOffset":1192,"count":243},{"startOffset":1111,"endOffset":1186,"count":0}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1197,"endOffset":1242,"count":245}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1247,"endOffset":1758,"count":311},{"startOffset":1404,"endOffset":1729,"count":47},{"startOffset":1447,"endOffset":1719,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1841","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/dangerous_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5328,"count":1}],"isBlockCoverage":true},{"functionName":"DangerousStatementConf","ranges":[{"startOffset":538,"endOffset":1236,"count":20845}],"isBlockCoverage":true},{"functionName":"DangerousStatement","ranges":[{"startOffset":1357,"endOffset":1457,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1462,"endOffset":1898,"count":31103}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1903,"endOffset":1997,"count":7}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2002,"endOffset":2047,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2052,"endOffset":2101,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2106,"endOffset":4525,"count":267},{"startOffset":2209,"endOffset":4496,"count":1466},{"startOffset":2377,"endOffset":2430,"count":1},{"startOffset":2430,"endOffset":3974,"count":1465},{"startOffset":2520,"endOffset":2576,"count":1},{"startOffset":2576,"endOffset":3974,"count":1464},{"startOffset":2666,"endOffset":2722,"count":1},{"startOffset":2722,"endOffset":3974,"count":1463},{"startOffset":2816,"endOffset":2874,"count":1},{"startOffset":2874,"endOffset":3974,"count":1462},{"startOffset":2972,"endOffset":3032,"count":0},{"startOffset":3130,"endOffset":3190,"count":0},{"startOffset":3296,"endOffset":3360,"count":0},{"startOffset":3454,"endOffset":3512,"count":0},{"startOffset":3610,"endOffset":3670,"count":0},{"startOffset":3764,"endOffset":3822,"count":0},{"startOffset":3916,"endOffset":3974,"count":0},{"startOffset":4000,"endOffset":4166,"count":4},{"startOffset":4298,"endOffset":4472,"count":3}],"isBlockCoverage":true},{"functionName":"findDynamicSQL","ranges":[{"startOffset":4530,"endOffset":5229,"count":1466},{"startOffset":4680,"endOffset":4721,"count":1464},{"startOffset":4734,"endOffset":4779,"count":1457},{"startOffset":4792,"endOffset":4841,"count":1456},{"startOffset":4854,"endOffset":4903,"count":1456},{"startOffset":4916,"endOffset":4965,"count":1456},{"startOffset":4967,"endOffset":5197,"count":10},{"startOffset":5069,"endOffset":5132,"count":4},{"startOffset":5134,"endOffset":5187,"count":3},{"startOffset":5197,"endOffset":5228,"count":1463}],"isBlockCoverage":true}]},{"scriptId":"1842","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/db_operation_in_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2665,"count":1}],"isBlockCoverage":true},{"functionName":"DbOperationInLoop","ranges":[{"startOffset":646,"endOffset":745,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":750,"endOffset":1037,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1042,"endOffset":1087,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1092,"endOffset":1141,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1146,"endOffset":2567,"count":258},{"startOffset":1265,"endOffset":1303,"count":12},{"startOffset":1303,"endOffset":1525,"count":246},{"startOffset":1525,"endOffset":2538,"count":13},{"startOffset":1717,"endOffset":1801,"count":12},{"startOffset":1839,"endOffset":1927,"count":12},{"startOffset":1965,"endOffset":2053,"count":11},{"startOffset":2091,"endOffset":2179,"count":11},{"startOffset":2217,"endOffset":2305,"count":11},{"startOffset":2329,"endOffset":2528,"count":2},{"startOffset":2538,"endOffset":2566,"count":246}],"isBlockCoverage":true}]},{"scriptId":"1843","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/definitions_top.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7933,"count":1}],"isBlockCoverage":true},{"functionName":"DefinitionsTop","ranges":[{"startOffset":897,"endOffset":993,"count":10428}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":998,"endOffset":1579,"count":31113}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1584,"endOffset":1660,"count":17}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1665,"endOffset":1710,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1715,"endOffset":1764,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1769,"endOffset":2669,"count":282},{"startOffset":1914,"endOffset":1948,"count":13},{"startOffset":1948,"endOffset":2092,"count":269},{"startOffset":2092,"endOffset":2126,"count":7},{"startOffset":2126,"endOffset":2285,"count":262},{"startOffset":2285,"endOffset":2640,"count":102},{"startOffset":2471,"endOffset":2479,"count":0},{"startOffset":2579,"endOffset":2630,"count":17},{"startOffset":2640,"endOffset":2668,"count":262}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2007,"endOffset":2051,"count":1590}],"isBlockCoverage":true},{"functionName":"walk","ranges":[{"startOffset":2697,"endOffset":7399,"count":406},{"startOffset":2824,"endOffset":7367,"count":681},{"startOffset":2911,"endOffset":3380,"count":366},{"startOffset":2970,"endOffset":3019,"count":0},{"startOffset":3087,"endOffset":3136,"count":1},{"startOffset":3136,"endOffset":3366,"count":365},{"startOffset":3194,"endOffset":3243,"count":53},{"startOffset":3243,"endOffset":3366,"count":312},{"startOffset":3317,"endOffset":3366,"count":48},{"startOffset":3380,"endOffset":3448,"count":579},{"startOffset":3448,"endOffset":3654,"count":315},{"startOffset":3503,"endOffset":3537,"count":310},{"startOffset":3558,"endOffset":3596,"count":306},{"startOffset":3617,"endOffset":3653,"count":306},{"startOffset":3656,"endOffset":5405,"count":10},{"startOffset":3699,"endOffset":5289,"count":3},{"startOffset":3886,"endOffset":3894,"count":0},{"startOffset":3942,"endOffset":3950,"count":0},{"startOffset":4014,"endOffset":4061,"count":2},{"startOffset":4086,"endOffset":4100,"count":2},{"startOffset":4102,"endOffset":5056,"count":2},{"startOffset":4269,"endOffset":4277,"count":0},{"startOffset":4326,"endOffset":4334,"count":0},{"startOffset":4460,"endOffset":4468,"count":0},{"startOffset":4516,"endOffset":4524,"count":0},{"startOffset":5289,"endOffset":5391,"count":7},{"startOffset":5405,"endOffset":7331,"count":569},{"startOffset":5478,"endOffset":5852,"count":264},{"startOffset":5533,"endOffset":5566,"count":231},{"startOffset":5587,"endOffset":5624,"count":229},{"startOffset":5645,"endOffset":5734,"count":229},{"startOffset":5680,"endOffset":5733,"count":8},{"startOffset":5755,"endOffset":5790,"count":226},{"startOffset":5811,"endOffset":5851,"count":226},{"startOffset":5854,"endOffset":6630,"count":39},{"startOffset":5897,"endOffset":6514,"count":15},{"startOffset":6026,"endOffset":6079,"count":1},{"startOffset":6082,"endOffset":6496,"count":14},{"startOffset":6514,"endOffset":6616,"count":24},{"startOffset":6630,"endOffset":7331,"count":530},{"startOffset":6687,"endOffset":6722,"count":305},{"startOffset":6724,"endOffset":6809,"count":1},{"startOffset":6809,"endOffset":7331,"count":529},{"startOffset":6866,"endOffset":6904,"count":225},{"startOffset":6906,"endOffset":6991,"count":0},{"startOffset":7048,"endOffset":7075,"count":225},{"startOffset":7077,"endOffset":7127,"count":101},{"startOffset":7127,"endOffset":7331,"count":428},{"startOffset":7185,"endOffset":7331,"count":304},{"startOffset":7264,"endOffset":7317,"count":55},{"startOffset":7331,"endOffset":7367,"count":506},{"startOffset":7367,"endOffset":7398,"count":333}],"isBlockCoverage":true},{"functionName":"buildFix","ranges":[{"startOffset":7404,"endOffset":7846,"count":14}],"isBlockCoverage":true}]},{"scriptId":"1844","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/description_empty.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1975,"count":1}],"isBlockCoverage":true},{"functionName":"DescriptionEmpty","ranges":[{"startOffset":548,"endOffset":617,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":622,"endOffset":842,"count":31157}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":847,"endOffset":922,"count":62}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":927,"endOffset":972,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":977,"endOffset":1026,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1031,"endOffset":1076,"count":246}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1081,"endOffset":1882,"count":312},{"startOffset":1162,"endOffset":1199,"count":261},{"startOffset":1201,"endOffset":1853,"count":71},{"startOffset":1330,"endOffset":1407,"count":1},{"startOffset":1407,"endOffset":1564,"count":70},{"startOffset":1456,"endOffset":1564,"count":61},{"startOffset":1590,"endOffset":1843,"count":62}],"isBlockCoverage":true}]},{"scriptId":"1845","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/double_space.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8102,"count":1}],"isBlockCoverage":true},{"functionName":"DoubleSpaceConf","ranges":[{"startOffset":716,"endOffset":1257,"count":20848}],"isBlockCoverage":true},{"functionName":"DoubleSpace","ranges":[{"startOffset":1357,"endOffset":1450,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1455,"endOffset":1867,"count":31115}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1872,"endOffset":1930,"count":17}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1935,"endOffset":1980,"count":21669}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1985,"endOffset":2169,"count":244},{"startOffset":2079,"endOffset":2163,"count":0}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2174,"endOffset":2873,"count":294},{"startOffset":2263,"endOffset":2784,"count":1500},{"startOffset":2387,"endOffset":2434,"count":1494},{"startOffset":2451,"endOffset":2498,"count":1441},{"startOffset":2515,"endOffset":2559,"count":1440},{"startOffset":2576,"endOffset":2626,"count":1431},{"startOffset":2628,"endOffset":2712,"count":1431}],"isBlockCoverage":true},{"functionName":"checkAfterColon","ranges":[{"startOffset":2878,"endOffset":4253,"count":294},{"startOffset":3007,"endOffset":3041,"count":0},{"startOffset":3088,"endOffset":4224,"count":1437},{"startOffset":3167,"endOffset":3208,"count":1314},{"startOffset":3208,"endOffset":3337,"count":123},{"startOffset":3254,"endOffset":3294,"count":73},{"startOffset":3296,"endOffset":3337,"count":72},{"startOffset":3337,"endOffset":3423,"count":51},{"startOffset":3423,"endOffset":4214,"count":106},{"startOffset":3480,"endOffset":3530,"count":10},{"startOffset":3530,"endOffset":3638,"count":96},{"startOffset":3589,"endOffset":3638,"count":55},{"startOffset":3638,"endOffset":3696,"count":41},{"startOffset":3696,"endOffset":4177,"count":2},{"startOffset":4177,"endOffset":4214,"count":41},{"startOffset":4214,"endOffset":4224,"count":41},{"startOffset":4224,"endOffset":4252,"count":284}],"isBlockCoverage":true},{"functionName":"checkParen","ranges":[{"startOffset":4258,"endOffset":6278,"count":1500},{"startOffset":4376,"endOffset":6249,"count":6217},{"startOffset":4414,"endOffset":4481,"count":1500},{"startOffset":4481,"endOffset":4582,"count":4717},{"startOffset":4599,"endOffset":4637,"count":4544},{"startOffset":4654,"endOffset":4689,"count":32},{"startOffset":4706,"endOffset":4748,"count":32},{"startOffset":4750,"endOffset":5319,"count":5},{"startOffset":5319,"endOffset":5418,"count":4717},{"startOffset":5435,"endOffset":5476,"count":4544},{"startOffset":5493,"endOffset":5569,"count":4512},{"startOffset":5532,"endOffset":5568,"count":4490},{"startOffset":5586,"endOffset":5628,"count":22},{"startOffset":5630,"endOffset":6217,"count":4},{"startOffset":6026,"endOffset":6203,"count":3},{"startOffset":6217,"endOffset":6249,"count":4717}],"isBlockCoverage":true},{"functionName":"pragmaInRange","ranges":[{"startOffset":6283,"endOffset":6511,"count":9},{"startOffset":6378,"endOffset":6485,"count":1}],"isBlockCoverage":true},{"functionName":"checkKeywords","ranges":[{"startOffset":6516,"endOffset":8024,"count":1431},{"startOffset":6637,"endOffset":6665,"count":1273},{"startOffset":6667,"endOffset":6751,"count":160},{"startOffset":6751,"endOffset":6795,"count":1271},{"startOffset":6795,"endOffset":7999,"count":4790},{"startOffset":6833,"endOffset":6900,"count":1271},{"startOffset":6900,"endOffset":7033,"count":3519},{"startOffset":7033,"endOffset":7049,"count":2415},{"startOffset":7066,"endOffset":7082,"count":2371},{"startOffset":7099,"endOffset":7168,"count":2329},{"startOffset":7170,"endOffset":7280,"count":1195},{"startOffset":7280,"endOffset":7376,"count":2324},{"startOffset":7376,"endOffset":7441,"count":2320},{"startOffset":7443,"endOffset":7967,"count":7},{"startOffset":7967,"endOffset":7999,"count":2317},{"startOffset":7999,"endOffset":8023,"count":1264}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7137,"endOffset":7167,"count":6982}],"isBlockCoverage":true}]},{"scriptId":"1846","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/downport.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":154591,"count":1}],"isBlockCoverage":true},{"functionName":"SkipToNextFile","ranges":[{"startOffset":1761,"endOffset":1832,"count":5}],"isBlockCoverage":true},{"functionName":"SpagHelper","ranges":[{"startOffset":1858,"endOffset":1909,"count":292}],"isBlockCoverage":true},{"functionName":"renameVariable","ranges":[{"startOffset":1914,"endOffset":2596,"count":5},{"startOffset":2275,"endOffset":2570,"count":12},{"startOffset":2413,"endOffset":2459,"count":5},{"startOffset":2459,"endOffset":2560,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2078,"endOffset":2236,"count":9},{"startOffset":2131,"endOffset":2172,"count":0},{"startOffset":2217,"endOffset":2220,"count":7},{"startOffset":2221,"endOffset":2225,"count":2}],"isBlockCoverage":true},{"functionName":"findReferences","ranges":[{"startOffset":2601,"endOffset":3643,"count":6},{"startOffset":2848,"endOffset":3303,"count":20},{"startOffset":2911,"endOffset":2919,"count":0},{"startOffset":2945,"endOffset":3030,"count":14},{"startOffset":2993,"endOffset":3001,"count":0},{"startOffset":3032,"endOffset":3293,"count":14},{"startOffset":3219,"endOffset":3279,"count":12},{"startOffset":3357,"endOffset":3611,"count":1},{"startOffset":3485,"endOffset":3601,"count":2}],"isBlockCoverage":true},{"functionName":"has","ranges":[{"startOffset":2687,"endOffset":2791,"count":16}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2745,"endOffset":2779,"count":14}],"isBlockCoverage":true},{"functionName":"findRecursiveDuplicate","ranges":[{"startOffset":3648,"endOffset":4190,"count":218},{"startOffset":3801,"endOffset":3809,"count":115},{"startOffset":3810,"endOffset":3841,"count":103},{"startOffset":3854,"endOffset":3891,"count":5},{"startOffset":3891,"endOffset":3963,"count":213},{"startOffset":3964,"endOffset":3972,"count":0},{"startOffset":3973,"endOffset":3991,"count":213},{"startOffset":3993,"endOffset":3998,"count":0},{"startOffset":4000,"endOffset":4158,"count":150},{"startOffset":4105,"endOffset":4148,"count":6},{"startOffset":4158,"endOffset":4189,"count":207}],"isBlockCoverage":true},{"functionName":"isDuplicateName","ranges":[{"startOffset":4195,"endOffset":4742,"count":68},{"startOffset":4300,"endOffset":4320,"count":85},{"startOffset":4321,"endOffset":4329,"count":0},{"startOffset":4330,"endOffset":4360,"count":85},{"startOffset":4406,"endOffset":4519,"count":70},{"startOffset":4447,"endOffset":4455,"count":0},{"startOffset":4521,"endOffset":4573,"count":17},{"startOffset":4608,"endOffset":4649,"count":0}],"isBlockCoverage":true},{"functionName":"Downport","ranges":[{"startOffset":4766,"endOffset":4827,"count":10686}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":4832,"endOffset":6825,"count":31517}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":6830,"endOffset":6875,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":6880,"endOffset":6929,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":6934,"endOffset":7201,"count":757},{"startOffset":7088,"endOffset":7129,"count":246},{"startOffset":7131,"endOffset":7174,"count":514}],"isBlockCoverage":true},{"functionName":"listMainForInclude","ranges":[{"startOffset":7206,"endOffset":7539,"count":1},{"startOffset":7273,"endOffset":7307,"count":0}],"isBlockCoverage":true},{"functionName":"containsError","ranges":[{"startOffset":7544,"endOffset":7977,"count":514},{"startOffset":7680,"endOffset":7843,"count":3498},{"startOffset":7751,"endOffset":7829,"count":1},{"startOffset":7843,"endOffset":7895,"count":513},{"startOffset":7895,"endOffset":7939,"count":0},{"startOffset":7949,"endOffset":7976,"count":513}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":7982,"endOffset":12493,"count":823},{"startOffset":8171,"endOffset":8212,"count":312},{"startOffset":8214,"endOffset":8249,"count":309},{"startOffset":8249,"endOffset":8350,"count":514},{"startOffset":8315,"endOffset":8350,"count":0},{"startOffset":8350,"endOffset":8519,"count":514},{"startOffset":8521,"endOffset":8556,"count":0},{"startOffset":8556,"endOffset":8635,"count":514},{"startOffset":8635,"endOffset":8670,"count":1},{"startOffset":8670,"endOffset":8803,"count":513},{"startOffset":8805,"endOffset":9231,"count":1},{"startOffset":8915,"endOffset":8923,"count":0},{"startOffset":8980,"endOffset":9022,"count":0},{"startOffset":9116,"endOffset":9158,"count":0},{"startOffset":9231,"endOffset":12467,"count":513},{"startOffset":9446,"endOffset":9487,"count":0},{"startOffset":9672,"endOffset":10306,"count":0},{"startOffset":10555,"endOffset":11486,"count":3489},{"startOffset":10714,"endOffset":10762,"count":323},{"startOffset":10784,"endOffset":10835,"count":3166},{"startOffset":10837,"endOffset":11472,"count":435},{"startOffset":11045,"endOffset":11117,"count":406},{"startOffset":11160,"endOffset":11454,"count":7},{"startOffset":11229,"endOffset":11338,"count":5},{"startOffset":11338,"endOffset":11432,"count":2},{"startOffset":11486,"endOffset":11520,"count":511},{"startOffset":11520,"endOffset":11538,"count":163},{"startOffset":11540,"endOffset":12052,"count":11},{"startOffset":11682,"endOffset":12038,"count":115},{"startOffset":11799,"endOffset":12020,"count":12},{"startOffset":11926,"endOffset":11998,"count":3},{"startOffset":12052,"endOffset":12086,"count":511},{"startOffset":12086,"endOffset":12127,"count":160},{"startOffset":12129,"endOffset":12457,"count":8},{"startOffset":12194,"endOffset":12443,"count":74},{"startOffset":12361,"endOffset":12425,"count":8},{"startOffset":12467,"endOffset":12492,"count":511}],"isBlockCoverage":true},{"functionName":"initHighReg","ranges":[{"startOffset":12621,"endOffset":13468,"count":514},{"startOffset":13148,"endOffset":13432,"count":525},{"startOffset":13192,"endOffset":13422,"count":526},{"startOffset":13252,"endOffset":13322,"count":0}],"isBlockCoverage":true},{"functionName":"checkStatement","ranges":[{"startOffset":13577,"endOffset":20345,"count":435},{"startOffset":13726,"endOffset":13767,"count":0},{"startOffset":14076,"endOffset":14113,"count":2},{"startOffset":14113,"endOffset":14191,"count":433},{"startOffset":14191,"endOffset":14228,"count":1},{"startOffset":14228,"endOffset":14312,"count":432},{"startOffset":14312,"endOffset":14349,"count":5},{"startOffset":14349,"endOffset":14420,"count":427},{"startOffset":14420,"endOffset":14457,"count":4},{"startOffset":14457,"endOffset":14551,"count":423},{"startOffset":14551,"endOffset":14588,"count":5},{"startOffset":14588,"endOffset":14667,"count":418},{"startOffset":14667,"endOffset":14704,"count":6},{"startOffset":14704,"endOffset":14786,"count":412},{"startOffset":14786,"endOffset":14823,"count":8},{"startOffset":14823,"endOffset":14901,"count":404},{"startOffset":14901,"endOffset":14938,"count":5},{"startOffset":14938,"endOffset":15028,"count":399},{"startOffset":15028,"endOffset":15065,"count":1},{"startOffset":15065,"endOffset":15152,"count":398},{"startOffset":15152,"endOffset":15189,"count":5},{"startOffset":15189,"endOffset":15274,"count":393},{"startOffset":15274,"endOffset":15311,"count":4},{"startOffset":15311,"endOffset":15397,"count":389},{"startOffset":15397,"endOffset":15434,"count":1},{"startOffset":15434,"endOffset":15531,"count":388},{"startOffset":15531,"endOffset":15568,"count":11},{"startOffset":15568,"endOffset":15665,"count":377},{"startOffset":15665,"endOffset":15702,"count":2},{"startOffset":15702,"endOffset":15796,"count":375},{"startOffset":15796,"endOffset":15833,"count":2},{"startOffset":15833,"endOffset":15928,"count":373},{"startOffset":15928,"endOffset":15965,"count":12},{"startOffset":15965,"endOffset":16063,"count":361},{"startOffset":16063,"endOffset":16100,"count":1},{"startOffset":16100,"endOffset":16192,"count":360},{"startOffset":16192,"endOffset":16229,"count":22},{"startOffset":16229,"endOffset":16320,"count":338},{"startOffset":16320,"endOffset":16357,"count":1},{"startOffset":16357,"endOffset":16444,"count":337},{"startOffset":16444,"endOffset":16481,"count":41},{"startOffset":16481,"endOffset":16719,"count":296},{"startOffset":16719,"endOffset":16732,"count":55},{"startOffset":16734,"endOffset":17053,"count":7},{"startOffset":16926,"endOffset":16976,"count":0},{"startOffset":17053,"endOffset":17086,"count":296},{"startOffset":17086,"endOffset":17237,"count":289},{"startOffset":17182,"endOffset":17227,"count":57},{"startOffset":17237,"endOffset":17423,"count":237},{"startOffset":17368,"endOffset":17413,"count":23},{"startOffset":17423,"endOffset":17518,"count":212},{"startOffset":17518,"endOffset":17555,"count":2},{"startOffset":17555,"endOffset":17650,"count":210},{"startOffset":17650,"endOffset":17687,"count":1},{"startOffset":17687,"endOffset":17775,"count":209},{"startOffset":17775,"endOffset":17812,"count":4},{"startOffset":17812,"endOffset":17900,"count":205},{"startOffset":17900,"endOffset":17937,"count":2},{"startOffset":17937,"endOffset":18023,"count":203},{"startOffset":18023,"endOffset":18060,"count":3},{"startOffset":18060,"endOffset":18146,"count":200},{"startOffset":18146,"endOffset":18183,"count":14},{"startOffset":18183,"endOffset":18269,"count":186},{"startOffset":18269,"endOffset":18306,"count":17},{"startOffset":18306,"endOffset":18382,"count":168},{"startOffset":18382,"endOffset":18419,"count":1},{"startOffset":18419,"endOffset":18502,"count":167},{"startOffset":18502,"endOffset":18539,"count":3},{"startOffset":18539,"endOffset":18626,"count":164},{"startOffset":18626,"endOffset":18663,"count":27},{"startOffset":18663,"endOffset":18744,"count":137},{"startOffset":18744,"endOffset":18781,"count":52},{"startOffset":18781,"endOffset":18865,"count":85},{"startOffset":18865,"endOffset":18902,"count":11},{"startOffset":18902,"endOffset":18994,"count":74},{"startOffset":18994,"endOffset":19031,"count":15},{"startOffset":19031,"endOffset":19131,"count":59},{"startOffset":19131,"endOffset":19168,"count":10},{"startOffset":19168,"endOffset":19250,"count":49},{"startOffset":19250,"endOffset":19287,"count":0},{"startOffset":19287,"endOffset":19372,"count":49},{"startOffset":19372,"endOffset":19409,"count":1},{"startOffset":19409,"endOffset":19508,"count":48},{"startOffset":19508,"endOffset":19545,"count":2},{"startOffset":19545,"endOffset":19642,"count":46},{"startOffset":19642,"endOffset":19679,"count":7},{"startOffset":19679,"endOffset":19772,"count":37},{"startOffset":19772,"endOffset":19809,"count":2},{"startOffset":19809,"endOffset":19902,"count":35},{"startOffset":19902,"endOffset":19939,"count":8},{"startOffset":19939,"endOffset":20030,"count":27},{"startOffset":20030,"endOffset":20067,"count":1},{"startOffset":20067,"endOffset":20152,"count":26},{"startOffset":20152,"endOffset":20189,"count":3},{"startOffset":20189,"endOffset":20276,"count":23},{"startOffset":20276,"endOffset":20313,"count":1},{"startOffset":20313,"endOffset":20344,"count":22}],"isBlockCoverage":true},{"functionName":"downportSQLExtras","ranges":[{"startOffset":20420,"endOffset":24636,"count":360},{"startOffset":20530,"endOffset":20571,"count":112},{"startOffset":20571,"endOffset":20639,"count":248},{"startOffset":20639,"endOffset":20688,"count":229},{"startOffset":20701,"endOffset":20754,"count":226},{"startOffset":20767,"endOffset":20820,"count":226},{"startOffset":20833,"endOffset":20886,"count":226},{"startOffset":20899,"endOffset":20952,"count":226},{"startOffset":20954,"endOffset":20995,"count":225},{"startOffset":20995,"endOffset":21684,"count":23},{"startOffset":21684,"endOffset":22896,"count":43},{"startOffset":21760,"endOffset":21803,"count":20},{"startOffset":21805,"endOffset":22886,"count":25},{"startOffset":21917,"endOffset":21978,"count":1},{"startOffset":21980,"endOffset":22784,"count":1},{"startOffset":22340,"endOffset":22348,"count":0},{"startOffset":22784,"endOffset":22872,"count":24},{"startOffset":22896,"endOffset":23023,"count":22},{"startOffset":23023,"endOffset":23210,"count":27},{"startOffset":23086,"endOffset":23200,"count":16},{"startOffset":23132,"endOffset":23186,"count":8},{"startOffset":23210,"endOffset":23242,"count":22},{"startOffset":23242,"endOffset":23397,"count":20},{"startOffset":23397,"endOffset":23475,"count":2},{"startOffset":23475,"endOffset":24604,"count":1},{"startOffset":23626,"endOffset":23667,"count":0},{"startOffset":23784,"endOffset":23829,"count":0},{"startOffset":24604,"endOffset":24635,"count":1}],"isBlockCoverage":true},{"functionName":"addFix","ranges":[{"startOffset":21048,"endOffset":21323,"count":32},{"startOffset":21174,"endOffset":21216,"count":20},{"startOffset":21216,"endOffset":21313,"count":12}],"isBlockCoverage":true},{"functionName":"downportSelectExistence","ranges":[{"startOffset":24641,"endOffset":26817,"count":361},{"startOffset":24785,"endOffset":24826,"count":112},{"startOffset":24826,"endOffset":24929,"count":249},{"startOffset":24888,"endOffset":24929,"count":229},{"startOffset":24929,"endOffset":25063,"count":20},{"startOffset":25064,"endOffset":25072,"count":0},{"startOffset":25073,"endOffset":25113,"count":20},{"startOffset":25133,"endOffset":25174,"count":18},{"startOffset":25174,"endOffset":25285,"count":2},{"startOffset":25286,"endOffset":25294,"count":1},{"startOffset":25295,"endOffset":25345,"count":1},{"startOffset":25356,"endOffset":25372,"count":2},{"startOffset":25373,"endOffset":25381,"count":1},{"startOffset":25382,"endOffset":25401,"count":1},{"startOffset":25440,"endOffset":25591,"count":1},{"startOffset":25591,"endOffset":25632,"count":0},{"startOffset":25632,"endOffset":25744,"count":1},{"startOffset":25745,"endOffset":25753,"count":0},{"startOffset":25754,"endOffset":25798,"count":1},{"startOffset":25809,"endOffset":25825,"count":1},{"startOffset":25826,"endOffset":25834,"count":0},{"startOffset":25835,"endOffset":25854,"count":1},{"startOffset":26203,"endOffset":26221,"count":1},{"startOffset":26222,"endOffset":26230,"count":0},{"startOffset":26231,"endOffset":26264,"count":1},{"startOffset":26280,"endOffset":26298,"count":1},{"startOffset":26299,"endOffset":26307,"count":0},{"startOffset":26308,"endOffset":26338,"count":1}],"isBlockCoverage":true},{"functionName":"downportSelectInline","ranges":[{"startOffset":26822,"endOffset":27553,"count":373},{"startOffset":26935,"endOffset":26976,"count":112},{"startOffset":26976,"endOffset":27129,"count":261},{"startOffset":27037,"endOffset":27086,"count":230},{"startOffset":27088,"endOffset":27129,"count":226},{"startOffset":27129,"endOffset":27347,"count":35},{"startOffset":27347,"endOffset":27384,"count":8},{"startOffset":27384,"endOffset":27484,"count":27},{"startOffset":27484,"endOffset":27521,"count":4},{"startOffset":27521,"endOffset":27552,"count":23}],"isBlockCoverage":true},{"functionName":"downportSelectFields","ranges":[{"startOffset":27558,"endOffset":28611,"count":210},{"startOffset":27688,"endOffset":27729,"count":83},{"startOffset":27729,"endOffset":27832,"count":127},{"startOffset":27791,"endOffset":27832,"count":126},{"startOffset":27832,"endOffset":27939,"count":1},{"startOffset":27939,"endOffset":27980,"count":0},{"startOffset":27980,"endOffset":28056,"count":1},{"startOffset":28057,"endOffset":28065,"count":0},{"startOffset":28066,"endOffset":28085,"count":1},{"startOffset":28119,"endOffset":28160,"count":0},{"startOffset":28160,"endOffset":28610,"count":1}],"isBlockCoverage":true},{"functionName":"downportSelectSingleInline","ranges":[{"startOffset":28616,"endOffset":32197,"count":35},{"startOffset":28764,"endOffset":28805,"count":0},{"startOffset":28919,"endOffset":28927,"count":13},{"startOffset":28928,"endOffset":28977,"count":22},{"startOffset":28979,"endOffset":28984,"count":13},{"startOffset":29020,"endOffset":29061,"count":13},{"startOffset":29061,"endOffset":29183,"count":22},{"startOffset":29183,"endOffset":29224,"count":14},{"startOffset":29224,"endOffset":29335,"count":8},{"startOffset":29335,"endOffset":29376,"count":0},{"startOffset":29376,"endOffset":29494,"count":8},{"startOffset":29495,"endOffset":29503,"count":0},{"startOffset":29504,"endOffset":29523,"count":8},{"startOffset":29562,"endOffset":29603,"count":0},{"startOffset":29603,"endOffset":29803,"count":8},{"startOffset":29803,"endOffset":29894,"count":1},{"startOffset":29894,"endOffset":29932,"count":8},{"startOffset":29932,"endOffset":29973,"count":0},{"startOffset":29973,"endOffset":30197,"count":8},{"startOffset":30198,"endOffset":30206,"count":0},{"startOffset":30207,"endOffset":30226,"count":8},{"startOffset":30228,"endOffset":30238,"count":0},{"startOffset":30273,"endOffset":30377,"count":3},{"startOffset":30377,"endOffset":31710,"count":5},{"startOffset":30429,"endOffset":30505,"count":2},{"startOffset":30505,"endOffset":31710,"count":3},{"startOffset":30580,"endOffset":30645,"count":1},{"startOffset":30645,"endOffset":31710,"count":2},{"startOffset":30731,"endOffset":30790,"count":1},{"startOffset":30792,"endOffset":31710,"count":1},{"startOffset":30920,"endOffset":30993,"count":0},{"startOffset":30995,"endOffset":31348,"count":0},{"startOffset":31400,"endOffset":31589,"count":2},{"startOffset":31710,"endOffset":32196,"count":8}],"isBlockCoverage":true},{"functionName":"downportSelectTableInline","ranges":[{"startOffset":32202,"endOffset":35141,"count":27},{"startOffset":32344,"endOffset":32385,"count":0},{"startOffset":32495,"endOffset":32503,"count":15},{"startOffset":32504,"endOffset":32553,"count":12},{"startOffset":32555,"endOffset":32560,"count":15},{"startOffset":32596,"endOffset":32637,"count":15},{"startOffset":32637,"endOffset":32845,"count":12},{"startOffset":32845,"endOffset":32886,"count":8},{"startOffset":32886,"endOffset":32997,"count":4},{"startOffset":32997,"endOffset":33163,"count":0},{"startOffset":33163,"endOffset":33279,"count":4},{"startOffset":33280,"endOffset":33288,"count":0},{"startOffset":33289,"endOffset":33308,"count":4},{"startOffset":33347,"endOffset":33388,"count":0},{"startOffset":33388,"endOffset":33504,"count":4},{"startOffset":33504,"endOffset":33545,"count":0},{"startOffset":33545,"endOffset":33661,"count":4},{"startOffset":33661,"endOffset":34022,"count":6},{"startOffset":33750,"endOffset":33893,"count":3},{"startOffset":34022,"endOffset":34245,"count":4},{"startOffset":34246,"endOffset":34254,"count":0},{"startOffset":34255,"endOffset":34274,"count":4},{"startOffset":34276,"endOffset":34286,"count":0},{"startOffset":34597,"endOffset":34773,"count":1},{"startOffset":34773,"endOffset":35140,"count":4}],"isBlockCoverage":true},{"functionName":"anonymousTableType","ranges":[{"startOffset":35248,"endOffset":36170,"count":12},{"startOffset":35350,"endOffset":35391,"count":0},{"startOffset":35490,"endOffset":35531,"count":9},{"startOffset":35531,"endOffset":36169,"count":3}],"isBlockCoverage":true},{"functionName":"downportMessage","ranges":[{"startOffset":36175,"endOffset":37949,"count":26},{"startOffset":36297,"endOffset":36338,"count":23},{"startOffset":36338,"endOffset":36441,"count":3},{"startOffset":36441,"endOffset":36482,"count":0},{"startOffset":36482,"endOffset":36618,"count":3},{"startOffset":36618,"endOffset":37917,"count":5},{"startOffset":36654,"endOffset":36695,"count":0},{"startOffset":36746,"endOffset":36853,"count":4},{"startOffset":36801,"endOffset":36809,"count":0},{"startOffset":36855,"endOffset":36896,"count":1},{"startOffset":36896,"endOffset":37099,"count":4},{"startOffset":36947,"endOffset":37056,"count":3},{"startOffset":37002,"endOffset":37010,"count":0},{"startOffset":37058,"endOffset":37099,"count":1},{"startOffset":37099,"endOffset":37917,"count":3},{"startOffset":37917,"endOffset":37948,"count":0}],"isBlockCoverage":true},{"functionName":"replaceAppendExpression","ranges":[{"startOffset":37954,"endOffset":39366,"count":37},{"startOffset":38063,"endOffset":38104,"count":35},{"startOffset":38104,"endOffset":39334,"count":2},{"startOffset":38365,"endOffset":38414,"count":0},{"startOffset":38837,"endOffset":38845,"count":0},{"startOffset":39334,"endOffset":39365,"count":0}],"isBlockCoverage":true},{"functionName":"downportReadTable","ranges":[{"startOffset":39371,"endOffset":40515,"count":23},{"startOffset":39477,"endOffset":39518,"count":20},{"startOffset":39518,"endOffset":39631,"count":3},{"startOffset":39632,"endOffset":39640,"count":0},{"startOffset":39641,"endOffset":39655,"count":3},{"startOffset":39688,"endOffset":40483,"count":1},{"startOffset":40483,"endOffset":40514,"count":2}],"isBlockCoverage":true},{"functionName":"downportMessageSource","ranges":[{"startOffset":40520,"endOffset":41670,"count":27},{"startOffset":40628,"endOffset":40669,"count":23},{"startOffset":40669,"endOffset":40784,"count":4},{"startOffset":40785,"endOffset":40793,"count":0},{"startOffset":40794,"endOffset":40808,"count":4},{"startOffset":40841,"endOffset":41638,"count":1},{"startOffset":41638,"endOffset":41669,"count":3}],"isBlockCoverage":true},{"functionName":"replaceInsertExpression","ranges":[{"startOffset":41675,"endOffset":43095,"count":35},{"startOffset":41792,"endOffset":41833,"count":27},{"startOffset":41833,"endOffset":43063,"count":8},{"startOffset":42094,"endOffset":42143,"count":0},{"startOffset":42566,"endOffset":42574,"count":0},{"startOffset":43063,"endOffset":43094,"count":0}],"isBlockCoverage":true},{"functionName":"replaceTableExpression","ranges":[{"startOffset":43100,"endOffset":45864,"count":46},{"startOffset":43215,"endOffset":43256,"count":5},{"startOffset":43256,"endOffset":43348,"count":41},{"startOffset":43348,"endOffset":45832,"count":30},{"startOffset":43495,"endOffset":43536,"count":21},{"startOffset":43536,"endOffset":43684,"count":9},{"startOffset":43686,"endOffset":43817,"count":0},{"startOffset":43817,"endOffset":43942,"count":9},{"startOffset":43942,"endOffset":44223,"count":20},{"startOffset":43990,"endOffset":44065,"count":9},{"startOffset":44065,"endOffset":44164,"count":11},{"startOffset":44118,"endOffset":44164,"count":9},{"startOffset":44164,"endOffset":44223,"count":11},{"startOffset":44223,"endOffset":44266,"count":9},{"startOffset":44266,"endOffset":44307,"count":0},{"startOffset":44307,"endOffset":45576,"count":9},{"startOffset":45576,"endOffset":45672,"count":2},{"startOffset":45672,"endOffset":45832,"count":7},{"startOffset":45832,"endOffset":45863,"count":32}],"isBlockCoverage":true},{"functionName":"tableCondition","ranges":[{"startOffset":45869,"endOffset":47005,"count":11},{"startOffset":46011,"endOffset":46016,"count":0},{"startOffset":46018,"endOffset":46973,"count":54},{"startOffset":46071,"endOffset":46108,"count":43},{"startOffset":46110,"endOffset":46151,"count":22},{"startOffset":46151,"endOffset":46914,"count":32},{"startOffset":46225,"endOffset":46244,"count":9},{"startOffset":46246,"endOffset":46481,"count":8},{"startOffset":46284,"endOffset":46348,"count":7},{"startOffset":46348,"endOffset":46467,"count":1},{"startOffset":46481,"endOffset":46914,"count":24},{"startOffset":46541,"endOffset":46560,"count":12},{"startOffset":46562,"endOffset":46615,"count":3},{"startOffset":46615,"endOffset":46914,"count":21},{"startOffset":46668,"endOffset":46721,"count":10},{"startOffset":46723,"endOffset":46764,"count":1},{"startOffset":46764,"endOffset":46914,"count":20},{"startOffset":46829,"endOffset":46914,"count":1},{"startOffset":46914,"endOffset":46973,"count":30}],"isBlockCoverage":true},{"functionName":"outlineCatchSimple","ranges":[{"startOffset":47010,"endOffset":48367,"count":168},{"startOffset":47228,"endOffset":47269,"count":167},{"startOffset":47269,"endOffset":47396,"count":1},{"startOffset":47397,"endOffset":47405,"count":0},{"startOffset":47406,"endOffset":47430,"count":1},{"startOffset":47441,"endOffset":47457,"count":1},{"startOffset":47458,"endOffset":47466,"count":0},{"startOffset":47467,"endOffset":47477,"count":1},{"startOffset":47515,"endOffset":47556,"count":0},{"startOffset":47556,"endOffset":47672,"count":1},{"startOffset":47672,"endOffset":47713,"count":0},{"startOffset":47713,"endOffset":47881,"count":1},{"startOffset":47882,"endOffset":47890,"count":0},{"startOffset":47891,"endOffset":47910,"count":1}],"isBlockCoverage":true},{"functionName":"outlineGetReferenceSimple","ranges":[{"startOffset":48372,"endOffset":49948,"count":167},{"startOffset":48501,"endOffset":48542,"count":164},{"startOffset":48542,"endOffset":48669,"count":3},{"startOffset":48670,"endOffset":48678,"count":0},{"startOffset":48679,"endOffset":48703,"count":3},{"startOffset":48714,"endOffset":48730,"count":3},{"startOffset":48731,"endOffset":48739,"count":0},{"startOffset":48740,"endOffset":48750,"count":3},{"startOffset":48788,"endOffset":48829,"count":0},{"startOffset":48829,"endOffset":48956,"count":3},{"startOffset":48957,"endOffset":48965,"count":0},{"startOffset":48966,"endOffset":48990,"count":3},{"startOffset":49001,"endOffset":49017,"count":3},{"startOffset":49018,"endOffset":49026,"count":0},{"startOffset":49027,"endOffset":49037,"count":3},{"startOffset":49075,"endOffset":49116,"count":0},{"startOffset":49116,"endOffset":49229,"count":3},{"startOffset":49230,"endOffset":49238,"count":0},{"startOffset":49239,"endOffset":49258,"count":3},{"startOffset":49260,"endOffset":49275,"count":0}],"isBlockCoverage":true},{"functionName":"outlineDataSimple","ranges":[{"startOffset":49953,"endOffset":52896,"count":164},{"startOffset":50078,"endOffset":50119,"count":66},{"startOffset":50119,"endOffset":50246,"count":98},{"startOffset":50247,"endOffset":50255,"count":0},{"startOffset":50256,"endOffset":50280,"count":98},{"startOffset":50291,"endOffset":50307,"count":98},{"startOffset":50308,"endOffset":50316,"count":0},{"startOffset":50317,"endOffset":50327,"count":98},{"startOffset":50365,"endOffset":50406,"count":25},{"startOffset":50406,"endOffset":50533,"count":73},{"startOffset":50533,"endOffset":50574,"count":0},{"startOffset":50574,"endOffset":52071,"count":73},{"startOffset":50627,"endOffset":50668,"count":6},{"startOffset":50668,"endOffset":52071,"count":67},{"startOffset":50745,"endOffset":50753,"count":0},{"startOffset":50802,"endOffset":50843,"count":34},{"startOffset":50843,"endOffset":52071,"count":33},{"startOffset":50914,"endOffset":50955,"count":1},{"startOffset":50955,"endOffset":52071,"count":32},{"startOffset":51026,"endOffset":51067,"count":1},{"startOffset":51067,"endOffset":52071,"count":31},{"startOffset":51142,"endOffset":51649,"count":3},{"startOffset":51327,"endOffset":51393,"count":1},{"startOffset":51410,"endOffset":51480,"count":1},{"startOffset":51482,"endOffset":51572,"count":1},{"startOffset":51572,"endOffset":51639,"count":2},{"startOffset":51649,"endOffset":52071,"count":28},{"startOffset":51907,"endOffset":51946,"count":24},{"startOffset":51948,"endOffset":52005,"count":2},{"startOffset":52019,"endOffset":52071,"count":26},{"startOffset":52071,"endOffset":52183,"count":27},{"startOffset":52184,"endOffset":52192,"count":0},{"startOffset":52193,"endOffset":52212,"count":27}],"isBlockCoverage":true},{"functionName":"partiallyImplemented","ranges":[{"startOffset":52901,"endOffset":53631,"count":433},{"startOffset":52998,"endOffset":53599,"count":1},{"startOffset":53112,"endOffset":53161,"count":0},{"startOffset":53280,"endOffset":53329,"count":0},{"startOffset":53599,"endOffset":53630,"count":432}],"isBlockCoverage":true},{"functionName":"raiseException","ranges":[{"startOffset":53636,"endOffset":58260,"count":432},{"startOffset":54536,"endOffset":54577,"count":425},{"startOffset":54577,"endOffset":54721,"count":7},{"startOffset":54721,"endOffset":55258,"count":2},{"startOffset":54969,"endOffset":55056,"count":0},{"startOffset":55188,"endOffset":55248,"count":1},{"startOffset":55258,"endOffset":56349,"count":5},{"startOffset":55383,"endOffset":55432,"count":2},{"startOffset":55432,"endOffset":55499,"count":3},{"startOffset":55499,"endOffset":55722,"count":2},{"startOffset":55617,"endOffset":55625,"count":0},{"startOffset":55673,"endOffset":55681,"count":0},{"startOffset":55722,"endOffset":55872,"count":1},{"startOffset":55829,"endOffset":55837,"count":0},{"startOffset":55872,"endOffset":55947,"count":3},{"startOffset":55947,"endOffset":56134,"count":2},{"startOffset":56071,"endOffset":56079,"count":0},{"startOffset":56134,"endOffset":56292,"count":1},{"startOffset":56249,"endOffset":56257,"count":0},{"startOffset":56292,"endOffset":56349,"count":3},{"startOffset":56349,"endOffset":56454,"count":5},{"startOffset":56455,"endOffset":56463,"count":3},{"startOffset":56464,"endOffset":56517,"count":2},{"startOffset":56519,"endOffset":56524,"count":3},{"startOffset":56618,"endOffset":56634,"count":5},{"startOffset":56635,"endOffset":56643,"count":0},{"startOffset":56644,"endOffset":56663,"count":5},{"startOffset":56665,"endOffset":56675,"count":0},{"startOffset":57186,"endOffset":57470,"count":2},{"startOffset":57470,"endOffset":57660,"count":5},{"startOffset":57660,"endOffset":57755,"count":2},{"startOffset":57755,"endOffset":57810,"count":5},{"startOffset":57810,"endOffset":57949,"count":6},{"startOffset":57949,"endOffset":58259,"count":5}],"isBlockCoverage":true},{"functionName":"emptyKey","ranges":[{"startOffset":58265,"endOffset":59213,"count":427},{"startOffset":58354,"endOffset":58395,"count":112},{"startOffset":58395,"endOffset":58466,"count":315},{"startOffset":58466,"endOffset":59181,"count":4},{"startOffset":58577,"endOffset":58618,"count":0},{"startOffset":58760,"endOffset":58801,"count":0},{"startOffset":58899,"endOffset":58940,"count":0},{"startOffset":59181,"endOffset":59212,"count":311}],"isBlockCoverage":true},{"functionName":"callFunctionParameterSimple","ranges":[{"startOffset":59218,"endOffset":60702,"count":377},{"startOffset":59337,"endOffset":59378,"count":375},{"startOffset":59378,"endOffset":59499,"count":2},{"startOffset":59499,"endOffset":59967,"count":3},{"startOffset":59658,"endOffset":59709,"count":2},{"startOffset":59726,"endOffset":59780,"count":2},{"startOffset":59783,"endOffset":59876,"count":1},{"startOffset":59876,"endOffset":59957,"count":2},{"startOffset":59967,"endOffset":60001,"count":2},{"startOffset":60001,"endOffset":60042,"count":0},{"startOffset":60042,"endOffset":60701,"count":2}],"isBlockCoverage":true},{"functionName":"downportCorrespondingSimple","ranges":[{"startOffset":60707,"endOffset":62835,"count":393},{"startOffset":60837,"endOffset":60871,"count":211},{"startOffset":60884,"endOffset":60967,"count":211},{"startOffset":60969,"endOffset":61010,"count":388},{"startOffset":61010,"endOffset":61115,"count":5},{"startOffset":61115,"endOffset":61156,"count":0},{"startOffset":61156,"endOffset":61260,"count":5},{"startOffset":61261,"endOffset":61269,"count":0},{"startOffset":61270,"endOffset":61325,"count":5},{"startOffset":61359,"endOffset":61382,"count":5},{"startOffset":61383,"endOffset":61391,"count":0},{"startOffset":61392,"endOffset":61424,"count":5},{"startOffset":61432,"endOffset":61500,"count":2},{"startOffset":61502,"endOffset":61982,"count":1},{"startOffset":61982,"endOffset":62803,"count":4},{"startOffset":62044,"endOffset":62052,"count":0},{"startOffset":62093,"endOffset":62210,"count":3},{"startOffset":62156,"endOffset":62164,"count":0},{"startOffset":62212,"endOffset":62803,"count":3},{"startOffset":62803,"endOffset":62834,"count":1}],"isBlockCoverage":true},{"functionName":"downportRefSimple","ranges":[{"startOffset":62840,"endOffset":65371,"count":398},{"startOffset":62972,"endOffset":63006,"count":216},{"startOffset":63019,"endOffset":63092,"count":216},{"startOffset":63094,"endOffset":63135,"count":393},{"startOffset":63135,"endOffset":63240,"count":5},{"startOffset":63240,"endOffset":63281,"count":0},{"startOffset":63281,"endOffset":63385,"count":5},{"startOffset":63386,"endOffset":63394,"count":0},{"startOffset":63395,"endOffset":63440,"count":5},{"startOffset":63490,"endOffset":63529,"count":5},{"startOffset":63531,"endOffset":63572,"count":0},{"startOffset":63572,"endOffset":63668,"count":5},{"startOffset":63668,"endOffset":64024,"count":1},{"startOffset":64024,"endOffset":65025,"count":4},{"startOffset":64287,"endOffset":65015,"count":3},{"startOffset":64598,"endOffset":64606,"count":2},{"startOffset":64607,"endOffset":64624,"count":1},{"startOffset":64681,"endOffset":64983,"count":1},{"startOffset":64806,"endOffset":64814,"count":0},{"startOffset":65025,"endOffset":65370,"count":5}],"isBlockCoverage":true},{"functionName":"downportLoopGroup","ranges":[{"startOffset":65376,"endOffset":73082,"count":388},{"startOffset":65551,"endOffset":65592,"count":331},{"startOffset":65592,"endOffset":65700,"count":57},{"startOffset":65700,"endOffset":65741,"count":46},{"startOffset":65741,"endOffset":65858,"count":11},{"startOffset":65859,"endOffset":65867,"count":3},{"startOffset":65868,"endOffset":65887,"count":8},{"startOffset":65901,"endOffset":66060,"count":3},{"startOffset":65995,"endOffset":66003,"count":0},{"startOffset":66073,"endOffset":66090,"count":0},{"startOffset":66192,"endOffset":66208,"count":11},{"startOffset":66209,"endOffset":66217,"count":0},{"startOffset":66218,"endOffset":66237,"count":11},{"startOffset":66239,"endOffset":66256,"count":0},{"startOffset":66356,"endOffset":66372,"count":11},{"startOffset":66373,"endOffset":66381,"count":2},{"startOffset":66382,"endOffset":66401,"count":9},{"startOffset":66415,"endOffset":66537,"count":2},{"startOffset":66508,"endOffset":66516,"count":0},{"startOffset":66550,"endOffset":66567,"count":0},{"startOffset":66672,"endOffset":66688,"count":11},{"startOffset":66689,"endOffset":66697,"count":0},{"startOffset":66698,"endOffset":66717,"count":11},{"startOffset":66719,"endOffset":66724,"count":0},{"startOffset":66819,"endOffset":66835,"count":11},{"startOffset":66836,"endOffset":66844,"count":0},{"startOffset":66845,"endOffset":66908,"count":11},{"startOffset":67104,"endOffset":67417,"count":11},{"startOffset":67225,"endOffset":67233,"count":1},{"startOffset":67234,"endOffset":67251,"count":10},{"startOffset":67302,"endOffset":67407,"count":10},{"startOffset":67375,"endOffset":67392,"count":0},{"startOffset":67417,"endOffset":67674,"count":11},{"startOffset":67674,"endOffset":68843,"count":10},{"startOffset":67850,"endOffset":67858,"count":3},{"startOffset":67859,"endOffset":67878,"count":7},{"startOffset":67880,"endOffset":67889,"count":3},{"startOffset":67957,"endOffset":67965,"count":0},{"startOffset":68012,"endOffset":68153,"count":2},{"startOffset":68108,"endOffset":68116,"count":0},{"startOffset":68153,"endOffset":68718,"count":8},{"startOffset":68225,"endOffset":68233,"count":0},{"startOffset":68281,"endOffset":68422,"count":1},{"startOffset":68377,"endOffset":68385,"count":0},{"startOffset":68422,"endOffset":68718,"count":7},{"startOffset":68480,"endOffset":68537,"count":1},{"startOffset":68784,"endOffset":68792,"count":0},{"startOffset":68843,"endOffset":68954,"count":11},{"startOffset":68954,"endOffset":69300,"count":5},{"startOffset":69300,"endOffset":69989,"count":11},{"startOffset":69990,"endOffset":69998,"count":0},{"startOffset":69999,"endOffset":70018,"count":11},{"startOffset":70067,"endOffset":70140,"count":1},{"startOffset":70140,"endOffset":70315,"count":11},{"startOffset":70315,"endOffset":70424,"count":2},{"startOffset":70424,"endOffset":70482,"count":11},{"startOffset":70482,"endOffset":70489,"count":2},{"startOffset":70490,"endOffset":70494,"count":9},{"startOffset":70666,"endOffset":71139,"count":10},{"startOffset":70803,"endOffset":70903,"count":1},{"startOffset":70903,"endOffset":71129,"count":9},{"startOffset":70957,"endOffset":71040,"count":2},{"startOffset":71040,"endOffset":71129,"count":7},{"startOffset":71139,"endOffset":71171,"count":11},{"startOffset":71171,"endOffset":71272,"count":5},{"startOffset":71272,"endOffset":71330,"count":11},{"startOffset":71330,"endOffset":71337,"count":2},{"startOffset":71338,"endOffset":71342,"count":9},{"startOffset":71739,"endOffset":71755,"count":11},{"startOffset":71756,"endOffset":71764,"count":0},{"startOffset":71765,"endOffset":71804,"count":11},{"startOffset":71806,"endOffset":71811,"count":0},{"startOffset":71813,"endOffset":72934,"count":11},{"startOffset":71948,"endOffset":71989,"count":0},{"startOffset":72059,"endOffset":72924,"count":15},{"startOffset":72134,"endOffset":72142,"count":0},{"startOffset":72192,"endOffset":72910,"count":4},{"startOffset":72342,"endOffset":72399,"count":0},{"startOffset":72498,"endOffset":72506,"count":0},{"startOffset":72539,"endOffset":72556,"count":0},{"startOffset":72637,"endOffset":72643,"count":2},{"startOffset":72644,"endOffset":72649,"count":2},{"startOffset":72934,"endOffset":73081,"count":11}],"isBlockCoverage":true},{"functionName":"downportRef","ranges":[{"startOffset":73087,"endOffset":74250,"count":389},{"startOffset":73191,"endOffset":73232,"count":112},{"startOffset":73232,"endOffset":73342,"count":277},{"startOffset":73342,"endOffset":73535,"count":770},{"startOffset":73427,"endOffset":73481,"count":2},{"startOffset":73483,"endOffset":73525,"count":1},{"startOffset":73535,"endOffset":73569,"count":277},{"startOffset":73569,"endOffset":73610,"count":276},{"startOffset":73610,"endOffset":74249,"count":1}],"isBlockCoverage":true},{"functionName":"assignWithTable","ranges":[{"startOffset":74255,"endOffset":76474,"count":404},{"startOffset":74371,"endOffset":74412,"count":112},{"startOffset":74412,"endOffset":74469,"count":292},{"startOffset":74469,"endOffset":74510,"count":285},{"startOffset":74510,"endOffset":74602,"count":7},{"startOffset":74561,"endOffset":74602,"count":0},{"startOffset":74602,"endOffset":74720,"count":7},{"startOffset":74721,"endOffset":74729,"count":0},{"startOffset":74730,"endOffset":74775,"count":7},{"startOffset":74786,"endOffset":74802,"count":7},{"startOffset":74803,"endOffset":74811,"count":1},{"startOffset":74812,"endOffset":74861,"count":6},{"startOffset":74915,"endOffset":74939,"count":7},{"startOffset":74940,"endOffset":74948,"count":2},{"startOffset":74949,"endOffset":74976,"count":5},{"startOffset":75032,"endOffset":75098,"count":5},{"startOffset":75111,"endOffset":75166,"count":5},{"startOffset":75168,"endOffset":75209,"count":2},{"startOffset":75209,"endOffset":75294,"count":5},{"startOffset":75294,"endOffset":75533,"count":2},{"startOffset":75417,"endOffset":75466,"count":0},{"startOffset":75533,"endOffset":75764,"count":3},{"startOffset":75764,"endOffset":75837,"count":5},{"startOffset":75837,"endOffset":75963,"count":12},{"startOffset":75878,"endOffset":75916,"count":5},{"startOffset":75916,"endOffset":75963,"count":7},{"startOffset":75963,"endOffset":76143,"count":5},{"startOffset":76144,"endOffset":76152,"count":0},{"startOffset":76153,"endOffset":76178,"count":5}],"isBlockCoverage":true},{"functionName":"assignComponent","ranges":[{"startOffset":76479,"endOffset":77890,"count":399},{"startOffset":76587,"endOffset":76628,"count":112},{"startOffset":76628,"endOffset":76685,"count":287},{"startOffset":76685,"endOffset":76726,"count":285},{"startOffset":76726,"endOffset":76918,"count":2},{"startOffset":76920,"endOffset":77149,"count":1},{"startOffset":77151,"endOffset":77192,"count":0},{"startOffset":77192,"endOffset":77889,"count":1}],"isBlockCoverage":true},{"functionName":"moveWithSimpleValue","ranges":[{"startOffset":77895,"endOffset":79957,"count":412},{"startOffset":77995,"endOffset":78036,"count":112},{"startOffset":78036,"endOffset":78102,"count":300},{"startOffset":78102,"endOffset":78136,"count":158},{"startOffset":78138,"endOffset":78179,"count":142},{"startOffset":78179,"endOffset":78284,"count":158},{"startOffset":78284,"endOffset":78325,"count":0},{"startOffset":78325,"endOffset":78430,"count":158},{"startOffset":78430,"endOffset":78471,"count":0},{"startOffset":78471,"endOffset":78581,"count":158},{"startOffset":78581,"endOffset":78612,"count":39},{"startOffset":78612,"endOffset":78728,"count":119},{"startOffset":78728,"endOffset":78759,"count":79},{"startOffset":78759,"endOffset":78946,"count":40},{"startOffset":78907,"endOffset":78915,"count":0},{"startOffset":78948,"endOffset":78979,"count":7},{"startOffset":78979,"endOffset":79118,"count":33},{"startOffset":79118,"endOffset":79149,"count":24},{"startOffset":79149,"endOffset":79258,"count":9},{"startOffset":79227,"endOffset":79258,"count":1},{"startOffset":79258,"endOffset":79457,"count":8},{"startOffset":79457,"endOffset":79586,"count":9},{"startOffset":79586,"endOffset":79956,"count":8}],"isBlockCoverage":true},{"functionName":"downportEnum","ranges":[{"startOffset":80057,"endOffset":81995,"count":435},{"startOffset":80211,"endOffset":80252,"count":433},{"startOffset":80252,"endOffset":80339,"count":2},{"startOffset":80340,"endOffset":80348,"count":0},{"startOffset":80349,"endOffset":80393,"count":2},{"startOffset":80436,"endOffset":80477,"count":0},{"startOffset":80477,"endOffset":80534,"count":2},{"startOffset":80534,"endOffset":80575,"count":0},{"startOffset":80575,"endOffset":80671,"count":2},{"startOffset":80672,"endOffset":80680,"count":0},{"startOffset":80681,"endOffset":80700,"count":2},{"startOffset":80791,"endOffset":80807,"count":2},{"startOffset":80808,"endOffset":80816,"count":0},{"startOffset":80817,"endOffset":80836,"count":2},{"startOffset":81131,"endOffset":81590,"count":4},{"startOffset":81246,"endOffset":81254,"count":0},{"startOffset":81374,"endOffset":81382,"count":2},{"startOffset":81383,"endOffset":81402,"count":2},{"startOffset":81441,"endOffset":81507,"count":2},{"startOffset":81590,"endOffset":81994,"count":2}],"isBlockCoverage":true},{"functionName":"moveWithTableTarget","ranges":[{"startOffset":82000,"endOffset":84172,"count":375},{"startOffset":82128,"endOffset":82169,"count":112},{"startOffset":82169,"endOffset":82224,"count":263},{"startOffset":82224,"endOffset":82265,"count":122},{"startOffset":82265,"endOffset":82370,"count":141},{"startOffset":82370,"endOffset":82411,"count":0},{"startOffset":82411,"endOffset":82545,"count":141},{"startOffset":82545,"endOffset":82586,"count":139},{"startOffset":82586,"endOffset":82700,"count":2},{"startOffset":82700,"endOffset":82741,"count":0},{"startOffset":82741,"endOffset":83829,"count":2},{"startOffset":83830,"endOffset":83838,"count":0},{"startOffset":83839,"endOffset":83852,"count":2},{"startOffset":83885,"endOffset":83926,"count":0},{"startOffset":83926,"endOffset":84171,"count":2}],"isBlockCoverage":true},{"functionName":"moveWithOperator","ranges":[{"startOffset":84177,"endOffset":85924,"count":418},{"startOffset":84298,"endOffset":84339,"count":112},{"startOffset":84339,"endOffset":84440,"count":306},{"startOffset":84399,"endOffset":84440,"count":142},{"startOffset":84440,"endOffset":84566,"count":164},{"startOffset":84566,"endOffset":84607,"count":0},{"startOffset":84607,"endOffset":84726,"count":164},{"startOffset":84726,"endOffset":84792,"count":1},{"startOffset":84805,"endOffset":84871,"count":1},{"startOffset":84884,"endOffset":84951,"count":1},{"startOffset":84964,"endOffset":85031,"count":1},{"startOffset":85044,"endOffset":85113,"count":2},{"startOffset":85126,"endOffset":85168,"count":158},{"startOffset":85178,"endOffset":85280,"count":6},{"startOffset":85281,"endOffset":85289,"count":0},{"startOffset":85290,"endOffset":85309,"count":6},{"startOffset":85345,"endOffset":85376,"count":0},{"startOffset":85376,"endOffset":85489,"count":6},{"startOffset":85490,"endOffset":85498,"count":0},{"startOffset":85499,"endOffset":85519,"count":6},{"startOffset":85530,"endOffset":85546,"count":6},{"startOffset":85547,"endOffset":85555,"count":0},{"startOffset":85556,"endOffset":85587,"count":6},{"startOffset":85628,"endOffset":85659,"count":0},{"startOffset":85659,"endOffset":85923,"count":6}],"isBlockCoverage":true},{"functionName":"stringTemplateAlpha","ranges":[{"startOffset":86009,"endOffset":88455,"count":423},{"startOffset":86141,"endOffset":86182,"count":112},{"startOffset":86182,"endOffset":86273,"count":311},{"startOffset":86273,"endOffset":88423,"count":51},{"startOffset":86391,"endOffset":86445,"count":15},{"startOffset":86462,"endOffset":86516,"count":11},{"startOffset":86518,"endOffset":86559,"count":40},{"startOffset":86559,"endOffset":86746,"count":11},{"startOffset":86747,"endOffset":86755,"count":0},{"startOffset":86756,"endOffset":86831,"count":11},{"startOffset":86842,"endOffset":86858,"count":11},{"startOffset":86859,"endOffset":86867,"count":6},{"startOffset":86868,"endOffset":86887,"count":5},{"startOffset":86974,"endOffset":87085,"count":1},{"startOffset":87102,"endOffset":87215,"count":4},{"startOffset":87232,"endOffset":87278,"count":6},{"startOffset":87292,"endOffset":87468,"count":5},{"startOffset":87469,"endOffset":87477,"count":0},{"startOffset":87478,"endOffset":87535,"count":5},{"startOffset":87546,"endOffset":87562,"count":5},{"startOffset":87563,"endOffset":87571,"count":0},{"startOffset":87572,"endOffset":87591,"count":5},{"startOffset":88423,"endOffset":88454,"count":300}],"isBlockCoverage":true},{"functionName":"outlineLoopInput","ranges":[{"startOffset":88460,"endOffset":89709,"count":338},{"startOffset":88569,"endOffset":88610,"count":112},{"startOffset":88610,"endOffset":88824,"count":226},{"startOffset":88670,"endOffset":88711,"count":209},{"startOffset":88711,"endOffset":88824,"count":17},{"startOffset":88783,"endOffset":88824,"count":16},{"startOffset":88824,"endOffset":88964,"count":1},{"startOffset":88964,"endOffset":89005,"count":0},{"startOffset":89005,"endOffset":89708,"count":1}],"isBlockCoverage":true},{"functionName":"outlineLoopTarget","ranges":[{"startOffset":89714,"endOffset":92931,"count":337},{"startOffset":89904,"endOffset":89945,"count":292},{"startOffset":89945,"endOffset":90058,"count":45},{"startOffset":90059,"endOffset":90067,"count":0},{"startOffset":90068,"endOffset":90087,"count":45},{"startOffset":90127,"endOffset":90168,"count":0},{"startOffset":90168,"endOffset":90307,"count":45},{"startOffset":90309,"endOffset":90350,"count":4},{"startOffset":90350,"endOffset":90617,"count":41},{"startOffset":90618,"endOffset":90626,"count":0},{"startOffset":90627,"endOffset":90672,"count":41},{"startOffset":90683,"endOffset":90699,"count":41},{"startOffset":90700,"endOffset":90708,"count":12},{"startOffset":90709,"endOffset":90758,"count":29},{"startOffset":90784,"endOffset":91852,"count":29},{"startOffset":90908,"endOffset":90916,"count":0},{"startOffset":90938,"endOffset":90957,"count":0},{"startOffset":91077,"endOffset":91356,"count":9},{"startOffset":91852,"endOffset":91966,"count":12},{"startOffset":91967,"endOffset":91975,"count":0},{"startOffset":91976,"endOffset":92023,"count":12},{"startOffset":92034,"endOffset":92050,"count":12},{"startOffset":92051,"endOffset":92059,"count":0},{"startOffset":92060,"endOffset":92107,"count":12},{"startOffset":92131,"endOffset":92899,"count":12},{"startOffset":92259,"endOffset":92267,"count":0},{"startOffset":92289,"endOffset":92308,"count":0},{"startOffset":92899,"endOffset":92930,"count":0}],"isBlockCoverage":true},{"functionName":"outlineFor","ranges":[{"startOffset":92936,"endOffset":99672,"count":43},{"startOffset":93193,"endOffset":93201,"count":0},{"startOffset":93426,"endOffset":93434,"count":17},{"startOffset":93435,"endOffset":93477,"count":26},{"startOffset":93568,"endOffset":93716,"count":5},{"startOffset":93677,"endOffset":93685,"count":0},{"startOffset":93832,"endOffset":93840,"count":20},{"startOffset":93841,"endOffset":93861,"count":23},{"startOffset":93889,"endOffset":93897,"count":20},{"startOffset":93898,"endOffset":93908,"count":23},{"startOffset":93952,"endOffset":94059,"count":3},{"startOffset":94099,"endOffset":94545,"count":25},{"startOffset":94406,"endOffset":94521,"count":2},{"startOffset":94545,"endOffset":94654,"count":41},{"startOffset":94655,"endOffset":94663,"count":40},{"startOffset":94664,"endOffset":94683,"count":1},{"startOffset":94685,"endOffset":94690,"count":40},{"startOffset":94717,"endOffset":94765,"count":1},{"startOffset":94765,"endOffset":94915,"count":41},{"startOffset":94916,"endOffset":94924,"count":20},{"startOffset":94925,"endOffset":94964,"count":21},{"startOffset":94975,"endOffset":94991,"count":41},{"startOffset":94992,"endOffset":95000,"count":39},{"startOffset":95001,"endOffset":95020,"count":2},{"startOffset":95085,"endOffset":95126,"count":33},{"startOffset":95128,"endOffset":96705,"count":15},{"startOffset":95297,"endOffset":95305,"count":0},{"startOffset":95383,"endOffset":95391,"count":0},{"startOffset":95667,"endOffset":95675,"count":0},{"startOffset":95759,"endOffset":95767,"count":0},{"startOffset":95979,"endOffset":95987,"count":8},{"startOffset":95988,"endOffset":95992,"count":7},{"startOffset":96288,"endOffset":96296,"count":0},{"startOffset":96482,"endOffset":96562,"count":1},{"startOffset":96562,"endOffset":96650,"count":14},{"startOffset":96705,"endOffset":99470,"count":26},{"startOffset":96758,"endOffset":98912,"count":23},{"startOffset":96857,"endOffset":96865,"count":22},{"startOffset":96866,"endOffset":96885,"count":1},{"startOffset":96911,"endOffset":96928,"count":1},{"startOffset":96929,"endOffset":96933,"count":22},{"startOffset":97028,"endOffset":97036,"count":22},{"startOffset":97037,"endOffset":97056,"count":1},{"startOffset":97078,"endOffset":97091,"count":1},{"startOffset":97092,"endOffset":97096,"count":22},{"startOffset":97218,"endOffset":97359,"count":3},{"startOffset":97252,"endOffset":97303,"count":1},{"startOffset":97388,"endOffset":97454,"count":2},{"startOffset":97552,"endOffset":97623,"count":3},{"startOffset":97684,"endOffset":97736,"count":3},{"startOffset":97798,"endOffset":97851,"count":0},{"startOffset":97947,"endOffset":98248,"count":5},{"startOffset":98047,"endOffset":98136,"count":1},{"startOffset":98136,"endOffset":98234,"count":4},{"startOffset":98356,"endOffset":98407,"count":1},{"startOffset":98497,"endOffset":98561,"count":1},{"startOffset":98777,"endOffset":98873,"count":1},{"startOffset":98912,"endOffset":99470,"count":3},{"startOffset":99160,"endOffset":99168,"count":0},{"startOffset":99335,"endOffset":99431,"count":1},{"startOffset":99470,"endOffset":99551,"count":41},{"startOffset":99551,"endOffset":99636,"count":1},{"startOffset":99636,"endOffset":99671,"count":41}],"isBlockCoverage":true},{"functionName":"outlineFilter","ranges":[{"startOffset":99677,"endOffset":101859,"count":205},{"startOffset":99799,"endOffset":99840,"count":83},{"startOffset":99840,"endOffset":99919,"count":122},{"startOffset":99919,"endOffset":101827,"count":340},{"startOffset":100035,"endOffset":100076,"count":338},{"startOffset":100076,"endOffset":100198,"count":2},{"startOffset":100198,"endOffset":100239,"count":0},{"startOffset":100239,"endOffset":100355,"count":2},{"startOffset":100356,"endOffset":100364,"count":0},{"startOffset":100365,"endOffset":100384,"count":2},{"startOffset":100428,"endOffset":100469,"count":0},{"startOffset":100469,"endOffset":100568,"count":2},{"startOffset":100568,"endOffset":100628,"count":0},{"startOffset":100628,"endOffset":101827,"count":2},{"startOffset":101827,"endOffset":101858,"count":120}],"isBlockCoverage":true},{"functionName":"outlineSwitch","ranges":[{"startOffset":101864,"endOffset":105921,"count":209},{"startOffset":101998,"endOffset":102039,"count":83},{"startOffset":102039,"endOffset":102118,"count":126},{"startOffset":102118,"endOffset":105889,"count":348},{"startOffset":102234,"endOffset":102275,"count":343},{"startOffset":102275,"endOffset":102374,"count":5},{"startOffset":102374,"endOffset":102959,"count":3},{"startOffset":102612,"endOffset":102620,"count":0},{"startOffset":102688,"endOffset":102855,"count":2},{"startOffset":102807,"endOffset":102815,"count":0},{"startOffset":102896,"endOffset":102945,"count":1},{"startOffset":102959,"endOffset":103031,"count":2},{"startOffset":103031,"endOffset":103403,"count":4},{"startOffset":103403,"endOffset":103444,"count":0},{"startOffset":103444,"endOffset":103524,"count":4},{"startOffset":103525,"endOffset":103533,"count":0},{"startOffset":103534,"endOffset":103584,"count":4},{"startOffset":103595,"endOffset":103611,"count":4},{"startOffset":103612,"endOffset":103620,"count":4},{"startOffset":103621,"endOffset":103682,"count":0},{"startOffset":103684,"endOffset":103689,"count":4},{"startOffset":103691,"endOffset":103933,"count":0},{"startOffset":103933,"endOffset":104110,"count":4},{"startOffset":104110,"endOffset":105368,"count":36},{"startOffset":104170,"endOffset":104194,"count":20},{"startOffset":104196,"endOffset":104326,"count":4},{"startOffset":104326,"endOffset":105354,"count":32},{"startOffset":104383,"endOffset":104427,"count":16},{"startOffset":104429,"endOffset":104518,"count":7},{"startOffset":104518,"endOffset":105354,"count":25},{"startOffset":104575,"endOffset":104619,"count":9},{"startOffset":104621,"endOffset":104731,"count":7},{"startOffset":104731,"endOffset":105354,"count":18},{"startOffset":104788,"endOffset":104830,"count":2},{"startOffset":104832,"endOffset":104887,"count":0},{"startOffset":104944,"endOffset":104988,"count":2},{"startOffset":104990,"endOffset":105108,"count":2},{"startOffset":105108,"endOffset":105354,"count":16},{"startOffset":105152,"endOffset":105217,"count":7},{"startOffset":105217,"endOffset":105354,"count":9},{"startOffset":105368,"endOffset":105889,"count":4},{"startOffset":105889,"endOffset":105920,"count":122}],"isBlockCoverage":true},{"functionName":"outlineReduce","ranges":[{"startOffset":105926,"endOffset":110345,"count":237},{"startOffset":106052,"endOffset":106093,"count":83},{"startOffset":106093,"endOffset":106172,"count":154},{"startOffset":106172,"endOffset":110313,"count":397},{"startOffset":106288,"endOffset":106329,"count":371},{"startOffset":106329,"endOffset":106430,"count":26},{"startOffset":106430,"endOffset":106471,"count":1},{"startOffset":106471,"endOffset":106843,"count":25},{"startOffset":106843,"endOffset":106884,"count":0},{"startOffset":106884,"endOffset":106988,"count":25},{"startOffset":106988,"endOffset":107087,"count":1},{"startOffset":107087,"endOffset":107220,"count":25},{"startOffset":107220,"endOffset":108465,"count":29},{"startOffset":107314,"endOffset":107371,"count":25},{"startOffset":107599,"endOffset":107725,"count":1},{"startOffset":107725,"endOffset":107829,"count":28},{"startOffset":107830,"endOffset":107838,"count":1},{"startOffset":107839,"endOffset":107858,"count":27},{"startOffset":107949,"endOffset":107965,"count":28},{"startOffset":107966,"endOffset":107974,"count":21},{"startOffset":107975,"endOffset":107994,"count":7},{"startOffset":108019,"endOffset":108339,"count":27},{"startOffset":108084,"endOffset":108199,"count":2},{"startOffset":108199,"endOffset":108321,"count":25},{"startOffset":108339,"endOffset":108451,"count":1},{"startOffset":108465,"endOffset":108571,"count":24},{"startOffset":108572,"endOffset":108580,"count":0},{"startOffset":108581,"endOffset":108632,"count":24},{"startOffset":108634,"endOffset":108639,"count":0},{"startOffset":108641,"endOffset":108844,"count":25},{"startOffset":108844,"endOffset":108963,"count":23},{"startOffset":108963,"endOffset":109004,"count":0},{"startOffset":109004,"endOffset":109053,"count":23},{"startOffset":109053,"endOffset":109584,"count":104},{"startOffset":109157,"endOffset":109206,"count":23},{"startOffset":109206,"endOffset":109570,"count":81},{"startOffset":109277,"endOffset":109359,"count":27},{"startOffset":109359,"endOffset":109570,"count":54},{"startOffset":109424,"endOffset":109570,"count":27},{"startOffset":109584,"endOffset":110313,"count":23},{"startOffset":110313,"endOffset":110344,"count":129}],"isBlockCoverage":true},{"functionName":"outlineCorresponding","ranges":[{"startOffset":110350,"endOffset":112696,"count":212},{"startOffset":110479,"endOffset":110520,"count":83},{"startOffset":110520,"endOffset":110638,"count":129},{"startOffset":110638,"endOffset":112664,"count":370},{"startOffset":110761,"endOffset":110802,"count":367},{"startOffset":110802,"endOffset":110971,"count":3},{"startOffset":110972,"endOffset":110980,"count":0},{"startOffset":110981,"endOffset":111039,"count":3},{"startOffset":111053,"endOffset":111094,"count":1},{"startOffset":111094,"endOffset":111389,"count":2},{"startOffset":111389,"endOffset":111776,"count":0},{"startOffset":111776,"endOffset":112108,"count":2},{"startOffset":112109,"endOffset":112117,"count":0},{"startOffset":112118,"endOffset":112152,"count":2},{"startOffset":112664,"endOffset":112695,"count":127}],"isBlockCoverage":true},{"functionName":"outlineValue","ranges":[{"startOffset":112701,"endOffset":121246,"count":289},{"startOffset":112830,"endOffset":112871,"count":83},{"startOffset":112871,"endOffset":112989,"count":206},{"startOffset":112989,"endOffset":121214,"count":536},{"startOffset":113104,"endOffset":113145,"count":476},{"startOffset":113145,"endOffset":113321,"count":60},{"startOffset":113321,"endOffset":113708,"count":17},{"startOffset":113381,"endOffset":113435,"count":16},{"startOffset":113437,"endOffset":113604,"count":16},{"startOffset":113556,"endOffset":113564,"count":0},{"startOffset":113645,"endOffset":113694,"count":1},{"startOffset":113708,"endOffset":113780,"count":43},{"startOffset":113780,"endOffset":114069,"count":59},{"startOffset":114070,"endOffset":114078,"count":12},{"startOffset":114079,"endOffset":114123,"count":47},{"startOffset":114147,"endOffset":114250,"count":8},{"startOffset":114250,"endOffset":114476,"count":59},{"startOffset":114477,"endOffset":114485,"count":12},{"startOffset":114486,"endOffset":114545,"count":47},{"startOffset":114562,"endOffset":114931,"count":33},{"startOffset":114745,"endOffset":114753,"count":0},{"startOffset":114805,"endOffset":114811,"count":16},{"startOffset":114812,"endOffset":114816,"count":17},{"startOffset":114931,"endOffset":115003,"count":59},{"startOffset":115004,"endOffset":115012,"count":12},{"startOffset":115013,"endOffset":115038,"count":47},{"startOffset":115040,"endOffset":115045,"count":12},{"startOffset":115047,"endOffset":118238,"count":100},{"startOffset":115117,"endOffset":115367,"count":13},{"startOffset":115160,"endOffset":115259,"count":10},{"startOffset":115367,"endOffset":116354,"count":87},{"startOffset":115429,"endOffset":115466,"count":76},{"startOffset":115468,"endOffset":115722,"count":18},{"startOffset":115722,"endOffset":116354,"count":69},{"startOffset":115784,"endOffset":115824,"count":58},{"startOffset":115826,"endOffset":116152,"count":12},{"startOffset":115968,"endOffset":115976,"count":0},{"startOffset":116018,"endOffset":116134,"count":1},{"startOffset":116152,"endOffset":116354,"count":57},{"startOffset":116214,"endOffset":116251,"count":46},{"startOffset":116253,"endOffset":116354,"count":6},{"startOffset":116354,"endOffset":116411,"count":98},{"startOffset":116411,"endOffset":116458,"count":87},{"startOffset":116460,"endOffset":118224,"count":40},{"startOffset":116564,"endOffset":116572,"count":0},{"startOffset":116592,"endOffset":116597,"count":0},{"startOffset":116599,"endOffset":118206,"count":128},{"startOffset":116677,"endOffset":116989,"count":26},{"startOffset":116728,"endOffset":116851,"count":10},{"startOffset":116989,"endOffset":118146,"count":102},{"startOffset":117062,"endOffset":117346,"count":21},{"startOffset":117346,"endOffset":118146,"count":81},{"startOffset":117427,"endOffset":117608,"count":1},{"startOffset":117608,"endOffset":118146,"count":80},{"startOffset":117668,"endOffset":118146,"count":40},{"startOffset":117718,"endOffset":117806,"count":25},{"startOffset":117763,"endOffset":117771,"count":0},{"startOffset":117808,"endOffset":117931,"count":3},{"startOffset":117980,"endOffset":118120,"count":18},{"startOffset":118238,"endOffset":118267,"count":57},{"startOffset":118267,"endOffset":118451,"count":15},{"startOffset":118320,"endOffset":118328,"count":12},{"startOffset":118329,"endOffset":118355,"count":3},{"startOffset":118383,"endOffset":118391,"count":12},{"startOffset":118392,"endOffset":118435,"count":3},{"startOffset":118453,"endOffset":120419,"count":3},{"startOffset":118845,"endOffset":118853,"count":0},{"startOffset":118882,"endOffset":118887,"count":0},{"startOffset":118889,"endOffset":119325,"count":8},{"startOffset":118962,"endOffset":119000,"count":3},{"startOffset":119002,"endOffset":119070,"count":3},{"startOffset":119070,"endOffset":119307,"count":5},{"startOffset":119131,"endOffset":119207,"count":3},{"startOffset":119207,"endOffset":119307,"count":2},{"startOffset":119438,"endOffset":119446,"count":0},{"startOffset":119494,"endOffset":119744,"count":1},{"startOffset":119601,"endOffset":119609,"count":0},{"startOffset":119696,"endOffset":119704,"count":0},{"startOffset":119744,"endOffset":119967,"count":2},{"startOffset":119870,"endOffset":119878,"count":0},{"startOffset":120332,"endOffset":120405,"count":1},{"startOffset":120419,"endOffset":120448,"count":57},{"startOffset":120448,"endOffset":120562,"count":15},{"startOffset":120562,"endOffset":121214,"count":57},{"startOffset":121214,"endOffset":121245,"count":147}],"isBlockCoverage":true},{"functionName":"outlineLet","ranges":[{"startOffset":121251,"endOffset":122827,"count":12},{"startOffset":121429,"endOffset":122801,"count":14},{"startOffset":121505,"endOffset":121546,"count":0},{"startOffset":121755,"endOffset":121796,"count":0},{"startOffset":121887,"endOffset":122002,"count":2},{"startOffset":122002,"endOffset":122091,"count":12},{"startOffset":122091,"endOffset":122347,"count":0},{"startOffset":122347,"endOffset":122505,"count":12},{"startOffset":122478,"endOffset":122486,"count":0},{"startOffset":122506,"endOffset":122532,"count":0},{"startOffset":122698,"endOffset":122791,"count":12},{"startOffset":122801,"endOffset":122826,"count":10}],"isBlockCoverage":true},{"functionName":"renameVariable","ranges":[{"startOffset":122832,"endOffset":123236,"count":5}],"isBlockCoverage":true},{"functionName":"findType","ranges":[{"startOffset":123241,"endOffset":124672,"count":137},{"startOffset":123411,"endOffset":123452,"count":0},{"startOffset":123588,"endOffset":123653,"count":71},{"startOffset":123613,"endOffset":123633,"count":2},{"startOffset":123634,"endOffset":123642,"count":69},{"startOffset":123653,"endOffset":123790,"count":66},{"startOffset":123790,"endOffset":123831,"count":0},{"startOffset":123831,"endOffset":123923,"count":66},{"startOffset":123924,"endOffset":123932,"count":0},{"startOffset":123933,"endOffset":123960,"count":66},{"startOffset":123962,"endOffset":123967,"count":0},{"startOffset":123969,"endOffset":124313,"count":278},{"startOffset":124063,"endOffset":124076,"count":51},{"startOffset":124093,"endOffset":124147,"count":51},{"startOffset":124164,"endOffset":124224,"count":47},{"startOffset":124226,"endOffset":124303,"count":47},{"startOffset":124313,"endOffset":124350,"count":66},{"startOffset":124350,"endOffset":124391,"count":19},{"startOffset":124391,"endOffset":124463,"count":47},{"startOffset":124463,"endOffset":124522,"count":2},{"startOffset":124522,"endOffset":124666,"count":45},{"startOffset":124628,"endOffset":124636,"count":5},{"startOffset":124637,"endOffset":124655,"count":40}],"isBlockCoverage":true},{"functionName":"outlineFS","ranges":[{"startOffset":124677,"endOffset":126962,"count":85},{"startOffset":124810,"endOffset":124852,"count":80},{"startOffset":124854,"endOffset":124895,"count":9},{"startOffset":124895,"endOffset":124976,"count":76},{"startOffset":124976,"endOffset":126930,"count":11},{"startOffset":125095,"endOffset":125103,"count":0},{"startOffset":125167,"endOffset":125208,"count":0},{"startOffset":125370,"endOffset":125536,"count":1},{"startOffset":125492,"endOffset":125500,"count":0},{"startOffset":125536,"endOffset":126329,"count":10},{"startOffset":125707,"endOffset":125756,"count":0},{"startOffset":125853,"endOffset":125902,"count":0},{"startOffset":125973,"endOffset":126145,"count":0},{"startOffset":126237,"endOffset":126287,"count":9},{"startOffset":126288,"endOffset":126314,"count":1},{"startOffset":126930,"endOffset":126961,"count":65}],"isBlockCoverage":true},{"functionName":"outlineData","ranges":[{"startOffset":126967,"endOffset":129126,"count":137},{"startOffset":127170,"endOffset":129094,"count":62},{"startOffset":127283,"endOffset":127291,"count":0},{"startOffset":127355,"endOffset":127396,"count":0},{"startOffset":127585,"endOffset":127626,"count":0},{"startOffset":127715,"endOffset":127756,"count":0},{"startOffset":127822,"endOffset":127873,"count":9},{"startOffset":127875,"endOffset":127916,"count":9},{"startOffset":127916,"endOffset":128081,"count":53},{"startOffset":127987,"endOffset":128038,"count":6},{"startOffset":128040,"endOffset":128081,"count":1},{"startOffset":128081,"endOffset":128156,"count":52},{"startOffset":128156,"endOffset":128253,"count":42},{"startOffset":128226,"endOffset":128234,"count":0},{"startOffset":128270,"endOffset":128296,"count":10},{"startOffset":128370,"endOffset":128434,"count":3},{"startOffset":128434,"endOffset":128464,"count":52},{"startOffset":128464,"endOffset":128505,"count":0},{"startOffset":128505,"endOffset":129094,"count":52},{"startOffset":129094,"endOffset":129125,"count":85}],"isBlockCoverage":true},{"functionName":"outlineCond","ranges":[{"startOffset":129131,"endOffset":131294,"count":186},{"startOffset":129255,"endOffset":129296,"count":83},{"startOffset":129296,"endOffset":129375,"count":103},{"startOffset":129375,"endOffset":131262,"count":197},{"startOffset":129446,"endOffset":129487,"count":178},{"startOffset":129487,"endOffset":129595,"count":19},{"startOffset":129595,"endOffset":129636,"count":0},{"startOffset":129636,"endOffset":129848,"count":19},{"startOffset":129848,"endOffset":130433,"count":3},{"startOffset":130086,"endOffset":130094,"count":0},{"startOffset":130162,"endOffset":130329,"count":2},{"startOffset":130281,"endOffset":130289,"count":0},{"startOffset":130370,"endOffset":130419,"count":1},{"startOffset":130433,"endOffset":130505,"count":16},{"startOffset":130505,"endOffset":131262,"count":18},{"startOffset":131262,"endOffset":131293,"count":85}],"isBlockCoverage":true},{"functionName":"buildCondBody","ranges":[{"startOffset":131299,"endOffset":133343,"count":18},{"startOffset":131483,"endOffset":133075,"count":102},{"startOffset":131533,"endOffset":132332,"count":49},{"startOffset":131623,"endOffset":131946,"count":18},{"startOffset":131680,"endOffset":131802,"count":17},{"startOffset":131802,"endOffset":131915,"count":1},{"startOffset":131967,"endOffset":132049,"count":18},{"startOffset":132070,"endOffset":132206,"count":13},{"startOffset":132227,"endOffset":132300,"count":0},{"startOffset":132332,"endOffset":133065,"count":53},{"startOffset":132391,"endOffset":132448,"count":18},{"startOffset":132448,"endOffset":133065,"count":35},{"startOffset":132506,"endOffset":132594,"count":4},{"startOffset":132594,"endOffset":133065,"count":31},{"startOffset":132655,"endOffset":132757,"count":29},{"startOffset":132757,"endOffset":133065,"count":2},{"startOffset":132941,"endOffset":133065,"count":0},{"startOffset":133075,"endOffset":133097,"count":17},{"startOffset":133097,"endOffset":133255,"count":4},{"startOffset":133255,"endOffset":133342,"count":17}],"isBlockCoverage":true},{"functionName":"outlineConv","ranges":[{"startOffset":133348,"endOffset":134931,"count":200},{"startOffset":133468,"endOffset":133509,"count":83},{"startOffset":133509,"endOffset":133588,"count":117},{"startOffset":133588,"endOffset":134899,"count":290},{"startOffset":133659,"endOffset":133700,"count":276},{"startOffset":133700,"endOffset":133790,"count":14},{"startOffset":133790,"endOffset":133831,"count":0},{"startOffset":133831,"endOffset":133934,"count":14},{"startOffset":133935,"endOffset":133943,"count":0},{"startOffset":133944,"endOffset":133963,"count":14},{"startOffset":134001,"endOffset":134042,"count":0},{"startOffset":134042,"endOffset":134899,"count":14},{"startOffset":134899,"endOffset":134930,"count":103}],"isBlockCoverage":true},{"functionName":"outlineCast","ranges":[{"startOffset":134958,"endOffset":136268,"count":203},{"startOffset":135078,"endOffset":135119,"count":83},{"startOffset":135119,"endOffset":135196,"count":120},{"startOffset":135196,"endOffset":136236,"count":3},{"startOffset":135482,"endOffset":135490,"count":0},{"startOffset":136236,"endOffset":136267,"count":117}],"isBlockCoverage":true},{"functionName":"uniqueName","ranges":[{"startOffset":136273,"endOffset":137148,"count":311},{"startOffset":136428,"endOffset":136542,"count":0},{"startOffset":136653,"endOffset":136883,"count":2},{"startOffset":136905,"endOffset":137142,"count":352},{"startOffset":137088,"endOffset":137132,"count":311}],"isBlockCoverage":true},{"functionName":"existsRecursive","ranges":[{"startOffset":137241,"endOffset":137646,"count":498},{"startOffset":137324,"endOffset":137346,"count":464},{"startOffset":137374,"endOffset":137410,"count":36},{"startOffset":137410,"endOffset":137459,"count":462},{"startOffset":137459,"endOffset":137618,"count":151},{"startOffset":137502,"endOffset":137525,"count":146},{"startOffset":137526,"endOffset":137562,"count":146},{"startOffset":137564,"endOffset":137608,"count":6},{"startOffset":137618,"endOffset":137645,"count":456}],"isBlockCoverage":true},{"functionName":"replaceXsdBool","ranges":[{"startOffset":137651,"endOffset":139242,"count":74},{"startOffset":137867,"endOffset":137875,"count":0},{"startOffset":137905,"endOffset":137910,"count":0},{"startOffset":137912,"endOffset":139210,"count":157},{"startOffset":138016,"endOffset":138067,"count":27},{"startOffset":138069,"endOffset":139200,"count":27},{"startOffset":138250,"endOffset":138439,"count":10},{"startOffset":138331,"endOffset":138421,"count":8},{"startOffset":138510,"endOffset":138518,"count":19},{"startOffset":138519,"endOffset":138541,"count":8},{"startOffset":138584,"endOffset":138662,"count":8},{"startOffset":138629,"endOffset":138637,"count":0},{"startOffset":138664,"endOffset":138713,"count":19},{"startOffset":138713,"endOffset":139200,"count":8},{"startOffset":139210,"endOffset":139241,"count":66}],"isBlockCoverage":true},{"functionName":"findMethodCallExpression","ranges":[{"startOffset":139247,"endOffset":139624,"count":11},{"startOffset":139474,"endOffset":139482,"count":0},{"startOffset":139592,"endOffset":139623,"count":0}],"isBlockCoverage":true},{"functionName":"replaceMethodConditional","ranges":[{"startOffset":139629,"endOffset":141491,"count":48},{"startOffset":139746,"endOffset":139787,"count":5},{"startOffset":139787,"endOffset":139867,"count":43},{"startOffset":139867,"endOffset":141459,"count":21},{"startOffset":139985,"endOffset":140026,"count":19},{"startOffset":140026,"endOffset":140177,"count":2},{"startOffset":140179,"endOffset":140268,"count":0},{"startOffset":140268,"endOffset":140483,"count":2},{"startOffset":140484,"endOffset":140492,"count":0},{"startOffset":140493,"endOffset":140520,"count":2},{"startOffset":140522,"endOffset":140527,"count":0},{"startOffset":140529,"endOffset":140826,"count":3},{"startOffset":140621,"endOffset":140726,"count":1},{"startOffset":140728,"endOffset":140812,"count":1},{"startOffset":140826,"endOffset":141008,"count":2},{"startOffset":141008,"endOffset":141295,"count":1},{"startOffset":141295,"endOffset":141459,"count":2},{"startOffset":141459,"endOffset":141490,"count":41}],"isBlockCoverage":true},{"functionName":"getReference","ranges":[{"startOffset":141496,"endOffset":142835,"count":49},{"startOffset":141666,"endOffset":141768,"count":0},{"startOffset":141769,"endOffset":141777,"count":0},{"startOffset":141778,"endOffset":141827,"count":0},{"startOffset":141863,"endOffset":142017,"count":0},{"startOffset":142018,"endOffset":142026,"count":0},{"startOffset":142027,"endOffset":142046,"count":0},{"startOffset":142137,"endOffset":142153,"count":0},{"startOffset":142154,"endOffset":142162,"count":0},{"startOffset":142163,"endOffset":142182,"count":0},{"startOffset":142221,"endOffset":142248,"count":0},{"startOffset":142250,"endOffset":142834,"count":0}],"isBlockCoverage":true},{"functionName":"replaceContains","ranges":[{"startOffset":142840,"endOffset":144645,"count":49},{"startOffset":143169,"endOffset":143338,"count":22},{"startOffset":143290,"endOffset":143328,"count":3},{"startOffset":143368,"endOffset":143409,"count":46},{"startOffset":143409,"endOffset":143467,"count":3},{"startOffset":143468,"endOffset":143476,"count":0},{"startOffset":143477,"endOffset":143504,"count":3},{"startOffset":143506,"endOffset":143511,"count":0},{"startOffset":143513,"endOffset":144613,"count":4},{"startOffset":143602,"endOffset":143742,"count":2},{"startOffset":143742,"endOffset":144603,"count":1},{"startOffset":143922,"endOffset":143971,"count":0},{"startOffset":144120,"endOffset":144169,"count":0},{"startOffset":144613,"endOffset":144644,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":144056,"endOffset":144077,"count":2}],"isBlockCoverage":true},{"functionName":"replaceLineFunctions","ranges":[{"startOffset":144650,"endOffset":147987,"count":59},{"startOffset":144902,"endOffset":144910,"count":0},{"startOffset":144940,"endOffset":144945,"count":0},{"startOffset":144947,"endOffset":147955,"count":286},{"startOffset":145036,"endOffset":145077,"count":266},{"startOffset":145077,"endOffset":145178,"count":20},{"startOffset":145178,"endOffset":145202,"count":11},{"startOffset":145204,"endOffset":147945,"count":10},{"startOffset":145384,"endOffset":145433,"count":0},{"startOffset":145554,"endOffset":145562,"count":0},{"startOffset":145652,"endOffset":145660,"count":0},{"startOffset":145681,"endOffset":145686,"count":0},{"startOffset":145688,"endOffset":146253,"count":57},{"startOffset":145749,"endOffset":145786,"count":47},{"startOffset":145788,"endOffset":145845,"count":20},{"startOffset":145845,"endOffset":146178,"count":37},{"startOffset":145927,"endOffset":145946,"count":12},{"startOffset":145948,"endOffset":146020,"count":9},{"startOffset":146020,"endOffset":146178,"count":28},{"startOffset":146088,"endOffset":146107,"count":13},{"startOffset":146109,"endOffset":146178,"count":1},{"startOffset":146178,"endOffset":146253,"count":37},{"startOffset":146372,"endOffset":146380,"count":0},{"startOffset":146680,"endOffset":146692,"count":9},{"startOffset":146693,"endOffset":146705,"count":1},{"startOffset":147099,"endOffset":147359,"count":3},{"startOffset":147284,"endOffset":147341,"count":0},{"startOffset":147707,"endOffset":147715,"count":9},{"startOffset":147716,"endOffset":147720,"count":1},{"startOffset":147955,"endOffset":147986,"count":49}],"isBlockCoverage":true},{"functionName":"findStartOfIf","ranges":[{"startOffset":147992,"endOffset":148475,"count":3},{"startOffset":148143,"endOffset":148151,"count":0},{"startOffset":148207,"endOffset":148212,"count":0},{"startOffset":148214,"endOffset":148443,"count":4},{"startOffset":148343,"endOffset":148419,"count":3},{"startOffset":148433,"endOffset":148443,"count":1},{"startOffset":148443,"endOffset":148474,"count":0}],"isBlockCoverage":true},{"functionName":"newToCreateObject","ranges":[{"startOffset":148480,"endOffset":151533,"count":74},{"startOffset":148590,"endOffset":148631,"count":5},{"startOffset":148631,"endOffset":148793,"count":69},{"startOffset":148793,"endOffset":148802,"count":27},{"startOffset":148815,"endOffset":148873,"count":27},{"startOffset":148875,"endOffset":149704,"count":11},{"startOffset":149014,"endOffset":149022,"count":0},{"startOffset":149306,"endOffset":149374,"count":10},{"startOffset":149376,"endOffset":149694,"count":9},{"startOffset":149704,"endOffset":149735,"count":69},{"startOffset":149735,"endOffset":149784,"count":60},{"startOffset":149786,"endOffset":151285,"count":60},{"startOffset":149900,"endOffset":149949,"count":54},{"startOffset":149949,"endOffset":150176,"count":6},{"startOffset":150176,"endOffset":150225,"count":0},{"startOffset":150225,"endOffset":150627,"count":6},{"startOffset":150627,"endOffset":150698,"count":1},{"startOffset":150700,"endOffset":150916,"count":1},{"startOffset":150916,"endOffset":151275,"count":5},{"startOffset":151285,"endOffset":151472,"count":15},{"startOffset":151472,"endOffset":151527,"count":0}],"isBlockCoverage":true},{"functionName":"newParameters","ranges":[{"startOffset":151538,"endOffset":153971,"count":15},{"startOffset":151727,"endOffset":151735,"count":0},{"startOffset":151822,"endOffset":151830,"count":0},{"startOffset":151861,"endOffset":151865,"count":7},{"startOffset":151866,"endOffset":151953,"count":8},{"startOffset":151923,"endOffset":151931,"count":0},{"startOffset":152061,"endOffset":152164,"count":1},{"startOffset":152146,"endOffset":152153,"count":0},{"startOffset":152164,"endOffset":153889,"count":14},{"startOffset":152302,"endOffset":152310,"count":11},{"startOffset":152311,"endOffset":152330,"count":3},{"startOffset":152356,"endOffset":153879,"count":3},{"startOffset":152537,"endOffset":152545,"count":0},{"startOffset":152698,"endOffset":152706,"count":0},{"startOffset":152736,"endOffset":152741,"count":0},{"startOffset":152743,"endOffset":153106,"count":9},{"startOffset":152854,"endOffset":152927,"count":7},{"startOffset":152953,"endOffset":152966,"count":6},{"startOffset":152967,"endOffset":153020,"count":6},{"startOffset":153022,"endOffset":153088,"count":3},{"startOffset":153176,"endOffset":153252,"count":0},{"startOffset":153353,"endOffset":153361,"count":0},{"startOffset":153529,"endOffset":153865,"count":0}],"isBlockCoverage":true},{"functionName":"findConstructor","ranges":[{"startOffset":153976,"endOffset":154523,"count":3},{"startOffset":154064,"endOffset":154517,"count":4},{"startOffset":154124,"endOffset":154132,"count":0},{"startOffset":154212,"endOffset":154258,"count":3},{"startOffset":154258,"endOffset":154440,"count":1},{"startOffset":154384,"endOffset":154392,"count":0},{"startOffset":154440,"endOffset":154507,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1847","url":"node:crypto","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8879,"count":1}],"isBlockCoverage":false},{"functionName":"lazyWebCrypto","ranges":[{"startOffset":3092,"endOffset":3194,"count":4}],"isBlockCoverage":true},{"functionName":"createHash","ranges":[{"startOffset":3336,"endOffset":3418,"count":2}],"isBlockCoverage":true},{"functionName":"createCipher","ranges":[{"startOffset":3420,"endOffset":3520,"count":0}],"isBlockCoverage":false},{"functionName":"createCipheriv","ranges":[{"startOffset":3522,"endOffset":3624,"count":0}],"isBlockCoverage":false},{"functionName":"createDecipher","ranges":[{"startOffset":3626,"endOffset":3730,"count":0}],"isBlockCoverage":false},{"functionName":"createDecipheriv","ranges":[{"startOffset":3732,"endOffset":3838,"count":0}],"isBlockCoverage":false},{"functionName":"createDiffieHellman","ranges":[{"startOffset":3840,"endOffset":3996,"count":0}],"isBlockCoverage":false},{"functionName":"createDiffieHellmanGroup","ranges":[{"startOffset":3998,"endOffset":4080,"count":0}],"isBlockCoverage":false},{"functionName":"createECDH","ranges":[{"startOffset":4082,"endOffset":4138,"count":0}],"isBlockCoverage":false},{"functionName":"createHmac","ranges":[{"startOffset":4140,"endOffset":4222,"count":0}],"isBlockCoverage":false},{"functionName":"createSign","ranges":[{"startOffset":4224,"endOffset":4306,"count":0}],"isBlockCoverage":false},{"functionName":"createVerify","ranges":[{"startOffset":4308,"endOffset":4394,"count":0}],"isBlockCoverage":false},{"functionName":"getFips","ranges":[{"startOffset":5437,"endOffset":5522,"count":0}],"isBlockCoverage":false},{"functionName":"setFips","ranges":[{"startOffset":5524,"endOffset":5689,"count":0}],"isBlockCoverage":false},{"functionName":"getRandomValues","ranges":[{"startOffset":5691,"endOffset":5782,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5860,"endOffset":6114,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":6118,"endOffset":6307,"count":0}],"isBlockCoverage":false},{"functionName":"getRandomBytesAlias","ranges":[{"startOffset":6356,"endOffset":7189,"count":3}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":6454,"endOffset":6944,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":6950,"endOffset":7181,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":8252,"endOffset":8292,"count":2}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8404,"endOffset":8451,"count":2}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8577,"endOffset":8598,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1848","url":"node:internal/crypto/random","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":16342,"count":1}],"isBlockCoverage":false},{"functionName":"assertOffset","ranges":[{"startOffset":1282,"endOffset":1648,"count":0}],"isBlockCoverage":false},{"functionName":"assertSize","ranges":[{"startOffset":1650,"endOffset":2111,"count":0}],"isBlockCoverage":false},{"functionName":"randomBytes","ranges":[{"startOffset":2113,"endOffset":2656,"count":0}],"isBlockCoverage":false},{"functionName":"randomFillSync","ranges":[{"startOffset":2658,"endOffset":3326,"count":0}],"isBlockCoverage":false},{"functionName":"randomFill","ranges":[{"startOffset":3328,"endOffset":4374,"count":0}],"isBlockCoverage":false},{"functionName":"randomInt","ranges":[{"startOffset":4924,"endOffset":7164,"count":0}],"isBlockCoverage":false},{"functionName":"asyncRefillRandomIntCache","ranges":[{"startOffset":7166,"endOffset":8042,"count":0}],"isBlockCoverage":false},{"functionName":"onJobDone","ranges":[{"startOffset":8045,"endOffset":8207,"count":0}],"isBlockCoverage":false},{"functionName":"getRandomValues","ranges":[{"startOffset":8439,"endOffset":9129,"count":0}],"isBlockCoverage":false},{"functionName":"getHexBytes","ranges":[{"startOffset":9494,"endOffset":9793,"count":0}],"isBlockCoverage":false},{"functionName":"serializeUUID","ranges":[{"startOffset":9795,"endOffset":10521,"count":0}],"isBlockCoverage":false},{"functionName":"getBufferedUUID","ranges":[{"startOffset":10523,"endOffset":10826,"count":0}],"isBlockCoverage":false},{"functionName":"getUnbufferedUUID","ranges":[{"startOffset":10828,"endOffset":11066,"count":0}],"isBlockCoverage":false},{"functionName":"randomUUID","ranges":[{"startOffset":11068,"endOffset":11388,"count":0}],"isBlockCoverage":false},{"functionName":"createRandomPrimeJob","ranges":[{"startOffset":11390,"endOffset":12623,"count":0}],"isBlockCoverage":false},{"functionName":"generatePrime","ranges":[{"startOffset":12625,"endOffset":13081,"count":0}],"isBlockCoverage":false},{"functionName":"generatePrimeSync","ranges":[{"startOffset":13083,"endOffset":13341,"count":0}],"isBlockCoverage":false},{"functionName":"numberToHexCharCode","ranges":[{"startOffset":13615,"endOffset":13659,"count":0}],"isBlockCoverage":false},{"functionName":"arrayBufferToUnsignedBigInt","ranges":[{"startOffset":13734,"endOffset":14161,"count":0}],"isBlockCoverage":false},{"functionName":"unsignedBigIntToBuffer","ranges":[{"startOffset":14163,"endOffset":14460,"count":0}],"isBlockCoverage":false},{"functionName":"checkPrime","ranges":[{"startOffset":14462,"endOffset":15355,"count":0}],"isBlockCoverage":false},{"functionName":"checkPrimeSync","ranges":[{"startOffset":15357,"endOffset":16155,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1849","url":"node:internal/crypto/pbkdf2","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3295,"count":1}],"isBlockCoverage":false},{"functionName":"pbkdf2","ranges":[{"startOffset":494,"endOffset":1304,"count":0}],"isBlockCoverage":false},{"functionName":"pbkdf2Sync","ranges":[{"startOffset":1306,"endOffset":1820,"count":0}],"isBlockCoverage":false},{"functionName":"check","ranges":[{"startOffset":1822,"endOffset":2293,"count":0}],"isBlockCoverage":false},{"functionName":"pbkdf2DeriveBits","ranges":[{"startOffset":2336,"endOffset":3227,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1850","url":"node:internal/crypto/util","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":15174,"count":1}],"isBlockCoverage":false},{"functionName":"setDefaultEncoding","ranges":[{"startOffset":1590,"endOffset":1651,"count":0}],"isBlockCoverage":false},{"functionName":"getDefaultEncoding","ranges":[{"startOffset":1653,"endOffset":1712,"count":2}],"isBlockCoverage":true},{"functionName":"toBuf","ranges":[{"startOffset":1887,"endOffset":2066,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2100,"endOffset":2143,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2177,"endOffset":2219,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2253,"endOffset":2295,"count":0}],"isBlockCoverage":false},{"functionName":"setEngine","ranges":[{"startOffset":2299,"endOffset":2706,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2753,"endOffset":3217,"count":0}],"isBlockCoverage":false},{"functionName":"validateMaxBufferLength","ranges":[{"startOffset":6661,"endOffset":6874,"count":0}],"isBlockCoverage":false},{"functionName":"normalizeAlgorithm","ranges":[{"startOffset":7100,"endOffset":9535,"count":0}],"isBlockCoverage":false},{"functionName":"getDataViewOrTypedArrayBuffer","ranges":[{"startOffset":9537,"endOffset":9676,"count":0}],"isBlockCoverage":false},{"functionName":"getDataViewOrTypedArrayByteOffset","ranges":[{"startOffset":9678,"endOffset":9829,"count":0}],"isBlockCoverage":false},{"functionName":"getDataViewOrTypedArrayByteLength","ranges":[{"startOffset":9831,"endOffset":9982,"count":0}],"isBlockCoverage":false},{"functionName":"hasAnyNotIn","ranges":[{"startOffset":9984,"endOffset":10123,"count":0}],"isBlockCoverage":false},{"functionName":"validateBitLength","ranges":[{"startOffset":10125,"endOffset":10467,"count":0}],"isBlockCoverage":false},{"functionName":"validateByteLength","ranges":[{"startOffset":10469,"endOffset":10665,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10710,"endOffset":10979,"count":0}],"isBlockCoverage":false},{"functionName":"onDone","ranges":[{"startOffset":10983,"endOffset":11215,"count":0}],"isBlockCoverage":false},{"functionName":"jobPromise","ranges":[{"startOffset":11217,"endOffset":11487,"count":0}],"isBlockCoverage":false},{"functionName":"bigIntArrayToUnsignedInt","ranges":[{"startOffset":12023,"endOffset":12303,"count":0}],"isBlockCoverage":false},{"functionName":"bigIntArrayToUnsignedBigInt","ranges":[{"startOffset":12305,"endOffset":12541,"count":0}],"isBlockCoverage":false},{"functionName":"getStringOption","ranges":[{"startOffset":12543,"endOffset":12708,"count":0}],"isBlockCoverage":false},{"functionName":"getUsagesUnion","ranges":[{"startOffset":12710,"endOffset":12922,"count":0}],"isBlockCoverage":false},{"functionName":"getBlockSize","ranges":[{"startOffset":12924,"endOffset":13105,"count":0}],"isBlockCoverage":false},{"functionName":"validateKeyOps","ranges":[{"startOffset":13244,"endOffset":14210,"count":0}],"isBlockCoverage":false},{"functionName":"secureHeapUsed","ranges":[{"startOffset":14212,"endOffset":14595,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1851","url":"node:internal/crypto/hashnames","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2520,"count":1}],"isBlockCoverage":false},{"functionName":"normalizeHashName","ranges":[{"startOffset":1890,"endOffset":2133,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1852","url":"node:internal/crypto/scrypt","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3608,"count":1}],"isBlockCoverage":false},{"functionName":"scrypt","ranges":[{"startOffset":648,"endOffset":1460,"count":0}],"isBlockCoverage":false},{"functionName":"scryptSync","ranges":[{"startOffset":1462,"endOffset":1977,"count":0}],"isBlockCoverage":false},{"functionName":"check","ranges":[{"startOffset":1979,"endOffset":3560,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1853","url":"node:internal/crypto/hkdf","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3304,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":816,"endOffset":1270,"count":0}],"isBlockCoverage":false},{"functionName":"prepareKey","ranges":[{"startOffset":1274,"endOffset":1702,"count":0}],"isBlockCoverage":false},{"functionName":"hkdf","ranges":[{"startOffset":1704,"endOffset":2170,"count":0}],"isBlockCoverage":false},{"functionName":"hkdfSync","ranges":[{"startOffset":2172,"endOffset":2510,"count":0}],"isBlockCoverage":false},{"functionName":"hkdfDeriveBits","ranges":[{"startOffset":2549,"endOffset":3242,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1854","url":"node:internal/crypto/keys","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":21401,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2331,"endOffset":6452,"count":1}],"isBlockCoverage":true},{"functionName":"KeyObject","ranges":[{"startOffset":2441,"endOffset":2983,"count":0}],"isBlockCoverage":false},{"functionName":"get type","ranges":[{"startOffset":2989,"endOffset":3036,"count":0}],"isBlockCoverage":false},{"functionName":"from","ranges":[{"startOffset":3049,"endOffset":3190,"count":0}],"isBlockCoverage":false},{"functionName":"equals","ranges":[{"startOffset":3196,"endOffset":3480,"count":0}],"isBlockCoverage":false},{"functionName":"SecretKeyObject","ranges":[{"startOffset":3698,"endOffset":3756,"count":0}],"isBlockCoverage":false},{"functionName":"get symmetricKeySize","ranges":[{"startOffset":3762,"endOffset":3842,"count":0}],"isBlockCoverage":false},{"functionName":"export","ranges":[{"startOffset":3848,"endOffset":4196,"count":0}],"isBlockCoverage":false},{"functionName":"normalizeKeyDetails","ranges":[{"startOffset":4329,"endOffset":4598,"count":0}],"isBlockCoverage":false},{"functionName":"AsymmetricKeyObject","ranges":[{"startOffset":4707,"endOffset":4767,"count":0}],"isBlockCoverage":false},{"functionName":"get asymmetricKeyType","ranges":[{"startOffset":4773,"endOffset":4925,"count":0}],"isBlockCoverage":false},{"functionName":"get asymmetricKeyDetails","ranges":[{"startOffset":4931,"endOffset":5308,"count":0}],"isBlockCoverage":false},{"functionName":"PublicKeyObject","ranges":[{"startOffset":5372,"endOffset":5430,"count":0}],"isBlockCoverage":false},{"functionName":"export","ranges":[{"startOffset":5436,"endOffset":5727,"count":0}],"isBlockCoverage":false},{"functionName":"PrivateKeyObject","ranges":[{"startOffset":5792,"endOffset":5851,"count":0}],"isBlockCoverage":false},{"functionName":"export","ranges":[{"startOffset":5857,"endOffset":6371,"count":0}],"isBlockCoverage":false},{"functionName":"parseKeyFormat","ranges":[{"startOffset":6456,"endOffset":6841,"count":0}],"isBlockCoverage":false},{"functionName":"parseKeyType","ranges":[{"startOffset":6843,"endOffset":7695,"count":0}],"isBlockCoverage":false},{"functionName":"option","ranges":[{"startOffset":7697,"endOffset":7818,"count":0}],"isBlockCoverage":false},{"functionName":"parseKeyFormatAndType","ranges":[{"startOffset":7820,"endOffset":8520,"count":0}],"isBlockCoverage":false},{"functionName":"isStringOrBuffer","ranges":[{"startOffset":8522,"endOffset":8659,"count":0}],"isBlockCoverage":false},{"functionName":"parseKeyEncoding","ranges":[{"startOffset":8661,"endOffset":10019,"count":0}],"isBlockCoverage":false},{"functionName":"parsePublicKeyEncoding","ranges":[{"startOffset":10218,"endOffset":10354,"count":0}],"isBlockCoverage":false},{"functionName":"parsePrivateKeyEncoding","ranges":[{"startOffset":10554,"endOffset":10670,"count":0}],"isBlockCoverage":false},{"functionName":"getKeyObjectHandle","ranges":[{"startOffset":10672,"endOffset":11250,"count":0}],"isBlockCoverage":false},{"functionName":"getKeyTypes","ranges":[{"startOffset":11252,"endOffset":11757,"count":0}],"isBlockCoverage":false},{"functionName":"getKeyObjectHandleFromJwk","ranges":[{"startOffset":11759,"endOffset":14308,"count":0}],"isBlockCoverage":false},{"functionName":"prepareAsymmetricKey","ranges":[{"startOffset":14310,"endOffset":15853,"count":0}],"isBlockCoverage":false},{"functionName":"preparePrivateKey","ranges":[{"startOffset":15855,"endOffset":15943,"count":0}],"isBlockCoverage":false},{"functionName":"preparePublicOrPrivateKey","ranges":[{"startOffset":15945,"endOffset":16040,"count":0}],"isBlockCoverage":false},{"functionName":"prepareSecretKey","ranges":[{"startOffset":16042,"endOffset":16740,"count":0}],"isBlockCoverage":false},{"functionName":"createSecretKey","ranges":[{"startOffset":16742,"endOffset":16946,"count":0}],"isBlockCoverage":false},{"functionName":"createPublicKey","ranges":[{"startOffset":16948,"endOffset":17285,"count":0}],"isBlockCoverage":false},{"functionName":"createPrivateKey","ranges":[{"startOffset":17287,"endOffset":17628,"count":0}],"isBlockCoverage":false},{"functionName":"isKeyObject","ranges":[{"startOffset":17630,"endOffset":17712,"count":0}],"isBlockCoverage":false},{"functionName":"CryptoKey","ranges":[{"startOffset":18135,"endOffset":18195,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":18199,"endOffset":18548,"count":0}],"isBlockCoverage":false},{"functionName":"get type","ranges":[{"startOffset":18552,"endOffset":18687,"count":0}],"isBlockCoverage":false},{"functionName":"get extractable","ranges":[{"startOffset":18691,"endOffset":18830,"count":0}],"isBlockCoverage":false},{"functionName":"get algorithm","ranges":[{"startOffset":18834,"endOffset":18969,"count":0}],"isBlockCoverage":false},{"functionName":"get usages","ranges":[{"startOffset":18973,"endOffset":19116,"count":0}],"isBlockCoverage":false},{"functionName":"InternalCryptoKey","ranges":[{"startOffset":19694,"endOffset":20173,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20177,"endOffset":20529,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20533,"endOffset":20737,"count":0}],"isBlockCoverage":false},{"functionName":"isCryptoKey","ranges":[{"startOffset":20866,"endOffset":20950,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1855","url":"node:internal/crypto/keygen","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10888,"count":1}],"isBlockCoverage":false},{"functionName":"isJwk","ranges":[{"startOffset":1240,"endOffset":1310,"count":0}],"isBlockCoverage":false},{"functionName":"wrapKey","ranges":[{"startOffset":1312,"endOffset":1466,"count":0}],"isBlockCoverage":false},{"functionName":"generateKeyPair","ranges":[{"startOffset":1468,"endOffset":2104,"count":0}],"isBlockCoverage":false},{"functionName":"generateKeyPairSync","ranges":[{"startOffset":2250,"endOffset":2367,"count":0}],"isBlockCoverage":false},{"functionName":"handleError","ranges":[{"startOffset":2369,"endOffset":2747,"count":0}],"isBlockCoverage":false},{"functionName":"parseKeyEncoding","ranges":[{"startOffset":2749,"endOffset":3999,"count":0}],"isBlockCoverage":false},{"functionName":"createJob","ranges":[{"startOffset":4001,"endOffset":9408,"count":0}],"isBlockCoverage":false},{"functionName":"generateKeyJob","ranges":[{"startOffset":9439,"endOffset":9976,"count":0}],"isBlockCoverage":false},{"functionName":"handleGenerateKeyError","ranges":[{"startOffset":9978,"endOffset":10180,"count":0}],"isBlockCoverage":false},{"functionName":"generateKey","ranges":[{"startOffset":10182,"endOffset":10652,"count":0}],"isBlockCoverage":false},{"functionName":"generateKeySync","ranges":[{"startOffset":10654,"endOffset":10788,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1856","url":"node:internal/crypto/diffiehellman","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10617,"count":1}],"isBlockCoverage":false},{"functionName":"DiffieHellman","ranges":[{"startOffset":1254,"endOffset":3182,"count":0}],"isBlockCoverage":false},{"functionName":"DiffieHellmanGroup","ranges":[{"startOffset":3185,"endOffset":3511,"count":0}],"isBlockCoverage":false},{"functionName":"dhGenerateKeys","ranges":[{"startOffset":3622,"endOffset":3784,"count":0}],"isBlockCoverage":false},{"functionName":"dhComputeSecret","ranges":[{"startOffset":3898,"endOffset":4257,"count":0}],"isBlockCoverage":false},{"functionName":"dhGetPrime","ranges":[{"startOffset":4356,"endOffset":4512,"count":0}],"isBlockCoverage":false},{"functionName":"dhGetGenerator","ranges":[{"startOffset":4623,"endOffset":4795,"count":0}],"isBlockCoverage":false},{"functionName":"dhGetPublicKey","ranges":[{"startOffset":4906,"endOffset":5066,"count":0}],"isBlockCoverage":false},{"functionName":"dhGetPrivateKey","ranges":[{"startOffset":5180,"endOffset":5342,"count":0}],"isBlockCoverage":false},{"functionName":"setPublicKey","ranges":[{"startOffset":5384,"endOffset":5573,"count":0}],"isBlockCoverage":false},{"functionName":"setPrivateKey","ranges":[{"startOffset":5617,"endOffset":5808,"count":0}],"isBlockCoverage":false},{"functionName":"ECDH","ranges":[{"startOffset":5812,"endOffset":5966,"count":0}],"isBlockCoverage":false},{"functionName":"generateKeys","ranges":[{"startOffset":6277,"endOffset":6399,"count":0}],"isBlockCoverage":false},{"functionName":"getPublicKey","ranges":[{"startOffset":6432,"endOffset":6630,"count":0}],"isBlockCoverage":false},{"functionName":"convertKey","ranges":[{"startOffset":6651,"endOffset":7001,"count":0}],"isBlockCoverage":false},{"functionName":"encode","ranges":[{"startOffset":7004,"endOffset":7139,"count":0}],"isBlockCoverage":false},{"functionName":"getFormat","ranges":[{"startOffset":7141,"endOffset":7464,"count":0}],"isBlockCoverage":false},{"functionName":"diffieHellman","ranges":[{"startOffset":7538,"endOffset":8606,"count":0}],"isBlockCoverage":false},{"functionName":"ecdhDeriveBits","ranges":[{"startOffset":8725,"endOffset":10511,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1857","url":"node:internal/crypto/cipher","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10414,"count":1}],"isBlockCoverage":false},{"functionName":"rsaFunctionFor","ranges":[{"startOffset":1255,"endOffset":2003,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1323,"endOffset":2000,"count":0}],"isBlockCoverage":false},{"functionName":"getDecoder","ranges":[{"startOffset":2504,"endOffset":2870,"count":0}],"isBlockCoverage":false},{"functionName":"getUIntOption","ranges":[{"startOffset":2872,"endOffset":3106,"count":0}],"isBlockCoverage":false},{"functionName":"createCipherBase","ranges":[{"startOffset":3108,"endOffset":3527,"count":0}],"isBlockCoverage":false},{"functionName":"createCipher","ranges":[{"startOffset":3529,"endOffset":3764,"count":0}],"isBlockCoverage":false},{"functionName":"createCipherWithIV","ranges":[{"startOffset":3766,"endOffset":4105,"count":0}],"isBlockCoverage":false},{"functionName":"Cipher","ranges":[{"startOffset":4348,"endOffset":4549,"count":0}],"isBlockCoverage":false},{"functionName":"_transform","ranges":[{"startOffset":4692,"endOffset":4808,"count":0}],"isBlockCoverage":false},{"functionName":"_flush","ranges":[{"startOffset":4837,"endOffset":4975,"count":0}],"isBlockCoverage":false},{"functionName":"update","ranges":[{"startOffset":5004,"endOffset":5654,"count":0}],"isBlockCoverage":false},{"functionName":"final","ranges":[{"startOffset":5683,"endOffset":5986,"count":0}],"isBlockCoverage":false},{"functionName":"setAutoPadding","ranges":[{"startOffset":6024,"endOffset":6171,"count":0}],"isBlockCoverage":false},{"functionName":"getAuthTag","ranges":[{"startOffset":6204,"endOffset":6364,"count":0}],"isBlockCoverage":false},{"functionName":"setAuthTag","ranges":[{"startOffset":6368,"endOffset":6580,"count":0}],"isBlockCoverage":false},{"functionName":"setAAD","ranges":[{"startOffset":6608,"endOffset":6950,"count":0}],"isBlockCoverage":false},{"functionName":"Cipheriv","ranges":[{"startOffset":7198,"endOffset":7408,"count":0}],"isBlockCoverage":false},{"functionName":"addCipherPrototypeFunctions","ranges":[{"startOffset":7410,"endOffset":8001,"count":3},{"startOffset":7806,"endOffset":7879,"count":1},{"startOffset":7879,"endOffset":7941,"count":2}],"isBlockCoverage":true},{"functionName":"Decipher","ranges":[{"startOffset":8402,"endOffset":8610,"count":0}],"isBlockCoverage":false},{"functionName":"Decipheriv","ranges":[{"startOffset":9015,"endOffset":9232,"count":0}],"isBlockCoverage":false},{"functionName":"getCipherInfo","ranges":[{"startOffset":9394,"endOffset":10255,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1858","url":"node:internal/streams/lazy_transform","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1588,"count":1}],"isBlockCoverage":false},{"functionName":"LazyTransform","ranges":[{"startOffset":469,"endOffset":531,"count":2}],"isBlockCoverage":true},{"functionName":"makeGetter","ranges":[{"startOffset":663,"endOffset":971,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":700,"endOffset":968,"count":0}],"isBlockCoverage":false},{"functionName":"makeSetter","ranges":[{"startOffset":973,"endOffset":1192,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1010,"endOffset":1189,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1859","url":"node:internal/crypto/sig","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7113,"count":1}],"isBlockCoverage":false},{"functionName":"Sign","ranges":[{"startOffset":892,"endOffset":1151,"count":0}],"isBlockCoverage":false},{"functionName":"_write","ranges":[{"startOffset":1274,"endOffset":1366,"count":0}],"isBlockCoverage":false},{"functionName":"update","ranges":[{"startOffset":1393,"endOffset":1754,"count":0}],"isBlockCoverage":false},{"functionName":"getPadding","ranges":[{"startOffset":1757,"endOffset":1832,"count":0}],"isBlockCoverage":false},{"functionName":"getSaltLength","ranges":[{"startOffset":1834,"endOffset":1915,"count":0}],"isBlockCoverage":false},{"functionName":"getDSASignatureEncoding","ranges":[{"startOffset":1917,"endOffset":2269,"count":0}],"isBlockCoverage":false},{"functionName":"getIntOption","ranges":[{"startOffset":2271,"endOffset":2516,"count":0}],"isBlockCoverage":false},{"functionName":"sign","ranges":[{"startOffset":2540,"endOffset":3203,"count":0}],"isBlockCoverage":false},{"functionName":"signOneShot","ranges":[{"startOffset":3206,"endOffset":4424,"count":0}],"isBlockCoverage":false},{"functionName":"Verify","ranges":[{"startOffset":4426,"endOffset":4693,"count":0}],"isBlockCoverage":false},{"functionName":"verify","ranges":[{"startOffset":4921,"endOffset":5558,"count":0}],"isBlockCoverage":false},{"functionName":"verifyOneShot","ranges":[{"startOffset":5561,"endOffset":7039,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1860","url":"node:internal/crypto/hash","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4634,"count":1}],"isBlockCoverage":false},{"functionName":"Hash","ranges":[{"startOffset":976,"endOffset":1496,"count":2},{"startOffset":1047,"endOffset":1083,"count":0},{"startOffset":1210,"endOffset":1229,"count":0},{"startOffset":1230,"endOffset":1256,"count":0},{"startOffset":1302,"endOffset":1349,"count":0}],"isBlockCoverage":true},{"functionName":"copy","ranges":[{"startOffset":1627,"endOffset":1795,"count":0}],"isBlockCoverage":false},{"functionName":"_transform","ranges":[{"startOffset":1826,"endOffset":1931,"count":0}],"isBlockCoverage":false},{"functionName":"_flush","ranges":[{"startOffset":1958,"endOffset":2038,"count":0}],"isBlockCoverage":false},{"functionName":"update","ranges":[{"startOffset":2065,"endOffset":2577,"count":2},{"startOffset":2206,"endOffset":2244,"count":0},{"startOffset":2321,"endOffset":2467,"count":0},{"startOffset":2518,"endOffset":2560,"count":0}],"isBlockCoverage":true},{"functionName":"digest","ranges":[{"startOffset":2605,"endOffset":2950,"count":2},{"startOffset":2698,"endOffset":2736,"count":0},{"startOffset":2771,"endOffset":2794,"count":0}],"isBlockCoverage":true},{"functionName":"Hmac","ranges":[{"startOffset":2953,"endOffset":3353,"count":0}],"isBlockCoverage":false},{"functionName":"digest","ranges":[{"startOffset":3534,"endOffset":3953,"count":0}],"isBlockCoverage":false},{"functionName":"asyncDigest","ranges":[{"startOffset":4108,"endOffset":4579,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1861","url":"node:internal/crypto/x509","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9909,"count":1}],"isBlockCoverage":false},{"functionName":"isX509Certificate","ranges":[{"startOffset":1155,"endOffset":1238,"count":0}],"isBlockCoverage":false},{"functionName":"getFlags","ranges":[{"startOffset":1240,"endOffset":2485,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2487,"endOffset":2649,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2651,"endOffset":9663,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1862","url":"node:internal/crypto/certificate","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1546,"count":1}],"isBlockCoverage":false},{"functionName":"verifySpkac","ranges":[{"startOffset":385,"endOffset":505,"count":0}],"isBlockCoverage":false},{"functionName":"exportPublicKey","ranges":[{"startOffset":507,"endOffset":635,"count":0}],"isBlockCoverage":false},{"functionName":"exportChallenge","ranges":[{"startOffset":637,"endOffset":765,"count":0}],"isBlockCoverage":false},{"functionName":"Certificate","ranges":[{"startOffset":1122,"endOffset":1216,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1863","url":"node:internal/crypto/webcrypto","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":30683,"count":1}],"isBlockCoverage":false},{"functionName":"digest","ranges":[{"startOffset":1106,"endOffset":1715,"count":0}],"isBlockCoverage":false},{"functionName":"randomUUID","ranges":[{"startOffset":1717,"endOffset":1827,"count":0}],"isBlockCoverage":false},{"functionName":"generateKey","ranges":[{"startOffset":1829,"endOffset":4324,"count":0}],"isBlockCoverage":false},{"functionName":"deriveBits","ranges":[{"startOffset":4326,"endOffset":5886,"count":0}],"isBlockCoverage":false},{"functionName":"getKeyLength","ranges":[{"startOffset":5888,"endOffset":6508,"count":0}],"isBlockCoverage":false},{"functionName":"deriveKey","ranges":[{"startOffset":6510,"endOffset":8690,"count":0}],"isBlockCoverage":false},{"functionName":"exportKeySpki","ranges":[{"startOffset":8692,"endOffset":9670,"count":0}],"isBlockCoverage":false},{"functionName":"exportKeyPkcs8","ranges":[{"startOffset":9672,"endOffset":10659,"count":0}],"isBlockCoverage":false},{"functionName":"exportKeyRaw","ranges":[{"startOffset":10661,"endOffset":11594,"count":0}],"isBlockCoverage":false},{"functionName":"exportKeyJWK","ranges":[{"startOffset":11596,"endOffset":13151,"count":0}],"isBlockCoverage":false},{"functionName":"exportKey","ranges":[{"startOffset":13153,"endOffset":14013,"count":0}],"isBlockCoverage":false},{"functionName":"importGenericSecretKey","ranges":[{"startOffset":14015,"endOffset":15365,"count":0}],"isBlockCoverage":false},{"functionName":"importKey","ranges":[{"startOffset":15367,"endOffset":18109,"count":0}],"isBlockCoverage":false},{"functionName":"wrapKey","ranges":[{"startOffset":18202,"endOffset":19737,"count":0}],"isBlockCoverage":false},{"functionName":"unwrapKey","ranges":[{"startOffset":19832,"endOffset":21795,"count":0}],"isBlockCoverage":false},{"functionName":"signVerify","ranges":[{"startOffset":21797,"endOffset":22900,"count":0}],"isBlockCoverage":false},{"functionName":"sign","ranges":[{"startOffset":22902,"endOffset":23528,"count":0}],"isBlockCoverage":false},{"functionName":"verify","ranges":[{"startOffset":23530,"endOffset":24287,"count":0}],"isBlockCoverage":false},{"functionName":"cipherOrWrap","ranges":[{"startOffset":24289,"endOffset":25700,"count":0}],"isBlockCoverage":false},{"functionName":"encrypt","ranges":[{"startOffset":25702,"endOffset":26428,"count":0}],"isBlockCoverage":false},{"functionName":"decrypt","ranges":[{"startOffset":26430,"endOffset":27156,"count":0}],"isBlockCoverage":false},{"functionName":"SubtleCrypto","ranges":[{"startOffset":27312,"endOffset":27372,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27407,"endOffset":27420,"count":1}],"isBlockCoverage":true},{"functionName":"Crypto","ranges":[{"startOffset":27459,"endOffset":27519,"count":0}],"isBlockCoverage":true},{"functionName":"get subtle","ranges":[{"startOffset":27523,"endOffset":27623,"count":2},{"startOffset":27563,"endOffset":27600,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27658,"endOffset":27671,"count":1}],"isBlockCoverage":true},{"functionName":"getRandomValues","ranges":[{"startOffset":27687,"endOffset":28020,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1864","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/dynpro_checks.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1826,"count":1}],"isBlockCoverage":true},{"functionName":"DynproChecks","ranges":[{"startOffset":498,"endOffset":563,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":568,"endOffset":869,"count":31096}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":874,"endOffset":919,"count":244}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":924,"endOffset":969,"count":9907}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":974,"endOffset":1023,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1028,"endOffset":1745,"count":310},{"startOffset":1112,"endOffset":1146,"count":134},{"startOffset":1146,"endOffset":1218,"count":176},{"startOffset":1218,"endOffset":1252,"count":175},{"startOffset":1252,"endOffset":1719,"count":1},{"startOffset":1349,"endOffset":1709,"count":2},{"startOffset":1393,"endOffset":1414,"count":1},{"startOffset":1416,"endOffset":1695,"count":1},{"startOffset":1719,"endOffset":1744,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1865","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/easy_to_find_messages.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2915,"count":1}],"isBlockCoverage":true},{"functionName":"EasyToFindMessages","ranges":[{"startOffset":605,"endOffset":676,"count":10429}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":681,"endOffset":1213,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1218,"endOffset":1263,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1268,"endOffset":1317,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1322,"endOffset":1658,"count":250},{"startOffset":1488,"endOffset":1631,"count":324},{"startOffset":1548,"endOffset":1621,"count":255}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1663,"endOffset":2814,"count":316},{"startOffset":1745,"endOffset":2785,"count":10},{"startOffset":1992,"endOffset":2354,"count":3},{"startOffset":2354,"endOffset":2761,"count":7},{"startOffset":2399,"endOffset":2761,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1866","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/empty_line_in_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3446,"count":1}],"isBlockCoverage":true},{"functionName":"EmptyLineinStatementConf","ranges":[{"startOffset":636,"endOffset":785,"count":20846}],"isBlockCoverage":true},{"functionName":"EmptyLineinStatement","ranges":[{"startOffset":912,"endOffset":1014,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1019,"endOffset":1656,"count":31099}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1661,"endOffset":1730,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1735,"endOffset":1780,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1785,"endOffset":1834,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1839,"endOffset":3339,"count":266},{"startOffset":1958,"endOffset":1992,"count":12},{"startOffset":1992,"endOffset":2039,"count":254},{"startOffset":2039,"endOffset":2275,"count":1458},{"startOffset":2113,"endOffset":2157,"count":1452},{"startOffset":2159,"endOffset":2265,"count":7},{"startOffset":2275,"endOffset":2352,"count":247},{"startOffset":2352,"endOffset":3310,"count":5883},{"startOffset":2393,"endOffset":2425,"count":1345},{"startOffset":2427,"endOffset":2468,"count":21},{"startOffset":2468,"endOffset":2568,"count":5862},{"startOffset":2514,"endOffset":2568,"count":1324},{"startOffset":2568,"endOffset":2623,"count":5862},{"startOffset":2625,"endOffset":2934,"count":2},{"startOffset":2934,"endOffset":2985,"count":5862},{"startOffset":2985,"endOffset":3006,"count":1421},{"startOffset":3008,"endOffset":3061,"count":1324},{"startOffset":3061,"endOffset":3300,"count":4538},{"startOffset":3115,"endOffset":3151,"count":0},{"startOffset":3152,"endOffset":3173,"count":0},{"startOffset":3175,"endOffset":3228,"count":0},{"startOffset":3310,"endOffset":3338,"count":247}],"isBlockCoverage":true}]},{"scriptId":"1867","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/empty_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2057,"count":1}],"isBlockCoverage":true},{"functionName":"EmptyStatement","ranges":[{"startOffset":670,"endOffset":766,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":771,"endOffset":1173,"count":31107}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1178,"endOffset":1223,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1228,"endOffset":1277,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1282,"endOffset":1970,"count":269},{"startOffset":1471,"endOffset":1941,"count":1476},{"startOffset":1530,"endOffset":1876,"count":10}],"isBlockCoverage":true}]},{"scriptId":"1868","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/empty_structure.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6874,"count":1}],"isBlockCoverage":true},{"functionName":"EmptyStructureConf","ranges":[{"startOffset":537,"endOffset":1363,"count":20845}],"isBlockCoverage":true},{"functionName":"EmptyStructure","ranges":[{"startOffset":1472,"endOffset":1568,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1573,"endOffset":2173,"count":31118}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":2178,"endOffset":2255,"count":22}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2260,"endOffset":2305,"count":12210}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2310,"endOffset":2359,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2364,"endOffset":6787,"count":274},{"startOffset":2483,"endOffset":2517,"count":12},{"startOffset":2517,"endOffset":2611,"count":262},{"startOffset":2611,"endOffset":2756,"count":1500},{"startOffset":2678,"endOffset":2746,"count":6},{"startOffset":2756,"endOffset":3681,"count":256},{"startOffset":3681,"endOffset":3996,"count":16},{"startOffset":3729,"endOffset":3986,"count":5},{"startOffset":3996,"endOffset":4564,"count":256},{"startOffset":4152,"endOffset":4554,"count":5},{"startOffset":4267,"endOffset":4540,"count":3},{"startOffset":4564,"endOffset":5490,"count":256},{"startOffset":4725,"endOffset":5480,"count":10},{"startOffset":4780,"endOffset":5466,"count":2},{"startOffset":5064,"endOffset":5129,"count":1},{"startOffset":5131,"endOffset":5466,"count":1},{"startOffset":5490,"endOffset":6206,"count":256},{"startOffset":5794,"endOffset":6196,"count":26},{"startOffset":5909,"endOffset":6182,"count":7},{"startOffset":6206,"endOffset":6758,"count":256},{"startOffset":6364,"endOffset":6748,"count":14},{"startOffset":6416,"endOffset":6734,"count":6},{"startOffset":6758,"endOffset":6786,"count":256}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4910,"endOffset":4939,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1869","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/exit_or_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3714,"count":1}],"isBlockCoverage":true},{"functionName":"ExitOrCheckConf","ranges":[{"startOffset":501,"endOffset":616,"count":20848}],"isBlockCoverage":true},{"functionName":"ExitOrCheck","ranges":[{"startOffset":716,"endOffset":809,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":814,"endOffset":1500,"count":31104}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1505,"endOffset":1550,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1555,"endOffset":1604,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1609,"endOffset":3635,"count":267},{"startOffset":1734,"endOffset":3606,"count":1483},{"startOffset":1840,"endOffset":1874,"count":1474},{"startOffset":1891,"endOffset":1932,"count":1473},{"startOffset":1949,"endOffset":1988,"count":1472},{"startOffset":2005,"endOffset":2036,"count":1469},{"startOffset":2038,"endOffset":2092,"count":18},{"startOffset":2092,"endOffset":3596,"count":1465},{"startOffset":2164,"endOffset":2201,"count":1455},{"startOffset":2218,"endOffset":2256,"count":1453},{"startOffset":2273,"endOffset":2307,"count":1450},{"startOffset":2309,"endOffset":2353,"count":18},{"startOffset":2353,"endOffset":3596,"count":1447},{"startOffset":2406,"endOffset":2440,"count":1443},{"startOffset":2441,"endOffset":2462,"count":4},{"startOffset":2464,"endOffset":3122,"count":3},{"startOffset":3122,"endOffset":3596,"count":1444},{"startOffset":3174,"endOffset":3207,"count":1440},{"startOffset":3208,"endOffset":3229,"count":7},{"startOffset":3231,"endOffset":3596,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1870","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/expand_macros.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3198,"count":1}],"isBlockCoverage":true},{"functionName":"ExpandMacros","ranges":[{"startOffset":674,"endOffset":768,"count":10430}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":773,"endOffset":1401,"count":31106}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1406,"endOffset":1451,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1456,"endOffset":1505,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1510,"endOffset":3117,"count":272},{"startOffset":1701,"endOffset":3088,"count":1536},{"startOffset":1867,"endOffset":1908,"count":1526},{"startOffset":1908,"endOffset":1999,"count":10},{"startOffset":1999,"endOffset":2533,"count":15},{"startOffset":2142,"endOffset":2451,"count":12},{"startOffset":2213,"endOffset":2270,"count":1},{"startOffset":2270,"endOffset":2311,"count":11},{"startOffset":2311,"endOffset":2375,"count":2},{"startOffset":2375,"endOffset":2451,"count":11},{"startOffset":2451,"endOffset":2519,"count":3},{"startOffset":2533,"endOffset":2576,"count":10},{"startOffset":2576,"endOffset":2624,"count":3},{"startOffset":2624,"endOffset":3088,"count":10}],"isBlockCoverage":true}]},{"scriptId":"1871","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/exporting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3376,"count":1}],"isBlockCoverage":true},{"functionName":"Exporting","ranges":[{"startOffset":588,"endOffset":679,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":684,"endOffset":1300,"count":31104}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1305,"endOffset":1380,"count":7}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1385,"endOffset":2209,"count":274},{"startOffset":1471,"endOffset":1505,"count":20},{"startOffset":1505,"endOffset":1560,"count":254},{"startOffset":1560,"endOffset":2180,"count":1395},{"startOffset":1728,"endOffset":2170,"count":26},{"startOffset":1799,"endOffset":2001,"count":2},{"startOffset":1918,"endOffset":2001,"count":0},{"startOffset":2001,"endOffset":2156,"count":24},{"startOffset":2180,"endOffset":2208,"count":254}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2214,"endOffset":2259,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2264,"endOffset":2313,"count":243}],"isBlockCoverage":true},{"functionName":"check","ranges":[{"startOffset":2318,"endOffset":3305,"count":24},{"startOffset":2443,"endOffset":2477,"count":15},{"startOffset":2477,"endOffset":2548,"count":9},{"startOffset":2548,"endOffset":2582,"count":1},{"startOffset":2582,"endOffset":2787,"count":8},{"startOffset":2800,"endOffset":2842,"count":7},{"startOffset":2855,"endOffset":2898,"count":7},{"startOffset":2911,"endOffset":2952,"count":7},{"startOffset":2954,"endOffset":3280,"count":7},{"startOffset":3280,"endOffset":3304,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2662,"endOffset":2691,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1872","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/forbidden_identifier.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2811,"count":1}],"isBlockCoverage":true},{"functionName":"ForbiddenIdentifierConf","ranges":[{"startOffset":455,"endOffset":635,"count":20847}],"isBlockCoverage":true},{"functionName":"ForbiddenIdentifier","ranges":[{"startOffset":759,"endOffset":860,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":865,"endOffset":1367,"count":31100}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1372,"endOffset":1417,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1422,"endOffset":1560,"count":244},{"startOffset":1509,"endOffset":1554,"count":0}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1565,"endOffset":1819,"count":260},{"startOffset":1625,"endOffset":1659,"count":256},{"startOffset":1659,"endOffset":1818,"count":4}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":1824,"endOffset":2266,"count":20},{"startOffset":1913,"endOffset":2240,"count":34},{"startOffset":1968,"endOffset":2044,"count":7},{"startOffset":2044,"endOffset":2230,"count":27},{"startOffset":2098,"endOffset":2139,"count":11},{"startOffset":2139,"endOffset":2230,"count":16}],"isBlockCoverage":true},{"functionName":"check","ranges":[{"startOffset":2271,"endOffset":2709,"count":7},{"startOffset":2393,"endOffset":2683,"count":14},{"startOffset":2470,"endOffset":2673,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1873","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/forbidden_pseudo_and_pragma.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5785,"count":1}],"isBlockCoverage":true},{"functionName":"ForbiddenPseudoAndPragmaConf","ranges":[{"startOffset":681,"endOffset":952,"count":20847}],"isBlockCoverage":true},{"functionName":"ForbiddenPseudoAndPragma","ranges":[{"startOffset":1091,"endOffset":1197,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1202,"endOffset":1606,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1611,"endOffset":1966,"count":9906},{"startOffset":1679,"endOffset":1750,"count":0},{"startOffset":1795,"endOffset":1841,"count":0},{"startOffset":1887,"endOffset":1934,"count":0}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1971,"endOffset":2020,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2172,"endOffset":5666,"count":261},{"startOffset":2286,"endOffset":3912,"count":5},{"startOffset":2338,"endOffset":3902,"count":6},{"startOffset":2408,"endOffset":2849,"count":0},{"startOffset":2912,"endOffset":3351,"count":0},{"startOffset":3387,"endOffset":3436,"count":0},{"startOffset":3603,"endOffset":3888,"count":1},{"startOffset":4029,"endOffset":5627,"count":1461},{"startOffset":4099,"endOffset":4540,"count":0},{"startOffset":4603,"endOffset":5042,"count":0},{"startOffset":5078,"endOffset":5127,"count":0},{"startOffset":5192,"endOffset":5241,"count":1439},{"startOffset":5241,"endOffset":5320,"count":22},{"startOffset":5320,"endOffset":5613,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3522,"endOffset":3573,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1874","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/forbidden_void_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4092,"count":1}],"isBlockCoverage":true},{"functionName":"ForbiddenVoidTypeConf","ranges":[{"startOffset":669,"endOffset":867,"count":20847}],"isBlockCoverage":true},{"functionName":"ForbiddenVoidType","ranges":[{"startOffset":955,"endOffset":1025,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1030,"endOffset":1452,"count":31106}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1457,"endOffset":1502,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1507,"endOffset":1645,"count":244},{"startOffset":1594,"endOffset":1639,"count":0}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1650,"endOffset":1718,"count":256}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1723,"endOffset":1959,"count":322},{"startOffset":1790,"endOffset":1821,"count":260},{"startOffset":1823,"endOffset":1857,"count":311},{"startOffset":1857,"endOffset":1958,"count":11}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":1984,"endOffset":3297,"count":35},{"startOffset":2172,"endOffset":3167,"count":24},{"startOffset":2229,"endOffset":3157,"count":12},{"startOffset":2346,"endOffset":2426,"count":4},{"startOffset":2391,"endOffset":2399,"count":0},{"startOffset":2447,"endOffset":2533,"count":4},{"startOffset":2512,"endOffset":2520,"count":0},{"startOffset":2535,"endOffset":2743,"count":4},{"startOffset":2657,"endOffset":2665,"count":0},{"startOffset":2841,"endOffset":2909,"count":8},{"startOffset":2931,"endOffset":2976,"count":5},{"startOffset":2978,"endOffset":3143,"count":5},{"startOffset":3212,"endOffset":3271,"count":24}],"isBlockCoverage":true},{"functionName":"isForbiddenType","ranges":[{"startOffset":3302,"endOffset":3653,"count":0}],"isBlockCoverage":false},{"functionName":"isForbiddenName","ranges":[{"startOffset":3658,"endOffset":3995,"count":9},{"startOffset":3714,"endOffset":3751,"count":0},{"startOffset":3793,"endOffset":3967,"count":23},{"startOffset":3913,"endOffset":3957,"count":9},{"startOffset":3967,"endOffset":3994,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1875","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/form_tables_obsolete.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1910,"count":1}],"isBlockCoverage":true},{"functionName":"FormTablesObsolete","ranges":[{"startOffset":632,"endOffset":732,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":737,"endOffset":1116,"count":31098}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1121,"endOffset":1195,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1200,"endOffset":1245,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1250,"endOffset":1299,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1304,"endOffset":1810,"count":258},{"startOffset":1436,"endOffset":1457,"count":205},{"startOffset":1459,"endOffset":1494,"count":63},{"startOffset":1494,"endOffset":1571,"count":195},{"startOffset":1571,"endOffset":1784,"count":2},{"startOffset":1784,"endOffset":1809,"count":195}],"isBlockCoverage":true}]},{"scriptId":"1876","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/fully_type_constants.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2872,"count":1}],"isBlockCoverage":true},{"functionName":"FullyTypeConsantsConf","ranges":[{"startOffset":538,"endOffset":695,"count":20847}],"isBlockCoverage":true},{"functionName":"FullyTypeConstants","ranges":[{"startOffset":814,"endOffset":913,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":918,"endOffset":1317,"count":31113}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1322,"endOffset":1407,"count":17}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1412,"endOffset":1457,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1462,"endOffset":1511,"count":259}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1516,"endOffset":2630,"count":270},{"startOffset":1630,"endOffset":2601,"count":1485},{"startOffset":1707,"endOffset":1781,"count":1452},{"startOffset":1740,"endOffset":1780,"count":1441},{"startOffset":1799,"endOffset":1823,"count":163},{"startOffset":1825,"endOffset":2591,"count":17},{"startOffset":1898,"endOffset":1921,"count":6},{"startOffset":1922,"endOffset":1941,"count":11},{"startOffset":2073,"endOffset":2093,"count":0},{"startOffset":2254,"endOffset":2262,"count":0},{"startOffset":2344,"endOffset":2441,"count":0}],"isBlockCoverage":true},{"functionName":"isTyped","ranges":[{"startOffset":2635,"endOffset":2772,"count":163},{"startOffset":2712,"endOffset":2764,"count":29}],"isBlockCoverage":true}]},{"scriptId":"1877","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/fully_type_itabs.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2397,"count":1}],"isBlockCoverage":true},{"functionName":"FullyTypeITabs","ranges":[{"startOffset":630,"endOffset":726,"count":10429}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":731,"endOffset":1163,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1168,"endOffset":1213,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1218,"endOffset":1267,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1272,"endOffset":2309,"count":261},{"startOffset":1371,"endOffset":2280,"count":1461},{"startOffset":1436,"endOffset":1477,"count":1331},{"startOffset":1477,"endOffset":1589,"count":130},{"startOffset":1589,"endOffset":1630,"count":114},{"startOffset":1630,"endOffset":1741,"count":16},{"startOffset":1741,"endOffset":1955,"count":2},{"startOffset":1955,"endOffset":2270,"count":14},{"startOffset":2013,"endOffset":2055,"count":4},{"startOffset":2057,"endOffset":2270,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1878","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/function_module_recommendations.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5339,"count":1}],"isBlockCoverage":true},{"functionName":"FunctionModuleRecommendationsConf","ranges":[{"startOffset":500,"endOffset":3207,"count":20848}],"isBlockCoverage":true},{"functionName":"FunctionModuleRecommendations","ranges":[{"startOffset":3361,"endOffset":3472,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":3477,"endOffset":3844,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":3849,"endOffset":3894,"count":9909}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":3899,"endOffset":3948,"count":246}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":3953,"endOffset":5034,"count":261},{"startOffset":4054,"endOffset":4092,"count":0},{"startOffset":4241,"endOffset":4249,"count":12},{"startOffset":4250,"endOffset":4301,"count":249},{"startOffset":4303,"endOffset":4308,"count":12},{"startOffset":4310,"endOffset":5005,"count":6},{"startOffset":4506,"endOffset":4547,"count":2},{"startOffset":4547,"endOffset":4851,"count":4},{"startOffset":4851,"endOffset":4995,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4729,"endOffset":4820,"count":51},{"startOffset":4768,"endOffset":4820,"count":3},{"startOffset":4793,"endOffset":4819,"count":2}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":5039,"endOffset":5206,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1879","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/functional_writing.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5339,"count":1}],"isBlockCoverage":true},{"functionName":"FunctionalWritingConf","ranges":[{"startOffset":660,"endOffset":826,"count":20846}],"isBlockCoverage":true},{"functionName":"FunctionalWriting","ranges":[{"startOffset":944,"endOffset":1043,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1048,"endOffset":2065,"count":31104}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":2070,"endOffset":2154,"count":7}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2159,"endOffset":2204,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2209,"endOffset":2258,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2263,"endOffset":3736,"count":268},{"startOffset":2402,"endOffset":2436,"count":20},{"startOffset":2436,"endOffset":2517,"count":248},{"startOffset":2517,"endOffset":2579,"count":53},{"startOffset":2579,"endOffset":2681,"count":248},{"startOffset":2681,"endOffset":3707,"count":1393},{"startOffset":2772,"endOffset":2785,"count":113},{"startOffset":2802,"endOffset":2838,"count":48},{"startOffset":2855,"endOffset":2884,"count":1},{"startOffset":2886,"endOffset":2935,"count":1},{"startOffset":2935,"endOffset":3697,"count":1392},{"startOffset":3004,"endOffset":3054,"count":228},{"startOffset":3054,"endOffset":3697,"count":1164},{"startOffset":3142,"endOffset":3697,"count":22},{"startOffset":3223,"endOffset":3231,"count":0},{"startOffset":3284,"endOffset":3333,"count":12},{"startOffset":3333,"endOffset":3454,"count":10},{"startOffset":3455,"endOffset":3463,"count":0},{"startOffset":3464,"endOffset":3510,"count":10},{"startOffset":3555,"endOffset":3604,"count":3},{"startOffset":3604,"endOffset":3697,"count":7},{"startOffset":3707,"endOffset":3735,"count":248}],"isBlockCoverage":true},{"functionName":"createIssueForStatementNode","ranges":[{"startOffset":3741,"endOffset":4091,"count":7}],"isBlockCoverage":true},{"functionName":"buildFixString","ranges":[{"startOffset":4096,"endOffset":5243,"count":7},{"startOffset":4338,"endOffset":4346,"count":0},{"startOffset":4520,"endOffset":5066,"count":6},{"startOffset":4652,"endOffset":4703,"count":3},{"startOffset":4705,"endOffset":5056,"count":3},{"startOffset":5066,"endOffset":5189,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1880","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/global_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3806,"count":1}],"isBlockCoverage":true},{"functionName":"GlobalClass","ranges":[{"startOffset":523,"endOffset":616,"count":10428}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":621,"endOffset":1099,"count":31104}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1104,"endOffset":1149,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1154,"endOffset":1203,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1208,"endOffset":3728,"count":260},{"startOffset":1330,"endOffset":2292,"count":116},{"startOffset":1367,"endOffset":1398,"count":70},{"startOffset":1399,"endOffset":1443,"count":5},{"startOffset":1445,"endOffset":1654,"count":2},{"startOffset":1691,"endOffset":1722,"count":46},{"startOffset":1723,"endOffset":1787,"count":46},{"startOffset":1789,"endOffset":2010,"count":2},{"startOffset":2047,"endOffset":2081,"count":46},{"startOffset":2083,"endOffset":2282,"count":0},{"startOffset":2363,"endOffset":2792,"count":114},{"startOffset":2439,"endOffset":2470,"count":48},{"startOffset":2487,"endOffset":2561,"count":48},{"startOffset":2563,"endOffset":2782,"count":2},{"startOffset":2863,"endOffset":3300,"count":55},{"startOffset":2939,"endOffset":2974,"count":23},{"startOffset":2991,"endOffset":3065,"count":23},{"startOffset":3067,"endOffset":3290,"count":1},{"startOffset":3371,"endOffset":3699,"count":55},{"startOffset":3402,"endOffset":3437,"count":34},{"startOffset":3438,"endOffset":3482,"count":2},{"startOffset":3484,"endOffset":3689,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1881","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/identical_conditions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5325,"count":1}],"isBlockCoverage":true},{"functionName":"Conditions","ranges":[{"startOffset":588,"endOffset":655,"count":48}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":660,"endOffset":716,"count":62}],"isBlockCoverage":true},{"functionName":"findFirstDuplicate","ranges":[{"startOffset":721,"endOffset":833,"count":47}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":773,"endOffset":825,"count":52}],"isBlockCoverage":true},{"functionName":"IdenticalConditions","ranges":[{"startOffset":1036,"endOffset":1137,"count":10432}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1142,"endOffset":1687,"count":31101}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1692,"endOffset":1737,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1742,"endOffset":1791,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1796,"endOffset":2419,"count":264},{"startOffset":1923,"endOffset":1957,"count":12},{"startOffset":1957,"endOffset":2026,"count":252},{"startOffset":2026,"endOffset":2098,"count":18},{"startOffset":2098,"endOffset":2169,"count":252},{"startOffset":2169,"endOffset":2243,"count":5},{"startOffset":2243,"endOffset":2316,"count":252},{"startOffset":2316,"endOffset":2390,"count":25},{"startOffset":2390,"endOffset":2418,"count":252}],"isBlockCoverage":true},{"functionName":"analyzeCond","ranges":[{"startOffset":2445,"endOffset":3268,"count":25},{"startOffset":2587,"endOffset":2925,"count":38},{"startOffset":2642,"endOffset":2693,"count":31},{"startOffset":2693,"endOffset":2915,"count":7},{"startOffset":2732,"endOffset":2806,"count":5},{"startOffset":2806,"endOffset":2915,"count":2},{"startOffset":2873,"endOffset":2915,"count":1},{"startOffset":2925,"endOffset":3008,"count":24},{"startOffset":3008,"endOffset":3243,"count":3},{"startOffset":3243,"endOffset":3267,"count":21}],"isBlockCoverage":true},{"functionName":"analyzeIf","ranges":[{"startOffset":3273,"endOffset":4311,"count":18},{"startOffset":3446,"endOffset":3523,"count":0},{"startOffset":3569,"endOffset":3577,"count":0},{"startOffset":3751,"endOffset":3983,"count":2},{"startOffset":3849,"endOffset":3857,"count":0},{"startOffset":4066,"endOffset":4286,"count":1},{"startOffset":4286,"endOffset":4310,"count":17}],"isBlockCoverage":true},{"functionName":"analyzeWhen","ranges":[{"startOffset":4316,"endOffset":5223,"count":5},{"startOffset":4477,"endOffset":4556,"count":0},{"startOffset":4625,"endOffset":4895,"count":10},{"startOffset":4722,"endOffset":4763,"count":1},{"startOffset":4763,"endOffset":4834,"count":9},{"startOffset":4834,"endOffset":4885,"count":11},{"startOffset":4885,"endOffset":4895,"count":9},{"startOffset":4978,"endOffset":5198,"count":2},{"startOffset":5198,"endOffset":5222,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1882","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/identical_contents.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4204,"count":1}],"isBlockCoverage":true},{"functionName":"IdenticalContents","ranges":[{"startOffset":701,"endOffset":800,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":805,"endOffset":1443,"count":31100}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1448,"endOffset":1493,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1498,"endOffset":1547,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1552,"endOffset":2092,"count":266},{"startOffset":1679,"endOffset":1713,"count":12},{"startOffset":1713,"endOffset":1768,"count":254},{"startOffset":1768,"endOffset":1913,"count":1512},{"startOffset":1835,"endOffset":1903,"count":7},{"startOffset":1913,"endOffset":1991,"count":247},{"startOffset":1991,"endOffset":2063,"count":27},{"startOffset":2063,"endOffset":2091,"count":247}],"isBlockCoverage":true},{"functionName":"analyzeIf","ranges":[{"startOffset":2118,"endOffset":3806,"count":27},{"startOffset":2203,"endOffset":2237,"count":18},{"startOffset":2237,"endOffset":2361,"count":9},{"startOffset":2361,"endOffset":2395,"count":1},{"startOffset":2395,"endOffset":2495,"count":8},{"startOffset":2496,"endOffset":2504,"count":0},{"startOffset":2505,"endOffset":2546,"count":8},{"startOffset":2583,"endOffset":2606,"count":8},{"startOffset":2608,"endOffset":2642,"count":0},{"startOffset":2642,"endOffset":2825,"count":8},{"startOffset":2826,"endOffset":2852,"count":8},{"startOffset":2854,"endOffset":2896,"count":1},{"startOffset":2896,"endOffset":3206,"count":7},{"startOffset":2971,"endOffset":3206,"count":3},{"startOffset":3216,"endOffset":3393,"count":4},{"startOffset":3394,"endOffset":3419,"count":4},{"startOffset":3421,"endOffset":3463,"count":0},{"startOffset":3463,"endOffset":3771,"count":4},{"startOffset":3536,"endOffset":3771,"count":1},{"startOffset":3781,"endOffset":3805,"count":3}],"isBlockCoverage":true},{"functionName":"isChained","ranges":[{"startOffset":3811,"endOffset":4108,"count":24},{"startOffset":3861,"endOffset":3898,"count":0},{"startOffset":3955,"endOffset":4102,"count":12}],"isBlockCoverage":true}]},{"scriptId":"1883","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/identical_descriptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3725,"count":1}],"isBlockCoverage":true},{"functionName":"IdenticalDescriptions","ranges":[{"startOffset":471,"endOffset":545,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":550,"endOffset":982,"count":31103}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":987,"endOffset":1032,"count":9914}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1037,"endOffset":1086,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1091,"endOffset":2060,"count":246},{"startOffset":1254,"endOffset":2033,"count":314},{"startOffset":1293,"endOffset":1334,"count":0},{"startOffset":1416,"endOffset":2023,"count":103},{"startOffset":1506,"endOffset":1514,"count":69},{"startOffset":1515,"endOffset":1533,"count":34},{"startOffset":1581,"endOffset":1602,"count":34},{"startOffset":1604,"endOffset":1653,"count":69},{"startOffset":1653,"endOffset":1713,"count":34},{"startOffset":1713,"endOffset":1782,"count":30},{"startOffset":1782,"endOffset":1855,"count":34},{"startOffset":1855,"endOffset":1937,"count":30},{"startOffset":1937,"endOffset":2023,"count":34}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2065,"endOffset":2919,"count":312},{"startOffset":2190,"endOffset":2770,"count":101},{"startOffset":2276,"endOffset":2284,"count":68},{"startOffset":2285,"endOffset":2303,"count":33},{"startOffset":2347,"endOffset":2368,"count":33},{"startOffset":2370,"endOffset":2416,"count":68},{"startOffset":2416,"endOffset":2546,"count":33},{"startOffset":2546,"endOffset":2760,"count":7},{"startOffset":2770,"endOffset":2821,"count":244},{"startOffset":2821,"endOffset":2890,"count":2},{"startOffset":2890,"endOffset":2918,"count":244}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2487,"endOffset":2509,"count":40}],"isBlockCoverage":true},{"functionName":"checkFunctionModules","ranges":[{"startOffset":2924,"endOffset":3617,"count":2},{"startOffset":3046,"endOffset":3592,"count":3},{"startOffset":3123,"endOffset":3131,"count":0},{"startOffset":3197,"endOffset":3238,"count":0},{"startOffset":3286,"endOffset":3546,"count":1},{"startOffset":3546,"endOffset":3592,"count":2},{"startOffset":3592,"endOffset":3616,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1884","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/identical_form_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1934,"count":1}],"isBlockCoverage":true},{"functionName":"IdenticalFormNames","ranges":[{"startOffset":588,"endOffset":659,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":664,"endOffset":907,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":912,"endOffset":957,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":962,"endOffset":1011,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1016,"endOffset":1061,"count":250}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1066,"endOffset":1834,"count":316},{"startOffset":1134,"endOffset":1168,"count":62},{"startOffset":1168,"endOffset":1266,"count":254},{"startOffset":1266,"endOffset":1808,"count":261},{"startOffset":1337,"endOffset":1798,"count":42},{"startOffset":1439,"endOffset":1705,"count":2},{"startOffset":1705,"endOffset":1784,"count":40},{"startOffset":1808,"endOffset":1833,"count":254}],"isBlockCoverage":true}]},{"scriptId":"1885","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/if_in_if.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4655,"count":1}],"isBlockCoverage":true},{"functionName":"IfInIf","ranges":[{"startOffset":629,"endOffset":717,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":722,"endOffset":1762,"count":31100}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1767,"endOffset":1812,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1817,"endOffset":1866,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1871,"endOffset":4591,"count":267},{"startOffset":1979,"endOffset":2013,"count":20},{"startOffset":2013,"endOffset":2088,"count":247},{"startOffset":2088,"endOffset":2122,"count":12},{"startOffset":2122,"endOffset":2323,"count":235},{"startOffset":2323,"endOffset":4562,"count":30},{"startOffset":2410,"endOffset":2463,"count":26},{"startOffset":2465,"endOffset":2506,"count":9},{"startOffset":2506,"endOffset":2610,"count":21},{"startOffset":2610,"endOffset":2651,"count":4},{"startOffset":2651,"endOffset":2764,"count":17},{"startOffset":2764,"endOffset":2805,"count":5},{"startOffset":2805,"endOffset":2918,"count":12},{"startOffset":2918,"endOffset":2959,"count":8},{"startOffset":2959,"endOffset":3066,"count":4},{"startOffset":3066,"endOffset":3211,"count":1},{"startOffset":3213,"endOffset":3254,"count":0},{"startOffset":3254,"endOffset":3410,"count":4},{"startOffset":3410,"endOffset":4355,"count":3},{"startOffset":3632,"endOffset":3640,"count":0},{"startOffset":3781,"endOffset":3789,"count":0},{"startOffset":4034,"endOffset":4042,"count":0},{"startOffset":4355,"endOffset":4562,"count":4},{"startOffset":4562,"endOffset":4590,"count":235}],"isBlockCoverage":true}]},{"scriptId":"1886","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/implement_methods.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10464,"count":1}],"isBlockCoverage":true},{"functionName":"ImplementMethods","ranges":[{"startOffset":827,"endOffset":925,"count":10453}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":930,"endOffset":1353,"count":31103}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1358,"endOffset":1403,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1408,"endOffset":1457,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1462,"endOffset":2118,"count":290},{"startOffset":1554,"endOffset":1588,"count":14},{"startOffset":1588,"endOffset":1702,"count":276},{"startOffset":1639,"endOffset":1666,"count":180},{"startOffset":1668,"endOffset":1702,"count":1},{"startOffset":1702,"endOffset":1804,"count":275},{"startOffset":1804,"endOffset":2092,"count":145},{"startOffset":2092,"endOffset":2117,"count":275}],"isBlockCoverage":true},{"functionName":"lookupImplementationInObject","ranges":[{"startOffset":2161,"endOffset":2448,"count":147},{"startOffset":2249,"endOffset":2416,"count":156},{"startOffset":2362,"endOffset":2406,"count":142},{"startOffset":2416,"endOffset":2447,"count":5}],"isBlockCoverage":true},{"functionName":"lookupDefinitionInObject","ranges":[{"startOffset":2453,"endOffset":2729,"count":2},{"startOffset":2697,"endOffset":2728,"count":0}],"isBlockCoverage":true},{"functionName":"checkClass","ranges":[{"startOffset":2734,"endOffset":4010,"count":145},{"startOffset":2820,"endOffset":3984,"count":48},{"startOffset":2881,"endOffset":2889,"count":0},{"startOffset":3009,"endOffset":3317,"count":2},{"startOffset":3052,"endOffset":3277,"count":1},{"startOffset":3317,"endOffset":3354,"count":46},{"startOffset":3354,"endOffset":3620,"count":0},{"startOffset":3620,"endOffset":3974,"count":46},{"startOffset":3663,"endOffset":3974,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2910,"endOffset":2966,"count":45}],"isBlockCoverage":true},{"functionName":"buildFix","ranges":[{"startOffset":4015,"endOffset":4833,"count":4},{"startOffset":4176,"endOffset":4217,"count":0},{"startOffset":4296,"endOffset":4304,"count":0},{"startOffset":4361,"endOffset":4366,"count":0},{"startOffset":4473,"endOffset":4481,"count":0},{"startOffset":4801,"endOffset":4832,"count":0}],"isBlockCoverage":true},{"functionName":"findInterface","ranges":[{"startOffset":4838,"endOffset":5220,"count":40},{"startOffset":4957,"endOffset":5193,"count":3},{"startOffset":5193,"endOffset":5219,"count":37}],"isBlockCoverage":true},{"functionName":"findInterfaceByName","ranges":[{"startOffset":5225,"endOffset":5876,"count":44},{"startOffset":5386,"endOffset":5694,"count":36},{"startOffset":5590,"endOffset":5670,"count":34},{"startOffset":5694,"endOffset":5849,"count":8},{"startOffset":5785,"endOffset":5793,"count":0}],"isBlockCoverage":true},{"functionName":"findInterfaceMethods","ranges":[{"startOffset":5931,"endOffset":6450,"count":29},{"startOffset":6120,"endOffset":6420,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6001,"endOffset":6076,"count":10}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6299,"endOffset":6394,"count":6}],"isBlockCoverage":true},{"functionName":"findClass","ranges":[{"startOffset":6455,"endOffset":6987,"count":2},{"startOffset":6668,"endOffset":6986,"count":0}],"isBlockCoverage":true},{"functionName":"checkInterfaces","ranges":[{"startOffset":6992,"endOffset":8477,"count":145},{"startOffset":7097,"endOffset":8451,"count":34},{"startOffset":7249,"endOffset":7286,"count":33},{"startOffset":7288,"endOffset":7366,"count":2},{"startOffset":7366,"endOffset":7465,"count":32},{"startOffset":7419,"endOffset":7465,"count":3},{"startOffset":7465,"endOffset":7527,"count":29},{"startOffset":7527,"endOffset":8441,"count":16},{"startOffset":7618,"endOffset":7667,"count":1},{"startOffset":7667,"endOffset":7732,"count":15},{"startOffset":7732,"endOffset":8427,"count":2},{"startOffset":8184,"endOffset":8409,"count":0},{"startOffset":8441,"endOffset":8451,"count":29},{"startOffset":8451,"endOffset":8476,"count":142}],"isBlockCoverage":true},{"functionName":"isImplemented","ranges":[{"startOffset":8482,"endOffset":9887,"count":17},{"startOffset":8544,"endOffset":8581,"count":0},{"startOffset":8766,"endOffset":9106,"count":7},{"startOffset":8852,"endOffset":9096,"count":1},{"startOffset":9139,"endOffset":9174,"count":6},{"startOffset":9176,"endOffset":9441,"count":2},{"startOffset":9341,"endOffset":9349,"count":0},{"startOffset":9395,"endOffset":9403,"count":0},{"startOffset":9441,"endOffset":9475,"count":15},{"startOffset":9475,"endOffset":9845,"count":4},{"startOffset":9626,"endOffset":9675,"count":0},{"startOffset":9770,"endOffset":9821,"count":2},{"startOffset":9835,"endOffset":9845,"count":2},{"startOffset":9845,"endOffset":9886,"count":13}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8677,"endOffset":8730,"count":13}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8976,"endOffset":9035,"count":1}],"isBlockCoverage":true},{"functionName":"viaAliasInInterface","ranges":[{"startOffset":9892,"endOffset":10371,"count":4},{"startOffset":9967,"endOffset":10370,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10184,"endOffset":10237,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1887","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/in_statement_indentation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4693,"count":1}],"isBlockCoverage":true},{"functionName":"InStatementIndentationConf","ranges":[{"startOffset":729,"endOffset":961,"count":20848}],"isBlockCoverage":true},{"functionName":"InStatementIndentation","ranges":[{"startOffset":1094,"endOffset":1198,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1203,"endOffset":2001,"count":31106}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":2006,"endOffset":2073,"count":8}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2078,"endOffset":2123,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2128,"endOffset":2177,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2182,"endOffset":4581,"count":268},{"startOffset":2321,"endOffset":2603,"count":53},{"startOffset":2422,"endOffset":2464,"count":4},{"startOffset":2464,"endOffset":2593,"count":49},{"startOffset":2551,"endOffset":2593,"count":1},{"startOffset":2603,"endOffset":2650,"count":263},{"startOffset":2650,"endOffset":4555,"count":1451},{"startOffset":2708,"endOffset":2750,"count":1431},{"startOffset":2752,"endOffset":2793,"count":26},{"startOffset":2793,"endOffset":2873,"count":1425},{"startOffset":2873,"endOffset":2914,"count":0},{"startOffset":2914,"endOffset":3112,"count":1425},{"startOffset":3112,"endOffset":3147,"count":1396},{"startOffset":3164,"endOffset":3200,"count":1395},{"startOffset":3217,"endOffset":3257,"count":1395},{"startOffset":3274,"endOffset":3318,"count":1394},{"startOffset":3335,"endOffset":3367,"count":1393},{"startOffset":3384,"endOffset":3416,"count":1389},{"startOffset":3433,"endOffset":3468,"count":1389},{"startOffset":3485,"endOffset":3519,"count":1387},{"startOffset":3536,"endOffset":3570,"count":1385},{"startOffset":3587,"endOffset":3624,"count":1381},{"startOffset":3641,"endOffset":3675,"count":1381},{"startOffset":3692,"endOffset":3726,"count":1374},{"startOffset":3743,"endOffset":3777,"count":1343},{"startOffset":3794,"endOffset":3830,"count":1341},{"startOffset":3847,"endOffset":3897,"count":1340},{"startOffset":3899,"endOffset":3979,"count":131},{"startOffset":3979,"endOffset":4016,"count":1425},{"startOffset":4016,"endOffset":4545,"count":5892},{"startOffset":4064,"endOffset":4113,"count":5158},{"startOffset":4113,"endOffset":4157,"count":734},{"startOffset":4157,"endOffset":4531,"count":8},{"startOffset":4545,"endOffset":4555,"count":1425},{"startOffset":4555,"endOffset":4580,"count":263}],"isBlockCoverage":true}]},{"scriptId":"1888","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/inline_data_old_versions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2542,"count":1}],"isBlockCoverage":true},{"functionName":"InlineDataOldVersions","ranges":[{"startOffset":652,"endOffset":755,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":760,"endOffset":1108,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1113,"endOffset":1158,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1163,"endOffset":1212,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1217,"endOffset":2432,"count":257},{"startOffset":1350,"endOffset":1414,"count":2},{"startOffset":1416,"endOffset":1450,"count":256},{"startOffset":1450,"endOffset":2403,"count":1},{"startOffset":1769,"endOffset":1818,"count":0},{"startOffset":1875,"endOffset":1924,"count":0},{"startOffset":1973,"endOffset":2022,"count":0},{"startOffset":2071,"endOffset":2120,"count":0},{"startOffset":2403,"endOffset":2431,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1889","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/intf_referencing_clas.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3037,"count":1}],"isBlockCoverage":true},{"functionName":"IntfReferencingClasConf","ranges":[{"startOffset":519,"endOffset":712,"count":20847}],"isBlockCoverage":true},{"functionName":"IntfReferencingClas","ranges":[{"startOffset":806,"endOffset":878,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":883,"endOffset":1290,"count":31097}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1295,"endOffset":1429,"count":9908},{"startOffset":1352,"endOffset":1397,"count":0}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1434,"endOffset":1483,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1488,"endOffset":1556,"count":246}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1561,"endOffset":1759,"count":313},{"startOffset":1623,"endOffset":1657,"count":292},{"startOffset":1657,"endOffset":1758,"count":21}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":1785,"endOffset":2934,"count":68},{"startOffset":1989,"endOffset":2804,"count":14},{"startOffset":2094,"endOffset":2171,"count":4},{"startOffset":2139,"endOffset":2147,"count":0},{"startOffset":2188,"endOffset":2268,"count":2},{"startOffset":2233,"endOffset":2241,"count":0},{"startOffset":2270,"endOffset":2794,"count":2},{"startOffset":2345,"endOffset":2357,"count":0},{"startOffset":2441,"endOffset":2490,"count":0},{"startOffset":2595,"endOffset":2644,"count":0},{"startOffset":2849,"endOffset":2908,"count":47}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2544,"endOffset":2592,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1890","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/invalid_table_index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3469,"count":1}],"isBlockCoverage":true},{"functionName":"InvalidTableIndex","ranges":[{"startOffset":699,"endOffset":798,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":803,"endOffset":1316,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1321,"endOffset":1366,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1371,"endOffset":1420,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1425,"endOffset":3372,"count":258},{"startOffset":1580,"endOffset":1634,"count":12},{"startOffset":1634,"endOffset":1749,"count":246},{"startOffset":1749,"endOffset":2512,"count":2},{"startOffset":1865,"endOffset":1873,"count":0},{"startOffset":1949,"endOffset":1957,"count":0},{"startOffset":2031,"endOffset":2039,"count":0},{"startOffset":2099,"endOffset":2140,"count":0},{"startOffset":2181,"endOffset":2502,"count":1},{"startOffset":2512,"endOffset":2586,"count":246},{"startOffset":2586,"endOffset":3343,"count":3},{"startOffset":2696,"endOffset":2704,"count":1},{"startOffset":2705,"endOffset":2752,"count":2},{"startOffset":2780,"endOffset":2788,"count":1},{"startOffset":2789,"endOffset":2834,"count":2},{"startOffset":2862,"endOffset":2870,"count":1},{"startOffset":2871,"endOffset":2891,"count":2},{"startOffset":2930,"endOffset":2971,"count":1},{"startOffset":2971,"endOffset":3012,"count":2},{"startOffset":3012,"endOffset":3333,"count":1},{"startOffset":3343,"endOffset":3371,"count":246}],"isBlockCoverage":true}]},{"scriptId":"1891","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/keep_single_parameter_on_one_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6066,"count":1}],"isBlockCoverage":true},{"functionName":"KeepSingleParameterCallsOnOneLineConf","ranges":[{"startOffset":520,"endOffset":643,"count":20845}],"isBlockCoverage":true},{"functionName":"KeepSingleParameterCallsOnOneLine","ranges":[{"startOffset":809,"endOffset":924,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":929,"endOffset":1508,"count":31100}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1513,"endOffset":1558,"count":10030}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1563,"endOffset":1612,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1617,"endOffset":2459,"count":271},{"startOffset":1703,"endOffset":1737,"count":20},{"startOffset":1737,"endOffset":1812,"count":251},{"startOffset":1812,"endOffset":1846,"count":12},{"startOffset":1846,"endOffset":1893,"count":239},{"startOffset":1893,"endOffset":2430,"count":1371},{"startOffset":1957,"endOffset":2013,"count":124},{"startOffset":2030,"endOffset":2061,"count":121},{"startOffset":2078,"endOffset":2119,"count":120},{"startOffset":2136,"endOffset":2170,"count":119},{"startOffset":2187,"endOffset":2221,"count":118},{"startOffset":2223,"endOffset":2264,"count":1254},{"startOffset":2264,"endOffset":2344,"count":117},{"startOffset":2344,"endOffset":2420,"count":6},{"startOffset":2420,"endOffset":2430,"count":117},{"startOffset":2430,"endOffset":2458,"count":239}],"isBlockCoverage":true},{"functionName":"containsFieldAssigments","ranges":[{"startOffset":2508,"endOffset":2642,"count":119}],"isBlockCoverage":true},{"functionName":"containsNewLineTableExpression","ranges":[{"startOffset":2647,"endOffset":2919,"count":120},{"startOffset":2759,"endOffset":2891,"count":1},{"startOffset":2891,"endOffset":2918,"count":119}],"isBlockCoverage":true},{"functionName":"containsNewLineValue","ranges":[{"startOffset":2924,"endOffset":3267,"count":121},{"startOffset":3017,"endOffset":3239,"count":11},{"startOffset":3122,"endOffset":3183,"count":1},{"startOffset":3185,"endOffset":3229,"count":1},{"startOffset":3239,"endOffset":3266,"count":120}],"isBlockCoverage":true},{"functionName":"containsNewLineTemplate","ranges":[{"startOffset":3272,"endOffset":3579,"count":118},{"startOffset":3376,"endOffset":3551,"count":4},{"startOffset":3475,"endOffset":3527,"count":1},{"startOffset":3541,"endOffset":3551,"count":3},{"startOffset":3551,"endOffset":3578,"count":117}],"isBlockCoverage":true},{"functionName":"check","ranges":[{"startOffset":3584,"endOffset":4174,"count":6},{"startOffset":3648,"endOffset":3679,"count":4},{"startOffset":3681,"endOffset":4149,"count":4},{"startOffset":3764,"endOffset":3952,"count":2},{"startOffset":3844,"endOffset":3886,"count":1},{"startOffset":3888,"endOffset":3938,"count":0},{"startOffset":4149,"endOffset":4173,"count":2}],"isBlockCoverage":true},{"functionName":"calcStatementLength","ranges":[{"startOffset":4265,"endOffset":4549,"count":124},{"startOffset":4353,"endOffset":4520,"count":941},{"startOffset":4385,"endOffset":4457,"count":124}],"isBlockCoverage":true},{"functionName":"isMultiLine","ranges":[{"startOffset":4554,"endOffset":4725,"count":1375}],"isBlockCoverage":true},{"functionName":"isWithoutParameters","ranges":[{"startOffset":4730,"endOffset":4805,"count":1}],"isBlockCoverage":true},{"functionName":"isSingleParameter","ranges":[{"startOffset":4810,"endOffset":5923,"count":8},{"startOffset":4889,"endOffset":5131,"count":4},{"startOffset":4974,"endOffset":5096,"count":3},{"startOffset":5029,"endOffset":5082,"count":2},{"startOffset":5096,"endOffset":5131,"count":2},{"startOffset":5131,"endOffset":5223,"count":4},{"startOffset":5223,"endOffset":5382,"count":2},{"startOffset":5382,"endOffset":5895,"count":1},{"startOffset":5432,"endOffset":5477,"count":0},{"startOffset":5594,"endOffset":5635,"count":0},{"startOffset":5637,"endOffset":5681,"count":0},{"startOffset":5895,"endOffset":5922,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1892","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/line_break_multiple_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3416,"count":1}],"isBlockCoverage":true},{"functionName":"LineBreakMultipleParametersConf","ranges":[{"startOffset":610,"endOffset":740,"count":20848}],"isBlockCoverage":true},{"functionName":"LineBreakMultipleParameters","ranges":[{"startOffset":888,"endOffset":997,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1002,"endOffset":1651,"count":31112}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1656,"endOffset":1701,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1706,"endOffset":1755,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1760,"endOffset":3288,"count":265},{"startOffset":1848,"endOffset":1882,"count":20},{"startOffset":1882,"endOffset":1929,"count":245},{"startOffset":1929,"endOffset":3259,"count":1390},{"startOffset":2009,"endOffset":3249,"count":10},{"startOffset":2107,"endOffset":2178,"count":1},{"startOffset":2178,"endOffset":2307,"count":9},{"startOffset":2307,"endOffset":2356,"count":0},{"startOffset":2356,"endOffset":2463,"count":9},{"startOffset":2463,"endOffset":3235,"count":12},{"startOffset":2580,"endOffset":2681,"count":3},{"startOffset":2681,"endOffset":2819,"count":9},{"startOffset":2819,"endOffset":3177,"count":7},{"startOffset":3177,"endOffset":3235,"count":9},{"startOffset":3235,"endOffset":3249,"count":9},{"startOffset":3259,"endOffset":3287,"count":245}],"isBlockCoverage":true}]},{"scriptId":"1893","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/line_break_style.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1786,"count":1}],"isBlockCoverage":true},{"functionName":"LineBreakStyle","ranges":[{"startOffset":426,"endOffset":493,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":498,"endOffset":843,"count":31097}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":848,"endOffset":893,"count":249}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":898,"endOffset":943,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":948,"endOffset":997,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1002,"endOffset":1698,"count":315},{"startOffset":1083,"endOffset":1669,"count":332},{"startOffset":1139,"endOffset":1659,"count":261},{"startOffset":1243,"endOffset":1645,"count":1751},{"startOffset":1302,"endOffset":1627,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1894","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/line_length.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2310,"count":1}],"isBlockCoverage":true},{"functionName":"LineLengthConf","ranges":[{"startOffset":386,"endOffset":541,"count":20847}],"isBlockCoverage":true},{"functionName":"LineLength","ranges":[{"startOffset":638,"endOffset":730,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":735,"endOffset":1196,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1201,"endOffset":1246,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1251,"endOffset":1300,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1305,"endOffset":2235,"count":258},{"startOffset":1539,"endOffset":2206,"count":1747},{"startOffset":1644,"endOffset":1899,"count":2},{"startOffset":1899,"endOffset":2196,"count":1745},{"startOffset":1952,"endOffset":2196,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1895","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/line_only_punc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3603,"count":1}],"isBlockCoverage":true},{"functionName":"LineOnlyPuncConf","ranges":[{"startOffset":560,"endOffset":726,"count":20846}],"isBlockCoverage":true},{"functionName":"LineOnlyPunc","ranges":[{"startOffset":829,"endOffset":923,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":928,"endOffset":1523,"count":31107}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1528,"endOffset":1613,"count":10}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1618,"endOffset":1663,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1668,"endOffset":1717,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1722,"endOffset":3521,"count":275},{"startOffset":1864,"endOffset":2146,"count":53},{"startOffset":1965,"endOffset":2007,"count":4},{"startOffset":2007,"endOffset":2136,"count":49},{"startOffset":2094,"endOffset":2136,"count":1},{"startOffset":2146,"endOffset":2289,"count":270},{"startOffset":2289,"endOffset":3492,"count":1759},{"startOffset":2333,"endOffset":3482,"count":10},{"startOffset":2392,"endOffset":2418,"count":5},{"startOffset":2419,"endOffset":2445,"count":5},{"startOffset":2746,"endOffset":2775,"count":6},{"startOffset":2776,"endOffset":2807,"count":5},{"startOffset":2809,"endOffset":2879,"count":4},{"startOffset":2960,"endOffset":3012,"count":2},{"startOffset":3492,"endOffset":3520,"count":270}],"isBlockCoverage":true}]},{"scriptId":"1896","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/local_class_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3015,"count":1}],"isBlockCoverage":true},{"functionName":"LocalClassNamingConf","ranges":[{"startOffset":504,"endOffset":813,"count":20849}],"isBlockCoverage":true},{"functionName":"LocalClassNaming","ranges":[{"startOffset":928,"endOffset":1026,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1031,"endOffset":1353,"count":31142}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1358,"endOffset":1619,"count":44},{"startOffset":1445,"endOffset":1528,"count":41},{"startOffset":1529,"endOffset":1612,"count":3}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1624,"endOffset":1669,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1674,"endOffset":1723,"count":245}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1728,"endOffset":2921,"count":274},{"startOffset":1827,"endOffset":1886,"count":1},{"startOffset":2005,"endOffset":2892,"count":130},{"startOffset":2042,"endOffset":2083,"count":45},{"startOffset":2083,"endOffset":2199,"count":85},{"startOffset":2199,"endOffset":2257,"count":7},{"startOffset":2257,"endOffset":2452,"count":78},{"startOffset":2312,"endOffset":2375,"count":6},{"startOffset":2375,"endOffset":2452,"count":72},{"startOffset":2452,"endOffset":2516,"count":85},{"startOffset":2518,"endOffset":2559,"count":0},{"startOffset":2559,"endOffset":2703,"count":85},{"startOffset":2703,"endOffset":2882,"count":44}],"isBlockCoverage":true}]},{"scriptId":"1897","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/local_testclass_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2687,"count":1}],"isBlockCoverage":true},{"functionName":"LocalTestclassConsistency","ranges":[{"startOffset":650,"endOffset":757,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":762,"endOffset":1082,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1087,"endOffset":1132,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1137,"endOffset":1186,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1191,"endOffset":2566,"count":257},{"startOffset":1331,"endOffset":1417,"count":0},{"startOffset":1465,"endOffset":1499,"count":202},{"startOffset":1499,"endOffset":1563,"count":55},{"startOffset":1563,"endOffset":1950,"count":50},{"startOffset":1591,"endOffset":1608,"count":4},{"startOffset":1609,"endOffset":1661,"count":1},{"startOffset":1663,"endOffset":1940,"count":0},{"startOffset":1950,"endOffset":2029,"count":55},{"startOffset":2029,"endOffset":2068,"count":3},{"startOffset":2081,"endOffset":2204,"count":3},{"startOffset":2131,"endOffset":2139,"count":2},{"startOffset":2140,"endOffset":2193,"count":1},{"startOffset":2206,"endOffset":2537,"count":1},{"startOffset":2537,"endOffset":2565,"count":55}],"isBlockCoverage":true}]},{"scriptId":"1898","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/local_variable_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6398,"count":1}],"isBlockCoverage":true},{"functionName":"LocalVariableNamesConf","ranges":[{"startOffset":666,"endOffset":991,"count":20888}],"isBlockCoverage":true},{"functionName":"LocalVariableNames","ranges":[{"startOffset":1112,"endOffset":1212,"count":10454}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1217,"endOffset":1722,"count":31126}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1727,"endOffset":1994,"count":31},{"startOffset":1814,"endOffset":1900,"count":26},{"startOffset":1901,"endOffset":1987,"count":5}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1999,"endOffset":2044,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2049,"endOffset":2098,"count":269}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2103,"endOffset":2853,"count":286},{"startOffset":2194,"endOffset":2253,"count":2},{"startOffset":2328,"endOffset":2362,"count":12},{"startOffset":2362,"endOffset":2479,"count":274},{"startOffset":2479,"endOffset":2545,"count":54},{"startOffset":2545,"endOffset":2616,"count":274},{"startOffset":2616,"endOffset":2682,"count":52},{"startOffset":2682,"endOffset":2761,"count":274},{"startOffset":2761,"endOffset":2827,"count":3},{"startOffset":2827,"endOffset":2852,"count":274}],"isBlockCoverage":true},{"functionName":"checkLocals","ranges":[{"startOffset":2858,"endOffset":5821,"count":109},{"startOffset":3014,"endOffset":3470,"count":64},{"startOffset":3137,"endOffset":3202,"count":40},{"startOffset":3202,"endOffset":3460,"count":24},{"startOffset":3574,"endOffset":3840,"count":3},{"startOffset":4017,"endOffset":4444,"count":8},{"startOffset":4191,"endOffset":4199,"count":0},{"startOffset":4532,"endOffset":4804,"count":5},{"startOffset":4923,"endOffset":5201,"count":2},{"startOffset":5320,"endOffset":5795,"count":6},{"startOffset":5453,"endOffset":5518,"count":2},{"startOffset":5518,"endOffset":5785,"count":4}],"isBlockCoverage":true},{"functionName":"checkName","ranges":[{"startOffset":5826,"endOffset":6298,"count":46},{"startOffset":6052,"endOffset":6272,"count":31}],"isBlockCoverage":true}]},{"scriptId":"1899","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/macro_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2579,"count":1}],"isBlockCoverage":true},{"functionName":"MacroNamingConf","ranges":[{"startOffset":558,"endOffset":696,"count":20845}],"isBlockCoverage":true},{"functionName":"MacroNaming","ranges":[{"startOffset":796,"endOffset":889,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":894,"endOffset":1399,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1404,"endOffset":1449,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1454,"endOffset":1503,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1508,"endOffset":2501,"count":258},{"startOffset":1667,"endOffset":1701,"count":3},{"startOffset":1701,"endOffset":1751,"count":255},{"startOffset":1751,"endOffset":2472,"count":1450},{"startOffset":1813,"endOffset":1854,"count":1447},{"startOffset":1854,"endOffset":1966,"count":3},{"startOffset":1966,"endOffset":2007,"count":0},{"startOffset":2007,"endOffset":2104,"count":3},{"startOffset":2104,"endOffset":2145,"count":1},{"startOffset":2145,"endOffset":2462,"count":2},{"startOffset":2472,"endOffset":2500,"count":255}],"isBlockCoverage":true}]},{"scriptId":"1900","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/main_file_contents.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4761,"count":1}],"isBlockCoverage":true},{"functionName":"MainFileContents","ranges":[{"startOffset":786,"endOffset":855,"count":10435}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":860,"endOffset":1248,"count":31250}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1253,"endOffset":1352,"count":155}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1357,"endOffset":1402,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1407,"endOffset":1456,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1461,"endOffset":1529,"count":256}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1534,"endOffset":4667,"count":322},{"startOffset":1613,"endOffset":1677,"count":260},{"startOffset":1679,"endOffset":1713,"count":62},{"startOffset":1713,"endOffset":1790,"count":260},{"startOffset":1790,"endOffset":1824,"count":0},{"startOffset":1824,"endOffset":1899,"count":260},{"startOffset":1899,"endOffset":1933,"count":12},{"startOffset":1933,"endOffset":1989,"count":248},{"startOffset":1989,"endOffset":2017,"count":175},{"startOffset":2030,"endOffset":2061,"count":175},{"startOffset":2063,"endOffset":3538,"count":175},{"startOffset":2184,"endOffset":2230,"count":178},{"startOffset":2232,"endOffset":2335,"count":4},{"startOffset":2372,"endOffset":2479,"count":174},{"startOffset":2434,"endOffset":2478,"count":151},{"startOffset":2481,"endOffset":2773,"count":151},{"startOffset":2773,"endOffset":2886,"count":24},{"startOffset":2886,"endOffset":3167,"count":1},{"startOffset":3167,"endOffset":3528,"count":23},{"startOffset":3252,"endOffset":3528,"count":1},{"startOffset":3538,"endOffset":4642,"count":73},{"startOffset":3589,"endOffset":4642,"count":6},{"startOffset":3758,"endOffset":3861,"count":0},{"startOffset":3948,"endOffset":4235,"count":1},{"startOffset":4235,"endOffset":4364,"count":5},{"startOffset":4364,"endOffset":4632,"count":1},{"startOffset":4642,"endOffset":4666,"count":93}],"isBlockCoverage":true}]},{"scriptId":"1901","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/many_parentheses.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6923,"count":1}],"isBlockCoverage":true},{"functionName":"ManyParentheses","ranges":[{"startOffset":727,"endOffset":824,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":829,"endOffset":1371,"count":31118}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1376,"endOffset":1421,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1426,"endOffset":1475,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1480,"endOffset":3423,"count":290},{"startOffset":1609,"endOffset":1643,"count":12},{"startOffset":1643,"endOffset":1753,"count":278},{"startOffset":1753,"endOffset":1818,"count":49},{"startOffset":1818,"endOffset":1933,"count":278},{"startOffset":1933,"endOffset":3118,"count":28},{"startOffset":2020,"endOffset":2103,"count":25},{"startOffset":2103,"endOffset":2213,"count":3},{"startOffset":2249,"endOffset":2290,"count":0},{"startOffset":2343,"endOffset":3108,"count":9},{"startOffset":2647,"endOffset":2795,"count":2},{"startOffset":3118,"endOffset":3189,"count":278},{"startOffset":3189,"endOffset":3255,"count":11},{"startOffset":3255,"endOffset":3328,"count":278},{"startOffset":3328,"endOffset":3394,"count":5},{"startOffset":3394,"endOffset":3422,"count":278}],"isBlockCoverage":true},{"functionName":"analyzeInto","ranges":[{"startOffset":3453,"endOffset":4070,"count":5},{"startOffset":3577,"endOffset":3611,"count":4},{"startOffset":3611,"endOffset":3718,"count":1},{"startOffset":3720,"endOffset":3754,"count":0},{"startOffset":3754,"endOffset":3874,"count":1},{"startOffset":3876,"endOffset":4045,"count":1},{"startOffset":4045,"endOffset":4069,"count":0}],"isBlockCoverage":true},{"functionName":"analyzeMove","ranges":[{"startOffset":4075,"endOffset":4652,"count":11},{"startOffset":4318,"endOffset":4369,"count":1},{"startOffset":4382,"endOffset":4433,"count":1},{"startOffset":4435,"endOffset":4623,"count":1}],"isBlockCoverage":true},{"functionName":"analyze","ranges":[{"startOffset":4657,"endOffset":6319,"count":49},{"startOffset":4806,"endOffset":5980,"count":88},{"startOffset":4886,"endOffset":4959,"count":20},{"startOffset":4959,"endOffset":5754,"count":68},{"startOffset":5076,"endOffset":5126,"count":44},{"startOffset":5129,"endOffset":5754,"count":27},{"startOffset":5203,"endOffset":5253,"count":4},{"startOffset":5253,"endOffset":5357,"count":23},{"startOffset":5357,"endOffset":5451,"count":3},{"startOffset":5451,"endOffset":5489,"count":23},{"startOffset":5489,"endOffset":5539,"count":0},{"startOffset":5539,"endOffset":5626,"count":23},{"startOffset":5626,"endOffset":5740,"count":16},{"startOffset":5754,"endOffset":5790,"count":84},{"startOffset":5790,"endOffset":5843,"count":59},{"startOffset":5843,"endOffset":5970,"count":25},{"startOffset":5901,"endOffset":5926,"count":16},{"startOffset":5928,"endOffset":5970,"count":5},{"startOffset":5980,"endOffset":6011,"count":40},{"startOffset":6011,"endOffset":6036,"count":14},{"startOffset":6037,"endOffset":6054,"count":14},{"startOffset":6056,"endOffset":6290,"count":10},{"startOffset":6290,"endOffset":6318,"count":40}],"isBlockCoverage":true},{"functionName":"findComparator","ranges":[{"startOffset":6324,"endOffset":6833,"count":23},{"startOffset":6455,"endOffset":6800,"count":63},{"startOffset":6505,"endOffset":6790,"count":20},{"startOffset":6610,"endOffset":6671,"count":16},{"startOffset":6671,"endOffset":6776,"count":4},{"startOffset":6721,"endOffset":6776,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1902","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/max_one_method_parameter_per_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2500,"count":1}],"isBlockCoverage":true},{"functionName":"MaxOneMethodParameterPerLine","ranges":[{"startOffset":714,"endOffset":824,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":829,"endOffset":1411,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1416,"endOffset":1461,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1466,"endOffset":1515,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1520,"endOffset":2367,"count":259},{"startOffset":1667,"endOffset":1675,"count":12},{"startOffset":1676,"endOffset":1720,"count":247},{"startOffset":1722,"endOffset":1727,"count":12},{"startOffset":1729,"endOffset":2338,"count":54},{"startOffset":1848,"endOffset":2328,"count":24},{"startOffset":1890,"endOffset":1969,"count":19},{"startOffset":1969,"endOffset":2074,"count":5},{"startOffset":2074,"endOffset":2288,"count":1},{"startOffset":2288,"endOffset":2328,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1903","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/max_one_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2891,"count":1}],"isBlockCoverage":true},{"functionName":"MaxOneStatement","ranges":[{"startOffset":692,"endOffset":789,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":794,"endOffset":1550,"count":31109}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1555,"endOffset":1632,"count":12}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1637,"endOffset":1682,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1687,"endOffset":1736,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1741,"endOffset":2800,"count":263},{"startOffset":1888,"endOffset":2771,"count":1476},{"startOffset":2022,"endOffset":2074,"count":1456},{"startOffset":2091,"endOffset":2106,"count":1456},{"startOffset":2108,"endOffset":2149,"count":115},{"startOffset":2149,"endOffset":2263,"count":1361},{"startOffset":2263,"endOffset":2304,"count":1},{"startOffset":2304,"endOffset":2372,"count":1360},{"startOffset":2372,"endOffset":2391,"count":20},{"startOffset":2392,"endOffset":2437,"count":13},{"startOffset":2439,"endOffset":2737,"count":12},{"startOffset":2737,"endOffset":2771,"count":1360}],"isBlockCoverage":true}]},{"scriptId":"1904","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/message_exists.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6264,"count":1}],"isBlockCoverage":true},{"functionName":"MessageExistsConf","ranges":[{"startOffset":670,"endOffset":759,"count":20862}],"isBlockCoverage":true},{"functionName":"MessageExistsRule","ranges":[{"startOffset":839,"endOffset":905,"count":10440}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":910,"endOffset":1178,"count":31103}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1183,"endOffset":1228,"count":9915}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1233,"endOffset":1282,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1287,"endOffset":1647,"count":261},{"startOffset":1477,"endOffset":1620,"count":346},{"startOffset":1537,"endOffset":1610,"count":266}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1652,"endOffset":2115,"count":327},{"startOffset":1744,"endOffset":2086,"count":265},{"startOffset":1797,"endOffset":2076,"count":272},{"startOffset":1891,"endOffset":1941,"count":12},{"startOffset":1941,"endOffset":2076,"count":260},{"startOffset":2076,"endOffset":2086,"count":253},{"startOffset":2086,"endOffset":2114,"count":315}],"isBlockCoverage":true},{"functionName":"checkReportStatement","ranges":[{"startOffset":2157,"endOffset":2698,"count":260},{"startOffset":2267,"endOffset":2669,"count":1449},{"startOffset":2334,"endOffset":2375,"count":1429},{"startOffset":2375,"endOffset":2492,"count":20},{"startOffset":2492,"endOffset":2659,"count":3},{"startOffset":2586,"endOffset":2645,"count":1}],"isBlockCoverage":true},{"functionName":"checkClass","ranges":[{"startOffset":2703,"endOffset":3165,"count":3},{"startOffset":2880,"endOffset":2940,"count":2},{"startOffset":2942,"endOffset":3133,"count":1},{"startOffset":3133,"endOffset":3164,"count":2}],"isBlockCoverage":true},{"functionName":"checkSource","ranges":[{"startOffset":3170,"endOffset":5400,"count":260},{"startOffset":3354,"endOffset":5371,"count":1449},{"startOffset":3416,"endOffset":3464,"count":1444},{"startOffset":3466,"endOffset":5361,"count":15},{"startOffset":3838,"endOffset":4280,"count":5},{"startOffset":4280,"endOffset":4396,"count":10},{"startOffset":4396,"endOffset":4728,"count":1},{"startOffset":4728,"endOffset":5307,"count":9},{"startOffset":5000,"endOffset":5281,"count":1}],"isBlockCoverage":true},{"functionName":"countWith","ranges":[{"startOffset":5405,"endOffset":6172,"count":9},{"startOffset":5532,"endOffset":5598,"count":0},{"startOffset":5711,"endOffset":6144,"count":40},{"startOffset":5769,"endOffset":5822,"count":27},{"startOffset":5824,"endOffset":5899,"count":1},{"startOffset":5899,"endOffset":5936,"count":39},{"startOffset":5936,"endOffset":6134,"count":2},{"startOffset":6004,"endOffset":6120,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1905","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/method_implemented_twice.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3016,"count":1}],"isBlockCoverage":true},{"functionName":"MethodImplementedTwice","ranges":[{"startOffset":550,"endOffset":654,"count":10431}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":659,"endOffset":968,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":973,"endOffset":1018,"count":9910}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1023,"endOffset":1072,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1077,"endOffset":2904,"count":263},{"startOffset":1196,"endOffset":1711,"count":119},{"startOffset":1274,"endOffset":1701,"count":53},{"startOffset":1379,"endOffset":1438,"count":52},{"startOffset":1438,"endOffset":1687,"count":1},{"startOffset":1782,"endOffset":2299,"count":121},{"startOffset":1860,"endOffset":2289,"count":47},{"startOffset":1960,"endOffset":2019,"count":45},{"startOffset":2019,"endOffset":2275,"count":2},{"startOffset":2370,"endOffset":2875,"count":54},{"startOffset":2444,"endOffset":2865,"count":13},{"startOffset":2544,"endOffset":2603,"count":12},{"startOffset":2603,"endOffset":2851,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1906","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/method_length.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4311,"count":1}],"isBlockCoverage":true},{"functionName":"MethodLengthConf","ranges":[{"startOffset":523,"endOffset":915,"count":20862}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":979,"endOffset":1129,"count":1}],"isBlockCoverage":true},{"functionName":"MethodLength","ranges":[{"startOffset":1188,"endOffset":1253,"count":10436}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1258,"endOffset":1714,"count":31128}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1719,"endOffset":2144,"count":31},{"startOffset":1802,"endOffset":1885,"count":26},{"startOffset":1898,"endOffset":2064,"count":5},{"startOffset":2077,"endOffset":2128,"count":0}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2149,"endOffset":2194,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2199,"endOffset":2248,"count":256}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":2253,"endOffset":2298,"count":262}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2303,"endOffset":2972,"count":328},{"startOffset":2391,"endOffset":2422,"count":4},{"startOffset":2435,"endOffset":2533,"count":4},{"startOffset":2497,"endOffset":2505,"count":2},{"startOffset":2506,"endOffset":2523,"count":2},{"startOffset":2535,"endOffset":2569,"count":1},{"startOffset":2569,"endOffset":2775,"count":327},{"startOffset":2775,"endOffset":2918,"count":325},{"startOffset":2918,"endOffset":2971,"count":327}],"isBlockCoverage":true},{"functionName":"check","ranges":[{"startOffset":3008,"endOffset":4025,"count":652},{"startOffset":3087,"endOffset":3996,"count":92},{"startOffset":3160,"endOffset":3209,"count":3},{"startOffset":3211,"endOffset":3252,"count":2},{"startOffset":3252,"endOffset":3283,"count":90},{"startOffset":3283,"endOffset":3319,"count":28},{"startOffset":3321,"endOffset":3658,"count":27},{"startOffset":3363,"endOffset":3412,"count":1},{"startOffset":3412,"endOffset":3658,"count":26},{"startOffset":3658,"endOffset":3707,"count":63},{"startOffset":3707,"endOffset":3986,"count":5}],"isBlockCoverage":true},{"functionName":"isAbstract","ranges":[{"startOffset":4030,"endOffset":4230,"count":27},{"startOffset":4187,"endOffset":4195,"count":2},{"startOffset":4196,"endOffset":4213,"count":25}],"isBlockCoverage":true}]},{"scriptId":"1907","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/form_length_stats.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2063,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":411,"endOffset":1634,"count":325},{"startOffset":604,"endOffset":638,"count":62},{"startOffset":638,"endOffset":686,"count":263},{"startOffset":686,"endOffset":1608,"count":270},{"startOffset":741,"endOffset":1598,"count":1713},{"startOffset":837,"endOffset":1027,"count":33},{"startOffset":1027,"endOffset":1584,"count":1680},{"startOffset":1089,"endOffset":1361,"count":33},{"startOffset":1226,"endOffset":1309,"count":0},{"startOffset":1361,"endOffset":1584,"count":1647},{"startOffset":1421,"endOffset":1463,"count":123},{"startOffset":1484,"endOffset":1524,"count":123},{"startOffset":1526,"endOffset":1584,"count":123},{"startOffset":1608,"endOffset":1633,"count":263}],"isBlockCoverage":true},{"functionName":"findName","ranges":[{"startOffset":1646,"endOffset":1972,"count":33},{"startOffset":1848,"endOffset":1945,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1908","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/method_overwrites_builtin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2351,"count":1}],"isBlockCoverage":true},{"functionName":"MethodOverwritesBuiltIn","ranges":[{"startOffset":603,"endOffset":708,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":713,"endOffset":1501,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1506,"endOffset":1551,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1556,"endOffset":1605,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1610,"endOffset":2236,"count":258},{"startOffset":1751,"endOffset":1818,"count":117},{"startOffset":1907,"endOffset":2207,"count":45},{"startOffset":1975,"endOffset":2197,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1909","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/method_parameter_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4720,"count":1}],"isBlockCoverage":true},{"functionName":"MethodParameterNamesConf","ranges":[{"startOffset":624,"endOffset":1127,"count":20870}],"isBlockCoverage":true},{"functionName":"MethodParameterNames","ranges":[{"startOffset":1224,"endOffset":1297,"count":10441}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1302,"endOffset":1637,"count":31126}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1642,"endOffset":1913,"count":31},{"startOffset":1729,"endOffset":1817,"count":29},{"startOffset":1818,"endOffset":1906,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1918,"endOffset":1963,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1968,"endOffset":2017,"count":258}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":2022,"endOffset":2090,"count":262}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2095,"endOffset":3136,"count":328},{"startOffset":2177,"endOffset":2236,"count":0},{"startOffset":2294,"endOffset":2328,"count":62},{"startOffset":2328,"endOffset":2424,"count":266},{"startOffset":2424,"endOffset":3110,"count":273},{"startOffset":2499,"endOffset":2648,"count":60},{"startOffset":2551,"endOffset":2634,"count":17},{"startOffset":2718,"endOffset":3100,"count":122},{"startOffset":2798,"endOffset":2847,"count":2},{"startOffset":2847,"endOffset":2898,"count":120},{"startOffset":2898,"endOffset":3086,"count":49},{"startOffset":2947,"endOffset":3004,"count":8},{"startOffset":3004,"endOffset":3086,"count":41},{"startOffset":3086,"endOffset":3100,"count":120},{"startOffset":3110,"endOffset":3135,"count":266}],"isBlockCoverage":true},{"functionName":"checkMethod","ranges":[{"startOffset":3141,"endOffset":4132,"count":58},{"startOffset":3228,"endOffset":4106,"count":43},{"startOffset":3281,"endOffset":3456,"count":30},{"startOffset":3473,"endOffset":3648,"count":3},{"startOffset":3665,"endOffset":3838,"count":0},{"startOffset":3855,"endOffset":4030,"count":10},{"startOffset":4047,"endOffset":4082,"count":0}],"isBlockCoverage":true},{"functionName":"checkParameter","ranges":[{"startOffset":4137,"endOffset":4614,"count":43},{"startOffset":4358,"endOffset":4588,"count":31}],"isBlockCoverage":true}]},{"scriptId":"1910","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/mix_returning.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2511,"count":1}],"isBlockCoverage":true},{"functionName":"MixReturning","ranges":[{"startOffset":618,"endOffset":712,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":717,"endOffset":1452,"count":31096}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1457,"endOffset":1569,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1574,"endOffset":1619,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1624,"endOffset":1673,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1678,"endOffset":2430,"count":258},{"startOffset":1794,"endOffset":1828,"count":12},{"startOffset":1828,"endOffset":1901,"count":246},{"startOffset":1901,"endOffset":2404,"count":55},{"startOffset":1977,"endOffset":2018,"count":43},{"startOffset":2018,"endOffset":2107,"count":12},{"startOffset":2107,"endOffset":2164,"count":11},{"startOffset":2166,"endOffset":2394,"count":1},{"startOffset":2404,"endOffset":2429,"count":246}],"isBlockCoverage":true}]},{"scriptId":"1911","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/modify_only_own_db_tables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4383,"count":1}],"isBlockCoverage":true},{"functionName":"ModifyOnlyOwnDBTablesConf","ranges":[{"startOffset":613,"endOffset":784,"count":20853}],"isBlockCoverage":true},{"functionName":"ModifyOnlyOwnDBTables","ranges":[{"startOffset":884,"endOffset":958,"count":10430}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":963,"endOffset":1291,"count":31102}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1296,"endOffset":1341,"count":10162}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1346,"endOffset":1395,"count":244}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1400,"endOffset":1468,"count":252}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1473,"endOffset":4272,"count":318},{"startOffset":1557,"endOffset":1591,"count":62},{"startOffset":1591,"endOffset":1701,"count":256},{"startOffset":1701,"endOffset":4243,"count":263},{"startOffset":1787,"endOffset":1829,"count":12},{"startOffset":1829,"endOffset":1952,"count":251},{"startOffset":1952,"endOffset":4233,"count":1450},{"startOffset":2068,"endOffset":2109,"count":1447},{"startOffset":2130,"endOffset":2171,"count":1447},{"startOffset":2192,"endOffset":2233,"count":1445},{"startOffset":2235,"endOffset":4219,"count":6},{"startOffset":2382,"endOffset":2439,"count":0},{"startOffset":2528,"endOffset":2536,"count":0},{"startOffset":2581,"endOffset":2889,"count":2},{"startOffset":2652,"endOffset":2833,"count":1},{"startOffset":2889,"endOffset":3024,"count":4},{"startOffset":3024,"endOffset":4201,"count":3},{"startOffset":3578,"endOffset":3586,"count":0},{"startOffset":3662,"endOffset":3843,"count":2},{"startOffset":3918,"endOffset":3926,"count":0},{"startOffset":3998,"endOffset":4179,"count":0},{"startOffset":4233,"endOffset":4243,"count":251},{"startOffset":4243,"endOffset":4271,"count":244}],"isBlockCoverage":true}]},{"scriptId":"1912","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/msag_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4151,"count":1}],"isBlockCoverage":true},{"functionName":"MSAGConsistencyConf","ranges":[{"startOffset":401,"endOffset":533,"count":20848}],"isBlockCoverage":true},{"functionName":"MSAGConsistency","ranges":[{"startOffset":615,"endOffset":683,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":688,"endOffset":1034,"count":31097}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1039,"endOffset":1120,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1125,"endOffset":1170,"count":9912}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1175,"endOffset":1224,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1229,"endOffset":1274,"count":247}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1279,"endOffset":4061,"count":313},{"startOffset":1371,"endOffset":1405,"count":306},{"startOffset":1405,"endOffset":1490,"count":7},{"startOffset":1490,"endOffset":4032,"count":6},{"startOffset":1631,"endOffset":1998,"count":1},{"startOffset":2044,"endOffset":2377,"count":0},{"startOffset":2457,"endOffset":2771,"count":1},{"startOffset":2771,"endOffset":2838,"count":5},{"startOffset":3016,"endOffset":3377,"count":0},{"startOffset":3438,"endOffset":4008,"count":0},{"startOffset":4032,"endOffset":4060,"count":7}],"isBlockCoverage":true}]},{"scriptId":"1913","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/names_no_dash.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3969,"count":1}],"isBlockCoverage":true},{"functionName":"NamesNoDash","ranges":[{"startOffset":836,"endOffset":929,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":934,"endOffset":1341,"count":31101}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1346,"endOffset":1423,"count":5}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1428,"endOffset":1473,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1478,"endOffset":1527,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1532,"endOffset":3890,"count":263},{"startOffset":1658,"endOffset":1696,"count":12},{"startOffset":1696,"endOffset":1734,"count":251},{"startOffset":1734,"endOffset":1761,"count":200},{"startOffset":1763,"endOffset":3490,"count":180},{"startOffset":1838,"endOffset":2333,"count":35},{"startOffset":1973,"endOffset":2319,"count":37},{"startOffset":2030,"endOffset":2064,"count":36},{"startOffset":2066,"endOffset":2301,"count":2},{"startOffset":2412,"endOffset":2905,"count":2},{"startOffset":2545,"endOffset":2891,"count":3},{"startOffset":2602,"endOffset":2636,"count":2},{"startOffset":2638,"endOffset":2873,"count":1},{"startOffset":2987,"endOffset":3480,"count":2},{"startOffset":3120,"endOffset":3466,"count":3},{"startOffset":3177,"endOffset":3211,"count":2},{"startOffset":3213,"endOffset":3448,"count":1},{"startOffset":3490,"endOffset":3572,"count":251},{"startOffset":3572,"endOffset":3861,"count":168},{"startOffset":3656,"endOffset":3851,"count":1},{"startOffset":3861,"endOffset":3889,"count":251}],"isBlockCoverage":true}]},{"scriptId":"1914","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/nesting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2871,"count":1}],"isBlockCoverage":true},{"functionName":"NestingConf","ranges":[{"startOffset":440,"endOffset":559,"count":20845}],"isBlockCoverage":true},{"functionName":"Nesting","ranges":[{"startOffset":647,"endOffset":736,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":741,"endOffset":1199,"count":31097}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1204,"endOffset":1284,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1289,"endOffset":1334,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1339,"endOffset":1388,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1393,"endOffset":2806,"count":256},{"startOffset":1515,"endOffset":2777,"count":1460},{"startOffset":1621,"endOffset":1655,"count":1433},{"startOffset":1672,"endOffset":1707,"count":1431},{"startOffset":1724,"endOffset":1758,"count":1430},{"startOffset":1775,"endOffset":1815,"count":1423},{"startOffset":1832,"endOffset":1864,"count":1422},{"startOffset":1881,"endOffset":1914,"count":1418},{"startOffset":1916,"endOffset":1966,"count":45},{"startOffset":1966,"endOffset":2396,"count":1415},{"startOffset":2037,"endOffset":2074,"count":1399},{"startOffset":2091,"endOffset":2129,"count":1397},{"startOffset":2146,"endOffset":2183,"count":1395},{"startOffset":2200,"endOffset":2239,"count":1388},{"startOffset":2256,"endOffset":2291,"count":1387},{"startOffset":2308,"endOffset":2344,"count":1384},{"startOffset":2346,"endOffset":2396,"count":34},{"startOffset":2438,"endOffset":2767,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1915","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/newline_between_methods.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3633,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":499,"endOffset":598,"count":1}],"isBlockCoverage":true},{"functionName":"NewlineBetweenMethodsConf","ranges":[{"startOffset":744,"endOffset":1158,"count":20848}],"isBlockCoverage":true},{"functionName":"NewlineBetweenMethods","ranges":[{"startOffset":1288,"endOffset":1391,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1396,"endOffset":1699,"count":31107}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1704,"endOffset":2062,"count":11},{"startOffset":1766,"endOffset":1868,"count":4},{"startOffset":1881,"endOffset":2014,"count":7},{"startOffset":2027,"endOffset":2046,"count":0}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2067,"endOffset":2112,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2117,"endOffset":2166,"count":258}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2171,"endOffset":3300,"count":269},{"startOffset":2314,"endOffset":2348,"count":5},{"startOffset":2348,"endOffset":2403,"count":264},{"startOffset":2403,"endOffset":3271,"count":1591},{"startOffset":2529,"endOffset":2630,"count":69},{"startOffset":2580,"endOffset":2588,"count":1},{"startOffset":2589,"endOffset":2629,"count":68},{"startOffset":2632,"endOffset":2673,"count":1574},{"startOffset":2673,"endOffset":2792,"count":17},{"startOffset":2792,"endOffset":2827,"count":26},{"startOffset":2829,"endOffset":2898,"count":26},{"startOffset":2898,"endOffset":2944,"count":17},{"startOffset":2944,"endOffset":2985,"count":9},{"startOffset":3003,"endOffset":3075,"count":13},{"startOffset":3034,"endOffset":3074,"count":9},{"startOffset":3092,"endOffset":3108,"count":8},{"startOffset":3110,"endOffset":3261,"count":11},{"startOffset":3271,"endOffset":3299,"count":264}],"isBlockCoverage":true},{"functionName":"isConfigurationValid","ranges":[{"startOffset":3305,"endOffset":3524,"count":269},{"startOffset":3388,"endOffset":3428,"count":5},{"startOffset":3431,"endOffset":3468,"count":5},{"startOffset":3468,"endOffset":3518,"count":264}],"isBlockCoverage":true}]},{"scriptId":"1916","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sequential_blank.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2917,"count":1}],"isBlockCoverage":true},{"functionName":"SequentialBlankConf","ranges":[{"startOffset":493,"endOffset":730,"count":20846}],"isBlockCoverage":true},{"functionName":"SequentialBlank","ranges":[{"startOffset":842,"endOffset":939,"count":10424}],"isBlockCoverage":true},{"functionName":"isBlankOrWhitespace","ranges":[{"startOffset":951,"endOffset":1019,"count":1847}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1024,"endOffset":1384,"count":31102}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1389,"endOffset":1457,"count":5}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1462,"endOffset":1507,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1512,"endOffset":1561,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1566,"endOffset":2827,"count":265},{"startOffset":1721,"endOffset":2798,"count":1795},{"startOffset":1785,"endOffset":1826,"count":285},{"startOffset":1826,"endOffset":1887,"count":1510},{"startOffset":1932,"endOffset":2788,"count":5},{"startOffset":2026,"endOffset":2088,"count":4},{"startOffset":2090,"endOffset":2145,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1917","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_aliases.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1677,"count":1}],"isBlockCoverage":true},{"functionName":"NoAliases","ranges":[{"startOffset":535,"endOffset":626,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":631,"endOffset":947,"count":31105}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":952,"endOffset":997,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1002,"endOffset":1051,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1056,"endOffset":1605,"count":258},{"startOffset":1226,"endOffset":1576,"count":1467},{"startOffset":1286,"endOffset":1566,"count":10},{"startOffset":1313,"endOffset":1351,"count":1},{"startOffset":1353,"endOffset":1402,"count":1},{"startOffset":1402,"endOffset":1566,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1918","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_chained_assignment.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2006,"count":1}],"isBlockCoverage":true},{"functionName":"NoChainedAssignment","ranges":[{"startOffset":660,"endOffset":761,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":766,"endOffset":1285,"count":31097}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1290,"endOffset":1335,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1340,"endOffset":1389,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1394,"endOffset":1903,"count":257},{"startOffset":1485,"endOffset":1874,"count":1457},{"startOffset":1542,"endOffset":1583,"count":1445},{"startOffset":1583,"endOffset":1657,"count":12},{"startOffset":1657,"endOffset":1864,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1919","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_external_form_calls.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1876,"count":1}],"isBlockCoverage":true},{"functionName":"NoExternalFormCalls","ranges":[{"startOffset":660,"endOffset":761,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":766,"endOffset":1086,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1091,"endOffset":1136,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1141,"endOffset":1190,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1195,"endOffset":1772,"count":260},{"startOffset":1314,"endOffset":1368,"count":12},{"startOffset":1368,"endOffset":1437,"count":248},{"startOffset":1437,"endOffset":1743,"count":3},{"startOffset":1503,"endOffset":1540,"count":1},{"startOffset":1542,"endOffset":1733,"count":2},{"startOffset":1743,"endOffset":1771,"count":248}],"isBlockCoverage":true}]},{"scriptId":"1920","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_inline_in_optional_branches.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3065,"count":1}],"isBlockCoverage":true},{"functionName":"NoInlineInOptionalBranches","ranges":[{"startOffset":743,"endOffset":851,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":856,"endOffset":1525,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1530,"endOffset":1575,"count":9907}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1580,"endOffset":1629,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1634,"endOffset":2939,"count":257},{"startOffset":1890,"endOffset":1924,"count":0},{"startOffset":2001,"endOffset":2051,"count":12},{"startOffset":2051,"endOffset":2529,"count":245},{"startOffset":2529,"endOffset":2910,"count":29},{"startOffset":2629,"endOffset":2900,"count":1},{"startOffset":2910,"endOffset":2938,"count":245}],"isBlockCoverage":true}]},{"scriptId":"1921","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_prefixes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10547,"count":1}],"isBlockCoverage":true},{"functionName":"NoPrefixesConf","ranges":[{"startOffset":514,"endOffset":1622,"count":20858}],"isBlockCoverage":true},{"functionName":"NoPrefixes","ranges":[{"startOffset":1763,"endOffset":1855,"count":10436}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1860,"endOffset":2643,"count":31165}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2648,"endOffset":2693,"count":10208}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2698,"endOffset":2747,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2752,"endOffset":4095,"count":268},{"startOffset":2919,"endOffset":2987,"count":12},{"startOffset":2987,"endOffset":3047,"count":256},{"startOffset":3049,"endOffset":3214,"count":256},{"startOffset":3216,"endOffset":3397,"count":256},{"startOffset":3399,"endOffset":3584,"count":256},{"startOffset":3586,"endOffset":3757,"count":256},{"startOffset":3759,"endOffset":3944,"count":256},{"startOffset":3946,"endOffset":4094,"count":256}],"isBlockCoverage":true},{"functionName":"checkData","ranges":[{"startOffset":4100,"endOffset":5560,"count":256},{"startOffset":4402,"endOffset":4968,"count":133},{"startOffset":4508,"endOffset":4568,"count":0},{"startOffset":4649,"endOffset":4657,"count":0},{"startOffset":4691,"endOffset":4696,"count":0},{"startOffset":4766,"endOffset":4958,"count":19},{"startOffset":5048,"endOffset":5534,"count":7},{"startOffset":5215,"endOffset":5223,"count":0},{"startOffset":5257,"endOffset":5262,"count":0},{"startOffset":5332,"endOffset":5524,"count":3}],"isBlockCoverage":true},{"functionName":"checkStatics","ranges":[{"startOffset":5565,"endOffset":6272,"count":256},{"startOffset":5757,"endOffset":6246,"count":0}],"isBlockCoverage":true},{"functionName":"checkFieldSymbols","ranges":[{"startOffset":6277,"endOffset":7497,"count":256},{"startOffset":6421,"endOffset":6907,"count":4},{"startOffset":6588,"endOffset":6596,"count":0},{"startOffset":6630,"endOffset":6635,"count":0},{"startOffset":6705,"endOffset":6897,"count":1},{"startOffset":6985,"endOffset":7471,"count":3},{"startOffset":7152,"endOffset":7160,"count":0},{"startOffset":7194,"endOffset":7199,"count":0},{"startOffset":7269,"endOffset":7461,"count":2}],"isBlockCoverage":true},{"functionName":"checkConstants","ranges":[{"startOffset":7502,"endOffset":8215,"count":256},{"startOffset":7700,"endOffset":8189,"count":25},{"startOffset":7870,"endOffset":7878,"count":0},{"startOffset":7912,"endOffset":7917,"count":0},{"startOffset":7987,"endOffset":8179,"count":4}],"isBlockCoverage":true},{"functionName":"checkTypes","ranges":[{"startOffset":8220,"endOffset":9156,"count":256},{"startOffset":8636,"endOffset":9130,"count":116},{"startOffset":8811,"endOffset":8819,"count":0},{"startOffset":8853,"endOffset":8858,"count":0},{"startOffset":8928,"endOffset":9120,"count":35}],"isBlockCoverage":true},{"functionName":"checkMethodParameters","ranges":[{"startOffset":9161,"endOffset":10472,"count":256},{"startOffset":9329,"endOffset":10446,"count":56},{"startOffset":9454,"endOffset":10436,"count":34},{"startOffset":9525,"endOffset":9533,"count":0},{"startOffset":9668,"endOffset":9676,"count":0},{"startOffset":9755,"endOffset":9763,"count":0},{"startOffset":9811,"endOffset":9819,"count":0},{"startOffset":9944,"endOffset":9952,"count":0},{"startOffset":9989,"endOffset":10038,"count":2},{"startOffset":10038,"endOffset":10110,"count":32},{"startOffset":10111,"endOffset":10119,"count":0},{"startOffset":10120,"endOffset":10146,"count":32},{"startOffset":10178,"endOffset":10185,"count":32},{"startOffset":10186,"endOffset":10200,"count":32},{"startOffset":10201,"endOffset":10221,"count":32},{"startOffset":10223,"endOffset":10422,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1922","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_public_attributes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3859,"count":1}],"isBlockCoverage":true},{"functionName":"NoPublicAttributesConf","ranges":[{"startOffset":611,"endOffset":874,"count":20847}],"isBlockCoverage":true},{"functionName":"NoPublicAttributes","ranges":[{"startOffset":995,"endOffset":1095,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1100,"endOffset":1613,"count":31149}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1618,"endOffset":1726,"count":52}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1731,"endOffset":1776,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1781,"endOffset":1830,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1835,"endOffset":1997,"count":265}],"isBlockCoverage":true},{"functionName":"getAllPublicAttributes","ranges":[{"startOffset":2002,"endOffset":2252,"count":265}],"isBlockCoverage":true},{"functionName":"getAllPublicClassAttributes","ranges":[{"startOffset":2257,"endOffset":2705,"count":265},{"startOffset":2444,"endOffset":2672,"count":125},{"startOffset":2495,"endOffset":2536,"count":3},{"startOffset":2536,"endOffset":2672,"count":122}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2607,"endOffset":2659,"count":57}],"isBlockCoverage":true},{"functionName":"getAllPublicInterfaceAttributes","ranges":[{"startOffset":2710,"endOffset":3032,"count":265},{"startOffset":2858,"endOffset":2999,"count":52}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2934,"endOffset":2986,"count":19}],"isBlockCoverage":true},{"functionName":"findAllIssues","ranges":[{"startOffset":3037,"endOffset":3759,"count":265},{"startOffset":3131,"endOffset":3730,"count":65},{"startOffset":3182,"endOffset":3198,"count":6},{"startOffset":3200,"endOffset":3241,"count":3},{"startOffset":3241,"endOffset":3541,"count":62},{"startOffset":3328,"endOffset":3369,"count":10},{"startOffset":3369,"endOffset":3541,"count":52},{"startOffset":3446,"endOffset":3498,"count":0},{"startOffset":3500,"endOffset":3541,"count":0},{"startOffset":3541,"endOffset":3730,"count":52}],"isBlockCoverage":true}]},{"scriptId":"1923","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_yoda_conditions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4334,"count":1}],"isBlockCoverage":true},{"functionName":"NoYodaConditionsConf","ranges":[{"startOffset":469,"endOffset":623,"count":20847}],"isBlockCoverage":true},{"functionName":"NoYodaConditions","ranges":[{"startOffset":738,"endOffset":836,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":841,"endOffset":1350,"count":31102}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1355,"endOffset":1400,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1405,"endOffset":1454,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1459,"endOffset":3629,"count":272},{"startOffset":1602,"endOffset":1610,"count":13},{"startOffset":1611,"endOffset":1655,"count":259},{"startOffset":1657,"endOffset":1662,"count":13},{"startOffset":1664,"endOffset":3600,"count":33},{"startOffset":1780,"endOffset":1788,"count":0},{"startOffset":1916,"endOffset":1936,"count":32},{"startOffset":1953,"endOffset":1973,"count":32},{"startOffset":1990,"endOffset":2010,"count":30},{"startOffset":2027,"endOffset":2047,"count":30},{"startOffset":2064,"endOffset":2084,"count":30},{"startOffset":2101,"endOffset":2121,"count":30},{"startOffset":2138,"endOffset":2158,"count":30},{"startOffset":2160,"endOffset":2201,"count":4},{"startOffset":2201,"endOffset":2313,"count":29},{"startOffset":2313,"endOffset":2354,"count":0},{"startOffset":2354,"endOffset":2405,"count":29},{"startOffset":2405,"endOffset":2887,"count":5},{"startOffset":2464,"endOffset":2504,"count":2},{"startOffset":2506,"endOffset":2847,"count":1},{"startOffset":2887,"endOffset":3138,"count":24},{"startOffset":3138,"endOffset":3180,"count":23},{"startOffset":3182,"endOffset":3267,"count":21},{"startOffset":3224,"endOffset":3265,"count":5},{"startOffset":3269,"endOffset":3590,"count":4}],"isBlockCoverage":true},{"functionName":"isConstant","ranges":[{"startOffset":3634,"endOffset":3879,"count":28},{"startOffset":3712,"endOffset":3749,"count":0},{"startOffset":3820,"endOffset":3828,"count":0}],"isBlockCoverage":true},{"functionName":"isFieldChain","ranges":[{"startOffset":3884,"endOffset":4133,"count":5},{"startOffset":3964,"endOffset":4001,"count":0},{"startOffset":4072,"endOffset":4080,"count":0}],"isBlockCoverage":true},{"functionName":"withoutSpaces","ranges":[{"startOffset":4138,"endOffset":4240,"count":47}],"isBlockCoverage":true}]},{"scriptId":"1924","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/nrob_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2098,"count":1}],"isBlockCoverage":true},{"functionName":"NROBConsistency","ranges":[{"startOffset":471,"endOffset":539,"count":10422}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":544,"endOffset":972,"count":31095}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":977,"endOffset":1022,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1027,"endOffset":1076,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1081,"endOffset":1149,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1154,"endOffset":2008,"count":309},{"startOffset":1250,"endOffset":1424,"count":0},{"startOffset":1426,"endOffset":1732,"count":0},{"startOffset":1745,"endOffset":1790,"count":0},{"startOffset":1792,"endOffset":2007,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1925","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/object_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4950,"count":1}],"isBlockCoverage":true},{"functionName":"ObjectNamingConf","ranges":[{"startOffset":411,"endOffset":3140,"count":20935}],"isBlockCoverage":true},{"functionName":"ObjectNaming","ranges":[{"startOffset":3213,"endOffset":3278,"count":10494}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":3283,"endOffset":3560,"count":31162}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":3565,"endOffset":3816,"count":67},{"startOffset":3652,"endOffset":3730,"count":50},{"startOffset":3731,"endOffset":3809,"count":17}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":3821,"endOffset":3987,"count":10287},{"startOffset":3878,"endOffset":3899,"count":0},{"startOffset":3901,"endOffset":3955,"count":0}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":3992,"endOffset":4041,"count":315}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":4046,"endOffset":4091,"count":315}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":4096,"endOffset":4869,"count":381},{"startOffset":4189,"endOffset":4248,"count":1},{"startOffset":4443,"endOffset":4477,"count":8},{"startOffset":4477,"endOffset":4616,"count":373},{"startOffset":4616,"endOffset":4694,"count":67},{"startOffset":4694,"endOffset":4716,"count":373},{"startOffset":4716,"endOffset":4844,"count":67},{"startOffset":4844,"endOffset":4868,"count":306}],"isBlockCoverage":true}]},{"scriptId":"1926","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/obsolete_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":23982,"count":1}],"isBlockCoverage":true},{"functionName":"ObsoleteStatementConf","ranges":[{"startOffset":777,"endOffset":2914,"count":20862}],"isBlockCoverage":true},{"functionName":"ObsoleteStatement","ranges":[{"startOffset":3032,"endOffset":3131,"count":10440}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":3136,"endOffset":5762,"count":31161}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":5767,"endOffset":5812,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":5817,"endOffset":5866,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":5871,"endOffset":19539,"count":361},{"startOffset":6126,"endOffset":19510,"count":1563},{"startOffset":6218,"endOffset":6238,"count":3},{"startOffset":6256,"endOffset":6315,"count":1560},{"startOffset":6294,"endOffset":6314,"count":4},{"startOffset":6332,"endOffset":6383,"count":1556},{"startOffset":6366,"endOffset":6382,"count":3},{"startOffset":6400,"endOffset":6461,"count":1553},{"startOffset":6439,"endOffset":6460,"count":2},{"startOffset":6478,"endOffset":6589,"count":1551},{"startOffset":6528,"endOffset":6545,"count":2},{"startOffset":6546,"endOffset":6588,"count":2},{"startOffset":6606,"endOffset":6711,"count":1549},{"startOffset":6650,"endOffset":6667,"count":2},{"startOffset":6668,"endOffset":6710,"count":2},{"startOffset":6728,"endOffset":6789,"count":1547},{"startOffset":6767,"endOffset":6788,"count":2},{"startOffset":6806,"endOffset":6863,"count":1545},{"startOffset":6843,"endOffset":6862,"count":2},{"startOffset":6880,"endOffset":7157,"count":1543},{"startOffset":6915,"endOffset":6932,"count":31},{"startOffset":6953,"endOffset":7012,"count":31},{"startOffset":7033,"endOffset":7075,"count":8},{"startOffset":7096,"endOffset":7156,"count":8},{"startOffset":7159,"endOffset":7720,"count":27},{"startOffset":7200,"endOffset":7248,"count":1},{"startOffset":7249,"endOffset":7297,"count":1},{"startOffset":7299,"endOffset":7663,"count":26},{"startOffset":7806,"endOffset":8007,"count":1},{"startOffset":8092,"endOffset":8288,"count":1},{"startOffset":8355,"endOffset":8542,"count":1},{"startOffset":8619,"endOffset":9077,"count":5},{"startOffset":8742,"endOffset":9063,"count":2},{"startOffset":9148,"endOffset":9893,"count":3},{"startOffset":9286,"endOffset":9683,"count":2},{"startOffset":9991,"endOffset":10030,"count":1557},{"startOffset":10048,"endOffset":10122,"count":7},{"startOffset":10139,"endOffset":10208,"count":3},{"startOffset":10225,"endOffset":10295,"count":3},{"startOffset":10297,"endOffset":10747,"count":3},{"startOffset":10417,"endOffset":10425,"count":0},{"startOffset":10503,"endOffset":10529,"count":2},{"startOffset":10531,"endOffset":10733,"count":1},{"startOffset":10817,"endOffset":11367,"count":28},{"startOffset":11017,"endOffset":11335,"count":4},{"startOffset":11481,"endOffset":11518,"count":1562},{"startOffset":11539,"endOffset":11579,"count":1559},{"startOffset":11600,"endOffset":11640,"count":1550},{"startOffset":11642,"endOffset":11975,"count":40},{"startOffset":11750,"endOffset":11957,"count":7},{"startOffset":12070,"endOffset":12494,"count":130},{"startOffset":12191,"endOffset":12199,"count":114},{"startOffset":12200,"endOffset":12236,"count":16},{"startOffset":12269,"endOffset":12476,"count":1},{"startOffset":12594,"endOffset":13067,"count":129},{"startOffset":12683,"endOffset":13053,"count":2},{"startOffset":13157,"endOffset":13490,"count":3},{"startOffset":13260,"endOffset":13476,"count":1},{"startOffset":13566,"endOffset":13608,"count":2},{"startOffset":13610,"endOffset":13907,"count":2},{"startOffset":13986,"endOffset":14349,"count":2},{"startOffset":14104,"endOffset":14335,"count":1},{"startOffset":14423,"endOffset":14779,"count":6},{"startOffset":14543,"endOffset":14765,"count":1},{"startOffset":14850,"endOffset":15287,"count":2},{"startOffset":15047,"endOffset":15273,"count":1},{"startOffset":15382,"endOffset":15720,"count":2},{"startOffset":15490,"endOffset":15706,"count":1},{"startOffset":15796,"endOffset":16136,"count":4},{"startOffset":15920,"endOffset":16122,"count":1},{"startOffset":16223,"endOffset":16409,"count":1},{"startOffset":16490,"endOffset":16777,"count":32},{"startOffset":16561,"endOffset":16763,"count":1},{"startOffset":16936,"endOffset":16975,"count":1557},{"startOffset":16996,"endOffset":17039,"count":1556},{"startOffset":17060,"endOffset":17103,"count":1556},{"startOffset":17124,"endOffset":17167,"count":1555},{"startOffset":17188,"endOffset":17231,"count":1555},{"startOffset":17234,"endOffset":17576,"count":8},{"startOffset":17363,"endOffset":17562,"count":1},{"startOffset":17633,"endOffset":17651,"count":1556},{"startOffset":17653,"endOffset":19500,"count":1556},{"startOffset":17706,"endOffset":17742,"count":1553},{"startOffset":17744,"endOffset":18138,"count":6},{"startOffset":17853,"endOffset":17861,"count":2},{"startOffset":17862,"endOffset":17899,"count":4},{"startOffset":17901,"endOffset":18120,"count":2},{"startOffset":18138,"endOffset":19486,"count":1550},{"startOffset":18419,"endOffset":18455,"count":253},{"startOffset":18457,"endOffset":19468,"count":14},{"startOffset":18682,"endOffset":19030,"count":2},{"startOffset":18747,"endOffset":19004,"count":1},{"startOffset":19030,"endOffset":19446,"count":12},{"startOffset":19097,"endOffset":19446,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12744,"endOffset":12784,"count":16}],"isBlockCoverage":true},{"functionName":"getFix","ranges":[{"startOffset":19544,"endOffset":23886,"count":26},{"startOffset":19638,"endOffset":19861,"count":3},{"startOffset":19698,"endOffset":19747,"count":1},{"startOffset":19747,"endOffset":19861,"count":2},{"startOffset":19861,"endOffset":23854,"count":23},{"startOffset":19920,"endOffset":20773,"count":4},{"startOffset":20019,"endOffset":20763,"count":2},{"startOffset":20773,"endOffset":23854,"count":19},{"startOffset":20827,"endOffset":20882,"count":16},{"startOffset":20884,"endOffset":21576,"count":5},{"startOffset":21153,"endOffset":21264,"count":3},{"startOffset":21264,"endOffset":21439,"count":2},{"startOffset":21576,"endOffset":23854,"count":14},{"startOffset":21635,"endOffset":21688,"count":12},{"startOffset":21690,"endOffset":22385,"count":4},{"startOffset":21964,"endOffset":22248,"count":2},{"startOffset":22385,"endOffset":23854,"count":10},{"startOffset":22441,"endOffset":23165,"count":6},{"startOffset":22499,"endOffset":22548,"count":1},{"startOffset":22548,"endOffset":22833,"count":5},{"startOffset":22833,"endOffset":22882,"count":3},{"startOffset":22882,"endOffset":22950,"count":2},{"startOffset":22950,"endOffset":23165,"count":5},{"startOffset":23165,"endOffset":23854,"count":4},{"startOffset":23235,"endOffset":23295,"count":2},{"startOffset":23403,"endOffset":23595,"count":2},{"startOffset":23854,"endOffset":23885,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1927","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/omit_parameter_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5411,"count":1}],"isBlockCoverage":true},{"functionName":"OmitParameterName","ranges":[{"startOffset":860,"endOffset":930,"count":10432}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":935,"endOffset":1573,"count":31100}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1578,"endOffset":1646,"count":254}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1651,"endOffset":1696,"count":9911}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1701,"endOffset":1750,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1755,"endOffset":4406,"count":320},{"startOffset":1869,"endOffset":1896,"count":258},{"startOffset":1898,"endOffset":1932,"count":82},{"startOffset":1932,"endOffset":2063,"count":238},{"startOffset":2063,"endOffset":4377,"count":245},{"startOffset":2147,"endOffset":2188,"count":12},{"startOffset":2188,"endOffset":2266,"count":233},{"startOffset":2266,"endOffset":4367,"count":17},{"startOffset":2341,"endOffset":2390,"count":0},{"startOffset":2579,"endOffset":2605,"count":16},{"startOffset":2607,"endOffset":2656,"count":11},{"startOffset":2656,"endOffset":2774,"count":6},{"startOffset":2774,"endOffset":2823,"count":0},{"startOffset":2823,"endOffset":2948,"count":6},{"startOffset":2948,"endOffset":2997,"count":0},{"startOffset":2997,"endOffset":3144,"count":6},{"startOffset":3144,"endOffset":3193,"count":0},{"startOffset":3193,"endOffset":3284,"count":6},{"startOffset":3284,"endOffset":3333,"count":1},{"startOffset":3333,"endOffset":3454,"count":5},{"startOffset":3455,"endOffset":3463,"count":0},{"startOffset":3464,"endOffset":3484,"count":5},{"startOffset":3518,"endOffset":3533,"count":5},{"startOffset":3534,"endOffset":3542,"count":0},{"startOffset":3543,"endOffset":3569,"count":5},{"startOffset":3592,"endOffset":4353,"count":5},{"startOffset":3795,"endOffset":3803,"count":0},{"startOffset":4138,"endOffset":4335,"count":0},{"startOffset":4367,"endOffset":4377,"count":233},{"startOffset":4377,"endOffset":4405,"count":238}],"isBlockCoverage":true},{"functionName":"findMethodReference","ranges":[{"startOffset":4435,"endOffset":5314,"count":6},{"startOffset":4594,"endOffset":4635,"count":0},{"startOffset":4688,"endOffset":5282,"count":15},{"startOffset":4785,"endOffset":4857,"count":10},{"startOffset":4859,"endOffset":4900,"count":9},{"startOffset":4900,"endOffset":5272,"count":6},{"startOffset":5040,"endOffset":5098,"count":1},{"startOffset":5098,"endOffset":5258,"count":5},{"startOffset":5282,"endOffset":5313,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1928","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/omit_preceding_zeros.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3140,"count":1}],"isBlockCoverage":true},{"functionName":"OmitPrecedingZeros","ranges":[{"startOffset":705,"endOffset":805,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":810,"endOffset":1173,"count":31101}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1178,"endOffset":1223,"count":9910}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1228,"endOffset":1277,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1282,"endOffset":3040,"count":270},{"startOffset":1437,"endOffset":3011,"count":1469},{"startOffset":1510,"endOffset":2222,"count":52},{"startOffset":1639,"endOffset":1661,"count":13},{"startOffset":1663,"endOffset":2208,"count":4},{"startOffset":1732,"endOffset":1776,"count":3},{"startOffset":1778,"endOffset":2208,"count":2},{"startOffset":2305,"endOffset":3001,"count":4},{"startOffset":2417,"endOffset":2425,"count":0},{"startOffset":2511,"endOffset":2519,"count":0},{"startOffset":2589,"endOffset":2611,"count":2},{"startOffset":2613,"endOffset":2987,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1929","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/omit_receiving.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2511,"count":1}],"isBlockCoverage":true},{"functionName":"OmitReceiving","ranges":[{"startOffset":561,"endOffset":656,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":661,"endOffset":1519,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1524,"endOffset":1569,"count":9907}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1574,"endOffset":1623,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1628,"endOffset":2427,"count":257},{"startOffset":1767,"endOffset":1775,"count":12},{"startOffset":1776,"endOffset":1828,"count":245},{"startOffset":1830,"endOffset":1835,"count":12},{"startOffset":1837,"endOffset":2398,"count":9},{"startOffset":1948,"endOffset":1989,"count":8},{"startOffset":1989,"endOffset":2083,"count":1},{"startOffset":2083,"endOffset":2124,"count":0},{"startOffset":2124,"endOffset":2221,"count":1},{"startOffset":2221,"endOffset":2262,"count":0},{"startOffset":2262,"endOffset":2398,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1930","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/parser_702_chaining.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2896,"count":1}],"isBlockCoverage":true},{"functionName":"Parser702Chaining","ranges":[{"startOffset":626,"endOffset":725,"count":10428}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":730,"endOffset":1161,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1166,"endOffset":1211,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1216,"endOffset":1265,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1270,"endOffset":2799,"count":260},{"startOffset":1400,"endOffset":1463,"count":254},{"startOffset":1465,"endOffset":1499,"count":254},{"startOffset":1499,"endOffset":1574,"count":6},{"startOffset":1574,"endOffset":1608,"count":0},{"startOffset":1608,"endOffset":1691,"count":6},{"startOffset":1691,"endOffset":2770,"count":5},{"startOffset":1806,"endOffset":1847,"count":2},{"startOffset":1847,"endOffset":1886,"count":3},{"startOffset":1886,"endOffset":2760,"count":6},{"startOffset":2023,"endOffset":2072,"count":0},{"startOffset":2206,"endOffset":2337,"count":3},{"startOffset":2337,"endOffset":2379,"count":2},{"startOffset":2400,"endOffset":2444,"count":1},{"startOffset":2446,"endOffset":2746,"count":3},{"startOffset":2760,"endOffset":2770,"count":3},{"startOffset":2770,"endOffset":2798,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1931","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/parser_error.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3167,"count":1}],"isBlockCoverage":true},{"functionName":"ParserError","ranges":[{"startOffset":661,"endOffset":725,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":730,"endOffset":1054,"count":31113}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1059,"endOffset":1127,"count":264}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1132,"endOffset":1177,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1182,"endOffset":1231,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1236,"endOffset":3089,"count":330},{"startOffset":1376,"endOffset":3060,"count":268},{"startOffset":1429,"endOffset":3050,"count":275},{"startOffset":1493,"endOffset":2491,"count":1511},{"startOffset":1571,"endOffset":1628,"count":1501},{"startOffset":1628,"endOffset":1725,"count":10},{"startOffset":1725,"endOffset":2020,"count":0},{"startOffset":2020,"endOffset":2473,"count":10},{"startOffset":2574,"endOffset":3036,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1932","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/parser_missing_space.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10645,"count":1}],"isBlockCoverage":true},{"functionName":"ParserMissingSpace","ranges":[{"startOffset":713,"endOffset":813,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":818,"endOffset":1364,"count":31115}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1369,"endOffset":1414,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1419,"endOffset":1468,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1473,"endOffset":2054,"count":286},{"startOffset":1623,"endOffset":2025,"count":1489},{"startOffset":1708,"endOffset":2015,"count":19}],"isBlockCoverage":true},{"functionName":"missingSpace","ranges":[{"startOffset":2059,"endOffset":3737,"count":1489},{"startOffset":2484,"endOffset":3705,"count":233},{"startOffset":2570,"endOffset":2626,"count":37},{"startOffset":2626,"endOffset":3630,"count":196},{"startOffset":2684,"endOffset":2742,"count":156},{"startOffset":2742,"endOffset":3630,"count":40},{"startOffset":2801,"endOffset":2860,"count":4},{"startOffset":2860,"endOffset":3630,"count":36},{"startOffset":2925,"endOffset":2990,"count":3},{"startOffset":2990,"endOffset":3630,"count":33},{"startOffset":3058,"endOffset":3126,"count":2},{"startOffset":3126,"endOffset":3630,"count":31},{"startOffset":3185,"endOffset":3244,"count":3},{"startOffset":3244,"endOffset":3630,"count":28},{"startOffset":3309,"endOffset":3374,"count":4},{"startOffset":3374,"endOffset":3630,"count":24},{"startOffset":3435,"endOffset":3496,"count":4},{"startOffset":3496,"endOffset":3630,"count":20},{"startOffset":3652,"endOffset":3695,"count":19},{"startOffset":3705,"endOffset":3736,"count":1470}],"isBlockCoverage":true},{"functionName":"checkSQLCond","ranges":[{"startOffset":3742,"endOffset":4718,"count":3},{"startOffset":3858,"endOffset":4686,"count":8},{"startOffset":3926,"endOffset":4676,"count":2},{"startOffset":4302,"endOffset":4384,"count":0},{"startOffset":4583,"endOffset":4662,"count":1},{"startOffset":4686,"endOffset":4717,"count":2}],"isBlockCoverage":true},{"functionName":"checkNewObject","ranges":[{"startOffset":4723,"endOffset":5172,"count":4},{"startOffset":5073,"endOffset":5130,"count":1},{"startOffset":5140,"endOffset":5171,"count":3}],"isBlockCoverage":true},{"functionName":"checkCondSub","ranges":[{"startOffset":5177,"endOffset":6150,"count":4},{"startOffset":5293,"endOffset":6118,"count":9},{"startOffset":5358,"endOffset":6108,"count":4},{"startOffset":5734,"endOffset":5931,"count":2},{"startOffset":5952,"endOffset":6013,"count":2},{"startOffset":6015,"endOffset":6094,"count":1},{"startOffset":6118,"endOffset":6149,"count":1}],"isBlockCoverage":true},{"functionName":"checkComponentCondSub","ranges":[{"startOffset":6155,"endOffset":7146,"count":2},{"startOffset":6280,"endOffset":7114,"count":5},{"startOffset":6354,"endOffset":7104,"count":2},{"startOffset":6730,"endOffset":6812,"count":0},{"startOffset":7011,"endOffset":7090,"count":1},{"startOffset":7114,"endOffset":7145,"count":1}],"isBlockCoverage":true},{"functionName":"checkComponentCond","ranges":[{"startOffset":7151,"endOffset":7625,"count":3},{"startOffset":7278,"endOffset":7593,"count":10},{"startOffset":7425,"endOffset":7462,"count":3},{"startOffset":7479,"endOffset":7525,"count":3},{"startOffset":7527,"endOffset":7583,"count":0}],"isBlockCoverage":true},{"functionName":"checkValueBodyLine","ranges":[{"startOffset":7630,"endOffset":8805,"count":4},{"startOffset":7768,"endOffset":8773,"count":10},{"startOffset":7865,"endOffset":8763,"count":7},{"startOffset":7945,"endOffset":7953,"count":4},{"startOffset":7954,"endOffset":7973,"count":3},{"startOffset":8053,"endOffset":8061,"count":3},{"startOffset":8062,"endOffset":8082,"count":4},{"startOffset":8165,"endOffset":8172,"count":4},{"startOffset":8193,"endOffset":8245,"count":4},{"startOffset":8266,"endOffset":8327,"count":4},{"startOffset":8329,"endOffset":8411,"count":1},{"startOffset":8411,"endOffset":8493,"count":6},{"startOffset":8493,"endOffset":8500,"count":3},{"startOffset":8521,"endOffset":8574,"count":3},{"startOffset":8595,"endOffset":8668,"count":3},{"startOffset":8670,"endOffset":8749,"count":1},{"startOffset":8773,"endOffset":8804,"count":2}],"isBlockCoverage":true},{"functionName":"checkCond","ranges":[{"startOffset":8810,"endOffset":9275,"count":37},{"startOffset":8928,"endOffset":9243,"count":96},{"startOffset":9075,"endOffset":9112,"count":8},{"startOffset":9129,"endOffset":9175,"count":8},{"startOffset":9177,"endOffset":9233,"count":2},{"startOffset":9243,"endOffset":9274,"count":35}],"isBlockCoverage":true},{"functionName":"checkSource","ranges":[{"startOffset":9280,"endOffset":9775,"count":156},{"startOffset":9379,"endOffset":9420,"count":131},{"startOffset":9420,"endOffset":9587,"count":25},{"startOffset":9587,"endOffset":9625,"count":4},{"startOffset":9638,"endOffset":9696,"count":4},{"startOffset":9698,"endOffset":9743,"count":2},{"startOffset":9743,"endOffset":9774,"count":23}],"isBlockCoverage":true},{"functionName":"checkMethodCallParam","ranges":[{"startOffset":9780,"endOffset":10545,"count":20},{"startOffset":10096,"endOffset":10153,"count":3},{"startOffset":10163,"endOffset":10444,"count":17},{"startOffset":10446,"endOffset":10503,"count":4},{"startOffset":10513,"endOffset":10544,"count":13}],"isBlockCoverage":true}]},{"scriptId":"1933","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/pragma_style.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3098,"count":1}],"isBlockCoverage":true},{"functionName":"PragmaStyleConf","ranges":[{"startOffset":439,"endOffset":549,"count":20845}],"isBlockCoverage":true},{"functionName":"PragmaStyle","ranges":[{"startOffset":649,"endOffset":742,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":747,"endOffset":1202,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1207,"endOffset":1252,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1257,"endOffset":1430,"count":243},{"startOffset":1344,"endOffset":1424,"count":0}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1435,"endOffset":3020,"count":263},{"startOffset":1526,"endOffset":2991,"count":1462},{"startOffset":1573,"endOffset":1614,"count":1457},{"startOffset":1614,"endOffset":2981,"count":5},{"startOffset":1754,"endOffset":1831,"count":0},{"startOffset":1931,"endOffset":2244,"count":1},{"startOffset":2244,"endOffset":2365,"count":4},{"startOffset":2367,"endOffset":2967,"count":2},{"startOffset":2687,"endOffset":2729,"count":0},{"startOffset":2731,"endOffset":2967,"count":0},{"startOffset":2981,"endOffset":2991,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1934","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2180,"count":1}],"isBlockCoverage":true},{"functionName":"PreferCorresponding","ranges":[{"startOffset":636,"endOffset":737,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":742,"endOffset":1377,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1382,"endOffset":1427,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1432,"endOffset":1481,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1486,"endOffset":2078,"count":258},{"startOffset":1607,"endOffset":1645,"count":0},{"startOffset":1782,"endOffset":2049,"count":1457},{"startOffset":1867,"endOffset":1901,"count":3},{"startOffset":1903,"endOffset":2039,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1935","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_inline.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9567,"count":1}],"isBlockCoverage":true},{"functionName":"PreferInline","ranges":[{"startOffset":803,"endOffset":868,"count":10444}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":873,"endOffset":1873,"count":31103}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1878,"endOffset":1923,"count":9906}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1928,"endOffset":1996,"count":268}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2001,"endOffset":2050,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2055,"endOffset":2767,"count":334},{"startOffset":2104,"endOffset":2138,"count":20},{"startOffset":2138,"endOffset":2214,"count":314},{"startOffset":2214,"endOffset":2278,"count":0},{"startOffset":2280,"endOffset":2314,"count":0},{"startOffset":2314,"endOffset":2411,"count":314},{"startOffset":2377,"endOffset":2411,"count":62},{"startOffset":2411,"endOffset":2514,"count":252},{"startOffset":2514,"endOffset":2548,"count":25},{"startOffset":2548,"endOffset":2678,"count":227},{"startOffset":2678,"endOffset":2741,"count":77},{"startOffset":2741,"endOffset":2766,"count":227}],"isBlockCoverage":true},{"functionName":"analyzeScope","ranges":[{"startOffset":2804,"endOffset":6287,"count":77},{"startOffset":2949,"endOffset":6261,"count":72},{"startOffset":3077,"endOffset":3157,"count":41},{"startOffset":3174,"endOffset":3259,"count":36},{"startOffset":3261,"endOffset":3302,"count":38},{"startOffset":3302,"endOffset":3517,"count":34},{"startOffset":3367,"endOffset":3408,"count":1},{"startOffset":3408,"endOffset":3517,"count":33},{"startOffset":3476,"endOffset":3517,"count":2},{"startOffset":3517,"endOffset":3621,"count":31},{"startOffset":3621,"endOffset":3662,"count":21},{"startOffset":3662,"endOffset":3834,"count":10},{"startOffset":3834,"endOffset":3875,"count":0},{"startOffset":3875,"endOffset":4083,"count":10},{"startOffset":3931,"endOffset":3939,"count":0},{"startOffset":3991,"endOffset":4015,"count":3},{"startOffset":4016,"endOffset":4040,"count":1},{"startOffset":4042,"endOffset":4083,"count":1},{"startOffset":4083,"endOffset":4331,"count":9},{"startOffset":4332,"endOffset":4340,"count":0},{"startOffset":4341,"endOffset":4363,"count":9},{"startOffset":4410,"endOffset":4451,"count":0},{"startOffset":4451,"endOffset":4608,"count":9},{"startOffset":4608,"endOffset":4652,"count":4},{"startOffset":4669,"endOffset":4717,"count":4},{"startOffset":4734,"endOffset":4777,"count":4},{"startOffset":4795,"endOffset":4955,"count":6},{"startOffset":4858,"endOffset":4866,"count":0},{"startOffset":4926,"endOffset":4934,"count":0},{"startOffset":4972,"endOffset":5133,"count":5},{"startOffset":5035,"endOffset":5043,"count":0},{"startOffset":5103,"endOffset":5111,"count":0},{"startOffset":5135,"endOffset":5176,"count":5},{"startOffset":5176,"endOffset":5345,"count":4},{"startOffset":5346,"endOffset":5354,"count":0},{"startOffset":5355,"endOffset":5395,"count":4},{"startOffset":5429,"endOffset":5449,"count":4},{"startOffset":5450,"endOffset":5458,"count":0},{"startOffset":5459,"endOffset":5488,"count":4},{"startOffset":5490,"endOffset":5531,"count":0},{"startOffset":5531,"endOffset":5598,"count":4},{"startOffset":5600,"endOffset":6063,"count":4},{"startOffset":5794,"endOffset":5824,"count":1},{"startOffset":5825,"endOffset":5847,"count":3},{"startOffset":6063,"endOffset":6261,"count":4}],"isBlockCoverage":true},{"functionName":"findNextToken","ranges":[{"startOffset":6321,"endOffset":6681,"count":10},{"startOffset":6451,"endOffset":6492,"count":0},{"startOffset":6535,"endOffset":6649,"count":188},{"startOffset":6598,"endOffset":6639,"count":10},{"startOffset":6649,"endOffset":6680,"count":0}],"isBlockCoverage":true},{"functionName":"firstUseIsWrite","ranges":[{"startOffset":6686,"endOffset":8825,"count":31},{"startOffset":6884,"endOffset":7152,"count":73},{"startOffset":6979,"endOffset":7091,"count":13},{"startOffset":7027,"endOffset":7035,"count":0},{"startOffset":7093,"endOffset":7142,"count":2},{"startOffset":7152,"endOffset":7239,"count":29},{"startOffset":7239,"endOffset":7647,"count":59},{"startOffset":7338,"endOffset":7451,"count":15},{"startOffset":7386,"endOffset":7394,"count":0},{"startOffset":7453,"endOffset":7494,"count":48},{"startOffset":7494,"endOffset":7637,"count":11},{"startOffset":7647,"endOffset":7735,"count":29},{"startOffset":7735,"endOffset":8145,"count":62},{"startOffset":7835,"endOffset":7948,"count":23},{"startOffset":7883,"endOffset":7891,"count":0},{"startOffset":7950,"endOffset":7991,"count":49},{"startOffset":7991,"endOffset":8135,"count":13},{"startOffset":8145,"endOffset":8183,"count":29},{"startOffset":8183,"endOffset":8225,"count":18},{"startOffset":8225,"endOffset":8793,"count":11},{"startOffset":8269,"endOffset":8310,"count":8},{"startOffset":8310,"endOffset":8793,"count":3},{"startOffset":8661,"endOffset":8793,"count":0},{"startOffset":8793,"endOffset":8824,"count":0}],"isBlockCoverage":true},{"functionName":"isLocalDefinition","ranges":[{"startOffset":8830,"endOffset":9102,"count":72},{"startOffset":8969,"endOffset":9007,"count":41},{"startOffset":9009,"endOffset":9045,"count":41},{"startOffset":9045,"endOffset":9096,"count":31}],"isBlockCoverage":true},{"functionName":"findScopeCandidates","ranges":[{"startOffset":9107,"endOffset":9486,"count":1062},{"startOffset":9219,"endOffset":9283,"count":1031},{"startOffset":9285,"endOffset":9323,"count":77},{"startOffset":9323,"endOffset":9390,"count":985},{"startOffset":9390,"endOffset":9460,"count":835},{"startOffset":9460,"endOffset":9485,"count":985}],"isBlockCoverage":true}]},{"scriptId":"1936","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_is_not.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4981,"count":1}],"isBlockCoverage":true},{"functionName":"PreferIsNot","ranges":[{"startOffset":641,"endOffset":734,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":739,"endOffset":1460,"count":31116}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1465,"endOffset":1510,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1515,"endOffset":1564,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1569,"endOffset":2334,"count":291},{"startOffset":1660,"endOffset":2305,"count":1521},{"startOffset":1733,"endOffset":2295,"count":64},{"startOffset":1816,"endOffset":1865,"count":44},{"startOffset":1865,"endOffset":2037,"count":20},{"startOffset":1920,"endOffset":1986,"count":1},{"startOffset":1988,"endOffset":2037,"count":1},{"startOffset":2037,"endOffset":2295,"count":19}],"isBlockCoverage":true},{"functionName":"getFix","ranges":[{"startOffset":2339,"endOffset":4902,"count":19},{"startOffset":2460,"endOffset":2784,"count":4},{"startOffset":2784,"endOffset":4466,"count":15},{"startOffset":2869,"endOffset":2943,"count":14},{"startOffset":2945,"endOffset":3269,"count":2},{"startOffset":3269,"endOffset":4466,"count":13},{"startOffset":3340,"endOffset":3461,"count":6},{"startOffset":3461,"endOffset":4466,"count":7},{"startOffset":3533,"endOffset":3653,"count":1},{"startOffset":3653,"endOffset":4466,"count":6},{"startOffset":3724,"endOffset":3844,"count":1},{"startOffset":3844,"endOffset":4466,"count":5},{"startOffset":3915,"endOffset":4035,"count":1},{"startOffset":4035,"endOffset":4466,"count":4},{"startOffset":4107,"endOffset":4228,"count":1},{"startOffset":4228,"endOffset":4466,"count":3},{"startOffset":4300,"endOffset":4421,"count":1},{"startOffset":4421,"endOffset":4466,"count":2},{"startOffset":4466,"endOffset":4901,"count":17}],"isBlockCoverage":true}]},{"scriptId":"1937","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_pragmas.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2715,"count":1}],"isBlockCoverage":true},{"functionName":"PreferPragmasConf","ranges":[{"startOffset":471,"endOffset":972,"count":20847}],"isBlockCoverage":true},{"functionName":"PreferPragmas","ranges":[{"startOffset":1078,"endOffset":1173,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1178,"endOffset":1720,"count":31104}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1725,"endOffset":1770,"count":10172}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1775,"endOffset":1824,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1829,"endOffset":2631,"count":257},{"startOffset":1969,"endOffset":2602,"count":1457},{"startOffset":2039,"endOffset":2080,"count":1436},{"startOffset":2080,"endOffset":2198,"count":21},{"startOffset":2198,"endOffset":2239,"count":12},{"startOffset":2239,"endOffset":2286,"count":9},{"startOffset":2286,"endOffset":2592,"count":36},{"startOffset":2353,"endOffset":2578,"count":9},{"startOffset":2592,"endOffset":2602,"count":9}],"isBlockCoverage":true}]},{"scriptId":"1938","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_raise_exception_new.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3355,"count":1}],"isBlockCoverage":true},{"functionName":"PreferRaiseExceptionNew","ranges":[{"startOffset":632,"endOffset":737,"count":10432}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":742,"endOffset":1498,"count":31101}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1503,"endOffset":1548,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1553,"endOffset":1602,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1607,"endOffset":2515,"count":269},{"startOffset":1691,"endOffset":1725,"count":2},{"startOffset":1725,"endOffset":1807,"count":267},{"startOffset":1807,"endOffset":2486,"count":1466},{"startOffset":1874,"endOffset":2476,"count":11},{"startOffset":1996,"endOffset":2045,"count":2},{"startOffset":2045,"endOffset":2110,"count":9},{"startOffset":2110,"endOffset":2462,"count":5},{"startOffset":2293,"endOffset":2299,"count":4},{"startOffset":2300,"endOffset":2307,"count":1},{"startOffset":2486,"endOffset":2514,"count":267}],"isBlockCoverage":true},{"functionName":"getFix","ranges":[{"startOffset":2520,"endOffset":3239,"count":5},{"startOffset":2674,"endOffset":2892,"count":4},{"startOffset":2892,"endOffset":3052,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1939","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_returning_to_exporting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3840,"count":1}],"isBlockCoverage":true},{"functionName":"PreferReturningToExporting","ranges":[{"startOffset":702,"endOffset":810,"count":10431}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":815,"endOffset":1440,"count":31097}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1445,"endOffset":1490,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1495,"endOffset":1544,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1549,"endOffset":3715,"count":263},{"startOffset":1665,"endOffset":1699,"count":12},{"startOffset":1699,"endOffset":1772,"count":251},{"startOffset":1772,"endOffset":3689,"count":60},{"startOffset":1846,"endOffset":1887,"count":0},{"startOffset":2016,"endOffset":2057,"count":52},{"startOffset":2057,"endOffset":2186,"count":8},{"startOffset":2186,"endOffset":2227,"count":1},{"startOffset":2227,"endOffset":2350,"count":7},{"startOffset":2350,"endOffset":2391,"count":1},{"startOffset":2391,"endOffset":2519,"count":6},{"startOffset":2519,"endOffset":2555,"count":5},{"startOffset":2572,"endOffset":2600,"count":5},{"startOffset":2617,"endOffset":2649,"count":5},{"startOffset":2666,"endOffset":2702,"count":4},{"startOffset":2719,"endOffset":2750,"count":4},{"startOffset":2767,"endOffset":2802,"count":2},{"startOffset":2819,"endOffset":2858,"count":2},{"startOffset":2875,"endOffset":2913,"count":2},{"startOffset":2930,"endOffset":2958,"count":2},{"startOffset":2975,"endOffset":3009,"count":2},{"startOffset":3026,"endOffset":3059,"count":2},{"startOffset":3076,"endOffset":3104,"count":2},{"startOffset":3121,"endOffset":3154,"count":2},{"startOffset":3171,"endOffset":3210,"count":2},{"startOffset":3227,"endOffset":3268,"count":2},{"startOffset":3285,"endOffset":3317,"count":2},{"startOffset":3334,"endOffset":3362,"count":2},{"startOffset":3379,"endOffset":3415,"count":2},{"startOffset":3417,"endOffset":3458,"count":4},{"startOffset":3458,"endOffset":3689,"count":2},{"startOffset":3689,"endOffset":3714,"count":251}],"isBlockCoverage":true}]},{"scriptId":"1940","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_xsdbool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2419,"count":1}],"isBlockCoverage":true},{"functionName":"PreferXsdbool","ranges":[{"startOffset":651,"endOffset":746,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":751,"endOffset":1380,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1385,"endOffset":1430,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1435,"endOffset":1484,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1489,"endOffset":2335,"count":259},{"startOffset":1625,"endOffset":1689,"count":0},{"startOffset":1691,"endOffset":1725,"count":0},{"startOffset":1804,"endOffset":1812,"count":12},{"startOffset":1813,"endOffset":1856,"count":247},{"startOffset":1858,"endOffset":1863,"count":12},{"startOffset":1865,"endOffset":2306,"count":104},{"startOffset":1947,"endOffset":1988,"count":102},{"startOffset":1988,"endOffset":2306,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1941","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/preferred_compare_operator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3928,"count":1}],"isBlockCoverage":true},{"functionName":"PreferredCompareOperatorConf","ranges":[{"startOffset":542,"endOffset":711,"count":20848}],"isBlockCoverage":true},{"functionName":"PreferredCompareOperator","ranges":[{"startOffset":850,"endOffset":998,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1003,"endOffset":1393,"count":31118}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1398,"endOffset":1500,"count":20}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1505,"endOffset":1550,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1555,"endOffset":1604,"count":244}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1609,"endOffset":2266,"count":290},{"startOffset":1759,"endOffset":1793,"count":12},{"startOffset":1793,"endOffset":1950,"count":278},{"startOffset":1950,"endOffset":2237,"count":53},{"startOffset":2152,"endOffset":2227,"count":20},{"startOffset":2237,"endOffset":2265,"count":278}],"isBlockCoverage":true},{"functionName":"buildMapping","ranges":[{"startOffset":2271,"endOffset":2994,"count":290},{"startOffset":2333,"endOffset":2988,"count":222}],"isBlockCoverage":true},{"functionName":"createIssue","ranges":[{"startOffset":2999,"endOffset":3810,"count":20},{"startOffset":3190,"endOffset":3198,"count":0},{"startOffset":3360,"endOffset":3638,"count":19},{"startOffset":3638,"endOffset":3804,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1942","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefix_is_current_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5532,"count":1}],"isBlockCoverage":true},{"functionName":"PrefixIsCurrentClassConf","ranges":[{"startOffset":638,"endOffset":837,"count":20858}],"isBlockCoverage":true},{"functionName":"PrefixIsCurrentClass","ranges":[{"startOffset":964,"endOffset":1066,"count":10435}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1071,"endOffset":1663,"count":31107}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1668,"endOffset":1713,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1718,"endOffset":1767,"count":245}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1772,"endOffset":1870,"count":267}],"isBlockCoverage":true},{"functionName":"checkInterfaces","ranges":[{"startOffset":1875,"endOffset":3307,"count":267},{"startOffset":1991,"endOffset":2025,"count":12},{"startOffset":2025,"endOffset":2127,"count":255},{"startOffset":2127,"endOffset":3278,"count":57},{"startOffset":2238,"endOffset":2246,"count":0},{"startOffset":2328,"endOffset":2369,"count":0},{"startOffset":2490,"endOffset":3268,"count":64},{"startOffset":2608,"endOffset":3254,"count":3},{"startOffset":2718,"endOffset":2775,"count":0},{"startOffset":3278,"endOffset":3306,"count":255}],"isBlockCoverage":true},{"functionName":"checkClasses","ranges":[{"startOffset":3312,"endOffset":5425,"count":267},{"startOffset":3409,"endOffset":3443,"count":12},{"startOffset":3443,"endOffset":3726,"count":255},{"startOffset":3726,"endOffset":5396,"count":242},{"startOffset":3951,"endOffset":5386,"count":933},{"startOffset":4092,"endOffset":4670,"count":8},{"startOffset":4670,"endOffset":5372,"count":925},{"startOffset":4755,"endOffset":4783,"count":899},{"startOffset":4804,"endOffset":4854,"count":3},{"startOffset":4856,"endOffset":5372,"count":1},{"startOffset":5396,"endOffset":5424,"count":255}],"isBlockCoverage":true}]},{"scriptId":"1943","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/reduce_procedural_code.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3269,"count":1}],"isBlockCoverage":true},{"functionName":"ReduceProceduralCodeConf","ranges":[{"startOffset":555,"endOffset":638,"count":20848}],"isBlockCoverage":true},{"functionName":"ReduceProceduralCode","ranges":[{"startOffset":765,"endOffset":867,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":872,"endOffset":1762,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1767,"endOffset":1812,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1817,"endOffset":1866,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1871,"endOffset":3163,"count":258},{"startOffset":1963,"endOffset":2057,"count":12},{"startOffset":2057,"endOffset":2168,"count":246},{"startOffset":2168,"endOffset":3134,"count":1459},{"startOffset":2229,"endOffset":2284,"count":1426},{"startOffset":2286,"endOffset":2365,"count":35},{"startOffset":2365,"endOffset":3124,"count":1424},{"startOffset":2433,"endOffset":2485,"count":1391},{"startOffset":2487,"endOffset":2917,"count":35},{"startOffset":2542,"endOffset":2566,"count":1},{"startOffset":2568,"endOffset":2866,"count":1},{"startOffset":2917,"endOffset":3124,"count":1389},{"startOffset":2988,"endOffset":3029,"count":29},{"startOffset":3029,"endOffset":3124,"count":1360},{"startOffset":3074,"endOffset":3124,"count":128},{"startOffset":3134,"endOffset":3162,"count":246}],"isBlockCoverage":true}]},{"scriptId":"1944","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/reduce_string_templates.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3779,"count":1}],"isBlockCoverage":true},{"functionName":"ReduceStringTemplates","ranges":[{"startOffset":609,"endOffset":712,"count":10430}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":717,"endOffset":1073,"count":31100}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1078,"endOffset":1123,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1128,"endOffset":1177,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1182,"endOffset":3670,"count":262},{"startOffset":1317,"endOffset":1351,"count":12},{"startOffset":1351,"endOffset":1441,"count":250},{"startOffset":1441,"endOffset":2550,"count":7},{"startOffset":1535,"endOffset":2540,"count":4},{"startOffset":1721,"endOffset":1913,"count":1},{"startOffset":2001,"endOffset":2058,"count":1},{"startOffset":2058,"endOffset":2154,"count":3},{"startOffset":2154,"endOffset":2508,"count":2},{"startOffset":2508,"endOffset":2526,"count":3},{"startOffset":2550,"endOffset":2630,"count":250},{"startOffset":2630,"endOffset":3641,"count":107},{"startOffset":2722,"endOffset":2763,"count":105},{"startOffset":2763,"endOffset":3111,"count":2},{"startOffset":2845,"endOffset":2886,"count":0},{"startOffset":2955,"endOffset":2996,"count":0},{"startOffset":3070,"endOffset":3111,"count":0},{"startOffset":3111,"endOffset":3197,"count":2},{"startOffset":3197,"endOffset":3238,"count":0},{"startOffset":3238,"endOffset":3631,"count":2},{"startOffset":3641,"endOffset":3669,"count":250}],"isBlockCoverage":true}]},{"scriptId":"1945","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/release_idoc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1795,"count":1}],"isBlockCoverage":true},{"functionName":"ReleaseIdoc","ranges":[{"startOffset":452,"endOffset":516,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":521,"endOffset":729,"count":31097}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":734,"endOffset":822,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":827,"endOffset":872,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":877,"endOffset":926,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":931,"endOffset":976,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":981,"endOffset":1717,"count":313},{"startOffset":1063,"endOffset":1097,"count":242},{"startOffset":1097,"endOffset":1140,"count":71},{"startOffset":1140,"endOffset":1267,"count":20},{"startOffset":1215,"endOffset":1257,"count":18},{"startOffset":1267,"endOffset":1351,"count":51},{"startOffset":1317,"endOffset":1351,"count":49},{"startOffset":1351,"endOffset":1420,"count":4},{"startOffset":1420,"endOffset":1711,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1946","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/remove_descriptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4112,"count":1}],"isBlockCoverage":true},{"functionName":"RemoveDescriptionsConf","ranges":[{"startOffset":542,"endOffset":760,"count":20848}],"isBlockCoverage":true},{"functionName":"RemoveDescriptions","ranges":[{"startOffset":851,"endOffset":922,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":927,"endOffset":1293,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1298,"endOffset":1343,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1348,"endOffset":1397,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1402,"endOffset":1470,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1475,"endOffset":2397,"count":313},{"startOffset":1678,"endOffset":2264,"count":52},{"startOffset":1793,"endOffset":1846,"count":0},{"startOffset":1882,"endOffset":1924,"count":3},{"startOffset":1924,"endOffset":2213,"count":49},{"startOffset":1973,"endOffset":2002,"count":0},{"startOffset":2004,"endOffset":2046,"count":0},{"startOffset":2171,"endOffset":2213,"count":1},{"startOffset":2213,"endOffset":2264,"count":48},{"startOffset":2264,"endOffset":2372,"count":261},{"startOffset":2316,"endOffset":2372,"count":20},{"startOffset":2372,"endOffset":2396,"count":241}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2125,"endOffset":2168,"count":3}],"isBlockCoverage":true},{"functionName":"checkInterface","ranges":[{"startOffset":2421,"endOffset":2695,"count":20},{"startOffset":2508,"endOffset":2542,"count":18},{"startOffset":2542,"endOffset":2614,"count":2},{"startOffset":2614,"endOffset":2648,"count":0},{"startOffset":2648,"endOffset":2694,"count":2}],"isBlockCoverage":true},{"functionName":"checkClass","ranges":[{"startOffset":2700,"endOffset":2970,"count":48},{"startOffset":2783,"endOffset":2817,"count":40},{"startOffset":2817,"endOffset":2889,"count":8},{"startOffset":2889,"endOffset":2923,"count":0},{"startOffset":2923,"endOffset":2969,"count":8}],"isBlockCoverage":true},{"functionName":"checkXML","ranges":[{"startOffset":2975,"endOffset":4013,"count":10},{"startOffset":3225,"endOffset":3259,"count":0},{"startOffset":3368,"endOffset":3402,"count":8},{"startOffset":3402,"endOffset":3566,"count":2},{"startOffset":3566,"endOffset":3987,"count":3},{"startOffset":3686,"endOffset":3727,"count":0},{"startOffset":3987,"endOffset":4012,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1947","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/rfc_error_handling.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3177,"count":1}],"isBlockCoverage":true},{"functionName":"RFCErrorHandling","ranges":[{"startOffset":642,"endOffset":740,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":745,"endOffset":1464,"count":31098}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1469,"endOffset":1621,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1626,"endOffset":1671,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1676,"endOffset":1725,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1730,"endOffset":3083,"count":259},{"startOffset":1824,"endOffset":3054,"count":1458},{"startOffset":1940,"endOffset":1981,"count":1454},{"startOffset":1981,"endOffset":2050,"count":4},{"startOffset":2050,"endOffset":2091,"count":1},{"startOffset":2091,"endOffset":2216,"count":3},{"startOffset":2216,"endOffset":2422,"count":1},{"startOffset":2422,"endOffset":2578,"count":2},{"startOffset":2578,"endOffset":2665,"count":6},{"startOffset":2665,"endOffset":2734,"count":2},{"startOffset":2734,"endOffset":2779,"count":1},{"startOffset":2796,"endOffset":2836,"count":1},{"startOffset":2838,"endOffset":3044,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1948","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/select_add_order_by.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5122,"count":1}],"isBlockCoverage":true},{"functionName":"SelectAddOrderByConf","ranges":[{"startOffset":646,"endOffset":736,"count":20845}],"isBlockCoverage":true},{"functionName":"SelectAddOrderBy","ranges":[{"startOffset":821,"endOffset":890,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":895,"endOffset":1535,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1540,"endOffset":1585,"count":9916}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1590,"endOffset":1658,"count":254}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1663,"endOffset":1712,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1717,"endOffset":3704,"count":320},{"startOffset":1831,"endOffset":1858,"count":258},{"startOffset":1860,"endOffset":1894,"count":82},{"startOffset":1894,"endOffset":2025,"count":238},{"startOffset":2025,"endOffset":3675,"count":245},{"startOffset":2109,"endOffset":2155,"count":12},{"startOffset":2155,"endOffset":2340,"count":233},{"startOffset":2340,"endOffset":3665,"count":13},{"startOffset":2462,"endOffset":2511,"count":3},{"startOffset":2511,"endOffset":2720,"count":10},{"startOffset":2588,"endOffset":2596,"count":0},{"startOffset":2630,"endOffset":2669,"count":0},{"startOffset":2671,"endOffset":2720,"count":0},{"startOffset":2720,"endOffset":2865,"count":10},{"startOffset":2865,"endOffset":2984,"count":6},{"startOffset":2926,"endOffset":2934,"count":0},{"startOffset":2986,"endOffset":3035,"count":3},{"startOffset":3035,"endOffset":3157,"count":7},{"startOffset":3108,"endOffset":3157,"count":1},{"startOffset":3157,"endOffset":3227,"count":6},{"startOffset":3227,"endOffset":3526,"count":3},{"startOffset":3345,"endOffset":3399,"count":1},{"startOffset":3401,"endOffset":3526,"count":1},{"startOffset":3526,"endOffset":3665,"count":2},{"startOffset":3665,"endOffset":3675,"count":233},{"startOffset":3675,"endOffset":3703,"count":226}],"isBlockCoverage":true},{"functionName":"isTargetSortedOrHashed","ranges":[{"startOffset":3709,"endOffset":5027,"count":6},{"startOffset":3878,"endOffset":3886,"count":1},{"startOffset":3887,"endOffset":3931,"count":5},{"startOffset":3953,"endOffset":4999,"count":5},{"startOffset":4159,"endOffset":4167,"count":0},{"startOffset":4229,"endOffset":4237,"count":2},{"startOffset":4238,"endOffset":4252,"count":3},{"startOffset":4359,"endOffset":4382,"count":1},{"startOffset":4383,"endOffset":4420,"count":1},{"startOffset":4422,"endOffset":4645,"count":1},{"startOffset":4548,"endOffset":4601,"count":0},{"startOffset":4712,"endOffset":4943,"count":3},{"startOffset":4750,"endOffset":4758,"count":0},{"startOffset":4838,"endOffset":4942,"count":0},{"startOffset":4945,"endOffset":4989,"count":3},{"startOffset":4999,"endOffset":5026,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1949","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/select_performance.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5428,"count":1}],"isBlockCoverage":true},{"functionName":"SelectPerformanceConf","ranges":[{"startOffset":764,"endOffset":1147,"count":20846}],"isBlockCoverage":true},{"functionName":"SelectPerformance","ranges":[{"startOffset":1235,"endOffset":1305,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1310,"endOffset":2040,"count":31105}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":2045,"endOffset":2113,"count":252}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2118,"endOffset":2295,"count":9908},{"startOffset":2190,"endOffset":2263,"count":0}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2300,"endOffset":2349,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2354,"endOffset":4595,"count":318},{"startOffset":2422,"endOffset":2456,"count":62},{"startOffset":2456,"endOffset":2531,"count":256},{"startOffset":2531,"endOffset":4566,"count":263},{"startOffset":2615,"endOffset":2661,"count":12},{"startOffset":2661,"endOffset":3253,"count":251},{"startOffset":2775,"endOffset":2780,"count":0},{"startOffset":2782,"endOffset":3239,"count":5},{"startOffset":2975,"endOffset":3032,"count":1},{"startOffset":3032,"endOffset":3239,"count":4},{"startOffset":3253,"endOffset":4556,"count":251},{"startOffset":3581,"endOffset":4542,"count":12},{"startOffset":3739,"endOffset":3789,"count":7},{"startOffset":3791,"endOffset":3848,"count":4},{"startOffset":3848,"endOffset":4068,"count":8},{"startOffset":3952,"endOffset":4009,"count":7},{"startOffset":4011,"endOffset":4068,"count":2},{"startOffset":4068,"endOffset":4215,"count":6},{"startOffset":4215,"endOffset":4270,"count":2},{"startOffset":4272,"endOffset":4329,"count":2},{"startOffset":4329,"endOffset":4542,"count":4},{"startOffset":4566,"endOffset":4594,"count":244}],"isBlockCoverage":true},{"functionName":"findNumberOfColumns","ranges":[{"startOffset":4600,"endOffset":5332,"count":6},{"startOffset":4955,"endOffset":4963,"count":0},{"startOffset":5118,"endOffset":5126,"count":4},{"startOffset":5127,"endOffset":5153,"count":2},{"startOffset":5221,"endOffset":5290,"count":2},{"startOffset":5300,"endOffset":5331,"count":4}],"isBlockCoverage":true}]},{"scriptId":"1950","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/select_single_full_key.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5587,"count":1}],"isBlockCoverage":true},{"functionName":"SelectSingleFullKeyConf","ranges":[{"startOffset":443,"endOffset":526,"count":20850}],"isBlockCoverage":true},{"functionName":"SelectSingleFullKey","ranges":[{"startOffset":620,"endOffset":692,"count":10428}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":697,"endOffset":1190,"count":31099}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1195,"endOffset":1263,"count":249}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1268,"endOffset":1541,"count":9910},{"startOffset":1319,"endOffset":1406,"count":0},{"startOffset":1456,"endOffset":1509,"count":0}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1546,"endOffset":1595,"count":243}],"isBlockCoverage":true},{"functionName":"buildFix","ranges":[{"startOffset":1600,"endOffset":1825,"count":3}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1830,"endOffset":5255,"count":315},{"startOffset":1907,"endOffset":1941,"count":62},{"startOffset":1941,"endOffset":2045,"count":253},{"startOffset":2045,"endOffset":2079,"count":26},{"startOffset":2079,"endOffset":2216,"count":227},{"startOffset":2216,"endOffset":5226,"count":234},{"startOffset":2327,"endOffset":5216,"count":1302},{"startOffset":2435,"endOffset":2484,"count":1296},{"startOffset":2484,"endOffset":2745,"count":6},{"startOffset":2558,"endOffset":2607,"count":0},{"startOffset":2696,"endOffset":2745,"count":0},{"startOffset":2745,"endOffset":2887,"count":6},{"startOffset":2887,"endOffset":2936,"count":0},{"startOffset":2936,"endOffset":3038,"count":6},{"startOffset":3039,"endOffset":3047,"count":5},{"startOffset":3048,"endOffset":3060,"count":1},{"startOffset":3105,"endOffset":3175,"count":1},{"startOffset":3177,"endOffset":3467,"count":1},{"startOffset":3242,"endOffset":3419,"count":0},{"startOffset":3467,"endOffset":3688,"count":5},{"startOffset":3688,"endOffset":3737,"count":0},{"startOffset":3737,"endOffset":3949,"count":5},{"startOffset":3949,"endOffset":4179,"count":8},{"startOffset":3992,"endOffset":4127,"count":2},{"startOffset":4127,"endOffset":4179,"count":6},{"startOffset":4179,"endOffset":4251,"count":5},{"startOffset":4252,"endOffset":4260,"count":3},{"startOffset":4261,"endOffset":4323,"count":2},{"startOffset":4325,"endOffset":4330,"count":3},{"startOffset":4332,"endOffset":4945,"count":2},{"startOffset":4526,"endOffset":4534,"count":0},{"startOffset":4709,"endOffset":4717,"count":0},{"startOffset":4808,"endOffset":4828,"count":0},{"startOffset":4945,"endOffset":4980,"count":5},{"startOffset":4980,"endOffset":5202,"count":3},{"startOffset":5226,"endOffset":5254,"count":227}],"isBlockCoverage":true},{"functionName":"findReference","ranges":[{"startOffset":5260,"endOffset":5483,"count":5},{"startOffset":5431,"endOffset":5439,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1951","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/selection_screen_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4712,"count":1}],"isBlockCoverage":true},{"functionName":"SelectionScreenNamingConf","ranges":[{"startOffset":616,"endOffset":965,"count":20850}],"isBlockCoverage":true},{"functionName":"SelectionScreenNaming","ranges":[{"startOffset":1095,"endOffset":1198,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1203,"endOffset":1549,"count":31115}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1554,"endOffset":1833,"count":17},{"startOffset":1641,"endOffset":1733,"count":10},{"startOffset":1734,"endOffset":1826,"count":7}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1838,"endOffset":1883,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1888,"endOffset":1937,"count":246}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1942,"endOffset":3580,"count":302},{"startOffset":2036,"endOffset":2095,"count":0},{"startOffset":2308,"endOffset":2362,"count":16},{"startOffset":2452,"endOffset":2504,"count":16},{"startOffset":2596,"endOffset":2649,"count":16},{"startOffset":2699,"endOffset":3551,"count":1501},{"startOffset":2763,"endOffset":2789,"count":10},{"startOffset":2807,"endOffset":2884,"count":1494},{"startOffset":2859,"endOffset":2883,"count":10},{"startOffset":2901,"endOffset":2982,"count":1487},{"startOffset":2956,"endOffset":2981,"count":30},{"startOffset":2984,"endOffset":3541,"count":34},{"startOffset":3277,"endOffset":3527,"count":17}],"isBlockCoverage":true},{"functionName":"getPatternForStatement","ranges":[{"startOffset":3585,"endOffset":4038,"count":51},{"startOffset":3704,"endOffset":3758,"count":10},{"startOffset":3758,"endOffset":4008,"count":41},{"startOffset":3824,"endOffset":3881,"count":11},{"startOffset":3881,"endOffset":4008,"count":30}],"isBlockCoverage":true},{"functionName":"getFieldForStatementNode","ranges":[{"startOffset":4043,"endOffset":4603,"count":34},{"startOffset":4142,"endOffset":4226,"count":7},{"startOffset":4226,"endOffset":4597,"count":27},{"startOffset":4297,"endOffset":4381,"count":7},{"startOffset":4381,"endOffset":4597,"count":20},{"startOffset":4542,"endOffset":4597,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1952","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/short_case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2807,"count":1}],"isBlockCoverage":true},{"functionName":"ShortCaseConf","ranges":[{"startOffset":574,"endOffset":929,"count":20845}],"isBlockCoverage":true},{"functionName":"ShortCase","ranges":[{"startOffset":1023,"endOffset":1114,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1119,"endOffset":1583,"count":31099}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1588,"endOffset":1723,"count":3}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1728,"endOffset":1773,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1778,"endOffset":1827,"count":245}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1832,"endOffset":2735,"count":262},{"startOffset":1953,"endOffset":1987,"count":12},{"startOffset":1987,"endOffset":2054,"count":250},{"startOffset":2054,"endOffset":2706,"count":8},{"startOffset":2259,"endOffset":2300,"count":0},{"startOffset":2385,"endOffset":2696,"count":4},{"startOffset":2456,"endOffset":2505,"count":1},{"startOffset":2505,"endOffset":2696,"count":3},{"startOffset":2706,"endOffset":2734,"count":250}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2199,"endOffset":2256,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1953","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sicf_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3991,"count":1}],"isBlockCoverage":true},{"functionName":"SICFConsistencyConf","ranges":[{"startOffset":401,"endOffset":571,"count":20847}],"isBlockCoverage":true},{"functionName":"SICFConsistency","ranges":[{"startOffset":653,"endOffset":721,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":726,"endOffset":1085,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1090,"endOffset":1135,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1140,"endOffset":1286,"count":243},{"startOffset":1231,"endOffset":1280,"count":0}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1291,"endOffset":1359,"count":246}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1364,"endOffset":3311,"count":312},{"startOffset":1454,"endOffset":1488,"count":309},{"startOffset":1488,"endOffset":1572,"count":3},{"startOffset":1572,"endOffset":1606,"count":1},{"startOffset":1606,"endOffset":3282,"count":2},{"startOffset":1735,"endOffset":2388,"count":1},{"startOffset":1850,"endOffset":1899,"count":0},{"startOffset":2388,"endOffset":2475,"count":1},{"startOffset":2475,"endOffset":2773,"count":0},{"startOffset":2773,"endOffset":2944,"count":1},{"startOffset":2944,"endOffset":3272,"count":0},{"startOffset":3282,"endOffset":3310,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1805,"endOffset":1847,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2874,"endOffset":2937,"count":1}],"isBlockCoverage":true},{"functionName":"findImplementing","ranges":[{"startOffset":3348,"endOffset":3901,"count":1},{"startOffset":3490,"endOffset":3875,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1954","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/slow_parameter_passing.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4074,"count":1}],"isBlockCoverage":true},{"functionName":"SlowParameterPassing","ranges":[{"startOffset":698,"endOffset":771,"count":10429}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":776,"endOffset":1569,"count":31097}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1574,"endOffset":1619,"count":9908}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1624,"endOffset":1673,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1678,"endOffset":1746,"count":250}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1751,"endOffset":3090,"count":316},{"startOffset":1846,"endOffset":1880,"count":62},{"startOffset":1880,"endOffset":2051,"count":254},{"startOffset":2051,"endOffset":3061,"count":53},{"startOffset":2151,"endOffset":2332,"count":7},{"startOffset":2332,"endOffset":2367,"count":46},{"startOffset":2367,"endOffset":3051,"count":44},{"startOffset":2508,"endOffset":2557,"count":40},{"startOffset":2557,"endOffset":2686,"count":4},{"startOffset":2637,"endOffset":2686,"count":0},{"startOffset":2686,"endOffset":2791,"count":4},{"startOffset":2791,"endOffset":3037,"count":2},{"startOffset":3051,"endOffset":3061,"count":46},{"startOffset":3061,"endOffset":3089,"count":254}],"isBlockCoverage":true},{"functionName":"listWritePositions","ranges":[{"startOffset":3095,"endOffset":3632,"count":4},{"startOffset":3221,"endOffset":3606,"count":11},{"startOffset":3321,"endOffset":3418,"count":4},{"startOffset":3369,"endOffset":3377,"count":0},{"startOffset":3435,"endOffset":3530,"count":4},{"startOffset":3483,"endOffset":3491,"count":0},{"startOffset":3532,"endOffset":3596,"count":2}],"isBlockCoverage":true},{"functionName":"listMethodNodes","ranges":[{"startOffset":3637,"endOffset":3968,"count":1178},{"startOffset":3760,"endOffset":3799,"count":53},{"startOffset":3799,"endOffset":3942,"count":1125},{"startOffset":3863,"endOffset":3932,"count":924}],"isBlockCoverage":true}]},{"scriptId":"1955","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/smim_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2034,"count":1}],"isBlockCoverage":true},{"functionName":"SMIMConsistency","ranges":[{"startOffset":478,"endOffset":546,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":551,"endOffset":795,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":800,"endOffset":845,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":850,"endOffset":899,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":904,"endOffset":972,"count":245}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":977,"endOffset":1545,"count":311},{"startOffset":1067,"endOffset":1101,"count":309},{"startOffset":1101,"endOffset":1146,"count":2},{"startOffset":1146,"endOffset":1151,"count":0},{"startOffset":1178,"endOffset":1212,"count":1},{"startOffset":1214,"endOffset":1516,"count":1},{"startOffset":1516,"endOffset":1544,"count":2}],"isBlockCoverage":true},{"functionName":"base","ranges":[{"startOffset":1550,"endOffset":1675,"count":2}],"isBlockCoverage":true},{"functionName":"findFolder","ranges":[{"startOffset":1680,"endOffset":1944,"count":1},{"startOffset":1833,"endOffset":1860,"count":0},{"startOffset":1862,"endOffset":1906,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1956","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/space_before_colon.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2603,"count":1}],"isBlockCoverage":true},{"functionName":"SpaceBeforeColon","ranges":[{"startOffset":606,"endOffset":704,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":709,"endOffset":1231,"count":31098}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1236,"endOffset":1300,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1305,"endOffset":1350,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1355,"endOffset":1404,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1409,"endOffset":2509,"count":259},{"startOffset":1540,"endOffset":2480,"count":5910},{"startOffset":1581,"endOffset":1589,"count":63},{"startOffset":1591,"endOffset":1771,"count":0},{"startOffset":1832,"endOffset":1867,"count":63},{"startOffset":1884,"endOffset":1940,"count":63},{"startOffset":1942,"endOffset":2444,"count":2}],"isBlockCoverage":true}]},{"scriptId":"1957","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/space_before_dot.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3978,"count":1}],"isBlockCoverage":true},{"functionName":"SpaceBeforeDotConf","ranges":[{"startOffset":681,"endOffset":813,"count":20845}],"isBlockCoverage":true},{"functionName":"SpaceBeforeDot","ranges":[{"startOffset":922,"endOffset":1018,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1023,"endOffset":1663,"count":31126}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1668,"endOffset":1741,"count":10}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1746,"endOffset":1791,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1796,"endOffset":1845,"count":245}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1850,"endOffset":3890,"count":267},{"startOffset":2003,"endOffset":2085,"count":12},{"startOffset":2085,"endOffset":2180,"count":255},{"startOffset":2180,"endOffset":3102,"count":253},{"startOffset":2280,"endOffset":2306,"count":51},{"startOffset":2308,"endOffset":2762,"count":51},{"startOffset":2438,"endOffset":2523,"count":49},{"startOffset":2630,"endOffset":2659,"count":49},{"startOffset":2660,"endOffset":2696,"count":49},{"startOffset":2698,"endOffset":2748,"count":1},{"startOffset":2762,"endOffset":3092,"count":202},{"startOffset":2819,"endOffset":2845,"count":20},{"startOffset":2847,"endOffset":3092,"count":20},{"startOffset":3102,"endOffset":3145,"count":254},{"startOffset":3145,"endOffset":3861,"count":5827},{"startOffset":3186,"endOffset":3227,"count":1140},{"startOffset":3227,"endOffset":3263,"count":4687},{"startOffset":3263,"endOffset":3299,"count":4433},{"startOffset":3300,"endOffset":3352,"count":1207},{"startOffset":3354,"endOffset":3829,"count":10},{"startOffset":3829,"endOffset":3861,"count":4687},{"startOffset":3861,"endOffset":3889,"count":254}],"isBlockCoverage":true}]},{"scriptId":"1958","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sql_escape_host_variables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4490,"count":1}],"isBlockCoverage":true},{"functionName":"SQLEscapeHostVariables","ranges":[{"startOffset":768,"endOffset":872,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":877,"endOffset":1518,"count":31109}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1523,"endOffset":1568,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1573,"endOffset":1622,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1627,"endOffset":4377,"count":279},{"startOffset":1741,"endOffset":1759,"count":259},{"startOffset":1761,"endOffset":1795,"count":23},{"startOffset":1795,"endOffset":1883,"count":256},{"startOffset":1883,"endOffset":1947,"count":0},{"startOffset":1949,"endOffset":1983,"count":0},{"startOffset":1983,"endOffset":2030,"count":256},{"startOffset":2030,"endOffset":4348,"count":1392},{"startOffset":2109,"endOffset":2156,"count":1389},{"startOffset":2173,"endOffset":2212,"count":1389},{"startOffset":2229,"endOffset":2272,"count":1374},{"startOffset":2289,"endOffset":2336,"count":1372},{"startOffset":2353,"endOffset":2400,"count":1371},{"startOffset":2402,"endOffset":4338,"count":25},{"startOffset":2517,"endOffset":3536,"count":12},{"startOffset":2633,"endOffset":2641,"count":0},{"startOffset":2687,"endOffset":2752,"count":0},{"startOffset":2818,"endOffset":2826,"count":0},{"startOffset":2879,"endOffset":2944,"count":10},{"startOffset":2947,"endOffset":3518,"count":7},{"startOffset":3240,"endOffset":3248,"count":0},{"startOffset":3614,"endOffset":4324,"count":16},{"startOffset":3729,"endOffset":3786,"count":10},{"startOffset":3786,"endOffset":4065,"count":6},{"startOffset":4066,"endOffset":4074,"count":0},{"startOffset":4075,"endOffset":4096,"count":6},{"startOffset":4348,"endOffset":4376,"count":256}],"isBlockCoverage":true}]},{"scriptId":"1959","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sql_value_conversion.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2268,"count":1}],"isBlockCoverage":true},{"functionName":"SQLValueConversion","ranges":[{"startOffset":565,"endOffset":636,"count":10428}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":641,"endOffset":1151,"count":31098}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1156,"endOffset":1201,"count":9909}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1206,"endOffset":1255,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1260,"endOffset":1328,"count":249}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1333,"endOffset":1652,"count":315},{"startOffset":1400,"endOffset":1437,"count":253},{"startOffset":1439,"endOffset":1473,"count":82},{"startOffset":1473,"endOffset":1651,"count":233}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":1657,"endOffset":2168,"count":1076},{"startOffset":1752,"endOffset":2043,"count":3},{"startOffset":1870,"endOffset":1911,"count":0},{"startOffset":2088,"endOffset":2142,"count":843}],"isBlockCoverage":true}]},{"scriptId":"1960","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/start_at_tab.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2863,"count":1}],"isBlockCoverage":true},{"functionName":"StartAtTab","ranges":[{"startOffset":619,"endOffset":711,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":716,"endOffset":1251,"count":31099}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1256,"endOffset":1326,"count":3}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1331,"endOffset":1376,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1381,"endOffset":1430,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1435,"endOffset":2787,"count":261},{"startOffset":1635,"endOffset":2758,"count":1465},{"startOffset":1702,"endOffset":1743,"count":22},{"startOffset":1743,"endOffset":2051,"count":1443},{"startOffset":1816,"endOffset":1862,"count":28},{"startOffset":1862,"endOffset":2051,"count":1415},{"startOffset":1933,"endOffset":1980,"count":28},{"startOffset":1980,"endOffset":2051,"count":1387},{"startOffset":2010,"endOffset":2051,"count":43},{"startOffset":2051,"endOffset":2137,"count":1400},{"startOffset":2137,"endOffset":2174,"count":1141},{"startOffset":2176,"endOffset":2217,"count":70},{"startOffset":2217,"endOffset":2360,"count":1330},{"startOffset":2360,"endOffset":2409,"count":4},{"startOffset":2411,"endOffset":2720,"count":3},{"startOffset":2621,"endOffset":2706,"count":0},{"startOffset":2720,"endOffset":2758,"count":1330}],"isBlockCoverage":true}]},{"scriptId":"1961","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/static_call_via_instance.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3204,"count":1}],"isBlockCoverage":true},{"functionName":"StaticCallViaInstanceConf","ranges":[{"startOffset":604,"endOffset":745,"count":20847}],"isBlockCoverage":true},{"functionName":"StaticCallViaInstance","ranges":[{"startOffset":875,"endOffset":978,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":983,"endOffset":1413,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1418,"endOffset":1463,"count":10163}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1468,"endOffset":1517,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1522,"endOffset":2493,"count":257},{"startOffset":1635,"endOffset":1682,"count":0},{"startOffset":1684,"endOffset":1718,"count":0},{"startOffset":1954,"endOffset":2464,"count":5701},{"startOffset":2034,"endOffset":2075,"count":5689},{"startOffset":2075,"endOffset":2163,"count":12},{"startOffset":2163,"endOffset":2454,"count":1},{"startOffset":2454,"endOffset":2464,"count":12}],"isBlockCoverage":true},{"functionName":"listMethodCalls","ranges":[{"startOffset":2498,"endOffset":3094,"count":1182},{"startOffset":2607,"endOffset":2944,"count":345},{"startOffset":2688,"endOffset":2728,"count":7},{"startOffset":2730,"endOffset":2771,"count":338},{"startOffset":2771,"endOffset":2868,"count":7},{"startOffset":2870,"endOffset":2934,"count":3},{"startOffset":2993,"endOffset":3068,"count":925}],"isBlockCoverage":true}]},{"scriptId":"1962","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/strict_sql.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4006,"count":1}],"isBlockCoverage":true},{"functionName":"StrictSQL","ranges":[{"startOffset":690,"endOffset":781,"count":10426}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":786,"endOffset":1529,"count":31102}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1534,"endOffset":1579,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1584,"endOffset":1633,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1638,"endOffset":3934,"count":270},{"startOffset":1752,"endOffset":1770,"count":250},{"startOffset":1772,"endOffset":1806,"count":23},{"startOffset":1806,"endOffset":1890,"count":247},{"startOffset":1890,"endOffset":1954,"count":0},{"startOffset":1956,"endOffset":1990,"count":0},{"startOffset":1990,"endOffset":2037,"count":247},{"startOffset":2037,"endOffset":3905,"count":1382},{"startOffset":2108,"endOffset":2151,"count":1366},{"startOffset":2153,"endOffset":3895,"count":17},{"startOffset":2291,"endOffset":2299,"count":1},{"startOffset":2300,"endOffset":2348,"count":16},{"startOffset":2413,"endOffset":2421,"count":1},{"startOffset":2422,"endOffset":2473,"count":16},{"startOffset":2538,"endOffset":2546,"count":1},{"startOffset":2547,"endOffset":2604,"count":16},{"startOffset":2626,"endOffset":2725,"count":11},{"startOffset":2663,"endOffset":2671,"count":1},{"startOffset":2672,"endOffset":2724,"count":10},{"startOffset":2746,"endOffset":2846,"count":11},{"startOffset":2783,"endOffset":2791,"count":1},{"startOffset":2792,"endOffset":2845,"count":10},{"startOffset":2887,"endOffset":2909,"count":16},{"startOffset":2911,"endOffset":2960,"count":3},{"startOffset":2960,"endOffset":3111,"count":14},{"startOffset":3062,"endOffset":3111,"count":8},{"startOffset":3111,"endOffset":3323,"count":6},{"startOffset":3323,"endOffset":3378,"count":2},{"startOffset":3380,"endOffset":3448,"count":2},{"startOffset":3448,"endOffset":3895,"count":6},{"startOffset":3905,"endOffset":3933,"count":247}],"isBlockCoverage":true}]},{"scriptId":"1963","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/superclass_final.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2763,"count":1}],"isBlockCoverage":true},{"functionName":"SuperclassFinal","ranges":[{"startOffset":547,"endOffset":644,"count":10430}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":649,"endOffset":925,"count":31097}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":930,"endOffset":997,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1002,"endOffset":1047,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1052,"endOffset":1101,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1106,"endOffset":2673,"count":266},{"startOffset":1228,"endOffset":2644,"count":125},{"startOffset":1316,"endOffset":1357,"count":111},{"startOffset":1357,"endOffset":1439,"count":14},{"startOffset":1439,"endOffset":1483,"count":7},{"startOffset":1485,"endOffset":1537,"count":5},{"startOffset":1537,"endOffset":1602,"count":14},{"startOffset":1602,"endOffset":1860,"count":9},{"startOffset":1656,"endOffset":1846,"count":11},{"startOffset":1774,"endOffset":1828,"count":9},{"startOffset":1860,"endOffset":1898,"count":14},{"startOffset":1898,"endOffset":2076,"count":5},{"startOffset":1988,"endOffset":2062,"count":4},{"startOffset":2076,"endOffset":2114,"count":14},{"startOffset":2114,"endOffset":2398,"count":1},{"startOffset":2398,"endOffset":2439,"count":13},{"startOffset":2439,"endOffset":2634,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1964","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/superfluous_value.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3033,"count":1}],"isBlockCoverage":true},{"functionName":"SuperfluousValue","ranges":[{"startOffset":683,"endOffset":781,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":786,"endOffset":1328,"count":31097}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1333,"endOffset":1378,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1383,"endOffset":1432,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1437,"endOffset":2940,"count":258},{"startOffset":1589,"endOffset":1653,"count":0},{"startOffset":1655,"endOffset":1689,"count":0},{"startOffset":1766,"endOffset":1816,"count":12},{"startOffset":1816,"endOffset":1883,"count":246},{"startOffset":1883,"endOffset":2911,"count":11},{"startOffset":1978,"endOffset":1986,"count":0},{"startOffset":2053,"endOffset":2094,"count":8},{"startOffset":2094,"endOffset":2204,"count":3},{"startOffset":2204,"endOffset":2245,"count":0},{"startOffset":2245,"endOffset":2360,"count":3},{"startOffset":2361,"endOffset":2369,"count":2},{"startOffset":2370,"endOffset":2389,"count":1},{"startOffset":2421,"endOffset":2462,"count":2},{"startOffset":2462,"endOffset":2576,"count":1},{"startOffset":2576,"endOffset":2617,"count":0},{"startOffset":2617,"endOffset":2901,"count":1},{"startOffset":2911,"endOffset":2939,"count":246}],"isBlockCoverage":true}]},{"scriptId":"1965","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sy_modification.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2215,"count":1}],"isBlockCoverage":true},{"functionName":"SyModification","ranges":[{"startOffset":567,"endOffset":663,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":668,"endOffset":1127,"count":31100}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1132,"endOffset":1177,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1182,"endOffset":1231,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1236,"endOffset":2128,"count":260},{"startOffset":1340,"endOffset":1374,"count":20},{"startOffset":1374,"endOffset":1452,"count":240},{"startOffset":1453,"endOffset":1461,"count":12},{"startOffset":1462,"endOffset":1505,"count":228},{"startOffset":1507,"endOffset":1512,"count":12},{"startOffset":1514,"endOffset":2099,"count":35},{"startOffset":1651,"endOffset":1712,"count":31},{"startOffset":1714,"endOffset":2089,"count":5},{"startOffset":1790,"endOffset":1839,"count":1},{"startOffset":1839,"endOffset":2089,"count":4},{"startOffset":2099,"endOffset":2127,"count":240}],"isBlockCoverage":true}]},{"scriptId":"1966","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/tabl_enhancement_category.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1908,"count":1}],"isBlockCoverage":true},{"functionName":"TABLEnhancementCategory","ranges":[{"startOffset":526,"endOffset":602,"count":10422}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":607,"endOffset":1063,"count":31097}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1068,"endOffset":1166,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1171,"endOffset":1216,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1221,"endOffset":1270,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1275,"endOffset":1320,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1325,"endOffset":1793,"count":309},{"startOffset":1383,"endOffset":1417,"count":291},{"startOffset":1417,"endOffset":1508,"count":18},{"startOffset":1508,"endOffset":1768,"count":2},{"startOffset":1768,"endOffset":1792,"count":16}],"isBlockCoverage":true}]},{"scriptId":"1967","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/tables_declared_locally.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2194,"count":1}],"isBlockCoverage":true},{"functionName":"TablesDeclaredLocally","ranges":[{"startOffset":670,"endOffset":773,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":778,"endOffset":1272,"count":31097}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1277,"endOffset":1322,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1327,"endOffset":1376,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1381,"endOffset":2085,"count":258},{"startOffset":1510,"endOffset":1548,"count":12},{"startOffset":1548,"endOffset":1692,"count":246},{"startOffset":1692,"endOffset":2056,"count":33},{"startOffset":1804,"endOffset":2046,"count":1},{"startOffset":2056,"endOffset":2084,"count":246}],"isBlockCoverage":true}]},{"scriptId":"1968","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/try_without_catch.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1984,"count":1}],"isBlockCoverage":true},{"functionName":"TryWithoutCatch","ranges":[{"startOffset":573,"endOffset":670,"count":10427}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":675,"endOffset":1005,"count":31097}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1010,"endOffset":1110,"count":2}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1115,"endOffset":1160,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1165,"endOffset":1214,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1219,"endOffset":1893,"count":259},{"startOffset":1338,"endOffset":1372,"count":12},{"startOffset":1372,"endOffset":1468,"count":247},{"startOffset":1468,"endOffset":1864,"count":6},{"startOffset":1639,"endOffset":1660,"count":3},{"startOffset":1662,"endOffset":1854,"count":2},{"startOffset":1864,"endOffset":1892,"count":247}],"isBlockCoverage":true}]},{"scriptId":"1969","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/type_form_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2084,"count":1}],"isBlockCoverage":true},{"functionName":"TypeFormParameters","ranges":[{"startOffset":632,"endOffset":732,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":737,"endOffset":1112,"count":31099}],"isBlockCoverage":true},{"functionName":"getDescription","ranges":[{"startOffset":1117,"endOffset":1226,"count":3}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1231,"endOffset":1276,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1281,"endOffset":1330,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1335,"endOffset":1984,"count":260},{"startOffset":1467,"endOffset":1488,"count":207},{"startOffset":1490,"endOffset":1525,"count":63},{"startOffset":1525,"endOffset":1606,"count":197},{"startOffset":1606,"endOffset":1958,"count":5},{"startOffset":1696,"endOffset":1948,"count":3},{"startOffset":1958,"endOffset":1983,"count":197}],"isBlockCoverage":true}]},{"scriptId":"1970","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/types_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3164,"count":1}],"isBlockCoverage":true},{"functionName":"TypesNamingConf","ranges":[{"startOffset":558,"endOffset":697,"count":20845}],"isBlockCoverage":true},{"functionName":"TypesNaming","ranges":[{"startOffset":797,"endOffset":890,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":895,"endOffset":1343,"count":31134}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1348,"endOffset":1393,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1398,"endOffset":1447,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1452,"endOffset":3086,"count":263},{"startOffset":1636,"endOffset":1670,"count":3},{"startOffset":1670,"endOffset":1720,"count":260},{"startOffset":1720,"endOffset":3057,"count":1465},{"startOffset":1810,"endOffset":1826,"count":90},{"startOffset":1828,"endOffset":1925,"count":46},{"startOffset":1925,"endOffset":2519,"count":1419},{"startOffset":2006,"endOffset":2055,"count":1389},{"startOffset":2057,"endOffset":2252,"count":33},{"startOffset":2094,"endOffset":2199,"count":30},{"startOffset":2252,"endOffset":2519,"count":1386},{"startOffset":2331,"endOffset":2378,"count":1356},{"startOffset":2380,"endOffset":2460,"count":33},{"startOffset":2460,"endOffset":2519,"count":1353},{"startOffset":2519,"endOffset":2556,"count":79},{"startOffset":2556,"endOffset":2597,"count":3},{"startOffset":2597,"endOffset":2694,"count":76},{"startOffset":2694,"endOffset":3047,"count":38},{"startOffset":3057,"endOffset":3085,"count":260}],"isBlockCoverage":true}]},{"scriptId":"1971","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/uncaught_exception.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10518,"count":1}],"isBlockCoverage":true},{"functionName":"UncaughtExceptionConf","ranges":[{"startOffset":872,"endOffset":994,"count":20862}],"isBlockCoverage":true},{"functionName":"UncaughtException","ranges":[{"startOffset":1112,"endOffset":1237,"count":10440}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1242,"endOffset":1584,"count":31102}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1589,"endOffset":1634,"count":9915}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1639,"endOffset":1751,"count":261}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1756,"endOffset":1805,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1810,"endOffset":2533,"count":383},{"startOffset":1871,"endOffset":1944,"count":20},{"startOffset":1944,"endOffset":1990,"count":363},{"startOffset":1990,"endOffset":2017,"count":196},{"startOffset":2019,"endOffset":2053,"count":1},{"startOffset":2053,"endOffset":2128,"count":362},{"startOffset":2128,"endOffset":2162,"count":12},{"startOffset":2162,"endOffset":2314,"count":350},{"startOffset":2314,"endOffset":2348,"count":25},{"startOffset":2348,"endOffset":2452,"count":325},{"startOffset":2452,"endOffset":2499,"count":680},{"startOffset":2499,"endOffset":2532,"count":325}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":2538,"endOffset":5921,"count":1750},{"startOffset":2689,"endOffset":2727,"count":1508},{"startOffset":2729,"endOffset":2787,"count":274},{"startOffset":2787,"endOffset":2836,"count":1476},{"startOffset":2836,"endOffset":3931,"count":580},{"startOffset":2885,"endOffset":3775,"count":6},{"startOffset":3021,"endOffset":3032,"count":0},{"startOffset":3184,"endOffset":3192,"count":3},{"startOffset":3193,"endOffset":3211,"count":3},{"startOffset":3213,"endOffset":3218,"count":3},{"startOffset":3220,"endOffset":3283,"count":3},{"startOffset":3430,"endOffset":3438,"count":2},{"startOffset":3439,"endOffset":3457,"count":4},{"startOffset":3459,"endOffset":3464,"count":2},{"startOffset":3647,"endOffset":3665,"count":0},{"startOffset":3674,"endOffset":3737,"count":0},{"startOffset":3775,"endOffset":3921,"count":574},{"startOffset":3844,"endOffset":3907,"count":1061},{"startOffset":3931,"endOffset":5915,"count":896},{"startOffset":4051,"endOffset":4117,"count":58},{"startOffset":4117,"endOffset":5905,"count":838},{"startOffset":4176,"endOffset":4253,"count":58},{"startOffset":4253,"endOffset":5905,"count":780},{"startOffset":4307,"endOffset":4668,"count":12},{"startOffset":4496,"endOffset":4504,"count":11},{"startOffset":4505,"endOffset":4556,"count":1},{"startOffset":4558,"endOffset":4563,"count":11},{"startOffset":4565,"endOffset":4654,"count":1},{"startOffset":4668,"endOffset":5905,"count":768},{"startOffset":4725,"endOffset":4802,"count":12},{"startOffset":4802,"endOffset":5905,"count":756},{"startOffset":4857,"endOffset":5680,"count":14},{"startOffset":5024,"endOffset":5202,"count":13},{"startOffset":5131,"endOffset":5139,"count":0},{"startOffset":5202,"endOffset":5623,"count":1},{"startOffset":5384,"endOffset":5392,"count":0},{"startOffset":5474,"endOffset":5482,"count":0},{"startOffset":5680,"endOffset":5905,"count":742},{"startOffset":5737,"endOffset":5821,"count":0}],"isBlockCoverage":true},{"functionName":"check","ranges":[{"startOffset":5963,"endOffset":6226,"count":16},{"startOffset":6029,"endOffset":6220,"count":7}],"isBlockCoverage":true},{"functionName":"checkForMethodCalls","ranges":[{"startOffset":6231,"endOffset":6969,"count":742},{"startOffset":6508,"endOffset":6516,"count":2},{"startOffset":6517,"endOffset":6545,"count":740},{"startOffset":6547,"endOffset":6552,"count":2},{"startOffset":6554,"endOffset":6963,"count":488},{"startOffset":6651,"endOffset":6690,"count":11},{"startOffset":6707,"endOffset":6743,"count":9},{"startOffset":6760,"endOffset":6809,"count":7},{"startOffset":6811,"endOffset":6953,"count":7},{"startOffset":6873,"endOffset":6939,"count":2}],"isBlockCoverage":true},{"functionName":"addFromTryStructure","ranges":[{"startOffset":6974,"endOffset":7453,"count":6},{"startOffset":7038,"endOffset":7069,"count":0},{"startOffset":7144,"endOffset":7447,"count":4},{"startOffset":7250,"endOffset":7291,"count":0}],"isBlockCoverage":true},{"functionName":"setSinkedFromMethod","ranges":[{"startOffset":7458,"endOffset":8321,"count":58},{"startOffset":7711,"endOffset":7719,"count":0},{"startOffset":7750,"endOffset":7755,"count":0},{"startOffset":8095,"endOffset":8188,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8222,"endOffset":8313,"count":6},{"startOffset":8289,"endOffset":8297,"count":0}],"isBlockCoverage":true},{"functionName":"isSinked","ranges":[{"startOffset":8326,"endOffset":9256,"count":34},{"startOffset":8381,"endOffset":8402,"count":33},{"startOffset":8404,"endOffset":8440,"count":1},{"startOffset":8440,"endOffset":8543,"count":33},{"startOffset":8543,"endOffset":8585,"count":0},{"startOffset":8587,"endOffset":8623,"count":0},{"startOffset":8623,"endOffset":8658,"count":33},{"startOffset":8658,"endOffset":8700,"count":0},{"startOffset":8702,"endOffset":8738,"count":0},{"startOffset":8738,"endOffset":8842,"count":33},{"startOffset":8842,"endOffset":8884,"count":0},{"startOffset":8886,"endOffset":8922,"count":0},{"startOffset":8922,"endOffset":8958,"count":33},{"startOffset":8958,"endOffset":9000,"count":2},{"startOffset":9002,"endOffset":9038,"count":2},{"startOffset":9038,"endOffset":9128,"count":31},{"startOffset":9128,"endOffset":9181,"count":25},{"startOffset":9150,"endOffset":9180,"count":13},{"startOffset":9194,"endOffset":9249,"count":22},{"startOffset":9217,"endOffset":9248,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9071,"endOffset":9114,"count":9}],"isBlockCoverage":true},{"functionName":"findGlobalExceptions","ranges":[{"startOffset":9261,"endOffset":9944,"count":261},{"startOffset":9437,"endOffset":9938,"count":439},{"startOffset":9488,"endOffset":9529,"count":282},{"startOffset":9529,"endOffset":9606,"count":157},{"startOffset":9607,"endOffset":9615,"count":0},{"startOffset":9616,"endOffset":9668,"count":157},{"startOffset":9704,"endOffset":9741,"count":154},{"startOffset":9743,"endOffset":9784,"count":48},{"startOffset":9784,"endOffset":9899,"count":109},{"startOffset":9900,"endOffset":9908,"count":18},{"startOffset":9909,"endOffset":9927,"count":91}],"isBlockCoverage":true},{"functionName":"findLocalExceptions","ranges":[{"startOffset":9949,"endOffset":10422,"count":350},{"startOffset":10074,"endOffset":10416,"count":367},{"startOffset":10145,"endOffset":10406,"count":252},{"startOffset":10188,"endOffset":10223,"count":95},{"startOffset":10225,"endOffset":10392,"count":18},{"startOffset":10346,"endOffset":10354,"count":0}],"isBlockCoverage":true}]},{"scriptId":"1972","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unknown_types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6438,"count":1}],"isBlockCoverage":true},{"functionName":"UnknownTypes","ranges":[{"startOffset":821,"endOffset":886,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":891,"endOffset":1150,"count":31119}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1155,"endOffset":1223,"count":251}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1228,"endOffset":1273,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1278,"endOffset":1327,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1332,"endOffset":1625,"count":317},{"startOffset":1400,"endOffset":1434,"count":62},{"startOffset":1434,"endOffset":1624,"count":255}],"isBlockCoverage":true},{"functionName":"removeDuplicates","ranges":[{"startOffset":1656,"endOffset":2135,"count":255},{"startOffset":1749,"endOffset":2100,"count":23},{"startOffset":1823,"endOffset":1978,"count":3},{"startOffset":2010,"endOffset":2051,"count":3},{"startOffset":2051,"endOffset":2100,"count":20}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":2140,"endOffset":5003,"count":1162},{"startOffset":2283,"endOffset":3078,"count":338},{"startOffset":2379,"endOffset":2445,"count":1},{"startOffset":2424,"endOffset":2432,"count":0},{"startOffset":2447,"endOffset":2642,"count":1},{"startOffset":2736,"endOffset":2796,"count":83},{"startOffset":2813,"endOffset":2867,"count":82},{"startOffset":2869,"endOffset":3068,"count":3},{"startOffset":3167,"endOffset":4130,"count":1048},{"startOffset":3246,"endOffset":3644,"count":7364},{"startOffset":3396,"endOffset":3630,"count":10},{"startOffset":3725,"endOffset":4120,"count":1361},{"startOffset":3876,"endOffset":4106,"count":3},{"startOffset":4174,"endOffset":4504,"count":52},{"startOffset":4294,"endOffset":4494,"count":2},{"startOffset":4548,"endOffset":4878,"count":117},{"startOffset":4668,"endOffset":4868,"count":4},{"startOffset":4923,"endOffset":4977,"count":907}],"isBlockCoverage":true},{"functionName":"checkParameters","ranges":[{"startOffset":5008,"endOffset":5717,"count":169},{"startOffset":5134,"endOffset":5142,"count":2},{"startOffset":5143,"endOffset":5156,"count":167},{"startOffset":5158,"endOffset":5163,"count":2},{"startOffset":5165,"endOffset":5405,"count":55},{"startOffset":5223,"endOffset":5395,"count":40},{"startOffset":5317,"endOffset":5381,"count":5},{"startOffset":5395,"endOffset":5405,"count":50},{"startOffset":5405,"endOffset":5447,"count":164},{"startOffset":5447,"endOffset":5452,"count":0},{"startOffset":5454,"endOffset":5685,"count":8},{"startOffset":5503,"endOffset":5675,"count":6},{"startOffset":5597,"endOffset":5661,"count":1},{"startOffset":5675,"endOffset":5685,"count":7},{"startOffset":5685,"endOffset":5716,"count":163}],"isBlockCoverage":true},{"functionName":"containsUnknown","ranges":[{"startOffset":5722,"endOffset":6357,"count":183342},{"startOffset":5798,"endOffset":5845,"count":19},{"startOffset":5845,"endOffset":6325,"count":183323},{"startOffset":5905,"endOffset":6198,"count":1090},{"startOffset":5957,"endOffset":6188,"count":174542},{"startOffset":6064,"endOffset":6082,"count":0},{"startOffset":6121,"endOffset":6174,"count":1},{"startOffset":6188,"endOffset":6198,"count":1089},{"startOffset":6198,"endOffset":6325,"count":182233},{"startOffset":6254,"endOffset":6325,"count":29},{"startOffset":6325,"endOffset":6356,"count":183293}],"isBlockCoverage":true}]},{"scriptId":"1973","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unnecessary_chaining.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3075,"count":1}],"isBlockCoverage":true},{"functionName":"UnnecessaryChaining","ranges":[{"startOffset":657,"endOffset":758,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":763,"endOffset":1174,"count":31121}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1179,"endOffset":1224,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1229,"endOffset":1278,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1283,"endOffset":2973,"count":265},{"startOffset":1429,"endOffset":2944,"count":1473},{"startOffset":1520,"endOffset":1561,"count":1311},{"startOffset":1561,"endOffset":1679,"count":162},{"startOffset":1679,"endOffset":1706,"count":164},{"startOffset":1707,"endOffset":1715,"count":14},{"startOffset":1716,"endOffset":1737,"count":150},{"startOffset":1772,"endOffset":1859,"count":2},{"startOffset":1859,"endOffset":1973,"count":162},{"startOffset":1973,"endOffset":2000,"count":165},{"startOffset":2001,"endOffset":2009,"count":23},{"startOffset":2010,"endOffset":2031,"count":142},{"startOffset":2066,"endOffset":2153,"count":3},{"startOffset":2153,"endOffset":2229,"count":162},{"startOffset":2230,"endOffset":2238,"count":14},{"startOffset":2239,"endOffset":2265,"count":148},{"startOffset":2315,"endOffset":2342,"count":162},{"startOffset":2343,"endOffset":2351,"count":23},{"startOffset":2352,"endOffset":2378,"count":139},{"startOffset":2415,"endOffset":2458,"count":107},{"startOffset":2460,"endOffset":2501,"count":98},{"startOffset":2501,"endOffset":2628,"count":64},{"startOffset":2542,"endOffset":2585,"count":44},{"startOffset":2587,"endOffset":2628,"count":39},{"startOffset":2628,"endOffset":2944,"count":25}],"isBlockCoverage":true}]},{"scriptId":"1974","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unnecessary_pragma.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7821,"count":1}],"isBlockCoverage":true},{"functionName":"UnnecessaryPragmaConf","ranges":[{"startOffset":660,"endOffset":894,"count":20852}],"isBlockCoverage":true},{"functionName":"UnnecessaryPragma","ranges":[{"startOffset":1012,"endOffset":1111,"count":10430}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1116,"endOffset":2135,"count":31103}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2140,"endOffset":2185,"count":11412}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2190,"endOffset":2239,"count":250}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2244,"endOffset":4258,"count":275},{"startOffset":2459,"endOffset":4229,"count":1526},{"startOffset":2621,"endOffset":2671,"count":8},{"startOffset":2671,"endOffset":3787,"count":1518},{"startOffset":2763,"endOffset":2813,"count":1400},{"startOffset":2815,"endOffset":2972,"count":170},{"startOffset":2894,"endOffset":2958,"count":66},{"startOffset":2972,"endOffset":3787,"count":1348},{"startOffset":3057,"endOffset":3110,"count":1115},{"startOffset":3112,"endOffset":3169,"count":285},{"startOffset":3169,"endOffset":3787,"count":1063},{"startOffset":3240,"endOffset":3281,"count":25},{"startOffset":3281,"endOffset":3787,"count":1038},{"startOffset":3322,"endOffset":3371,"count":3},{"startOffset":3373,"endOffset":3672,"count":2},{"startOffset":3672,"endOffset":3787,"count":1036},{"startOffset":3787,"endOffset":3848,"count":1501},{"startOffset":3848,"endOffset":3876,"count":6},{"startOffset":3878,"endOffset":3917,"count":3},{"startOffset":3917,"endOffset":4015,"count":1498},{"startOffset":4015,"endOffset":4123,"count":1501},{"startOffset":4123,"endOffset":4219,"count":1298}],"isBlockCoverage":true},{"functionName":"checkText","ranges":[{"startOffset":4263,"endOffset":4919,"count":1498},{"startOffset":4415,"endOffset":4449,"count":1494},{"startOffset":4449,"endOffset":4546,"count":4},{"startOffset":4546,"endOffset":4620,"count":3},{"startOffset":4622,"endOffset":4894,"count":3},{"startOffset":4894,"endOffset":4918,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4338,"endOffset":4383,"count":15}],"isBlockCoverage":true},{"functionName":"checkSubrc","ranges":[{"startOffset":4924,"endOffset":5574,"count":1298},{"startOffset":5084,"endOffset":5118,"count":1296},{"startOffset":5118,"endOffset":5175,"count":2},{"startOffset":5176,"endOffset":5184,"count":1},{"startOffset":5185,"endOffset":5220,"count":1},{"startOffset":5222,"endOffset":5227,"count":1},{"startOffset":5271,"endOffset":5573,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5006,"endOffset":5052,"count":14}],"isBlockCoverage":true},{"functionName":"checkNeeded","ranges":[{"startOffset":5579,"endOffset":7230,"count":1501},{"startOffset":5732,"endOffset":5766,"count":1495},{"startOffset":5766,"endOffset":5912,"count":6},{"startOffset":5925,"endOffset":5973,"count":6},{"startOffset":5986,"endOffset":6039,"count":6},{"startOffset":6052,"endOffset":6105,"count":5},{"startOffset":6118,"endOffset":6176,"count":4},{"startOffset":6189,"endOffset":6237,"count":4},{"startOffset":6250,"endOffset":6298,"count":4},{"startOffset":6311,"endOffset":6361,"count":3},{"startOffset":6374,"endOffset":6427,"count":2},{"startOffset":6440,"endOffset":6492,"count":2},{"startOffset":6505,"endOffset":6562,"count":2},{"startOffset":6575,"endOffset":6627,"count":1},{"startOffset":6640,"endOffset":6697,"count":1},{"startOffset":6710,"endOffset":6774,"count":1},{"startOffset":6787,"endOffset":6840,"count":1},{"startOffset":6853,"endOffset":6921,"count":1},{"startOffset":6923,"endOffset":7205,"count":1},{"startOffset":7205,"endOffset":7229,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5656,"endOffset":5700,"count":15}],"isBlockCoverage":true},{"functionName":"containsNoHandler","ranges":[{"startOffset":7235,"endOffset":7725,"count":1036},{"startOffset":7320,"endOffset":7437,"count":16},{"startOffset":7383,"endOffset":7427,"count":3},{"startOffset":7437,"endOffset":7467,"count":1033},{"startOffset":7467,"endOffset":7512,"count":891},{"startOffset":7525,"endOffset":7583,"count":12},{"startOffset":7596,"endOffset":7659,"count":11},{"startOffset":7661,"endOffset":7697,"count":1},{"startOffset":7697,"endOffset":7724,"count":1032}],"isBlockCoverage":true}]},{"scriptId":"1975","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unnecessary_return.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3806,"count":1}],"isBlockCoverage":true},{"functionName":"UnnecessaryReturnConf","ranges":[{"startOffset":595,"endOffset":740,"count":20854}],"isBlockCoverage":true},{"functionName":"UnnecessaryReturn","ranges":[{"startOffset":858,"endOffset":957,"count":10430}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":962,"endOffset":1504,"count":31099}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1509,"endOffset":1554,"count":9910}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1559,"endOffset":1608,"count":245}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1613,"endOffset":3710,"count":263},{"startOffset":1742,"endOffset":1776,"count":12},{"startOffset":1776,"endOffset":1958,"count":251},{"startOffset":1958,"endOffset":3681,"count":1468},{"startOffset":2126,"endOffset":2164,"count":1421},{"startOffset":2181,"endOffset":2229,"count":1383},{"startOffset":2232,"endOffset":2311,"count":86},{"startOffset":2311,"endOffset":2373,"count":1382},{"startOffset":2373,"endOffset":2424,"count":1361},{"startOffset":2424,"endOffset":2500,"count":1382},{"startOffset":2500,"endOffset":2541,"count":1335},{"startOffset":2558,"endOffset":2603,"count":1297},{"startOffset":2606,"endOffset":2647,"count":1296},{"startOffset":2647,"endOffset":2755,"count":86},{"startOffset":2757,"endOffset":3114,"count":5},{"startOffset":2809,"endOffset":2834,"count":2},{"startOffset":2836,"endOffset":2885,"count":2},{"startOffset":2885,"endOffset":3114,"count":3},{"startOffset":3114,"endOffset":3310,"count":84},{"startOffset":3327,"endOffset":3373,"count":82},{"startOffset":3390,"endOffset":3431,"count":3},{"startOffset":3433,"endOffset":3671,"count":1},{"startOffset":3681,"endOffset":3709,"count":251}],"isBlockCoverage":true}]},{"scriptId":"1976","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unreachable_code.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4132,"count":1}],"isBlockCoverage":true},{"functionName":"UnreachableCode","ranges":[{"startOffset":712,"endOffset":809,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":814,"endOffset":1153,"count":31105}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1158,"endOffset":1213,"count":9}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1218,"endOffset":1263,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1268,"endOffset":1317,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1322,"endOffset":2190,"count":265},{"startOffset":1442,"endOffset":2161,"count":1493},{"startOffset":1519,"endOffset":1569,"count":1472},{"startOffset":1586,"endOffset":1629,"count":1472},{"startOffset":1631,"endOffset":1672,"count":21},{"startOffset":1672,"endOffset":1906,"count":1472},{"startOffset":1713,"endOffset":1783,"count":16},{"startOffset":1783,"endOffset":1906,"count":1456},{"startOffset":1835,"endOffset":1906,"count":134},{"startOffset":1906,"endOffset":1938,"count":1322},{"startOffset":1938,"endOffset":2151,"count":9}],"isBlockCoverage":true},{"functionName":"isExit","ranges":[{"startOffset":2195,"endOffset":2958,"count":1472},{"startOffset":2314,"endOffset":2375,"count":0},{"startOffset":2377,"endOffset":2413,"count":0},{"startOffset":2461,"endOffset":2522,"count":2},{"startOffset":2524,"endOffset":2707,"count":1},{"startOffset":2672,"endOffset":2707,"count":0},{"startOffset":2707,"endOffset":2930,"count":1471},{"startOffset":2768,"endOffset":2803,"count":1461},{"startOffset":2816,"endOffset":2847,"count":1459},{"startOffset":2860,"endOffset":2892,"count":1456},{"startOffset":2894,"endOffset":2930,"count":16},{"startOffset":2930,"endOffset":2957,"count":1455}],"isBlockCoverage":true},{"functionName":"isStructure","ranges":[{"startOffset":2963,"endOffset":4042,"count":1456},{"startOffset":3034,"endOffset":3065,"count":1436},{"startOffset":3078,"endOffset":3112,"count":1434},{"startOffset":3125,"endOffset":3158,"count":1427},{"startOffset":3171,"endOffset":3207,"count":1424},{"startOffset":3220,"endOffset":3256,"count":1377},{"startOffset":3269,"endOffset":3303,"count":1377},{"startOffset":3316,"endOffset":3354,"count":1344},{"startOffset":3367,"endOffset":3399,"count":1343},{"startOffset":3412,"endOffset":3448,"count":1343},{"startOffset":3461,"endOffset":3505,"count":1342},{"startOffset":3518,"endOffset":3556,"count":1342},{"startOffset":3569,"endOffset":3603,"count":1341},{"startOffset":3616,"endOffset":3651,"count":1338},{"startOffset":3664,"endOffset":3696,"count":1336},{"startOffset":3709,"endOffset":3743,"count":1333},{"startOffset":3756,"endOffset":3787,"count":1333},{"startOffset":3800,"endOffset":3837,"count":1327},{"startOffset":3850,"endOffset":3885,"count":1325},{"startOffset":3898,"endOffset":3930,"count":1325},{"startOffset":3943,"endOffset":3976,"count":1323},{"startOffset":3978,"endOffset":4014,"count":134},{"startOffset":4014,"endOffset":4041,"count":1322}],"isBlockCoverage":true}]},{"scriptId":"1977","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unsecure_fae.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2077,"count":1}],"isBlockCoverage":true},{"functionName":"UnsecureFAE","ranges":[{"startOffset":585,"endOffset":649,"count":10425}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":654,"endOffset":1019,"count":31096}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1024,"endOffset":1069,"count":9907}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1074,"endOffset":1142,"count":246}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1147,"endOffset":1196,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1201,"endOffset":1999,"count":312},{"startOffset":1312,"endOffset":1350,"count":62},{"startOffset":1350,"endOffset":1471,"count":250},{"startOffset":1471,"endOffset":1509,"count":27},{"startOffset":1509,"endOffset":1554,"count":223},{"startOffset":1554,"endOffset":1970,"count":230},{"startOffset":1655,"endOffset":1663,"count":12},{"startOffset":1664,"endOffset":1717,"count":218},{"startOffset":1719,"endOffset":1724,"count":12},{"startOffset":1726,"endOffset":1960,"count":1},{"startOffset":1970,"endOffset":1998,"count":223}],"isBlockCoverage":true}]},{"scriptId":"1978","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_ddic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1758,"count":1}],"isBlockCoverage":true},{"functionName":"UnusedDDIC","ranges":[{"startOffset":403,"endOffset":466,"count":10435}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":471,"endOffset":760,"count":31114}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":765,"endOffset":833,"count":256}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":838,"endOffset":883,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":888,"endOffset":937,"count":243}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":942,"endOffset":1253,"count":322},{"startOffset":1007,"endOffset":1042,"count":317},{"startOffset":1055,"endOffset":1085,"count":314},{"startOffset":1098,"endOffset":1129,"count":314},{"startOffset":1142,"endOffset":1179,"count":291},{"startOffset":1181,"endOffset":1228,"count":64},{"startOffset":1228,"endOffset":1252,"count":258}],"isBlockCoverage":true},{"functionName":"check","ranges":[{"startOffset":1258,"endOffset":1683,"count":64},{"startOffset":1445,"endOffset":1658,"count":19},{"startOffset":1658,"endOffset":1682,"count":45}],"isBlockCoverage":true}]},{"scriptId":"1979","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_macros.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2631,"count":1}],"isBlockCoverage":true},{"functionName":"UnusedMacrosConf","ranges":[{"startOffset":454,"endOffset":624,"count":20855}],"isBlockCoverage":true},{"functionName":"UnusedMacros","ranges":[{"startOffset":697,"endOffset":762,"count":10433}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":767,"endOffset":1183,"count":31097}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1188,"endOffset":1233,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1238,"endOffset":1384,"count":243},{"startOffset":1329,"endOffset":1378,"count":0}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1389,"endOffset":1457,"count":254}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1462,"endOffset":2550,"count":320},{"startOffset":1573,"endOffset":1607,"count":62},{"startOffset":1607,"endOffset":1713,"count":258},{"startOffset":1713,"endOffset":2521,"count":265},{"startOffset":1806,"endOffset":2511,"count":6},{"startOffset":1941,"endOffset":2066,"count":2},{"startOffset":1998,"endOffset":2006,"count":0},{"startOffset":2068,"endOffset":2497,"count":2},{"startOffset":2521,"endOffset":2549,"count":258}],"isBlockCoverage":true}]},{"scriptId":"1980","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_methods.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7665,"count":1}],"isBlockCoverage":true},{"functionName":"WorkArea","ranges":[{"startOffset":850,"endOffset":919,"count":212}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":924,"endOffset":968,"count":13}],"isBlockCoverage":true},{"functionName":"removeIfExists","ranges":[{"startOffset":973,"endOffset":1194,"count":11},{"startOffset":1045,"endOffset":1188,"count":3},{"startOffset":1099,"endOffset":1178,"count":2},{"startOffset":1188,"endOffset":1193,"count":9}],"isBlockCoverage":true},{"functionName":"containsProteted","ranges":[{"startOffset":1199,"endOffset":1407,"count":6},{"startOffset":1325,"endOffset":1369,"count":1},{"startOffset":1379,"endOffset":1406,"count":5}],"isBlockCoverage":true},{"functionName":"getLength","ranges":[{"startOffset":1412,"endOffset":1464,"count":213}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1469,"endOffset":1508,"count":212}],"isBlockCoverage":true},{"functionName":"UnusedMethods","ranges":[{"startOffset":1647,"endOffset":1713,"count":10438}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1718,"endOffset":2350,"count":31106}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2355,"endOffset":2400,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2405,"endOffset":2454,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":2459,"endOffset":2527,"count":259}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2532,"endOffset":5655,"count":325},{"startOffset":2600,"endOffset":2634,"count":62},{"startOffset":2634,"endOffset":2871,"count":263},{"startOffset":2688,"endOffset":2757,"count":20},{"startOffset":2757,"endOffset":2871,"count":243},{"startOffset":2808,"endOffset":2835,"count":189},{"startOffset":2837,"endOffset":2871,"count":0},{"startOffset":2871,"endOffset":2919,"count":243},{"startOffset":2919,"endOffset":3150,"count":249},{"startOffset":2979,"endOffset":3140,"count":1516},{"startOffset":3050,"endOffset":3126,"count":5},{"startOffset":3140,"endOffset":3150,"count":244},{"startOffset":3150,"endOffset":3320,"count":238},{"startOffset":3320,"endOffset":3354,"count":26},{"startOffset":3354,"endOffset":3436,"count":212},{"startOffset":3436,"endOffset":4677,"count":218},{"startOffset":3507,"endOffset":4667,"count":128},{"startOffset":3559,"endOffset":4653,"count":59},{"startOffset":3638,"endOffset":3671,"count":57},{"startOffset":3696,"endOffset":3729,"count":56},{"startOffset":3731,"endOffset":3788,"count":10},{"startOffset":3788,"endOffset":4403,"count":49},{"startOffset":3868,"endOffset":4135,"count":1},{"startOffset":3938,"endOffset":3984,"count":0},{"startOffset":4013,"endOffset":4056,"count":0},{"startOffset":4085,"endOffset":4134,"count":0},{"startOffset":4137,"endOffset":4194,"count":1},{"startOffset":4194,"endOffset":4403,"count":48},{"startOffset":4292,"endOffset":4344,"count":45},{"startOffset":4346,"endOffset":4403,"count":3},{"startOffset":4403,"endOffset":4506,"count":45},{"startOffset":4506,"endOffset":4564,"count":34},{"startOffset":4566,"endOffset":4635,"count":13},{"startOffset":4677,"endOffset":4836,"count":212},{"startOffset":4836,"endOffset":5626,"count":11},{"startOffset":4950,"endOffset":4991,"count":0},{"startOffset":5134,"endOffset":5175,"count":0},{"startOffset":5268,"endOffset":5309,"count":1},{"startOffset":5309,"endOffset":5414,"count":10},{"startOffset":5373,"endOffset":5414,"count":1},{"startOffset":5414,"endOffset":5626,"count":9},{"startOffset":5626,"endOffset":5654,"count":212}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5220,"endOffset":5265,"count":1}],"isBlockCoverage":true},{"functionName":"suppressedbyPseudo","ranges":[{"startOffset":5660,"endOffset":6211,"count":10},{"startOffset":5735,"endOffset":5772,"count":0},{"startOffset":5805,"endOffset":5842,"count":0},{"startOffset":5915,"endOffset":6183,"count":94},{"startOffset":5947,"endOffset":5989,"count":52},{"startOffset":5991,"endOffset":6095,"count":1},{"startOffset":6095,"endOffset":6129,"count":93},{"startOffset":6129,"endOffset":6173,"count":10},{"startOffset":6183,"endOffset":6210,"count":9}],"isBlockCoverage":true},{"functionName":"searchGlobalSubclasses","ranges":[{"startOffset":6216,"endOffset":7093,"count":213},{"startOffset":6316,"endOffset":6352,"count":12},{"startOffset":6365,"endOffset":6404,"count":6},{"startOffset":6406,"endOffset":6437,"count":212},{"startOffset":6437,"endOffset":6510,"count":1},{"startOffset":6510,"endOffset":6541,"count":0},{"startOffset":6541,"endOffset":6589,"count":1},{"startOffset":6589,"endOffset":7087,"count":2},{"startOffset":6713,"endOffset":6721,"count":0},{"startOffset":6770,"endOffset":6778,"count":1},{"startOffset":6779,"endOffset":6797,"count":1},{"startOffset":6832,"endOffset":7077,"count":1},{"startOffset":7087,"endOffset":7092,"count":1}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":7098,"endOffset":7328,"count":1074},{"startOffset":7191,"endOffset":7236,"count":861},{"startOffset":7281,"endOffset":7322,"count":861}],"isBlockCoverage":true},{"functionName":"checkNode","ranges":[{"startOffset":7333,"endOffset":7581,"count":861},{"startOffset":7402,"endOffset":7575,"count":353},{"startOffset":7483,"endOffset":7496,"count":11},{"startOffset":7498,"endOffset":7565,"count":11}],"isBlockCoverage":true}]},{"scriptId":"1981","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6929,"count":1}],"isBlockCoverage":true},{"functionName":"WorkArea","ranges":[{"startOffset":652,"endOffset":701,"count":238}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":706,"endOffset":875,"count":144},{"startOffset":756,"endOffset":837,"count":68},{"startOffset":788,"endOffset":827,"count":36},{"startOffset":837,"endOffset":874,"count":108}],"isBlockCoverage":true},{"functionName":"removeIfExists","ranges":[{"startOffset":880,"endOffset":1102,"count":215},{"startOffset":956,"endOffset":1096,"count":126},{"startOffset":1003,"endOffset":1086,"count":80},{"startOffset":1096,"endOffset":1101,"count":135}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1107,"endOffset":1150,"count":27}],"isBlockCoverage":true},{"functionName":"count","ranges":[{"startOffset":1155,"endOffset":1207,"count":257}],"isBlockCoverage":true},{"functionName":"UnusedTypesConf","ranges":[{"startOffset":1283,"endOffset":1453,"count":20868}],"isBlockCoverage":true},{"functionName":"UnusedTypes","ranges":[{"startOffset":1523,"endOffset":1587,"count":10446}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1592,"endOffset":2010,"count":31123}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2015,"endOffset":2060,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2065,"endOffset":2211,"count":243},{"startOffset":2156,"endOffset":2205,"count":0}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":2216,"endOffset":2284,"count":267}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2289,"endOffset":4713,"count":333},{"startOffset":2357,"endOffset":2391,"count":62},{"startOffset":2391,"endOffset":2439,"count":271},{"startOffset":2439,"endOffset":2670,"count":277},{"startOffset":2499,"endOffset":2660,"count":1582},{"startOffset":2570,"endOffset":2646,"count":6},{"startOffset":2660,"endOffset":2670,"count":271},{"startOffset":2670,"endOffset":2848,"count":265},{"startOffset":2848,"endOffset":2882,"count":27},{"startOffset":2882,"endOffset":3087,"count":238},{"startOffset":3087,"endOffset":3179,"count":201},{"startOffset":3179,"endOffset":3227,"count":37},{"startOffset":3227,"endOffset":3781,"count":51},{"startOffset":3256,"endOffset":3297,"count":32},{"startOffset":3297,"endOffset":3647,"count":19},{"startOffset":3407,"endOffset":3489,"count":0},{"startOffset":3647,"endOffset":3693,"count":19},{"startOffset":3693,"endOffset":3771,"count":10},{"startOffset":3781,"endOffset":3885,"count":27},{"startOffset":3885,"endOffset":4687,"count":28},{"startOffset":4057,"endOffset":4098,"count":0},{"startOffset":4230,"endOffset":4271,"count":0},{"startOffset":4364,"endOffset":4405,"count":1},{"startOffset":4405,"endOffset":4510,"count":27},{"startOffset":4469,"endOffset":4510,"count":1},{"startOffset":4510,"endOffset":4687,"count":26},{"startOffset":4687,"endOffset":4712,"count":27}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4316,"endOffset":4361,"count":1}],"isBlockCoverage":true},{"functionName":"suppressedbyPseudo","ranges":[{"startOffset":4718,"endOffset":5269,"count":27},{"startOffset":4793,"endOffset":4830,"count":0},{"startOffset":4863,"endOffset":4900,"count":0},{"startOffset":4973,"endOffset":5241,"count":177},{"startOffset":5005,"endOffset":5047,"count":64},{"startOffset":5049,"endOffset":5153,"count":1},{"startOffset":5153,"endOffset":5187,"count":176},{"startOffset":5187,"endOffset":5231,"count":27},{"startOffset":5241,"endOffset":5268,"count":26}],"isBlockCoverage":true},{"functionName":"traverse","ranges":[{"startOffset":5307,"endOffset":5567,"count":2306},{"startOffset":5410,"endOffset":5465,"count":1811},{"startOffset":5510,"endOffset":5561,"count":1811}],"isBlockCoverage":true},{"functionName":"checkNode","ranges":[{"startOffset":5572,"endOffset":6624,"count":1811},{"startOffset":5650,"endOffset":6369,"count":877},{"startOffset":5738,"endOffset":6359,"count":161},{"startOffset":5862,"endOffset":5911,"count":0},{"startOffset":6031,"endOffset":6091,"count":0},{"startOffset":6093,"endOffset":6142,"count":0},{"startOffset":6213,"endOffset":6297,"count":17},{"startOffset":6297,"endOffset":6359,"count":144},{"startOffset":6421,"endOffset":6598,"count":768},{"startOffset":6500,"endOffset":6513,"count":215},{"startOffset":6515,"endOffset":6588,"count":215}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6059,"endOffset":6090,"count":0}],"isBlockCoverage":false},{"functionName":"buildFix","ranges":[{"startOffset":6629,"endOffset":6851,"count":26},{"startOffset":6730,"endOffset":6771,"count":5},{"startOffset":6771,"endOffset":6850,"count":21}],"isBlockCoverage":true}]},{"scriptId":"1982","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_variables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9700,"count":1}],"isBlockCoverage":true},{"functionName":"UnusedVariablesConf","ranges":[{"startOffset":820,"endOffset":1077,"count":20983}],"isBlockCoverage":true},{"functionName":"WorkArea","ranges":[{"startOffset":1152,"endOffset":1201,"count":335}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":1206,"endOffset":1400,"count":459},{"startOffset":1267,"endOffset":1351,"count":272},{"startOffset":1302,"endOffset":1341,"count":63},{"startOffset":1351,"endOffset":1399,"count":396}],"isBlockCoverage":true},{"functionName":"removeIfExists","ranges":[{"startOffset":1405,"endOffset":1808,"count":411},{"startOffset":1456,"endOffset":1487,"count":0},{"startOffset":1543,"endOffset":1802,"count":492},{"startOffset":1593,"endOffset":1792,"count":292},{"startOffset":1687,"endOffset":1754,"count":243},{"startOffset":1802,"endOffset":1807,"count":119}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1813,"endOffset":1856,"count":335}],"isBlockCoverage":true},{"functionName":"count","ranges":[{"startOffset":1861,"endOffset":1913,"count":370}],"isBlockCoverage":true},{"functionName":"UnusedVariables","ranges":[{"startOffset":1944,"endOffset":2012,"count":10561}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":2017,"endOffset":2856,"count":31395}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2861,"endOffset":2906,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2911,"endOffset":3057,"count":245},{"startOffset":3002,"endOffset":3051,"count":2}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":3062,"endOffset":3130,"count":385}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":3135,"endOffset":4844,"count":455},{"startOffset":3203,"endOffset":3237,"count":62},{"startOffset":3237,"endOffset":3360,"count":393},{"startOffset":3291,"endOffset":3360,"count":21},{"startOffset":3360,"endOffset":3408,"count":372},{"startOffset":3408,"endOffset":3639,"count":379},{"startOffset":3468,"endOffset":3629,"count":1931},{"startOffset":3539,"endOffset":3615,"count":7},{"startOffset":3629,"endOffset":3639,"count":372},{"startOffset":3639,"endOffset":3817,"count":365},{"startOffset":3817,"endOffset":3877,"count":30},{"startOffset":3877,"endOffset":4044,"count":335},{"startOffset":4044,"endOffset":4137,"count":79},{"startOffset":4137,"endOffset":4218,"count":256},{"startOffset":4218,"endOffset":4800,"count":311},{"startOffset":4247,"endOffset":4288,"count":254},{"startOffset":4288,"endOffset":4790,"count":57},{"startOffset":4350,"endOffset":4790,"count":35},{"startOffset":4398,"endOffset":4480,"count":0},{"startOffset":4667,"endOffset":4776,"count":3},{"startOffset":4800,"endOffset":4843,"count":253}],"isBlockCoverage":true},{"functionName":"findUses","ranges":[{"startOffset":4849,"endOffset":5351,"count":1226},{"startOffset":4922,"endOffset":5254,"count":659},{"startOffset":5021,"endOffset":5089,"count":468},{"startOffset":5106,"endOffset":5169,"count":345},{"startOffset":5171,"endOffset":5244,"count":411},{"startOffset":5299,"endOffset":5345,"count":935}],"isBlockCoverage":true},{"functionName":"buildWorkarea","ranges":[{"startOffset":5356,"endOffset":6820,"count":1460},{"startOffset":5488,"endOffset":5519,"count":2},{"startOffset":5519,"endOffset":5564,"count":1458},{"startOffset":5564,"endOffset":5615,"count":1125},{"startOffset":5615,"endOffset":5671,"count":1458},{"startOffset":5671,"endOffset":6814,"count":1124},{"startOffset":5756,"endOffset":6804,"count":728},{"startOffset":5923,"endOffset":5983,"count":0},{"startOffset":5985,"endOffset":6034,"count":0},{"startOffset":6092,"endOffset":6150,"count":5},{"startOffset":6152,"endOffset":6201,"count":1},{"startOffset":6201,"endOffset":6628,"count":727},{"startOffset":6261,"endOffset":6280,"count":598},{"startOffset":6301,"endOffset":6381,"count":469},{"startOffset":6402,"endOffset":6473,"count":467},{"startOffset":6475,"endOffset":6628,"count":268},{"startOffset":6628,"endOffset":6781,"count":459},{"startOffset":6781,"endOffset":6784,"count":49},{"startOffset":6785,"endOffset":6788,"count":410}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5951,"endOffset":5982,"count":0}],"isBlockCoverage":false},{"functionName":"buildIssues","ranges":[{"startOffset":6825,"endOffset":7899,"count":335},{"startOffset":6913,"endOffset":7873,"count":153},{"startOffset":7026,"endOffset":7067,"count":0},{"startOffset":7132,"endOffset":7171,"count":33},{"startOffset":7173,"endOffset":7214,"count":5},{"startOffset":7214,"endOffset":7329,"count":148},{"startOffset":7330,"endOffset":7338,"count":0},{"startOffset":7339,"endOffset":7425,"count":148},{"startOffset":7427,"endOffset":7468,"count":7},{"startOffset":7468,"endOffset":7578,"count":141},{"startOffset":7537,"endOffset":7578,"count":1},{"startOffset":7578,"endOffset":7873,"count":140}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7368,"endOffset":7383,"count":7}],"isBlockCoverage":true},{"functionName":"suppressedbyPseudo","ranges":[{"startOffset":7904,"endOffset":8518,"count":141},{"startOffset":7981,"endOffset":8018,"count":0},{"startOffset":8112,"endOffset":8149,"count":2},{"startOffset":8149,"endOffset":8222,"count":139},{"startOffset":8222,"endOffset":8490,"count":836},{"startOffset":8254,"endOffset":8296,"count":282},{"startOffset":8298,"endOffset":8402,"count":12},{"startOffset":8402,"endOffset":8436,"count":824},{"startOffset":8436,"endOffset":8480,"count":139},{"startOffset":8490,"endOffset":8517,"count":127}],"isBlockCoverage":true},{"functionName":"findStatement","ranges":[{"startOffset":8523,"endOffset":9104,"count":148},{"startOffset":8636,"endOffset":8677,"count":0},{"startOffset":8795,"endOffset":8836,"count":0},{"startOffset":8941,"endOffset":8982,"count":0}],"isBlockCoverage":true},{"functionName":"buildFix","ranges":[{"startOffset":9109,"endOffset":9610,"count":140},{"startOffset":9221,"endOffset":9262,"count":2},{"startOffset":9262,"endOffset":9386,"count":138},{"startOffset":9386,"endOffset":9427,"count":0},{"startOffset":9427,"endOffset":9578,"count":138},{"startOffset":9489,"endOffset":9578,"count":88},{"startOffset":9578,"endOffset":9609,"count":50}],"isBlockCoverage":true}]},{"scriptId":"1983","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/use_bool_expression.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6620,"count":1}],"isBlockCoverage":true},{"functionName":"UseBoolExpression","ranges":[{"startOffset":999,"endOffset":1098,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":1103,"endOffset":1921,"count":31106}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1926,"endOffset":1971,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1976,"endOffset":2025,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":2030,"endOffset":6523,"count":271},{"startOffset":2255,"endOffset":2331,"count":259},{"startOffset":2292,"endOffset":2330,"count":0},{"startOffset":2333,"endOffset":2367,"count":12},{"startOffset":2367,"endOffset":2431,"count":259},{"startOffset":2431,"endOffset":5735,"count":23},{"startOffset":2505,"endOffset":2546,"count":2},{"startOffset":2546,"endOffset":2648,"count":21},{"startOffset":2649,"endOffset":2657,"count":2},{"startOffset":2658,"endOffset":2686,"count":19},{"startOffset":2728,"endOffset":2753,"count":19},{"startOffset":2755,"endOffset":2796,"count":6},{"startOffset":2796,"endOffset":2912,"count":15},{"startOffset":2912,"endOffset":2953,"count":7},{"startOffset":2953,"endOffset":3061,"count":8},{"startOffset":3062,"endOffset":3070,"count":0},{"startOffset":3071,"endOffset":3112,"count":8},{"startOffset":3123,"endOffset":3139,"count":8},{"startOffset":3140,"endOffset":3148,"count":0},{"startOffset":3149,"endOffset":3177,"count":8},{"startOffset":3219,"endOffset":3244,"count":8},{"startOffset":3246,"endOffset":3287,"count":0},{"startOffset":3287,"endOffset":3403,"count":8},{"startOffset":3403,"endOffset":3444,"count":0},{"startOffset":3444,"endOffset":3560,"count":8},{"startOffset":3561,"endOffset":3569,"count":0},{"startOffset":3570,"endOffset":3589,"count":8},{"startOffset":3627,"endOffset":3651,"count":8},{"startOffset":3652,"endOffset":3660,"count":0},{"startOffset":3661,"endOffset":3693,"count":8},{"startOffset":3695,"endOffset":3784,"count":2},{"startOffset":3784,"endOffset":3902,"count":8},{"startOffset":3903,"endOffset":3911,"count":0},{"startOffset":3912,"endOffset":3931,"count":8},{"startOffset":3990,"endOffset":4017,"count":8},{"startOffset":4034,"endOffset":4090,"count":8},{"startOffset":4092,"endOffset":4133,"count":1},{"startOffset":4133,"endOffset":4251,"count":7},{"startOffset":4252,"endOffset":4260,"count":0},{"startOffset":4261,"endOffset":4294,"count":7},{"startOffset":4397,"endOffset":4413,"count":7},{"startOffset":4414,"endOffset":4422,"count":0},{"startOffset":4423,"endOffset":4456,"count":7},{"startOffset":4502,"endOffset":4532,"count":3},{"startOffset":4550,"endOffset":4612,"count":4},{"startOffset":4614,"endOffset":5725,"count":6},{"startOffset":4730,"endOffset":4794,"count":0},{"startOffset":4808,"endOffset":4817,"count":0},{"startOffset":4949,"endOffset":4972,"count":3},{"startOffset":4973,"endOffset":4977,"count":3},{"startOffset":5192,"endOffset":5202,"count":3},{"startOffset":5203,"endOffset":5207,"count":3},{"startOffset":5307,"endOffset":5315,"count":0},{"startOffset":5386,"endOffset":5394,"count":0},{"startOffset":5446,"endOffset":5452,"count":3},{"startOffset":5453,"endOffset":5457,"count":3},{"startOffset":5735,"endOffset":5786,"count":259},{"startOffset":5786,"endOffset":5824,"count":0},{"startOffset":5826,"endOffset":6494,"count":259},{"startOffset":5903,"endOffset":6484,"count":3},{"startOffset":6059,"endOffset":6096,"count":2},{"startOffset":6117,"endOffset":6170,"count":1},{"startOffset":6494,"endOffset":6522,"count":259}],"isBlockCoverage":true}]},{"scriptId":"1984","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/use_class_based_exceptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2207,"count":1}],"isBlockCoverage":true},{"functionName":"UseClassBasedExceptions","ranges":[{"startOffset":684,"endOffset":789,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":794,"endOffset":1474,"count":31097}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1479,"endOffset":1544,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1549,"endOffset":1594,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1599,"endOffset":1648,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1653,"endOffset":2091,"count":258},{"startOffset":1792,"endOffset":1800,"count":12},{"startOffset":1801,"endOffset":1845,"count":246},{"startOffset":1847,"endOffset":1852,"count":12},{"startOffset":1854,"endOffset":2062,"count":54},{"startOffset":1929,"endOffset":2052,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1985","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/use_line_exists.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4127,"count":1}],"isBlockCoverage":true},{"functionName":"UseLineExists","ranges":[{"startOffset":741,"endOffset":836,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":841,"endOffset":1543,"count":31106}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1548,"endOffset":1593,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1598,"endOffset":1647,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1652,"endOffset":2804,"count":269},{"startOffset":1740,"endOffset":1774,"count":20},{"startOffset":1774,"endOffset":1880,"count":249},{"startOffset":1880,"endOffset":1914,"count":0},{"startOffset":1914,"endOffset":2037,"count":249},{"startOffset":1966,"endOffset":2001,"count":0},{"startOffset":2003,"endOffset":2037,"count":0},{"startOffset":2037,"endOffset":2139,"count":249},{"startOffset":2139,"endOffset":2775,"count":1420},{"startOffset":2254,"endOffset":2295,"count":1406},{"startOffset":2295,"endOffset":2447,"count":14},{"startOffset":2447,"endOffset":2493,"count":13},{"startOffset":2510,"endOffset":2553,"count":11},{"startOffset":2570,"endOffset":2612,"count":11},{"startOffset":2614,"endOffset":2765,"count":10},{"startOffset":2775,"endOffset":2803,"count":249}],"isBlockCoverage":true},{"functionName":"checksSubrc","ranges":[{"startOffset":2837,"endOffset":3465,"count":11},{"startOffset":2930,"endOffset":3437,"count":13},{"startOffset":3042,"endOffset":3083,"count":2},{"startOffset":3083,"endOffset":3401,"count":11},{"startOffset":3387,"endOffset":3401,"count":0},{"startOffset":3401,"endOffset":3437,"count":0},{"startOffset":3437,"endOffset":3464,"count":0}],"isBlockCoverage":true},{"functionName":"usesTabix","ranges":[{"startOffset":3555,"endOffset":4042,"count":11},{"startOffset":3638,"endOffset":4014,"count":31},{"startOffset":3726,"endOffset":3764,"count":10},{"startOffset":3764,"endOffset":4004,"count":21},{"startOffset":3835,"endOffset":3876,"count":2},{"startOffset":3876,"endOffset":4004,"count":19},{"startOffset":3960,"endOffset":4004,"count":1},{"startOffset":4014,"endOffset":4041,"count":10}],"isBlockCoverage":true}]},{"scriptId":"1986","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/use_new.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3961,"count":1}],"isBlockCoverage":true},{"functionName":"UseNew","ranges":[{"startOffset":739,"endOffset":827,"count":10424}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":832,"endOffset":1497,"count":31105}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1502,"endOffset":1576,"count":8}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1581,"endOffset":1626,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1631,"endOffset":1680,"count":243}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1685,"endOffset":3081,"count":271},{"startOffset":1789,"endOffset":1823,"count":20},{"startOffset":1823,"endOffset":1899,"count":251},{"startOffset":1899,"endOffset":1963,"count":0},{"startOffset":1965,"endOffset":1999,"count":0},{"startOffset":1999,"endOffset":2054,"count":251},{"startOffset":2054,"endOffset":3052,"count":1392},{"startOffset":2124,"endOffset":3042,"count":13},{"startOffset":2200,"endOffset":2249,"count":1},{"startOffset":2249,"endOffset":2511,"count":12},{"startOffset":2346,"endOffset":2395,"count":1},{"startOffset":2395,"endOffset":2511,"count":11},{"startOffset":2462,"endOffset":2511,"count":2},{"startOffset":2511,"endOffset":2629,"count":9},{"startOffset":2630,"endOffset":2638,"count":0},{"startOffset":2639,"endOffset":2658,"count":9},{"startOffset":2731,"endOffset":2780,"count":1},{"startOffset":2780,"endOffset":3042,"count":8},{"startOffset":3052,"endOffset":3080,"count":251}],"isBlockCoverage":true},{"functionName":"buildFix","ranges":[{"startOffset":3086,"endOffset":3898,"count":8},{"startOffset":3241,"endOffset":3249,"count":0},{"startOffset":3305,"endOffset":3346,"count":0},{"startOffset":3467,"endOffset":3500,"count":2},{"startOffset":3501,"endOffset":3505,"count":6},{"startOffset":3613,"endOffset":3621,"count":6},{"startOffset":3622,"endOffset":3651,"count":2},{"startOffset":3685,"endOffset":3720,"count":6}],"isBlockCoverage":true}]},{"scriptId":"1987","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/when_others_last.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2432,"count":1}],"isBlockCoverage":true},{"functionName":"WhenOthersLast","ranges":[{"startOffset":628,"endOffset":724,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":729,"endOffset":1147,"count":31097}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1152,"endOffset":1249,"count":1}],"isBlockCoverage":true},{"functionName":"runParsed","ranges":[{"startOffset":1254,"endOffset":2240,"count":260},{"startOffset":1375,"endOffset":1409,"count":12},{"startOffset":1409,"endOffset":1505,"count":248},{"startOffset":1505,"endOffset":2211,"count":6},{"startOffset":1633,"endOffset":2201,"count":5},{"startOffset":1891,"endOffset":2169,"count":1},{"startOffset":2211,"endOffset":2239,"count":248}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":2245,"endOffset":2290,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":2295,"endOffset":2344,"count":243}],"isBlockCoverage":true}]},{"scriptId":"1988","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/whitespace_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2382,"count":1}],"isBlockCoverage":true},{"functionName":"WhitespaceEnd","ranges":[{"startOffset":553,"endOffset":619,"count":10423}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":624,"endOffset":1115,"count":31099}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":1120,"endOffset":1191,"count":3}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":1196,"endOffset":1241,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":1246,"endOffset":1295,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1300,"endOffset":1345,"count":247}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1350,"endOffset":2298,"count":313},{"startOffset":1431,"endOffset":2269,"count":330},{"startOffset":1522,"endOffset":1563,"count":0},{"startOffset":1658,"endOffset":2259,"count":3804},{"startOffset":1702,"endOffset":1728,"count":3802},{"startOffset":1730,"endOffset":2245,"count":3}],"isBlockCoverage":true}]},{"scriptId":"1989","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/xml_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3835,"count":1}],"isBlockCoverage":true},{"functionName":"XMLConsistency","ranges":[{"startOffset":519,"endOffset":586,"count":10433}],"isBlockCoverage":true},{"functionName":"getMetadata","ranges":[{"startOffset":591,"endOffset":896,"count":21202}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":901,"endOffset":946,"count":9906}],"isBlockCoverage":true},{"functionName":"setConfig","ranges":[{"startOffset":951,"endOffset":1000,"count":243}],"isBlockCoverage":true},{"functionName":"initialize","ranges":[{"startOffset":1005,"endOffset":1050,"count":254}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":1055,"endOffset":3748,"count":320},{"startOffset":1184,"endOffset":1222,"count":242},{"startOffset":1222,"endOffset":1540,"count":78},{"startOffset":1376,"endOffset":1530,"count":9},{"startOffset":1540,"endOffset":1641,"count":78},{"startOffset":1641,"endOffset":2649,"count":10},{"startOffset":1726,"endOffset":1869,"count":0},{"startOffset":1949,"endOffset":2091,"count":1},{"startOffset":2091,"endOffset":2639,"count":9},{"startOffset":2151,"endOffset":2306,"count":1},{"startOffset":2306,"endOffset":2639,"count":8},{"startOffset":2384,"endOffset":2392,"count":0},{"startOffset":2428,"endOffset":2469,"count":7},{"startOffset":2471,"endOffset":2639,"count":1},{"startOffset":2649,"endOffset":2696,"count":78},{"startOffset":2696,"endOffset":3719,"count":5},{"startOffset":2781,"endOffset":2924,"count":0},{"startOffset":3004,"endOffset":3146,"count":0},{"startOffset":3206,"endOffset":3361,"count":0},{"startOffset":3417,"endOffset":3535,"count":4},{"startOffset":3474,"endOffset":3482,"count":0},{"startOffset":3537,"endOffset":3709,"count":1},{"startOffset":3719,"endOffset":3747,"count":78}],"isBlockCoverage":true}]},{"scriptId":"1990","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/json5/lib/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":143,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1991","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/json5/lib/parse.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":22402,"count":1}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":141,"endOffset":698,"count":10950},{"startOffset":351,"endOffset":550,"count":40132347},{"startOffset":620,"endOffset":679,"count":0}],"isBlockCoverage":true},{"functionName":"internalize","ranges":[{"startOffset":700,"endOffset":2002,"count":0}],"isBlockCoverage":false},{"functionName":"lex","ranges":[{"startOffset":2060,"endOffset":2436,"count":40132347},{"startOffset":2170,"endOffset":2434,"count":187594633},{"startOffset":2392,"endOffset":2428,"count":40132347}],"isBlockCoverage":true},{"functionName":"peek","ranges":[{"startOffset":2438,"endOffset":2548,"count":376118881},{"startOffset":2478,"endOffset":2546,"count":376096981}],"isBlockCoverage":true},{"functionName":"read","ranges":[{"startOffset":2550,"endOffset":2789,"count":183122184},{"startOffset":2611,"endOffset":2652,"count":19},{"startOffset":2652,"endOffset":2729,"count":183122165},{"startOffset":2665,"endOffset":2699,"count":183111215},{"startOffset":2699,"endOffset":2729,"count":10950},{"startOffset":2742,"endOffset":2773,"count":183111234}],"isBlockCoverage":true},{"functionName":"default","ranges":[{"startOffset":2815,"endOffset":3546,"count":40132438},{"startOffset":2857,"endOffset":2867,"count":0},{"startOffset":2876,"endOffset":2886,"count":0},{"startOffset":2895,"endOffset":2905,"count":0},{"startOffset":2914,"endOffset":2923,"count":72},{"startOffset":2932,"endOffset":2946,"count":72},{"startOffset":2955,"endOffset":2969,"count":72},{"startOffset":2978,"endOffset":2988,"count":90},{"startOffset":2997,"endOffset":3007,"count":90},{"startOffset":3016,"endOffset":3030,"count":90},{"startOffset":3039,"endOffset":3091,"count":90},{"startOffset":3101,"endOffset":3181,"count":1},{"startOffset":3191,"endOffset":3260,"count":10950},{"startOffset":3270,"endOffset":3310,"count":40121397},{"startOffset":3310,"endOffset":3359,"count":0},{"startOffset":3359,"endOffset":3545,"count":40121397}],"isBlockCoverage":true},{"functionName":"comment","ranges":[{"startOffset":3553,"endOffset":3835,"count":1},{"startOffset":3595,"endOffset":3684,"count":0},{"startOffset":3794,"endOffset":3834,"count":0}],"isBlockCoverage":true},{"functionName":"multiLineComment","ranges":[{"startOffset":3842,"endOffset":4085,"count":0}],"isBlockCoverage":false},{"functionName":"multiLineCommentAsterisk","ranges":[{"startOffset":4092,"endOffset":4421,"count":0}],"isBlockCoverage":false},{"functionName":"singleLineComment","ranges":[{"startOffset":4428,"endOffset":4737,"count":24},{"startOffset":4480,"endOffset":4490,"count":1},{"startOffset":4499,"endOffset":4509,"count":1},{"startOffset":4518,"endOffset":4532,"count":1},{"startOffset":4541,"endOffset":4626,"count":1},{"startOffset":4636,"endOffset":4705,"count":0},{"startOffset":4715,"endOffset":4736,"count":23}],"isBlockCoverage":true},{"functionName":"value","ranges":[{"startOffset":4744,"endOffset":6240,"count":9732358},{"startOffset":4784,"endOffset":4793,"count":2241726},{"startOffset":4802,"endOffset":4861,"count":4472512},{"startOffset":4871,"endOffset":4968,"count":0},{"startOffset":4978,"endOffset":5078,"count":1213847},{"startOffset":5088,"endOffset":5190,"count":437397},{"startOffset":5200,"endOffset":5209,"count":0},{"startOffset":5218,"endOffset":5351,"count":0},{"startOffset":5361,"endOffset":5462,"count":0},{"startOffset":5472,"endOffset":5558,"count":0},{"startOffset":5568,"endOffset":5577,"count":87480},{"startOffset":5586,"endOffset":5595,"count":109350},{"startOffset":5604,"endOffset":5613,"count":120285},{"startOffset":5622,"endOffset":5631,"count":131220},{"startOffset":5640,"endOffset":5649,"count":142155},{"startOffset":5658,"endOffset":5667,"count":142155},{"startOffset":5676,"endOffset":5685,"count":142155},{"startOffset":5694,"endOffset":5703,"count":142155},{"startOffset":5712,"endOffset":5808,"count":142155},{"startOffset":5818,"endOffset":5926,"count":0},{"startOffset":5936,"endOffset":6034,"count":0},{"startOffset":6044,"endOffset":6053,"count":3466447},{"startOffset":6062,"endOffset":6189,"count":3466447},{"startOffset":6199,"endOffset":6239,"count":0}],"isBlockCoverage":true},{"functionName":"identifierNameStartEscape","ranges":[{"startOffset":6247,"endOffset":6683,"count":0}],"isBlockCoverage":false},{"functionName":"identifierName","ranges":[{"startOffset":6690,"endOffset":7126,"count":0}],"isBlockCoverage":false},{"functionName":"identifierNameEscape","ranges":[{"startOffset":7133,"endOffset":7613,"count":0}],"isBlockCoverage":false},{"functionName":"sign","ranges":[{"startOffset":7620,"endOffset":8390,"count":0}],"isBlockCoverage":false},{"functionName":"zero","ranges":[{"startOffset":8397,"endOffset":8841,"count":0}],"isBlockCoverage":false},{"functionName":"decimalInteger","ranges":[{"startOffset":8848,"endOffset":9283,"count":240570},{"startOffset":8897,"endOffset":8992,"count":0},{"startOffset":9002,"endOffset":9011,"count":0},{"startOffset":9020,"endOffset":9118,"count":0},{"startOffset":9159,"endOffset":9218,"count":98415},{"startOffset":9218,"endOffset":9282,"count":142155}],"isBlockCoverage":true},{"functionName":"decimalPointLeading","ranges":[{"startOffset":9290,"endOffset":9485,"count":0}],"isBlockCoverage":false},{"functionName":"decimalPoint","ranges":[{"startOffset":9492,"endOffset":9861,"count":0}],"isBlockCoverage":false},{"functionName":"decimalFraction","ranges":[{"startOffset":9868,"endOffset":10199,"count":0}],"isBlockCoverage":false},{"functionName":"decimalExponent","ranges":[{"startOffset":10206,"endOffset":10565,"count":0}],"isBlockCoverage":false},{"functionName":"decimalExponentSign","ranges":[{"startOffset":10572,"endOffset":10774,"count":0}],"isBlockCoverage":false},{"functionName":"decimalExponentInteger","ranges":[{"startOffset":10781,"endOffset":10962,"count":0}],"isBlockCoverage":false},{"functionName":"hexadecimal","ranges":[{"startOffset":10969,"endOffset":11162,"count":0}],"isBlockCoverage":false},{"functionName":"hexadecimalInteger","ranges":[{"startOffset":11169,"endOffset":11349,"count":0}],"isBlockCoverage":false},{"functionName":"string","ranges":[{"startOffset":11356,"endOffset":12125,"count":137489242},{"startOffset":11397,"endOffset":11476,"count":10935},{"startOffset":11486,"endOffset":11662,"count":12706724},{"startOffset":11613,"endOffset":11662,"count":0},{"startOffset":11672,"endOffset":11849,"count":0},{"startOffset":11859,"endOffset":11869,"count":0},{"startOffset":11878,"endOffset":11926,"count":0},{"startOffset":11936,"endOffset":11950,"count":0},{"startOffset":11959,"endOffset":12020,"count":0},{"startOffset":12030,"endOffset":12083,"count":0},{"startOffset":12093,"endOffset":12124,"count":124771583}],"isBlockCoverage":true},{"functionName":"start","ranges":[{"startOffset":12132,"endOffset":12435,"count":10950},{"startOffset":12401,"endOffset":12434,"count":0}],"isBlockCoverage":true},{"functionName":"beforePropertyName","ranges":[{"startOffset":12442,"endOffset":13105,"count":9240284},{"startOffset":12495,"endOffset":12504,"count":0},{"startOffset":12513,"endOffset":12609,"count":0},{"startOffset":12619,"endOffset":12718,"count":0},{"startOffset":12728,"endOffset":12787,"count":7},{"startOffset":12797,"endOffset":12806,"count":9240277},{"startOffset":12815,"endOffset":12918,"count":9240277},{"startOffset":12928,"endOffset":13104,"count":0}],"isBlockCoverage":true},{"functionName":"afterPropertyName","ranges":[{"startOffset":13112,"endOffset":13260,"count":9240277},{"startOffset":13219,"endOffset":13259,"count":0}],"isBlockCoverage":true},{"functionName":"beforePropertyValue","ranges":[{"startOffset":13267,"endOffset":13324,"count":9240277}],"isBlockCoverage":true},{"functionName":"afterPropertyValue","ranges":[{"startOffset":13331,"endOffset":13512,"count":9240277},{"startOffset":13384,"endOffset":13393,"count":6987608},{"startOffset":13471,"endOffset":13511,"count":0}],"isBlockCoverage":true},{"functionName":"beforeArrayValue","ranges":[{"startOffset":13519,"endOffset":13659,"count":2657251},{"startOffset":13564,"endOffset":13625,"count":2165170},{"startOffset":13625,"endOffset":13658,"count":492081}],"isBlockCoverage":true},{"functionName":"afterArrayValue","ranges":[{"startOffset":13666,"endOffset":13844,"count":492081},{"startOffset":13716,"endOffset":13725,"count":426465},{"startOffset":13803,"endOffset":13843,"count":0}],"isBlockCoverage":true},{"functionName":"end","ranges":[{"startOffset":13851,"endOffset":14087,"count":0}],"isBlockCoverage":false},{"functionName":"newToken","ranges":[{"startOffset":14092,"endOffset":14205,"count":40132347}],"isBlockCoverage":true},{"functionName":"literal","ranges":[{"startOffset":14207,"endOffset":14375,"count":1651244},{"startOffset":14253,"endOffset":14373,"count":5391129},{"startOffset":14302,"endOffset":14351,"count":0}],"isBlockCoverage":true},{"functionName":"escape","ranges":[{"startOffset":14377,"endOffset":15427,"count":10935},{"startOffset":14440,"endOffset":14484,"count":0},{"startOffset":14490,"endOffset":14534,"count":0},{"startOffset":14540,"endOffset":14584,"count":0},{"startOffset":14590,"endOffset":14634,"count":0},{"startOffset":14640,"endOffset":14684,"count":0},{"startOffset":14690,"endOffset":14734,"count":0},{"startOffset":14740,"endOffset":14869,"count":0},{"startOffset":14875,"endOffset":14926,"count":0},{"startOffset":14932,"endOffset":14987,"count":0},{"startOffset":14993,"endOffset":15003,"count":0},{"startOffset":15008,"endOffset":15022,"count":0},{"startOffset":15027,"endOffset":15074,"count":0},{"startOffset":15080,"endOffset":15184,"count":0},{"startOffset":15190,"endOffset":15199,"count":0},{"startOffset":15204,"endOffset":15213,"count":0},{"startOffset":15218,"endOffset":15227,"count":0},{"startOffset":15232,"endOffset":15241,"count":0},{"startOffset":15246,"endOffset":15255,"count":0},{"startOffset":15260,"endOffset":15269,"count":0},{"startOffset":15274,"endOffset":15283,"count":0},{"startOffset":15288,"endOffset":15297,"count":0},{"startOffset":15302,"endOffset":15345,"count":0},{"startOffset":15351,"endOffset":15400,"count":0}],"isBlockCoverage":true},{"functionName":"hexEscape","ranges":[{"startOffset":15429,"endOffset":15751,"count":0}],"isBlockCoverage":false},{"functionName":"unicodeEscape","ranges":[{"startOffset":15753,"endOffset":16042,"count":0}],"isBlockCoverage":false},{"functionName":"start","ranges":[{"startOffset":16070,"endOffset":16179,"count":10950},{"startOffset":16115,"endOffset":16157,"count":0}],"isBlockCoverage":true},{"functionName":"beforePropertyName","ranges":[{"startOffset":16186,"endOffset":16797,"count":9240284},{"startOffset":16248,"endOffset":16266,"count":0},{"startOffset":16275,"endOffset":16383,"count":9240277},{"startOffset":16393,"endOffset":16624,"count":7},{"startOffset":16634,"endOffset":16676,"count":0}],"isBlockCoverage":true},{"functionName":"afterPropertyName","ranges":[{"startOffset":16804,"endOffset":17144,"count":9240277},{"startOffset":17052,"endOffset":17094,"count":0}],"isBlockCoverage":true},{"functionName":"beforePropertyValue","ranges":[{"startOffset":17151,"endOffset":17274,"count":9240277},{"startOffset":17210,"endOffset":17252,"count":0}],"isBlockCoverage":true},{"functionName":"beforeArrayValue","ranges":[{"startOffset":17281,"endOffset":17515,"count":2657251},{"startOffset":17337,"endOffset":17379,"count":0},{"startOffset":17421,"endOffset":17443,"count":2536960},{"startOffset":17445,"endOffset":17493,"count":2165170},{"startOffset":17493,"endOffset":17514,"count":492081}],"isBlockCoverage":true},{"functionName":"afterPropertyValue","ranges":[{"startOffset":17522,"endOffset":18063,"count":9240277},{"startOffset":17748,"endOffset":17790,"count":0},{"startOffset":17831,"endOffset":17905,"count":6987608},{"startOffset":17915,"endOffset":17942,"count":2252669}],"isBlockCoverage":true},{"functionName":"afterArrayValue","ranges":[{"startOffset":18070,"endOffset":18606,"count":492081},{"startOffset":18293,"endOffset":18335,"count":0},{"startOffset":18376,"endOffset":18448,"count":426465},{"startOffset":18458,"endOffset":18485,"count":65616}],"isBlockCoverage":true},{"functionName":"end","ranges":[{"startOffset":18613,"endOffset":18787,"count":10950}],"isBlockCoverage":true},{"functionName":"push","ranges":[{"startOffset":18792,"endOffset":20186,"count":9743308},{"startOffset":18856,"endOffset":19049,"count":4483462},{"startOffset":18914,"endOffset":18964,"count":2252676},{"startOffset":18974,"endOffset":19024,"count":2230786},{"startOffset":19055,"endOffset":19067,"count":0},{"startOffset":19072,"endOffset":19087,"count":1651244},{"startOffset":19092,"endOffset":19107,"count":1793399},{"startOffset":19112,"endOffset":19168,"count":5259846},{"startOffset":19286,"endOffset":19314,"count":10950},{"startOffset":19314,"endOffset":19658,"count":9732358},{"startOffset":19404,"endOffset":19446,"count":492081},{"startOffset":19446,"endOffset":19652,"count":9240277},{"startOffset":19713,"endOffset":19900,"count":4483462},{"startOffset":19776,"endOffset":19831,"count":2230786},{"startOffset":19831,"endOffset":19894,"count":2252676},{"startOffset":19900,"endOffset":20184,"count":5259846},{"startOffset":19985,"endOffset":20027,"count":0},{"startOffset":20061,"endOffset":20115,"count":120291},{"startOffset":20115,"endOffset":20178,"count":5139555}],"isBlockCoverage":true},{"functionName":"pop","ranges":[{"startOffset":20188,"endOffset":20463,"count":4483462},{"startOffset":20292,"endOffset":20326,"count":10950},{"startOffset":20326,"endOffset":20461,"count":4472512},{"startOffset":20360,"endOffset":20406,"count":371790},{"startOffset":20406,"endOffset":20461,"count":4100722}],"isBlockCoverage":true},{"functionName":"invalidChar","ranges":[{"startOffset":20741,"endOffset":20973,"count":0}],"isBlockCoverage":false},{"functionName":"invalidEOF","ranges":[{"startOffset":20975,"endOffset":21076,"count":0}],"isBlockCoverage":false},{"functionName":"invalidIdentifier","ranges":[{"startOffset":21430,"endOffset":21562,"count":0}],"isBlockCoverage":false},{"functionName":"separatorChar","ranges":[{"startOffset":21564,"endOffset":21694,"count":0}],"isBlockCoverage":false},{"functionName":"formatChar","ranges":[{"startOffset":21696,"endOffset":22253,"count":0}],"isBlockCoverage":false},{"functionName":"syntaxError","ranges":[{"startOffset":22255,"endOffset":22401,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1992","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/json5/lib/util.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":885,"count":1}],"isBlockCoverage":true},{"functionName":"isSpaceSeparator","ranges":[{"startOffset":66,"endOffset":166,"count":40121397}],"isBlockCoverage":true},{"functionName":"isIdStartChar","ranges":[{"startOffset":173,"endOffset":393,"count":0}],"isBlockCoverage":false},{"functionName":"isIdContinueChar","ranges":[{"startOffset":400,"endOffset":708,"count":0}],"isBlockCoverage":false},{"functionName":"isDigit","ranges":[{"startOffset":715,"endOffset":790,"count":240570}],"isBlockCoverage":true},{"functionName":"isHexDigit","ranges":[{"startOffset":797,"endOffset":881,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1993","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/json5/lib/unicode.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":15815,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1994","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/json5/lib/stringify.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6983,"count":1}],"isBlockCoverage":true},{"functionName":"stringify","ranges":[{"startOffset":49,"endOffset":6982,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1995","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":40,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1996","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1258,"count":1}],"isBlockCoverage":true},{"functionName":"exports.use","ranges":[{"startOffset":497,"endOffset":607,"count":5}],"isBlockCoverage":true}]},{"scriptId":"1997","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/assertion-error/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2429,"count":1}],"isBlockCoverage":true},{"functionName":"exclude","ranges":[{"startOffset":328,"endOffset":754,"count":0}],"isBlockCoverage":false},{"functionName":"AssertionError","ranges":[{"startOffset":1083,"endOffset":1666,"count":0}],"isBlockCoverage":false},{"functionName":"AssertionError.toJSON","ranges":[{"startOffset":2162,"endOffset":2427,"count":0}],"isBlockCoverage":false}]},{"scriptId":"1998","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2540,"count":1}],"isBlockCoverage":true}]},{"scriptId":"1999","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/pathval/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7808,"count":1}],"isBlockCoverage":true},{"functionName":"hasProperty","ranges":[{"startOffset":1145,"endOffset":1339,"count":0}],"isBlockCoverage":false},{"functionName":"parsePath","ranges":[{"startOffset":1827,"endOffset":2379,"count":0}],"isBlockCoverage":false},{"functionName":"internalGetPathValue","ranges":[{"startOffset":2832,"endOffset":3365,"count":0}],"isBlockCoverage":false},{"functionName":"internalSetPathValue","ranges":[{"startOffset":3727,"endOffset":5011,"count":0}],"isBlockCoverage":false},{"functionName":"getPathInfo","ranges":[{"startOffset":5630,"endOffset":6014,"count":0}],"isBlockCoverage":false},{"functionName":"getPathValue","ranges":[{"startOffset":6735,"endOffset":6829,"count":0}],"isBlockCoverage":false},{"functionName":"setPathValue","ranges":[{"startOffset":7539,"endOffset":7668,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2000","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/test.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true},{"functionName":"test","ranges":[{"startOffset":421,"endOffset":538,"count":12548},{"startOffset":521,"endOffset":528,"count":894},{"startOffset":529,"endOffset":535,"count":11654}],"isBlockCoverage":true}]},{"scriptId":"2001","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/flag.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":812,"count":1}],"isBlockCoverage":true},{"functionName":"flag","ranges":[{"startOffset":616,"endOffset":810,"count":347979},{"startOffset":675,"endOffset":713,"count":42007},{"startOffset":745,"endOffset":774,"count":254329},{"startOffset":774,"endOffset":808,"count":93650}],"isBlockCoverage":true}]},{"scriptId":"2002","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/type-detect/type-detect.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":15484,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1,"endOffset":222,"count":1},{"startOffset":121,"endOffset":219,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":230,"endOffset":15479,"count":1},{"startOffset":483,"endOffset":489,"count":0}],"isBlockCoverage":true},{"functionName":"typeDetect","ranges":[{"startOffset":2073,"endOffset":15456,"count":1698},{"startOffset":2928,"endOffset":2955,"count":1641},{"startOffset":2955,"endOffset":3174,"count":57},{"startOffset":3174,"endOffset":3198,"count":0},{"startOffset":3198,"endOffset":3906,"count":57},{"startOffset":3906,"endOffset":3932,"count":0},{"startOffset":3932,"endOffset":4160,"count":57},{"startOffset":4160,"endOffset":4234,"count":55},{"startOffset":4239,"endOffset":4264,"count":55},{"startOffset":4264,"endOffset":4452,"count":2},{"startOffset":4452,"endOffset":4470,"count":0},{"startOffset":4472,"endOffset":9159,"count":0},{"startOffset":9159,"endOffset":10539,"count":2},{"startOffset":10579,"endOffset":10606,"count":0},{"startOffset":10606,"endOffset":11028,"count":2},{"startOffset":11028,"endOffset":11054,"count":0},{"startOffset":11054,"endOffset":11285,"count":2},{"startOffset":11285,"endOffset":11309,"count":0},{"startOffset":11309,"endOffset":11817,"count":2},{"startOffset":11819,"endOffset":11846,"count":0},{"startOffset":11846,"endOffset":12087,"count":2},{"startOffset":12089,"endOffset":12112,"count":0},{"startOffset":12112,"endOffset":12353,"count":2},{"startOffset":12355,"endOffset":12378,"count":0},{"startOffset":12378,"endOffset":12627,"count":2},{"startOffset":12629,"endOffset":12656,"count":0},{"startOffset":12656,"endOffset":12905,"count":2},{"startOffset":12907,"endOffset":12934,"count":0},{"startOffset":12934,"endOffset":13323,"count":2},{"startOffset":13325,"endOffset":13353,"count":0},{"startOffset":13353,"endOffset":13739,"count":2},{"startOffset":13741,"endOffset":13773,"count":0},{"startOffset":13773,"endOffset":14159,"count":2},{"startOffset":14161,"endOffset":14193,"count":0},{"startOffset":14193,"endOffset":14599,"count":2},{"startOffset":14601,"endOffset":14635,"count":0},{"startOffset":14635,"endOffset":15046,"count":2},{"startOffset":15048,"endOffset":15083,"count":0},{"startOffset":15083,"endOffset":15304,"count":2},{"startOffset":15304,"endOffset":15330,"count":0},{"startOffset":15330,"endOffset":15455,"count":2}],"isBlockCoverage":true}]},{"scriptId":"2003","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/expectTypes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1433,"count":1}],"isBlockCoverage":true},{"functionName":"expectTypes","ranges":[{"startOffset":597,"endOffset":1431,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2004","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/getMessage.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1370,"count":1}],"isBlockCoverage":true},{"functionName":"getMessage","ranges":[{"startOffset":793,"endOffset":1368,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2005","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/getActual.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":467,"count":1}],"isBlockCoverage":true},{"functionName":"getActual","ranges":[{"startOffset":385,"endOffset":465,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2006","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/objDisplay.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1266,"count":1}],"isBlockCoverage":true},{"functionName":"objDisplay","ranges":[{"startOffset":545,"endOffset":1264,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2007","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/inspect.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1152,"count":1}],"isBlockCoverage":true},{"functionName":"inspect","ranges":[{"startOffset":857,"endOffset":1151,"count":760},{"startOffset":991,"endOffset":998,"count":0},{"startOffset":1095,"endOffset":1105,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2008","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/get-func-name/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1506,"count":1}],"isBlockCoverage":true},{"functionName":"getFuncName","ranges":[{"startOffset":598,"endOffset":1474,"count":2786},{"startOffset":663,"endOffset":685,"count":0},{"startOffset":757,"endOffset":793,"count":0},{"startOffset":795,"endOffset":1369,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2009","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/loupe/loupe.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":28127,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1,"endOffset":299,"count":1},{"startOffset":112,"endOffset":296,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":307,"endOffset":28122,"count":1},{"startOffset":14169,"endOffset":14210,"count":0},{"startOffset":16929,"endOffset":17442,"count":0},{"startOffset":18552,"endOffset":18559,"count":0},{"startOffset":21845,"endOffset":21863,"count":0},{"startOffset":22046,"endOffset":22053,"count":0},{"startOffset":22059,"endOffset":22111,"count":0},{"startOffset":22878,"endOffset":22887,"count":0}],"isBlockCoverage":true},{"functionName":"_typeof","ranges":[{"startOffset":345,"endOffset":773,"count":1},{"startOffset":554,"endOffset":743,"count":0}],"isBlockCoverage":true},{"functionName":"_typeof","ranges":[{"startOffset":496,"endOffset":547,"count":760}],"isBlockCoverage":true},{"functionName":"_typeof","ranges":[{"startOffset":578,"endOffset":736,"count":0}],"isBlockCoverage":false},{"functionName":"_slicedToArray","ranges":[{"startOffset":777,"endOffset":941,"count":0}],"isBlockCoverage":false},{"functionName":"_arrayWithHoles","ranges":[{"startOffset":945,"endOffset":1020,"count":0}],"isBlockCoverage":false},{"functionName":"_iterableToArrayLimit","ranges":[{"startOffset":1024,"endOffset":1632,"count":0}],"isBlockCoverage":false},{"functionName":"_unsupportedIterableToArray","ranges":[{"startOffset":1636,"endOffset":2078,"count":0}],"isBlockCoverage":false},{"functionName":"_arrayLikeToArray","ranges":[{"startOffset":2082,"endOffset":2277,"count":0}],"isBlockCoverage":false},{"functionName":"_nonIterableRest","ranges":[{"startOffset":2281,"endOffset":2480,"count":0}],"isBlockCoverage":false},{"functionName":"colorise","ranges":[{"startOffset":3506,"endOffset":3768,"count":0}],"isBlockCoverage":false},{"functionName":"normaliseOptions","ranges":[{"startOffset":3772,"endOffset":5466,"count":760},{"startOffset":3883,"endOffset":3887,"count":0},{"startOffset":3988,"endOffset":4005,"count":0},{"startOffset":4078,"endOffset":4081,"count":0},{"startOffset":4179,"endOffset":4192,"count":0},{"startOffset":4304,"endOffset":4324,"count":0},{"startOffset":4421,"endOffset":4437,"count":0},{"startOffset":4557,"endOffset":4578,"count":0},{"startOffset":4686,"endOffset":4704,"count":0},{"startOffset":4778,"endOffset":4789,"count":0},{"startOffset":4874,"endOffset":4884,"count":0},{"startOffset":4990,"endOffset":5004,"count":0},{"startOffset":5400,"endOffset":5441,"count":0}],"isBlockCoverage":true},{"functionName":"truncate","ranges":[{"startOffset":5469,"endOffset":5953,"count":760},{"startOffset":5541,"endOffset":5570,"count":0},{"startOffset":5571,"endOffset":5585,"count":0},{"startOffset":5729,"endOffset":5757,"count":0},{"startOffset":5759,"endOffset":5785,"count":0},{"startOffset":5817,"endOffset":5845,"count":28},{"startOffset":5847,"endOffset":5929,"count":28},{"startOffset":5929,"endOffset":5952,"count":732}],"isBlockCoverage":true},{"functionName":"inspectList","ranges":[{"startOffset":5996,"endOffset":8293,"count":0}],"isBlockCoverage":false},{"functionName":"quoteComplexKey","ranges":[{"startOffset":8297,"endOffset":8505,"count":0}],"isBlockCoverage":false},{"functionName":"inspectProperty","ranges":[{"startOffset":8509,"endOffset":8982,"count":0}],"isBlockCoverage":false},{"functionName":"inspectArray","ranges":[{"startOffset":8986,"endOffset":9750,"count":0}],"isBlockCoverage":false},{"functionName":"getFuncName","ranges":[{"startOffset":10340,"endOffset":10900,"count":0}],"isBlockCoverage":false},{"functionName":"getArrayName","ranges":[{"startOffset":10959,"endOffset":11298,"count":0}],"isBlockCoverage":false},{"functionName":"inspectTypedArray","ranges":[{"startOffset":11303,"endOffset":12648,"count":0}],"isBlockCoverage":false},{"functionName":"inspectDate","ranges":[{"startOffset":12652,"endOffset":13090,"count":0}],"isBlockCoverage":false},{"functionName":"inspectFunction","ranges":[{"startOffset":13094,"endOffset":13359,"count":0}],"isBlockCoverage":false},{"functionName":"inspectMapEntry","ranges":[{"startOffset":13363,"endOffset":13698,"count":0}],"isBlockCoverage":false},{"functionName":"mapToEntries","ranges":[{"startOffset":13743,"endOffset":13899,"count":0}],"isBlockCoverage":false},{"functionName":"inspectMap","ranges":[{"startOffset":13903,"endOffset":14140,"count":0}],"isBlockCoverage":false},{"functionName":"isNaN","ranges":[{"startOffset":14172,"endOffset":14210,"count":0}],"isBlockCoverage":false},{"functionName":"inspectNumber","ranges":[{"startOffset":14255,"endOffset":14745,"count":0}],"isBlockCoverage":false},{"functionName":"inspectBigInt","ranges":[{"startOffset":14749,"endOffset":14945,"count":0}],"isBlockCoverage":false},{"functionName":"inspectRegExp","ranges":[{"startOffset":14949,"endOffset":15235,"count":0}],"isBlockCoverage":false},{"functionName":"arrayFromSet","ranges":[{"startOffset":15239,"endOffset":15380,"count":0}],"isBlockCoverage":false},{"functionName":"inspectSet","ranges":[{"startOffset":15384,"endOffset":15564,"count":0}],"isBlockCoverage":false},{"functionName":"escape","ranges":[{"startOffset":15955,"endOffset":16104,"count":4},{"startOffset":16013,"endOffset":16099,"count":0}],"isBlockCoverage":true},{"functionName":"inspectString","ranges":[{"startOffset":16108,"endOffset":16355,"count":760},{"startOffset":16190,"endOffset":16255,"count":2}],"isBlockCoverage":true},{"functionName":"inspectSymbol","ranges":[{"startOffset":16359,"endOffset":16563,"count":0}],"isBlockCoverage":false},{"functionName":"getPromiseValue","ranges":[{"startOffset":16589,"endOffset":16646,"count":0}],"isBlockCoverage":false},{"functionName":"getPromiseValue","ranges":[{"startOffset":16955,"endOffset":17435,"count":0}],"isBlockCoverage":false},{"functionName":"inspectObject","ranges":[{"startOffset":17530,"endOffset":18457,"count":0}],"isBlockCoverage":false},{"functionName":"inspectClass","ranges":[{"startOffset":18563,"endOffset":19008,"count":0}],"isBlockCoverage":false},{"functionName":"inspectArguments","ranges":[{"startOffset":19012,"endOffset":19202,"count":0}],"isBlockCoverage":false},{"functionName":"inspectObject$1","ranges":[{"startOffset":19339,"endOffset":20110,"count":0}],"isBlockCoverage":false},{"functionName":"inspectAttribute","ranges":[{"startOffset":20114,"endOffset":20480,"count":0}],"isBlockCoverage":false},{"functionName":"inspectHTMLCollection","ranges":[{"startOffset":20483,"endOffset":20657,"count":0}],"isBlockCoverage":false},{"functionName":"inspectHTML","ranges":[{"startOffset":20660,"endOffset":21686,"count":0}],"isBlockCoverage":false},{"functionName":"FakeMap","ranges":[{"startOffset":22115,"endOffset":22247,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":22331,"endOffset":22384,"count":0}],"isBlockCoverage":false},{"functionName":"has","ranges":[{"startOffset":22444,"endOffset":22499,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":22559,"endOffset":22804,"count":0}],"isBlockCoverage":false},{"functionName":"undefined$1","ranges":[{"startOffset":22955,"endOffset":23055,"count":0}],"isBlockCoverage":false},{"functionName":"_null","ranges":[{"startOffset":23067,"endOffset":23149,"count":0}],"isBlockCoverage":false},{"functionName":"boolean","ranges":[{"startOffset":23164,"endOffset":23252,"count":0}],"isBlockCoverage":false},{"functionName":"Boolean","ranges":[{"startOffset":23267,"endOffset":23355,"count":0}],"isBlockCoverage":false},{"functionName":"WeakSet","ranges":[{"startOffset":23918,"endOffset":24013,"count":0}],"isBlockCoverage":false},{"functionName":"WeakMap","ranges":[{"startOffset":24028,"endOffset":24123,"count":0}],"isBlockCoverage":false},{"functionName":"Generator","ranges":[{"startOffset":24500,"endOffset":24545,"count":0}],"isBlockCoverage":false},{"functionName":"DataView","ranges":[{"startOffset":24561,"endOffset":24605,"count":0}],"isBlockCoverage":false},{"functionName":"ArrayBuffer","ranges":[{"startOffset":24624,"endOffset":24671,"count":0}],"isBlockCoverage":false},{"functionName":"inspectCustom","ranges":[{"startOffset":24847,"endOffset":25556,"count":0}],"isBlockCoverage":false},{"functionName":"inspect","ranges":[{"startOffset":25647,"endOffset":27462,"count":760},{"startOffset":25860,"endOffset":25868,"count":0},{"startOffset":25915,"endOffset":25972,"count":0},{"startOffset":26136,"endOffset":26251,"count":0},{"startOffset":26253,"endOffset":26495,"count":0},{"startOffset":26496,"endOffset":26503,"count":0},{"startOffset":26594,"endOffset":26611,"count":0},{"startOffset":26613,"endOffset":26799,"count":0},{"startOffset":26800,"endOffset":26831,"count":0},{"startOffset":26833,"endOffset":27461,"count":0}],"isBlockCoverage":true},{"functionName":"registerConstructor","ranges":[{"startOffset":27465,"endOffset":27658,"count":0}],"isBlockCoverage":false},{"functionName":"registerStringTag","ranges":[{"startOffset":27661,"endOffset":27837,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2010","url":"node:internal/legacy/processbinding","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":817,"count":1}],"isBlockCoverage":false},{"functionName":"util","ranges":[{"startOffset":205,"endOffset":812,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":321,"endOffset":804,"count":42}],"isBlockCoverage":true}]},{"scriptId":"2011","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/config.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3794,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2012","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/transferFlags.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1361,"count":1}],"isBlockCoverage":true},{"functionName":"transferFlags","ranges":[{"startOffset":895,"endOffset":1359,"count":29853},{"startOffset":983,"endOffset":1027,"count":0},{"startOffset":1053,"endOffset":1100,"count":0},{"startOffset":1140,"endOffset":1152,"count":0},{"startOffset":1188,"endOffset":1357,"count":151918},{"startOffset":1209,"endOffset":1302,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2013","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/deep-eql/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":16250,"count":1},{"startOffset":622,"endOffset":631,"count":0}],"isBlockCoverage":true},{"functionName":"FakeMap","ranges":[{"startOffset":207,"endOffset":291,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":322,"endOffset":372,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":381,"endOffset":559,"count":0}],"isBlockCoverage":false},{"functionName":"memoizeCompare","ranges":[{"startOffset":856,"endOffset":1318,"count":38},{"startOffset":1083,"endOffset":1105,"count":0},{"startOffset":1178,"endOffset":1301,"count":0}],"isBlockCoverage":true},{"functionName":"memoizeSet","ranges":[{"startOffset":1514,"endOffset":2033,"count":38},{"startOffset":1745,"endOffset":1762,"count":0},{"startOffset":1835,"endOffset":2031,"count":19}],"isBlockCoverage":true},{"functionName":"deepEqual","ranges":[{"startOffset":2751,"endOffset":3287,"count":86},{"startOffset":2914,"endOffset":2935,"count":66},{"startOffset":2937,"endOffset":3017,"count":0},{"startOffset":3117,"endOffset":3147,"count":67},{"startOffset":3147,"endOffset":3286,"count":19}],"isBlockCoverage":true},{"functionName":"simpleEqual","ranges":[{"startOffset":3491,"endOffset":4308,"count":86},{"startOffset":3658,"endOffset":3769,"count":67},{"startOffset":3717,"endOffset":3764,"count":8},{"startOffset":3769,"endOffset":3840,"count":19},{"startOffset":3840,"endOffset":3923,"count":0},{"startOffset":3967,"endOffset":3989,"count":0},{"startOffset":3989,"endOffset":4200,"count":19},{"startOffset":4202,"endOffset":4291,"count":0},{"startOffset":4291,"endOffset":4307,"count":19}],"isBlockCoverage":true},{"functionName":"extensiveDeepEqual","ranges":[{"startOffset":4900,"endOffset":6888,"count":19},{"startOffset":4994,"endOffset":4999,"count":18},{"startOffset":5047,"endOffset":5054,"count":0},{"startOffset":5073,"endOffset":5092,"count":18},{"startOffset":5313,"endOffset":5348,"count":0},{"startOffset":5479,"endOffset":5515,"count":0},{"startOffset":5576,"endOffset":6346,"count":0},{"startOffset":6439,"endOffset":6537,"count":0}],"isBlockCoverage":true},{"functionName":"extensiveDeepEqualByType","ranges":[{"startOffset":6890,"endOffset":9118,"count":19},{"startOffset":7014,"endOffset":7028,"count":0},{"startOffset":7033,"endOffset":7047,"count":0},{"startOffset":7052,"endOffset":7067,"count":0},{"startOffset":7072,"endOffset":7271,"count":0},{"startOffset":7276,"endOffset":7291,"count":0},{"startOffset":7296,"endOffset":7310,"count":0},{"startOffset":7315,"endOffset":7331,"count":0},{"startOffset":7336,"endOffset":7351,"count":0},{"startOffset":7356,"endOffset":7422,"count":0},{"startOffset":7427,"endOffset":7539,"count":0},{"startOffset":7544,"endOffset":7561,"count":0},{"startOffset":7566,"endOffset":7583,"count":0},{"startOffset":7588,"endOffset":7606,"count":0},{"startOffset":7611,"endOffset":7636,"count":0},{"startOffset":7641,"endOffset":7659,"count":0},{"startOffset":7664,"endOffset":7683,"count":0},{"startOffset":7688,"endOffset":7706,"count":0},{"startOffset":7711,"endOffset":7730,"count":0},{"startOffset":7735,"endOffset":7755,"count":0},{"startOffset":7760,"endOffset":7780,"count":0},{"startOffset":7785,"endOffset":7870,"count":18},{"startOffset":7875,"endOffset":7950,"count":0},{"startOffset":7955,"endOffset":8045,"count":0},{"startOffset":8050,"endOffset":8184,"count":0},{"startOffset":8189,"endOffset":8312,"count":0},{"startOffset":8317,"endOffset":8399,"count":0},{"startOffset":8404,"endOffset":8486,"count":0},{"startOffset":8491,"endOffset":8517,"count":0},{"startOffset":8522,"endOffset":8548,"count":0},{"startOffset":8553,"endOffset":8583,"count":0},{"startOffset":8588,"endOffset":8612,"count":0},{"startOffset":8617,"endOffset":8647,"count":0},{"startOffset":8652,"endOffset":8683,"count":0},{"startOffset":8688,"endOffset":8773,"count":0},{"startOffset":8778,"endOffset":8896,"count":0},{"startOffset":8901,"endOffset":8926,"count":0},{"startOffset":8931,"endOffset":9029,"count":0},{"startOffset":9034,"endOffset":9112,"count":1}],"isBlockCoverage":true},{"functionName":"regexpEqual","ranges":[{"startOffset":9280,"endOffset":9408,"count":0}],"isBlockCoverage":false},{"functionName":"entriesEqual","ranges":[{"startOffset":9632,"endOffset":10291,"count":0}],"isBlockCoverage":false},{"functionName":"iterableEqual","ranges":[{"startOffset":10541,"endOffset":10940,"count":19},{"startOffset":10691,"endOffset":10714,"count":0},{"startOffset":10735,"endOffset":10757,"count":3},{"startOffset":10757,"endOffset":10803,"count":16},{"startOffset":10803,"endOffset":10923,"count":66},{"startOffset":10892,"endOffset":10919,"count":0},{"startOffset":10923,"endOffset":10939,"count":16}],"isBlockCoverage":true},{"functionName":"generatorEqual","ranges":[{"startOffset":11185,"endOffset":11366,"count":0}],"isBlockCoverage":false},{"functionName":"hasIteratorFunction","ranges":[{"startOffset":11536,"endOffset":11749,"count":0}],"isBlockCoverage":false},{"functionName":"getIteratorEntries","ranges":[{"startOffset":12085,"endOffset":12302,"count":0}],"isBlockCoverage":false},{"functionName":"getGeneratorEntries","ranges":[{"startOffset":12507,"endOffset":12793,"count":0}],"isBlockCoverage":false},{"functionName":"getEnumerableKeys","ranges":[{"startOffset":12976,"endOffset":13098,"count":2},{"startOffset":13056,"endOffset":13081,"count":4}],"isBlockCoverage":true},{"functionName":"getEnumerableSymbols","ranges":[{"startOffset":13100,"endOffset":13400,"count":2},{"startOffset":13257,"endOffset":13383,"count":0}],"isBlockCoverage":true},{"functionName":"keysEqual","ranges":[{"startOffset":13875,"endOffset":14196,"count":1},{"startOffset":13994,"endOffset":14016,"count":0},{"startOffset":14055,"endOffset":14179,"count":2},{"startOffset":14148,"endOffset":14175,"count":0}],"isBlockCoverage":true},{"functionName":"objectEqual","ranges":[{"startOffset":14508,"endOffset":15752,"count":1},{"startOffset":15110,"endOffset":15137,"count":0},{"startOffset":15221,"endOffset":15429,"count":0},{"startOffset":15431,"endOffset":15634,"count":0},{"startOffset":15635,"endOffset":15670,"count":0},{"startOffset":15671,"endOffset":15709,"count":0},{"startOffset":15711,"endOffset":15751,"count":0}],"isBlockCoverage":true},{"functionName":"isPrimitive","ranges":[{"startOffset":15990,"endOffset":16075,"count":190}],"isBlockCoverage":true},{"functionName":"mapSymbols","ranges":[{"startOffset":16077,"endOffset":16249,"count":2}],"isBlockCoverage":true},{"functionName":"mapSymbol","ranges":[{"startOffset":16121,"endOffset":16245,"count":4},{"startOffset":16184,"endOffset":16222,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2014","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/addProperty.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2452,"count":1}],"isBlockCoverage":true},{"functionName":"addProperty","ranges":[{"startOffset":998,"endOffset":2450,"count":40},{"startOffset":1072,"endOffset":1088,"count":17},{"startOffset":1089,"endOffset":1097,"count":23}],"isBlockCoverage":true},{"functionName":"getter","ranges":[{"startOffset":1074,"endOffset":1088,"count":15979}],"isBlockCoverage":true},{"functionName":"propertyGetter","ranges":[{"startOffset":1146,"endOffset":2417,"count":16894},{"startOffset":2102,"endOffset":2128,"count":0},{"startOffset":2130,"endOffset":2187,"count":0},{"startOffset":2273,"endOffset":2287,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2015","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/isProxyEnabled.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":579,"count":1}],"isBlockCoverage":true},{"functionName":"isProxyEnabled","ranges":[{"startOffset":448,"endOffset":577,"count":59343}],"isBlockCoverage":true}]},{"scriptId":"2016","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/addMethod.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2179,"count":1}],"isBlockCoverage":true},{"functionName":"addMethod","ranges":[{"startOffset":1024,"endOffset":2177,"count":48}],"isBlockCoverage":true},{"functionName":"methodWrapper","ranges":[{"startOffset":1086,"endOffset":2083,"count":12171},{"startOffset":1821,"endOffset":1869,"count":12154},{"startOffset":1955,"endOffset":1969,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2017","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/addLengthGuard.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2376,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51,"endOffset":65,"count":0}],"isBlockCoverage":false},{"functionName":"addLengthGuard","ranges":[{"startOffset":1768,"endOffset":2374,"count":442},{"startOffset":1861,"endOffset":1871,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":1922,"endOffset":2352,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2018","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/proxify.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5224,"count":1}],"isBlockCoverage":true},{"functionName":"proxify","ranges":[{"startOffset":1055,"endOffset":4029,"count":42449},{"startOffset":1128,"endOffset":1139,"count":0}],"isBlockCoverage":true},{"functionName":"proxyGetter","ranges":[{"startOffset":1176,"endOffset":4021,"count":311371},{"startOffset":1616,"endOffset":2906,"count":0},{"startOffset":3888,"endOffset":3916,"count":29459},{"startOffset":3918,"endOffset":3970,"count":29406}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2225,"endOffset":2658,"count":0}],"isBlockCoverage":false},{"functionName":"stringDistanceCapped","ranges":[{"startOffset":4320,"endOffset":5223,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2019","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/getProperties.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":789,"count":1}],"isBlockCoverage":true},{"functionName":"getProperties","ranges":[{"startOffset":387,"endOffset":787,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2020","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/overwriteProperty.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3281,"count":1}],"isBlockCoverage":true},{"functionName":"overwriteProperty","ranges":[{"startOffset":1302,"endOffset":3279,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2021","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/overwriteMethod.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3100,"count":1}],"isBlockCoverage":true},{"functionName":"overwriteMethod","ranges":[{"startOffset":1338,"endOffset":3098,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2022","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/addChainableMethod.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5448,"count":1}],"isBlockCoverage":true},{"functionName":"testFn","ranges":[{"startOffset":703,"endOffset":716,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":779,"endOffset":1256,"count":5},{"startOffset":1208,"endOffset":1220,"count":0}],"isBlockCoverage":true},{"functionName":"addChainableMethod","ranges":[{"startOffset":2460,"endOffset":5446,"count":8},{"startOffset":2573,"endOffset":2618,"count":2},{"startOffset":2807,"endOffset":2836,"count":1}],"isBlockCoverage":true},{"functionName":"chainingBehavior","ranges":[{"startOffset":2598,"endOffset":2613,"count":14}],"isBlockCoverage":true},{"functionName":"chainableMethodGetter","ranges":[{"startOffset":2927,"endOffset":5413,"count":394},{"startOffset":4841,"endOffset":5303,"count":0}],"isBlockCoverage":true},{"functionName":"chainableMethodWrapper","ranges":[{"startOffset":3055,"endOffset":4344,"count":394},{"startOffset":3987,"endOffset":4056,"count":380},{"startOffset":4166,"endOffset":4206,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5006,"endOffset":5291,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2023","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2150,"count":1}],"isBlockCoverage":true},{"functionName":"overwriteChainableMethod","ranges":[{"startOffset":1290,"endOffset":2148,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2024","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/compareByInspect.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":808,"count":1}],"isBlockCoverage":true},{"functionName":"compareByInspect","ranges":[{"startOffset":728,"endOffset":806,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2025","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":819,"count":1}],"isBlockCoverage":true},{"functionName":"getOwnEnumerablePropertySymbols","ranges":[{"startOffset":560,"endOffset":817,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2026","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":785,"count":1}],"isBlockCoverage":true},{"functionName":"getOwnEnumerableProperties","ranges":[{"startOffset":667,"endOffset":783,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2027","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/check-error/index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4433,"count":1}],"isBlockCoverage":true},{"functionName":"compatibleInstance","ranges":[{"startOffset":749,"endOffset":860,"count":0}],"isBlockCoverage":false},{"functionName":"compatibleConstructor","ranges":[{"startOffset":1341,"endOffset":1892,"count":0}],"isBlockCoverage":false},{"functionName":"compatibleMessage","ranges":[{"startOffset":2292,"endOffset":2669,"count":5},{"startOffset":2393,"endOffset":2401,"count":2},{"startOffset":2402,"endOffset":2418,"count":3},{"startOffset":2456,"endOffset":2507,"count":0},{"startOffset":2650,"endOffset":2668,"count":0}],"isBlockCoverage":true},{"functionName":"getConstructorName","ranges":[{"startOffset":2906,"endOffset":3723,"count":0}],"isBlockCoverage":false},{"functionName":"getMessage","ranges":[{"startOffset":4006,"endOffset":4211,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2028","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/isNaN.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":590,"count":1},{"startOffset":580,"endOffset":588,"count":0}],"isBlockCoverage":true},{"functionName":"isNaN","ranges":[{"startOffset":341,"endOffset":489,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2029","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/utils/getOperator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1252,"count":1}],"isBlockCoverage":true},{"functionName":"isObjectType","ranges":[{"startOffset":67,"endOffset":230,"count":0}],"isBlockCoverage":false},{"functionName":"getOperator","ranges":[{"startOffset":671,"endOffset":1250,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2030","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/assertion.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6118,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":169,"endOffset":6116,"count":1}],"isBlockCoverage":true},{"functionName":"Assertion","ranges":[{"startOffset":2351,"endOffset":2631,"count":42007},{"startOffset":2427,"endOffset":2439,"count":41993}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":2695,"endOffset":2846,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":2857,"endOffset":3014,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":3080,"endOffset":3219,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":3230,"endOffset":3375,"count":0}],"isBlockCoverage":false},{"functionName":"Assertion.addProperty","ranges":[{"startOffset":3409,"endOffset":3482,"count":40}],"isBlockCoverage":true},{"functionName":"Assertion.addMethod","ranges":[{"startOffset":3509,"endOffset":3580,"count":48}],"isBlockCoverage":true},{"functionName":"Assertion.addChainableMethod","ranges":[{"startOffset":3616,"endOffset":3732,"count":8}],"isBlockCoverage":true},{"functionName":"Assertion.overwriteProperty","ranges":[{"startOffset":3767,"endOffset":3846,"count":0}],"isBlockCoverage":false},{"functionName":"Assertion.overwriteMethod","ranges":[{"startOffset":3879,"endOffset":3956,"count":0}],"isBlockCoverage":false},{"functionName":"Assertion.overwriteChainableMethod","ranges":[{"startOffset":3998,"endOffset":4120,"count":0}],"isBlockCoverage":false},{"functionName":"Assertion.assert","ranges":[{"startOffset":4951,"endOffset":5787,"count":12548},{"startOffset":5131,"endOffset":5155,"count":4427},{"startOffset":5157,"endOffset":5174,"count":3570},{"startOffset":5209,"endOffset":5226,"count":0},{"startOffset":5241,"endOffset":5783,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":5979,"endOffset":6037,"count":8725}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":6049,"endOffset":6108,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2031","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/core/assertions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":134743,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":134,"endOffset":134741,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":836,"endOffset":892,"count":17}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1701,"endOffset":1750,"count":894}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3305,"endOffset":3352,"count":17}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4094,"endOffset":4143,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":4756,"endOffset":4802,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5392,"endOffset":5442,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5939,"endOffset":6015,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6706,"endOffset":6782,"count":4}],"isBlockCoverage":true},{"functionName":"an","ranges":[{"startOffset":9049,"endOffset":9446,"count":14},{"startOffset":9088,"endOffset":9115,"count":0},{"startOffset":9253,"endOffset":9260,"count":8},{"startOffset":9261,"endOffset":9267,"count":6}],"isBlockCoverage":true},{"functionName":"SameValueZero","ranges":[{"startOffset":15727,"endOffset":15811,"count":0}],"isBlockCoverage":false},{"functionName":"includeChainingBehavior","ranges":[{"startOffset":15815,"endOffset":15890,"count":380}],"isBlockCoverage":true},{"functionName":"include","ranges":[{"startOffset":15894,"endOffset":19396,"count":380},{"startOffset":15937,"endOffset":15964,"count":14},{"startOffset":16221,"endOffset":16230,"count":0},{"startOffset":16259,"endOffset":16278,"count":0},{"startOffset":16319,"endOffset":16335,"count":14},{"startOffset":16336,"endOffset":16340,"count":366},{"startOffset":16399,"endOffset":16472,"count":369},{"startOffset":16480,"endOffset":16731,"count":0},{"startOffset":16739,"endOffset":16866,"count":0},{"startOffset":16874,"endOffset":17091,"count":0},{"startOffset":17099,"endOffset":17320,"count":11},{"startOffset":17133,"endOffset":17242,"count":0},{"startOffset":17328,"endOffset":19135,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16771,"endOffset":16849,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":16930,"endOffset":17012,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":17165,"endOffset":17231,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":18136,"endOffset":18746,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20885,"endOffset":21029,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":21809,"endOffset":22009,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":22796,"endOffset":22997,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":23660,"endOffset":23819,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":24532,"endOffset":24706,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":25353,"endOffset":25514,"count":0}],"isBlockCoverage":false},{"functionName":"assertExist","ranges":[{"startOffset":26523,"endOffset":26730,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":28652,"endOffset":29820,"count":0}],"isBlockCoverage":false},{"functionName":"checkArguments","ranges":[{"startOffset":30675,"endOffset":30929,"count":0}],"isBlockCoverage":false},{"functionName":"assertEqual","ranges":[{"startOffset":32626,"endOffset":33132,"count":8724},{"startOffset":32673,"endOffset":32700,"count":1001},{"startOffset":32765,"endOffset":32922,"count":17},{"startOffset":32922,"endOffset":33128,"count":8707}],"isBlockCoverage":true},{"functionName":"assertEql","ranges":[{"startOffset":34861,"endOffset":35179,"count":18},{"startOffset":34905,"endOffset":34932,"count":0}],"isBlockCoverage":true},{"functionName":"assertAbove","ranges":[{"startOffset":36761,"endOffset":38643,"count":633},{"startOffset":36806,"endOffset":36833,"count":0},{"startOffset":36982,"endOffset":36998,"count":0},{"startOffset":37190,"endOffset":37210,"count":0},{"startOffset":37211,"endOffset":37231,"count":0},{"startOffset":37233,"endOffset":37314,"count":0},{"startOffset":37357,"endOffset":37376,"count":0},{"startOffset":37379,"endOffset":37459,"count":0},{"startOffset":37488,"endOffset":37525,"count":0},{"startOffset":37527,"endOffset":37609,"count":0},{"startOffset":37678,"endOffset":37841,"count":0},{"startOffset":37904,"endOffset":37974,"count":0},{"startOffset":37994,"endOffset":38470,"count":0}],"isBlockCoverage":true},{"functionName":"assertLeast","ranges":[{"startOffset":40395,"endOffset":42279,"count":0}],"isBlockCoverage":false},{"functionName":"assertBelow","ranges":[{"startOffset":43910,"endOffset":45793,"count":0}],"isBlockCoverage":false},{"functionName":"assertMost","ranges":[{"startOffset":47518,"endOffset":49397,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":51319,"endOffset":53490,"count":0}],"isBlockCoverage":false},{"functionName":"assertInstanceOf","ranges":[{"startOffset":55009,"endOffset":55896,"count":2786},{"startOffset":55069,"endOffset":55096,"count":0},{"startOffset":55285,"endOffset":55620,"count":0},{"startOffset":55684,"endOffset":55730,"count":0}],"isBlockCoverage":true},{"functionName":"assertProperty","ranges":[{"startOffset":60706,"endOffset":63518,"count":0}],"isBlockCoverage":false},{"functionName":"assertOwnProperty","ranges":[{"startOffset":63574,"endOffset":63697,"count":0}],"isBlockCoverage":false},{"functionName":"assertOwnPropertyDescriptor","ranges":[{"startOffset":68231,"endOffset":69345,"count":0}],"isBlockCoverage":false},{"functionName":"assertLengthChain","ranges":[{"startOffset":71985,"endOffset":72054,"count":0}],"isBlockCoverage":false},{"functionName":"assertLength","ranges":[{"startOffset":72058,"endOffset":72832,"count":0}],"isBlockCoverage":false},{"functionName":"assertMatch","ranges":[{"startOffset":73809,"endOffset":74054,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":74937,"endOffset":75340,"count":0}],"isBlockCoverage":false},{"functionName":"assertKeys","ranges":[{"startOffset":80027,"endOffset":83210,"count":0}],"isBlockCoverage":false},{"functionName":"assertThrows","ranges":[{"startOffset":90852,"endOffset":95828,"count":6},{"startOffset":90921,"endOffset":90948,"count":0},{"startOffset":91239,"endOffset":91303,"count":5},{"startOffset":91611,"endOffset":91641,"count":1},{"startOffset":91836,"endOffset":91852,"count":0},{"startOffset":91986,"endOffset":92020,"count":5},{"startOffset":92178,"endOffset":92223,"count":0},{"startOffset":92244,"endOffset":92323,"count":0},{"startOffset":92514,"endOffset":92537,"count":0},{"startOffset":92576,"endOffset":92610,"count":4},{"startOffset":92611,"endOffset":92750,"count":2},{"startOffset":92656,"endOffset":92749,"count":0},{"startOffset":92786,"endOffset":92798,"count":0},{"startOffset":92800,"endOffset":94405,"count":0},{"startOffset":94456,"endOffset":94481,"count":5},{"startOffset":94483,"endOffset":95210,"count":5},{"startOffset":94608,"endOffset":94650,"count":0},{"startOffset":94784,"endOffset":95204,"count":0},{"startOffset":95312,"endOffset":95332,"count":0},{"startOffset":95334,"endOffset":95786,"count":0}],"isBlockCoverage":true},{"functionName":"respondTo","ranges":[{"startOffset":98360,"endOffset":98815,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":99585,"endOffset":99634,"count":0}],"isBlockCoverage":false},{"functionName":"satisfy","ranges":[{"startOffset":100734,"endOffset":101106,"count":0}],"isBlockCoverage":false},{"functionName":"closeTo","ranges":[{"startOffset":102465,"endOffset":103312,"count":0}],"isBlockCoverage":false},{"functionName":"isSubsetOf","ranges":[{"startOffset":103489,"endOffset":104359,"count":4},{"startOffset":103619,"endOffset":103632,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":103699,"endOffset":104353,"count":5},{"startOffset":103740,"endOffset":103803,"count":0},{"startOffset":103899,"endOffset":103912,"count":0},{"startOffset":104078,"endOffset":104352,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":104107,"endOffset":104345,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":107370,"endOffset":108507,"count":4},{"startOffset":107408,"endOffset":107435,"count":0},{"startOffset":107822,"endOffset":108039,"count":0},{"startOffset":108071,"endOffset":108090,"count":0},{"startOffset":108312,"endOffset":108331,"count":0}],"isBlockCoverage":true},{"functionName":"oneOf","ranges":[{"startOffset":109899,"endOffset":111092,"count":0}],"isBlockCoverage":false},{"functionName":"assertChanges","ranges":[{"startOffset":114683,"endOffset":115788,"count":0}],"isBlockCoverage":false},{"functionName":"assertIncreases","ranges":[{"startOffset":119088,"endOffset":120250,"count":0}],"isBlockCoverage":false},{"functionName":"assertDecreases","ranges":[{"startOffset":123570,"endOffset":124732,"count":0}],"isBlockCoverage":false},{"functionName":"assertDelta","ranges":[{"startOffset":127469,"endOffset":128151,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":129097,"endOffset":129747,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":130655,"endOffset":131282,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":132032,"endOffset":132659,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":134506,"endOffset":134737,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2032","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/interface/expect.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1142,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":113,"endOffset":1140,"count":1}],"isBlockCoverage":true},{"functionName":"chai.expect","ranges":[{"startOffset":153,"endOffset":227,"count":12534}],"isBlockCoverage":true},{"functionName":"chai.expect.fail","ranges":[{"startOffset":802,"endOffset":1137,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2033","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/interface/should.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6225,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":113,"endOffset":6223,"count":1}],"isBlockCoverage":true},{"functionName":"loadShould","ranges":[{"startOffset":174,"endOffset":6163,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2034","url":"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/chai/lib/chai/interface/assert.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":93320,"count":1}],"isBlockCoverage":true},{"functionName":"module.exports","ranges":[{"startOffset":113,"endOffset":93318,"count":1}],"isBlockCoverage":true},{"functionName":"chai.assert","ranges":[{"startOffset":673,"endOffset":864,"count":0}],"isBlockCoverage":false},{"functionName":"assert.fail","ranges":[{"startOffset":1473,"endOffset":1860,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isOk","ranges":[{"startOffset":2217,"endOffset":2296,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotOk","ranges":[{"startOffset":2668,"endOffset":2754,"count":0}],"isBlockCoverage":false},{"functionName":"assert.equal","ranges":[{"startOffset":3120,"endOffset":3398,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notEqual","ranges":[{"startOffset":3775,"endOffset":4056,"count":0}],"isBlockCoverage":false},{"functionName":"assert.strictEqual","ranges":[{"startOffset":4452,"endOffset":4551,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notStrictEqual","ranges":[{"startOffset":4955,"endOffset":5061,"count":0}],"isBlockCoverage":false},{"functionName":"assert.deepEqual.assert.deepStrictEqual","ranges":[{"startOffset":5482,"endOffset":5577,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notDeepEqual","ranges":[{"startOffset":5962,"endOffset":6064,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isAbove","ranges":[{"startOffset":6468,"endOffset":6566,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isAtLeast","ranges":[{"startOffset":7049,"endOffset":7153,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isBelow","ranges":[{"startOffset":7551,"endOffset":7649,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isAtMost","ranges":[{"startOffset":8125,"endOffset":8227,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isTrue","ranges":[{"startOffset":8552,"endOffset":8638,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotTrue","ranges":[{"startOffset":8972,"endOffset":9069,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isFalse","ranges":[{"startOffset":9395,"endOffset":9483,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotFalse","ranges":[{"startOffset":9822,"endOffset":9921,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNull","ranges":[{"startOffset":10204,"endOffset":10294,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotNull","ranges":[{"startOffset":10628,"endOffset":10725,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNaN","ranges":[{"startOffset":10975,"endOffset":11059,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotNaN","ranges":[{"startOffset":11324,"endOffset":11415,"count":0}],"isBlockCoverage":false},{"functionName":"assert.exists","ranges":[{"startOffset":11758,"endOffset":11842,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notExists","ranges":[{"startOffset":12238,"endOffset":12329,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isUndefined","ranges":[{"startOffset":12653,"endOffset":12753,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isDefined","ranges":[{"startOffset":13095,"endOffset":13197,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isFunction","ranges":[{"startOffset":13570,"endOffset":13669,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotFunction","ranges":[{"startOffset":14061,"endOffset":14167,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isObject","ranges":[{"startOffset":14660,"endOffset":14755,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotObject","ranges":[{"startOffset":15241,"endOffset":15343,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isArray","ranges":[{"startOffset":15696,"endOffset":15790,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotArray","ranges":[{"startOffset":16151,"endOffset":16252,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isString","ranges":[{"startOffset":16578,"endOffset":16673,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotString","ranges":[{"startOffset":17012,"endOffset":17114,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNumber","ranges":[{"startOffset":17429,"endOffset":17524,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotNumber","ranges":[{"startOffset":17870,"endOffset":17972,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isFinite","ranges":[{"startOffset":18402,"endOffset":18492,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isBoolean","ranges":[{"startOffset":18922,"endOffset":19019,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotBoolean","ranges":[{"startOffset":19472,"endOffset":19576,"count":0}],"isBlockCoverage":false},{"functionName":"assert.typeOf","ranges":[{"startOffset":20308,"endOffset":20403,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notTypeOf","ranges":[{"startOffset":20820,"endOffset":20922,"count":0}],"isBlockCoverage":false},{"functionName":"assert.instanceOf","ranges":[{"startOffset":21412,"endOffset":21520,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notInstanceOf","ranges":[{"startOffset":22028,"endOffset":22150,"count":0}],"isBlockCoverage":false},{"functionName":"assert.include","ranges":[{"startOffset":23450,"endOffset":23544,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notInclude","ranges":[{"startOffset":24947,"endOffset":25048,"count":0}],"isBlockCoverage":false},{"functionName":"assert.deepInclude","ranges":[{"startOffset":25743,"endOffset":25846,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notDeepInclude","ranges":[{"startOffset":26565,"endOffset":26675,"count":0}],"isBlockCoverage":false},{"functionName":"assert.nestedInclude","ranges":[{"startOffset":27379,"endOffset":27486,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notNestedInclude","ranges":[{"startOffset":28209,"endOffset":28330,"count":0}],"isBlockCoverage":false},{"functionName":"assert.deepNestedInclude","ranges":[{"startOffset":29098,"endOffset":29220,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notDeepNestedInclude","ranges":[{"startOffset":30008,"endOffset":30137,"count":0}],"isBlockCoverage":false},{"functionName":"assert.ownInclude","ranges":[{"startOffset":30607,"endOffset":30707,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notOwnInclude","ranges":[{"startOffset":31225,"endOffset":31332,"count":0}],"isBlockCoverage":false},{"functionName":"assert.deepOwnInclude","ranges":[{"startOffset":31856,"endOffset":31972,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notDeepOwnInclude","ranges":[{"startOffset":32507,"endOffset":32630,"count":0}],"isBlockCoverage":false},{"functionName":"assert.match","ranges":[{"startOffset":32986,"endOffset":33077,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notMatch","ranges":[{"startOffset":33459,"endOffset":33557,"count":0}],"isBlockCoverage":false},{"functionName":"assert.property","ranges":[{"startOffset":34020,"endOffset":34126,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notProperty","ranges":[{"startOffset":34549,"endOffset":34669,"count":0}],"isBlockCoverage":false},{"functionName":"assert.propertyVal","ranges":[{"startOffset":35183,"endOffset":35309,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notPropertyVal","ranges":[{"startOffset":35917,"endOffset":36050,"count":0}],"isBlockCoverage":false},{"functionName":"assert.deepPropertyVal","ranges":[{"startOffset":36587,"endOffset":36722,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notDeepPropertyVal","ranges":[{"startOffset":37472,"endOffset":37614,"count":0}],"isBlockCoverage":false},{"functionName":"assert.ownProperty","ranges":[{"startOffset":38023,"endOffset":38143,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notOwnProperty","ranges":[{"startOffset":38627,"endOffset":38754,"count":0}],"isBlockCoverage":false},{"functionName":"assert.ownPropertyVal","ranges":[{"startOffset":39298,"endOffset":39435,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notOwnPropertyVal","ranges":[{"startOffset":40079,"endOffset":40223,"count":0}],"isBlockCoverage":false},{"functionName":"assert.deepOwnPropertyVal","ranges":[{"startOffset":40790,"endOffset":40936,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notDeepOwnPropertyVal","ranges":[{"startOffset":41807,"endOffset":41960,"count":0}],"isBlockCoverage":false},{"functionName":"assert.nestedProperty","ranges":[{"startOffset":42467,"endOffset":42593,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notNestedProperty","ranges":[{"startOffset":43182,"endOffset":43315,"count":0}],"isBlockCoverage":false},{"functionName":"assert.nestedPropertyVal","ranges":[{"startOffset":43912,"endOffset":44051,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notNestedPropertyVal","ranges":[{"startOffset":44766,"endOffset":44912,"count":0}],"isBlockCoverage":false},{"functionName":"assert.deepNestedPropertyVal","ranges":[{"startOffset":45538,"endOffset":45686,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notDeepNestedPropertyVal","ranges":[{"startOffset":46561,"endOffset":46716,"count":0}],"isBlockCoverage":false},{"functionName":"assert.lengthOf","ranges":[{"startOffset":47315,"endOffset":47419,"count":0}],"isBlockCoverage":false},{"functionName":"assert.hasAnyKeys","ranges":[{"startOffset":48234,"endOffset":48342,"count":0}],"isBlockCoverage":false},{"functionName":"assert.hasAllKeys","ranges":[{"startOffset":49141,"endOffset":49249,"count":0}],"isBlockCoverage":false},{"functionName":"assert.containsAllKeys","ranges":[{"startOffset":50440,"endOffset":50563,"count":0}],"isBlockCoverage":false},{"functionName":"assert.doesNotHaveAnyKeys","ranges":[{"startOffset":51418,"endOffset":51545,"count":0}],"isBlockCoverage":false},{"functionName":"assert.doesNotHaveAllKeys","ranges":[{"startOffset":52418,"endOffset":52545,"count":0}],"isBlockCoverage":false},{"functionName":"assert.hasAnyDeepKeys","ranges":[{"startOffset":53737,"endOffset":53861,"count":0}],"isBlockCoverage":false},{"functionName":"assert.hasAllDeepKeys","ranges":[{"startOffset":54820,"endOffset":54944,"count":0}],"isBlockCoverage":false},{"functionName":"assert.containsAllDeepKeys","ranges":[{"startOffset":55952,"endOffset":56084,"count":0}],"isBlockCoverage":false},{"functionName":"assert.doesNotHaveAnyDeepKeys","ranges":[{"startOffset":57145,"endOffset":57281,"count":0}],"isBlockCoverage":false},{"functionName":"assert.doesNotHaveAllDeepKeys","ranges":[{"startOffset":58350,"endOffset":58486,"count":0}],"isBlockCoverage":false},{"functionName":"assert.throws","ranges":[{"startOffset":59956,"endOffset":60287,"count":0}],"isBlockCoverage":false},{"functionName":"assert.doesNotThrow","ranges":[{"startOffset":61664,"endOffset":61951,"count":0}],"isBlockCoverage":false},{"functionName":"assert.operator","ranges":[{"startOffset":62378,"endOffset":63433,"count":0}],"isBlockCoverage":false},{"functionName":"assert.closeTo","ranges":[{"startOffset":63850,"endOffset":63964,"count":0}],"isBlockCoverage":false},{"functionName":"assert.approximately","ranges":[{"startOffset":64405,"endOffset":64538,"count":0}],"isBlockCoverage":false},{"functionName":"assert.sameMembers","ranges":[{"startOffset":64963,"endOffset":65085,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notSameMembers","ranges":[{"startOffset":65531,"endOffset":65660,"count":0}],"isBlockCoverage":false},{"functionName":"assert.sameDeepMembers","ranges":[{"startOffset":66137,"endOffset":66268,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notSameDeepMembers","ranges":[{"startOffset":66767,"endOffset":66905,"count":0}],"isBlockCoverage":false},{"functionName":"assert.sameOrderedMembers","ranges":[{"startOffset":67370,"endOffset":67507,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notSameOrderedMembers","ranges":[{"startOffset":67994,"endOffset":68138,"count":0}],"isBlockCoverage":false},{"functionName":"assert.sameDeepOrderedMembers","ranges":[{"startOffset":68658,"endOffset":68804,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notSameDeepOrderedMembers","ranges":[{"startOffset":69490,"endOffset":69643,"count":0}],"isBlockCoverage":false},{"functionName":"assert.includeMembers","ranges":[{"startOffset":70113,"endOffset":70248,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notIncludeMembers","ranges":[{"startOffset":70734,"endOffset":70876,"count":0}],"isBlockCoverage":false},{"functionName":"assert.includeDeepMembers","ranges":[{"startOffset":71401,"endOffset":71545,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notIncludeDeepMembers","ranges":[{"startOffset":72079,"endOffset":72230,"count":0}],"isBlockCoverage":false},{"functionName":"assert.includeOrderedMembers","ranges":[{"startOffset":72766,"endOffset":72916,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notIncludeOrderedMembers","ranges":[{"startOffset":73567,"endOffset":73724,"count":0}],"isBlockCoverage":false},{"functionName":"assert.includeDeepOrderedMembers","ranges":[{"startOffset":74308,"endOffset":74467,"count":0}],"isBlockCoverage":false},{"functionName":"assert.notIncludeDeepOrderedMembers","ranges":[{"startOffset":75350,"endOffset":75516,"count":0}],"isBlockCoverage":false},{"functionName":"assert.oneOf","ranges":[{"startOffset":75887,"endOffset":75991,"count":0}],"isBlockCoverage":false},{"functionName":"assert.changes","ranges":[{"startOffset":76512,"endOffset":76725,"count":0}],"isBlockCoverage":false},{"functionName":"assert.changesBy","ranges":[{"startOffset":77329,"endOffset":77677,"count":0}],"isBlockCoverage":false},{"functionName":"assert.doesNotChange","ranges":[{"startOffset":78238,"endOffset":78475,"count":0}],"isBlockCoverage":false},{"functionName":"assert.changesButNotBy","ranges":[{"startOffset":79142,"endOffset":79504,"count":0}],"isBlockCoverage":false},{"functionName":"assert.increases","ranges":[{"startOffset":80037,"endOffset":80268,"count":0}],"isBlockCoverage":false},{"functionName":"assert.increasesBy","ranges":[{"startOffset":80914,"endOffset":81266,"count":0}],"isBlockCoverage":false},{"functionName":"assert.doesNotIncrease","ranges":[{"startOffset":81830,"endOffset":82071,"count":0}],"isBlockCoverage":false},{"functionName":"assert.increasesButNotBy","ranges":[{"startOffset":82746,"endOffset":83112,"count":0}],"isBlockCoverage":false},{"functionName":"assert.decreases","ranges":[{"startOffset":83644,"endOffset":83875,"count":0}],"isBlockCoverage":false},{"functionName":"assert.decreasesBy","ranges":[{"startOffset":84518,"endOffset":84870,"count":0}],"isBlockCoverage":false},{"functionName":"assert.doesNotDecrease","ranges":[{"startOffset":85436,"endOffset":85677,"count":0}],"isBlockCoverage":false},{"functionName":"assert.doesNotDecreaseBy","ranges":[{"startOffset":86352,"endOffset":86721,"count":0}],"isBlockCoverage":false},{"functionName":"assert.decreasesButNotBy","ranges":[{"startOffset":87396,"endOffset":87762,"count":0}],"isBlockCoverage":false},{"functionName":"assert.ifError","ranges":[{"startOffset":88197,"endOffset":88256,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isExtensible","ranges":[{"startOffset":88611,"endOffset":88709,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotExtensible","ranges":[{"startOffset":89320,"endOffset":89425,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isSealed","ranges":[{"startOffset":89955,"endOffset":90045,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotSealed","ranges":[{"startOffset":90359,"endOffset":90456,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isFrozen","ranges":[{"startOffset":90897,"endOffset":90987,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotFrozen","ranges":[{"startOffset":91301,"endOffset":91398,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isEmpty","ranges":[{"startOffset":92033,"endOffset":92120,"count":0}],"isBlockCoverage":false},{"functionName":"assert.isNotEmpty","ranges":[{"startOffset":92789,"endOffset":92883,"count":0}],"isBlockCoverage":false},{"functionName":"alias","ranges":[{"startOffset":92916,"endOffset":92994,"count":12}],"isBlockCoverage":true}]},{"scriptId":"2035","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/get_abap.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":421,"count":1}],"isBlockCoverage":true},{"functionName":"getABAPObjects","ranges":[{"startOffset":181,"endOffset":384,"count":3361},{"startOffset":270,"endOffset":366,"count":3394},{"startOffset":324,"endOffset":360,"count":3383}],"isBlockCoverage":true}]},{"scriptId":"2036","url":"","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12,"count":555}],"isBlockCoverage":true}]},{"scriptId":"2037","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/abap_parser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4006,"count":1}],"isBlockCoverage":true},{"functionName":"expectNoUnknown","ranges":[{"startOffset":363,"endOffset":596,"count":3},{"startOffset":429,"endOffset":594,"count":4},{"startOffset":485,"endOffset":588,"count":24}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":621,"endOffset":3964,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":675,"endOffset":1433,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1481,"endOffset":1953,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1982,"endOffset":2388,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2454,"endOffset":2952,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2984,"endOffset":3567,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3606,"endOffset":3960,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2038","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/ast.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":858,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":548,"endOffset":824,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":574,"endOffset":820,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":646,"endOffset":812,"count":4}],"isBlockCoverage":true}]},{"scriptId":"2039","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/builtin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":493,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":165,"endOffset":455,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":211,"endOffset":451,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2040","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/combi_size.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2434,"count":1}],"isBlockCoverage":true},{"functionName":"tok","ranges":[{"startOffset":543,"endOffset":753,"count":21},{"startOffset":644,"endOffset":732,"count":36}],"isBlockCoverage":true},{"functionName":"res","ranges":[{"startOffset":754,"endOffset":816,"count":21}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2147,"endOffset":2393,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2178,"endOffset":2389,"count":18}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2249,"endOffset":2381,"count":18}],"isBlockCoverage":true}]},{"scriptId":"2041","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/combi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7732,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7017,"endOffset":7696,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7043,"endOffset":7692,"count":86}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7074,"endOffset":7684,"count":86},{"startOffset":7366,"endOffset":7484,"count":106},{"startOffset":7417,"endOffset":7470,"count":52},{"startOffset":7585,"endOffset":7674,"count":14}],"isBlockCoverage":true}]},{"scriptId":"2042","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/concat_tokens.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":583,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":173,"endOffset":539,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":302,"endOffset":535,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":331,"endOffset":527,"count":3}],"isBlockCoverage":true}]},{"scriptId":"2043","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/cross_object_macros.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1032,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":239,"endOffset":982,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":271,"endOffset":978,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":881,"endOffset":915,"count":7}],"isBlockCoverage":true}]},{"scriptId":"2044","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/field_sub.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1206,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":724,"endOffset":1166,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":750,"endOffset":1162,"count":5},{"startOffset":798,"endOffset":802,"count":3},{"startOffset":803,"endOffset":811,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":890,"endOffset":1154,"count":5}],"isBlockCoverage":true}]},{"scriptId":"2045","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/reuse.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4737,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4259,"endOffset":4701,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4285,"endOffset":4697,"count":57},{"startOffset":4333,"endOffset":4337,"count":42},{"startOffset":4338,"endOffset":4346,"count":15}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4425,"endOffset":4689,"count":57}],"isBlockCoverage":true}]},{"scriptId":"2046","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/source.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":20357,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19878,"endOffset":20320,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19904,"endOffset":20316,"count":14},{"startOffset":19957,"endOffset":19965,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20044,"endOffset":20308,"count":14}],"isBlockCoverage":true}]},{"scriptId":"2047","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/sql_from.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1012,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":374,"endOffset":973,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":398,"endOffset":969,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2048","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/string_template.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1404,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":916,"endOffset":1358,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":942,"endOffset":1354,"count":6},{"startOffset":990,"endOffset":994,"count":3},{"startOffset":995,"endOffset":1003,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1082,"endOffset":1346,"count":6}],"isBlockCoverage":true}]},{"scriptId":"2049","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/find_global_definitions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2623,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":354,"endOffset":2569,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":411,"endOffset":892,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":921,"endOffset":1628,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1668,"endOffset":2565,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2050","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/flow/flow_graph.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1217,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":198,"endOffset":1176,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":222,"endOffset":1172,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2051","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/flow/statement_flow.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":11630,"count":1}],"isBlockCoverage":true},{"functionName":"buildFORM","ranges":[{"startOffset":302,"endOffset":1004,"count":29},{"startOffset":688,"endOffset":705,"count":0},{"startOffset":856,"endOffset":864,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":576,"endOffset":610,"count":242}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1032,"endOffset":11585,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1056,"endOffset":1271,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1295,"endOffset":1562,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1578,"endOffset":1870,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1892,"endOffset":2262,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2292,"endOffset":2781,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2800,"endOffset":3136,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3156,"endOffset":3496,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3516,"endOffset":3797,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3825,"endOffset":4135,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4151,"endOffset":4488,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4506,"endOffset":4819,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4852,"endOffset":5282,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5314,"endOffset":5616,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5653,"endOffset":5961,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5991,"endOffset":6227,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6267,"endOffset":6643,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6687,"endOffset":7078,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7120,"endOffset":7502,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7524,"endOffset":7815,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7840,"endOffset":8149,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8180,"endOffset":8523,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8552,"endOffset":9071,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9104,"endOffset":9531,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9560,"endOffset":9950,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9979,"endOffset":10189,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10218,"endOffset":10492,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10520,"endOffset":10889,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10921,"endOffset":11301,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11332,"endOffset":11581,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2052","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/lexer/count.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5268,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":210,"endOffset":5232,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4628,"endOffset":5228,"count":85}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4726,"endOffset":4876,"count":85}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4950,"endOffset":5220,"count":85},{"startOffset":5057,"endOffset":5210,"count":316}],"isBlockCoverage":true}]},{"scriptId":"2053","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/lexer/lexer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2472,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":228,"endOffset":2436,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":263,"endOffset":472,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":522,"endOffset":643,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":667,"endOffset":804,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":838,"endOffset":974,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1003,"endOffset":1302,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1331,"endOffset":1633,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1669,"endOffset":1887,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1925,"endOffset":2141,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2180,"endOffset":2432,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2054","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/lexer/type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1234,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":801,"endOffset":1199,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":827,"endOffset":1195,"count":9}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":906,"endOffset":1187,"count":9}],"isBlockCoverage":true}]},{"scriptId":"2055","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/macros.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3735,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":449,"endOffset":3698,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":480,"endOffset":916,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":949,"endOffset":1338,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1364,"endOffset":1862,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1794,"endOffset":1834,"count":12}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1896,"endOffset":2431,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2363,"endOffset":2403,"count":16}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2477,"endOffset":3108,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2927,"endOffset":2967,"count":12}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3156,"endOffset":3694,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3591,"endOffset":3631,"count":11}],"isBlockCoverage":true}]},{"scriptId":"2056","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/nesting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6659,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6072,"endOffset":6621,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6098,"endOffset":6617,"count":31}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6185,"endOffset":6609,"count":31},{"startOffset":6487,"endOffset":6495,"count":0},{"startOffset":6543,"endOffset":6551,"count":6},{"startOffset":6552,"endOffset":6577,"count":25}],"isBlockCoverage":true}]},{"scriptId":"2057","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/nodes/structure_node.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1194,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":334,"endOffset":1149,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":378,"endOffset":809,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":852,"endOffset":1145,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2058","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/qualified_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3273,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":234,"endOffset":3228,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":260,"endOffset":3224,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2059","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statement_parser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5798,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":582,"endOffset":5751,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":613,"endOffset":1123,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1161,"endOffset":1647,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1708,"endOffset":2077,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2138,"endOffset":2622,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2681,"endOffset":3051,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3088,"endOffset":3422,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3457,"endOffset":3796,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3835,"endOffset":4338,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4362,"endOffset":4678,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4734,"endOffset":5162,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5195,"endOffset":5452,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5484,"endOffset":5747,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2060","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/add_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":376,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2061","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/add.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":488,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2062","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/aliases.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":359,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2063","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/append.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3821,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2064","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/assert.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":961,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2065","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/assign_local_copy.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":559,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2066","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/assign.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2804,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2067","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_first.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":329,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2068","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_last.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":325,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2069","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_line_selection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2070","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_selection_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":934,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2071","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_user_command.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":356,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2072","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":519,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2073","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/authority_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":648,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2074","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/break_id.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":345,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2075","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/break.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":482,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2076","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_badi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":391,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2077","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":525,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2078","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_dialog.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":727,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2079","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_function.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10223,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2080","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_kernel.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":507,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2081","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_ole.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":880,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2082","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":469,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2083","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_selection_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":572,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2084","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_transaction.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1173,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2085","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_transformation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2807,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2086","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3356,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2087","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/case_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":381,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2088","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":321,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2089","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/catch_system_exceptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":485,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2090","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/catch.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":475,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2091","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":358,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2092","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_data_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":378,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2093","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":487,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2094","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_deferred.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":465,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2095","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_definition_load.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":394,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2096","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1855,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2097","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":369,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2098","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_local_friends.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":541,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2099","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/cleanup.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":352,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2100","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/clear.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":639,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2101","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/close_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":413,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2102","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/close_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":429,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2103","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/collect.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":432,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2104","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/commit_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":611,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2105","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/commit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":425,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2106","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/communication.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":807,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2107","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/compute.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":344,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2108","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/concatenate.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1456,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2109","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/condense.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":375,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2110","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/constant_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":440,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2111","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/constant_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":386,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2112","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/constants.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1143,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2113","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/contexts.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":334,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2114","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/continue.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":330,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2115","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/controls.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":406,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2116","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/convert_text.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":383,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2117","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/convert.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1105,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2118","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/create_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1867,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2119","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/create_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1015,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2120","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/create_ole.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":365,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2121","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/data_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":518,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2122","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/data_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":500,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2123","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5155,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2124","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/define.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":542,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2125","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_cluster.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":519,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2126","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1111,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2127","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":363,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2128","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_dynpro.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":356,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2129","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_internal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2010,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2130","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_memory.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":491,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2131","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":433,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2132","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_textpool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":484,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2133","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/demand.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":411,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2134","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/describe.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1818,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2135","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/detail.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":322,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2136","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/do.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":656,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2137","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/editor_call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":617,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2138","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/end_enhancement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":355,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2139","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/end_of_page.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":340,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2140","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/endexec.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":326,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2141","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/endon.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":318,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2142","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/endprovide.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":338,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2143","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/enhancement_point.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":534,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2144","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/enhancement_section.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":496,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2145","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/enhancement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":384,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2146","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/events.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":529,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2147","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/exec_sql.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":362,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2148","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/exit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2149","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/export_dynpro.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2150","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/export.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2026,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2151","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/extract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":349,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2152","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/fetch_next_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":949,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2153","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/field_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":347,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2154","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/fields.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":331,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2155","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/fieldsymbol.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":489,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2156","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/file_enum.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":369,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2157","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/find.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2086,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2158","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/form_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":409,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2159","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/form.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5255,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2160","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/format.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":868,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2161","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/free_memory.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":422,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2162","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/free_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":348,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2163","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/free.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":321,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2164","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/function_pool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":497,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2165","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/generate_dynpro.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":532,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2166","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/generate_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1505,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2167","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/generate_subroutine.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1504,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2168","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_badi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":521,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2169","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_bit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":350,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2170","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":624,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2171","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":420,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2172","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_locale.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":378,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2173","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":425,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2174","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_permissions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":488,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2175","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_pf_status.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":421,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2176","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_property.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":506,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2177","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_reference.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":381,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2178","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_run_time.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":356,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2179","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_time.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":402,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2180","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":418,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2181","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/hide.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":344,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2182","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/if.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4037,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2183","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/import_dynpro.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":383,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2184","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/import_nametab.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":380,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2185","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/import.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2169,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2186","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/include_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":479,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2187","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/include.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":525,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2188","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/infotypes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":405,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2189","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/initialization.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":354,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2190","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1166,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2191","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_field_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":412,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2192","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_internal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2982,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2193","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1174,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2194","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_textpool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":521,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2195","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/interface_def.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":951,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2196","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/interface_deferred.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":427,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2197","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":386,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2198","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/leave.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":728,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2199","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/load_of_program.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":356,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2200","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/load_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":374,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2201","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/local.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":364,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2202","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/log_point.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":594,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2203","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/loop_at_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":599,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2204","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3010,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2205","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/message.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3561,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2206","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/method_def.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7548,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2207","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/method.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1027,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2208","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":700,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2209","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1698,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2210","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_internal.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1765,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2211","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1497,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2212","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":379,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2213","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/module.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":399,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2214","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/move_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":867,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2215","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/move.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":25708,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2216","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/new_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":386,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2217","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/new_page.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1936,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2218","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/nodes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":323,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2219","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/on_change.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":404,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2220","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/open_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":790,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2221","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/open_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2838,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2222","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/overlay.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":397,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2223","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/pack.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":325,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2224","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/parameter.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2426,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2225","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/perform.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1097,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2226","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/position.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":337,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2227","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/print_control.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":406,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2228","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/program.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":514,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2229","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/provide.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1506,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2230","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/put.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":314,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2231","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/raise_entity_event.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":390,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2232","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/raise_event.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":429,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2233","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/raise.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2679,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2234","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/ranges.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":450,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2235","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":568,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2236","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_entities.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1592,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2237","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":707,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2238","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":560,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2239","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3695,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2240","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_textpool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":501,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2241","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/receive.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1018,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2242","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/refresh_control.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":381,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2243","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/refresh.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":396,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2244","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/reject.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":344,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2245","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/replace.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2383,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2246","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/report.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":973,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2247","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/reserve.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":335,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2248","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/resume.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":322,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2249","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/rollback.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":413,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2250","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/scan.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6071,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2251","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/scroll_list.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":689,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2252","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/search.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":614,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2253","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/select_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4989,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2254","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/select.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":19123,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2255","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/selectionscreen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3297,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2256","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/selectoption.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1863,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2257","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_bit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":409,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2258","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_blank.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":370,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2259","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_country.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":346,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2260","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_cursor.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":563,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2261","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":415,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2262","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_extended_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":402,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2263","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_handler.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":733,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2264","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_language.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":354,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2265","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_left.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":389,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2266","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_locale.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":469,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2267","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_locks.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":423,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2268","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_margin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":385,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2269","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_pf_status.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":603,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2270","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_property.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":597,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2271","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_run_time.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":475,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2272","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":342,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2273","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_titlebar.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":515,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2274","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_update_task.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":362,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2275","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_user_command.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":367,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2276","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/shift.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":917,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2277","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/skip.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":353,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2278","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/sort_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":361,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2279","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/sort.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2190,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2280","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/split.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":561,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2281","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/start_of_selection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":368,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2282","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/static_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":391,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2283","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/static_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":345,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2284","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/static.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":767,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2285","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/stop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":314,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2286","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/submit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3411,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2287","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/subtract_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":398,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2288","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/subtract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":343,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2289","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/sum.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":310,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2290","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/summary.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":326,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2291","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/supply.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":347,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2292","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/suppress_dialog.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":357,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2293","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/syntax_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4087,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2294","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/system_call.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":531,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2295","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/test_injection.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":362,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2296","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/test_seam.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":363,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2297","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/top_of_page.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":382,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2298","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/transfer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":504,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2299","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/translate.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":395,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2300","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/truncate_dataset.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":392,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2301","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":382,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2302","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":372,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2303","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_enum_begin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":398,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2304","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_enum_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":373,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2305","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_enum.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":378,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2306","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_mesh.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":392,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2307","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_pools.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":342,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2308","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2555,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2309","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/uline.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":613,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2310","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/unassign.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":362,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2311","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/unpack.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":339,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2312","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/update_database.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1173,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2313","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/wait.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1363,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2314","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/when_others.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":341,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2315","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/when_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":416,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2316","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/when.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":359,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2317","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/while.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":482,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2318","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/window.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":383,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2319","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/with.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":440,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2320","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/write.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3569,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2321","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structure_errors.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3238,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":859,"endOffset":1328,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":885,"endOffset":1324,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":918,"endOffset":1316,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2198,"endOffset":2668,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2225,"endOffset":2664,"count":12}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2253,"endOffset":2656,"count":12},{"startOffset":2394,"endOffset":2472,"count":5},{"startOffset":2472,"endOffset":2646,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2328,"endOffset":2359,"count":28}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2711,"endOffset":3191,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2746,"endOffset":3187,"count":1},{"startOffset":2970,"endOffset":3131,"count":2},{"startOffset":3039,"endOffset":3121,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2322","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/_combi.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12622,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":639,"endOffset":673,"count":0}],"isBlockCoverage":false},{"functionName":"getFirstToken","ranges":[{"startOffset":678,"endOffset":745,"count":0}],"isBlockCoverage":false},{"functionName":"getLastToken","ranges":[{"startOffset":750,"endOffset":816,"count":0}],"isBlockCoverage":false},{"functionName":"toNodes","ranges":[{"startOffset":819,"endOffset":1094,"count":21}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":876,"endOffset":1090,"count":33}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1133,"endOffset":2754,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1215,"endOffset":1687,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1715,"endOffset":2022,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2046,"endOffset":2448,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2471,"endOffset":2750,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2789,"endOffset":4476,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2890,"endOffset":3269,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3297,"endOffset":3674,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3698,"endOffset":4100,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4123,"endOffset":4472,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4512,"endOffset":6660,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4616,"endOffset":4996,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5025,"endOffset":5403,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5429,"endOffset":5832,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5858,"endOffset":6282,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6306,"endOffset":6656,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6695,"endOffset":8455,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6830,"endOffset":7230,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7258,"endOffset":7634,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7659,"endOffset":8080,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8103,"endOffset":8451,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8490,"endOffset":9840,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8626,"endOffset":9005,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9033,"endOffset":9411,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9436,"endOffset":9836,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9885,"endOffset":10768,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9969,"endOffset":10348,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10375,"endOffset":10764,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10808,"endOffset":11703,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10991,"endOffset":11347,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11379,"endOffset":11699,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11744,"endOffset":12585,"count":1}],"isBlockCoverage":true},{"functionName":"getMatcher","ranges":[{"startOffset":11779,"endOffset":11911,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":12007,"endOffset":12581,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2323","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/any.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":775,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2324","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":666,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2325","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/catch_system_exceptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":400,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2326","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/class_data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":405,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2327","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/class_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1062,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2328","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/class_global.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1475,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2329","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/class_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1053,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2330","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/constants.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":392,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2331","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/data.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1664,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2332","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/define.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":420,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2333","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/do.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":568,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2334","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/exec_sql.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":517,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2335","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/form.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1040,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":684,"endOffset":1005,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":729,"endOffset":1001,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2336","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/if.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":682,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2337","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/interface_global.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":575,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2338","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":556,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2339","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/loop_at_screen.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":416,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2340","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":412,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2341","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/method.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":452,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2342","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/select.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":374,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2343","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/try.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":591,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2344","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/type_enum.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":605,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2345","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":876,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2346","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/when_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":537,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2347","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/while.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":404,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2348","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/with.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":502,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2349","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/basic_types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5329,"count":1}],"isBlockCoverage":true},{"functionName":"resolveType","ranges":[{"startOffset":399,"endOffset":825,"count":10},{"startOffset":791,"endOffset":799,"count":0}],"isBlockCoverage":true},{"functionName":"expectString","ranges":[{"startOffset":826,"endOffset":1005,"count":1}],"isBlockCoverage":true},{"functionName":"expectStructure","ranges":[{"startOffset":1006,"endOffset":1261,"count":2}],"isBlockCoverage":true},{"functionName":"expectTable","ranges":[{"startOffset":1262,"endOffset":1506,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1894,"endOffset":5287,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1920,"endOffset":2085,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2105,"endOffset":2240,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2259,"endOffset":2491,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2514,"endOffset":2915,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2948,"endOffset":3631,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3663,"endOffset":3908,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3949,"endOffset":4291,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4322,"endOffset":4601,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4639,"endOffset":5031,"count":1},{"startOffset":4829,"endOffset":4837,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5062,"endOffset":5283,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2350","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/basic_variables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":80390,"count":1}],"isBlockCoverage":true},{"functionName":"resolveVariable","ranges":[{"startOffset":457,"endOffset":608,"count":178}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":609,"endOffset":1158,"count":187},{"startOffset":725,"endOffset":813,"count":196},{"startOffset":1120,"endOffset":1128,"count":0}],"isBlockCoverage":true},{"functionName":"expectStructure","ranges":[{"startOffset":1159,"endOffset":1414,"count":5}],"isBlockCoverage":true},{"functionName":"expectString","ranges":[{"startOffset":1415,"endOffset":1594,"count":4}],"isBlockCoverage":true},{"functionName":"expectVoid","ranges":[{"startOffset":1595,"endOffset":1770,"count":2}],"isBlockCoverage":true},{"functionName":"expectTable","ranges":[{"startOffset":1771,"endOffset":2015,"count":3}],"isBlockCoverage":true},{"functionName":"expectInteger","ranges":[{"startOffset":2016,"endOffset":2197,"count":2}],"isBlockCoverage":true},{"functionName":"expectCharacter","ranges":[{"startOffset":2198,"endOffset":2489,"count":12}],"isBlockCoverage":true},{"functionName":"expectConstantString","ranges":[{"startOffset":2490,"endOffset":2735,"count":3}],"isBlockCoverage":true},{"functionName":"expectConstantCharacter","ranges":[{"startOffset":2736,"endOffset":3003,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3066,"endOffset":80344,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3092,"endOffset":3261,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3291,"endOffset":3441,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3466,"endOffset":3617,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3635,"endOffset":3779,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3804,"endOffset":3950,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3981,"endOffset":4248,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4273,"endOffset":4531,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4556,"endOffset":4814,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4839,"endOffset":5100,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5125,"endOffset":5382,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5417,"endOffset":5601,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5647,"endOffset":5838,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5883,"endOffset":6118,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6152,"endOffset":6322,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6357,"endOffset":6517,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6555,"endOffset":6717,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6755,"endOffset":6917,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6946,"endOffset":7107,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7132,"endOffset":7342,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7375,"endOffset":7529,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7556,"endOffset":7811,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7839,"endOffset":8090,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8126,"endOffset":8310,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8345,"endOffset":8898,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8925,"endOffset":9302,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9338,"endOffset":9614,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9644,"endOffset":9962,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9995,"endOffset":10516,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10544,"endOffset":10703,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10734,"endOffset":11418,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11457,"endOffset":11789,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11833,"endOffset":12199,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12251,"endOffset":12661,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12708,"endOffset":13097,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13121,"endOffset":13272,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13310,"endOffset":13511,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13544,"endOffset":13866,"count":1},{"startOffset":13791,"endOffset":13799,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13895,"endOffset":14211,"count":1},{"startOffset":14136,"endOffset":14144,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14232,"endOffset":14515,"count":1},{"startOffset":14440,"endOffset":14448,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14557,"endOffset":14823,"count":1},{"startOffset":14751,"endOffset":14759,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14855,"endOffset":15121,"count":1},{"startOffset":15046,"endOffset":15054,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15150,"endOffset":15436,"count":1},{"startOffset":15361,"endOffset":15369,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15460,"endOffset":15744,"count":1},{"startOffset":15669,"endOffset":15677,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15778,"endOffset":16096,"count":1},{"startOffset":16021,"endOffset":16029,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16147,"endOffset":16500,"count":1},{"startOffset":16425,"endOffset":16433,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16555,"endOffset":16885,"count":1},{"startOffset":16810,"endOffset":16818,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16935,"endOffset":17240,"count":1},{"startOffset":17168,"endOffset":17176,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17275,"endOffset":17559,"count":1},{"startOffset":17487,"endOffset":17495,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17616,"endOffset":17892,"count":1},{"startOffset":17817,"endOffset":17825,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17943,"endOffset":18289,"count":1},{"startOffset":18214,"endOffset":18222,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18336,"endOffset":18697,"count":1},{"startOffset":18624,"endOffset":18632,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18731,"endOffset":19099,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19133,"endOffset":19572,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19608,"endOffset":20102,"count":1},{"startOffset":20027,"endOffset":20035,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20127,"endOffset":20495,"count":1},{"startOffset":20420,"endOffset":20428,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20516,"endOffset":20836,"count":1},{"startOffset":20759,"endOffset":20767,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20856,"endOffset":21317,"count":1},{"startOffset":21242,"endOffset":21250,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21353,"endOffset":21908,"count":1},{"startOffset":21833,"endOffset":21841,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21933,"endOffset":22281,"count":1},{"startOffset":22209,"endOffset":22217,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22314,"endOffset":22803,"count":1},{"startOffset":22606,"endOffset":22614,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22830,"endOffset":23171,"count":1},{"startOffset":23098,"endOffset":23106,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23210,"endOffset":23602,"count":1},{"startOffset":23527,"endOffset":23535,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23637,"endOffset":24232,"count":1},{"startOffset":24157,"endOffset":24165,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24277,"endOffset":24745,"count":1},{"startOffset":24670,"endOffset":24678,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24780,"endOffset":25408,"count":1},{"startOffset":25333,"endOffset":25341,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25449,"endOffset":26173,"count":1},{"startOffset":26098,"endOffset":26106,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26203,"endOffset":26659,"count":1},{"startOffset":26582,"endOffset":26590,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26695,"endOffset":27115,"count":1},{"startOffset":27038,"endOffset":27046,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27151,"endOffset":27679,"count":1},{"startOffset":27604,"endOffset":27612,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27725,"endOffset":28108,"count":1},{"startOffset":28036,"endOffset":28044,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28140,"endOffset":28540,"count":1},{"startOffset":28457,"endOffset":28465,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28568,"endOffset":29018,"count":1},{"startOffset":28935,"endOffset":28943,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29076,"endOffset":29661,"count":1},{"startOffset":29414,"endOffset":29422,"count":0},{"startOffset":29591,"endOffset":29599,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29719,"endOffset":30300,"count":1},{"startOffset":30064,"endOffset":30072,"count":0},{"startOffset":30241,"endOffset":30249,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30323,"endOffset":30807,"count":1},{"startOffset":30564,"endOffset":30572,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30830,"endOffset":31323,"count":1},{"startOffset":31080,"endOffset":31088,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31346,"endOffset":31850,"count":1},{"startOffset":31607,"endOffset":31615,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31877,"endOffset":32233,"count":1},{"startOffset":32125,"endOffset":32133,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32275,"endOffset":32757,"count":1},{"startOffset":32528,"endOffset":32536,"count":0},{"startOffset":32706,"endOffset":32714,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32797,"endOffset":33264,"count":1},{"startOffset":33048,"endOffset":33056,"count":0},{"startOffset":33213,"endOffset":33221,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33286,"endOffset":33639,"count":1},{"startOffset":33534,"endOffset":33542,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33661,"endOffset":34009,"count":1},{"startOffset":33904,"endOffset":33912,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34042,"endOffset":34419,"count":1},{"startOffset":34313,"endOffset":34321,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34455,"endOffset":34842,"count":1},{"startOffset":34737,"endOffset":34745,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34878,"endOffset":35199,"count":1},{"startOffset":35124,"endOffset":35132,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35230,"endOffset":35694,"count":1},{"startOffset":35578,"endOffset":35586,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35723,"endOffset":36116,"count":1},{"startOffset":36011,"endOffset":36019,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36145,"endOffset":36533,"count":1},{"startOffset":36428,"endOffset":36436,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36589,"endOffset":37001,"count":1},{"startOffset":36896,"endOffset":36904,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37060,"endOffset":37414,"count":1},{"startOffset":37309,"endOffset":37317,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37444,"endOffset":37868,"count":1},{"startOffset":37761,"endOffset":37769,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37910,"endOffset":38349,"count":1},{"startOffset":38242,"endOffset":38250,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38401,"endOffset":38759,"count":1},{"startOffset":38652,"endOffset":38660,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38804,"endOffset":39156,"count":1},{"startOffset":39048,"endOffset":39056,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39204,"endOffset":39626,"count":1},{"startOffset":39516,"endOffset":39524,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39652,"endOffset":40076,"count":1},{"startOffset":39971,"endOffset":39979,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40104,"endOffset":40429,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40457,"endOffset":40725,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40755,"endOffset":41029,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41070,"endOffset":41414,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41473,"endOffset":41745,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41780,"endOffset":42059,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":42098,"endOffset":42651,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":42698,"endOffset":43139,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43170,"endOffset":43489,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43527,"endOffset":43893,"count":1},{"startOffset":43816,"endOffset":43824,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43934,"endOffset":44320,"count":1},{"startOffset":44243,"endOffset":44251,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44368,"endOffset":44824,"count":1},{"startOffset":44750,"endOffset":44758,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44865,"endOffset":45376,"count":1},{"startOffset":45299,"endOffset":45307,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45409,"endOffset":45749,"count":1},{"startOffset":45674,"endOffset":45682,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45786,"endOffset":46171,"count":1},{"startOffset":46098,"endOffset":46106,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46205,"endOffset":46648,"count":1},{"startOffset":46571,"endOffset":46579,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46698,"endOffset":47187,"count":1},{"startOffset":47110,"endOffset":47118,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47219,"endOffset":47891,"count":1},{"startOffset":47552,"endOffset":47560,"count":0},{"startOffset":47818,"endOffset":47826,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47910,"endOffset":48282,"count":1},{"startOffset":48205,"endOffset":48213,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48300,"endOffset":48651,"count":1},{"startOffset":48577,"endOffset":48585,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48671,"endOffset":49039,"count":1},{"startOffset":48965,"endOffset":48973,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49059,"endOffset":49418,"count":1},{"startOffset":49344,"endOffset":49352,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49453,"endOffset":49865,"count":1},{"startOffset":49790,"endOffset":49798,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49896,"endOffset":50288,"count":1},{"startOffset":50214,"endOffset":50222,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50321,"endOffset":50741,"count":1},{"startOffset":50667,"endOffset":50675,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50776,"endOffset":51121,"count":1},{"startOffset":51047,"endOffset":51055,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51155,"endOffset":51506,"count":1},{"startOffset":51429,"endOffset":51437,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51558,"endOffset":51968,"count":1},{"startOffset":51894,"endOffset":51902,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51998,"endOffset":52539,"count":1},{"startOffset":52464,"endOffset":52472,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52578,"endOffset":52919,"count":1},{"startOffset":52846,"endOffset":52854,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52970,"endOffset":53418,"count":1},{"startOffset":53238,"endOffset":53246,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53441,"endOffset":53931,"count":1},{"startOffset":53848,"endOffset":53856,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53975,"endOffset":54351,"count":1},{"startOffset":54278,"endOffset":54286,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55244,"endOffset":55513,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55533,"endOffset":55888,"count":1},{"startOffset":55817,"endOffset":55825,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55918,"endOffset":56275,"count":1},{"startOffset":56204,"endOffset":56212,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56300,"endOffset":56559,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56605,"endOffset":57004,"count":1},{"startOffset":56929,"endOffset":56937,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57030,"endOffset":57357,"count":1},{"startOffset":57283,"endOffset":57291,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57385,"endOffset":57717,"count":1},{"startOffset":57640,"endOffset":57648,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57750,"endOffset":58160,"count":1},{"startOffset":58087,"endOffset":58095,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":58195,"endOffset":58673,"count":1},{"startOffset":58600,"endOffset":58608,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":58711,"endOffset":58998,"count":1},{"startOffset":58921,"endOffset":58929,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59051,"endOffset":59365,"count":1},{"startOffset":59293,"endOffset":59301,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59400,"endOffset":59705,"count":1},{"startOffset":59632,"endOffset":59640,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59752,"endOffset":60085,"count":1},{"startOffset":60012,"endOffset":60020,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60145,"endOffset":60488,"count":1},{"startOffset":60415,"endOffset":60423,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60523,"endOffset":61011,"count":1},{"startOffset":60822,"endOffset":60830,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61047,"endOffset":61534,"count":1},{"startOffset":61341,"endOffset":61349,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61578,"endOffset":62055,"count":1},{"startOffset":61862,"endOffset":61870,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62104,"endOffset":62513,"count":1},{"startOffset":62406,"endOffset":62414,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62561,"endOffset":62965,"count":1},{"startOffset":62855,"endOffset":62863,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63014,"endOffset":63398,"count":1},{"startOffset":63290,"endOffset":63298,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63436,"endOffset":63724,"count":1},{"startOffset":63651,"endOffset":63659,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63765,"endOffset":64102,"count":1},{"startOffset":64031,"endOffset":64039,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64138,"endOffset":64416,"count":1},{"startOffset":64339,"endOffset":64347,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64450,"endOffset":64847,"count":1},{"startOffset":64676,"endOffset":64684,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64887,"endOffset":65225,"count":1},{"startOffset":65056,"endOffset":65064,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65251,"endOffset":65671,"count":1},{"startOffset":65565,"endOffset":65573,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65699,"endOffset":65964,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65995,"endOffset":66262,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66286,"endOffset":66579,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66603,"endOffset":66896,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66919,"endOffset":67837,"count":1},{"startOffset":67771,"endOffset":67779,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67868,"endOffset":68913,"count":1},{"startOffset":68230,"endOffset":68238,"count":0},{"startOffset":68531,"endOffset":68539,"count":0},{"startOffset":68829,"endOffset":68837,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68941,"endOffset":69261,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69291,"endOffset":69806,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69826,"endOffset":70165,"count":1},{"startOffset":70091,"endOffset":70099,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70184,"endOffset":70521,"count":1},{"startOffset":70448,"endOffset":70456,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70544,"endOffset":70870,"count":1},{"startOffset":70799,"endOffset":70807,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70943,"endOffset":71576,"count":1},{"startOffset":71244,"endOffset":71252,"count":0},{"startOffset":71509,"endOffset":71517,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71611,"endOffset":72342,"count":1},{"startOffset":72009,"endOffset":72017,"count":0},{"startOffset":72274,"endOffset":72282,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":72376,"endOffset":72896,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":72918,"endOffset":73256,"count":1},{"startOffset":73180,"endOffset":73188,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":73318,"endOffset":73822,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":73854,"endOffset":74640,"count":1},{"startOffset":74179,"endOffset":74187,"count":0},{"startOffset":74444,"endOffset":74452,"count":0},{"startOffset":74573,"endOffset":74581,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74674,"endOffset":75922,"count":1},{"startOffset":75120,"endOffset":75128,"count":0},{"startOffset":75385,"endOffset":75393,"count":0},{"startOffset":75566,"endOffset":75574,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":75952,"endOffset":76445,"count":1},{"startOffset":76308,"endOffset":76316,"count":0},{"startOffset":76400,"endOffset":76408,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":76492,"endOffset":76878,"count":1},{"startOffset":76786,"endOffset":76794,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":76909,"endOffset":77452,"count":1},{"startOffset":77324,"endOffset":77332,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":77481,"endOffset":78020,"count":1},{"startOffset":77894,"endOffset":77902,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":78040,"endOffset":78316,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":78343,"endOffset":78661,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":78686,"endOffset":79003,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":79028,"endOffset":79345,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":79370,"endOffset":79687,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":79710,"endOffset":80058,"count":1},{"startOffset":80003,"endOffset":80011,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":80078,"endOffset":80340,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2351","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/fugr_import_export.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3323,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":214,"endOffset":3274,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":276,"endOffset":3270,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2352","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/syntax.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":336189,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":465,"endOffset":1267,"count":735},{"startOffset":612,"endOffset":676,"count":38},{"startOffset":694,"endOffset":742,"count":36},{"startOffset":767,"endOffset":829,"count":5},{"startOffset":970,"endOffset":1249,"count":757},{"startOffset":1019,"endOffset":1168,"count":774},{"startOffset":1072,"endOffset":1158,"count":0}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":1268,"endOffset":1507,"count":37},{"startOffset":1371,"endOffset":1484,"count":110}],"isBlockCoverage":true},{"functionName":"runClass","ranges":[{"startOffset":1508,"endOffset":1690,"count":19}],"isBlockCoverage":true},{"functionName":"runInterface","ranges":[{"startOffset":1691,"endOffset":1877,"count":1}],"isBlockCoverage":true},{"functionName":"runProgram","ranges":[{"startOffset":1878,"endOffset":2143,"count":678}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2244,"endOffset":336152,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3721,"endOffset":3944,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3979,"endOffset":4143,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4172,"endOffset":4352,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4383,"endOffset":4569,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4607,"endOffset":4908,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4950,"endOffset":5130,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5197,"endOffset":5388,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5416,"endOffset":5657,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5697,"endOffset":5946,"count":1},{"startOffset":5900,"endOffset":5917,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6002,"endOffset":6237,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6280,"endOffset":6442,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6474,"endOffset":6645,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6678,"endOffset":6839,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6870,"endOffset":7039,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7068,"endOffset":7230,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7267,"endOffset":7429,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7461,"endOffset":7637,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7669,"endOffset":7938,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7968,"endOffset":8213,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8247,"endOffset":8486,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8524,"endOffset":8891,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8926,"endOffset":9158,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9195,"endOffset":9407,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9436,"endOffset":9650,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9699,"endOffset":9896,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9945,"endOffset":10177,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10232,"endOffset":10866,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10925,"endOffset":11588,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11624,"endOffset":12321,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12370,"endOffset":12665,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12710,"endOffset":13155,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13188,"endOffset":13516,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13575,"endOffset":13784,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13835,"endOffset":14070,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14121,"endOffset":14302,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14364,"endOffset":14548,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14613,"endOffset":14799,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14862,"endOffset":15078,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15155,"endOffset":15383,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15428,"endOffset":15785,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15825,"endOffset":16230,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16284,"endOffset":16752,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16790,"endOffset":17223,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17268,"endOffset":17739,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17785,"endOffset":18327,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18370,"endOffset":18874,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18913,"endOffset":19406,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19460,"endOffset":19767,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19797,"endOffset":20308,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20337,"endOffset":20863,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20902,"endOffset":21530,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21569,"endOffset":22267,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22308,"endOffset":22929,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22965,"endOffset":23412,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23435,"endOffset":24089,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24127,"endOffset":24717,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24759,"endOffset":25530,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25565,"endOffset":25888,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25938,"endOffset":26777,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26834,"endOffset":27416,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27546,"endOffset":27927,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":27956,"endOffset":29549,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29594,"endOffset":30590,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30647,"endOffset":31923,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31998,"endOffset":32791,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32823,"endOffset":33023,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33060,"endOffset":33220,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33240,"endOffset":33635,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33676,"endOffset":33951,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33997,"endOffset":34447,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34484,"endOffset":35063,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35101,"endOffset":35273,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35339,"endOffset":36164,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36225,"endOffset":37076,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37111,"endOffset":37385,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37415,"endOffset":37706,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37761,"endOffset":38077,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38118,"endOffset":38650,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38693,"endOffset":38842,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38897,"endOffset":39067,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39110,"endOffset":39383,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39411,"endOffset":39927,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40002,"endOffset":40526,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40562,"endOffset":43822,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43889,"endOffset":44128,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44172,"endOffset":44448,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44485,"endOffset":44632,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44665,"endOffset":44844,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44887,"endOffset":45126,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45164,"endOffset":45325,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45360,"endOffset":45521,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45564,"endOffset":45727,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45778,"endOffset":46007,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46042,"endOffset":46241,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46287,"endOffset":46553,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46590,"endOffset":46745,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46790,"endOffset":47084,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47130,"endOffset":47283,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47357,"endOffset":47631,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47670,"endOffset":48121,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48157,"endOffset":48385,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48422,"endOffset":48740,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48773,"endOffset":49106,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49154,"endOffset":49341,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49375,"endOffset":49752,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49793,"endOffset":50231,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50273,"endOffset":50736,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50778,"endOffset":51222,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51258,"endOffset":51528,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51564,"endOffset":52218,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52258,"endOffset":52688,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52760,"endOffset":53199,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53246,"endOffset":53812,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53859,"endOffset":54404,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":54446,"endOffset":54793,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":54823,"endOffset":55150,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55198,"endOffset":55358,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55409,"endOffset":55598,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55629,"endOffset":55839,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55870,"endOffset":56039,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56070,"endOffset":56239,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56271,"endOffset":56546,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56586,"endOffset":56999,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57041,"endOffset":57830,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57867,"endOffset":58110,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":58150,"endOffset":58490,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":58520,"endOffset":58930,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":58982,"endOffset":59466,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59510,"endOffset":59995,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60035,"endOffset":60533,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60556,"endOffset":60831,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60858,"endOffset":61269,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61314,"endOffset":61681,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61717,"endOffset":61908,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61931,"endOffset":62216,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62244,"endOffset":62491,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62553,"endOffset":62805,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62834,"endOffset":63057,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63086,"endOffset":63311,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63341,"endOffset":63650,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63698,"endOffset":63912,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63991,"endOffset":64239,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64290,"endOffset":64536,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64564,"endOffset":64714,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64749,"endOffset":65040,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65084,"endOffset":65451,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65495,"endOffset":65870,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65897,"endOffset":66215,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66258,"endOffset":66531,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66567,"endOffset":66858,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66883,"endOffset":67077,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67111,"endOffset":67388,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67416,"endOffset":67569,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67617,"endOffset":68019,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68051,"endOffset":68429,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68455,"endOffset":68613,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68671,"endOffset":69054,"count":1},{"startOffset":69008,"endOffset":69025,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69090,"endOffset":69379,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69423,"endOffset":69627,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69663,"endOffset":70839,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70875,"endOffset":71220,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71251,"endOffset":71716,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71774,"endOffset":72073,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":72111,"endOffset":72292,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":72349,"endOffset":72611,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":72640,"endOffset":72790,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":72842,"endOffset":73076,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":73123,"endOffset":73407,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":73450,"endOffset":73713,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":73754,"endOffset":74007,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74030,"endOffset":74313,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74333,"endOffset":74615,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74654,"endOffset":74948,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74988,"endOffset":75234,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":75272,"endOffset":75548,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":75577,"endOffset":75804,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":75842,"endOffset":76123,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":76164,"endOffset":76479,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":76529,"endOffset":76848,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":76877,"endOffset":77203,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":77238,"endOffset":77566,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":77602,"endOffset":77854,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":77888,"endOffset":78158,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":78195,"endOffset":78438,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":78483,"endOffset":78795,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":78829,"endOffset":79134,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":79171,"endOffset":79525,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":79553,"endOffset":79820,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":79855,"endOffset":80111,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":80151,"endOffset":80407,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":80459,"endOffset":80771,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":80801,"endOffset":81045,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":81081,"endOffset":81350,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":81394,"endOffset":81634,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":81662,"endOffset":81899,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":81929,"endOffset":82231,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":82270,"endOffset":82522,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":82559,"endOffset":83054,"count":1},{"startOffset":83029,"endOffset":83046,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":83108,"endOffset":83424,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":83460,"endOffset":83789,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":83830,"endOffset":84108,"count":1},{"startOffset":84063,"endOffset":84080,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":84141,"endOffset":84336,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":84368,"endOffset":84555,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":84592,"endOffset":84851,"count":1},{"startOffset":84805,"endOffset":84822,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":84890,"endOffset":85115,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":85160,"endOffset":85383,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":85410,"endOffset":85733,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":85764,"endOffset":85916,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":85951,"endOffset":86178,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":86207,"endOffset":86667,"count":1},{"startOffset":86642,"endOffset":86659,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":86714,"endOffset":86922,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":86978,"endOffset":87297,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":87326,"endOffset":87557,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":87587,"endOffset":87872,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":87913,"endOffset":88201,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88227,"endOffset":88463,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88506,"endOffset":88682,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88714,"endOffset":88937,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88963,"endOffset":89228,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":89279,"endOffset":89527,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":89576,"endOffset":89888,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":89931,"endOffset":90289,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":90337,"endOffset":90533,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":90575,"endOffset":90884,"count":1},{"startOffset":90839,"endOffset":90856,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":90919,"endOffset":91291,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":91330,"endOffset":91610,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":91645,"endOffset":91833,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":91869,"endOffset":92158,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":92202,"endOffset":92521,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":92549,"endOffset":92971,"count":1},{"startOffset":92926,"endOffset":92943,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":93014,"endOffset":93216,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":93277,"endOffset":93460,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":93499,"endOffset":93868,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":93913,"endOffset":94288,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":94313,"endOffset":94620,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":94656,"endOffset":94999,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":95041,"endOffset":95443,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":95483,"endOffset":95934,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":95993,"endOffset":96186,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":96212,"endOffset":96435,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":96472,"endOffset":96849,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":96903,"endOffset":97357,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":97387,"endOffset":97701,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":97748,"endOffset":98104,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":98155,"endOffset":98462,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":98497,"endOffset":98686,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":98727,"endOffset":98904,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":98940,"endOffset":99489,"count":1},{"startOffset":99443,"endOffset":99460,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":99533,"endOffset":99708,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":99764,"endOffset":99930,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":99959,"endOffset":100165,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":100202,"endOffset":100577,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":100636,"endOffset":100883,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":100914,"endOffset":101409,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":101437,"endOffset":101908,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":101936,"endOffset":102382,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":102435,"endOffset":102646,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":102719,"endOffset":102928,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":102980,"endOffset":103177,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":103224,"endOffset":103554,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":103602,"endOffset":103770,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":103809,"endOffset":104003,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":104046,"endOffset":104378,"count":1},{"startOffset":104332,"endOffset":104349,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":104409,"endOffset":104650,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":104706,"endOffset":104861,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":104902,"endOffset":105104,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":105149,"endOffset":105345,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":105397,"endOffset":105855,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":105907,"endOffset":106264,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":106296,"endOffset":106461,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":106498,"endOffset":106680,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":106726,"endOffset":107041,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":107090,"endOffset":107446,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":107494,"endOffset":108214,"count":1},{"startOffset":108189,"endOffset":108206,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":108267,"endOffset":108532,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":108585,"endOffset":108832,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":108885,"endOffset":109156,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":109209,"endOffset":109471,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":109524,"endOffset":109820,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":109853,"endOffset":110140,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":110189,"endOffset":110526,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":110582,"endOffset":110974,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":111029,"endOffset":111200,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":111255,"endOffset":111428,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":111493,"endOffset":111922,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":111966,"endOffset":114359,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":114402,"endOffset":117392,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":117437,"endOffset":117662,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":117699,"endOffset":118028,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":118069,"endOffset":118256,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":118289,"endOffset":118439,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":118485,"endOffset":118720,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":118745,"endOffset":118894,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":118932,"endOffset":119089,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":119137,"endOffset":119511,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":119539,"endOffset":120132,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":120205,"endOffset":122990,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":123052,"endOffset":123248,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":123294,"endOffset":123524,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":123572,"endOffset":123822,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":123856,"endOffset":124058,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":124094,"endOffset":124356,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":124393,"endOffset":124693,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":124730,"endOffset":125017,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":125054,"endOffset":125338,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":125375,"endOffset":125665,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":125682,"endOffset":125852,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":125879,"endOffset":126058,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":126078,"endOffset":126251,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":126300,"endOffset":126574,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":126623,"endOffset":126862,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":126933,"endOffset":127207,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":127233,"endOffset":127700,"count":1},{"startOffset":127654,"endOffset":127671,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":127726,"endOffset":128172,"count":1},{"startOffset":128126,"endOffset":128143,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":128218,"endOffset":128443,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":128480,"endOffset":131286,"count":1},{"startOffset":131240,"endOffset":131257,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":131353,"endOffset":131823,"count":1},{"startOffset":131777,"endOffset":131794,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":131872,"endOffset":132865,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":132907,"endOffset":133107,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":133143,"endOffset":133382,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":133442,"endOffset":133623,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":133660,"endOffset":134021,"count":1},{"startOffset":133975,"endOffset":133992,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":134068,"endOffset":134524,"count":1},{"startOffset":134479,"endOffset":134496,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":134560,"endOffset":135196,"count":1},{"startOffset":135150,"endOffset":135167,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":135250,"endOffset":135589,"count":1},{"startOffset":135543,"endOffset":135560,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":135642,"endOffset":135932,"count":1},{"startOffset":135886,"endOffset":135903,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":136004,"endOffset":136177,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":136269,"endOffset":136653,"count":1},{"startOffset":136607,"endOffset":136624,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":136693,"endOffset":137066,"count":1},{"startOffset":137020,"endOffset":137037,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":137113,"endOffset":137421,"count":1},{"startOffset":137375,"endOffset":137392,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":137448,"endOffset":137696,"count":1},{"startOffset":137650,"endOffset":137667,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":137726,"endOffset":138102,"count":1},{"startOffset":138056,"endOffset":138073,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":138128,"endOffset":138513,"count":1},{"startOffset":138467,"endOffset":138484,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":138562,"endOffset":139009,"count":1},{"startOffset":138963,"endOffset":138980,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":139061,"endOffset":139675,"count":1},{"startOffset":139629,"endOffset":139646,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":139727,"endOffset":140400,"count":1},{"startOffset":140354,"endOffset":140371,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":140452,"endOffset":140995,"count":1},{"startOffset":140949,"endOffset":140966,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":141034,"endOffset":141366,"count":1},{"startOffset":141320,"endOffset":141337,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":141405,"endOffset":141685,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":141724,"endOffset":141985,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":142019,"endOffset":142298,"count":1},{"startOffset":142253,"endOffset":142270,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":142345,"endOffset":142656,"count":1},{"startOffset":142611,"endOffset":142628,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":142706,"endOffset":143020,"count":1},{"startOffset":142975,"endOffset":142992,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":143068,"endOffset":143344,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":143394,"endOffset":143757,"count":1},{"startOffset":143712,"endOffset":143729,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":143811,"endOffset":144089,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":144147,"endOffset":144439,"count":1},{"startOffset":144394,"endOffset":144411,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":144484,"endOffset":144856,"count":1},{"startOffset":144811,"endOffset":144828,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":144888,"endOffset":145198,"count":1},{"startOffset":145153,"endOffset":145170,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":145229,"endOffset":145568,"count":1},{"startOffset":145523,"endOffset":145540,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":145610,"endOffset":145951,"count":1},{"startOffset":145906,"endOffset":145923,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":145998,"endOffset":146257,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":146297,"endOffset":146753,"count":1},{"startOffset":146708,"endOffset":146725,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":146794,"endOffset":147047,"count":1},{"startOffset":147002,"endOffset":147019,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":147082,"endOffset":147457,"count":1},{"startOffset":147412,"endOffset":147429,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":147504,"endOffset":147854,"count":1},{"startOffset":147809,"endOffset":147826,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":147890,"endOffset":148234,"count":1},{"startOffset":148189,"endOffset":148206,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":148295,"endOffset":148699,"count":1},{"startOffset":148654,"endOffset":148671,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":148744,"endOffset":149386,"count":1},{"startOffset":149341,"endOffset":149358,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":149434,"endOffset":150085,"count":1},{"startOffset":150040,"endOffset":150057,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":150135,"endOffset":150578,"count":1},{"startOffset":150533,"endOffset":150550,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":150627,"endOffset":151214,"count":1},{"startOffset":151168,"endOffset":151185,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":151266,"endOffset":151880,"count":1},{"startOffset":151834,"endOffset":151851,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":151943,"endOffset":152500,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":152568,"endOffset":153098,"count":1},{"startOffset":153053,"endOffset":153070,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":153161,"endOffset":153588,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":153662,"endOffset":154101,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":154165,"endOffset":154650,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":154720,"endOffset":155167,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":155227,"endOffset":155844,"count":1},{"startOffset":155799,"endOffset":155816,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":155914,"endOffset":156658,"count":1},{"startOffset":156613,"endOffset":156630,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":156705,"endOffset":157161,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":157214,"endOffset":157639,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":157695,"endOffset":158123,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":158181,"endOffset":158721,"count":1},{"startOffset":158676,"endOffset":158693,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":158785,"endOffset":159211,"count":1},{"startOffset":159128,"endOffset":159136,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":159266,"endOffset":159697,"count":1},{"startOffset":159601,"endOffset":159609,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":159748,"endOffset":160160,"count":1},{"startOffset":160115,"endOffset":160132,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":160208,"endOffset":160590,"count":1},{"startOffset":160511,"endOffset":160519,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":160630,"endOffset":160983,"count":1},{"startOffset":160938,"endOffset":160955,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":161032,"endOffset":161473,"count":1},{"startOffset":161387,"endOffset":161395,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":161521,"endOffset":161866,"count":1},{"startOffset":161779,"endOffset":161787,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":161926,"endOffset":162238,"count":1},{"startOffset":162165,"endOffset":162173,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":162274,"endOffset":162568,"count":1},{"startOffset":162523,"endOffset":162540,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":162590,"endOffset":162824,"count":1},{"startOffset":162779,"endOffset":162796,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":162879,"endOffset":163333,"count":1},{"startOffset":163288,"endOffset":163305,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":163380,"endOffset":163802,"count":1},{"startOffset":163757,"endOffset":163774,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":163842,"endOffset":164280,"count":1},{"startOffset":164235,"endOffset":164252,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":164330,"endOffset":164921,"count":1},{"startOffset":164848,"endOffset":164856,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":165000,"endOffset":165556,"count":1},{"startOffset":165491,"endOffset":165499,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":165583,"endOffset":165987,"count":1},{"startOffset":165909,"endOffset":165917,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":166043,"endOffset":166480,"count":1},{"startOffset":166408,"endOffset":166416,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":166519,"endOffset":166747,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":166794,"endOffset":167026,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":167074,"endOffset":167436,"count":1},{"startOffset":167390,"endOffset":167407,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":167510,"endOffset":168091,"count":1},{"startOffset":167937,"endOffset":167945,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":168128,"endOffset":168537,"count":1},{"startOffset":168491,"endOffset":168508,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":168564,"endOffset":168978,"count":1},{"startOffset":168932,"endOffset":168949,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":169029,"endOffset":169447,"count":1},{"startOffset":169401,"endOffset":169418,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":169490,"endOffset":169940,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":169991,"endOffset":170432,"count":1},{"startOffset":170386,"endOffset":170403,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":170504,"endOffset":170956,"count":1},{"startOffset":170910,"endOffset":170927,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":170997,"endOffset":171300,"count":1},{"startOffset":171254,"endOffset":171271,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":171382,"endOffset":171922,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":171975,"endOffset":172298,"count":1},{"startOffset":172252,"endOffset":172269,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":172330,"endOffset":172979,"count":1},{"startOffset":172933,"endOffset":172950,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":173017,"endOffset":173443,"count":1},{"startOffset":173397,"endOffset":173414,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":173493,"endOffset":173866,"count":1},{"startOffset":173802,"endOffset":173810,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":173927,"endOffset":174273,"count":1},{"startOffset":174212,"endOffset":174220,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":174301,"endOffset":174624,"count":1},{"startOffset":174578,"endOffset":174595,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":174664,"endOffset":176760,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":176797,"endOffset":177087,"count":1},{"startOffset":177041,"endOffset":177058,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":177140,"endOffset":177568,"count":1},{"startOffset":177522,"endOffset":177539,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":177607,"endOffset":180903,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":180938,"endOffset":181260,"count":1},{"startOffset":181214,"endOffset":181231,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":181308,"endOffset":181894,"count":1},{"startOffset":181848,"endOffset":181865,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":181924,"endOffset":182437,"count":1},{"startOffset":182391,"endOffset":182408,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":182473,"endOffset":182732,"count":1},{"startOffset":182686,"endOffset":182703,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":182797,"endOffset":183257,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":183306,"endOffset":183757,"count":1},{"startOffset":183711,"endOffset":183728,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":183824,"endOffset":184051,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":184097,"endOffset":184348,"count":1},{"startOffset":184302,"endOffset":184319,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":184394,"endOffset":184665,"count":1},{"startOffset":184619,"endOffset":184636,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":184707,"endOffset":184973,"count":1},{"startOffset":184927,"endOffset":184944,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":185017,"endOffset":185291,"count":1},{"startOffset":185245,"endOffset":185262,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":185322,"endOffset":185709,"count":1},{"startOffset":185663,"endOffset":185680,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":185751,"endOffset":186240,"count":1},{"startOffset":186194,"endOffset":186211,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":186287,"endOffset":186578,"count":1},{"startOffset":186532,"endOffset":186549,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":186623,"endOffset":186828,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":186897,"endOffset":187325,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":187368,"endOffset":187811,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":187850,"endOffset":188090,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":188151,"endOffset":188458,"count":1},{"startOffset":188413,"endOffset":188430,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":188519,"endOffset":188826,"count":1},{"startOffset":188781,"endOffset":188798,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":188887,"endOffset":189364,"count":1},{"startOffset":189319,"endOffset":189336,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":189408,"endOffset":189980,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":190015,"endOffset":190607,"count":1},{"startOffset":190562,"endOffset":190579,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":190651,"endOffset":191200,"count":1},{"startOffset":191155,"endOffset":191172,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":191259,"endOffset":191816,"count":1},{"startOffset":191771,"endOffset":191788,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":191844,"endOffset":192295,"count":1},{"startOffset":192250,"endOffset":192267,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":192326,"endOffset":193161,"count":1},{"startOffset":193116,"endOffset":193133,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":193209,"endOffset":193498,"count":1},{"startOffset":193453,"endOffset":193470,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":193526,"endOffset":194023,"count":1},{"startOffset":193978,"endOffset":193995,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":194067,"endOffset":194596,"count":1},{"startOffset":194551,"endOffset":194568,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":194633,"endOffset":195958,"count":1},{"startOffset":195913,"endOffset":195930,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":195991,"endOffset":196386,"count":1},{"startOffset":196341,"endOffset":196358,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":196412,"endOffset":196986,"count":1},{"startOffset":196941,"endOffset":196958,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":197064,"endOffset":197872,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":197907,"endOffset":198384,"count":1},{"startOffset":198339,"endOffset":198356,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":198425,"endOffset":198783,"count":1},{"startOffset":198738,"endOffset":198755,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":198813,"endOffset":199043,"count":1},{"startOffset":198998,"endOffset":199015,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":199076,"endOffset":199456,"count":1},{"startOffset":199411,"endOffset":199428,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":199518,"endOffset":199999,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":200031,"endOffset":200285,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":200347,"endOffset":200683,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":200714,"endOffset":201047,"count":1},{"startOffset":201002,"endOffset":201019,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":201080,"endOffset":201448,"count":1},{"startOffset":201403,"endOffset":201420,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":201485,"endOffset":201852,"count":1},{"startOffset":201807,"endOffset":201824,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":201887,"endOffset":202314,"count":1},{"startOffset":202269,"endOffset":202286,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":202341,"endOffset":202854,"count":1},{"startOffset":202809,"endOffset":202826,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":202895,"endOffset":203270,"count":1},{"startOffset":203225,"endOffset":203242,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":203306,"endOffset":203638,"count":1},{"startOffset":203593,"endOffset":203610,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":203685,"endOffset":204276,"count":1},{"startOffset":204231,"endOffset":204248,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":204328,"endOffset":204644,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":204717,"endOffset":205132,"count":1},{"startOffset":205044,"endOffset":205052,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":205178,"endOffset":205559,"count":1},{"startOffset":205504,"endOffset":205512,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":205591,"endOffset":205889,"count":1},{"startOffset":205844,"endOffset":205861,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":205936,"endOffset":206492,"count":1},{"startOffset":206434,"endOffset":206442,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":206540,"endOffset":206852,"count":1},{"startOffset":206776,"endOffset":206784,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":206892,"endOffset":207443,"count":1},{"startOffset":207370,"endOffset":207378,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":207488,"endOffset":207809,"count":1},{"startOffset":207764,"endOffset":207781,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":207849,"endOffset":208486,"count":1},{"startOffset":208441,"endOffset":208458,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":208523,"endOffset":209203,"count":1},{"startOffset":209158,"endOffset":209175,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":209243,"endOffset":209974,"count":1},{"startOffset":209929,"endOffset":209946,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":210027,"endOffset":210601,"count":1},{"startOffset":210556,"endOffset":210573,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":210632,"endOffset":211426,"count":1},{"startOffset":211381,"endOffset":211398,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":211467,"endOffset":211819,"count":1},{"startOffset":211774,"endOffset":211791,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":211859,"endOffset":212262,"count":1},{"startOffset":212217,"endOffset":212234,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":212292,"endOffset":212775,"count":1},{"startOffset":212730,"endOffset":212747,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":212820,"endOffset":213216,"count":1},{"startOffset":213171,"endOffset":213188,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":213251,"endOffset":213938,"count":1},{"startOffset":213893,"endOffset":213910,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":213972,"endOffset":214505,"count":1},{"startOffset":214460,"endOffset":214477,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":214559,"endOffset":215208,"count":1},{"startOffset":215012,"endOffset":215020,"count":0},{"startOffset":215135,"endOffset":215143,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":215263,"endOffset":215691,"count":1},{"startOffset":215505,"endOffset":215513,"count":0},{"startOffset":215628,"endOffset":215636,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":215726,"endOffset":216009,"count":1},{"startOffset":215964,"endOffset":215981,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":216075,"endOffset":216688,"count":1},{"startOffset":216643,"endOffset":216660,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":216735,"endOffset":217189,"count":1},{"startOffset":217144,"endOffset":217161,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":217232,"endOffset":217842,"count":1},{"startOffset":217797,"endOffset":217814,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":217886,"endOffset":218273,"count":1},{"startOffset":218228,"endOffset":218245,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":218308,"endOffset":218608,"count":1},{"startOffset":218563,"endOffset":218580,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":218635,"endOffset":219043,"count":1},{"startOffset":218998,"endOffset":219015,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":219084,"endOffset":219335,"count":1},{"startOffset":219290,"endOffset":219307,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":219375,"endOffset":219708,"count":1},{"startOffset":219663,"endOffset":219680,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":219756,"endOffset":221360,"count":1},{"startOffset":221315,"endOffset":221332,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":221425,"endOffset":221816,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":221832,"endOffset":222285,"count":1},{"startOffset":222240,"endOffset":222257,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":222323,"endOffset":223679,"count":1},{"startOffset":223634,"endOffset":223651,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":223719,"endOffset":224188,"count":1},{"startOffset":224143,"endOffset":224160,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":224231,"endOffset":224708,"count":1},{"startOffset":224663,"endOffset":224680,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":224736,"endOffset":225097,"count":1},{"startOffset":225052,"endOffset":225069,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":225142,"endOffset":225755,"count":1},{"startOffset":225710,"endOffset":225727,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":225799,"endOffset":226528,"count":1},{"startOffset":226483,"endOffset":226500,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":226565,"endOffset":226930,"count":1},{"startOffset":226885,"endOffset":226902,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":226977,"endOffset":227275,"count":1},{"startOffset":227230,"endOffset":227247,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":227302,"endOffset":227769,"count":1},{"startOffset":227724,"endOffset":227741,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":227806,"endOffset":228153,"count":1},{"startOffset":227995,"endOffset":228003,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":228190,"endOffset":228724,"count":1},{"startOffset":228679,"endOffset":228696,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":228746,"endOffset":229200,"count":1},{"startOffset":229155,"endOffset":229172,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":229253,"endOffset":229738,"count":1},{"startOffset":229693,"endOffset":229710,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":229791,"endOffset":230285,"count":1},{"startOffset":230240,"endOffset":230257,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":230329,"endOffset":230709,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":230754,"endOffset":231141,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":231182,"endOffset":231601,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":231644,"endOffset":232052,"count":1},{"startOffset":232007,"endOffset":232024,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":232108,"endOffset":232447,"count":1},{"startOffset":232402,"endOffset":232419,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":232491,"endOffset":232970,"count":1},{"startOffset":232925,"endOffset":232942,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":233003,"endOffset":233375,"count":1},{"startOffset":233330,"endOffset":233347,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":233411,"endOffset":233721,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":233745,"endOffset":234302,"count":1},{"startOffset":234257,"endOffset":234274,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":234329,"endOffset":234739,"count":1},{"startOffset":234694,"endOffset":234711,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":234800,"endOffset":235059,"count":1},{"startOffset":235003,"endOffset":235011,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":235100,"endOffset":235340,"count":1},{"startOffset":235284,"endOffset":235292,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":235369,"endOffset":235645,"count":1},{"startOffset":235600,"endOffset":235617,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":235687,"endOffset":236148,"count":1},{"startOffset":236103,"endOffset":236120,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":236220,"endOffset":236492,"count":1},{"startOffset":236438,"endOffset":236446,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":236561,"endOffset":236851,"count":1},{"startOffset":236806,"endOffset":236823,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":236896,"endOffset":237222,"count":1},{"startOffset":237130,"endOffset":237138,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":237284,"endOffset":237571,"count":1},{"startOffset":237513,"endOffset":237521,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":237618,"endOffset":237959,"count":1},{"startOffset":237914,"endOffset":237931,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":238004,"endOffset":238360,"count":1},{"startOffset":238315,"endOffset":238332,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":238437,"endOffset":238967,"count":1},{"startOffset":238904,"endOffset":238912,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":239040,"endOffset":239576,"count":1},{"startOffset":239513,"endOffset":239521,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":239617,"endOffset":240073,"count":1},{"startOffset":240028,"endOffset":240045,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":240121,"endOffset":240574,"count":1},{"startOffset":240529,"endOffset":240546,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":240638,"endOffset":241100,"count":1},{"startOffset":241037,"endOffset":241045,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":241138,"endOffset":241551,"count":1},{"startOffset":241506,"endOffset":241523,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":241603,"endOffset":242030,"count":1},{"startOffset":241985,"endOffset":242002,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":242066,"endOffset":242706,"count":1},{"startOffset":242639,"endOffset":242647,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":242747,"endOffset":243321,"count":1},{"startOffset":243254,"endOffset":243262,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":243366,"endOffset":243870,"count":1},{"startOffset":243803,"endOffset":243811,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":243921,"endOffset":244686,"count":1},{"startOffset":244594,"endOffset":244602,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":244726,"endOffset":245224,"count":1},{"startOffset":245179,"endOffset":245196,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":245258,"endOffset":245969,"count":1},{"startOffset":245906,"endOffset":245914,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":246018,"endOffset":246518,"count":1},{"startOffset":246455,"endOffset":246463,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":246569,"endOffset":247234,"count":1},{"startOffset":247189,"endOffset":247206,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":247293,"endOffset":247957,"count":1},{"startOffset":247894,"endOffset":247902,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":247987,"endOffset":248397,"count":1},{"startOffset":248352,"endOffset":248369,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":248427,"endOffset":249011,"count":1},{"startOffset":248966,"endOffset":248983,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":249042,"endOffset":249445,"count":1},{"startOffset":249400,"endOffset":249417,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":249481,"endOffset":255498,"count":1},{"startOffset":255453,"endOffset":255470,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":255520,"endOffset":255783,"count":1},{"startOffset":255738,"endOffset":255755,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":255829,"endOffset":256167,"count":1},{"startOffset":256122,"endOffset":256139,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":256212,"endOffset":256983,"count":1},{"startOffset":256938,"endOffset":256955,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":257038,"endOffset":257535,"count":1},{"startOffset":257457,"endOffset":257465,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":257596,"endOffset":258124,"count":1},{"startOffset":258057,"endOffset":258065,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":258167,"endOffset":258425,"count":1},{"startOffset":258380,"endOffset":258397,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":258472,"endOffset":258726,"count":1},{"startOffset":258681,"endOffset":258698,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":258775,"endOffset":259169,"count":1},{"startOffset":259124,"endOffset":259141,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":259217,"endOffset":259738,"count":1},{"startOffset":259693,"endOffset":259710,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":259780,"endOffset":260301,"count":1},{"startOffset":260256,"endOffset":260273,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":260345,"endOffset":260849,"count":1},{"startOffset":260764,"endOffset":260772,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":260884,"endOffset":261335,"count":1},{"startOffset":261250,"endOffset":261258,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":261367,"endOffset":261756,"count":1},{"startOffset":261711,"endOffset":261728,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":261800,"endOffset":262189,"count":1},{"startOffset":262144,"endOffset":262161,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":262218,"endOffset":262493,"count":1},{"startOffset":262448,"endOffset":262465,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":262522,"endOffset":262797,"count":1},{"startOffset":262752,"endOffset":262769,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":262850,"endOffset":263119,"count":1},{"startOffset":263065,"endOffset":263073,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":263169,"endOffset":263440,"count":1},{"startOffset":263395,"endOffset":263412,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":263473,"endOffset":263734,"count":1},{"startOffset":263689,"endOffset":263706,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":263763,"endOffset":264248,"count":1},{"startOffset":264163,"endOffset":264171,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":264282,"endOffset":264750,"count":1},{"startOffset":264665,"endOffset":264673,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":264778,"endOffset":265038,"count":1},{"startOffset":264993,"endOffset":265010,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":265080,"endOffset":265357,"count":1},{"startOffset":265299,"endOffset":265307,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":265399,"endOffset":265658,"count":1},{"startOffset":265600,"endOffset":265608,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":265697,"endOffset":265981,"count":1},{"startOffset":265918,"endOffset":265926,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":266025,"endOffset":266309,"count":1},{"startOffset":266246,"endOffset":266254,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":266355,"endOffset":266745,"count":1},{"startOffset":266700,"endOffset":266717,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":266795,"endOffset":267230,"count":1},{"startOffset":267167,"endOffset":267175,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":267293,"endOffset":267720,"count":1},{"startOffset":267657,"endOffset":267665,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":267795,"endOffset":268252,"count":1},{"startOffset":268189,"endOffset":268197,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":268291,"endOffset":268460,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":268493,"endOffset":268926,"count":1},{"startOffset":268863,"endOffset":268871,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":268960,"endOffset":269400,"count":1},{"startOffset":269337,"endOffset":269345,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":269438,"endOffset":269779,"count":1},{"startOffset":269734,"endOffset":269751,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":269816,"endOffset":270207,"count":1},{"startOffset":270162,"endOffset":270179,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":270252,"endOffset":270914,"count":1},{"startOffset":270869,"endOffset":270886,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":270964,"endOffset":271268,"count":1},{"startOffset":271210,"endOffset":271218,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":271321,"endOffset":271677,"count":1},{"startOffset":271590,"endOffset":271598,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":271730,"endOffset":272137,"count":1},{"startOffset":272092,"endOffset":272109,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":272188,"endOffset":272451,"count":1},{"startOffset":272406,"endOffset":272423,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":272473,"endOffset":272755,"count":1},{"startOffset":272710,"endOffset":272727,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":272786,"endOffset":273172,"count":1},{"startOffset":273127,"endOffset":273144,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":273213,"endOffset":273393,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":273431,"endOffset":273605,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":273658,"endOffset":274127,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":274171,"endOffset":274644,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":274688,"endOffset":275122,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":275160,"endOffset":275454,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":275490,"endOffset":275732,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":275760,"endOffset":276181,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":276227,"endOffset":276531,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":276579,"endOffset":276920,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":276989,"endOffset":277412,"count":1},{"startOffset":277349,"endOffset":277357,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":277460,"endOffset":277915,"count":1},{"startOffset":277852,"endOffset":277860,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":277960,"endOffset":278263,"count":1},{"startOffset":278198,"endOffset":278206,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":278306,"endOffset":278624,"count":1},{"startOffset":278557,"endOffset":278565,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":278676,"endOffset":279079,"count":1},{"startOffset":279021,"endOffset":279029,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":279127,"endOffset":279481,"count":1},{"startOffset":279425,"endOffset":279433,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":279520,"endOffset":279843,"count":1},{"startOffset":279787,"endOffset":279795,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":279893,"endOffset":280301,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":280345,"endOffset":280810,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":280849,"endOffset":281138,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":281173,"endOffset":281525,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":281590,"endOffset":281916,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":281959,"endOffset":282348,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":282405,"endOffset":282682,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":282739,"endOffset":283029,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":283086,"endOffset":283363,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":283420,"endOffset":283710,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":283734,"endOffset":284071,"count":1},{"startOffset":284025,"endOffset":284042,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":284098,"endOffset":284542,"count":1},{"startOffset":284496,"endOffset":284513,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":284596,"endOffset":284995,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":285047,"endOffset":285361,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":285421,"endOffset":285828,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":285866,"endOffset":286281,"count":1},{"startOffset":286235,"endOffset":286252,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":286303,"endOffset":286743,"count":1},{"startOffset":286697,"endOffset":286714,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":286776,"endOffset":287451,"count":1},{"startOffset":287405,"endOffset":287422,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":287514,"endOffset":287833,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":287896,"endOffset":288205,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":288242,"endOffset":288652,"count":1},{"startOffset":288606,"endOffset":288623,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":288706,"endOffset":289324,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":289376,"endOffset":289959,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":290007,"endOffset":290453,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":290496,"endOffset":290840,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":290877,"endOffset":291150,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":291178,"endOffset":291391,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":291434,"endOffset":291911,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":291971,"endOffset":292361,"count":1},{"startOffset":292315,"endOffset":292332,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":292404,"endOffset":293096,"count":1},{"startOffset":293050,"endOffset":293067,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":293134,"endOffset":293388,"count":1},{"startOffset":293342,"endOffset":293359,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":293437,"endOffset":293895,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":293945,"endOffset":294422,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":294473,"endOffset":294851,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":294905,"endOffset":295259,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":295293,"endOffset":295650,"count":1},{"startOffset":295604,"endOffset":295621,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":295684,"endOffset":295970,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":296004,"endOffset":296300,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":296352,"endOffset":296647,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":296673,"endOffset":297248,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":297291,"endOffset":297821,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":297854,"endOffset":298365,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":298411,"endOffset":298939,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":299006,"endOffset":299452,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":299543,"endOffset":300072,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":300106,"endOffset":300847,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":300918,"endOffset":301493,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":301566,"endOffset":302131,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":302167,"endOffset":302650,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":302692,"endOffset":302986,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":303020,"endOffset":303222,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":303255,"endOffset":303502,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":303542,"endOffset":303874,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":303907,"endOffset":304384,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":304440,"endOffset":304741,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":304787,"endOffset":305310,"count":1},{"startOffset":305227,"endOffset":305235,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":305377,"endOffset":305684,"count":1},{"startOffset":305577,"endOffset":305585,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":305751,"endOffset":306058,"count":1},{"startOffset":305951,"endOffset":305959,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":306124,"endOffset":306428,"count":1},{"startOffset":306321,"endOffset":306329,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":306494,"endOffset":306798,"count":1},{"startOffset":306691,"endOffset":306699,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":306847,"endOffset":307381,"count":1},{"startOffset":307272,"endOffset":307280,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":307427,"endOffset":307773,"count":1},{"startOffset":307683,"endOffset":307691,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":307801,"endOffset":308177,"count":1},{"startOffset":308132,"endOffset":308149,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":308208,"endOffset":308648,"count":1},{"startOffset":308603,"endOffset":308620,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":308691,"endOffset":309011,"count":1},{"startOffset":308938,"endOffset":308946,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":309061,"endOffset":309401,"count":1},{"startOffset":309328,"endOffset":309336,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":309454,"endOffset":310013,"count":1},{"startOffset":309968,"endOffset":309985,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":310069,"endOffset":310424,"count":1},{"startOffset":310379,"endOffset":310396,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":310480,"endOffset":310835,"count":1},{"startOffset":310790,"endOffset":310807,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":310896,"endOffset":311249,"count":1},{"startOffset":311204,"endOffset":311221,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":311277,"endOffset":311599,"count":1},{"startOffset":311554,"endOffset":311571,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":311630,"endOffset":311950,"count":1},{"startOffset":311888,"endOffset":311896,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":312001,"endOffset":312459,"count":1},{"startOffset":312383,"endOffset":312391,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":312511,"endOffset":312952,"count":1},{"startOffset":312846,"endOffset":312854,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":312999,"endOffset":313437,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":313485,"endOffset":313928,"count":1},{"startOffset":313883,"endOffset":313900,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":313987,"endOffset":314319,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":314354,"endOffset":314717,"count":1},{"startOffset":314672,"endOffset":314689,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":314752,"endOffset":315115,"count":1},{"startOffset":315070,"endOffset":315087,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":315173,"endOffset":315492,"count":1},{"startOffset":315401,"endOffset":315409,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":315532,"endOffset":315799,"count":1},{"startOffset":315717,"endOffset":315725,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":315834,"endOffset":316264,"count":1},{"startOffset":316219,"endOffset":316236,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":316301,"endOffset":316835,"count":1},{"startOffset":316790,"endOffset":316807,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":316878,"endOffset":317396,"count":1},{"startOffset":317351,"endOffset":317368,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":317428,"endOffset":317817,"count":1},{"startOffset":317772,"endOffset":317789,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":317851,"endOffset":318281,"count":1},{"startOffset":318236,"endOffset":318253,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":318310,"endOffset":318652,"count":1},{"startOffset":318607,"endOffset":318624,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":318688,"endOffset":319312,"count":1},{"startOffset":319267,"endOffset":319284,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":319347,"endOffset":319803,"count":1},{"startOffset":319758,"endOffset":319775,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":319834,"endOffset":320135,"count":1},{"startOffset":320090,"endOffset":320107,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":320171,"endOffset":320458,"count":1},{"startOffset":320413,"endOffset":320430,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":320495,"endOffset":320708,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":320759,"endOffset":321166,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":321226,"endOffset":321575,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":321622,"endOffset":322098,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":322141,"endOffset":322598,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":322639,"endOffset":322890,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":322920,"endOffset":323415,"count":1},{"startOffset":323370,"endOffset":323387,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":323451,"endOffset":323753,"count":1},{"startOffset":323708,"endOffset":323725,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":323798,"endOffset":324141,"count":1},{"startOffset":324096,"endOffset":324113,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":324175,"endOffset":324649,"count":1},{"startOffset":324604,"endOffset":324621,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":324699,"endOffset":325110,"count":1},{"startOffset":325065,"endOffset":325082,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":325153,"endOffset":325569,"count":1},{"startOffset":325524,"endOffset":325541,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":325598,"endOffset":326067,"count":1},{"startOffset":326022,"endOffset":326039,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":326117,"endOffset":326365,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":326415,"endOffset":326663,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":326723,"endOffset":326971,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":327021,"endOffset":327268,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":327318,"endOffset":327566,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":327610,"endOffset":328126,"count":1},{"startOffset":328081,"endOffset":328098,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":328161,"endOffset":328551,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":328586,"endOffset":328824,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":328853,"endOffset":329073,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":329101,"endOffset":329371,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":329420,"endOffset":329719,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":329753,"endOffset":330084,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":330121,"endOffset":330543,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":330586,"endOffset":330864,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":330917,"endOffset":331316,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":331350,"endOffset":331852,"count":1},{"startOffset":331807,"endOffset":331824,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":331880,"endOffset":332223,"count":1},{"startOffset":332178,"endOffset":332195,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":332256,"endOffset":332642,"count":1},{"startOffset":332597,"endOffset":332614,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":332679,"endOffset":333226,"count":1},{"startOffset":333181,"endOffset":333198,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":333263,"endOffset":333582,"count":1},{"startOffset":333537,"endOffset":333554,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":333611,"endOffset":334105,"count":1},{"startOffset":334060,"endOffset":334077,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":334138,"endOffset":334424,"count":1},{"startOffset":334348,"endOffset":334356,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":334457,"endOffset":334750,"count":1},{"startOffset":334686,"endOffset":334694,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":334789,"endOffset":335341,"count":1},{"startOffset":335258,"endOffset":335266,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":335385,"endOffset":335682,"count":1},{"startOffset":335637,"endOffset":335654,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":335722,"endOffset":335945,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2353","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/modify.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1475,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":177,"endOffset":1438,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":207,"endOffset":1434,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2354","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/spaghetti_scope.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5998,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":500,"endOffset":817,"count":6},{"startOffset":668,"endOffset":746,"count":0}],"isBlockCoverage":true},{"functionName":"runProgram","ranges":[{"startOffset":818,"endOffset":996,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1025,"endOffset":5952,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1058,"endOffset":1216,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1252,"endOffset":2647,"count":1},{"startOffset":1610,"endOffset":1618,"count":0},{"startOffset":1755,"endOffset":1763,"count":0},{"startOffset":1967,"endOffset":1975,"count":0},{"startOffset":2205,"endOffset":2213,"count":0},{"startOffset":2350,"endOffset":2358,"count":0},{"startOffset":2475,"endOffset":2483,"count":0},{"startOffset":2578,"endOffset":2586,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2689,"endOffset":3441,"count":1},{"startOffset":3226,"endOffset":3234,"count":0},{"startOffset":3373,"endOffset":3381,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3511,"endOffset":4079,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4134,"endOffset":5384,"count":1},{"startOffset":4376,"endOffset":4384,"count":0},{"startOffset":4517,"endOffset":4525,"count":0},{"startOffset":4630,"endOffset":4638,"count":0},{"startOffset":4742,"endOffset":4750,"count":0},{"startOffset":4835,"endOffset":4843,"count":0},{"startOffset":4977,"endOffset":4985,"count":0},{"startOffset":5089,"endOffset":5097,"count":0},{"startOffset":5182,"endOffset":5190,"count":0},{"startOffset":5321,"endOffset":5329,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5438,"endOffset":5948,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2355","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/class_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9171,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":475,"endOffset":766,"count":10},{"startOffset":711,"endOffset":719,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":803,"endOffset":9124,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":839,"endOffset":1335,"count":1},{"startOffset":1287,"endOffset":1295,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1366,"endOffset":1825,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1861,"endOffset":2332,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2379,"endOffset":3085,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3120,"endOffset":4221,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4247,"endOffset":5217,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5245,"endOffset":6124,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6164,"endOffset":7414,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7455,"endOffset":8329,"count":1},{"startOffset":7998,"endOffset":8006,"count":0},{"startOffset":8175,"endOffset":8183,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8361,"endOffset":9120,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2356","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/form_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2307,"count":1}],"isBlockCoverage":true},{"functionName":"runProgram","ranges":[{"startOffset":373,"endOffset":753,"count":5},{"startOffset":691,"endOffset":717,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":788,"endOffset":2261,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":829,"endOffset":939,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":976,"endOffset":1127,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1150,"endOffset":1322,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1359,"endOffset":1866,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1918,"endOffset":2257,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2357","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/interface_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3839,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":417,"endOffset":712,"count":5},{"startOffset":653,"endOffset":661,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":775,"endOffset":1700,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":808,"endOffset":1435,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1467,"endOffset":1696,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1765,"endOffset":3123,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1798,"endOffset":2411,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2440,"endOffset":3119,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3181,"endOffset":3788,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3214,"endOffset":3784,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2358","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/message.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1011,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":198,"endOffset":973,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":247,"endOffset":388,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":432,"endOffset":579,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":623,"endOffset":768,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":821,"endOffset":969,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2359","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/method_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1785,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":336,"endOffset":627,"count":1},{"startOffset":572,"endOffset":580,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":665,"endOffset":1737,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":715,"endOffset":1733,"count":1},{"startOffset":1582,"endOffset":1590,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2360","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1992,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":336,"endOffset":620,"count":1},{"startOffset":570,"endOffset":578,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":646,"endOffset":1956,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":720,"endOffset":1952,"count":1},{"startOffset":1347,"endOffset":1355,"count":0},{"startOffset":1504,"endOffset":1512,"count":0},{"startOffset":1576,"endOffset":1584,"count":0},{"startOffset":1636,"endOffset":1644,"count":0},{"startOffset":1757,"endOffset":1765,"count":0},{"startOffset":1829,"endOffset":1837,"count":0},{"startOffset":1889,"endOffset":1897,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2361","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/unknown.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":999,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":261,"endOffset":961,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":576,"endOffset":957,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":637,"endOffset":949,"count":7}],"isBlockCoverage":true}]},{"scriptId":"2362","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/artifacts_objects.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1164,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":379,"endOffset":1116,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":402,"endOffset":572,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":600,"endOffset":925,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":943,"endOffset":1112,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2363","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/cds/cds_lexer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4027,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":223,"endOffset":3987,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":249,"endOffset":653,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":674,"endOffset":1078,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1099,"endOffset":1528,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1561,"endOffset":2001,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2033,"endOffset":2488,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2529,"endOffset":2969,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3000,"endOffset":3307,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3338,"endOffset":3645,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3676,"endOffset":3983,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2364","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/cds/cds_parser.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":23406,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":331,"endOffset":23365,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":355,"endOffset":822,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":853,"endOffset":1210,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1234,"endOffset":1621,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1651,"endOffset":2139,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2171,"endOffset":2586,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2607,"endOffset":2999,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3049,"endOffset":3457,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3501,"endOffset":3915,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3948,"endOffset":4358,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4383,"endOffset":4919,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4957,"endOffset":5325,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5363,"endOffset":5721,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5758,"endOffset":6125,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6143,"endOffset":6480,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6499,"endOffset":6842,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6870,"endOffset":7204,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7241,"endOffset":7646,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7689,"endOffset":8072,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8095,"endOffset":8541,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8567,"endOffset":8937,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8966,"endOffset":9302,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9334,"endOffset":9763,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9790,"endOffset":10218,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10287,"endOffset":10753,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10786,"endOffset":11189,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11222,"endOffset":11625,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11658,"endOffset":12061,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12103,"endOffset":12483,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12517,"endOffset":12834,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12871,"endOffset":13185,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13208,"endOffset":13518,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13542,"endOffset":13867,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13907,"endOffset":14250,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14288,"endOffset":14614,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14638,"endOffset":15052,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15077,"endOffset":15417,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15442,"endOffset":15783,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15808,"endOffset":16206,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16242,"endOffset":16657,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16688,"endOffset":17271,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17309,"endOffset":17725,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17747,"endOffset":18064,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18094,"endOffset":19547,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19581,"endOffset":19943,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19974,"endOffset":20420,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20454,"endOffset":20785,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20847,"endOffset":21236,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21263,"endOffset":21671,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21688,"endOffset":22017,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22036,"endOffset":22464,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22512,"endOffset":22847,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22891,"endOffset":23361,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2365","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/config.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3504,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":197,"endOffset":676,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":696,"endOffset":3467,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":752,"endOffset":1188,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1244,"endOffset":1483,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1541,"endOffset":1923,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1984,"endOffset":2463,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2553,"endOffset":2794,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2883,"endOffset":3123,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3188,"endOffset":3463,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2366","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/ddic_references.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":983,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":215,"endOffset":284,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":313,"endOffset":937,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":337,"endOffset":572,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":595,"endOffset":933,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2367","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/ddl/tabl.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3640,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":314,"endOffset":3605,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":347,"endOffset":625,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":654,"endOffset":1469,"count":1},{"startOffset":946,"endOffset":954,"count":0},{"startOffset":1053,"endOffset":1061,"count":0},{"startOffset":1183,"endOffset":1191,"count":0},{"startOffset":1293,"endOffset":1301,"count":0},{"startOffset":1411,"endOffset":1419,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1498,"endOffset":2168,"count":1},{"startOffset":1879,"endOffset":1887,"count":0},{"startOffset":1987,"endOffset":1995,"count":0},{"startOffset":2117,"endOffset":2125,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2197,"endOffset":3023,"count":1},{"startOffset":2734,"endOffset":2742,"count":0},{"startOffset":2846,"endOffset":2854,"count":0},{"startOffset":2972,"endOffset":2980,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3049,"endOffset":3601,"count":1},{"startOffset":3444,"endOffset":3452,"count":0},{"startOffset":3550,"endOffset":3558,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2368","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/edit_helper.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5536,"count":1}],"isBlockCoverage":true},{"functionName":"testDeleteStatement","ranges":[{"startOffset":315,"endOffset":942,"count":12},{"startOffset":901,"endOffset":909,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":967,"endOffset":5494,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":995,"endOffset":1969,"count":1},{"startOffset":1769,"endOffset":1777,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2008,"endOffset":2751,"count":1},{"startOffset":2651,"endOffset":2659,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2788,"endOffset":2923,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2981,"endOffset":3117,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3172,"endOffset":3337,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3391,"endOffset":3556,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3623,"endOffset":3796,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3862,"endOffset":4035,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4103,"endOffset":4312,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4381,"endOffset":4572,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4622,"endOffset":4797,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4847,"endOffset":5037,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5087,"endOffset":5277,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5319,"endOffset":5490,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2369","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/_apply_edit.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2389,"count":1}],"isBlockCoverage":true},{"functionName":"ApplyWorkSpaceEdit","ranges":[{"startOffset":316,"endOffset":364,"count":5}],"isBlockCoverage":true},{"functionName":"apply","ranges":[{"startOffset":369,"endOffset":1265,"count":5},{"startOffset":409,"endOffset":505,"count":0},{"startOffset":559,"endOffset":590,"count":0},{"startOffset":637,"endOffset":1233,"count":14},{"startOffset":687,"endOffset":737,"count":10},{"startOffset":737,"endOffset":1223,"count":4},{"startOffset":837,"endOffset":1223,"count":0}],"isBlockCoverage":true},{"functionName":"applyEdit","ranges":[{"startOffset":1270,"endOffset":1985,"count":10},{"startOffset":1386,"endOffset":1457,"count":0},{"startOffset":1533,"endOffset":1880,"count":12},{"startOffset":1592,"endOffset":1690,"count":0}],"isBlockCoverage":true},{"functionName":"applyRename","ranges":[{"startOffset":1990,"endOffset":2298,"count":4},{"startOffset":2102,"endOffset":2173,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2370","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/code_lens.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2534,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1076,"endOffset":2494,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1107,"endOffset":1393,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1414,"endOffset":1811,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1842,"endOffset":2490,"count":1},{"startOffset":2383,"endOffset":2391,"count":0},{"startOffset":2432,"endOffset":2440,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2371","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5906,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":363,"endOffset":5865,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":391,"endOffset":733,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":762,"endOffset":1189,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1224,"endOffset":2173,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2205,"endOffset":2784,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2826,"endOffset":3308,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3369,"endOffset":3713,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3772,"endOffset":4169,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4223,"endOffset":4861,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4912,"endOffset":5337,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5364,"endOffset":5780,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2372","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/diagnostics.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2817,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":346,"endOffset":2775,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":385,"endOffset":682,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":724,"endOffset":1007,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1064,"endOffset":1796,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1842,"endOffset":2222,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2258,"endOffset":2771,"count":1},{"startOffset":2673,"endOffset":2765,"count":2}],"isBlockCoverage":true}]},{"scriptId":"2373","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/formatting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2269,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":285,"endOffset":2228,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":310,"endOffset":702,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":733,"endOffset":1285,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1318,"endOffset":1712,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1752,"endOffset":2224,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2374","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/help.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1755,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":345,"endOffset":1720,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":384,"endOffset":1234,"count":1},{"startOffset":598,"endOffset":924,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1253,"endOffset":1716,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2375","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/highlight.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1761,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":341,"endOffset":1721,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":372,"endOffset":678,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":709,"endOffset":1023,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1048,"endOffset":1370,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1396,"endOffset":1717,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2376","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/hover.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":67070,"count":1}],"isBlockCoverage":true},{"functionName":"buildPosition","ranges":[{"startOffset":325,"endOffset":497,"count":96}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":521,"endOffset":67034,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1976,"endOffset":2279,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2308,"endOffset":2698,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2732,"endOffset":3118,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3147,"endOffset":3544,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3564,"endOffset":3935,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3956,"endOffset":4335,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4364,"endOffset":4741,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4762,"endOffset":5065,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5111,"endOffset":5433,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5474,"endOffset":6088,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6116,"endOffset":7085,"count":1},{"startOffset":6503,"endOffset":6511,"count":0},{"startOffset":6612,"endOffset":6620,"count":0},{"startOffset":6722,"endOffset":6730,"count":0},{"startOffset":6827,"endOffset":6835,"count":0},{"startOffset":6932,"endOffset":6940,"count":0},{"startOffset":7038,"endOffset":7046,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7120,"endOffset":7765,"count":1},{"startOffset":7701,"endOffset":7709,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7815,"endOffset":8437,"count":1},{"startOffset":8383,"endOffset":8391,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8474,"endOffset":9064,"count":1},{"startOffset":9010,"endOffset":9018,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9105,"endOffset":9613,"count":1},{"startOffset":9555,"endOffset":9563,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9660,"endOffset":10132,"count":1},{"startOffset":10074,"endOffset":10082,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10176,"endOffset":10639,"count":1},{"startOffset":10579,"endOffset":10587,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10673,"endOffset":11134,"count":1},{"startOffset":11076,"endOffset":11084,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11175,"endOffset":11672,"count":1},{"startOffset":11618,"endOffset":11626,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11705,"endOffset":12365,"count":1},{"startOffset":12203,"endOffset":12211,"count":0},{"startOffset":12313,"endOffset":12321,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12427,"endOffset":12966,"count":1},{"startOffset":12913,"endOffset":12921,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13012,"endOffset":13757,"count":1},{"startOffset":13589,"endOffset":13597,"count":0},{"startOffset":13699,"endOffset":13707,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13794,"endOffset":14543,"count":1},{"startOffset":14381,"endOffset":14389,"count":0},{"startOffset":14491,"endOffset":14499,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14584,"endOffset":15367,"count":1},{"startOffset":15202,"endOffset":15210,"count":0},{"startOffset":15312,"endOffset":15320,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15399,"endOffset":16788,"count":1},{"startOffset":16457,"endOffset":16465,"count":0},{"startOffset":16734,"endOffset":16742,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16830,"endOffset":17385,"count":1},{"startOffset":17334,"endOffset":17342,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17415,"endOffset":18002,"count":1},{"startOffset":17943,"endOffset":17951,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18042,"endOffset":18693,"count":1},{"startOffset":18490,"endOffset":18498,"count":0},{"startOffset":18625,"endOffset":18633,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18747,"endOffset":19743,"count":1},{"startOffset":19428,"endOffset":19436,"count":0},{"startOffset":19558,"endOffset":19566,"count":0},{"startOffset":19687,"endOffset":19695,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19808,"endOffset":20395,"count":1},{"startOffset":20339,"endOffset":20347,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20426,"endOffset":21036,"count":1},{"startOffset":20980,"endOffset":20988,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21071,"endOffset":21806,"count":1},{"startOffset":21744,"endOffset":21752,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21852,"endOffset":22381,"count":1},{"startOffset":22324,"endOffset":22332,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22420,"endOffset":23100,"count":1},{"startOffset":23043,"endOffset":23051,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23126,"endOffset":23816,"count":1},{"startOffset":23754,"endOffset":23762,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23855,"endOffset":24464,"count":1},{"startOffset":24412,"endOffset":24420,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24492,"endOffset":25139,"count":1},{"startOffset":25084,"endOffset":25092,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25169,"endOffset":25893,"count":1},{"startOffset":25839,"endOffset":25847,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25945,"endOffset":26639,"count":1},{"startOffset":26586,"endOffset":26594,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26678,"endOffset":27687,"count":1},{"startOffset":27359,"endOffset":27367,"count":0},{"startOffset":27623,"endOffset":27631,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27713,"endOffset":28401,"count":1},{"startOffset":28337,"endOffset":28345,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28434,"endOffset":29442,"count":1},{"startOffset":29257,"endOffset":29265,"count":0},{"startOffset":29378,"endOffset":29386,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29499,"endOffset":30697,"count":1},{"startOffset":30128,"endOffset":30136,"count":0},{"startOffset":30249,"endOffset":30257,"count":0},{"startOffset":30512,"endOffset":30520,"count":0},{"startOffset":30633,"endOffset":30641,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30733,"endOffset":31552,"count":1},{"startOffset":31367,"endOffset":31375,"count":0},{"startOffset":31488,"endOffset":31496,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31600,"endOffset":32524,"count":1},{"startOffset":32330,"endOffset":32338,"count":0},{"startOffset":32454,"endOffset":32462,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32597,"endOffset":33180,"count":1},{"startOffset":33110,"endOffset":33118,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33214,"endOffset":33822,"count":1},{"startOffset":33744,"endOffset":33752,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33859,"endOffset":34736,"count":1},{"startOffset":34546,"endOffset":34554,"count":0},{"startOffset":34654,"endOffset":34662,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34796,"endOffset":35696,"count":1},{"startOffset":35506,"endOffset":35514,"count":0},{"startOffset":35614,"endOffset":35622,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35744,"endOffset":36362,"count":1},{"startOffset":36311,"endOffset":36319,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36412,"endOffset":36995,"count":1},{"startOffset":36929,"endOffset":36937,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37048,"endOffset":37792,"count":1},{"startOffset":37741,"endOffset":37749,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37839,"endOffset":38729,"count":1},{"startOffset":38552,"endOffset":38560,"count":0},{"startOffset":38662,"endOffset":38670,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38769,"endOffset":39281,"count":1},{"startOffset":39230,"endOffset":39238,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39328,"endOffset":39810,"count":1},{"startOffset":39759,"endOffset":39767,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39854,"endOffset":40310,"count":1},{"startOffset":40259,"endOffset":40267,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40350,"endOffset":40813,"count":1},{"startOffset":40762,"endOffset":40770,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40855,"endOffset":41374,"count":1},{"startOffset":41323,"endOffset":41331,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41410,"endOffset":41881,"count":1},{"startOffset":41830,"endOffset":41838,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41917,"endOffset":42465,"count":1},{"startOffset":42414,"endOffset":42422,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":42501,"endOffset":43118,"count":1},{"startOffset":43067,"endOffset":43075,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43150,"endOffset":43743,"count":1},{"startOffset":43685,"endOffset":43693,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43781,"endOffset":44511,"count":1},{"startOffset":44460,"endOffset":44468,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44571,"endOffset":45186,"count":1},{"startOffset":45028,"endOffset":45036,"count":0},{"startOffset":45136,"endOffset":45144,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45229,"endOffset":45935,"count":1},{"startOffset":45770,"endOffset":45778,"count":0},{"startOffset":45885,"endOffset":45893,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45990,"endOffset":46578,"count":1},{"startOffset":46413,"endOffset":46421,"count":0},{"startOffset":46528,"endOffset":46536,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46641,"endOffset":47232,"count":1},{"startOffset":47066,"endOffset":47074,"count":0},{"startOffset":47181,"endOffset":47189,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47271,"endOffset":47849,"count":1},{"startOffset":47680,"endOffset":47688,"count":0},{"startOffset":47795,"endOffset":47803,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47902,"endOffset":48706,"count":1},{"startOffset":48541,"endOffset":48549,"count":0},{"startOffset":48656,"endOffset":48664,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48759,"endOffset":49535,"count":1},{"startOffset":49476,"endOffset":49484,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49590,"endOffset":50108,"count":1},{"startOffset":50055,"endOffset":50063,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50163,"endOffset":50714,"count":1},{"startOffset":50661,"endOffset":50669,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50776,"endOffset":51329,"count":1},{"startOffset":51246,"endOffset":51254,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51373,"endOffset":52077,"count":1},{"startOffset":52027,"endOffset":52035,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52157,"endOffset":53116,"count":1},{"startOffset":52796,"endOffset":52804,"count":0},{"startOffset":53056,"endOffset":53064,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53162,"endOffset":55962,"count":1},{"startOffset":55642,"endOffset":55650,"count":0},{"startOffset":55897,"endOffset":55905,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55303,"endOffset":55360,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55998,"endOffset":56448,"count":1},{"startOffset":56398,"endOffset":56406,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56491,"endOffset":56942,"count":1},{"startOffset":56892,"endOffset":56900,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56972,"endOffset":57639,"count":1},{"startOffset":57585,"endOffset":57593,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57687,"endOffset":58245,"count":1},{"startOffset":58188,"endOffset":58196,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":58300,"endOffset":59016,"count":1},{"startOffset":58953,"endOffset":58961,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59051,"endOffset":59582,"count":1},{"startOffset":59527,"endOffset":59535,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59618,"endOffset":61144,"count":1},{"startOffset":60921,"endOffset":60929,"count":0},{"startOffset":61072,"endOffset":61080,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61210,"endOffset":62068,"count":1},{"startOffset":61905,"endOffset":61913,"count":0},{"startOffset":62017,"endOffset":62025,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62096,"endOffset":62631,"count":1},{"startOffset":62577,"endOffset":62585,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62679,"endOffset":63148,"count":1},{"startOffset":63099,"endOffset":63107,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63196,"endOffset":63665,"count":1},{"startOffset":63616,"endOffset":63624,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63743,"endOffset":64304,"count":1},{"startOffset":64246,"endOffset":64254,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64332,"endOffset":64829,"count":1},{"startOffset":64768,"endOffset":64776,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64877,"endOffset":65375,"count":1},{"startOffset":65327,"endOffset":65335,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65428,"endOffset":65980,"count":1},{"startOffset":65925,"endOffset":65933,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66010,"endOffset":66501,"count":1},{"startOffset":66446,"endOffset":66454,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66531,"endOffset":67030,"count":1},{"startOffset":66975,"endOffset":66983,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2377","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2490,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":375,"endOffset":2445,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":403,"endOffset":754,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":786,"endOffset":1371,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1412,"endOffset":1979,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2021,"endOffset":2441,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2378","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/inlay_hints.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4485,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":351,"endOffset":4443,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":382,"endOffset":672,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":689,"endOffset":1108,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1126,"endOffset":1453,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1479,"endOffset":1908,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1936,"endOffset":2443,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2470,"endOffset":2885,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2916,"endOffset":3597,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3638,"endOffset":4439,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2379","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/references.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5241,"count":1}],"isBlockCoverage":true},{"functionName":"buildPosition","ranges":[{"startOffset":335,"endOffset":507,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":536,"endOffset":5200,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":561,"endOffset":929,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":994,"endOffset":1362,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1396,"endOffset":1792,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1818,"endOffset":2222,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2258,"endOffset":2828,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2858,"endOffset":3307,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3341,"endOffset":3743,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3781,"endOffset":4173,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4243,"endOffset":4736,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4791,"endOffset":5196,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2380","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/rename_global_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6818,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":469,"endOffset":1871,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":500,"endOffset":960,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":995,"endOffset":1867,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1919,"endOffset":6768,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1950,"endOffset":2434,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2461,"endOffset":3129,"count":1}],"isBlockCoverage":true},{"functionName":"func","ranges":[{"startOffset":2819,"endOffset":3046,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3075,"endOffset":3092,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3177,"endOffset":4941,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4989,"endOffset":6764,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2381","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/rename_method.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1581,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":406,"endOffset":1537,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":438,"endOffset":1533,"count":1},{"startOffset":1429,"endOffset":1437,"count":0},{"startOffset":1484,"endOffset":1492,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2382","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/rename_variable.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4483,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":408,"endOffset":4437,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":439,"endOffset":910,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":928,"endOffset":1523,"count":1},{"startOffset":1467,"endOffset":1475,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1543,"endOffset":2407,"count":1},{"startOffset":2303,"endOffset":2311,"count":0},{"startOffset":2358,"endOffset":2366,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2437,"endOffset":3626,"count":1},{"startOffset":3522,"endOffset":3530,"count":0},{"startOffset":3577,"endOffset":3585,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3675,"endOffset":4433,"count":1},{"startOffset":4380,"endOffset":4388,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2383","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/semantic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":885,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":351,"endOffset":846,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":375,"endOffset":842,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2384","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/statement_flow.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1107,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":289,"endOffset":1062,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":313,"endOffset":1058,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2385","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/symbols.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3972,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":298,"endOffset":3934,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":341,"endOffset":672,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":702,"endOffset":1385,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1419,"endOffset":1851,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1898,"endOffset":2569,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2598,"endOffset":3104,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3161,"endOffset":3930,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2386","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/msag_references.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1024,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":259,"endOffset":328,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":357,"endOffset":978,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":381,"endOffset":581,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":600,"endOffset":974,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2387","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/authorization_check_field.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1038,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":249,"endOffset":982,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":272,"endOffset":978,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2388","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":20503,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":670,"endOffset":961,"count":20},{"startOffset":906,"endOffset":914,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1002,"endOffset":1504,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1040,"endOffset":1263,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1287,"endOffset":1500,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1543,"endOffset":1987,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1566,"endOffset":1983,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2032,"endOffset":3640,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2065,"endOffset":2825,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2853,"endOffset":3344,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3376,"endOffset":3636,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3692,"endOffset":5947,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3725,"endOffset":4731,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4763,"endOffset":4996,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5053,"endOffset":5943,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5992,"endOffset":12460,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6035,"endOffset":6950,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6984,"endOffset":7882,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7918,"endOffset":8783,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8819,"endOffset":9859,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9892,"endOffset":10446,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10474,"endOffset":11326,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11374,"endOffset":12129,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12227,"endOffset":12456,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12503,"endOffset":14089,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12527,"endOffset":14085,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14135,"endOffset":16560,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14160,"endOffset":15379,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15399,"endOffset":16556,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16610,"endOffset":20467,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16635,"endOffset":17317,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17351,"endOffset":17987,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18040,"endOffset":19189,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19238,"endOffset":19828,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19879,"endOffset":20463,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2389","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/data_definition.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8536,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":319,"endOffset":8490,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":351,"endOffset":1749,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1773,"endOffset":2615,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2668,"endOffset":3621,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3654,"endOffset":5502,"count":1},{"startOffset":4571,"endOffset":4579,"count":0},{"startOffset":4681,"endOffset":4689,"count":0},{"startOffset":4806,"endOffset":4814,"count":0},{"startOffset":4919,"endOffset":4927,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5524,"endOffset":6076,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6110,"endOffset":6624,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6673,"endOffset":7182,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7213,"endOffset":7831,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7863,"endOffset":8486,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2390","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/data_element.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7926,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":317,"endOffset":7883,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":349,"endOffset":1176,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1197,"endOffset":1931,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1957,"endOffset":2303,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2340,"endOffset":2691,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2724,"endOffset":4212,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4277,"endOffset":5060,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5080,"endOffset":5829,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5849,"endOffset":6625,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6643,"endOffset":7879,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2391","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/domain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9220,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":314,"endOffset":9183,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":346,"endOffset":1246,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1272,"endOffset":1623,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1660,"endOffset":2016,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2044,"endOffset":2880,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2916,"endOffset":3716,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3746,"endOffset":5729,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5488,"endOffset":5498,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5755,"endOffset":6931,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6857,"endOffset":6867,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6963,"endOffset":7924,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7851,"endOffset":7861,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7971,"endOffset":9179,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2392","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/enhancement_implementation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3105,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":271,"endOffset":3048,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":294,"endOffset":3044,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2393","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/enhancement_spot.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3031,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":266,"endOffset":2984,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":297,"endOffset":2980,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2394","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/extension_index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1410,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":265,"endOffset":1364,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":288,"endOffset":1360,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2395","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/function_group.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4645,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":306,"endOffset":4600,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1675,"endOffset":2172,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2203,"endOffset":2700,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2735,"endOffset":3331,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3383,"endOffset":4596,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2396","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/icf_service.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1748,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":256,"endOffset":1706,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":279,"endOffset":1702,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2397","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1177,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":311,"endOffset":1137,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":344,"endOffset":1133,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2398","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/lock_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1968,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":249,"endOffset":1926,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":272,"endOffset":1922,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2399","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/maintenance_and_transport_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1928,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":249,"endOffset":1865,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":272,"endOffset":1861,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2400","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/message_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3134,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":258,"endOffset":3090,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":281,"endOffset":1705,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1729,"endOffset":3086,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2401","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/mime_object.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1088,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":244,"endOffset":1046,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":267,"endOffset":1042,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2402","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/number_range.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1236,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":262,"endOffset":1193,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":286,"endOffset":1189,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2403","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/oauth2_profile.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1806,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":249,"endOffset":1761,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":272,"endOffset":1757,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2404","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/program.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4713,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":295,"endOffset":4675,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":316,"endOffset":1382,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1399,"endOffset":2407,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2447,"endOffset":2770,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2797,"endOffset":4201,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4236,"endOffset":4671,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2405","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_data_element.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":17100,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":325,"endOffset":17050,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":380,"endOffset":1622,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1684,"endOffset":3037,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3077,"endOffset":5088,"count":1},{"startOffset":4482,"endOffset":5082,"count":2},{"startOffset":4536,"endOffset":5072,"count":1},{"startOffset":4955,"endOffset":5072,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5128,"endOffset":7418,"count":1},{"startOffset":6954,"endOffset":7412,"count":2},{"startOffset":7008,"endOffset":7402,"count":1},{"startOffset":7285,"endOffset":7402,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7458,"endOffset":9707,"count":1},{"startOffset":9245,"endOffset":9701,"count":2},{"startOffset":9299,"endOffset":9691,"count":1},{"startOffset":9574,"endOffset":9691,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9756,"endOffset":11987,"count":1},{"startOffset":11271,"endOffset":11981,"count":2},{"startOffset":11325,"endOffset":11971,"count":1},{"startOffset":11854,"endOffset":11971,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12031,"endOffset":15050,"count":1},{"startOffset":14307,"endOffset":15044,"count":3},{"startOffset":14361,"endOffset":14476,"count":1},{"startOffset":14476,"endOffset":15034,"count":2},{"startOffset":14534,"endOffset":15034,"count":1},{"startOffset":14917,"endOffset":15034,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15088,"endOffset":17046,"count":1},{"startOffset":16642,"endOffset":17040,"count":2},{"startOffset":16699,"endOffset":17030,"count":1},{"startOffset":16913,"endOffset":17030,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2406","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_domain.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1389,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":319,"endOffset":1345,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":374,"endOffset":1341,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2407","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_global_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8772,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":325,"endOffset":8722,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":862,"endOffset":1971,"count":1},{"startOffset":1384,"endOffset":1965,"count":2},{"startOffset":1442,"endOffset":1955,"count":1},{"startOffset":1838,"endOffset":1955,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2009,"endOffset":3158,"count":1},{"startOffset":2584,"endOffset":3152,"count":2},{"startOffset":2642,"endOffset":3142,"count":1},{"startOffset":3025,"endOffset":3142,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3203,"endOffset":4403,"count":1},{"startOffset":4015,"endOffset":4397,"count":2},{"startOffset":4073,"endOffset":4387,"count":1},{"startOffset":4270,"endOffset":4387,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4436,"endOffset":5618,"count":1},{"startOffset":5027,"endOffset":5612,"count":2},{"startOffset":5085,"endOffset":5602,"count":1},{"startOffset":5485,"endOffset":5602,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5656,"endOffset":7650,"count":1},{"startOffset":7076,"endOffset":7644,"count":2},{"startOffset":7134,"endOffset":7634,"count":1},{"startOffset":7517,"endOffset":7634,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7697,"endOffset":8718,"count":1},{"startOffset":8314,"endOffset":8712,"count":2},{"startOffset":8372,"endOffset":8702,"count":1},{"startOffset":8585,"endOffset":8702,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2408","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_global_interface.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9539,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":329,"endOffset":9485,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":821,"endOffset":1886,"count":1},{"startOffset":1325,"endOffset":1880,"count":2},{"startOffset":1392,"endOffset":1870,"count":1},{"startOffset":1753,"endOffset":1870,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1929,"endOffset":3446,"count":1},{"startOffset":2750,"endOffset":3440,"count":2},{"startOffset":2817,"endOffset":3430,"count":1},{"startOffset":3313,"endOffset":3430,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3487,"endOffset":4663,"count":1},{"startOffset":4256,"endOffset":4657,"count":2},{"startOffset":4323,"endOffset":4647,"count":1},{"startOffset":4530,"endOffset":4647,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4708,"endOffset":5837,"count":1},{"startOffset":5437,"endOffset":5831,"count":2},{"startOffset":5497,"endOffset":5821,"count":1},{"startOffset":5704,"endOffset":5821,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5870,"endOffset":6925,"count":1},{"startOffset":6372,"endOffset":6919,"count":2},{"startOffset":6437,"endOffset":6909,"count":1},{"startOffset":6792,"endOffset":6909,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6968,"endOffset":8224,"count":1},{"startOffset":7742,"endOffset":8128,"count":2},{"startOffset":7801,"endOffset":8118,"count":1},{"startOffset":8001,"endOffset":8118,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8258,"endOffset":9481,"count":1},{"startOffset":9003,"endOffset":9385,"count":2},{"startOffset":9062,"endOffset":9375,"count":1},{"startOffset":9258,"endOffset":9375,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2409","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_message_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2183,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":317,"endOffset":2132,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":899,"endOffset":1415,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1449,"endOffset":2128,"count":1},{"startOffset":1974,"endOffset":1982,"count":0},{"startOffset":2065,"endOffset":2073,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2410","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_table_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1508,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":317,"endOffset":1460,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":372,"endOffset":1456,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2411","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9880,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":317,"endOffset":9837,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7499,"endOffset":8025,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8064,"endOffset":9215,"count":1},{"startOffset":8638,"endOffset":9209,"count":2},{"startOffset":8692,"endOffset":9199,"count":1},{"startOffset":9082,"endOffset":9199,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9246,"endOffset":9833,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2412","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/table_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":21475,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":363,"endOffset":21434,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":396,"endOffset":1439,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1479,"endOffset":2451,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2502,"endOffset":3447,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3496,"endOffset":4655,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4722,"endOffset":5779,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5808,"endOffset":6852,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6879,"endOffset":7912,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7957,"endOffset":10846,"count":1},{"startOffset":10384,"endOffset":10392,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10875,"endOffset":11911,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11946,"endOffset":15085,"count":1},{"startOffset":14461,"endOffset":14469,"count":0},{"startOffset":14629,"endOffset":14637,"count":0},{"startOffset":14740,"endOffset":14748,"count":0},{"startOffset":14873,"endOffset":14881,"count":0},{"startOffset":14982,"endOffset":14990,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15133,"endOffset":16024,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16079,"endOffset":17721,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17774,"endOffset":19416,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19483,"endOffset":21430,"count":1},{"startOffset":21380,"endOffset":21388,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2413","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/table.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":30186,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":435,"endOffset":30150,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4613,"endOffset":5331,"count":1},{"startOffset":4995,"endOffset":5040,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5379,"endOffset":6480,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6515,"endOffset":8289,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8317,"endOffset":8743,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8773,"endOffset":11350,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11389,"endOffset":13420,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13456,"endOffset":14804,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14848,"endOffset":16448,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16478,"endOffset":19764,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19790,"endOffset":22992,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23035,"endOffset":24301,"count":1},{"startOffset":24039,"endOffset":24084,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24324,"endOffset":26919,"count":1},{"startOffset":26689,"endOffset":26734,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26957,"endOffset":29491,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29540,"endOffset":30146,"count":1},{"startOffset":30090,"endOffset":30098,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2414","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/transaction.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1395,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":256,"endOffset":1353,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":279,"endOffset":1349,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2415","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/view.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":11603,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":328,"endOffset":11568,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":351,"endOffset":3448,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3495,"endOffset":9133,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9157,"endOffset":11564,"count":1},{"startOffset":11524,"endOffset":11532,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2416","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/web_mime.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1323,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":244,"endOffset":1284,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":267,"endOffset":1280,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2417","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/pretty_printer/pretty_printer.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9854,"count":1}],"isBlockCoverage":true},{"functionName":"testTitle","ranges":[{"startOffset":510,"endOffset":551,"count":29}],"isBlockCoverage":true},{"functionName":"parse","ranges":[{"startOffset":553,"endOffset":782,"count":31}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":831,"endOffset":1902,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1503,"endOffset":1898,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1549,"endOffset":1890,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1945,"endOffset":2711,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2312,"endOffset":2707,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2358,"endOffset":2699,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2763,"endOffset":3428,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3059,"endOffset":3424,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3105,"endOffset":3416,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3477,"endOffset":4261,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3880,"endOffset":4257,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3926,"endOffset":4249,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4293,"endOffset":6231,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5724,"endOffset":6227,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5770,"endOffset":6219,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6282,"endOffset":6979,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6475,"endOffset":6975,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6521,"endOffset":6967,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7035,"endOffset":8700,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8319,"endOffset":8696,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8365,"endOffset":8688,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8735,"endOffset":9254,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8772,"endOffset":9250,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9292,"endOffset":9809,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9337,"endOffset":9805,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2418","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/registry.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":21530,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":465,"endOffset":10257,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":499,"endOffset":984,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1021,"endOffset":1276,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1316,"endOffset":1629,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1662,"endOffset":2451,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2488,"endOffset":2874,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2896,"endOffset":3163,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3213,"endOffset":3603,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3666,"endOffset":4061,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4109,"endOffset":4506,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4542,"endOffset":4810,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4731,"endOffset":4767,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4846,"endOffset":5229,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5144,"endOffset":5182,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5255,"endOffset":6308,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6252,"endOffset":6289,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6336,"endOffset":6858,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6923,"endOffset":7237,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7306,"endOffset":7571,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7625,"endOffset":7980,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8040,"endOffset":8395,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8437,"endOffset":9044,"count":1},{"startOffset":8870,"endOffset":8878,"count":0},{"startOffset":8979,"endOffset":8987,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9091,"endOffset":9439,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9481,"endOffset":9851,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9894,"endOffset":10253,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10295,"endOffset":14216,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10333,"endOffset":10757,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10824,"endOffset":11161,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11207,"endOffset":11571,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11603,"endOffset":11925,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11957,"endOffset":12277,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12307,"endOffset":12813,"count":1},{"startOffset":12703,"endOffset":12751,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12841,"endOffset":13288,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13324,"endOffset":13656,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13708,"endOffset":14212,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14244,"endOffset":21491,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":14256,"endOffset":14867,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14932,"endOffset":15349,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15448,"endOffset":15914,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15980,"endOffset":16478,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16548,"endOffset":17294,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17360,"endOffset":17731,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17800,"endOffset":18183,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18242,"endOffset":18570,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18600,"endOffset":19428,"count":1},{"startOffset":19008,"endOffset":19056,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19480,"endOffset":20275,"count":1},{"startOffset":20026,"endOffset":20034,"count":0},{"startOffset":20115,"endOffset":20123,"count":0},{"startOffset":20226,"endOffset":20234,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20303,"endOffset":20593,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20636,"endOffset":21487,"count":1},{"startOffset":21267,"endOffset":21275,"count":0},{"startOffset":21406,"endOffset":21414,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2419","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/_utils.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5961,"count":1}],"isBlockCoverage":true},{"functionName":"fullErrorNamespace","ranges":[{"startOffset":612,"endOffset":784,"count":17}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":785,"endOffset":1099,"count":109},{"startOffset":879,"endOffset":917,"count":16},{"startOffset":947,"endOffset":1060,"count":142}],"isBlockCoverage":true},{"functionName":"testRule","ranges":[{"startOffset":1100,"endOffset":2584,"count":118},{"startOffset":1198,"endOffset":1238,"count":29},{"startOffset":1265,"endOffset":1306,"count":112}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1332,"endOffset":2580,"count":118}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1455,"endOffset":2572,"count":1133},{"startOffset":2435,"endOffset":2492,"count":0}],"isBlockCoverage":true},{"functionName":"callback","ranges":[{"startOffset":1585,"endOffset":2397,"count":1133},{"startOffset":1918,"endOffset":2383,"count":76}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1955,"endOffset":2363,"count":55},{"startOffset":2015,"endOffset":2163,"count":31},{"startOffset":2163,"endOffset":2341,"count":24}],"isBlockCoverage":true},{"functionName":"testRuleFix","ranges":[{"startOffset":2585,"endOffset":3118,"count":27},{"startOffset":2686,"endOffset":2726,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2826,"endOffset":3114,"count":27}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2949,"endOffset":3106,"count":111}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3006,"endOffset":3094,"count":111}],"isBlockCoverage":true},{"functionName":"testRuleFixSingle","ranges":[{"startOffset":3119,"endOffset":4132,"count":146},{"startOffset":3359,"endOffset":3390,"count":0},{"startOffset":3921,"endOffset":4015,"count":138}],"isBlockCoverage":true},{"functionName":"testRuleFixCount","ranges":[{"startOffset":4133,"endOffset":5252,"count":254},{"startOffset":4376,"endOffset":4381,"count":248},{"startOffset":4383,"endOffset":4414,"count":5},{"startOffset":4834,"endOffset":5041,"count":252},{"startOffset":5041,"endOffset":5135,"count":2},{"startOffset":5135,"endOffset":5251,"count":252}],"isBlockCoverage":true},{"functionName":"testRuleWithVariableConfig","ranges":[{"startOffset":5253,"endOffset":5926,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5438,"endOffset":5922,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5501,"endOffset":5914,"count":47}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5546,"endOffset":5902,"count":47}],"isBlockCoverage":true}]},{"scriptId":"2420","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/7bit_ascii.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2421","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/abapdoc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":9812,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2422","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/align_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10674,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":303,"endOffset":484,"count":2}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":485,"endOffset":760,"count":37}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":796,"endOffset":10627,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":847,"endOffset":978,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1012,"endOffset":1223,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1248,"endOffset":1499,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1524,"endOffset":1787,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1854,"endOffset":2055,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2089,"endOffset":2306,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2360,"endOffset":2581,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2623,"endOffset":2792,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2827,"endOffset":2983,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3028,"endOffset":3186,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3237,"endOffset":3401,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3446,"endOffset":3624,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3651,"endOffset":3849,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3904,"endOffset":4092,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4130,"endOffset":4334,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4389,"endOffset":4583,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4621,"endOffset":4831,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4873,"endOffset":5057,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5089,"endOffset":5278,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5317,"endOffset":5522,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5572,"endOffset":5766,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5798,"endOffset":5998,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6026,"endOffset":6223,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6249,"endOffset":6442,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6477,"endOffset":6647,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6682,"endOffset":6870,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6905,"endOffset":7114,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7150,"endOffset":7379,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7415,"endOffset":7650,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7684,"endOffset":7938,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7972,"endOffset":8236,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8268,"endOffset":8498,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8530,"endOffset":8758,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8782,"endOffset":8997,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9021,"endOffset":9238,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9286,"endOffset":9678,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9711,"endOffset":9984,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10034,"endOffset":10303,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10352,"endOffset":10623,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2423","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/align_pseudo_comments.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3308,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":303,"endOffset":488,"count":2}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":489,"endOffset":768,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":809,"endOffset":3256,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":860,"endOffset":991,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1008,"endOffset":1195,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1212,"endOffset":1402,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1419,"endOffset":1609,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1646,"endOffset":1843,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1881,"endOffset":2140,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2158,"endOffset":2309,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2331,"endOffset":2538,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2570,"endOffset":2947,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2971,"endOffset":3252,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2424","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/align_type_expressions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3950,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":303,"endOffset":489,"count":2}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":490,"endOffset":770,"count":9}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":812,"endOffset":3897,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":863,"endOffset":994,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1034,"endOffset":1315,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1344,"endOffset":1551,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1584,"endOffset":1798,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1835,"endOffset":2052,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2093,"endOffset":2329,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2373,"endOffset":2605,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2642,"endOffset":2881,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2912,"endOffset":3169,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3208,"endOffset":3566,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3606,"endOffset":3893,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2425","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/allowed_object_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5550,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":522,"count":28}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":563,"endOffset":5498,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":602,"endOffset":772,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":796,"endOffset":928,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":952,"endOffset":1084,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1118,"endOffset":1252,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1282,"endOffset":1421,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1451,"endOffset":1593,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1624,"endOffset":1792,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1814,"endOffset":1990,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2014,"endOffset":2174,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2198,"endOffset":2335,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2359,"endOffset":2496,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2520,"endOffset":2652,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2676,"endOffset":2812,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2836,"endOffset":2996,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3020,"endOffset":3163,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3187,"endOffset":3321,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3345,"endOffset":3481,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3505,"endOffset":3637,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3661,"endOffset":3793,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3842,"endOffset":3989,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4022,"endOffset":4158,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4195,"endOffset":4332,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4354,"endOffset":4635,"count":1},{"startOffset":4590,"endOffset":4607,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4666,"endOffset":4801,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4830,"endOffset":4959,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4995,"endOffset":5130,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5175,"endOffset":5311,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5349,"endOffset":5494,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2426","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/ambiguous_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":808,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2427","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/avoid_use.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2353,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2428","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/begin_end_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3334,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2429","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/call_transaction_authority_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2103,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":620,"endOffset":991,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1067,"endOffset":2040,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1123,"endOffset":1308,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1353,"endOffset":1542,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1587,"endOffset":1775,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1851,"endOffset":2036,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2430","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cds_comment_style.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1514,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":544,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":581,"endOffset":1466,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":611,"endOffset":862,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":890,"endOffset":1162,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1190,"endOffset":1462,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2431","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cds_legacy_view.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1396,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":291,"endOffset":578,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":613,"endOffset":1350,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":638,"endOffset":889,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":913,"endOffset":1171,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1190,"endOffset":1346,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2432","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cds_parser_error.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1083,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":543,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":579,"endOffset":1036,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":606,"endOffset":857,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":876,"endOffset":1032,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2433","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/chain_mainly_declarations.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1598,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2434","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/change_if_to_case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4000,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":539,"count":13}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":576,"endOffset":3952,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":627,"endOffset":758,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":791,"endOffset":956,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":981,"endOffset":1276,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1315,"endOffset":1600,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1627,"endOffset":1913,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1939,"endOffset":2224,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2263,"endOffset":2541,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2583,"endOffset":2785,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2837,"endOffset":3039,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3091,"endOffset":3294,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3335,"endOffset":3511,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3552,"endOffset":3729,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3770,"endOffset":3948,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2435","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_abstract.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1840,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2436","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_comments.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4412,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2437","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_ddic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7927,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":353,"endOffset":7886,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":390,"endOffset":1108,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1127,"endOffset":1463,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1510,"endOffset":2281,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2316,"endOffset":3459,"count":1},{"startOffset":3414,"endOffset":3431,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3494,"endOffset":4811,"count":1},{"startOffset":4766,"endOffset":4783,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4845,"endOffset":5588,"count":1},{"startOffset":5530,"endOffset":5538,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5622,"endOffset":6695,"count":1},{"startOffset":6637,"endOffset":6645,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6751,"endOffset":7882,"count":1},{"startOffset":7824,"endOffset":7832,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2438","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_include.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6458,"count":1}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":265,"endOffset":687,"count":12},{"startOffset":371,"endOffset":459,"count":26},{"startOffset":611,"endOffset":666,"count":17}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":721,"endOffset":6414,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":752,"endOffset":928,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":951,"endOffset":1163,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1182,"endOffset":1531,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1588,"endOffset":1863,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1896,"endOffset":2117,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2139,"endOffset":2408,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2436,"endOffset":3475,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3515,"endOffset":4527,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4564,"endOffset":4928,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4971,"endOffset":5347,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5378,"endOffset":5925,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5960,"endOffset":6410,"count":1},{"startOffset":6364,"endOffset":6381,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2439","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_subrc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3892,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2440","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_syntax.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1862,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":385,"endOffset":791,"count":2},{"startOffset":691,"endOffset":730,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":823,"endOffset":1819,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":874,"endOffset":1268,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1319,"endOffset":1815,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2441","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_text_elements.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8286,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":265,"endOffset":406,"count":13}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":445,"endOffset":8236,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2275,"endOffset":2627,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3098,"endOffset":3453,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3479,"endOffset":3834,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3872,"endOffset":4227,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4253,"endOffset":4612,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4638,"endOffset":5005,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5031,"endOffset":5399,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5425,"endOffset":5793,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5819,"endOffset":6196,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6223,"endOffset":6666,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6693,"endOffset":7100,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7127,"endOffset":7534,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7561,"endOffset":8232,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2442","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_transformation_exists.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2321,"count":1}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":265,"endOffset":675,"count":5},{"startOffset":371,"endOffset":459,"count":6},{"startOffset":549,"endOffset":654,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":723,"endOffset":2263,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":754,"endOffset":930,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":970,"endOffset":1250,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1273,"endOffset":1554,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1585,"endOffset":1868,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1891,"endOffset":2259,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2443","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/class_attribute_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":14017,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":303,"endOffset":733,"count":50},{"startOffset":374,"endOffset":423,"count":29},{"startOffset":633,"endOffset":672,"count":48}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":784,"endOffset":1425,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":818,"endOffset":982,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1018,"endOffset":1421,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1468,"endOffset":8546,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1589,"endOffset":2291,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2348,"endOffset":3053,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3108,"endOffset":3781,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3838,"endOffset":4506,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4563,"endOffset":5229,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5275,"endOffset":5934,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5982,"endOffset":6677,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6738,"endOffset":7454,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7483,"endOffset":8542,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8602,"endOffset":13965,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8705,"endOffset":9400,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9457,"endOffset":10115,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10175,"endOffset":10871,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10927,"endOffset":11589,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11647,"endOffset":12357,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12419,"endOffset":13127,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13180,"endOffset":13961,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2444","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/classic_exceptions_overlap.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2224,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":551,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":597,"endOffset":2167,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":628,"endOffset":807,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":826,"endOffset":1193,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1212,"endOffset":1579,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1609,"endOffset":1872,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1909,"endOffset":2163,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2445","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/colon_missing_space.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":552,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2446","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/commented_code.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2471,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2447","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/constant_classes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":14496,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":300,"endOffset":14449,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1834,"endOffset":2669,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2715,"endOffset":3602,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3641,"endOffset":4686,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4726,"endOffset":5824,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5869,"endOffset":6961,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7011,"endOffset":8060,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8104,"endOffset":9259,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9306,"endOffset":10460,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10504,"endOffset":11591,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11643,"endOffset":12698,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12765,"endOffset":13834,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13881,"endOffset":14445,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2448","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/constructor_visibility_public.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2350,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":313,"endOffset":2290,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":366,"endOffset":1017,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1065,"endOffset":1715,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1750,"endOffset":2286,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2449","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/contains_tab.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":833,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2450","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cyclic_oo.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2040,"count":1}],"isBlockCoverage":true},{"functionName":"runSingle","ranges":[{"startOffset":265,"endOffset":464,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":493,"endOffset":2000,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":518,"endOffset":726,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":746,"endOffset":1002,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1030,"endOffset":1533,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1559,"endOffset":1996,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2451","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cyclomatic_complexity.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1317,"count":1}],"isBlockCoverage":true},{"functionName":"runSingle","ranges":[{"startOffset":303,"endOffset":575,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":616,"endOffset":1265,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":640,"endOffset":797,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":822,"endOffset":1261,"count":1},{"startOffset":1034,"endOffset":1097,"count":100}],"isBlockCoverage":true}]},{"scriptId":"2452","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/dangerous_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1343,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2453","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/db_operation_in_loop.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2454","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/definitions_top.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5155,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":185,"endOffset":375,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3088,"endOffset":5109,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3118,"endOffset":3581,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3606,"endOffset":3891,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3916,"endOffset":4265,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4290,"endOffset":4742,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4782,"endOffset":5105,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2455","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/description_empty.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2872,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":308,"endOffset":1084,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":802,"endOffset":1080,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1129,"endOffset":1944,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1662,"endOffset":1940,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2001,"endOffset":2824,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2538,"endOffset":2820,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2456","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/double_space.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3115,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2457","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/downport.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":157743,"count":1}],"isBlockCoverage":true},{"functionName":"buildConfig","ranges":[{"startOffset":426,"endOffset":630,"count":264}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":631,"endOffset":850,"count":252}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":851,"endOffset":1178,"count":11}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1206,"endOffset":157704,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1237,"endOffset":1368,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1402,"endOffset":1531,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1575,"endOffset":1799,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1893,"endOffset":2038,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2132,"endOffset":2280,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2322,"endOffset":2540,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2577,"endOffset":3004,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3043,"endOffset":3428,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3474,"endOffset":3608,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3665,"endOffset":3804,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3873,"endOffset":4012,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4067,"endOffset":4266,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4300,"endOffset":4458,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4488,"endOffset":4595,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4633,"endOffset":5312,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5351,"endOffset":5497,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5541,"endOffset":5710,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5765,"endOffset":6119,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6175,"endOffset":6863,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6918,"endOffset":7583,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7645,"endOffset":8426,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8495,"endOffset":9293,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9342,"endOffset":10055,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10093,"endOffset":10454,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10487,"endOffset":10693,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10738,"endOffset":10944,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10989,"endOffset":11347,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11388,"endOffset":11604,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11631,"endOffset":12237,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12267,"endOffset":12588,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12636,"endOffset":13027,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13053,"endOffset":13319,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13339,"endOffset":13685,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13713,"endOffset":14453,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14489,"endOffset":15317,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15350,"endOffset":16141,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16169,"endOffset":16848,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16888,"endOffset":17270,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17304,"endOffset":17626,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17672,"endOffset":18194,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18215,"endOffset":18444,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18474,"endOffset":18805,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18844,"endOffset":19665,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19693,"endOffset":19964,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20001,"endOffset":20554,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20592,"endOffset":21327,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21378,"endOffset":21923,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21991,"endOffset":22303,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22354,"endOffset":22707,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22735,"endOffset":23173,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23210,"endOffset":23701,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23751,"endOffset":23965,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24019,"endOffset":25595,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25640,"endOffset":25866,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25906,"endOffset":26366,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26415,"endOffset":26835,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26877,"endOffset":27313,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27360,"endOffset":27659,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27701,"endOffset":28233,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28278,"endOffset":28537,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28578,"endOffset":28825,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28871,"endOffset":29108,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29154,"endOffset":29389,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29423,"endOffset":29713,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29748,"endOffset":30154,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30174,"endOffset":30451,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30486,"endOffset":30854,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30874,"endOffset":31224,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31258,"endOffset":31625,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31680,"endOffset":32380,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32418,"endOffset":33317,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33359,"endOffset":33780,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33823,"endOffset":34176,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34237,"endOffset":34588,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34628,"endOffset":34973,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35019,"endOffset":35633,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35679,"endOffset":36653,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36693,"endOffset":37103,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37146,"endOffset":37516,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37552,"endOffset":37729,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37773,"endOffset":38122,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38149,"endOffset":38679,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38707,"endOffset":39247,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39284,"endOffset":40191,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40213,"endOffset":40448,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40470,"endOffset":40705,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40727,"endOffset":40962,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40984,"endOffset":41219,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41242,"endOffset":41489,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41516,"endOffset":42018,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":42065,"endOffset":42509,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":42567,"endOffset":43105,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43139,"endOffset":43608,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43634,"endOffset":44139,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44165,"endOffset":44687,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44731,"endOffset":45344,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45376,"endOffset":45646,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45687,"endOffset":46373,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46408,"endOffset":46664,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46701,"endOffset":47410,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47447,"endOffset":48384,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48431,"endOffset":48738,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48762,"endOffset":49046,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49089,"endOffset":49398,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49438,"endOffset":49605,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49643,"endOffset":49808,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49840,"endOffset":50153,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50191,"endOffset":50526,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50567,"endOffset":50915,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50953,"endOffset":51595,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51632,"endOffset":51867,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51905,"endOffset":52153,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52213,"endOffset":52736,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52789,"endOffset":53582,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53628,"endOffset":54026,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":54057,"endOffset":54724,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":54766,"endOffset":55285,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55309,"endOffset":55598,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55628,"endOffset":56023,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56058,"endOffset":56492,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56529,"endOffset":57049,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57086,"endOffset":57600,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":57630,"endOffset":58194,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":58230,"endOffset":59025,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59060,"endOffset":59494,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":59532,"endOffset":60393,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60422,"endOffset":60963,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61011,"endOffset":61797,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61848,"endOffset":62209,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62258,"endOffset":62606,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62642,"endOffset":63107,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63144,"endOffset":63608,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63643,"endOffset":64189,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64220,"endOffset":65130,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65162,"endOffset":65675,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65719,"endOffset":66023,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66072,"endOffset":67212,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67259,"endOffset":67751,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67788,"endOffset":68419,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68464,"endOffset":69088,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69112,"endOffset":69654,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69683,"endOffset":70094,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70128,"endOffset":70427,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70452,"endOffset":71056,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71097,"endOffset":71363,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71392,"endOffset":71954,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":72001,"endOffset":72451,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":72489,"endOffset":72795,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":72821,"endOffset":73552,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":73602,"endOffset":74420,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":74487,"endOffset":75386,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":75454,"endOffset":76108,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":76152,"endOffset":76561,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":76604,"endOffset":76836,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":76875,"endOffset":77670,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":77702,"endOffset":78244,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":78284,"endOffset":78800,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":78840,"endOffset":79356,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":79385,"endOffset":79939,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":79973,"endOffset":80566,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":80607,"endOffset":80948,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":80983,"endOffset":81266,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":81309,"endOffset":81650,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":81683,"endOffset":81862,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":81901,"endOffset":82117,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":82156,"endOffset":82567,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":82624,"endOffset":83071,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":83114,"endOffset":83383,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":83415,"endOffset":83932,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":83978,"endOffset":84523,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":84578,"endOffset":85202,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":85236,"endOffset":85558,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":85616,"endOffset":86026,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":86088,"endOffset":86619,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":86656,"endOffset":87008,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":87037,"endOffset":87457,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":87491,"endOffset":87864,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":87915,"endOffset":88424,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":88470,"endOffset":90276,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":90335,"endOffset":92213,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":92254,"endOffset":93769,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":93810,"endOffset":95449,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":95471,"endOffset":96231,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":96259,"endOffset":96998,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":97040,"endOffset":97800,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":97825,"endOffset":98403,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":98443,"endOffset":99200,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":99224,"endOffset":100575,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":100611,"endOffset":101303,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":101340,"endOffset":102979,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":103037,"endOffset":103506,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":103561,"endOffset":104198,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":104230,"endOffset":104817,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":104853,"endOffset":105403,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":105445,"endOffset":106158,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":106200,"endOffset":107057,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":107089,"endOffset":108166,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":108196,"endOffset":109252,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":109298,"endOffset":110375,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":110421,"endOffset":111498,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":111560,"endOffset":111855,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":111904,"endOffset":114305,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":114343,"endOffset":115665,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":115714,"endOffset":116664,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":116690,"endOffset":117172,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":117212,"endOffset":118160,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":118207,"endOffset":118414,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":118456,"endOffset":118689,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":118739,"endOffset":119261,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":119331,"endOffset":120124,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":120174,"endOffset":120880,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":120940,"endOffset":121756,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":121821,"endOffset":122493,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":122531,"endOffset":123001,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":123036,"endOffset":123664,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":123693,"endOffset":123963,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":124000,"endOffset":124307,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":124348,"endOffset":124618,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":124650,"endOffset":125322,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":125363,"endOffset":125703,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":125737,"endOffset":126065,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":126093,"endOffset":126343,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":126374,"endOffset":126711,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":126747,"endOffset":127308,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":127346,"endOffset":127778,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":127823,"endOffset":128405,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":128457,"endOffset":128917,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":128962,"endOffset":129759,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":129793,"endOffset":130431,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":130466,"endOffset":131436,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":131470,"endOffset":131983,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":132022,"endOffset":132859,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":132896,"endOffset":133702,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":133737,"endOffset":134011,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":134076,"endOffset":134830,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":134870,"endOffset":135718,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":135765,"endOffset":136024,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":135920,"endOffset":135948,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":136075,"endOffset":136347,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":136243,"endOffset":136271,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":136375,"endOffset":136703,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":136744,"endOffset":137477,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":137505,"endOffset":137800,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":137830,"endOffset":138348,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":138395,"endOffset":138861,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":138910,"endOffset":139262,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":139309,"endOffset":140103,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":140166,"endOffset":140541,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":140580,"endOffset":141345,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":141397,"endOffset":142210,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":142234,"endOffset":142442,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":142491,"endOffset":142749,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":142816,"endOffset":143942,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":144018,"endOffset":145144,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":145206,"endOffset":145920,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":145982,"endOffset":146456,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":146488,"endOffset":146976,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":147011,"endOffset":147758,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":147803,"endOffset":148217,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":148252,"endOffset":150105,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":150150,"endOffset":152152,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":152180,"endOffset":152522,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":152578,"endOffset":153353,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":153383,"endOffset":153956,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":154003,"endOffset":154666,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":154693,"endOffset":155179,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":155232,"endOffset":155592,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":155654,"endOffset":156188,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":156258,"endOffset":156780,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":156815,"endOffset":157334,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":157378,"endOffset":157700,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2458","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/dynpro_checks.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3077,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":294,"endOffset":568,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":601,"endOffset":3033,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":657,"endOffset":3029,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2459","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/easy_to_find_messages.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3007,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":265,"endOffset":1416,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1456,"endOffset":2955,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1487,"endOffset":1633,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1657,"endOffset":1809,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1842,"endOffset":2010,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2043,"endOffset":2230,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2261,"endOffset":2470,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2501,"endOffset":2700,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2740,"endOffset":2951,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2460","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/empty_line_in_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2191,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2461","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/empty_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":946,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2462","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/empty_structure.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1819,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2463","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/exit_or_check.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1543,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2464","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/expand_macros.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3073,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":159,"endOffset":337,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":787,"endOffset":3029,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":817,"endOffset":1046,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1086,"endOffset":1335,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1359,"endOffset":1637,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1658,"endOffset":1996,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2040,"endOffset":2301,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2346,"endOffset":2612,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2648,"endOffset":3025,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2465","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/exporting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1589,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2466","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/forbidden_identifier.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":712,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2467","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/forbidden_pseudo_and_pragma.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":915,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2468","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/forbidden_void_type.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1424,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2469","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/form_tables_obsolete.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":482,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2470","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/fully_type_constants.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3641,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2471","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/fully_type_itabs.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3361,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":293,"endOffset":585,"count":7},{"startOffset":399,"endOffset":434,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":621,"endOffset":3314,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":648,"endOffset":858,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":880,"endOffset":1158,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1190,"endOffset":1444,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1475,"endOffset":1738,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1766,"endOffset":2653,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2672,"endOffset":2916,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2956,"endOffset":3310,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2472","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/function_module_recommendations.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1994,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":716,"endOffset":1279,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1339,"endOffset":1932,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1367,"endOffset":1500,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1532,"endOffset":1710,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1750,"endOffset":1928,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2473","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/functional_writing.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1680,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2474","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/global_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2274,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":285,"endOffset":512,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":544,"endOffset":2231,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":571,"endOffset":781,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":813,"endOffset":1034,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1066,"endOffset":1294,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1335,"endOffset":1595,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1665,"endOffset":1935,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1973,"endOffset":2227,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2475","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/identical_conditions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2986,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":301,"endOffset":603,"count":10}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":643,"endOffset":2935,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":670,"endOffset":821,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":858,"endOffset":1043,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1078,"endOffset":1271,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1309,"endOffset":1509,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1563,"endOffset":1739,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1793,"endOffset":1978,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2021,"endOffset":2220,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2277,"endOffset":2460,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2493,"endOffset":2677,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2708,"endOffset":2931,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2476","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/identical_contents.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2706,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2477","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/identical_descriptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3351,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":306,"endOffset":3298,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1363,"endOffset":1647,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1681,"endOffset":2060,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2084,"endOffset":3294,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2478","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/identical_form_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":725,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2479","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/if_in_if.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1634,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":159,"endOffset":271,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1386,"endOffset":1595,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1413,"endOffset":1591,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2480","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/implement_methods.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":15839,"count":1}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":303,"endOffset":704,"count":26},{"startOffset":409,"endOffset":497,"count":35},{"startOffset":587,"endOffset":683,"count":30}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":705,"endOffset":828,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":866,"endOffset":15791,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":897,"endOffset":1073,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1111,"endOffset":1423,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1473,"endOffset":1835,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1881,"endOffset":2282,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2311,"endOffset":2678,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2725,"endOffset":3141,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3186,"endOffset":3816,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3861,"endOffset":4250,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4320,"endOffset":4869,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4922,"endOffset":5477,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5536,"endOffset":6135,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6203,"endOffset":6840,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6880,"endOffset":7298,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7361,"endOffset":7817,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7858,"endOffset":8288,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8324,"endOffset":9157,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9197,"endOffset":9637,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9684,"endOffset":10171,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10251,"endOffset":10876,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10910,"endOffset":11321,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11355,"endOffset":11897,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11933,"endOffset":12344,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12393,"endOffset":13042,"count":1},{"startOffset":12996,"endOffset":13013,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13079,"endOffset":13855,"count":1},{"startOffset":13809,"endOffset":13826,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13900,"endOffset":14360,"count":1},{"startOffset":14314,"endOffset":14331,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14413,"endOffset":14764,"count":1},{"startOffset":14718,"endOffset":14735,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14809,"endOffset":15787,"count":1},{"startOffset":15741,"endOffset":15758,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2481","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/in_statement_indentation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1302,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2482","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/indentation.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7112,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":6652,"endOffset":6776,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6823,"endOffset":7070,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6851,"endOffset":6925,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6948,"endOffset":7066,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2483","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/inline_data_old_versions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1394,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":403,"endOffset":774,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":821,"endOffset":1339,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":849,"endOffset":982,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1001,"endOffset":1158,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1177,"endOffset":1335,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2484","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/intf_referencing_clas.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1930,"count":1}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":265,"endOffset":686,"count":3},{"startOffset":371,"endOffset":459,"count":4},{"startOffset":619,"endOffset":665,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":728,"endOffset":1878,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":759,"endOffset":935,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":965,"endOffset":1278,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1329,"endOffset":1874,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2485","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/invalid_table_index.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":535,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2486","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/keep_single_parameter_on_one_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1806,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2487","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/keyword_case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10865,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9803,"endOffset":10001,"count":5},{"startOffset":9835,"endOffset":9847,"count":4},{"startOffset":9849,"endOffset":9964,"count":2},{"startOffset":9964,"endOffset":9999,"count":3}],"isBlockCoverage":true}]},{"scriptId":"2488","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/line_break_multiple_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1455,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2489","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/line_break_style.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":512,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2490","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/line_length.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":857,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2491","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/line_only_punc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1261,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2492","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/local_class_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2091,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2493","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/local_testclass_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2155,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":505,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":552,"endOffset":2097,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":603,"endOffset":811,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":841,"endOffset":2093,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2494","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/local_variable_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10511,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":610,"count":32},{"startOffset":510,"endOffset":549,"count":26}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":669,"endOffset":10460,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":804,"endOffset":968,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1008,"endOffset":1589,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1638,"endOffset":2216,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2273,"endOffset":2772,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2834,"endOffset":4060,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4125,"endOffset":5345,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5411,"endOffset":5863,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5905,"endOffset":6345,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6384,"endOffset":6827,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6868,"endOffset":7374,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7418,"endOffset":7913,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7952,"endOffset":8427,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8463,"endOffset":8941,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8983,"endOffset":9428,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9487,"endOffset":9673,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9721,"endOffset":9910,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9963,"endOffset":10187,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10229,"endOffset":10456,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2495","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/macro_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":461,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2496","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/main_file_contents.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3599,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":543,"count":13}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":581,"endOffset":3550,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":638,"endOffset":817,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":867,"endOffset":1046,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1097,"endOffset":1279,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1341,"endOffset":1524,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1587,"endOffset":1776,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1841,"endOffset":2037,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2065,"endOffset":2237,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2272,"endOffset":2446,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2498,"endOffset":2677,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2704,"endOffset":2883,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2919,"endOffset":3095,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3141,"endOffset":3322,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3362,"endOffset":3546,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2497","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/many_parentheses.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4243,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":159,"endOffset":340,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3958,"endOffset":4196,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3988,"endOffset":4192,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2498","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/max_one_method_parameter_per_line.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":720,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2499","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/max_one_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":996,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2500","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/message_exists.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6687,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":265,"endOffset":1626,"count":17}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1659,"endOffset":6642,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1690,"endOffset":1836,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1861,"endOffset":2013,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2086,"endOffset":2257,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2322,"endOffset":2494,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2535,"endOffset":2715,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2753,"endOffset":2912,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2951,"endOffset":3119,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3148,"endOffset":3316,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3351,"endOffset":4538,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4579,"endOffset":4769,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4806,"endOffset":5005,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5046,"endOffset":5248,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5289,"endOffset":5489,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5526,"endOffset":5737,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5777,"endOffset":5957,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5993,"endOffset":6182,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6224,"endOffset":6413,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6442,"endOffset":6638,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2501","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/method_implemented_twice.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3516,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":550,"count":9}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":594,"endOffset":3461,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":625,"endOffset":789,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":813,"endOffset":1051,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1070,"endOffset":1370,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1395,"endOffset":1788,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1813,"endOffset":2113,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2140,"endOffset":2444,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2495,"endOffset":2818,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2856,"endOffset":3176,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3203,"endOffset":3457,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2502","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/method_length.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7862,"count":1}],"isBlockCoverage":true},{"functionName":"testRulesWithFile","ranges":[{"startOffset":325,"endOffset":940,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":406,"endOffset":936,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":436,"endOffset":928,"count":12}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":481,"endOffset":916,"count":12}],"isBlockCoverage":true}]},{"scriptId":"2503","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/method_overwrites_builtin.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":930,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2504","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/method_parameter_names.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7372,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":305,"endOffset":668,"count":19},{"startOffset":568,"endOffset":607,"count":15}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":720,"endOffset":1659,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":760,"endOffset":973,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1004,"endOffset":1209,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1242,"endOffset":1430,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1467,"endOffset":1655,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1714,"endOffset":3027,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1896,"endOffset":2311,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2336,"endOffset":2604,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2691,"endOffset":3023,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3071,"endOffset":7319,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3211,"endOffset":3826,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3893,"endOffset":4512,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4579,"endOffset":5197,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5241,"endOffset":5864,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5906,"endOffset":6535,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6561,"endOffset":7315,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2505","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/mix_returning.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1713,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":540,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":573,"endOffset":1669,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":604,"endOffset":768,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":784,"endOffset":1033,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1049,"endOffset":1337,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1356,"endOffset":1665,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2506","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/modify_only_own_db_tables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2539,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":227,"endOffset":498,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":546,"endOffset":2118,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":581,"endOffset":772,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":798,"endOffset":949,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":977,"endOffset":1157,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1186,"endOffset":1409,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1436,"endOffset":1606,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1634,"endOffset":1810,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1843,"endOffset":2114,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2507","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/msag_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2970,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":265,"endOffset":471,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":497,"endOffset":2923,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":535,"endOffset":1096,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1122,"endOffset":1323,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1346,"endOffset":2037,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2071,"endOffset":2919,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2508","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/names_no_dash.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":800,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2509","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/nesting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":419,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2510","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/newline_between_methods.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4735,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2511","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_aliases.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":743,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2512","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_chained_assignment.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":421,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2513","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_external_form_calls.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":545,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2514","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_inline_in_optional_branches.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1417,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":553,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":603,"endOffset":1356,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":634,"endOffset":813,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":836,"endOffset":1076,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1099,"endOffset":1352,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2515","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_prefixes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3905,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":521,"count":14}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":552,"endOffset":3863,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":594,"endOffset":752,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":777,"endOffset":942,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":974,"endOffset":1136,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1169,"endOffset":1332,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1372,"endOffset":1532,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1566,"endOffset":1730,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1771,"endOffset":1932,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1966,"endOffset":2142,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2176,"endOffset":2349,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2368,"endOffset":2534,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2580,"endOffset":2883,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2920,"endOffset":3220,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3260,"endOffset":3583,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3627,"endOffset":3859,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2516","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_public_attributes.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2701,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2517","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_yoda_conditions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1477,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2518","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/object_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8647,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":239,"endOffset":676,"count":72}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":728,"endOffset":8603,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":751,"endOffset":1180,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1198,"endOffset":1623,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1641,"endOffset":2051,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2069,"endOffset":2479,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2497,"endOffset":2903,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2921,"endOffset":3327,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3345,"endOffset":3751,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3769,"endOffset":4175,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4193,"endOffset":4599,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4617,"endOffset":5023,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5041,"endOffset":5447,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5465,"endOffset":5871,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5889,"endOffset":6295,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6313,"endOffset":6719,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6737,"endOffset":7143,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7161,"endOffset":7567,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7585,"endOffset":7991,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8032,"endOffset":8299,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8342,"endOffset":8599,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2519","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/obsolete_statement.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8436,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":3918,"endOffset":4263,"count":16}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4317,"endOffset":7118,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4356,"endOffset":5021,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5052,"endOffset":5539,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5570,"endOffset":6599,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6627,"endOffset":7114,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2520","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/omit_parameter_name.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5172,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":303,"endOffset":582,"count":9}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":583,"endOffset":707,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":746,"endOffset":4510,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":777,"endOffset":956,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":991,"endOffset":1370,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1440,"endOffset":1834,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1853,"endOffset":2226,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2271,"endOffset":2692,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2729,"endOffset":3232,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3265,"endOffset":3733,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3775,"endOffset":4244,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4273,"endOffset":4506,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4564,"endOffset":5122,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4594,"endOffset":5118,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2521","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/omit_preceding_zeros.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1361,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2522","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/omit_receiving.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1640,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":289,"endOffset":573,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":607,"endOffset":1595,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":638,"endOffset":817,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":837,"endOffset":1240,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1259,"endOffset":1591,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2523","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/parser_702_chaining.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2450,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":393,"endOffset":761,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":798,"endOffset":2400,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":826,"endOffset":959,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":996,"endOffset":1155,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1175,"endOffset":1382,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1402,"endOffset":1732,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1779,"endOffset":2058,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2095,"endOffset":2396,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2524","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/parser_error.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2960,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":1935,"endOffset":2293,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2325,"endOffset":2917,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2375,"endOffset":2535,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2565,"endOffset":2704,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2765,"endOffset":2913,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2525","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/parser_missing_space.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2361,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2526","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/pragma_style.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":675,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2527","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_corresponding.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":497,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2528","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_inline.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7211,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":303,"endOffset":585,"count":19}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":586,"endOffset":705,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":738,"endOffset":7167,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":769,"endOffset":900,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":934,"endOffset":1069,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1103,"endOffset":1271,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1299,"endOffset":1454,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1498,"endOffset":1805,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1839,"endOffset":2005,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2046,"endOffset":2216,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2259,"endOffset":2450,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2490,"endOffset":2668,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2713,"endOffset":2888,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2931,"endOffset":3137,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3177,"endOffset":3585,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3620,"endOffset":3982,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4032,"endOffset":4202,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4254,"endOffset":4426,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4468,"endOffset":4688,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4739,"endOffset":4961,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4997,"endOffset":5338,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5397,"endOffset":5614,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5644,"endOffset":5970,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6031,"endOffset":6260,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6299,"endOffset":6662,"count":1},{"startOffset":6617,"endOffset":6634,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6753,"endOffset":6958,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7014,"endOffset":7163,"count":0}],"isBlockCoverage":false}]},{"scriptId":"2529","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_is_not.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2365,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2530","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_pragmas.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1164,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":189,"endOffset":449,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":483,"endOffset":1119,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":514,"endOffset":683,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":703,"endOffset":897,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":924,"endOffset":1115,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2531","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_raise_exception_new.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3104,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":397,"endOffset":751,"count":9}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":821,"endOffset":2456,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":849,"endOffset":1687,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1713,"endOffset":2022,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2041,"endOffset":2452,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2532","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_returning_to_exporting.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3559,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":554,"count":9}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":603,"endOffset":3499,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":634,"endOffset":798,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":814,"endOffset":1063,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1079,"endOffset":1367,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1386,"endOffset":1652,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1687,"endOffset":1975,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1998,"endOffset":2264,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2286,"endOffset":2554,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2594,"endOffset":2992,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3017,"endOffset":3495,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2533","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_xsdbool.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":592,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2534","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/preferred_compare_operator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2275,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2535","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefix_is_current_class.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6162,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":265,"endOffset":636,"count":13},{"startOffset":502,"endOffset":541,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":689,"endOffset":5021,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":742,"endOffset":1093,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1160,"endOffset":1551,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1616,"endOffset":2023,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2092,"endOffset":2574,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2630,"endOffset":3082,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3126,"endOffset":3567,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3614,"endOffset":3981,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4018,"endOffset":4240,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4274,"endOffset":4487,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4521,"endOffset":4734,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4768,"endOffset":5017,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5085,"endOffset":6108,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5233,"endOffset":5682,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5729,"endOffset":6104,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2536","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/reduce_procedural_code.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1727,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":545,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":587,"endOffset":1674,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":638,"endOffset":769,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":788,"endOffset":1134,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1181,"endOffset":1449,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1465,"endOffset":1670,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2537","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/reduce_string_templates.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2201,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":265,"endOffset":519,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":562,"endOffset":2147,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":583,"endOffset":734,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":760,"endOffset":911,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":931,"endOffset":1088,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1117,"endOffset":1274,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1310,"endOffset":1467,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1519,"endOffset":1683,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1735,"endOffset":1895,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1921,"endOffset":2143,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2538","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/release_idoc.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3030,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":530,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":562,"endOffset":2987,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":592,"endOffset":1179,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1207,"endOffset":1825,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1850,"endOffset":2389,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2417,"endOffset":2983,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2539","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/remove_descriptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6757,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":314,"endOffset":1920,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1393,"endOffset":1916,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1971,"endOffset":3252,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2801,"endOffset":3248,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3303,"endOffset":5056,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4605,"endOffset":5052,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5133,"endOffset":6707,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6256,"endOffset":6703,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2540","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/rfc_error_handling.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":890,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2541","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/select_add_order_by.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1864,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2542","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/select_performance.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3595,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":1293,"endOffset":1590,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1544,"endOffset":1567,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1628,"endOffset":3546,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1670,"endOffset":3542,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2543","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/select_single_full_key.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5087,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":2749,"endOffset":2960,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3002,"endOffset":5034,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3027,"endOffset":3236,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3256,"endOffset":3469,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3486,"endOffset":3832,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3851,"endOffset":4216,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4249,"endOffset":4611,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4650,"endOffset":5030,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2544","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/selection_screen_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4869,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2545","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sequential_blank.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1494,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":626,"endOffset":878,"count":1},{"startOffset":669,"endOffset":876,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":693,"endOffset":868,"count":5}],"isBlockCoverage":true}]},{"scriptId":"2546","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/short_case.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":702,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2547","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sicf_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2688,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":307,"endOffset":672,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":330,"endOffset":668,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1516,"endOffset":1878,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1539,"endOffset":1874,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2145,"endOffset":2641,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2168,"endOffset":2637,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2548","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/slow_parameter_passing.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3448,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":265,"endOffset":547,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":589,"endOffset":3395,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":620,"endOffset":802,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":825,"endOffset":1172,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1210,"endOffset":1557,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1576,"endOffset":1916,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1954,"endOffset":2307,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2355,"endOffset":2814,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2853,"endOffset":3391,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2549","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/smim_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1640,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":265,"endOffset":471,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":506,"endOffset":1593,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":541,"endOffset":1067,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1092,"endOffset":1589,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2550","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/space_before_colon.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":788,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":398,"endOffset":534,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":572,"endOffset":739,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":602,"endOffset":735,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2551","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/space_before_dot.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":540,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2552","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sql_escape_host_variables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2593,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":159,"endOffset":347,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2306,"endOffset":2537,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2336,"endOffset":2533,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2553","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sql_value_conversion.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4556,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":2441,"endOffset":2787,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2826,"endOffset":4505,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2857,"endOffset":3003,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3027,"endOffset":3261,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3280,"endOffset":3516,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3552,"endOffset":3787,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3815,"endOffset":4059,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4096,"endOffset":4501,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2554","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/start_at_tab.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":765,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2555","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/static_call_via_instance.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1498,"count":1}],"isBlockCoverage":true},{"functionName":"runSingle","ranges":[{"startOffset":265,"endOffset":543,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":587,"endOffset":1443,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":611,"endOffset":768,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":792,"endOffset":1109,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1129,"endOffset":1439,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2556","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/strict_sql.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2569,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":159,"endOffset":334,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1609,"endOffset":2528,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1639,"endOffset":1880,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1905,"endOffset":2208,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2233,"endOffset":2524,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2557","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/superclass_final.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4401,"count":1}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":265,"endOffset":665,"count":6},{"startOffset":371,"endOffset":459,"count":12},{"startOffset":549,"endOffset":644,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":707,"endOffset":4354,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":738,"endOffset":914,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":940,"endOffset":1255,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1285,"endOffset":1874,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1908,"endOffset":2491,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2546,"endOffset":3304,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3361,"endOffset":4350,"count":1},{"startOffset":4305,"endOffset":4322,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2558","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/superfluous_value.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":531,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2559","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sy_modification.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":555,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2560","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/tables_declared_locally.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":526,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2561","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/try_without_catch.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1666,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":295,"endOffset":582,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":619,"endOffset":1618,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":647,"endOffset":776,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":795,"endOffset":926,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":945,"endOffset":1091,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1117,"endOffset":1251,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1281,"endOffset":1614,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2562","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/type_begin_single_include.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":724,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2563","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/type_form_parameters.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":618,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2564","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/types_naming.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":977,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2565","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/uncaught_exception.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12637,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":1176,"endOffset":2126,"count":18},{"startOffset":2061,"endOffset":2105,"count":129}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2164,"endOffset":12588,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2220,"endOffset":2399,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2426,"endOffset":2601,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2642,"endOffset":2963,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2997,"endOffset":3358,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3388,"endOffset":3767,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3798,"endOffset":4288,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4337,"endOffset":4845,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4887,"endOffset":5275,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5308,"endOffset":5735,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5791,"endOffset":6366,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6426,"endOffset":7043,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7073,"endOffset":7674,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7719,"endOffset":8216,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8254,"endOffset":8804,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8856,"endOffset":9605,"count":1},{"startOffset":9560,"endOffset":9577,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9726,"endOffset":10371,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10403,"endOffset":10909,"count":1},{"startOffset":10864,"endOffset":10881,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10951,"endOffset":11506,"count":1},{"startOffset":11461,"endOffset":11478,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11548,"endOffset":12099,"count":1},{"startOffset":12018,"endOffset":12026,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12132,"endOffset":12584,"count":1},{"startOffset":12503,"endOffset":12511,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2566","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unknown_types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":71933,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1160,"endOffset":71889,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1190,"endOffset":1481,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1395,"endOffset":1418,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1540,"endOffset":1827,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1741,"endOffset":1764,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1870,"endOffset":2146,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2059,"endOffset":2082,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2189,"endOffset":2459,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2372,"endOffset":2395,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2511,"endOffset":2879,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2792,"endOffset":2815,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2914,"endOffset":5061,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4975,"endOffset":4998,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5100,"endOffset":5589,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5503,"endOffset":5526,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5634,"endOffset":6312,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6226,"endOffset":6249,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6373,"endOffset":6904,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6739,"endOffset":6762,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6940,"endOffset":7517,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7431,"endOffset":7454,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7553,"endOffset":8130,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8044,"endOffset":8067,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8171,"endOffset":8959,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8873,"endOffset":8896,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8984,"endOffset":9732,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9646,"endOffset":9669,"count":12}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9770,"endOffset":10444,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10358,"endOffset":10381,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10469,"endOffset":11487,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11401,"endOffset":11424,"count":10}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11537,"endOffset":12346,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12260,"endOffset":12283,"count":16}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12416,"endOffset":12767,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12681,"endOffset":12704,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12813,"endOffset":13416,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13330,"endOffset":13353,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13463,"endOffset":13860,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13774,"endOffset":13797,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13903,"endOffset":14365,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14279,"endOffset":14302,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14385,"endOffset":15038,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14952,"endOffset":14975,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15076,"endOffset":15730,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15644,"endOffset":15667,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15759,"endOffset":16435,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16349,"endOffset":16372,"count":9}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16488,"endOffset":17074,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16988,"endOffset":17011,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17117,"endOffset":17828,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17742,"endOffset":17765,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17865,"endOffset":18383,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18297,"endOffset":18320,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18430,"endOffset":18999,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18913,"endOffset":18936,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19056,"endOffset":19591,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19505,"endOffset":19528,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19644,"endOffset":20134,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20048,"endOffset":20071,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20197,"endOffset":21094,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21008,"endOffset":21031,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21117,"endOffset":22485,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22399,"endOffset":22422,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22529,"endOffset":23725,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23639,"endOffset":23662,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23766,"endOffset":25920,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25834,"endOffset":25857,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25950,"endOffset":26684,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26598,"endOffset":26621,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26726,"endOffset":28087,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28001,"endOffset":28024,"count":29}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28116,"endOffset":28801,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28715,"endOffset":28738,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28840,"endOffset":29200,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29114,"endOffset":29137,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29243,"endOffset":29859,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29773,"endOffset":29796,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29904,"endOffset":30301,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30215,"endOffset":30238,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30350,"endOffset":30844,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30758,"endOffset":30781,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30881,"endOffset":31308,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31222,"endOffset":31245,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31332,"endOffset":31907,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31821,"endOffset":31844,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31952,"endOffset":32314,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32228,"endOffset":32251,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32369,"endOffset":32944,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32858,"endOffset":32881,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33007,"endOffset":33371,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33284,"endOffset":33307,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33429,"endOffset":33906,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33819,"endOffset":33842,"count":13}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33944,"endOffset":34424,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34337,"endOffset":34360,"count":11}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34464,"endOffset":35011,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34924,"endOffset":34947,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35039,"endOffset":35990,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35903,"endOffset":35926,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36033,"endOffset":36552,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36465,"endOffset":36488,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36592,"endOffset":36882,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36795,"endOffset":36818,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36905,"endOffset":37270,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37183,"endOffset":37206,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37317,"endOffset":37790,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37703,"endOffset":37726,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37846,"endOffset":38286,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38199,"endOffset":38222,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38331,"endOffset":38743,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38656,"endOffset":38679,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38779,"endOffset":39062,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38975,"endOffset":38998,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39104,"endOffset":39618,"count":1},{"startOffset":39573,"endOffset":39590,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39468,"endOffset":39491,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39687,"endOffset":40039,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39952,"endOffset":39975,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40068,"endOffset":40742,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40655,"endOffset":40678,"count":11}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40776,"endOffset":41419,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41332,"endOffset":41355,"count":20}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41479,"endOffset":41928,"count":1},{"startOffset":41882,"endOffset":41899,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41777,"endOffset":41800,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41957,"endOffset":43083,"count":1},{"startOffset":43037,"endOffset":43054,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":42932,"endOffset":42955,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43125,"endOffset":43511,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43424,"endOffset":43447,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43567,"endOffset":44015,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43928,"endOffset":43951,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44072,"endOffset":44509,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44422,"endOffset":44445,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44552,"endOffset":44912,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44825,"endOffset":44848,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44963,"endOffset":45516,"count":1},{"startOffset":45470,"endOffset":45487,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45365,"endOffset":45388,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45587,"endOffset":46069,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":46138,"endOffset":46725,"count":1},{"startOffset":46679,"endOffset":46696,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46574,"endOffset":46597,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46759,"endOffset":47337,"count":1},{"startOffset":47291,"endOffset":47308,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47186,"endOffset":47209,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47399,"endOffset":48113,"count":1},{"startOffset":48067,"endOffset":48084,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47962,"endOffset":47985,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48169,"endOffset":48854,"count":1},{"startOffset":48808,"endOffset":48825,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48703,"endOffset":48726,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48887,"endOffset":49918,"count":1},{"startOffset":49873,"endOffset":49890,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49768,"endOffset":49791,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":49965,"endOffset":50487,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50325,"endOffset":50348,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50513,"endOffset":51006,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":50844,"endOffset":50867,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51058,"endOffset":51642,"count":1},{"startOffset":51572,"endOffset":51580,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51421,"endOffset":51444,"count":9}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":51693,"endOffset":52276,"count":1},{"startOffset":52206,"endOffset":52214,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52055,"endOffset":52078,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52322,"endOffset":52745,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52659,"endOffset":52682,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":52777,"endOffset":53252,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53166,"endOffset":53189,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53288,"endOffset":53795,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53709,"endOffset":53732,"count":12}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":53831,"endOffset":54260,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":54174,"endOffset":54197,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":54283,"endOffset":54806,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":54720,"endOffset":54743,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":54859,"endOffset":55337,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55251,"endOffset":55274,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55391,"endOffset":55948,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":55862,"endOffset":55885,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56014,"endOffset":56630,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56544,"endOffset":56567,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":56670,"endOffset":60098,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60012,"endOffset":60035,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60134,"endOffset":60698,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60612,"endOffset":60635,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":60735,"endOffset":61218,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61132,"endOffset":61155,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61267,"endOffset":61809,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61723,"endOffset":61746,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":61878,"endOffset":62414,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62328,"endOffset":62351,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":62444,"endOffset":63158,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63072,"endOffset":63095,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63210,"endOffset":63714,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63628,"endOffset":63651,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":63752,"endOffset":64165,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64079,"endOffset":64102,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64196,"endOffset":64736,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64650,"endOffset":64673,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":64828,"endOffset":65329,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65166,"endOffset":65189,"count":5}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65386,"endOffset":65881,"count":1},{"startOffset":65789,"endOffset":65797,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65638,"endOffset":65661,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":65938,"endOffset":66519,"count":1},{"startOffset":66427,"endOffset":66435,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66276,"endOffset":66299,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66546,"endOffset":66860,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66774,"endOffset":66797,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":66887,"endOffset":67201,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67115,"endOffset":67138,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67246,"endOffset":67693,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67607,"endOffset":67630,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":67734,"endOffset":68172,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68086,"endOffset":68109,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68217,"endOffset":68671,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68585,"endOffset":68608,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68696,"endOffset":68998,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":68912,"endOffset":68935,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69027,"endOffset":69348,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69262,"endOffset":69285,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69383,"endOffset":69723,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69637,"endOffset":69660,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69759,"endOffset":70068,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":69982,"endOffset":70005,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70119,"endOffset":70573,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70487,"endOffset":70510,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70621,"endOffset":71036,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":70950,"endOffset":70973,"count":8}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71097,"endOffset":71450,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71364,"endOffset":71387,"count":4}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71491,"endOffset":71885,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":71799,"endOffset":71822,"count":5}],"isBlockCoverage":true}]},{"scriptId":"2567","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unnecessary_chaining.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1167,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":785,"endOffset":911,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":951,"endOffset":1116,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":981,"endOffset":1112,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2568","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unnecessary_pragma.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4768,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":259,"endOffset":596,"count":7},{"startOffset":384,"endOffset":403,"count":0},{"startOffset":528,"endOffset":533,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2229,"endOffset":4719,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2298,"endOffset":2634,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2698,"endOffset":3063,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3088,"endOffset":3405,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3429,"endOffset":3705,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3732,"endOffset":4030,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4054,"endOffset":4352,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4381,"endOffset":4715,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2569","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unnecessary_return.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2803,"count":1}],"isBlockCoverage":true},{"functionName":"findIssues","ranges":[{"startOffset":227,"endOffset":555,"count":7},{"startOffset":455,"endOffset":494,"count":2}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":556,"endOffset":679,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":717,"endOffset":2754,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":748,"endOffset":917,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":940,"endOffset":1115,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1153,"endOffset":1430,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1482,"endOffset":1773,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1800,"endOffset":1953,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1978,"endOffset":2287,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2308,"endOffset":2506,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2537,"endOffset":2750,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2570","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unreachable_code.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1425,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2571","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unsecure_fae.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1331,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":285,"endOffset":569,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":601,"endOffset":1288,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":629,"endOffset":780,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":803,"endOffset":954,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":973,"endOffset":1284,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2572","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_ddic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":20167,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":312,"endOffset":577,"count":13}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2032,"endOffset":20125,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2059,"endOffset":2350,"count":1},{"startOffset":2305,"endOffset":2322,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2375,"endOffset":3101,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3124,"endOffset":4684,"count":1},{"startOffset":4639,"endOffset":4656,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4709,"endOffset":5487,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5518,"endOffset":7044,"count":1},{"startOffset":6999,"endOffset":7016,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7077,"endOffset":8043,"count":1},{"startOffset":7998,"endOffset":8015,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8095,"endOffset":9217,"count":1},{"startOffset":9172,"endOffset":9189,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9270,"endOffset":10401,"count":1},{"startOffset":10356,"endOffset":10373,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10440,"endOffset":12122,"count":1},{"startOffset":12077,"endOffset":12094,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12162,"endOffset":12639,"count":1},{"startOffset":12594,"endOffset":12611,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12679,"endOffset":13118,"count":1},{"startOffset":13073,"endOffset":13090,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13182,"endOffset":17174,"count":1},{"startOffset":17129,"endOffset":17146,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17205,"endOffset":20121,"count":1},{"startOffset":20076,"endOffset":20093,"count":0}],"isBlockCoverage":true}]},{"scriptId":"2573","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_macros.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3308,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":301,"endOffset":475,"count":4}],"isBlockCoverage":true},{"functionName":"runSingle","ranges":[{"startOffset":476,"endOffset":765,"count":4}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":766,"endOffset":1056,"count":3},{"startOffset":945,"endOffset":1035,"count":7}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1102,"endOffset":3264,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1126,"endOffset":1283,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1327,"endOffset":1522,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1558,"endOffset":1762,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1796,"endOffset":1955,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1995,"endOffset":2351,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2381,"endOffset":2744,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2785,"endOffset":3260,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2574","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_methods.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6923,"count":1}],"isBlockCoverage":true},{"functionName":"runSingle","ranges":[{"startOffset":265,"endOffset":514,"count":14}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":515,"endOffset":806,"count":1},{"startOffset":694,"endOffset":785,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":853,"endOffset":6878,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":877,"endOffset":1034,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1053,"endOffset":1208,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1268,"endOffset":1562,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1612,"endOffset":1905,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1935,"endOffset":2241,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2283,"endOffset":2589,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2635,"endOffset":2937,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2974,"endOffset":3500,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3540,"endOffset":4226,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4264,"endOffset":4566,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4615,"endOffset":5105,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5134,"endOffset":5695,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5718,"endOffset":6078,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6108,"endOffset":6471,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6511,"endOffset":6874,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2575","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_types.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10978,"count":1}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":265,"endOffset":466,"count":2}],"isBlockCoverage":true},{"functionName":"runSingle","ranges":[{"startOffset":467,"endOffset":714,"count":22}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":759,"endOffset":10935,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":783,"endOffset":940,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":959,"endOffset":1117,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1136,"endOffset":1291,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1310,"endOffset":1481,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1504,"endOffset":1684,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1714,"endOffset":1897,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1921,"endOffset":2128,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2147,"endOffset":2346,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2387,"endOffset":2620,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2663,"endOffset":2871,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2900,"endOffset":3544,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3589,"endOffset":3956,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3996,"endOffset":4389,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4429,"endOffset":4822,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4863,"endOffset":5221,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5246,"endOffset":6241,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6291,"endOffset":6612,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6640,"endOffset":6948,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6983,"endOffset":7287,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7315,"endOffset":7650,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7695,"endOffset":7956,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7995,"endOffset":8217,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8269,"endOffset":8600,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8659,"endOffset":10931,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2576","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_variables.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":48420,"count":1}],"isBlockCoverage":true},{"functionName":"testFix","ranges":[{"startOffset":303,"endOffset":425,"count":3}],"isBlockCoverage":true},{"functionName":"runMulti","ranges":[{"startOffset":426,"endOffset":775,"count":4},{"startOffset":710,"endOffset":754,"count":8}],"isBlockCoverage":true},{"functionName":"runSingle","ranges":[{"startOffset":776,"endOffset":1114,"count":132},{"startOffset":1014,"endOffset":1053,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1163,"endOffset":48373,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1187,"endOffset":1344,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1363,"endOffset":1521,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1540,"endOffset":1695,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1714,"endOffset":1868,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1888,"endOffset":2148,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2190,"endOffset":2353,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2403,"endOffset":2570,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2589,"endOffset":2755,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2789,"endOffset":3125,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3156,"endOffset":3603,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3664,"endOffset":3880,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3915,"endOffset":3968,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4006,"endOffset":4066,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4109,"endOffset":4420,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4469,"endOffset":4801,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4841,"endOffset":5169,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5214,"endOffset":5418,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5445,"endOffset":5654,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5699,"endOffset":5924,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5954,"endOffset":6199,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6239,"endOffset":6506,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6531,"endOffset":6730,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6750,"endOffset":7044,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7073,"endOffset":7288,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7328,"endOffset":7563,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7603,"endOffset":7838,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7878,"endOffset":8127,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8175,"endOffset":9127,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9169,"endOffset":9819,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9862,"endOffset":9953,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9978,"endOffset":10208,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10227,"endOffset":10457,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10498,"endOffset":10751,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10772,"endOffset":11119,"count":1},{"startOffset":11074,"endOffset":11091,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11139,"endOffset":11436,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11461,"endOffset":11717,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11736,"endOffset":11938,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11968,"endOffset":12199,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12241,"endOffset":12608,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12626,"endOffset":12827,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":12870,"endOffset":13074,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13099,"endOffset":13319,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13342,"endOffset":13599,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13634,"endOffset":13849,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13881,"endOffset":14214,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14239,"endOffset":14475,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14492,"endOffset":14779,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":14799,"endOffset":14981,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15008,"endOffset":15199,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15226,"endOffset":15477,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15504,"endOffset":15716,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":15757,"endOffset":16027,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16084,"endOffset":16529,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16566,"endOffset":16881,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":16903,"endOffset":17104,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17128,"endOffset":17503,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17537,"endOffset":17904,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":17943,"endOffset":18190,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18219,"endOffset":18600,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18633,"endOffset":18903,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":18941,"endOffset":19170,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19197,"endOffset":19439,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19467,"endOffset":19714,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19736,"endOffset":19942,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":19973,"endOffset":20322,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20340,"endOffset":20732,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20752,"endOffset":20966,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":20986,"endOffset":21182,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21212,"endOffset":21551,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21589,"endOffset":21833,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21862,"endOffset":22948,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":22975,"endOffset":23183,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23209,"endOffset":23416,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23446,"endOffset":23900,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":23930,"endOffset":24135,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24165,"endOffset":24341,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24374,"endOffset":24603,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24636,"endOffset":24834,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":24869,"endOffset":25208,"count":1},{"startOffset":25163,"endOffset":25180,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25228,"endOffset":25732,"count":1},{"startOffset":25687,"endOffset":25704,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":25757,"endOffset":26084,"count":1},{"startOffset":26039,"endOffset":26056,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26114,"endOffset":26421,"count":1},{"startOffset":26376,"endOffset":26393,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26452,"endOffset":26898,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":26922,"endOffset":27208,"count":1},{"startOffset":27163,"endOffset":27180,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27227,"endOffset":27514,"count":1},{"startOffset":27469,"endOffset":27486,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27535,"endOffset":27827,"count":1},{"startOffset":27782,"endOffset":27799,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":27856,"endOffset":28429,"count":1},{"startOffset":28384,"endOffset":28401,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28457,"endOffset":28806,"count":1},{"startOffset":28761,"endOffset":28778,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":28826,"endOffset":29345,"count":1},{"startOffset":29300,"endOffset":29317,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29394,"endOffset":29666,"count":1},{"startOffset":29621,"endOffset":29638,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":29699,"endOffset":30088,"count":1},{"startOffset":30043,"endOffset":30060,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30124,"endOffset":30515,"count":1},{"startOffset":30470,"endOffset":30487,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30542,"endOffset":30820,"count":1},{"startOffset":30775,"endOffset":30792,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":30849,"endOffset":31186,"count":1},{"startOffset":31141,"endOffset":31158,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31220,"endOffset":31630,"count":1},{"startOffset":31585,"endOffset":31602,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":31658,"endOffset":32062,"count":1},{"startOffset":32017,"endOffset":32034,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32099,"endOffset":32823,"count":1},{"startOffset":32778,"endOffset":32795,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":32862,"endOffset":33150,"count":1},{"startOffset":33095,"endOffset":33103,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33192,"endOffset":33482,"count":1},{"startOffset":33427,"endOffset":33435,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33524,"endOffset":33801,"count":1},{"startOffset":33746,"endOffset":33754,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":33842,"endOffset":34167,"count":1},{"startOffset":34122,"endOffset":34139,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34220,"endOffset":34598,"count":1},{"startOffset":34553,"endOffset":34570,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":34623,"endOffset":35002,"count":1},{"startOffset":34957,"endOffset":34974,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35022,"endOffset":35359,"count":1},{"startOffset":35314,"endOffset":35331,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35381,"endOffset":35826,"count":1},{"startOffset":35781,"endOffset":35798,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":35851,"endOffset":36370,"count":1},{"startOffset":36325,"endOffset":36342,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36414,"endOffset":36794,"count":1},{"startOffset":36730,"endOffset":36738,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":36823,"endOffset":37301,"count":1},{"startOffset":37256,"endOffset":37273,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37329,"endOffset":37793,"count":1},{"startOffset":37748,"endOffset":37765,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":37829,"endOffset":38168,"count":1},{"startOffset":38123,"endOffset":38140,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38207,"endOffset":38721,"count":1},{"startOffset":38676,"endOffset":38693,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":38763,"endOffset":39285,"count":1},{"startOffset":39240,"endOffset":39257,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39326,"endOffset":39780,"count":1},{"startOffset":39735,"endOffset":39752,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":39812,"endOffset":40128,"count":1},{"startOffset":40083,"endOffset":40100,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40148,"endOffset":40511,"count":1},{"startOffset":40466,"endOffset":40483,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40533,"endOffset":40830,"count":1},{"startOffset":40785,"endOffset":40802,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":40876,"endOffset":41079,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41107,"endOffset":41335,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41378,"endOffset":41747,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":41775,"endOffset":42078,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":42105,"endOffset":42433,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":42470,"endOffset":42824,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":42855,"endOffset":43103,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43126,"endOffset":43343,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43365,"endOffset":43723,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":43761,"endOffset":44030,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44054,"endOffset":44313,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44348,"endOffset":44617,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44648,"endOffset":44847,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":44890,"endOffset":45136,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45179,"endOffset":45425,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45467,"endOffset":45834,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":45870,"endOffset":46081,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46110,"endOffset":46602,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":46628,"endOffset":47091,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47116,"endOffset":47503,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47528,"endOffset":47786,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":47819,"endOffset":48004,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":48025,"endOffset":48369,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2577","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/use_bool_expression.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2022,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2578","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/use_class_based_exceptions.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":600,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2579","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/use_line_exists.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2239,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2580","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/use_new.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1607,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2581","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/when_others_last.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":587,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2582","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/whitespace_end.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":499,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2583","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/xml_consistency.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7908,"count":1}],"isBlockCoverage":true},{"functionName":"run","ranges":[{"startOffset":265,"endOffset":426,"count":11}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":944,"endOffset":1217,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":988,"endOffset":1213,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1260,"endOffset":2224,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1929,"endOffset":2220,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2284,"endOffset":3246,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2951,"endOffset":3242,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3282,"endOffset":4297,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4002,"endOffset":4293,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4362,"endOffset":5746,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4868,"endOffset":5263,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5332,"endOffset":5742,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5808,"endOffset":6670,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6301,"endOffset":6666,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6701,"endOffset":7862,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6732,"endOffset":6968,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7000,"endOffset":7233,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7277,"endOffset":7580,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7610,"endOffset":7858,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2584","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/serialization.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":716,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":314,"endOffset":672,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2585","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/severity.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2958,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":210,"endOffset":2919,"count":1}],"isBlockCoverage":true},{"functionName":"getConfig","ranges":[{"startOffset":222,"endOffset":826,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":893,"endOffset":1390,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1466,"endOffset":1901,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1928,"endOffset":2915,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2586","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/skip_logic.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6606,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":332,"endOffset":6565,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":376,"endOffset":797,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":840,"endOffset":1811,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1852,"endOffset":3329,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3377,"endOffset":4031,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4096,"endOffset":4859,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":4902,"endOffset":5952,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":6018,"endOffset":6561,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2587","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/utils/cyclomatic_complexity_stats.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1504,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":355,"endOffset":1446,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":386,"endOffset":744,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":772,"endOffset":1442,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2588","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/utils/method_length_stats.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1351,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":331,"endOffset":1301,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":762,"endOffset":1297,"count":6}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":796,"endOffset":1289,"count":6},{"startOffset":1185,"endOffset":1279,"count":5}],"isBlockCoverage":true}]},{"scriptId":"2589","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/utils/name_validator.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2354,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":204,"endOffset":2309,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":293,"endOffset":501,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":586,"endOffset":798,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":876,"endOffset":1083,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1176,"endOffset":1386,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1449,"endOffset":1711,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":1771,"endOffset":2020,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2087,"endOffset":2305,"count":1}],"isBlockCoverage":true}]},{"scriptId":"2590","url":"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/version.js","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":704,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":218,"endOffset":666,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":240,"endOffset":365,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":384,"endOffset":510,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":533,"endOffset":662,"count":1}],"isBlockCoverage":true}]}],"timestamp":303.697558,"source-map-cache":{"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/index.js":{"lineLengths":[25,13,0,46,13,3,40,19,23,28,3,3,45,19,23,32,3,3,45,19,23,27,3,3,54,19,23,36,3,3,45,19,23,27,3,3,52,19,23,34,3,3,49,19,23,35,3,3,43,19,23,24,3,3,44,19,23,26,3,3,48,19,23,30,3,3,46,19,23,29,3,3,46,19,23,29,3,3,48,19,23,31,3,3,46,19,23,29,3,3,41,19,23,24,3,3,48,19,23,33,3,3,51,19,23,35,3,3,55,19,23,39,3,3,47,19,23,31,3,3,47,19,23,31,3,3,55,19,23,36,3,3,55,19,23,36,3,3,0,23,3,25,54,23,1,0,3,25,40,23,1,0,3,25,30,23,1,0,3,25,30,23,1,0,3,25,38,23,1,0,3,25,28,23,1,0,3,25,30,23,1,0,3,25,32,23,1,0,3,25,33,23,1,0,3,25,33,23,1,0,3,25,33,23,1,0,3,25,37,23,1,0,3,25,35,23,1,0,3,25,31,23,1,0,3,25,31,23,1,0,123,0,23,3176,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AAEA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AAEA;AAAA;AAAA;AAAA;AAAA;;AAEA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AAEA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["/* See LICENSE file for terms of use */\n\n/*\n * Text diff implementation.\n *\n * This library supports the following APIs:\n * Diff.diffChars: Character by character diff\n * Diff.diffWords: Word (as defined by \\b regex) diff which ignores whitespace\n * Diff.diffLines: Line based diff\n *\n * Diff.diffCss: Diff targeted at CSS content\n *\n * These methods are based on the implementation proposed in\n * \"An O(ND) Difference Algorithm and its Variations\" (Myers, 1986).\n * http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927\n */\nimport Diff from './diff/base';\nimport {diffChars} from './diff/character';\nimport {diffWords, diffWordsWithSpace} from './diff/word';\nimport {diffLines, diffTrimmedLines} from './diff/line';\nimport {diffSentences} from './diff/sentence';\n\nimport {diffCss} from './diff/css';\nimport {diffJson, canonicalize} from './diff/json';\n\nimport {diffArrays} from './diff/array';\n\nimport {applyPatch, applyPatches} from './patch/apply';\nimport {parsePatch} from './patch/parse';\nimport {merge} from './patch/merge';\nimport {reversePatch} from './patch/reverse';\nimport {structuredPatch, createTwoFilesPatch, createPatch, formatPatch} from './patch/create';\n\nimport {convertChangesToDMP} from './convert/dmp';\nimport {convertChangesToXML} from './convert/xml';\n\nexport {\n Diff,\n\n diffChars,\n diffWords,\n diffWordsWithSpace,\n diffLines,\n diffTrimmedLines,\n diffSentences,\n\n diffCss,\n diffJson,\n\n diffArrays,\n\n structuredPatch,\n createTwoFilesPatch,\n createPatch,\n formatPatch,\n applyPatch,\n applyPatches,\n parsePatch,\n merge,\n reversePatch,\n convertChangesToDMP,\n convertChangesToXML,\n canonicalize\n};\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/base.js":{"lineLengths":[25,13,0,46,13,3,26,0,23,18,0,18,27,0,25,45,29,25,0,7,27,85,36,0,40,25,19,5,0,27,20,0,26,21,32,37,14,20,14,21,7,63,0,0,42,42,59,59,34,34,23,40,0,32,69,5,0,26,29,23,27,91,60,21,17,30,76,0,74,0,67,48,20,36,31,10,80,77,79,63,77,50,63,76,22,79,78,74,79,78,71,77,59,0,0,42,127,0,31,157,22,33,14,31,9,52,49,0,25,72,49,9,0,27,0,22,58,60,75,9,0,69,0,36,50,45,19,81,80,57,77,64,0,0,77,65,16,68,9,0,82,0,68,69,109,16,44,0,46,86,11,0,37,86,11,9,7,0,19,89,86,86,46,0,0,19,24,32,79,30,11,0,34,19,11,14,11,12,80,35,0,18,21,9,7,5,4,0,27,0,25,66,34,0,67,14,40,24,32,23,27,51,9,8,12,14,40,24,19,23,27,33,9,8,5,4,0,27,0,25,87,34,34,33,39,24,0,117,15,15,20,5,0,22,32,27,49,8,5,0,29,18,4,0,27,0,25,40,34,50,12,101,5,4,0,27,0,25,44,17,0,44,21,27,7,5,0,15,4,0,27,0,25,40,17,4,0,27,0,25,38,27,4,0,27,0,25,30,26,3,2,0,82,74,30,22,20,0,25,35,52,43,34,3,0,23,23,39,17,17,0,55,45,0,29,48,70,47,47,67,11,43,14,87,7,0,47,0,29,34,7,12,85,113,89,63,0,63,47,64,39,7,5,78,83,44,0,0,52,0,162,63,21,3,0,20,1,27108,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/diff/base.js"],"names":["Diff","prototype","diff","oldString","newString","options","callback","self","done","value","setTimeout","undefined","castInput","removeEmpty","tokenize","newLen","length","oldLen","editLength","maxEditLength","Math","min","maxExecutionTime","timeout","Infinity","abortAfterTimestamp","Date","now","bestPath","oldPos","lastComponent","newPos","extractCommon","join","count","minDiagonalToConsider","maxDiagonalToConsider","execEditLength","diagonalPath","max","basePath","removePath","addPath","canAdd","addPathNewPos","canRemove","addToPath","buildValues","useLongestToken","exec","ret","path","added","removed","oldPosInc","last","previousComponent","commonCount","equals","left","right","comparator","ignoreCase","toLowerCase","array","i","push","split","chars","components","nextComponent","reverse","componentPos","componentLen","component","slice","map","oldValue","tmp","finalComponent","pop"],"mappings":"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","sourcesContent":["export default function Diff() {}\n\nDiff.prototype = {\n diff(oldString, newString, options = {}) {\n let callback = options.callback;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n this.options = options;\n\n let self = this;\n\n function done(value) {\n if (callback) {\n setTimeout(function() { callback(undefined, value); }, 0);\n return true;\n } else {\n return value;\n }\n }\n\n // Allow subclasses to massage the input prior to running\n oldString = this.castInput(oldString);\n newString = this.castInput(newString);\n\n oldString = this.removeEmpty(this.tokenize(oldString));\n newString = this.removeEmpty(this.tokenize(newString));\n\n let newLen = newString.length, oldLen = oldString.length;\n let editLength = 1;\n let maxEditLength = newLen + oldLen;\n if(options.maxEditLength) {\n maxEditLength = Math.min(maxEditLength, options.maxEditLength);\n }\n const maxExecutionTime = options.timeout ?? Infinity;\n const abortAfterTimestamp = Date.now() + maxExecutionTime;\n\n let bestPath = [{ oldPos: -1, lastComponent: undefined }];\n\n // Seed editLength = 0, i.e. the content starts with the same values\n let newPos = this.extractCommon(bestPath[0], newString, oldString, 0);\n if (bestPath[0].oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // Identity per the equality and tokenizer\n return done([{value: this.join(newString), count: newString.length}]);\n }\n\n // Once we hit the right edge of the edit graph on some diagonal k, we can\n // definitely reach the end of the edit graph in no more than k edits, so\n // there's no point in considering any moves to diagonal k+1 any more (from\n // which we're guaranteed to need at least k+1 more edits).\n // Similarly, once we've reached the bottom of the edit graph, there's no\n // point considering moves to lower diagonals.\n // We record this fact by setting minDiagonalToConsider and\n // maxDiagonalToConsider to some finite value once we've hit the edge of\n // the edit graph.\n // This optimization is not faithful to the original algorithm presented in\n // Myers's paper, which instead pointlessly extends D-paths off the end of\n // the edit graph - see page 7 of Myers's paper which notes this point\n // explicitly and illustrates it with a diagram. This has major performance\n // implications for some common scenarios. For instance, to compute a diff\n // where the new text simply appends d characters on the end of the\n // original text of length n, the true Myers algorithm will take O(n+d^2)\n // time while this optimization needs only O(n+d) time.\n let minDiagonalToConsider = -Infinity, maxDiagonalToConsider = Infinity;\n\n // Main worker method. checks all permutations of a given edit length for acceptance.\n function execEditLength() {\n for (\n let diagonalPath = Math.max(minDiagonalToConsider, -editLength);\n diagonalPath <= Math.min(maxDiagonalToConsider, editLength);\n diagonalPath += 2\n ) {\n let basePath;\n let removePath = bestPath[diagonalPath - 1],\n addPath = bestPath[diagonalPath + 1];\n if (removePath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n let canAdd = false;\n if (addPath) {\n // what newPos will be after we do an insertion:\n const addPathNewPos = addPath.oldPos - diagonalPath;\n canAdd = addPath && 0 <= addPathNewPos && addPathNewPos < newLen;\n }\n\n let canRemove = removePath && removePath.oldPos + 1 < oldLen;\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n }\n\n // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the old string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n // TODO: Remove the `+ 1` here to make behavior match Myers algorithm\n // and prefer to order removals before insertions.\n if (!canRemove || (canAdd && removePath.oldPos + 1 < addPath.oldPos)) {\n basePath = self.addToPath(addPath, true, undefined, 0);\n } else {\n basePath = self.addToPath(removePath, undefined, true, 1);\n }\n\n newPos = self.extractCommon(basePath, newString, oldString, diagonalPath);\n\n if (basePath.oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // If we have hit the end of both strings, then we are done\n return done(buildValues(self, basePath.lastComponent, newString, oldString, self.useLongestToken));\n } else {\n bestPath[diagonalPath] = basePath;\n if (basePath.oldPos + 1 >= oldLen) {\n maxDiagonalToConsider = Math.min(maxDiagonalToConsider, diagonalPath - 1);\n }\n if (newPos + 1 >= newLen) {\n minDiagonalToConsider = Math.max(minDiagonalToConsider, diagonalPath + 1);\n }\n }\n }\n\n editLength++;\n }\n\n // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced, or until the edit length exceeds options.maxEditLength (if given),\n // in which case it will return undefined.\n if (callback) {\n (function exec() {\n setTimeout(function() {\n if (editLength > maxEditLength || Date.now() > abortAfterTimestamp) {\n return callback();\n }\n\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n }());\n } else {\n while (editLength <= maxEditLength && Date.now() <= abortAfterTimestamp) {\n let ret = execEditLength();\n if (ret) {\n return ret;\n }\n }\n }\n },\n\n addToPath(path, added, removed, oldPosInc) {\n let last = path.lastComponent;\n if (last && last.added === added && last.removed === removed) {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: {count: last.count + 1, added: added, removed: removed, previousComponent: last.previousComponent }\n };\n } else {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: {count: 1, added: added, removed: removed, previousComponent: last }\n };\n }\n },\n extractCommon(basePath, newString, oldString, diagonalPath) {\n let newLen = newString.length,\n oldLen = oldString.length,\n oldPos = basePath.oldPos,\n newPos = oldPos - diagonalPath,\n\n commonCount = 0;\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.lastComponent = {count: commonCount, previousComponent: basePath.lastComponent};\n }\n\n basePath.oldPos = oldPos;\n return newPos;\n },\n\n equals(left, right) {\n if (this.options.comparator) {\n return this.options.comparator(left, right);\n } else {\n return left === right\n || (this.options.ignoreCase && left.toLowerCase() === right.toLowerCase());\n }\n },\n removeEmpty(array) {\n let ret = [];\n for (let i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n return ret;\n },\n castInput(value) {\n return value;\n },\n tokenize(value) {\n return value.split('');\n },\n join(chars) {\n return chars.join('');\n }\n};\n\nfunction buildValues(diff, lastComponent, newString, oldString, useLongestToken) {\n // First we convert our linked list of components in reverse order to an\n // array in the right order:\n const components = [];\n let nextComponent;\n while (lastComponent) {\n components.push(lastComponent);\n nextComponent = lastComponent.previousComponent;\n delete lastComponent.previousComponent;\n lastComponent = nextComponent;\n }\n components.reverse();\n\n let componentPos = 0,\n componentLen = components.length,\n newPos = 0,\n oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n let component = components[componentPos];\n if (!component.removed) {\n if (!component.added && useLongestToken) {\n let value = newString.slice(newPos, newPos + component.count);\n value = value.map(function(value, i) {\n let oldValue = oldString[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n\n component.value = diff.join(value);\n } else {\n component.value = diff.join(newString.slice(newPos, newPos + component.count));\n }\n newPos += component.count;\n\n // Common case\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));\n oldPos += component.count;\n\n // Reverse add and remove so removes are output first to match common convention\n // The diffing algorithm is tied to add then remove output and this is the simplest\n // route to get the desired output with minimal overhead.\n if (componentPos && components[componentPos - 1].added) {\n let tmp = components[componentPos - 1];\n components[componentPos - 1] = components[componentPos];\n components[componentPos] = tmp;\n }\n }\n }\n\n // Special case handle for when one terminal is ignored (i.e. whitespace).\n // For this case we merge the terminal into the prior string and drop the change.\n // This is only available for string mode.\n let finalComponent = components[componentLen - 1];\n if (componentLen > 1\n && typeof finalComponent.value === 'string'\n && (finalComponent.added || finalComponent.removed)\n && diff.equals('', finalComponent.value)) {\n components[componentLen - 2].value += finalComponent.value;\n components.pop();\n }\n\n return components;\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/character.js":{"lineLengths":[25,13,0,46,13,3,30,31,0,23,3,25,49,23,1,0,123,0,23,23,25,5,23,1,25,9,23,4,0,25,38,0,23,45,53,1,880,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/diff/character.js"],"names":["characterDiff","Diff","diffChars","oldStr","newStr","options","diff"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;AAEO,IAAMA,aAAa,GAAG;AAAIC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAJ,EAAtB;;;;;;AACA,SAASC,SAAT,CAAmBC,MAAnB,EAA2BC,MAA3B,EAAmCC,OAAnC,EAA4C;AAAE,SAAOL,aAAa,CAACM,IAAd,CAAmBH,MAAnB,EAA2BC,MAA3B,EAAmCC,OAAnC,CAAP;AAAqD","sourcesContent":["import Diff from './base';\n\nexport const characterDiff = new Diff();\nexport function diffChars(oldStr, newStr, options) { return characterDiff.diff(oldStr, newStr, options); }\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/word.js":{"lineLengths":[25,13,0,46,13,3,30,48,26,0,23,3,25,49,23,1,0,3,25,35,23,1,0,123,0,23,65,2,25,32,35,29,30,30,28,38,29,29,33,34,30,35,43,39,88,24,18,25,5,23,1,25,9,23,4,0,25,28,0,23,42,32,30,32,3,0,114,2,0,38,97,184,0,47,103,120,33,30,10,5,3,0,16,2,0,45,11,27,5,25,0,27,9,25,3,27,18,25,13,26,5,48,1,0,54,48,1,5824,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/diff/word.js"],"names":["extendedWordChars","reWhitespace","wordDiff","Diff","equals","left","right","options","ignoreCase","toLowerCase","ignoreWhitespace","test","tokenize","value","tokens","split","i","length","splice","diffWords","oldStr","newStr","generateOptions","diff","diffWordsWithSpace"],"mappings":";;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,iBAAiB,GAAG,+DAA1B;AAEA,IAAMC,YAAY,GAAG,IAArB;AAEO,IAAMC,QAAQ,GAAG;AAAIC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAJ,EAAjB;;;;;;AACPD,QAAQ,CAACE,MAAT,GAAkB,UAASC,IAAT,EAAeC,KAAf,EAAsB;AACtC,MAAI,KAAKC,OAAL,CAAaC,UAAjB,EAA6B;AAC3BH,IAAAA,IAAI,GAAGA,IAAI,CAACI,WAAL,EAAP;AACAH,IAAAA,KAAK,GAAGA,KAAK,CAACG,WAAN,EAAR;AACD;;AACD,SAAOJ,IAAI,KAAKC,KAAT,IAAmB,KAAKC,OAAL,CAAaG,gBAAb,IAAiC,CAACT,YAAY,CAACU,IAAb,CAAkBN,IAAlB,CAAlC,IAA6D,CAACJ,YAAY,CAACU,IAAb,CAAkBL,KAAlB,CAAxF;AACD,CAND;;AAOAJ,QAAQ,CAACU,QAAT,GAAoB,UAASC,KAAT,EAAgB;AAClC;AACA,MAAIC,MAAM,GAAGD,KAAK,CAACE,KAAN,CAAY,iCAAZ,CAAb,CAFkC,CAIlC;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,MAAM,CAACG,MAAP,GAAgB,CAApC,EAAuCD,CAAC,EAAxC,EAA4C;AAC1C;AACA,QAAI,CAACF,MAAM,CAACE,CAAC,GAAG,CAAL,CAAP,IAAkBF,MAAM,CAACE,CAAC,GAAG,CAAL,CAAxB,IACKhB,iBAAiB,CAACW,IAAlB,CAAuBG,MAAM,CAACE,CAAD,CAA7B,CADL,IAEKhB,iBAAiB,CAACW,IAAlB,CAAuBG,MAAM,CAACE,CAAC,GAAG,CAAL,CAA7B,CAFT,EAEgD;AAC9CF,MAAAA,MAAM,CAACE,CAAD,CAAN,IAAaF,MAAM,CAACE,CAAC,GAAG,CAAL,CAAnB;AACAF,MAAAA,MAAM,CAACI,MAAP,CAAcF,CAAC,GAAG,CAAlB,EAAqB,CAArB;AACAA,MAAAA,CAAC;AACF;AACF;;AAED,SAAOF,MAAP;AACD,CAjBD;;AAmBO,SAASK,SAAT,CAAmBC,MAAnB,EAA2BC,MAA3B,EAAmCd,OAAnC,EAA4C;AACjDA,EAAAA,OAAO;AAAG;AAAA;AAAA;;AAAAe;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAA;AAAA,GAAgBf,OAAhB,EAAyB;AAACG,IAAAA,gBAAgB,EAAE;AAAnB,GAAzB,CAAV;AACA,SAAOR,QAAQ,CAACqB,IAAT,CAAcH,MAAd,EAAsBC,MAAtB,EAA8Bd,OAA9B,CAAP;AACD;;AAEM,SAASiB,kBAAT,CAA4BJ,MAA5B,EAAoCC,MAApC,EAA4Cd,OAA5C,EAAqD;AAC1D,SAAOL,QAAQ,CAACqB,IAAT,CAAcH,MAAd,EAAsBC,MAAtB,EAA8Bd,OAA9B,CAAP;AACD","sourcesContent":["import Diff from './base';\nimport {generateOptions} from '../util/params';\n\n// Based on https://en.wikipedia.org/wiki/Latin_script_in_Unicode\n//\n// Ranges and exceptions:\n// Latin-1 Supplement, 0080–00FF\n// - U+00D7 × Multiplication sign\n// - U+00F7 ÷ Division sign\n// Latin Extended-A, 0100–017F\n// Latin Extended-B, 0180–024F\n// IPA Extensions, 0250–02AF\n// Spacing Modifier Letters, 02B0–02FF\n// - U+02C7 ˇ ˇ Caron\n// - U+02D8 ˘ ˘ Breve\n// - U+02D9 ˙ ˙ Dot Above\n// - U+02DA ˚ ˚ Ring Above\n// - U+02DB ˛ ˛ Ogonek\n// - U+02DC ˜ ˜ Small Tilde\n// - U+02DD ˝ ˝ Double Acute Accent\n// Latin Extended Additional, 1E00–1EFF\nconst extendedWordChars = /^[a-zA-Z\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}]+$/u;\n\nconst reWhitespace = /\\S/;\n\nexport const wordDiff = new Diff();\nwordDiff.equals = function(left, right) {\n if (this.options.ignoreCase) {\n left = left.toLowerCase();\n right = right.toLowerCase();\n }\n return left === right || (this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right));\n};\nwordDiff.tokenize = function(value) {\n // All whitespace symbols except newline group into one token, each newline - in separate token\n let tokens = value.split(/([^\\S\\r\\n]+|[()[\\]{}'\"\\r\\n]|\\b)/);\n\n // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set.\n for (let i = 0; i < tokens.length - 1; i++) {\n // If we have an empty string in the next field and we have only word chars before and after, merge\n if (!tokens[i + 1] && tokens[i + 2]\n && extendedWordChars.test(tokens[i])\n && extendedWordChars.test(tokens[i + 2])) {\n tokens[i] += tokens[i + 2];\n tokens.splice(i + 1, 2);\n i--;\n }\n }\n\n return tokens;\n};\n\nexport function diffWords(oldStr, newStr, options) {\n options = generateOptions(options, {ignoreWhitespace: true});\n return wordDiff.diff(oldStr, newStr, options);\n}\n\nexport function diffWordsWithSpace(oldStr, newStr, options) {\n return wordDiff.diff(oldStr, newStr, options);\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/util/params.js":{"lineLengths":[25,13,0,46,13,3,42,0,23,45,38,32,23,31,32,41,39,7,5,3,0,18,1,1248,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/util/params.js"],"names":["generateOptions","options","defaults","callback","name","hasOwnProperty"],"mappings":";;;;;;;;;AAAO,SAASA,eAAT,CAAyBC,OAAzB,EAAkCC,QAAlC,EAA4C;AACjD,MAAI,OAAOD,OAAP,KAAmB,UAAvB,EAAmC;AACjCC,IAAAA,QAAQ,CAACC,QAAT,GAAoBF,OAApB;AACD,GAFD,MAEO,IAAIA,OAAJ,EAAa;AAClB,SAAK,IAAIG,IAAT,IAAiBH,OAAjB,EAA0B;AACxB;AACA,UAAIA,OAAO,CAACI,cAAR,CAAuBD,IAAvB,CAAJ,EAAkC;AAChCF,QAAAA,QAAQ,CAACE,IAAD,CAAR,GAAiBH,OAAO,CAACG,IAAD,CAAxB;AACD;AACF;AACF;;AACD,SAAOF,QAAP;AACD","sourcesContent":["export function generateOptions(options, defaults) {\n if (typeof options === 'function') {\n defaults.callback = options;\n } else if (options) {\n for (let name in options) {\n /* istanbul ignore else */\n if (options.hasOwnProperty(name)) {\n defaults[name] = options[name];\n }\n }\n }\n return defaults;\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/line.js":{"lineLengths":[25,13,0,46,13,3,30,44,26,0,23,3,25,49,23,1,0,3,25,35,23,1,0,123,0,23,18,25,5,23,1,25,9,23,4,0,25,28,0,23,38,37,79,41,3,0,20,129,0,55,27,63,0,0,53,35,0,48,44,12,42,27,7,0,26,5,3,0,18,2,0,46,49,1,0,53,15,27,5,25,0,27,9,25,3,27,18,25,14,26,5,48,1,4160,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/diff/line.js"],"names":["lineDiff","Diff","tokenize","value","options","stripTrailingCr","replace","retLines","linesAndNewlines","split","length","pop","i","line","newlineIsToken","ignoreWhitespace","trim","push","diffLines","oldStr","newStr","callback","diff","diffTrimmedLines","generateOptions"],"mappings":";;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;;;;AAEO,IAAMA,QAAQ,GAAG;AAAIC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAJ,EAAjB;;;;;;AACPD,QAAQ,CAACE,QAAT,GAAoB,UAASC,KAAT,EAAgB;AAClC,MAAG,KAAKC,OAAL,CAAaC,eAAhB,EAAiC;AAC/B;AACAF,IAAAA,KAAK,GAAGA,KAAK,CAACG,OAAN,CAAc,OAAd,EAAuB,IAAvB,CAAR;AACD;;AAED,MAAIC,QAAQ,GAAG,EAAf;AAAA,MACIC,gBAAgB,GAAGL,KAAK,CAACM,KAAN,CAAY,WAAZ,CADvB,CANkC,CASlC;;AACA,MAAI,CAACD,gBAAgB,CAACA,gBAAgB,CAACE,MAAjB,GAA0B,CAA3B,CAArB,EAAoD;AAClDF,IAAAA,gBAAgB,CAACG,GAAjB;AACD,GAZiC,CAclC;;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,gBAAgB,CAACE,MAArC,EAA6CE,CAAC,EAA9C,EAAkD;AAChD,QAAIC,IAAI,GAAGL,gBAAgB,CAACI,CAAD,CAA3B;;AAEA,QAAIA,CAAC,GAAG,CAAJ,IAAS,CAAC,KAAKR,OAAL,CAAaU,cAA3B,EAA2C;AACzCP,MAAAA,QAAQ,CAACA,QAAQ,CAACG,MAAT,GAAkB,CAAnB,CAAR,IAAiCG,IAAjC;AACD,KAFD,MAEO;AACL,UAAI,KAAKT,OAAL,CAAaW,gBAAjB,EAAmC;AACjCF,QAAAA,IAAI,GAAGA,IAAI,CAACG,IAAL,EAAP;AACD;;AACDT,MAAAA,QAAQ,CAACU,IAAT,CAAcJ,IAAd;AACD;AACF;;AAED,SAAON,QAAP;AACD,CA7BD;;AA+BO,SAASW,SAAT,CAAmBC,MAAnB,EAA2BC,MAA3B,EAAmCC,QAAnC,EAA6C;AAAE,SAAOrB,QAAQ,CAACsB,IAAT,CAAcH,MAAd,EAAsBC,MAAtB,EAA8BC,QAA9B,CAAP;AAAiD;;AAChG,SAASE,gBAAT,CAA0BJ,MAA1B,EAAkCC,MAAlC,EAA0CC,QAA1C,EAAoD;AACzD,MAAIjB,OAAO;AAAG;AAAA;AAAA;;AAAAoB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAA;AAAA,GAAgBH,QAAhB,EAA0B;AAACN,IAAAA,gBAAgB,EAAE;AAAnB,GAA1B,CAAd;AACA,SAAOf,QAAQ,CAACsB,IAAT,CAAcH,MAAd,EAAsBC,MAAtB,EAA8BhB,OAA9B,CAAP;AACD","sourcesContent":["import Diff from './base';\nimport {generateOptions} from '../util/params';\n\nexport const lineDiff = new Diff();\nlineDiff.tokenize = function(value) {\n if(this.options.stripTrailingCr) {\n // remove one \\r before \\n to match GNU diff's --strip-trailing-cr behavior\n value = value.replace(/\\r\\n/g, '\\n');\n }\n\n let retLines = [],\n linesAndNewlines = value.split(/(\\n|\\r\\n)/);\n\n // Ignore the final empty token that occurs if the string ends with a new line\n if (!linesAndNewlines[linesAndNewlines.length - 1]) {\n linesAndNewlines.pop();\n }\n\n // Merge the content and line separators into single tokens\n for (let i = 0; i < linesAndNewlines.length; i++) {\n let line = linesAndNewlines[i];\n\n if (i % 2 && !this.options.newlineIsToken) {\n retLines[retLines.length - 1] += line;\n } else {\n if (this.options.ignoreWhitespace) {\n line = line.trim();\n }\n retLines.push(line);\n }\n }\n\n return retLines;\n};\n\nexport function diffLines(oldStr, newStr, callback) { return lineDiff.diff(oldStr, newStr, callback); }\nexport function diffTrimmedLines(oldStr, newStr, callback) {\n let options = generateOptions(callback, {ignoreWhitespace: true});\n return lineDiff.diff(oldStr, newStr, options);\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/sentence.js":{"lineLengths":[25,13,0,46,13,3,38,30,0,23,3,25,49,23,1,0,123,0,23,22,25,5,23,1,25,9,23,4,0,25,36,0,23,42,46,2,0,50,53,1,1196,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/diff/sentence.js"],"names":["sentenceDiff","Diff","tokenize","value","split","diffSentences","oldStr","newStr","callback","diff"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;AAGO,IAAMA,YAAY,GAAG;AAAIC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAJ,EAArB;;;;;;AACPD,YAAY,CAACE,QAAb,GAAwB,UAASC,KAAT,EAAgB;AACtC,SAAOA,KAAK,CAACC,KAAN,CAAY,uBAAZ,CAAP;AACD,CAFD;;AAIO,SAASC,aAAT,CAAuBC,MAAvB,EAA+BC,MAA/B,EAAuCC,QAAvC,EAAiD;AAAE,SAAOR,YAAY,CAACS,IAAb,CAAkBH,MAAlB,EAA0BC,MAA1B,EAAkCC,QAAlC,CAAP;AAAqD","sourcesContent":["import Diff from './base';\n\n\nexport const sentenceDiff = new Diff();\nsentenceDiff.tokenize = function(value) {\n return value.split(/(\\S.+?[.!?])(?=\\s+|$)/);\n};\n\nexport function diffSentences(oldStr, newStr, callback) { return sentenceDiff.diff(oldStr, newStr, callback); }\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/css.js":{"lineLengths":[25,13,0,46,13,3,26,25,0,23,3,25,49,23,1,0,123,0,23,17,25,5,23,1,25,9,23,4,0,25,26,0,23,37,38,2,0,44,48,1,1128,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/diff/css.js"],"names":["cssDiff","Diff","tokenize","value","split","diffCss","oldStr","newStr","callback","diff"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;AAEO,IAAMA,OAAO,GAAG;AAAIC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAJ,EAAhB;;;;;;AACPD,OAAO,CAACE,QAAR,GAAmB,UAASC,KAAT,EAAgB;AACjC,SAAOA,KAAK,CAACC,KAAN,CAAY,eAAZ,CAAP;AACD,CAFD;;AAIO,SAASC,OAAT,CAAiBC,MAAjB,EAAyBC,MAAzB,EAAiCC,QAAjC,EAA2C;AAAE,SAAOR,OAAO,CAACS,IAAR,CAAaH,MAAb,EAAqBC,MAArB,EAA6BC,QAA7B,CAAP;AAAgD","sourcesContent":["import Diff from './base';\n\nexport const cssDiff = new Diff();\ncssDiff.tokenize = function(value) {\n return value.split(/([{}:;,]|\\s+)/);\n};\n\nexport function diffCss(oldStr, newStr, callback) { return cssDiff.diff(oldStr, newStr, callback); }\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/json.js":{"lineLengths":[25,13,0,46,13,3,28,36,26,0,23,3,25,49,23,1,0,3,25,25,23,1,0,123,0,378,0,23,56,18,25,5,23,1,25,9,23,97,105,0,25,28,0,23,32,19,25,5,23,1,25,8,23,10,0,39,27,21,25,15,64,62,76,27,3,12,29,57,6,28,137,2,0,42,10,29,9,27,5,29,13,27,106,4,2,0,44,48,98,95,0,0,68,22,44,0,17,29,3,0,8,0,41,27,33,5,3,0,23,0,63,20,45,44,0,41,89,5,0,16,27,28,3,0,26,23,3,0,6,27,10,25,38,20,26,44,0,24,13,0,23,32,37,30,7,5,0,22,0,48,27,96,5,0,16,27,10,27,3,0,26,1,8576,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/diff/json.js"],"names":["objectPrototypeToString","Object","prototype","toString","jsonDiff","Diff","useLongestToken","tokenize","lineDiff","castInput","value","options","undefinedReplacement","stringifyReplacer","k","v","JSON","stringify","canonicalize","equals","left","right","call","replace","diffJson","oldObj","newObj","diff","obj","stack","replacementStack","replacer","key","i","length","canonicalizedObj","push","Array","pop","toJSON","sortedKeys","hasOwnProperty","sort"],"mappings":";;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;;;;;;AAEA,IAAMA,uBAAuB,GAAGC,MAAM,CAACC,SAAP,CAAiBC,QAAjD;AAGO,IAAMC,QAAQ,GAAG;AAAIC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAJ,EAAjB,C,CACP;AACA;;;;;;AACAD,QAAQ,CAACE,eAAT,GAA2B,IAA3B;AAEAF,QAAQ,CAACG,QAAT;AAAoBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAA;AAAA,CAASD,QAA7B;;AACAH,QAAQ,CAACK,SAAT,GAAqB,UAASC,KAAT,EAAgB;AAAA;AAAA;AAAA;AAC+E,OAAKC,OADpF;AAAA,MAC5BC,oBAD4B,iBAC5BA,oBAD4B;AAAA,4CACNC,iBADM;AAAA,MACNA,iBADM,sCACc,UAACC,CAAD,EAAIC,CAAJ;AAAA;AAAA;AAAA;AAAA;AAAU,aAAOA,CAAP,KAAa,WAAb,GAA2BH,oBAA3B,GAAkDG;AAA5D;AAAA,GADd;AAGnC,SAAO,OAAOL,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoCM,IAAI,CAACC,SAAL,CAAeC,YAAY,CAACR,KAAD,EAAQ,IAAR,EAAc,IAAd,EAAoBG,iBAApB,CAA3B,EAAmEA,iBAAnE,EAAsF,IAAtF,CAA3C;AACD,CAJD;;AAKAT,QAAQ,CAACe,MAAT,GAAkB,UAASC,IAAT,EAAeC,KAAf,EAAsB;AACtC,SAAOhB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAAKH,SAAL,CAAeiB,MAAf,CAAsBG,IAAtB,CAA2BlB,QAA3B,EAAqCgB,IAAI,CAACG,OAAL,CAAa,YAAb,EAA2B,IAA3B,CAArC,EAAuEF,KAAK,CAACE,OAAN,CAAc,YAAd,EAA4B,IAA5B,CAAvE;AAAP;AACD,CAFD;;AAIO,SAASC,QAAT,CAAkBC,MAAlB,EAA0BC,MAA1B,EAAkCf,OAAlC,EAA2C;AAAE,SAAOP,QAAQ,CAACuB,IAAT,CAAcF,MAAd,EAAsBC,MAAtB,EAA8Bf,OAA9B,CAAP;AAAgD,C,CAEpG;AACA;;;AACO,SAASO,YAAT,CAAsBU,GAAtB,EAA2BC,KAA3B,EAAkCC,gBAAlC,EAAoDC,QAApD,EAA8DC,GAA9D,EAAmE;AACxEH,EAAAA,KAAK,GAAGA,KAAK,IAAI,EAAjB;AACAC,EAAAA,gBAAgB,GAAGA,gBAAgB,IAAI,EAAvC;;AAEA,MAAIC,QAAJ,EAAc;AACZH,IAAAA,GAAG,GAAGG,QAAQ,CAACC,GAAD,EAAMJ,GAAN,CAAd;AACD;;AAED,MAAIK,CAAJ;;AAEA,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGJ,KAAK,CAACK,MAAtB,EAA8BD,CAAC,IAAI,CAAnC,EAAsC;AACpC,QAAIJ,KAAK,CAACI,CAAD,CAAL,KAAaL,GAAjB,EAAsB;AACpB,aAAOE,gBAAgB,CAACG,CAAD,CAAvB;AACD;AACF;;AAED,MAAIE,gBAAJ;;AAEA,MAAI,qBAAqBnC,uBAAuB,CAACsB,IAAxB,CAA6BM,GAA7B,CAAzB,EAA4D;AAC1DC,IAAAA,KAAK,CAACO,IAAN,CAAWR,GAAX;AACAO,IAAAA,gBAAgB,GAAG,IAAIE,KAAJ,CAAUT,GAAG,CAACM,MAAd,CAAnB;AACAJ,IAAAA,gBAAgB,CAACM,IAAjB,CAAsBD,gBAAtB;;AACA,SAAKF,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGL,GAAG,CAACM,MAApB,EAA4BD,CAAC,IAAI,CAAjC,EAAoC;AAClCE,MAAAA,gBAAgB,CAACF,CAAD,CAAhB,GAAsBf,YAAY,CAACU,GAAG,CAACK,CAAD,CAAJ,EAASJ,KAAT,EAAgBC,gBAAhB,EAAkCC,QAAlC,EAA4CC,GAA5C,CAAlC;AACD;;AACDH,IAAAA,KAAK,CAACS,GAAN;AACAR,IAAAA,gBAAgB,CAACQ,GAAjB;AACA,WAAOH,gBAAP;AACD;;AAED,MAAIP,GAAG,IAAIA,GAAG,CAACW,MAAf,EAAuB;AACrBX,IAAAA,GAAG,GAAGA,GAAG,CAACW,MAAJ,EAAN;AACD;;AAED;AAAI;AAAA;AAAA;AAAOX,EAAAA,GAAP,MAAe,QAAf,IAA2BA,GAAG,KAAK,IAAvC,EAA6C;AAC3CC,IAAAA,KAAK,CAACO,IAAN,CAAWR,GAAX;AACAO,IAAAA,gBAAgB,GAAG,EAAnB;AACAL,IAAAA,gBAAgB,CAACM,IAAjB,CAAsBD,gBAAtB;;AACA,QAAIK,UAAU,GAAG,EAAjB;AAAA,QACIR,IADJ;;AAEA,SAAKA,IAAL,IAAYJ,GAAZ,EAAiB;AACf;AACA,UAAIA,GAAG,CAACa,cAAJ,CAAmBT,IAAnB,CAAJ,EAA6B;AAC3BQ,QAAAA,UAAU,CAACJ,IAAX,CAAgBJ,IAAhB;AACD;AACF;;AACDQ,IAAAA,UAAU,CAACE,IAAX;;AACA,SAAKT,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGO,UAAU,CAACN,MAA3B,EAAmCD,CAAC,IAAI,CAAxC,EAA2C;AACzCD,MAAAA,IAAG,GAAGQ,UAAU,CAACP,CAAD,CAAhB;AACAE,MAAAA,gBAAgB,CAACH,IAAD,CAAhB,GAAwBd,YAAY,CAACU,GAAG,CAACI,IAAD,CAAJ,EAAWH,KAAX,EAAkBC,gBAAlB,EAAoCC,QAApC,EAA8CC,IAA9C,CAApC;AACD;;AACDH,IAAAA,KAAK,CAACS,GAAN;AACAR,IAAAA,gBAAgB,CAACQ,GAAjB;AACD,GAnBD,MAmBO;AACLH,IAAAA,gBAAgB,GAAGP,GAAnB;AACD;;AACD,SAAOO,gBAAP;AACD","sourcesContent":["import Diff from './base';\nimport {lineDiff} from './line';\n\nconst objectPrototypeToString = Object.prototype.toString;\n\n\nexport const jsonDiff = new Diff();\n// Discriminate between two lines of pretty-printed, serialized JSON where one of them has a\n// dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output:\njsonDiff.useLongestToken = true;\n\njsonDiff.tokenize = lineDiff.tokenize;\njsonDiff.castInput = function(value) {\n const {undefinedReplacement, stringifyReplacer = (k, v) => typeof v === 'undefined' ? undefinedReplacement : v} = this.options;\n\n return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' ');\n};\njsonDiff.equals = function(left, right) {\n return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\\r\\n])/g, '$1'), right.replace(/,([\\r\\n])/g, '$1'));\n};\n\nexport function diffJson(oldObj, newObj, options) { return jsonDiff.diff(oldObj, newObj, options); }\n\n// This function handles the presence of circular references by bailing out when encountering an\n// object that is already on the \"stack\" of items being processed. Accepts an optional replacer\nexport function canonicalize(obj, stack, replacementStack, replacer, key) {\n stack = stack || [];\n replacementStack = replacementStack || [];\n\n if (replacer) {\n obj = replacer(key, obj);\n }\n\n let i;\n\n for (i = 0; i < stack.length; i += 1) {\n if (stack[i] === obj) {\n return replacementStack[i];\n }\n }\n\n let canonicalizedObj;\n\n if ('[object Array]' === objectPrototypeToString.call(obj)) {\n stack.push(obj);\n canonicalizedObj = new Array(obj.length);\n replacementStack.push(canonicalizedObj);\n for (i = 0; i < obj.length; i += 1) {\n canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key);\n }\n stack.pop();\n replacementStack.pop();\n return canonicalizedObj;\n }\n\n if (obj && obj.toJSON) {\n obj = obj.toJSON();\n }\n\n if (typeof obj === 'object' && obj !== null) {\n stack.push(obj);\n canonicalizedObj = {};\n replacementStack.push(canonicalizedObj);\n let sortedKeys = [],\n key;\n for (key in obj) {\n /* istanbul ignore else */\n if (obj.hasOwnProperty(key)) {\n sortedKeys.push(key);\n }\n }\n sortedKeys.sort();\n for (i = 0; i < sortedKeys.length; i += 1) {\n key = sortedKeys[i];\n canonicalizedObj[key] = canonicalize(obj[key], stack, replacementStack, replacer, key);\n }\n stack.pop();\n replacementStack.pop();\n } else {\n canonicalizedObj = obj;\n }\n return canonicalizedObj;\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/diff/array.js":{"lineLengths":[25,13,0,46,13,3,32,27,0,23,3,25,49,23,1,0,123,0,23,19,25,5,23,1,25,9,23,4,0,25,30,0,23,39,23,2,0,59,15,2,0,47,50,1,1376,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/diff/array.js"],"names":["arrayDiff","Diff","tokenize","value","slice","join","removeEmpty","diffArrays","oldArr","newArr","callback","diff"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;AAEO,IAAMA,SAAS,GAAG;AAAIC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAJ,EAAlB;;;;;;AACPD,SAAS,CAACE,QAAV,GAAqB,UAASC,KAAT,EAAgB;AACnC,SAAOA,KAAK,CAACC,KAAN,EAAP;AACD,CAFD;;AAGAJ,SAAS,CAACK,IAAV,GAAiBL,SAAS,CAACM,WAAV,GAAwB,UAASH,KAAT,EAAgB;AACvD,SAAOA,KAAP;AACD,CAFD;;AAIO,SAASI,UAAT,CAAoBC,MAApB,EAA4BC,MAA5B,EAAoCC,QAApC,EAA8C;AAAE,SAAOV,SAAS,CAACW,IAAV,CAAeH,MAAf,EAAuBC,MAAvB,EAA+BC,QAA/B,CAAP;AAAkD","sourcesContent":["import Diff from './base';\n\nexport const arrayDiff = new Diff();\narrayDiff.tokenize = function(value) {\n return value.slice();\n};\narrayDiff.join = arrayDiff.removeEmpty = function(value) {\n return value;\n};\n\nexport function diffArrays(oldArr, newArr, callback) { return arrayDiff.diff(oldArr, newArr, callback); }\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/apply.js":{"lineLengths":[25,13,0,46,13,3,32,36,0,23,3,25,27,23,1,0,3,25,80,23,1,0,123,0,23,38,27,5,25,83,0,36,13,29,7,27,0,29,10,27,5,29,15,27,14,3,0,31,29,68,5,0,25,34,0,0,50,62,28,95,27,3,12,29,27,6,4,21,43,18,17,18,15,5,61,5,0,0,34,49,31,54,60,0,51,31,72,23,0,40,25,11,9,0,16,7,5,0,16,71,0,0,42,24,47,24,43,18,29,7,27,0,29,21,27,5,29,13,27,32,0,65,48,44,14,7,5,0,36,19,80,39,0,0,58,24,0,0,21,0,45,26,64,0,50,0,50,32,54,60,78,0,30,17,37,32,37,34,37,41,48,17,38,82,0,40,29,47,26,9,7,5,37,0,0,20,38,18,23,5,24,19,26,3,0,49,43,3,0,24,63,0,0,41,36,13,29,7,27,0,29,10,27,5,29,15,27,14,3,0,23,0,27,40,0,17,32,5,0,50,16,37,7,0,60,61,18,39,9,0,23,9,7,3,0,17,1,14288,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/patch/apply.js"],"names":["applyPatch","source","uniDiff","options","parsePatch","Array","isArray","length","Error","lines","split","delimiters","match","hunks","compareLine","lineNumber","line","operation","patchContent","errorCount","fuzzFactor","minLine","offset","removeEOFNL","addEOFNL","hunkFits","hunk","toPos","j","content","substr","i","maxLine","oldLines","localOffset","oldStart","iterator","distanceIterator","undefined","diffOffset","newLines","delimiter","linedelimiters","splice","previousOperation","pop","push","_k","join","applyPatches","currentIndex","processIndex","index","complete","loadFile","err","data","updatedContent","patched"],"mappings":"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","sourcesContent":["import {parsePatch} from './parse';\nimport distanceIterator from '../util/distance-iterator';\n\nexport function applyPatch(source, uniDiff, options = {}) {\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n if (Array.isArray(uniDiff)) {\n if (uniDiff.length > 1) {\n throw new Error('applyPatch only works with a single input.');\n }\n\n uniDiff = uniDiff[0];\n }\n\n // Apply the diff to the input\n let lines = source.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = source.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n hunks = uniDiff.hunks,\n\n compareLine = options.compareLine || ((lineNumber, line, operation, patchContent) => line === patchContent),\n errorCount = 0,\n fuzzFactor = options.fuzzFactor || 0,\n minLine = 0,\n offset = 0,\n\n removeEOFNL,\n addEOFNL;\n\n /**\n * Checks if the hunk exactly fits on the provided location\n */\n function hunkFits(hunk, toPos) {\n for (let j = 0; j < hunk.lines.length; j++) {\n let line = hunk.lines[j],\n operation = (line.length > 0 ? line[0] : ' '),\n content = (line.length > 0 ? line.substr(1) : line);\n\n if (operation === ' ' || operation === '-') {\n // Context sanity check\n if (!compareLine(toPos + 1, lines[toPos], operation, content)) {\n errorCount++;\n\n if (errorCount > fuzzFactor) {\n return false;\n }\n }\n toPos++;\n }\n }\n\n return true;\n }\n\n // Search best fit offsets for each hunk based on the previous ones\n for (let i = 0; i < hunks.length; i++) {\n let hunk = hunks[i],\n maxLine = lines.length - hunk.oldLines,\n localOffset = 0,\n toPos = offset + hunk.oldStart - 1;\n\n let iterator = distanceIterator(toPos, minLine, maxLine);\n\n for (; localOffset !== undefined; localOffset = iterator()) {\n if (hunkFits(hunk, toPos + localOffset)) {\n hunk.offset = offset += localOffset;\n break;\n }\n }\n\n if (localOffset === undefined) {\n return false;\n }\n\n // Set lower text limit to end of the current hunk, so next ones don't try\n // to fit over already patched text\n minLine = hunk.offset + hunk.oldStart + hunk.oldLines;\n }\n\n // Apply patch hunks\n let diffOffset = 0;\n for (let i = 0; i < hunks.length; i++) {\n let hunk = hunks[i],\n toPos = hunk.oldStart + hunk.offset + diffOffset - 1;\n diffOffset += hunk.newLines - hunk.oldLines;\n\n for (let j = 0; j < hunk.lines.length; j++) {\n let line = hunk.lines[j],\n operation = (line.length > 0 ? line[0] : ' '),\n content = (line.length > 0 ? line.substr(1) : line),\n delimiter = hunk.linedelimiters && hunk.linedelimiters[j] || '\\n';\n\n if (operation === ' ') {\n toPos++;\n } else if (operation === '-') {\n lines.splice(toPos, 1);\n delimiters.splice(toPos, 1);\n /* istanbul ignore else */\n } else if (operation === '+') {\n lines.splice(toPos, 0, content);\n delimiters.splice(toPos, 0, delimiter);\n toPos++;\n } else if (operation === '\\\\') {\n let previousOperation = hunk.lines[j - 1] ? hunk.lines[j - 1][0] : null;\n if (previousOperation === '+') {\n removeEOFNL = true;\n } else if (previousOperation === '-') {\n addEOFNL = true;\n }\n }\n }\n }\n\n // Handle EOFNL insertion/removal\n if (removeEOFNL) {\n while (!lines[lines.length - 1]) {\n lines.pop();\n delimiters.pop();\n }\n } else if (addEOFNL) {\n lines.push('');\n delimiters.push('\\n');\n }\n for (let _k = 0; _k < lines.length - 1; _k++) {\n lines[_k] = lines[_k] + delimiters[_k];\n }\n return lines.join('');\n}\n\n// Wrapper that supports multiple file patches via callbacks.\nexport function applyPatches(uniDiff, options) {\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n let currentIndex = 0;\n function processIndex() {\n let index = uniDiff[currentIndex++];\n if (!index) {\n return options.complete();\n }\n\n options.loadFile(index, function(err, data) {\n if (err) {\n return options.complete(err);\n }\n\n let updatedContent = applyPatch(data, index, options);\n options.patched(index, updatedContent, function(err) {\n if (err) {\n return options.complete(err);\n }\n\n processIndex();\n });\n });\n }\n processIndex();\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/parse.js":{"lineLengths":[25,13,0,46,13,3,32,0,23,30,27,5,25,83,53,63,16,12,0,25,19,44,0,32,76,0,47,14,21,0,0,73,0,19,32,7,0,10,80,79,0,0,27,42,0,21,0,32,29,0,57,14,37,38,43,58,81,14,12,7,5,66,18,0,0,35,62,0,21,62,46,52,0,36,59,7,0,47,59,10,5,20,53,0,0,24,29,39,90,16,32,76,32,76,16,24,60,59,64,0,30,25,5,0,30,25,5,0,21,24,0,37,84,88,149,14,7,0,94,0,94,36,56,0,32,21,39,24,39,21,24,9,14,14,7,42,0,0,43,24,5,0,46,24,41,0,0,25,39,101,7,0,42,103,7,5,0,16,3,0,30,17,3,0,14,1,13176,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/patch/parse.js"],"names":["parsePatch","uniDiff","options","diffstr","split","delimiters","match","list","i","parseIndex","index","push","length","line","test","header","exec","parseFileHeader","hunks","parseHunk","strict","Error","JSON","stringify","fileHeader","keyPrefix","data","fileName","replace","substr","trim","chunkHeaderIndex","chunkHeaderLine","chunkHeader","hunk","oldStart","oldLines","newStart","newLines","lines","linedelimiters","addCount","removeCount","indexOf","operation"],"mappings":"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","sourcesContent":["export function parsePatch(uniDiff, options = {}) {\n let diffstr = uniDiff.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = uniDiff.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n list = [],\n i = 0;\n\n function parseIndex() {\n let index = {};\n list.push(index);\n\n // Parse diff metadata\n while (i < diffstr.length) {\n let line = diffstr[i];\n\n // File header found, end parsing diff metadata\n if ((/^(\\-\\-\\-|\\+\\+\\+|@@)\\s/).test(line)) {\n break;\n }\n\n // Diff index\n let header = (/^(?:Index:|diff(?: -r \\w+)+)\\s+(.+?)\\s*$/).exec(line);\n if (header) {\n index.index = header[1];\n }\n\n i++;\n }\n\n // Parse file headers if they are defined. Unified diff requires them, but\n // there's no technical issues to have an isolated hunk without file header\n parseFileHeader(index);\n parseFileHeader(index);\n\n // Parse hunks\n index.hunks = [];\n\n while (i < diffstr.length) {\n let line = diffstr[i];\n\n if ((/^(Index:|diff|\\-\\-\\-|\\+\\+\\+)\\s/).test(line)) {\n break;\n } else if ((/^@@/).test(line)) {\n index.hunks.push(parseHunk());\n } else if (line && options.strict) {\n // Ignore unexpected content unless in strict mode\n throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(line));\n } else {\n i++;\n }\n }\n }\n\n // Parses the --- and +++ headers, if none are found, no lines\n // are consumed.\n function parseFileHeader(index) {\n const fileHeader = (/^(---|\\+\\+\\+)\\s+(.*)$/).exec(diffstr[i]);\n if (fileHeader) {\n let keyPrefix = fileHeader[1] === '---' ? 'old' : 'new';\n const data = fileHeader[2].split('\\t', 2);\n let fileName = data[0].replace(/\\\\\\\\/g, '\\\\');\n if ((/^\".*\"$/).test(fileName)) {\n fileName = fileName.substr(1, fileName.length - 2);\n }\n index[keyPrefix + 'FileName'] = fileName;\n index[keyPrefix + 'Header'] = (data[1] || '').trim();\n\n i++;\n }\n }\n\n // Parses a hunk\n // This assumes that we are at the start of a hunk.\n function parseHunk() {\n let chunkHeaderIndex = i,\n chunkHeaderLine = diffstr[i++],\n chunkHeader = chunkHeaderLine.split(/@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@/);\n\n let hunk = {\n oldStart: +chunkHeader[1],\n oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2],\n newStart: +chunkHeader[3],\n newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4],\n lines: [],\n linedelimiters: []\n };\n\n // Unified Diff Format quirk: If the chunk size is 0,\n // the first number is one lower than one would expect.\n // https://www.artima.com/weblogs/viewpost.jsp?thread=164293\n if (hunk.oldLines === 0) {\n hunk.oldStart += 1;\n }\n if (hunk.newLines === 0) {\n hunk.newStart += 1;\n }\n\n let addCount = 0,\n removeCount = 0;\n for (; i < diffstr.length; i++) {\n // Lines starting with '---' could be mistaken for the \"remove line\" operation\n // But they could be the header for the next file. Therefore prune such cases out.\n if (diffstr[i].indexOf('--- ') === 0\n && (i + 2 < diffstr.length)\n && diffstr[i + 1].indexOf('+++ ') === 0\n && diffstr[i + 2].indexOf('@@') === 0) {\n break;\n }\n let operation = (diffstr[i].length == 0 && i != (diffstr.length - 1)) ? ' ' : diffstr[i][0];\n\n if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\\\') {\n hunk.lines.push(diffstr[i]);\n hunk.linedelimiters.push(delimiters[i] || '\\n');\n\n if (operation === '+') {\n addCount++;\n } else if (operation === '-') {\n removeCount++;\n } else if (operation === ' ') {\n addCount++;\n removeCount++;\n }\n } else {\n break;\n }\n }\n\n // Handle the empty block count case\n if (!addCount && hunk.newLines === 1) {\n hunk.newLines = 0;\n }\n if (!removeCount && hunk.oldLines === 1) {\n hunk.oldLines = 0;\n }\n\n // Perform optional sanity checking\n if (options.strict) {\n if (addCount !== hunk.newLines) {\n throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n if (removeCount !== hunk.oldLines) {\n throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n }\n\n return hunk;\n }\n\n while (i < diffstr.length) {\n parseIndex();\n }\n\n return list;\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/util/distance-iterator.js":{"lineLengths":[25,13,0,46,13,3,30,0,23,63,65,47,8,25,8,23,27,25,32,31,22,30,43,30,22,14,28,79,71,0,0,43,27,7,0,30,5,0,29,30,27,82,31,0,0,43,30,7,0,31,24,80,51,0,4,1,3156,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/util/distance-iterator.js"],"names":["start","minLine","maxLine","wantForward","backwardExhausted","forwardExhausted","localOffset","iterator"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACe;AAAA;AAAA;AAAA;AAAA,CAASA,KAAT,EAAgBC,OAAhB,EAAyBC,OAAzB,EAAkC;AAC/C,MAAIC,WAAW,GAAG,IAAlB;AAAA,MACIC,iBAAiB,GAAG,KADxB;AAAA,MAEIC,gBAAgB,GAAG,KAFvB;AAAA,MAGIC,WAAW,GAAG,CAHlB;AAKA,SAAO,SAASC,QAAT,GAAoB;AACzB,QAAIJ,WAAW,IAAI,CAACE,gBAApB,EAAsC;AACpC,UAAID,iBAAJ,EAAuB;AACrBE,QAAAA,WAAW;AACZ,OAFD,MAEO;AACLH,QAAAA,WAAW,GAAG,KAAd;AACD,OALmC,CAOpC;AACA;;;AACA,UAAIH,KAAK,GAAGM,WAAR,IAAuBJ,OAA3B,EAAoC;AAClC,eAAOI,WAAP;AACD;;AAEDD,MAAAA,gBAAgB,GAAG,IAAnB;AACD;;AAED,QAAI,CAACD,iBAAL,EAAwB;AACtB,UAAI,CAACC,gBAAL,EAAuB;AACrBF,QAAAA,WAAW,GAAG,IAAd;AACD,OAHqB,CAKtB;AACA;;;AACA,UAAIF,OAAO,IAAID,KAAK,GAAGM,WAAvB,EAAoC;AAClC,eAAO,CAACA,WAAW,EAAnB;AACD;;AAEDF,MAAAA,iBAAiB,GAAG,IAApB;AACA,aAAOG,QAAQ,EAAf;AACD,KA9BwB,CAgCzB;AACA;;AACD,GAlCD;AAmCD","sourcesContent":["// Iterator that traverses in the range of [min, max], stepping\n// by distance from a given start position. I.e. for [0, 4], with\n// start of 2, this will iterate 2, 3, 1, 4, 0.\nexport default function(start, minLine, maxLine) {\n let wantForward = true,\n backwardExhausted = false,\n forwardExhausted = false,\n localOffset = 1;\n\n return function iterator() {\n if (wantForward && !forwardExhausted) {\n if (backwardExhausted) {\n localOffset++;\n } else {\n wantForward = false;\n }\n\n // Check if trying to fit beyond text length, and if not, check it fits\n // after offset location (or desired location on first iteration)\n if (start + localOffset <= maxLine) {\n return localOffset;\n }\n\n forwardExhausted = true;\n }\n\n if (!backwardExhausted) {\n if (!forwardExhausted) {\n wantForward = true;\n }\n\n // Check if trying to fit before text beginning, and if not, check it fits\n // before offset location\n if (minLine <= start - localOffset) {\n return -localOffset++;\n }\n\n backwardExhausted = true;\n return iterator();\n }\n\n // We tried to fit hunk before text beginning and beyond text length, then\n // hunk can't fit on the text. Return undefined\n };\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/merge.js":{"lineLengths":[25,13,0,46,13,3,38,22,0,23,3,25,29,23,1,0,3,25,27,23,1,0,3,25,33,23,1,0,179,0,190,0,416,0,130,0,91,0,183,0,23,30,27,28,25,34,47,47,0,31,29,10,25,3,0,31,29,10,25,3,1,0,36,31,35,98,83,34,0,35,43,3,0,47,33,87,63,63,57,57,42,51,41,41,37,37,12,38,79,79,73,73,5,3,0,17,20,22,21,23,0,78,48,24,6,54,24,6,0,49,65,57,18,66,56,65,61,20,68,12,38,24,73,20,101,20,17,8,115,20,18,33,5,3,0,13,1,0,33,34,55,14,33,11,31,0,33,14,31,9,33,19,31,18,8,5,0,16,74,5,0,12,31,9,29,0,31,13,29,7,31,22,29,41,6,3,0,15,1,0,33,70,1,0,43,24,16,10,26,12,17,20,6,3,1,0,34,90,1,0,34,10,28,28,37,28,21,4,1,0,75,91,74,14,23,21,12,4,15,24,22,12,34,0,35,118,0,78,45,48,0,117,26,38,67,31,22,0,29,22,0,31,0,29,0,31,20,29,29,31,17,29,7,31,25,29,28,67,31,23,0,29,24,0,31,0,29,0,31,21,29,29,31,18,29,7,31,25,29,29,67,31,33,67,32,39,46,25,35,19,20,12,25,64,5,46,0,0,29,30,22,1,0,42,38,42,0,58,72,8,29,7,27,0,29,10,27,5,29,20,27,112,31,23,0,29,0,31,0,29,0,31,21,29,29,31,18,29,7,31,25,29,18,0,13,15,29,7,27,0,29,10,27,5,29,20,27,114,31,23,0,29,0,31,0,29,0,31,21,29,29,31,18,29,7,31,25,29,21,0,13,5,13,27,5,25,0,27,8,25,3,27,13,25,30,29,21,0,27,0,29,0,27,0,29,19,27,27,29,16,27,5,29,23,27,16,0,11,3,0,42,1,0,43,38,54,0,28,29,21,0,27,0,29,0,27,0,29,19,27,27,29,16,27,5,29,23,27,26,10,85,3,1,0,38,23,19,19,15,17,5,1,0,45,78,44,26,20,3,1,0,39,46,44,26,3,1,0,31,15,46,0,44,145,0,47,22,5,0,32,21,20,12,12,5,3,0,13,1,0,46,19,18,21,29,25,0,80,42,85,0,27,12,5,0,57,23,86,50,0,28,24,0,33,29,44,7,5,0,47,27,20,12,24,5,3,0,70,22,3,0,19,19,3,0,44,44,3,0,10,19,20,4,1,0,30,49,37,11,1,0,58,35,82,0,63,19,5,3,0,23,14,1,0,37,19,19,33,35,51,56,0,35,55,39,16,31,9,7,0,35,55,39,16,31,9,7,12,75,19,7,0,75,19,7,5,5,10,23,22,4,1,34588,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/patch/merge.js"],"names":["calcLineCount","hunk","calcOldNewLineCount","lines","oldLines","newLines","undefined","merge","mine","theirs","base","loadPatch","ret","index","newFileName","fileNameChanged","oldFileName","oldHeader","newHeader","selectField","hunks","mineIndex","theirsIndex","mineOffset","theirsOffset","length","mineCurrent","oldStart","Infinity","theirsCurrent","hunkBefore","push","cloneHunk","mergedHunk","Math","min","newStart","mergeLines","param","test","parsePatch","Error","structuredPatch","patch","conflict","check","offset","mineLines","theirOffset","theirLines","their","insertLeading","theirCurrent","mutualChange","collectChange","removal","insertTrailing","myChanges","theirChanges","allRemoves","arrayStartsWith","skipRemoveSuperset","arrayEqual","swap","collectContext","merged","insert","line","state","operation","matchChanges","changes","matchIndex","contextChanges","conflicted","change","match","substr","reduce","prev","removeChanges","delta","i","changeContent","forEach","myCount","theirCount"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AAAA;AAAA;;AAEA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;AAEO,SAASA,aAAT,CAAuBC,IAAvB,EAA6B;AAAA;AAAA;AAAA;AACLC,EAAAA,mBAAmB,CAACD,IAAI,CAACE,KAAN,CADd;AAAA,MAC3BC,QAD2B,wBAC3BA,QAD2B;AAAA,MACjBC,QADiB,wBACjBA,QADiB;;AAGlC,MAAID,QAAQ,KAAKE,SAAjB,EAA4B;AAC1BL,IAAAA,IAAI,CAACG,QAAL,GAAgBA,QAAhB;AACD,GAFD,MAEO;AACL,WAAOH,IAAI,CAACG,QAAZ;AACD;;AAED,MAAIC,QAAQ,KAAKC,SAAjB,EAA4B;AAC1BL,IAAAA,IAAI,CAACI,QAAL,GAAgBA,QAAhB;AACD,GAFD,MAEO;AACL,WAAOJ,IAAI,CAACI,QAAZ;AACD;AACF;;AAEM,SAASE,KAAT,CAAeC,IAAf,EAAqBC,MAArB,EAA6BC,IAA7B,EAAmC;AACxCF,EAAAA,IAAI,GAAGG,SAAS,CAACH,IAAD,EAAOE,IAAP,CAAhB;AACAD,EAAAA,MAAM,GAAGE,SAAS,CAACF,MAAD,EAASC,IAAT,CAAlB;AAEA,MAAIE,GAAG,GAAG,EAAV,CAJwC,CAMxC;AACA;AACA;;AACA,MAAIJ,IAAI,CAACK,KAAL,IAAcJ,MAAM,CAACI,KAAzB,EAAgC;AAC9BD,IAAAA,GAAG,CAACC,KAAJ,GAAYL,IAAI,CAACK,KAAL,IAAcJ,MAAM,CAACI,KAAjC;AACD;;AAED,MAAIL,IAAI,CAACM,WAAL,IAAoBL,MAAM,CAACK,WAA/B,EAA4C;AAC1C,QAAI,CAACC,eAAe,CAACP,IAAD,CAApB,EAA4B;AAC1B;AACAI,MAAAA,GAAG,CAACI,WAAJ,GAAkBP,MAAM,CAACO,WAAP,IAAsBR,IAAI,CAACQ,WAA7C;AACAJ,MAAAA,GAAG,CAACE,WAAJ,GAAkBL,MAAM,CAACK,WAAP,IAAsBN,IAAI,CAACM,WAA7C;AACAF,MAAAA,GAAG,CAACK,SAAJ,GAAgBR,MAAM,CAACQ,SAAP,IAAoBT,IAAI,CAACS,SAAzC;AACAL,MAAAA,GAAG,CAACM,SAAJ,GAAgBT,MAAM,CAACS,SAAP,IAAoBV,IAAI,CAACU,SAAzC;AACD,KAND,MAMO,IAAI,CAACH,eAAe,CAACN,MAAD,CAApB,EAA8B;AACnC;AACAG,MAAAA,GAAG,CAACI,WAAJ,GAAkBR,IAAI,CAACQ,WAAvB;AACAJ,MAAAA,GAAG,CAACE,WAAJ,GAAkBN,IAAI,CAACM,WAAvB;AACAF,MAAAA,GAAG,CAACK,SAAJ,GAAgBT,IAAI,CAACS,SAArB;AACAL,MAAAA,GAAG,CAACM,SAAJ,GAAgBV,IAAI,CAACU,SAArB;AACD,KANM,MAMA;AACL;AACAN,MAAAA,GAAG,CAACI,WAAJ,GAAkBG,WAAW,CAACP,GAAD,EAAMJ,IAAI,CAACQ,WAAX,EAAwBP,MAAM,CAACO,WAA/B,CAA7B;AACAJ,MAAAA,GAAG,CAACE,WAAJ,GAAkBK,WAAW,CAACP,GAAD,EAAMJ,IAAI,CAACM,WAAX,EAAwBL,MAAM,CAACK,WAA/B,CAA7B;AACAF,MAAAA,GAAG,CAACK,SAAJ,GAAgBE,WAAW,CAACP,GAAD,EAAMJ,IAAI,CAACS,SAAX,EAAsBR,MAAM,CAACQ,SAA7B,CAA3B;AACAL,MAAAA,GAAG,CAACM,SAAJ,GAAgBC,WAAW,CAACP,GAAD,EAAMJ,IAAI,CAACU,SAAX,EAAsBT,MAAM,CAACS,SAA7B,CAA3B;AACD;AACF;;AAEDN,EAAAA,GAAG,CAACQ,KAAJ,GAAY,EAAZ;AAEA,MAAIC,SAAS,GAAG,CAAhB;AAAA,MACIC,WAAW,GAAG,CADlB;AAAA,MAEIC,UAAU,GAAG,CAFjB;AAAA,MAGIC,YAAY,GAAG,CAHnB;;AAKA,SAAOH,SAAS,GAAGb,IAAI,CAACY,KAAL,CAAWK,MAAvB,IAAiCH,WAAW,GAAGb,MAAM,CAACW,KAAP,CAAaK,MAAnE,EAA2E;AACzE,QAAIC,WAAW,GAAGlB,IAAI,CAACY,KAAL,CAAWC,SAAX,KAAyB;AAACM,MAAAA,QAAQ,EAAEC;AAAX,KAA3C;AAAA,QACIC,aAAa,GAAGpB,MAAM,CAACW,KAAP,CAAaE,WAAb,KAA6B;AAACK,MAAAA,QAAQ,EAAEC;AAAX,KADjD;;AAGA,QAAIE,UAAU,CAACJ,WAAD,EAAcG,aAAd,CAAd,EAA4C;AAC1C;AACAjB,MAAAA,GAAG,CAACQ,KAAJ,CAAUW,IAAV,CAAeC,SAAS,CAACN,WAAD,EAAcH,UAAd,CAAxB;AACAF,MAAAA,SAAS;AACTG,MAAAA,YAAY,IAAIE,WAAW,CAACrB,QAAZ,GAAuBqB,WAAW,CAACtB,QAAnD;AACD,KALD,MAKO,IAAI0B,UAAU,CAACD,aAAD,EAAgBH,WAAhB,CAAd,EAA4C;AACjD;AACAd,MAAAA,GAAG,CAACQ,KAAJ,CAAUW,IAAV,CAAeC,SAAS,CAACH,aAAD,EAAgBL,YAAhB,CAAxB;AACAF,MAAAA,WAAW;AACXC,MAAAA,UAAU,IAAIM,aAAa,CAACxB,QAAd,GAAyBwB,aAAa,CAACzB,QAArD;AACD,KALM,MAKA;AACL;AACA,UAAI6B,UAAU,GAAG;AACfN,QAAAA,QAAQ,EAAEO,IAAI,CAACC,GAAL,CAAST,WAAW,CAACC,QAArB,EAA+BE,aAAa,CAACF,QAA7C,CADK;AAEfvB,QAAAA,QAAQ,EAAE,CAFK;AAGfgC,QAAAA,QAAQ,EAAEF,IAAI,CAACC,GAAL,CAAST,WAAW,CAACU,QAAZ,GAAuBb,UAAhC,EAA4CM,aAAa,CAACF,QAAd,GAAyBH,YAArE,CAHK;AAIfnB,QAAAA,QAAQ,EAAE,CAJK;AAKfF,QAAAA,KAAK,EAAE;AALQ,OAAjB;AAOAkC,MAAAA,UAAU,CAACJ,UAAD,EAAaP,WAAW,CAACC,QAAzB,EAAmCD,WAAW,CAACvB,KAA/C,EAAsD0B,aAAa,CAACF,QAApE,EAA8EE,aAAa,CAAC1B,KAA5F,CAAV;AACAmB,MAAAA,WAAW;AACXD,MAAAA,SAAS;AAETT,MAAAA,GAAG,CAACQ,KAAJ,CAAUW,IAAV,CAAeE,UAAf;AACD;AACF;;AAED,SAAOrB,GAAP;AACD;;AAED,SAASD,SAAT,CAAmB2B,KAAnB,EAA0B5B,IAA1B,EAAgC;AAC9B,MAAI,OAAO4B,KAAP,KAAiB,QAArB,EAA+B;AAC7B,QAAK,MAAD,CAASC,IAAT,CAAcD,KAAd,KAA0B,UAAD,CAAaC,IAAb,CAAkBD,KAAlB,CAA7B,EAAwD;AACtD,aAAO;AAAA;AAAA;AAAA;;AAAAE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAA;AAAA,SAAWF,KAAX,EAAkB,CAAlB;AAAP;AACD;;AAED,QAAI,CAAC5B,IAAL,EAAW;AACT,YAAM,IAAI+B,KAAJ,CAAU,kDAAV,CAAN;AACD;;AACD,WAAO;AAAA;AAAA;AAAA;;AAAAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAA;AAAA,OAAgBpC,SAAhB,EAA2BA,SAA3B,EAAsCI,IAAtC,EAA4C4B,KAA5C;AAAP;AACD;;AAED,SAAOA,KAAP;AACD;;AAED,SAASvB,eAAT,CAAyB4B,KAAzB,EAAgC;AAC9B,SAAOA,KAAK,CAAC7B,WAAN,IAAqB6B,KAAK,CAAC7B,WAAN,KAAsB6B,KAAK,CAAC3B,WAAxD;AACD;;AAED,SAASG,WAAT,CAAqBN,KAArB,EAA4BL,IAA5B,EAAkCC,MAAlC,EAA0C;AACxC,MAAID,IAAI,KAAKC,MAAb,EAAqB;AACnB,WAAOD,IAAP;AACD,GAFD,MAEO;AACLK,IAAAA,KAAK,CAAC+B,QAAN,GAAiB,IAAjB;AACA,WAAO;AAACpC,MAAAA,IAAI,EAAJA,IAAD;AAAOC,MAAAA,MAAM,EAANA;AAAP,KAAP;AACD;AACF;;AAED,SAASqB,UAAT,CAAoBS,IAApB,EAA0BM,KAA1B,EAAiC;AAC/B,SAAON,IAAI,CAACZ,QAAL,GAAgBkB,KAAK,CAAClB,QAAtB,IACDY,IAAI,CAACZ,QAAL,GAAgBY,IAAI,CAACnC,QAAtB,GAAkCyC,KAAK,CAAClB,QAD7C;AAED;;AAED,SAASK,SAAT,CAAmB/B,IAAnB,EAAyB6C,MAAzB,EAAiC;AAC/B,SAAO;AACLnB,IAAAA,QAAQ,EAAE1B,IAAI,CAAC0B,QADV;AACoBvB,IAAAA,QAAQ,EAAEH,IAAI,CAACG,QADnC;AAELgC,IAAAA,QAAQ,EAAEnC,IAAI,CAACmC,QAAL,GAAgBU,MAFrB;AAE6BzC,IAAAA,QAAQ,EAAEJ,IAAI,CAACI,QAF5C;AAGLF,IAAAA,KAAK,EAAEF,IAAI,CAACE;AAHP,GAAP;AAKD;;AAED,SAASkC,UAAT,CAAoBpC,IAApB,EAA0BsB,UAA1B,EAAsCwB,SAAtC,EAAiDC,WAAjD,EAA8DC,UAA9D,EAA0E;AACxE;AACA;AACA,MAAIzC,IAAI,GAAG;AAACsC,IAAAA,MAAM,EAAEvB,UAAT;AAAqBpB,IAAAA,KAAK,EAAE4C,SAA5B;AAAuClC,IAAAA,KAAK,EAAE;AAA9C,GAAX;AAAA,MACIqC,KAAK,GAAG;AAACJ,IAAAA,MAAM,EAAEE,WAAT;AAAsB7C,IAAAA,KAAK,EAAE8C,UAA7B;AAAyCpC,IAAAA,KAAK,EAAE;AAAhD,GADZ,CAHwE,CAMxE;;AACAsC,EAAAA,aAAa,CAAClD,IAAD,EAAOO,IAAP,EAAa0C,KAAb,CAAb;AACAC,EAAAA,aAAa,CAAClD,IAAD,EAAOiD,KAAP,EAAc1C,IAAd,CAAb,CARwE,CAUxE;;AACA,SAAOA,IAAI,CAACK,KAAL,GAAaL,IAAI,CAACL,KAAL,CAAWsB,MAAxB,IAAkCyB,KAAK,CAACrC,KAAN,GAAcqC,KAAK,CAAC/C,KAAN,CAAYsB,MAAnE,EAA2E;AACzE,QAAIC,WAAW,GAAGlB,IAAI,CAACL,KAAL,CAAWK,IAAI,CAACK,KAAhB,CAAlB;AAAA,QACIuC,YAAY,GAAGF,KAAK,CAAC/C,KAAN,CAAY+C,KAAK,CAACrC,KAAlB,CADnB;;AAGA,QAAI,CAACa,WAAW,CAAC,CAAD,CAAX,KAAmB,GAAnB,IAA0BA,WAAW,CAAC,CAAD,CAAX,KAAmB,GAA9C,MACI0B,YAAY,CAAC,CAAD,CAAZ,KAAoB,GAApB,IAA2BA,YAAY,CAAC,CAAD,CAAZ,KAAoB,GADnD,CAAJ,EAC6D;AAC3D;AACAC,MAAAA,YAAY,CAACpD,IAAD,EAAOO,IAAP,EAAa0C,KAAb,CAAZ;AACD,KAJD,MAIO,IAAIxB,WAAW,CAAC,CAAD,CAAX,KAAmB,GAAnB,IAA0B0B,YAAY,CAAC,CAAD,CAAZ,KAAoB,GAAlD,EAAuD;AAAA;AAAA;;AAAA;AAC5D;;AACA;;AAAA;;AAAA;AAAA;AAAA;AAAAnD,MAAAA,IAAI,CAACE,KAAL,EAAW4B,IAAX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoBuB,MAAAA,aAAa,CAAC9C,IAAD,CAAjC;AACD,KAHM,MAGA,IAAI4C,YAAY,CAAC,CAAD,CAAZ,KAAoB,GAApB,IAA2B1B,WAAW,CAAC,CAAD,CAAX,KAAmB,GAAlD,EAAuD;AAAA;AAAA;;AAAA;AAC5D;;AACA;;AAAA;;AAAA;AAAA;AAAA;AAAAzB,MAAAA,IAAI,CAACE,KAAL,EAAW4B,IAAX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoBuB,MAAAA,aAAa,CAACJ,KAAD,CAAjC;AACD,KAHM,MAGA,IAAIxB,WAAW,CAAC,CAAD,CAAX,KAAmB,GAAnB,IAA0B0B,YAAY,CAAC,CAAD,CAAZ,KAAoB,GAAlD,EAAuD;AAC5D;AACAG,MAAAA,OAAO,CAACtD,IAAD,EAAOO,IAAP,EAAa0C,KAAb,CAAP;AACD,KAHM,MAGA,IAAIE,YAAY,CAAC,CAAD,CAAZ,KAAoB,GAApB,IAA2B1B,WAAW,CAAC,CAAD,CAAX,KAAmB,GAAlD,EAAuD;AAC5D;AACA6B,MAAAA,OAAO,CAACtD,IAAD,EAAOiD,KAAP,EAAc1C,IAAd,EAAoB,IAApB,CAAP;AACD,KAHM,MAGA,IAAIkB,WAAW,KAAK0B,YAApB,EAAkC;AACvC;AACAnD,MAAAA,IAAI,CAACE,KAAL,CAAW4B,IAAX,CAAgBL,WAAhB;AACAlB,MAAAA,IAAI,CAACK,KAAL;AACAqC,MAAAA,KAAK,CAACrC,KAAN;AACD,KALM,MAKA;AACL;AACA+B,MAAAA,QAAQ,CAAC3C,IAAD,EAAOqD,aAAa,CAAC9C,IAAD,CAApB,EAA4B8C,aAAa,CAACJ,KAAD,CAAzC,CAAR;AACD;AACF,GAxCuE,CA0CxE;;;AACAM,EAAAA,cAAc,CAACvD,IAAD,EAAOO,IAAP,CAAd;AACAgD,EAAAA,cAAc,CAACvD,IAAD,EAAOiD,KAAP,CAAd;AAEAlD,EAAAA,aAAa,CAACC,IAAD,CAAb;AACD;;AAED,SAASoD,YAAT,CAAsBpD,IAAtB,EAA4BO,IAA5B,EAAkC0C,KAAlC,EAAyC;AACvC,MAAIO,SAAS,GAAGH,aAAa,CAAC9C,IAAD,CAA7B;AAAA,MACIkD,YAAY,GAAGJ,aAAa,CAACJ,KAAD,CADhC;;AAGA,MAAIS,UAAU,CAACF,SAAD,CAAV,IAAyBE,UAAU,CAACD,YAAD,CAAvC,EAAuD;AACrD;AACA;AAAI;AAAA;AAAA;;AAAAE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAA;AAAA,KAAgBH,SAAhB,EAA2BC,YAA3B,KACGG,kBAAkB,CAACX,KAAD,EAAQO,SAAR,EAAmBA,SAAS,CAAChC,MAAV,GAAmBiC,YAAY,CAACjC,MAAnD,CADzB,EACqF;AAAA;AAAA;;AAAA;;AACnF;;AAAA;;AAAA;AAAA;AAAA;AAAAxB,MAAAA,IAAI,CAACE,KAAL,EAAW4B,IAAX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoB0B,MAAAA,SAApB;;AACA;AACD,KAJD,MAIO;AAAI;AAAA;AAAA;;AAAAG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAA;AAAA,KAAgBF,YAAhB,EAA8BD,SAA9B,KACJI,kBAAkB,CAACrD,IAAD,EAAOkD,YAAP,EAAqBA,YAAY,CAACjC,MAAb,GAAsBgC,SAAS,CAAChC,MAArD,CADlB,EACgF;AAAA;AAAA;;AAAA;;AACrF;;AAAA;;AAAA;AAAA;AAAA;AAAAxB,MAAAA,IAAI,CAACE,KAAL,EAAW4B,IAAX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoB2B,MAAAA,YAApB;;AACA;AACD;AACF,GAXD,MAWO;AAAI;AAAA;AAAA;;AAAAI;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAA;AAAA,GAAWL,SAAX,EAAsBC,YAAtB,CAAJ,EAAyC;AAAA;AAAA;;AAAA;;AAC9C;;AAAA;;AAAA;AAAA;AAAA;AAAAzD,IAAAA,IAAI,CAACE,KAAL,EAAW4B,IAAX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoB0B,IAAAA,SAApB;;AACA;AACD;;AAEDb,EAAAA,QAAQ,CAAC3C,IAAD,EAAOwD,SAAP,EAAkBC,YAAlB,CAAR;AACD;;AAED,SAASH,OAAT,CAAiBtD,IAAjB,EAAuBO,IAAvB,EAA6B0C,KAA7B,EAAoCa,IAApC,EAA0C;AACxC,MAAIN,SAAS,GAAGH,aAAa,CAAC9C,IAAD,CAA7B;AAAA,MACIkD,YAAY,GAAGM,cAAc,CAACd,KAAD,EAAQO,SAAR,CADjC;;AAEA,MAAIC,YAAY,CAACO,MAAjB,EAAyB;AAAA;AAAA;;AAAA;;AACvB;;AAAA;;AAAA;AAAA;AAAA;AAAAhE,IAAAA,IAAI,CAACE,KAAL,EAAW4B,IAAX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoB2B,IAAAA,YAAY,CAACO,MAAjC;AACD,GAFD,MAEO;AACLrB,IAAAA,QAAQ,CAAC3C,IAAD,EAAO8D,IAAI,GAAGL,YAAH,GAAkBD,SAA7B,EAAwCM,IAAI,GAAGN,SAAH,GAAeC,YAA3D,CAAR;AACD;AACF;;AAED,SAASd,QAAT,CAAkB3C,IAAlB,EAAwBO,IAAxB,EAA8B0C,KAA9B,EAAqC;AACnCjD,EAAAA,IAAI,CAAC2C,QAAL,GAAgB,IAAhB;AACA3C,EAAAA,IAAI,CAACE,KAAL,CAAW4B,IAAX,CAAgB;AACda,IAAAA,QAAQ,EAAE,IADI;AAEdpC,IAAAA,IAAI,EAAEA,IAFQ;AAGdC,IAAAA,MAAM,EAAEyC;AAHM,GAAhB;AAKD;;AAED,SAASC,aAAT,CAAuBlD,IAAvB,EAA6BiE,MAA7B,EAAqChB,KAArC,EAA4C;AAC1C,SAAOgB,MAAM,CAACpB,MAAP,GAAgBI,KAAK,CAACJ,MAAtB,IAAgCoB,MAAM,CAACrD,KAAP,GAAeqD,MAAM,CAAC/D,KAAP,CAAasB,MAAnE,EAA2E;AACzE,QAAI0C,IAAI,GAAGD,MAAM,CAAC/D,KAAP,CAAa+D,MAAM,CAACrD,KAAP,EAAb,CAAX;AACAZ,IAAAA,IAAI,CAACE,KAAL,CAAW4B,IAAX,CAAgBoC,IAAhB;AACAD,IAAAA,MAAM,CAACpB,MAAP;AACD;AACF;;AACD,SAASU,cAAT,CAAwBvD,IAAxB,EAA8BiE,MAA9B,EAAsC;AACpC,SAAOA,MAAM,CAACrD,KAAP,GAAeqD,MAAM,CAAC/D,KAAP,CAAasB,MAAnC,EAA2C;AACzC,QAAI0C,IAAI,GAAGD,MAAM,CAAC/D,KAAP,CAAa+D,MAAM,CAACrD,KAAP,EAAb,CAAX;AACAZ,IAAAA,IAAI,CAACE,KAAL,CAAW4B,IAAX,CAAgBoC,IAAhB;AACD;AACF;;AAED,SAASb,aAAT,CAAuBc,KAAvB,EAA8B;AAC5B,MAAIxD,GAAG,GAAG,EAAV;AAAA,MACIyD,SAAS,GAAGD,KAAK,CAACjE,KAAN,CAAYiE,KAAK,CAACvD,KAAlB,EAAyB,CAAzB,CADhB;;AAEA,SAAOuD,KAAK,CAACvD,KAAN,GAAcuD,KAAK,CAACjE,KAAN,CAAYsB,MAAjC,EAAyC;AACvC,QAAI0C,IAAI,GAAGC,KAAK,CAACjE,KAAN,CAAYiE,KAAK,CAACvD,KAAlB,CAAX,CADuC,CAGvC;;AACA,QAAIwD,SAAS,KAAK,GAAd,IAAqBF,IAAI,CAAC,CAAD,CAAJ,KAAY,GAArC,EAA0C;AACxCE,MAAAA,SAAS,GAAG,GAAZ;AACD;;AAED,QAAIA,SAAS,KAAKF,IAAI,CAAC,CAAD,CAAtB,EAA2B;AACzBvD,MAAAA,GAAG,CAACmB,IAAJ,CAASoC,IAAT;AACAC,MAAAA,KAAK,CAACvD,KAAN;AACD,KAHD,MAGO;AACL;AACD;AACF;;AAED,SAAOD,GAAP;AACD;;AACD,SAASoD,cAAT,CAAwBI,KAAxB,EAA+BE,YAA/B,EAA6C;AAC3C,MAAIC,OAAO,GAAG,EAAd;AAAA,MACIN,MAAM,GAAG,EADb;AAAA,MAEIO,UAAU,GAAG,CAFjB;AAAA,MAGIC,cAAc,GAAG,KAHrB;AAAA,MAIIC,UAAU,GAAG,KAJjB;;AAKA,SAAOF,UAAU,GAAGF,YAAY,CAAC7C,MAA1B,IACE2C,KAAK,CAACvD,KAAN,GAAcuD,KAAK,CAACjE,KAAN,CAAYsB,MADnC,EAC2C;AACzC,QAAIkD,MAAM,GAAGP,KAAK,CAACjE,KAAN,CAAYiE,KAAK,CAACvD,KAAlB,CAAb;AAAA,QACI+D,KAAK,GAAGN,YAAY,CAACE,UAAD,CADxB,CADyC,CAIzC;;AACA,QAAII,KAAK,CAAC,CAAD,CAAL,KAAa,GAAjB,EAAsB;AACpB;AACD;;AAEDH,IAAAA,cAAc,GAAGA,cAAc,IAAIE,MAAM,CAAC,CAAD,CAAN,KAAc,GAAjD;AAEAV,IAAAA,MAAM,CAAClC,IAAP,CAAY6C,KAAZ;AACAJ,IAAAA,UAAU,GAZ+B,CAczC;AACA;;AACA,QAAIG,MAAM,CAAC,CAAD,CAAN,KAAc,GAAlB,EAAuB;AACrBD,MAAAA,UAAU,GAAG,IAAb;;AAEA,aAAOC,MAAM,CAAC,CAAD,CAAN,KAAc,GAArB,EAA0B;AACxBJ,QAAAA,OAAO,CAACxC,IAAR,CAAa4C,MAAb;AACAA,QAAAA,MAAM,GAAGP,KAAK,CAACjE,KAAN,CAAY,EAAEiE,KAAK,CAACvD,KAApB,CAAT;AACD;AACF;;AAED,QAAI+D,KAAK,CAACC,MAAN,CAAa,CAAb,MAAoBF,MAAM,CAACE,MAAP,CAAc,CAAd,CAAxB,EAA0C;AACxCN,MAAAA,OAAO,CAACxC,IAAR,CAAa4C,MAAb;AACAP,MAAAA,KAAK,CAACvD,KAAN;AACD,KAHD,MAGO;AACL6D,MAAAA,UAAU,GAAG,IAAb;AACD;AACF;;AAED,MAAI,CAACJ,YAAY,CAACE,UAAD,CAAZ,IAA4B,EAA7B,EAAiC,CAAjC,MAAwC,GAAxC,IACGC,cADP,EACuB;AACrBC,IAAAA,UAAU,GAAG,IAAb;AACD;;AAED,MAAIA,UAAJ,EAAgB;AACd,WAAOH,OAAP;AACD;;AAED,SAAOC,UAAU,GAAGF,YAAY,CAAC7C,MAAjC,EAAyC;AACvCwC,IAAAA,MAAM,CAAClC,IAAP,CAAYuC,YAAY,CAACE,UAAU,EAAX,CAAxB;AACD;;AAED,SAAO;AACLP,IAAAA,MAAM,EAANA,MADK;AAELM,IAAAA,OAAO,EAAPA;AAFK,GAAP;AAID;;AAED,SAASZ,UAAT,CAAoBY,OAApB,EAA6B;AAC3B,SAAOA,OAAO,CAACO,MAAR,CAAe,UAASC,IAAT,EAAeJ,MAAf,EAAuB;AAC3C,WAAOI,IAAI,IAAIJ,MAAM,CAAC,CAAD,CAAN,KAAc,GAA7B;AACD,GAFM,EAEJ,IAFI,CAAP;AAGD;;AACD,SAASd,kBAAT,CAA4BO,KAA5B,EAAmCY,aAAnC,EAAkDC,KAAlD,EAAyD;AACvD,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,KAApB,EAA2BC,CAAC,EAA5B,EAAgC;AAC9B,QAAIC,aAAa,GAAGH,aAAa,CAACA,aAAa,CAACvD,MAAd,GAAuBwD,KAAvB,GAA+BC,CAAhC,CAAb,CAAgDL,MAAhD,CAAuD,CAAvD,CAApB;;AACA,QAAIT,KAAK,CAACjE,KAAN,CAAYiE,KAAK,CAACvD,KAAN,GAAcqE,CAA1B,MAAiC,MAAMC,aAA3C,EAA0D;AACxD,aAAO,KAAP;AACD;AACF;;AAEDf,EAAAA,KAAK,CAACvD,KAAN,IAAeoE,KAAf;AACA,SAAO,IAAP;AACD;;AAED,SAAS/E,mBAAT,CAA6BC,KAA7B,EAAoC;AAClC,MAAIC,QAAQ,GAAG,CAAf;AACA,MAAIC,QAAQ,GAAG,CAAf;AAEAF,EAAAA,KAAK,CAACiF,OAAN,CAAc,UAASjB,IAAT,EAAe;AAC3B,QAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC5B,UAAIkB,OAAO,GAAGnF,mBAAmB,CAACiE,IAAI,CAAC3D,IAAN,CAAjC;AACA,UAAI8E,UAAU,GAAGpF,mBAAmB,CAACiE,IAAI,CAAC1D,MAAN,CAApC;;AAEA,UAAIL,QAAQ,KAAKE,SAAjB,EAA4B;AAC1B,YAAI+E,OAAO,CAACjF,QAAR,KAAqBkF,UAAU,CAAClF,QAApC,EAA8C;AAC5CA,UAAAA,QAAQ,IAAIiF,OAAO,CAACjF,QAApB;AACD,SAFD,MAEO;AACLA,UAAAA,QAAQ,GAAGE,SAAX;AACD;AACF;;AAED,UAAID,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B,YAAI+E,OAAO,CAAChF,QAAR,KAAqBiF,UAAU,CAACjF,QAApC,EAA8C;AAC5CA,UAAAA,QAAQ,IAAIgF,OAAO,CAAChF,QAApB;AACD,SAFD,MAEO;AACLA,UAAAA,QAAQ,GAAGC,SAAX;AACD;AACF;AACF,KAnBD,MAmBO;AACL,UAAID,QAAQ,KAAKC,SAAb,KAA2B6D,IAAI,CAAC,CAAD,CAAJ,KAAY,GAAZ,IAAmBA,IAAI,CAAC,CAAD,CAAJ,KAAY,GAA1D,CAAJ,EAAoE;AAClE9D,QAAAA,QAAQ;AACT;;AACD,UAAID,QAAQ,KAAKE,SAAb,KAA2B6D,IAAI,CAAC,CAAD,CAAJ,KAAY,GAAZ,IAAmBA,IAAI,CAAC,CAAD,CAAJ,KAAY,GAA1D,CAAJ,EAAoE;AAClE/D,QAAAA,QAAQ;AACT;AACF;AACF,GA5BD;AA8BA,SAAO;AAACA,IAAAA,QAAQ,EAARA,QAAD;AAAWC,IAAAA,QAAQ,EAARA;AAAX,GAAP;AACD","sourcesContent":["import {structuredPatch} from './create';\nimport {parsePatch} from './parse';\n\nimport {arrayEqual, arrayStartsWith} from '../util/array';\n\nexport function calcLineCount(hunk) {\n const {oldLines, newLines} = calcOldNewLineCount(hunk.lines);\n\n if (oldLines !== undefined) {\n hunk.oldLines = oldLines;\n } else {\n delete hunk.oldLines;\n }\n\n if (newLines !== undefined) {\n hunk.newLines = newLines;\n } else {\n delete hunk.newLines;\n }\n}\n\nexport function merge(mine, theirs, base) {\n mine = loadPatch(mine, base);\n theirs = loadPatch(theirs, base);\n\n let ret = {};\n\n // For index we just let it pass through as it doesn't have any necessary meaning.\n // Leaving sanity checks on this to the API consumer that may know more about the\n // meaning in their own context.\n if (mine.index || theirs.index) {\n ret.index = mine.index || theirs.index;\n }\n\n if (mine.newFileName || theirs.newFileName) {\n if (!fileNameChanged(mine)) {\n // No header or no change in ours, use theirs (and ours if theirs does not exist)\n ret.oldFileName = theirs.oldFileName || mine.oldFileName;\n ret.newFileName = theirs.newFileName || mine.newFileName;\n ret.oldHeader = theirs.oldHeader || mine.oldHeader;\n ret.newHeader = theirs.newHeader || mine.newHeader;\n } else if (!fileNameChanged(theirs)) {\n // No header or no change in theirs, use ours\n ret.oldFileName = mine.oldFileName;\n ret.newFileName = mine.newFileName;\n ret.oldHeader = mine.oldHeader;\n ret.newHeader = mine.newHeader;\n } else {\n // Both changed... figure it out\n ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName);\n ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName);\n ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader);\n ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader);\n }\n }\n\n ret.hunks = [];\n\n let mineIndex = 0,\n theirsIndex = 0,\n mineOffset = 0,\n theirsOffset = 0;\n\n while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) {\n let mineCurrent = mine.hunks[mineIndex] || {oldStart: Infinity},\n theirsCurrent = theirs.hunks[theirsIndex] || {oldStart: Infinity};\n\n if (hunkBefore(mineCurrent, theirsCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(mineCurrent, mineOffset));\n mineIndex++;\n theirsOffset += mineCurrent.newLines - mineCurrent.oldLines;\n } else if (hunkBefore(theirsCurrent, mineCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset));\n theirsIndex++;\n mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines;\n } else {\n // Overlap, merge as best we can\n let mergedHunk = {\n oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart),\n oldLines: 0,\n newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset),\n newLines: 0,\n lines: []\n };\n mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines);\n theirsIndex++;\n mineIndex++;\n\n ret.hunks.push(mergedHunk);\n }\n }\n\n return ret;\n}\n\nfunction loadPatch(param, base) {\n if (typeof param === 'string') {\n if ((/^@@/m).test(param) || ((/^Index:/m).test(param))) {\n return parsePatch(param)[0];\n }\n\n if (!base) {\n throw new Error('Must provide a base reference or pass in a patch');\n }\n return structuredPatch(undefined, undefined, base, param);\n }\n\n return param;\n}\n\nfunction fileNameChanged(patch) {\n return patch.newFileName && patch.newFileName !== patch.oldFileName;\n}\n\nfunction selectField(index, mine, theirs) {\n if (mine === theirs) {\n return mine;\n } else {\n index.conflict = true;\n return {mine, theirs};\n }\n}\n\nfunction hunkBefore(test, check) {\n return test.oldStart < check.oldStart\n && (test.oldStart + test.oldLines) < check.oldStart;\n}\n\nfunction cloneHunk(hunk, offset) {\n return {\n oldStart: hunk.oldStart, oldLines: hunk.oldLines,\n newStart: hunk.newStart + offset, newLines: hunk.newLines,\n lines: hunk.lines\n };\n}\n\nfunction mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) {\n // This will generally result in a conflicted hunk, but there are cases where the context\n // is the only overlap where we can successfully merge the content here.\n let mine = {offset: mineOffset, lines: mineLines, index: 0},\n their = {offset: theirOffset, lines: theirLines, index: 0};\n\n // Handle any leading content\n insertLeading(hunk, mine, their);\n insertLeading(hunk, their, mine);\n\n // Now in the overlap content. Scan through and select the best changes from each.\n while (mine.index < mine.lines.length && their.index < their.lines.length) {\n let mineCurrent = mine.lines[mine.index],\n theirCurrent = their.lines[their.index];\n\n if ((mineCurrent[0] === '-' || mineCurrent[0] === '+')\n && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) {\n // Both modified ...\n mutualChange(hunk, mine, their);\n } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') {\n // Mine inserted\n hunk.lines.push(... collectChange(mine));\n } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') {\n // Theirs inserted\n hunk.lines.push(... collectChange(their));\n } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') {\n // Mine removed or edited\n removal(hunk, mine, their);\n } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') {\n // Their removed or edited\n removal(hunk, their, mine, true);\n } else if (mineCurrent === theirCurrent) {\n // Context identity\n hunk.lines.push(mineCurrent);\n mine.index++;\n their.index++;\n } else {\n // Context mismatch\n conflict(hunk, collectChange(mine), collectChange(their));\n }\n }\n\n // Now push anything that may be remaining\n insertTrailing(hunk, mine);\n insertTrailing(hunk, their);\n\n calcLineCount(hunk);\n}\n\nfunction mutualChange(hunk, mine, their) {\n let myChanges = collectChange(mine),\n theirChanges = collectChange(their);\n\n if (allRemoves(myChanges) && allRemoves(theirChanges)) {\n // Special case for remove changes that are supersets of one another\n if (arrayStartsWith(myChanges, theirChanges)\n && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) {\n hunk.lines.push(... myChanges);\n return;\n } else if (arrayStartsWith(theirChanges, myChanges)\n && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) {\n hunk.lines.push(... theirChanges);\n return;\n }\n } else if (arrayEqual(myChanges, theirChanges)) {\n hunk.lines.push(... myChanges);\n return;\n }\n\n conflict(hunk, myChanges, theirChanges);\n}\n\nfunction removal(hunk, mine, their, swap) {\n let myChanges = collectChange(mine),\n theirChanges = collectContext(their, myChanges);\n if (theirChanges.merged) {\n hunk.lines.push(... theirChanges.merged);\n } else {\n conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges);\n }\n}\n\nfunction conflict(hunk, mine, their) {\n hunk.conflict = true;\n hunk.lines.push({\n conflict: true,\n mine: mine,\n theirs: their\n });\n}\n\nfunction insertLeading(hunk, insert, their) {\n while (insert.offset < their.offset && insert.index < insert.lines.length) {\n let line = insert.lines[insert.index++];\n hunk.lines.push(line);\n insert.offset++;\n }\n}\nfunction insertTrailing(hunk, insert) {\n while (insert.index < insert.lines.length) {\n let line = insert.lines[insert.index++];\n hunk.lines.push(line);\n }\n}\n\nfunction collectChange(state) {\n let ret = [],\n operation = state.lines[state.index][0];\n while (state.index < state.lines.length) {\n let line = state.lines[state.index];\n\n // Group additions that are immediately after subtractions and treat them as one \"atomic\" modify change.\n if (operation === '-' && line[0] === '+') {\n operation = '+';\n }\n\n if (operation === line[0]) {\n ret.push(line);\n state.index++;\n } else {\n break;\n }\n }\n\n return ret;\n}\nfunction collectContext(state, matchChanges) {\n let changes = [],\n merged = [],\n matchIndex = 0,\n contextChanges = false,\n conflicted = false;\n while (matchIndex < matchChanges.length\n && state.index < state.lines.length) {\n let change = state.lines[state.index],\n match = matchChanges[matchIndex];\n\n // Once we've hit our add, then we are done\n if (match[0] === '+') {\n break;\n }\n\n contextChanges = contextChanges || change[0] !== ' ';\n\n merged.push(match);\n matchIndex++;\n\n // Consume any additions in the other block as a conflict to attempt\n // to pull in the remaining context after this\n if (change[0] === '+') {\n conflicted = true;\n\n while (change[0] === '+') {\n changes.push(change);\n change = state.lines[++state.index];\n }\n }\n\n if (match.substr(1) === change.substr(1)) {\n changes.push(change);\n state.index++;\n } else {\n conflicted = true;\n }\n }\n\n if ((matchChanges[matchIndex] || '')[0] === '+'\n && contextChanges) {\n conflicted = true;\n }\n\n if (conflicted) {\n return changes;\n }\n\n while (matchIndex < matchChanges.length) {\n merged.push(matchChanges[matchIndex++]);\n }\n\n return {\n merged,\n changes\n };\n}\n\nfunction allRemoves(changes) {\n return changes.reduce(function(prev, change) {\n return prev && change[0] === '-';\n }, true);\n}\nfunction skipRemoveSuperset(state, removeChanges, delta) {\n for (let i = 0; i < delta; i++) {\n let changeContent = removeChanges[removeChanges.length - delta + i].substr(1);\n if (state.lines[state.index + i] !== ' ' + changeContent) {\n return false;\n }\n }\n\n state.index += delta;\n return true;\n}\n\nfunction calcOldNewLineCount(lines) {\n let oldLines = 0;\n let newLines = 0;\n\n lines.forEach(function(line) {\n if (typeof line !== 'string') {\n let myCount = calcOldNewLineCount(line.mine);\n let theirCount = calcOldNewLineCount(line.theirs);\n\n if (oldLines !== undefined) {\n if (myCount.oldLines === theirCount.oldLines) {\n oldLines += myCount.oldLines;\n } else {\n oldLines = undefined;\n }\n }\n\n if (newLines !== undefined) {\n if (myCount.newLines === theirCount.newLines) {\n newLines += myCount.newLines;\n } else {\n newLines = undefined;\n }\n }\n } else {\n if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) {\n newLines++;\n }\n if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) {\n oldLines++;\n }\n }\n });\n\n return {oldLines, newLines};\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/create.js":{"lineLengths":[25,13,0,46,13,3,42,34,50,34,0,23,3,25,31,23,1,0,179,0,190,0,416,0,130,0,91,0,183,0,23,99,17,17,3,0,47,24,3,0,12,27,5,25,0,27,7,25,3,27,12,25,28,0,14,11,3,0,13,14,13,53,0,32,39,25,7,3,0,17,24,24,20,18,18,0,27,29,25,6,26,78,26,0,43,31,20,0,29,53,27,31,32,32,0,19,97,43,43,9,29,0,0,31,0,29,0,31,18,29,27,31,15,29,7,31,25,29,34,51,46,0,0,26,32,14,32,7,12,52,26,76,73,35,25,0,33,24,0,35,0,33,0,35,23,33,31,35,20,33,11,35,29,33,32,16,35,25,0,33,37,68,0,35,0,33,0,35,23,33,31,35,20,33,11,35,29,33,54,0,22,36,60,36,60,27,12,0,72,38,51,51,86,0,72,99,80,80,13,0,70,60,13,11,0,27,28,28,24,9,7,0,30,30,5,4,0,41,29,10,27,7,3,0,10,29,29,25,25,16,4,1,0,28,28,44,3,0,15,0,45,43,3,0,82,109,109,0,47,83,59,64,0,30,25,5,0,30,25,5,0,112,36,3,0,31,1,0,103,111,1,0,79,96,1,15624,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/patch/create.js"],"names":["structuredPatch","oldFileName","newFileName","oldStr","newStr","oldHeader","newHeader","options","context","diff","diffLines","push","value","lines","contextLines","map","entry","hunks","oldRangeStart","newRangeStart","curRange","oldLine","newLine","i","current","replace","split","added","removed","prev","slice","length","contextSize","Math","min","hunk","oldStart","oldLines","newStart","newLines","oldEOFNewline","test","newEOFNewline","noNlBeforeAdds","splice","formatPatch","Array","isArray","join","ret","apply","createTwoFilesPatch","createPatch","fileName"],"mappings":"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","sourcesContent":["import {diffLines} from '../diff/line';\n\nexport function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n if (!options) {\n options = {};\n }\n if (typeof options.context === 'undefined') {\n options.context = 4;\n }\n\n const diff = diffLines(oldStr, newStr, options);\n if(!diff) {\n return;\n }\n\n diff.push({value: '', lines: []}); // Append an empty value to make cleanup easier\n\n function contextLines(lines) {\n return lines.map(function(entry) { return ' ' + entry; });\n }\n\n let hunks = [];\n let oldRangeStart = 0, newRangeStart = 0, curRange = [],\n oldLine = 1, newLine = 1;\n for (let i = 0; i < diff.length; i++) {\n const current = diff[i],\n lines = current.lines || current.value.replace(/\\n$/, '').split('\\n');\n current.lines = lines;\n\n if (current.added || current.removed) {\n // If we have previous context, start with that\n if (!oldRangeStart) {\n const prev = diff[i - 1];\n oldRangeStart = oldLine;\n newRangeStart = newLine;\n\n if (prev) {\n curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];\n oldRangeStart -= curRange.length;\n newRangeStart -= curRange.length;\n }\n }\n\n // Output our changes\n curRange.push(... lines.map(function(entry) {\n return (current.added ? '+' : '-') + entry;\n }));\n\n // Track the updated file position\n if (current.added) {\n newLine += lines.length;\n } else {\n oldLine += lines.length;\n }\n } else {\n // Identical context lines. Track line changes\n if (oldRangeStart) {\n // Close out any changes that have been output (or join overlapping)\n if (lines.length <= options.context * 2 && i < diff.length - 2) {\n // Overlapping\n curRange.push(... contextLines(lines));\n } else {\n // end the range and output\n let contextSize = Math.min(lines.length, options.context);\n curRange.push(... contextLines(lines.slice(0, contextSize)));\n\n let hunk = {\n oldStart: oldRangeStart,\n oldLines: (oldLine - oldRangeStart + contextSize),\n newStart: newRangeStart,\n newLines: (newLine - newRangeStart + contextSize),\n lines: curRange\n };\n if (i >= diff.length - 2 && lines.length <= options.context) {\n // EOF is inside this hunk\n let oldEOFNewline = ((/\\n$/).test(oldStr));\n let newEOFNewline = ((/\\n$/).test(newStr));\n let noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines;\n if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) {\n // special case: old has no eol and no trailing context; no-nl can end up before adds\n // however, if the old file is empty, do not output the no-nl line\n curRange.splice(hunk.oldLines, 0, '\\\\ No newline at end of file');\n }\n if ((!oldEOFNewline && !noNlBeforeAdds) || !newEOFNewline) {\n curRange.push('\\\\ No newline at end of file');\n }\n }\n hunks.push(hunk);\n\n oldRangeStart = 0;\n newRangeStart = 0;\n curRange = [];\n }\n }\n oldLine += lines.length;\n newLine += lines.length;\n }\n }\n\n return {\n oldFileName: oldFileName, newFileName: newFileName,\n oldHeader: oldHeader, newHeader: newHeader,\n hunks: hunks\n };\n}\n\nexport function formatPatch(diff) {\n if (Array.isArray(diff)) {\n return diff.map(formatPatch).join('\\n');\n }\n\n const ret = [];\n if (diff.oldFileName == diff.newFileName) {\n ret.push('Index: ' + diff.oldFileName);\n }\n ret.push('===================================================================');\n ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\\t' + diff.oldHeader));\n ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\\t' + diff.newHeader));\n\n for (let i = 0; i < diff.hunks.length; i++) {\n const hunk = diff.hunks[i];\n // Unified Diff Format quirk: If the chunk size is 0,\n // the first number is one lower than one would expect.\n // https://www.artima.com/weblogs/viewpost.jsp?thread=164293\n if (hunk.oldLines === 0) {\n hunk.oldStart -= 1;\n }\n if (hunk.newLines === 0) {\n hunk.newStart -= 1;\n }\n ret.push(\n '@@ -' + hunk.oldStart + ',' + hunk.oldLines\n + ' +' + hunk.newStart + ',' + hunk.newLines\n + ' @@'\n );\n ret.push.apply(ret, hunk.lines);\n }\n\n return ret.join('\\n') + '\\n';\n}\n\nexport function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options));\n}\n\nexport function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {\n return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/util/array.js":{"lineLengths":[25,13,0,46,13,3,32,42,0,23,27,30,17,3,0,31,1,0,40,36,17,3,0,42,32,19,5,3,0,14,1,1476,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/util/array.js"],"names":["arrayEqual","a","b","length","arrayStartsWith","array","start","i"],"mappings":";;;;;;;;;;AAAO,SAASA,UAAT,CAAoBC,CAApB,EAAuBC,CAAvB,EAA0B;AAC/B,MAAID,CAAC,CAACE,MAAF,KAAaD,CAAC,CAACC,MAAnB,EAA2B;AACzB,WAAO,KAAP;AACD;;AAED,SAAOC,eAAe,CAACH,CAAD,EAAIC,CAAJ,CAAtB;AACD;;AAEM,SAASE,eAAT,CAAyBC,KAAzB,EAAgCC,KAAhC,EAAuC;AAC5C,MAAIA,KAAK,CAACH,MAAN,GAAeE,KAAK,CAACF,MAAzB,EAAiC;AAC/B,WAAO,KAAP;AACD;;AAED,OAAK,IAAII,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,KAAK,CAACH,MAA1B,EAAkCI,CAAC,EAAnC,EAAuC;AACrC,QAAID,KAAK,CAACC,CAAD,CAAL,KAAaF,KAAK,CAACE,CAAD,CAAtB,EAA2B;AACzB,aAAO,KAAP;AACD;AACF;;AAED,SAAO,IAAP;AACD","sourcesContent":["export function arrayEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n return arrayStartsWith(a, b);\n}\n\nexport function arrayStartsWith(array, start) {\n if (start.length > array.length) {\n return false;\n }\n\n for (let i = 0; i < start.length; i++) {\n if (start[i] !== array[i]) {\n return false;\n }\n }\n\n return true;\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/patch/reverse.js":{"lineLengths":[25,13,0,46,13,3,36,0,341,0,534,0,209,0,23,40,39,55,3,0,10,29,35,27,27,47,43,47,43,56,16,34,34,34,34,46,46,36,22,41,27,39,27,16,13,0,36,22,41,27,39,27,16,13,0,21,12,10,8,6,4,1,3000,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/patch/reverse.js"],"names":["reversePatch","structuredPatch","Array","isArray","map","reverse","oldFileName","newFileName","oldHeader","newHeader","hunks","hunk","oldLines","newLines","oldStart","newStart","linedelimiters","lines","l","startsWith","slice"],"mappings":";;;;;;;;;;;;;;;AAAO,SAASA,YAAT,CAAsBC,eAAtB,EAAuC;AAC5C,MAAIC,KAAK,CAACC,OAAN,CAAcF,eAAd,CAAJ,EAAoC;AAClC,WAAOA,eAAe,CAACG,GAAhB,CAAoBJ,YAApB,EAAkCK,OAAlC,EAAP;AACD;;AAED;AAAA;AAAA;AAAA;AACKJ,IAAAA,eADL;AAEEK,MAAAA,WAAW,EAAEL,eAAe,CAACM,WAF/B;AAGEC,MAAAA,SAAS,EAAEP,eAAe,CAACQ,SAH7B;AAIEF,MAAAA,WAAW,EAAEN,eAAe,CAACK,WAJ/B;AAKEG,MAAAA,SAAS,EAAER,eAAe,CAACO,SAL7B;AAMEE,MAAAA,KAAK,EAAET,eAAe,CAACS,KAAhB,CAAsBN,GAAtB,CAA0B,UAAAO,IAAI,EAAI;AACvC,eAAO;AACLC,UAAAA,QAAQ,EAAED,IAAI,CAACE,QADV;AAELC,UAAAA,QAAQ,EAAEH,IAAI,CAACI,QAFV;AAGLF,UAAAA,QAAQ,EAAEF,IAAI,CAACC,QAHV;AAILG,UAAAA,QAAQ,EAAEJ,IAAI,CAACG,QAJV;AAKLE,UAAAA,cAAc,EAAEL,IAAI,CAACK,cALhB;AAMLC,UAAAA,KAAK,EAAEN,IAAI,CAACM,KAAL,CAAWb,GAAX,CAAe,UAAAc,CAAC,EAAI;AACzB,gBAAIA,CAAC,CAACC,UAAF,CAAa,GAAb,CAAJ,EAAuB;AAAE;AAAA;AAAA;AAAA;AAAWD,gBAAAA,CAAC,CAACE,KAAF,CAAQ,CAAR,CAAX;AAAA;AAA0B;;AACnD,gBAAIF,CAAC,CAACC,UAAF,CAAa,GAAb,CAAJ,EAAuB;AAAE;AAAA;AAAA;AAAA;AAAWD,gBAAAA,CAAC,CAACE,KAAF,CAAQ,CAAR,CAAX;AAAA;AAA0B;;AACnD,mBAAOF,CAAP;AACD,WAJM;AANF,SAAP;AAYD,OAbM;AANT;AAAA;AAqBD","sourcesContent":["export function reversePatch(structuredPatch) {\n if (Array.isArray(structuredPatch)) {\n return structuredPatch.map(reversePatch).reverse();\n }\n\n return {\n ...structuredPatch,\n oldFileName: structuredPatch.newFileName,\n oldHeader: structuredPatch.newHeader,\n newFileName: structuredPatch.oldFileName,\n newHeader: structuredPatch.oldHeader,\n hunks: structuredPatch.hunks.map(hunk => {\n return {\n oldLines: hunk.newLines,\n oldStart: hunk.newStart,\n newLines: hunk.oldLines,\n newStart: hunk.oldStart,\n linedelimiters: hunk.linedelimiters,\n lines: hunk.lines.map(l => {\n if (l.startsWith('-')) { return `+${l.slice(1)}`; }\n if (l.startsWith('+')) { return `-${l.slice(1)}`; }\n return l;\n })\n };\n })\n };\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/convert/dmp.js":{"lineLengths":[25,13,0,46,13,3,50,0,23,65,39,15,13,16,0,44,24,0,23,20,32,21,12,20,5,0,40,3,0,13,1,1644,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/convert/dmp.js"],"names":["convertChangesToDMP","changes","ret","change","operation","i","length","added","removed","push","value"],"mappings":";;;;;;;;;AAAA;AACO,SAASA,mBAAT,CAA6BC,OAA7B,EAAsC;AAC3C,MAAIC,GAAG,GAAG,EAAV;AAAA,MACIC,MADJ;AAAA,MAEIC,SAFJ;;AAGA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,OAAO,CAACK,MAA5B,EAAoCD,CAAC,EAArC,EAAyC;AACvCF,IAAAA,MAAM,GAAGF,OAAO,CAACI,CAAD,CAAhB;;AACA,QAAIF,MAAM,CAACI,KAAX,EAAkB;AAChBH,MAAAA,SAAS,GAAG,CAAZ;AACD,KAFD,MAEO,IAAID,MAAM,CAACK,OAAX,EAAoB;AACzBJ,MAAAA,SAAS,GAAG,CAAC,CAAb;AACD,KAFM,MAEA;AACLA,MAAAA,SAAS,GAAG,CAAZ;AACD;;AAEDF,IAAAA,GAAG,CAACO,IAAJ,CAAS,CAACL,SAAD,EAAYD,MAAM,CAACO,KAAnB,CAAT;AACD;;AACD,SAAOR,GAAP;AACD","sourcesContent":["// See: http://code.google.com/p/google-diff-match-patch/wiki/API\nexport function convertChangesToDMP(changes) {\n let ret = [],\n change,\n operation;\n for (let i = 0; i < changes.length; i++) {\n change = changes[i];\n if (change.added) {\n operation = 1;\n } else if (change.removed) {\n operation = -1;\n } else {\n operation = 0;\n }\n\n ret.push([operation, change.value]);\n }\n return ret;\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/lib/convert/xml.js":{"lineLengths":[25,13,0,46,13,3,50,0,23,39,15,0,44,28,0,23,24,32,24,5,0,39,0,23,25,32,25,5,3,0,22,1,0,24,12,31,30,30,32,11,1,2564,0],"data":{"version":3,"sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/diff/src/convert/xml.js"],"names":["convertChangesToXML","changes","ret","i","length","change","added","push","removed","escapeHTML","value","join","s","n","replace"],"mappings":";;;;;;;;;AAAO,SAASA,mBAAT,CAA6BC,OAA7B,EAAsC;AAC3C,MAAIC,GAAG,GAAG,EAAV;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,OAAO,CAACG,MAA5B,EAAoCD,CAAC,EAArC,EAAyC;AACvC,QAAIE,MAAM,GAAGJ,OAAO,CAACE,CAAD,CAApB;;AACA,QAAIE,MAAM,CAACC,KAAX,EAAkB;AAChBJ,MAAAA,GAAG,CAACK,IAAJ,CAAS,OAAT;AACD,KAFD,MAEO,IAAIF,MAAM,CAACG,OAAX,EAAoB;AACzBN,MAAAA,GAAG,CAACK,IAAJ,CAAS,OAAT;AACD;;AAEDL,IAAAA,GAAG,CAACK,IAAJ,CAASE,UAAU,CAACJ,MAAM,CAACK,KAAR,CAAnB;;AAEA,QAAIL,MAAM,CAACC,KAAX,EAAkB;AAChBJ,MAAAA,GAAG,CAACK,IAAJ,CAAS,QAAT;AACD,KAFD,MAEO,IAAIF,MAAM,CAACG,OAAX,EAAoB;AACzBN,MAAAA,GAAG,CAACK,IAAJ,CAAS,QAAT;AACD;AACF;;AACD,SAAOL,GAAG,CAACS,IAAJ,CAAS,EAAT,CAAP;AACD;;AAED,SAASF,UAAT,CAAoBG,CAApB,EAAuB;AACrB,MAAIC,CAAC,GAAGD,CAAR;AACAC,EAAAA,CAAC,GAAGA,CAAC,CAACC,OAAF,CAAU,IAAV,EAAgB,OAAhB,CAAJ;AACAD,EAAAA,CAAC,GAAGA,CAAC,CAACC,OAAF,CAAU,IAAV,EAAgB,MAAhB,CAAJ;AACAD,EAAAA,CAAC,GAAGA,CAAC,CAACC,OAAF,CAAU,IAAV,EAAgB,MAAhB,CAAJ;AACAD,EAAAA,CAAC,GAAGA,CAAC,CAACC,OAAF,CAAU,IAAV,EAAgB,QAAhB,CAAJ;AAEA,SAAOD,CAAP;AACD","sourcesContent":["export function convertChangesToXML(changes) {\n let ret = [];\n for (let i = 0; i < changes.length; i++) {\n let change = changes[i];\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n\n ret.push(escapeHTML(change.value));\n\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n }\n return ret.join('');\n}\n\nfunction escapeHTML(s) {\n let n = s;\n n = n.replace(/&/g, '&');\n n = n.replace(//g, '>');\n n = n.replace(/\"/g, '"');\n\n return n;\n}\n"],"sourceRoot":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/get-caller-file/index.js":{"lineLengths":[13,69,69,2,58,51,46,44,208,5,55,68,34,51,54,35,56,54,75,5,2,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/node_modules/get-caller-file/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,qEAAqE;AACrE,EAAE;AACF,0DAA0D;AAE1D,iBAAS,SAAS,aAAa,CAAC,QAAY;IAAZ,yBAAA,EAAA,YAAY;IAC1C,IAAI,QAAQ,IAAI,KAAK,CAAC,eAAe,EAAE;QACrC,MAAM,IAAI,SAAS,CAAC,kGAAkG,GAAG,QAAQ,GAAG,oCAAoC,GAAG,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;KACzM;IAED,IAAM,oBAAoB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD,KAAK,CAAC,iBAAiB,GAAG,UAAC,CAAC,EAAE,KAAK,IAAM,OAAA,KAAK,EAAL,CAAK,CAAC;IAC/C,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAChC,KAAK,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;IAG/C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC/C,2BAA2B;QAC3B,gDAAgD;QAChD,8CAA8C;QAC9C,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,QAAQ,CAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC7E;AACH,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/_utils.js":{"lineLengths":[13,62,30,26,38,32,22,38,38,50,44,48,52,45,31,47,82,83,49,48,56,42,61,20,26,98,1,24,68,1,39,104,133,1,27,70,64,1,30,70,70,60,39,45,20,1,41,20,59,41,43,36,64,9,66,41,95,7,1,45,20,59,41,43,36,64,9,82,7,1,41,38,28,36,104,56,49,113,72,71,64,74,14,34,42,13,18,37,13,11,7,1,50,59,59,26,33,73,11,7,1,50,75,59,26,31,77,11,7,1,53,63,59,26,33,93,46,70,129,11,7,1,55,63,59,26,31,93,11,7,1,51,75,59,26,31,97,11,7,1,34],"data":{"version":3,"file":"_utils.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/_utils.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/config.js":{"lineLengths":[13,62,24,39,55,31,38,14,28,25,83,74,11,36,61,9,47,18,26,9,93,59,24,21,37,28,29,51,51,51,54,49,52,44,47,14,28,60,36,41,19,21,24,58,36,33,14,25,10,50,5,23,15,25,73,123,56,29,60,29,17,63,37,17,83,47,37,17,13,9,21,5,23,20,40,25,46,9,40,47,65,9,47,74,9,60,49,9,63,52,9,14,33,98,9,71,63,9,28,5,11,27,5,26,35,92,9,14,29,9,5,22,42,5,17,34,5,26,34,5,18,91,44,9,42,5,20,55,44,9,26,39,44,57,29,22,13,9,30,66,9,5,1,24,34],"data":{"version":3,"file":"config.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/config.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/version.js":{"lineLengths":[13,62,50,48,12,21,38,29,29,37,37,37,29,29,29,29,29,29,29,29,29,31,48,38,32,33,28,5,39,33,20,38,5,27,36,5,26,1,35],"data":{"version":3,"file":"version.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/version.ts"],"names":[],"mappings":";;;AAqBA,gDAeC;AApCD,IAAY,OAiBX;AAjBD,WAAY,OAAO;IACjB,iCAAsB,CAAA;IACtB,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,gCAAqB,CAAA;IACrB,gCAAqB,CAAA;IACrB,gCAAqB,CAAA;IACrB,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,0BAAe,CAAA;AACjB,CAAC,EAjBW,OAAO,uBAAP,OAAO,QAiBlB;AAEY,QAAA,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;AAE3C,SAAgB,kBAAkB,CAAC,CAAU;IAC3C,IAAI,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,mBAAmB,GAAG,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACxB,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/artifacts_rules.js":{"lineLengths":[13,62,32,33,22,23,23,27,34,50,45,70,53,35,17,13,9,19,5,1,40,43],"data":{"version":3,"file":"artifacts_rules.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/artifacts_rules.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AAEjC,MAAa,cAAc;IAElB,MAAM,CAAC,QAAQ;QACpB,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,MAAM,IAAI,GAAQ,KAAK,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAU,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,sDAAsD;gBAC9C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,47,44,53,58,59,58,57,56,46,52,57,69,54,52,53,62,54,51,51,47,50,48,49,56,64,58,63,48,56,51,53,66,49,46,58,56,57,52,54,49,45,50,58,60,52,52,50,50,46,57,64,56,57,57,53,68,55,49,57,55,59,57,45,54,61,48,61,58,56,70,49,67,53,48,51,55,64,57,49,55,53,70,54,51,61,50,62,59,50,62,53,50,44,60,47,58,59,67,48,57,55,53,50,55,56,57,51,56,49,57,49,57,50,50,51,63,66,51,63,60,59,60,49,56,55,56,55,59,60,53,47,53,59,53,55,53,62,57,49,61,47,53,54,52,62,60,54,57,49,55,50,57,55,55,53,49,48,50,51,49,53,56,63,52,44,53,51,52,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/index.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/7bit_ascii.js":{"lineLengths":[13,62,59,36,42,61,37,70,1,46,21,19,44,5,19,16,30,42,79,76,0,86,0,53,48,37,69,10,5,22,20,5,17,25,5,21,25,5,14,26,44,48,77,47,55,66,41,55,77,79,77,131,43,21,84,65,59,44,58,77,79,67,131,43,21,17,13,9,22,5,1,38,38],"data":{"version":3,"file":"7bit_ascii.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/7bit_ascii.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/issue.js":{"lineLengths":[13,62,23,41,57,41,13,30,53,54,88,99,26,41,20,16,18,16,21,11,5,88,123,5,65,35,88,99,26,41,20,16,18,16,28,21,11,5,81,61,57,99,26,41,20,16,18,16,28,21,11,5,85,99,26,41,20,16,18,16,28,21,29,11,5,62,99,26,41,20,16,36,32,21,28,11,5,74,99,26,31,20,16,36,32,21,28,11,5,66,99,26,47,20,16,41,37,21,28,11,5,23,25,76,43,45,9,43,52,9,46,50,9,5,15,25,5,18,33,5,14,29,5,16,31,5,14,29,5,19,34,5,21,36,5,27,42,5,19,34,5,1,22,33],"data":{"version":3,"file":"issue.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/issue.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/position.js":{"lineLengths":[13,62,26,26,16,27,23,23,5,14,24,5,14,24,5,16,77,5,15,66,5,17,76,5,23,53,5,1,28,36],"data":{"version":3,"file":"position.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/position.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AAC1B,MAAa,QAAQ;IAInB,YAAmB,GAAW,EAAE,GAAW;QACzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,OAAO,CAAC,CAAW;QACxB,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;IAEM,MAAM,CAAC,CAAW;QACvB,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5D,CAAC;IAEM,QAAQ,CAAC,CAAW;QACzB,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IAEM,SAAS,CAAC,EAAY,EAAE,EAAY;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF;AAhCD,4BAgCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/virtual_position.js":{"lineLengths":[13,62,33,41,27,51,36,50,24,24,5,15,46,25,9,25,92,5,1,42,44],"data":{"version":3,"file":"virtual_position.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/virtual_position.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAEpC,2BAA2B;AAE3B,MAAa,eAAgB,SAAQ,mBAAQ;IAI3C,YAAmB,OAAiB,EAAE,GAAW,EAAE,GAAW;QAC5D,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,CAAW;QACvB,IAAI,CAAC,CAAC,CAAC,YAAY,eAAe,CAAC,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAoB,CAAoB,CAAC;QACrD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;IACtF,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/severity.js":{"lineLengths":[13,62,26,13,22,32,36,30,51,36],"data":{"version":3,"file":"severity.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/severity.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,+BAAmB,CAAA;IACnB,yBAAa,CAAA;AACf,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/_basic_rule_config.js":{"lineLengths":[13,62,33,42,23,19,80,26,31,50,5,1,42,46],"data":{"version":3,"file":"_basic_rule_config.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/_basic_rule_config.ts"],"names":[],"mappings":";;;AAAA,0CAAqC;AAErC,MAAsB,eAAe;IAArC;QACE,wEAAwE;QACjE,YAAO,GAAc,EAAE,CAAC;QAC/B,uBAAuB;QAChB,aAAQ,GAAc,mBAAQ,CAAC,KAAK,CAAC;IAC9C,CAAC;CAAA;AALD,0CAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/_irule.js":{"lineLengths":[13,62,25,12,21,45,61,33,37,41,33,37,43,33,37,56,41,116,41,48,34],"data":{"version":3,"file":"_irule.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/_irule.ts"],"names":[],"mappings":";;;AAIA,IAAY,OAeX;AAfD,WAAY,OAAO;IACjB,wCAA6B,CAAA;IAC7B,wDAA6C,CAAA;IAC7C,4BAAiB,CAAA;IACjB,gCAAqB,CAAA;IACrB,oCAAyB,CAAA;IACzB,4BAAiB,CAAA;IACjB,gCAAqB,CAAA;IACrB,sCAA2B,CAAA;IAC3B,4BAAiB,CAAA;IACjB,gCAAqB,CAAA;IACrB,oDAAoD;IACpD,oCAAyB,CAAA;IACzB,gHAAgH;IAChH,oCAAyB,CAAA;AAC3B,CAAC,EAfW,OAAO,uBAAP,OAAO,QAelB"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/abapdoc.js":{"lineLengths":[13,62,47,45,61,36,70,37,64,19,28,62,32,37,41,53,38,5,1,34,45,19,28,38,5,19,16,27,35,66,127,0,37,0,100,77,10,5,17,25,5,21,25,5,21,19,26,39,54,45,65,25,71,78,25,13,89,25,13,116,53,80,122,108,135,39,17,13,9,79,82,25,13,59,57,84,122,116,139,39,17,13,9,39,49,25,13,90,50,25,13,54,68,138,133,39,17,142,130,133,39,17,77,145,133,39,17,13,9,22,5,27,43,61,24,67,26,61,9,27,83,104,55,38,30,65,63,26,17,35,13,9,20,5,1,26,35],"data":{"version":3,"file":"abapdoc.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/abapdoc.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/_abap_rule.js":{"lineLengths":[13,62,26,58,16,21,23,20,5,14,58,22,9,25,26,49,54,9,22,5,1,28,38],"data":{"version":3,"file":"_abap_rule.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/_abap_rule.ts"],"names":[],"mappings":";;;AAEA,0DAAmD;AAKnD,MAAsB,QAAQ;IASrB,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,GAAiB,CAAC;QAC/B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA7BD,4BA6BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/_abap_object.js":{"lineLengths":[13,62,28,57,44,53,60,41,60,5,23,20,25,31,5,18,46,5,39,39,50,9,89,97,36,33,27,93,5,16,38,31,25,5,20,27,5,33,38,47,25,13,9,25,5,23,70,119,49,54,28,13,9,24,49,55,28,13,9,25,5,16,39,45,9,26,5,23,27,24,318,19,9,107,71,42,60,17,34,40,29,17,98,13,9,5,1,32,40],"data":{"version":3,"file":"_abap_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/_abap_object.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/_abstract_object.js":{"lineLengths":[13,62,32,53,72,66,42,22,23,25,24,22,27,5,24,24,5,42,46,5,15,25,5,16,26,5,19,24,30,5,16,26,5,28,37,47,28,13,9,21,5,22,24,53,69,40,23,13,9,54,5,15,26,5,21,83,39,33,29,9,140,5,18,69,121,123,45,99,28,13,9,58,45,54,28,13,9,25,5,14,39,19,33,9,25,5,22,24,53,69,37,23,13,9,54,5,17,34,32,29,9,13,131,9,20,29,9,5,1,40,44],"data":{"version":3,"file":"_abstract_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/_abstract_object.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/4_file_information/_identifier.js":{"lineLengths":[13,62,28,18,34,27,33,5,15,39,62,40,34,9,20,5,16,62,52,55,5,16,26,5,19,29,5,16,37,5,14,35,5,1,32,39],"data":{"version":3,"file":"_identifier.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/4_file_information/_identifier.ts"],"names":[],"mappings":";;;AAGA,MAAa,UAAU;IAIrB,YAAmB,KAAoB,EAAE,QAAgB;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAE/B,sDAAsD;QACtD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,EAAc;QAC1B,sDAAsD;QACtD,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;eACvC,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;CACF;AAzCD,gCAyCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/identifier.js":{"lineLengths":[13,62,28,53,57,1,32,38],"data":{"version":3,"file":"identifier.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/identifier.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,UAAW,SAAQ,8BAAa;CAE5C;AAFD,gCAEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/abstract_token.js":{"lineLengths":[13,62,31,48,21,29,27,23,5,99,41,54,5,14,24,5,14,35,5,14,35,5,16,26,5,14,99,5,1,38,42],"data":{"version":3,"file":"abstract_token.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/abstract_token.ts"],"names":[],"mappings":";;;AAAA,gDAA2C;AAE3C,MAAsB,aAAa;IAIjC,YAAmB,KAAe,EAAE,GAAW;QAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,+FAA+F;IACxF,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACtC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAChD,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClF,CAAC;CACF;AAjCD,sCAiCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/xml_utils.js":{"lineLengths":[13,62,32,28,27,29,18,5,53,20,5,10,22,5,1,24,28,18,5,37,36,36,39,38,15,1,37],"data":{"version":3,"file":"xml_utils.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/xml_utils.ts"],"names":[],"mappings":";;AAAA,gCAQC;AAED,4BAUC;AApBD,SAAgB,UAAU,CAAC,IAAS;IAClC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,yBAAyB;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,GAAuB;IAC9C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAChC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAChC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/abap_parser.js":{"lineLengths":[13,62,28,40,43,70,70,86,43,18,45,68,61,23,5,41,18,26,26,33,20,30,71,46,24,30,131,50,24,30,42,69,34,108,101,42,9,50,31,24,19,33,113,10,5,1,32,39],"data":{"version":3,"file":"abap_parser.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/abap_parser.ts"],"names":[],"mappings":";;;AAEA,wCAAmD;AACnD,2CAAsC;AACtC,sEAAgE;AAChE,sEAAgE;AAEhE,sFAA+E;AAC/E,2CAAqC;AAWrC,MAAa,UAAU;IAKrB,YAAmB,OAAiB,EAAE,YAAgC,EAAE,GAAe;QACrF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAc,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,qCAAqC;IAC9B,KAAK,CAAC,KAAuB;QAClC,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,YAAY;QACR,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,WAAW,GAAgC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,aAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAE1C,gBAAgB;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,IAAI,kCAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxG,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAE9C,gBAAgB;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,kCAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAE5C,sBAAsB;YAChB,MAAM,IAAI,GAAG,IAAI,2CAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAExE,MAAM,CAAC,IAAI,CAAC,IAAI,oBAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAE1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,OAAO,EAAC,MAAM;YACZ,MAAM;YACN,OAAO,EAAE,GAAG,GAAG,KAAK;YACpB,YAAY,EAAE,EAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAAC;SACnG,CAAC;IACJ,CAAC;CAEF;AAlDD,gCAkDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/lexer.js":{"lineLengths":[13,62,23,45,61,37,49,49,13,19,28,26,25,30,29,28,5,24,31,25,33,36,45,5,11,43,27,45,45,36,58,96,85,39,17,13,35,48,145,34,13,67,31,103,13,32,46,51,13,75,55,13,52,42,52,52,62,17,80,67,17,81,65,17,104,68,17,22,58,17,13,63,50,13,38,45,59,17,37,70,65,21,52,64,21,51,64,21,26,63,21,17,37,70,63,21,52,62,21,51,62,21,26,61,21,17,37,70,66,21,52,65,21,51,65,21,26,64,21,17,37,70,64,21,52,63,21,51,63,21,26,62,21,17,37,70,58,21,52,57,21,51,57,21,26,56,21,17,37,70,58,21,52,57,21,51,57,21,26,56,21,17,37,70,56,21,52,55,21,51,55,21,26,54,21,17,13,38,33,70,67,21,52,66,21,51,66,21,26,65,21,17,38,70,65,21,52,64,21,51,64,21,26,63,21,17,13,36,54,13,34,9,28,5,18,77,55,26,27,27,27,27,27,27,27,27,27,27,28,28,24,25,25,25,25,25,25,25,25,25,18,54,49,49,54,45,36,31,17,41,35,31,42,17,58,37,31,47,17,41,33,31,43,17,43,35,31,45,17,39,61,36,31,46,17,68,31,17,40,41,31,17,40,36,92,29,31,17,41,33,61,31,17,13,138,32,27,41,13,45,33,34,34,32,50,30,27,36,46,17,22,45,17,13,49,33,55,96,34,27,41,13,49,32,38,27,13,44,34,33,34,32,50,32,27,37,46,17,22,45,17,13,70,27,41,13,72,27,13,41,22,13,9,19,5,1,22,33],"data":{"version":3,"file":"lexer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/lexer.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,39,40,40,41,49,50,50,51,50,51,51,52,51,52,52,53,47,48,48,49,48,49,49,50,41,42,42,43,41,42,42,43,49,50,50,51,43,52,58,56,59,42,44,47,43,48,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,wCAAsB;AACtB,wCAAsB;AACtB,yCAAuB;AAEvB,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AAEjC,kDAAgC;AAChC,mDAAiC;AACjC,mDAAiC;AACjC,oDAAkC;AAElC,mDAAiC;AACjC,oDAAkC;AAClC,oDAAkC;AAClC,qDAAmC;AAEnC,+CAA6B;AAC7B,gDAA8B;AAC9B,gDAA8B;AAC9B,iDAA+B;AAE/B,gDAA8B;AAC9B,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC;AAEhC,yCAAuB;AACvB,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AAEzB,yCAAuB;AACvB,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AAEzB,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AAEjC,2CAAyB;AACzB,oDAAkC;AAClC,0DAAwC;AACxC,wDAAsC;AACtC,2DAAyC;AAEzC,0CAAwB;AACxB,4CAA0B;AAC1B,+CAA6B;AAC7B,2CAAyB;AACzB,gDAA8B"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/at.js":{"lineLengths":[13,62,20,53,49,23,19,5,1,16,30],"data":{"version":3,"file":"at.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/at.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,EAAG,SAAQ,8BAAa;IAC5B,MAAM,CAAC,QAAQ;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAJD,gBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/atw.js":{"lineLengths":[13,62,21,53,50,23,20,5,1,18,31],"data":{"version":3,"file":"atw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/atw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,GAAI,SAAQ,8BAAa;IAC7B,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,kBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wat.js":{"lineLengths":[13,62,21,53,50,23,20,5,1,18,31],"data":{"version":3,"file":"wat.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wat.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,GAAI,SAAQ,8BAAa;IAC7B,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,kBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/watw.js":{"lineLengths":[13,62,22,53,51,23,21,5,1,20,32],"data":{"version":3,"file":"watw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/watw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,IAAK,SAAQ,8BAAa;IAC9B,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,oBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/bracket_left.js":{"lineLengths":[13,62,29,53,58,23,19,5,1,34,40],"data":{"version":3,"file":"bracket_left.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/bracket_left.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,WAAY,SAAQ,8BAAa;IACrC,MAAM,CAAC,QAAQ;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wbracket_left.js":{"lineLengths":[13,62,30,53,59,23,20,5,1,36,41],"data":{"version":3,"file":"wbracket_left.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wbracket_left.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,YAAa,SAAQ,8BAAa;IACtC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/bracket_leftw.js":{"lineLengths":[13,62,30,53,59,23,20,5,1,36,41],"data":{"version":3,"file":"bracket_leftw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/bracket_leftw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,YAAa,SAAQ,8BAAa;IACtC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js":{"lineLengths":[13,62,31,53,60,23,21,5,1,38,42],"data":{"version":3,"file":"wbracket_leftw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wbracket_leftw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,aAAc,SAAQ,8BAAa;IACvC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/bracket_right.js":{"lineLengths":[13,62,30,53,59,23,19,5,1,36,41],"data":{"version":3,"file":"bracket_right.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/bracket_right.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,YAAa,SAAQ,8BAAa;IACtC,MAAM,CAAC,QAAQ;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wbracket_right.js":{"lineLengths":[13,62,31,53,60,23,20,5,1,38,42],"data":{"version":3,"file":"wbracket_right.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wbracket_right.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,aAAc,SAAQ,8BAAa;IACvC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/bracket_rightw.js":{"lineLengths":[13,62,31,53,60,23,20,5,1,38,42],"data":{"version":3,"file":"bracket_rightw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/bracket_rightw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,aAAc,SAAQ,8BAAa;IACvC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js":{"lineLengths":[13,62,32,53,61,23,21,5,1,40,43],"data":{"version":3,"file":"wbracket_rightw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wbracket_rightw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,cAAe,SAAQ,8BAAa;IACxC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/instance_arrow.js":{"lineLengths":[13,62,31,53,60,23,20,5,1,38,42],"data":{"version":3,"file":"instance_arrow.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/instance_arrow.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,aAAc,SAAQ,8BAAa;IACvC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/winstance_arrow.js":{"lineLengths":[13,62,32,53,61,23,21,5,1,40,43],"data":{"version":3,"file":"winstance_arrow.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/winstance_arrow.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,cAAe,SAAQ,8BAAa;IACxC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/instance_arroww.js":{"lineLengths":[13,62,32,53,61,23,21,5,1,40,43],"data":{"version":3,"file":"instance_arroww.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/instance_arroww.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,cAAe,SAAQ,8BAAa;IACxC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/winstance_arroww.js":{"lineLengths":[13,62,33,53,62,23,22,5,1,42,44],"data":{"version":3,"file":"winstance_arroww.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/winstance_arroww.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,eAAgB,SAAQ,8BAAa;IACzC,MAAM,CAAC,QAAQ;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAJD,0CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/paren_left.js":{"lineLengths":[13,62,27,53,56,23,19,5,1,30,38],"data":{"version":3,"file":"paren_left.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/paren_left.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,SAAU,SAAQ,8BAAa;IACnC,MAAM,CAAC,QAAQ;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAJD,8BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wparen_left.js":{"lineLengths":[13,62,28,53,57,23,20,5,1,32,39],"data":{"version":3,"file":"wparen_left.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wparen_left.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,UAAW,SAAQ,8BAAa;IACpC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/paren_leftw.js":{"lineLengths":[13,62,28,53,57,23,20,5,1,32,39],"data":{"version":3,"file":"paren_leftw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/paren_leftw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,UAAW,SAAQ,8BAAa;IACpC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wparen_leftw.js":{"lineLengths":[13,62,29,53,58,23,21,5,1,34,40],"data":{"version":3,"file":"wparen_leftw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wparen_leftw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,WAAY,SAAQ,8BAAa;IACrC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/paren_right.js":{"lineLengths":[13,62,28,53,57,23,19,5,1,32,39],"data":{"version":3,"file":"paren_right.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/paren_right.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,UAAW,SAAQ,8BAAa;IACpC,MAAM,CAAC,QAAQ;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wparen_right.js":{"lineLengths":[13,62,29,53,58,23,20,5,1,34,40],"data":{"version":3,"file":"wparen_right.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wparen_right.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,WAAY,SAAQ,8BAAa;IACrC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/paren_rightw.js":{"lineLengths":[13,62,29,53,58,23,20,5,1,34,40],"data":{"version":3,"file":"paren_rightw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/paren_rightw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,WAAY,SAAQ,8BAAa;IACrC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wparen_rightw.js":{"lineLengths":[13,62,30,53,59,23,21,5,1,36,41],"data":{"version":3,"file":"wparen_rightw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wparen_rightw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,YAAa,SAAQ,8BAAa;IACtC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/dash.js":{"lineLengths":[13,62,22,53,51,23,19,5,1,20,32],"data":{"version":3,"file":"dash.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/dash.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,IAAK,SAAQ,8BAAa;IAC9B,MAAM,CAAC,QAAQ;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAJD,oBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wdash.js":{"lineLengths":[13,62,23,53,52,23,20,5,1,22,33],"data":{"version":3,"file":"wdash.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wdash.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,KAAM,SAAQ,8BAAa;IAC/B,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,sBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/dashw.js":{"lineLengths":[13,62,23,53,52,23,20,5,1,22,33],"data":{"version":3,"file":"dashw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/dashw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,KAAM,SAAQ,8BAAa;IAC/B,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,sBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wdashw.js":{"lineLengths":[13,62,24,53,53,23,21,5,1,24,34],"data":{"version":3,"file":"wdashw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wdashw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,MAAO,SAAQ,8BAAa;IAChC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,wBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/plus.js":{"lineLengths":[13,62,22,53,51,23,19,5,1,20,32],"data":{"version":3,"file":"plus.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/plus.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,IAAK,SAAQ,8BAAa;IAC9B,MAAM,CAAC,QAAQ;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAJD,oBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wplus.js":{"lineLengths":[13,62,23,53,52,23,20,5,1,22,33],"data":{"version":3,"file":"wplus.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wplus.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,KAAM,SAAQ,8BAAa;IAC/B,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,sBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/plusw.js":{"lineLengths":[13,62,23,53,52,23,20,5,1,22,33],"data":{"version":3,"file":"plusw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/plusw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,KAAM,SAAQ,8BAAa;IAC/B,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,sBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wplusw.js":{"lineLengths":[13,62,24,53,53,23,21,5,1,24,34],"data":{"version":3,"file":"wplusw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wplusw.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,MAAO,SAAQ,8BAAa;IAChC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,wBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/static_arrow.js":{"lineLengths":[13,62,29,53,58,23,20,5,1,34,40],"data":{"version":3,"file":"static_arrow.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/static_arrow.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,WAAY,SAAQ,8BAAa;IACrC,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js":{"lineLengths":[13,62,30,53,59,23,21,5,1,36,41],"data":{"version":3,"file":"wstatic_arrow.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wstatic_arrow.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,YAAa,SAAQ,8BAAa;IACtC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/static_arroww.js":{"lineLengths":[13,62,30,53,59,23,21,5,1,36,41],"data":{"version":3,"file":"static_arroww.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/static_arroww.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,YAAa,SAAQ,8BAAa;IACtC,MAAM,CAAC,QAAQ;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js":{"lineLengths":[13,62,31,53,60,23,22,5,1,38,42],"data":{"version":3,"file":"wstatic_arroww.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/wstatic_arroww.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,aAAc,SAAQ,8BAAa;IACvC,MAAM,CAAC,QAAQ;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string.js":{"lineLengths":[13,62,29,53,58,1,34,34],"data":{"version":3,"file":"string.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/string.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,WAAY,SAAQ,8BAAa;CAE7C;AAFD,kCAEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string_template.js":{"lineLengths":[13,62,32,53,61,1,40,43],"data":{"version":3,"file":"string_template.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/string_template.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,cAAe,SAAQ,8BAAa;CAChD;AADD,wCACC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string_template_begin.js":{"lineLengths":[13,62,37,53,66,1,50,49],"data":{"version":3,"file":"string_template_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/string_template_begin.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,mBAAoB,SAAQ,8BAAa;CACrD;AADD,kDACC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string_template_end.js":{"lineLengths":[13,62,35,53,64,1,46,47],"data":{"version":3,"file":"string_template_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/string_template_end.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,iBAAkB,SAAQ,8BAAa;CACnD;AADD,8CACC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/string_template_middle.js":{"lineLengths":[13,62,38,53,67,1,52,50],"data":{"version":3,"file":"string_template_middle.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/string_template_middle.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,MAAa,oBAAqB,SAAQ,8BAAa;CACtD;AADD,oDACC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/colon.js":{"lineLengths":[13,62,23,53,52,1,22,33],"data":{"version":3,"file":"colon.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/colon.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,KAAM,SAAQ,8BAAa;CAEvC;AAFD,sBAEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/comment.js":{"lineLengths":[13,62,25,53,54,1,26,35],"data":{"version":3,"file":"comment.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/comment.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,OAAQ,SAAQ,8BAAa;CAEzC;AAFD,0BAEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/pragma.js":{"lineLengths":[13,62,24,53,53,1,24,34],"data":{"version":3,"file":"pragma.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/pragma.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,MAAO,SAAQ,8BAAa;CAExC;AAFD,wBAEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/tokens/punctuation.js":{"lineLengths":[13,62,29,53,58,1,34,39],"data":{"version":3,"file":"punctuation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/tokens/punctuation.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,MAAa,WAAY,SAAQ,8BAAa;CAE7C;AAFD,kCAEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/lexer_buffer.js":{"lineLengths":[13,62,29,19,19,22,5,12,32,24,5,11,24,5,13,22,5,23,22,54,46,27,13,9,31,5,1,34,40],"data":{"version":3,"file":"lexer_buffer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/lexer_buffer.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IAGtB;QACE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAEM,GAAG,CAAC,CAAS;QAClB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAEM,WAAW,CAAC,IAAY;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF;AA7BD,kCA6BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/1_lexer/lexer_stream.js":{"lineLengths":[13,62,29,19,22,25,23,21,21,5,15,42,25,36,9,46,36,25,9,32,38,20,5,14,24,5,14,24,5,16,34,22,9,51,5,20,34,22,9,51,5,19,30,88,9,50,22,9,47,5,16,48,22,9,51,5,20,48,35,9,51,5,14,24,5,17,27,5,1,34,40],"data":{"version":3,"file":"lexer_stream.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/1_lexer/lexer_stream.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IAMtB,YAAmB,GAAW;QAJtB,WAAM,GAAG,CAAC,CAAC,CAAC;QAKlB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACf,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAExB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEM,WAAW;QAChB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,CAAC,+DAA+D;QAC9E,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAjFD,kCAiFC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statement_parser.js":{"lineLengths":[13,62,64,43,45,44,36,44,35,56,51,46,36,20,19,22,71,48,33,74,13,36,38,62,17,22,60,17,13,9,5,17,48,32,22,9,43,34,53,13,9,19,5,1,16,31,25,29,29,5,34,80,54,33,5,16,85,5,37,23,34,47,9,34,47,9,19,5,1,23,31,35,53,9,31,23,5,35,30,94,66,29,28,31,46,9,29,66,42,47,36,13,30,9,41,5,73,27,23,33,47,9,19,5,89,86,91,21,26,46,129,66,70,63,75,65,62,71,94,50,61,25,154,117,134,42,34,25,21,17,13,35,9,31,5,25,23,26,41,49,49,80,13,41,35,9,19,5,19,24,56,47,41,50,127,27,13,36,54,62,32,17,67,150,17,13,9,5,93,20,26,48,61,9,31,5,32,30,50,47,70,44,49,116,9,67,32,50,13,61,96,34,13,76,104,13,9,25,5,26,26,27,55,53,32,45,32,13,18,31,13,9,52,5,22,45,72,36,111,9,76,80,24,55,56,113,13,9,60,58,80,24,55,56,113,13,9,25,5,86,41,67,17,21,21,30,40,50,131,25,13,28,39,35,34,51,29,29,38,17,57,51,29,17,62,34,69,37,29,17,39,69,17,13,9,29,43,9,5,1,42,44],"data":{"version":3,"file":"statement_parser.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statement_parser.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,44,44,62,68,41,43,42,46,58,44,41,51,57,46,47,53,51,48,39,45,55,42,51,41,42,47,39,49,46,43,42,46,52,50,49,48,50,44,40,48,52,43,41,44,43,42,48,42,45,40,43,43,43,45,45,42,46,44,47,44,41,50,43,41,56,51,48,53,57,46,41,44,51,49,48,41,45,43,45,52,41,41,47,47,43,50,52,52,50,54,44,46,52,45,43,41,50,50,45,54,45,48,49,48,52,48,53,52,53,45,52,52,51,48,60,45,54,55,42,45,48,41,44,46,41,44,45,52,52,55,52,52,52,42,43,46,41,41,55,45,54,56,60,48,45,41,46,46,45,48,50,56,43,48,44,48,49,48,46,43,42,43,43,43,51,47,50,45,46,49,46,44,44,43,43,44,41,54,59,49,47,48,43,42,40,45,43,41,43,43,45,44,39,40,42,46,44,42,46,45,45,45,49,50,51,49,42,58,51,55,46,50,53,43,48,52,41,42,54,44,55,52,50,52,43,48,42,52,40,49,44,43,44,45,43,43,49,44,47,52,50,50,56,49,50,50,58,56,46,50,48,49,44,50,50,52,44,49,50,48,48,52,47,46,41,44,47,47,48,50,49,44,50,43,46,48,42,52,50,47,48,53,43,41,42,47,45,47,45,48,44,47,45,49,51,55,46,50,50,44,44,49,52,46,48,52,52,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/index.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/data.js":{"lineLengths":[13,62,22,36,48,12,18,108,5,1,20,32],"data":{"version":3,"file":"data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/data.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,gDAA8C;AAG9C,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,4BAAc,EAAE,IAAA,eAAO,EAAC,cAAc,CAAC,CAAC,CAAC;IAC9D,CAAC;CAEF;AAND,oBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/combi.js":{"lineLengths":[13,62,44,18,22,18,18,18,26,18,26,18,20,28,20,28,18,24,40,28,44,36,43,37,13,20,24,5,20,18,5,16,18,5,12,26,32,48,25,13,39,60,76,13,9,22,5,16,90,5,13,38,5,13,20,5,1,12,20,33,5,20,24,5,16,18,5,12,26,32,45,68,74,78,13,9,22,5,16,57,5,13,36,5,13,24,5,1,13,20,36,5,20,18,5,16,18,5,12,26,32,45,79,78,13,9,22,5,16,29,28,37,76,46,22,13,9,56,5,13,45,5,13,20,5,1,12,40,31,33,21,5,20,44,5,12,49,51,40,9,64,56,26,13,18,44,13,9,94,40,9,14,22,9,5,16,40,5,16,32,22,37,9,56,18,25,38,16,5,13,56,5,13,37,5,1,15,36,31,33,5,20,44,5,16,40,5,12,50,40,9,14,22,9,5,16,60,26,25,38,16,5,13,59,5,13,37,5,1,24,27,33,5,20,44,5,16,40,5,12,26,32,51,33,36,13,40,35,13,74,36,13,18,35,13,9,22,5,16,69,5,13,52,5,13,20,5,1,16,27,33,5,20,44,5,16,40,5,12,26,32,31,51,32,9,22,5,16,69,5,13,52,5,13,20,5,1,12,22,23,5,20,39,5,16,35,5,12,23,13,24,27,22,28,42,39,26,17,40,43,48,17,22,40,17,13,9,21,47,30,13,22,9,34,22,5,16,66,5,13,48,5,13,20,5,1,20,22,23,5,20,39,5,16,35,5,12,23,20,39,17,18,32,36,35,41,75,55,43,57,41,55,25,21,17,22,13,23,9,22,5,16,66,5,13,48,5,13,20,5,1,12,22,23,64,5,20,39,5,16,35,5,12,31,5,16,65,5,13,48,5,13,32,5,1,20,22,23,72,5,20,39,5,16,35,5,12,31,5,16,65,5,13,48,5,13,32,5,1,16,23,30,54,9,25,5,20,23,36,42,9,19,5,16,82,5,12,24,32,31,29,47,42,40,34,26,17,13,33,41,43,49,17,22,41,17,13,9,22,5,16,72,60,5,13,21,36,40,9,34,5,13,36,5,1,20,23,24,25,51,37,33,35,42,9,44,5,20,38,5,16,18,5,12,31,5,16,60,5,13,40,5,13,37,5,1,18,19,34,5,12,27,42,47,9,32,52,35,77,35,63,40,42,48,34,47,68,25,21,64,55,79,31,34,17,32,13,9,35,23,5,20,76,18,5,16,48,5,15,37,5,16,111,5,13,52,5,13,42,5,1,32,19,23,30,77,9,25,5,20,23,36,42,9,19,5,16,82,5,12,26,39,64,49,36,24,37,34,38,40,54,17,22,68,17,13,9,22,5,16,72,75,5,13,69,46,5,13,20,5,1,41,1,35,1,22,20,18,5,16,18,5,13,40,5,16,54,5,13,24,5,13,18,5,1,42,16,20,18,5,16,18,5,13,34,5,16,48,5,13,24,5,13,18,5,1,19,23,30,57,9,25,5,20,23,36,42,9,19,5,16,82,5,12,26,39,37,33,9,22,5,16,72,61,5,13,21,36,40,9,34,5,13,37,24,9,40,40,46,22,9,46,22,9,68,22,9,23,18,5,1,54,27,23,30,57,9,25,5,20,23,36,42,9,19,5,16,82,5,12,26,39,45,37,34,37,22,13,9,22,5,16,72,61,5,13,21,36,40,9,34,5,13,37,24,9,40,40,46,22,9,46,22,9,68,22,9,23,18,5,1,13,48,41,39,31,46,9,74,18,33,28,22,5,35,75,42,28,70,19,5,54,43,27,53,13,49,14,53,43,81,73,17,14,39,50,42,17,13,9,21,53,33,13,22,9,25,5,25,24,5,1,22,80,17,51,35,5,10,27,5,1,19,24,1,17,29,1,32,28,17,26,28,48,41,9,35,5,35,21,28,55,25,49,9,42,5,10,17,5,1,38,43,32,30,1,38,43,32,33,1,42,43,32,41,1,21,36,1,25,44,1,38,43,32,33,1,22,32,1,26,40,1,22,32,1,26,40,1,34,45,1,33,44,1,27,32,1,21,26,1,33],"data":{"version":3,"file":"combi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/combi.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,52,51,51,47,53,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/nodes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,+CAA6B;AAC7B,qDAAmC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/expression_node.js":{"lineLengths":[13,62,32,45,46,53,60,29,16,37,5,11,31,5,19,20,45,40,9,19,5,21,49,41,9,70,5,34,21,17,47,51,25,13,29,37,13,84,54,43,13,18,63,54,17,22,53,17,13,25,9,19,5,20,21,17,47,51,25,13,29,37,13,84,54,43,13,18,49,13,25,9,19,5,45,21,17,47,49,56,59,64,65,65,25,13,29,37,13,84,54,43,13,18,49,13,25,9,19,5,42,17,26,45,45,9,22,5,17,26,50,33,26,9,42,54,37,13,18,49,13,9,22,5,20,42,20,40,9,69,5,20,23,49,58,38,13,18,50,13,9,19,5,23,23,49,58,38,13,9,19,5,32,49,81,29,13,9,25,5,36,44,55,34,41,51,72,52,28,13,9,25,5,33,23,49,81,32,13,9,19,5,38,23,49,50,39,51,40,30,21,17,13,9,19,5,33,42,49,107,35,13,9,25,5,39,23,49,58,25,13,51,32,13,65,9,19,5,30,23,49,58,25,13,51,32,13,18,60,13,9,19,5,54,23,49,58,25,13,38,35,47,36,17,13,62,76,13,9,19,5,31,41,24,9,49,58,25,13,51,29,13,18,60,26,31,17,13,9,25,5,1,40,43],"data":{"version":3,"file":"expression_node.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/nodes/expression_node.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/token_node.js":{"lineLengths":[13,62,27,17,24,27,5,18,62,5,28,62,5,19,18,5,20,35,5,11,26,5,19,17,5,21,26,5,20,26,5,1,30,38],"data":{"version":3,"file":"token_node.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/nodes/token_node.ts"],"names":[],"mappings":";;;AAGA,MAAa,SAAS;IAGpB,YAAmB,KAAoB;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ,CAAC,EAAS;QACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAEM,WAAW,CAAC,SAAkB;QACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAEM,WAAW;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,WAAW;QAChB,OAAO,CAAC,CAAC;IACX,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAtCD,8BAsCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/_abstract_node.js":{"lineLengths":[13,62,30,20,19,27,5,17,30,5,27,33,5,19,29,5,21,32,5,20,55,5,1,36,42],"data":{"version":3,"file":"_abstract_node.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/nodes/_abstract_node.ts"],"names":[],"mappings":";;;AAGA,MAAsB,YAAY;IAGhC;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAMM,QAAQ,CAAC,CAAI;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAEM,WAAW,CAAC,QAAa;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;CAEF;AA/BD,oCA+BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/statement_node.js":{"lineLengths":[13,62,31,53,45,55,55,53,53,85,79,83,71,59,44,16,35,27,22,35,9,14,30,9,5,11,30,5,16,26,5,18,28,5,27,36,56,9,33,20,5,16,47,5,14,41,29,5,17,26,45,45,9,22,5,27,43,57,28,13,9,21,5,21,26,45,50,9,22,5,20,21,17,47,51,25,13,29,37,13,84,54,43,13,18,49,13,25,9,19,5,27,21,17,47,51,25,13,86,89,29,37,13,43,67,47,43,13,18,49,13,25,9,19,5,45,21,17,47,50,56,68,79,81,78,25,13,29,37,13,84,54,43,13,18,49,13,25,9,19,5,21,44,5,21,49,41,9,101,5,20,42,34,40,9,68,5,32,49,99,29,13,9,25,5,33,23,49,99,32,13,9,19,5,33,41,49,106,35,13,9,25,5,31,49,58,25,13,51,29,13,18,60,26,31,17,13,9,25,5,30,23,49,58,25,13,51,32,13,18,60,13,9,19,5,39,23,49,58,25,13,51,32,13,65,9,19,5,54,23,49,58,25,13,38,35,47,36,17,13,62,76,13,9,19,5,7,72,76,45,47,7,46,17,47,50,56,68,79,81,78,25,13,167,39,13,18,29,13,9,25,5,36,44,55,34,41,51,72,70,28,13,9,25,5,37,44,23,55,34,41,51,72,70,31,13,9,19,5,36,17,26,50,33,26,9,42,54,37,13,18,49,13,9,22,5,22,26,50,27,26,9,42,54,31,13,18,54,13,9,22,5,1,38,42],"data":{"version":3,"file":"statement_node.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/nodes/statement_node.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/structure_node.js":{"lineLengths":[13,62,31,53,53,59,28,16,35,5,11,30,5,73,22,49,33,28,13,71,25,13,18,51,26,31,17,13,9,25,5,20,24,49,51,9,22,5,31,49,97,29,13,9,25,5,32,23,49,97,32,13,9,19,5,32,23,49,80,32,13,9,19,5,30,49,46,29,13,71,25,13,18,59,26,31,17,13,9,25,5,31,49,56,22,27,13,9,25,5,25,49,66,29,13,45,9,25,5,21,43,34,41,9,73,5,20,42,34,40,9,72,5,30,23,49,56,9,19,5,39,23,49,66,69,13,18,69,13,9,19,5,35,23,49,61,9,19,5,29,23,49,49,59,13,51,32,13,9,19,5,29,23,49,66,32,13,18,59,13,9,19,5,38,23,49,66,25,13,51,32,13,64,9,19,5,34,23,31,42,30,13,9,49,66,25,13,30,35,46,36,33,17,13,34,64,13,9,19,5,29,23,41,26,9,49,66,25,13,51,32,13,18,59,13,9,19,5,31,41,24,9,49,46,29,13,9,25,5,30,41,24,9,49,66,25,13,51,29,13,18,59,26,31,17,13,9,25,5,1,38,42],"data":{"version":3,"file":"structure_node.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/nodes/structure_node.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/nodes/token_node_regex.js":{"lineLengths":[13,62,32,45,53,1,40,44],"data":{"version":3,"file":"token_node_regex.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/nodes/token_node_regex.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAGvC,MAAa,cAAe,SAAQ,sBAAS;CAC5C;AADD,wCACC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/result.js":{"lineLengths":[13,62,24,14,44,68,32,29,37,27,39,28,9,5,12,44,5,17,38,22,64,5,15,32,5,16,26,5,17,23,5,23,52,5,1,24,34],"data":{"version":3,"file":"result.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/result.ts"],"names":[],"mappings":";;;AAIA,MAAa,MAAM;IAKjB,YAAmB,MAAgC,EAAE,UAAkB,EAAE,KAAsC;QACjH,4DAA4D;QAC5D,wBAAwB;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,IAAgC;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAM,CAAC,KAAK,EAAE,CAAC;QAC/B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,KAAM,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAM,CAAC;IACrB,CAAC;IAEM,QAAQ,CAAC,CAAiC;QAC/C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAC9C,CAAC;CAEF;AA1CD,wBA0CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,53,45,47,51,50,42,50,53,52,51,61,47,64,67,41,48,50,49,47,42,53,44,59,52,61,61,54,55,51,51,58,46,45,41,58,52,45,46,55,52,56,51,45,44,52,48,48,44,55,55,50,47,51,46,53,48,49,49,46,49,42,48,50,46,40,50,46,52,52,47,49,48,47,45,65,55,50,56,49,60,49,59,47,45,44,51,46,45,43,40,60,57,50,48,47,50,51,51,60,53,54,54,48,56,58,57,57,55,57,48,54,58,49,54,50,42,58,47,50,39,56,62,53,53,51,48,48,50,53,51,50,53,47,54,55,49,48,48,48,48,43,55,56,48,51,51,51,51,50,56,49,43,52,52,60,52,48,45,55,47,57,48,45,56,56,51,51,46,47,56,52,45,49,49,47,46,43,50,55,51,45,49,45,54,47,56,47,46,63,59,52,53,51,48,47,53,56,49,43,51,53,56,49,42,56,55,46,47,51,47,41,52,53,47,42,46,56,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/index.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/abstract_methods.js":{"lineLengths":[13,62,33,36,47,50,19,101,5,1,42,44],"data":{"version":3,"file":"abstract_methods.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/abstract_methods.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AAEnD,+CAAyC;AAEzC,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,kBAAkB,EAAE,IAAA,gBAAQ,EAAC,wBAAU,CAAC,CAAC,CAAC;IACvD,CAAC;CACF;AAJD,0CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_name.js":{"lineLengths":[13,62,28,36,45,19,60,5,1,32,39],"data":{"version":3,"file":"method_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/abstract.js":{"lineLengths":[13,62,26,36,43,19,44,5,1,28,36],"data":{"version":3,"file":"abstract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/abstract.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAGzC,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;IACzB,CAAC;CACF;AAJD,4BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/and_return.js":{"lineLengths":[13,62,27,36,44,19,46,5,1,30,38],"data":{"version":3,"file":"and_return.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/and_return.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAGzC,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;CACF;AAJD,8BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/arith_operator.js":{"lineLengths":[13,62,31,36,49,48,19,173,19,5,1,38,42],"data":{"version":3,"file":"arith_operator.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/arith_operator.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,iDAAoD;AAGpD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,eAAM,CAAC,EACX,IAAA,WAAG,EAAC,eAAM,CAAC,EACX,GAAG,EACH,IAAI,EACJ,GAAG,EACH,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,KAAK,CAAC,CAAC;QAE3B,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAfD,sCAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/arrow_or_dash.js":{"lineLengths":[13,62,29,36,49,46,19,151,5,1,34,41],"data":{"version":3,"file":"arrow_or_dash.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/arrow_or_dash.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,iDAAsE;AAGtE,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,aAAI,CAAC,CAAC,CAAC;IAClE,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/arrow.js":{"lineLengths":[13,62,23,36,49,40,19,118,5,1,22,33],"data":{"version":3,"file":"arrow.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/arrow.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,iDAAgE;AAGhE,MAAa,KAAM,SAAQ,kBAAU;IAC5B,WAAW;QAChB,OAAO,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;IACvD,CAAC;CACF;AAJD,sBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/assign_source.js":{"lineLengths":[13,62,30,36,49,37,39,35,53,46,47,19,202,113,121,292,22,5,1,36,41],"data":{"version":3,"file":"assign_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/assign_source.ts"],"names":[],"mappings":";;;AAAA,oCAA6D;AAC7D,iDAAgE;AAEhE,qCAAgC;AAChC,uCAAkC;AAClC,mCAA8B;AAC9B,qDAA+C;AAC/C,8CAAyC;AAEzC,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EACX,IAAA,WAAG,EAAC,8BAAa,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,eAAM,CAAC,CAAC,EACjD,cAAc,EACd,eAAM,CAAC,CAAC;QAE9B,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,WAAG,EAAC,eAAM,EAAE,iBAAO,CAAC,CAAC,CAAC;QAE5D,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,eAAM,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,iBAAO,CAAC,CAAC,CAAC,EACrC,SAAS,EACT,UAAU,EACV,IAAA,WAAG,EAAC,iBAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,WAAG,EAAC,aAAK,EAAE,iBAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAlBD,oCAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/source.js":{"lineLengths":[13,62,24,36,49,24,46,49,55,47,43,92,41,19,90,82,112,123,63,132,45,95,98,267,89,239,219,208,212,211,208,200,198,178,207,115,156,19,5,1,24,34],"data":{"version":3,"file":"source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/source.ts"],"names":[],"mappings":";;;AAAA,oCAAsF;AACtF,iDAAqH;AACrH,wBACsI;AACtI,8CAAyC;AAEzC,iDAA2C;AAC3C,uDAAiD;AACjD,+CAA0C;AAE1C,2CAA2C;AAE3C,4FAA4F;AAE5F,MAAa,MAAO,SAAQ,kBAAU;IAC7B,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,iBAAc,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,QAAK,EAAE,gCAAc,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,yBAAW,CAAC,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,kBAAe,EAAE,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEzE,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAEvE,qCAAqC;QACjC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAChB,MAAM,EACN,MAAM,CAAC,CAAC;QAE1B,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,GAAG,EAAE,IAAI,EAAE,gBAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,aAAK,EAAC,UAAU,CAAC,CAAC,EACpC,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,aAAK,EAAC,YAAY,CAAC,CAAC,CAAC,EACnD,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,OAAI,EACJ,GAAG,CAAC,CAAC;QAEtB,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,MAAM,CAAC,EAAE,IAAA,eAAO,EAAC,WAAQ,EACR,iBAAc,EACd,0BAAW,EACX,IAAI,EACJ,MAAM,EACN,IAAA,WAAG,EAAC,aAAU,EAAE,KAAK,CAAC,EACtB,KAAK,CAAC,EAC/B,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;QAEhC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,eAAe,EACf,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,oBAAiB,EACjB,MAAM,EACN,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,MAAM,EACN,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,WAAQ,EACR,aAAa,EACb,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,QAAQ,EACR,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,aAAU,EACV,aAAa,EACb,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,OAAO,EACP,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,YAAS,EACT,aAAa,EACb,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,MAAM,EACN,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,WAAQ,EACR,aAAa,EACb,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,KAAK,EACL,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,MAAM,EACN,IAAA,eAAO,EAAC,UAAU,CAAC,EACnB,MAAM,CAAC,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,OAAO,EACP,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,MAAM,EACN,MAAM,EACN,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAChB,IAAA,WAAG,EAAC,QAAQ,EACR,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,aAAU,EACV,MAAM,CAAC,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAChB,IAAA,WAAG,EAAC,QAAQ,EACR,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,aAAU,EACV,MAAM,EACN,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,eAAM,CAAC,EAAE,IAAA,WAAG,EAAC,eAAM,CAAC,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,EACjB,IAAA,eAAO,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAE1F,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA1GD,wBA0GC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/text_element.js":{"lineLengths":[13,62,29,36,49,24,46,19,92,5,1,34,40],"data":{"version":3,"file":"text_element.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/text_element.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,iDAA0C;AAC1C,wBAAiC;AAGjC,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,iBAAc,CAAC,CAAC;IAChD,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/attribute_chain.js":{"lineLengths":[13,62,32,36,24,45,49,19,201,166,19,5,1,40,43],"data":{"version":3,"file":"attribute_chain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/attribute_chain.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AACrE,wBAAuG;AAEvG,6CAAuC;AAEvC,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAEhB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,gBAAa,EACb,IAAA,gBAAQ,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,cAAW,EAAE,IAAA,eAAO,EAAC,GAAG,EAAE,gBAAa,CAAC,CAAC,EAAE,kBAAe,CAAC,CAAC,CAAC,CAAC;QAErG,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,sBAAS,CAAC,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,CAAC,CAAC;QAEvF,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAVD,wCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/table_body.js":{"lineLengths":[13,62,27,36,49,44,19,119,19,5,1,30,38],"data":{"version":3,"file":"table_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/table_body.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,iDAAgE;AAGhE,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,sBAAa,CAAC,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AALD,8BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/dereference.js":{"lineLengths":[13,62,29,49,36,46,19,79,5,1,34,39],"data":{"version":3,"file":"dereference.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/dereference.ts"],"names":[],"mappings":";;;AAAA,iDAAmD;AACnD,oCAA8C;AAG9C,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/dynamic.js":{"lineLengths":[13,62,25,36,49,24,42,19,287,19,5,1,26,35],"data":{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/dynamic.ts"],"names":[],"mappings":";;;AAAA,oCAAuD;AACvD,iDAAoF;AACpF,wBAAuC;AAGvC,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,IAAA,WAAG,EAAC,kBAAS,CAAC,CAAC,EACxC,IAAA,eAAO,EAAC,aAAU,EAAE,WAAQ,CAAC,EAC7B,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,CAAC,CAAC;QAE5D,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field.js":{"lineLengths":[13,62,23,36,40,19,89,62,97,5,1,22,33],"data":{"version":3,"file":"field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/field.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,KAAM,SAAQ,kBAAU;IAC5B,WAAW;QACpB,iFAAiF;QACjF,sDAAsD;QAClD,OAAO,IAAA,aAAG,EAAC,6DAA6D,CAAC,CAAC;IAC5E,CAAC;CACF;AAND,sBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_source3.js":{"lineLengths":[13,62,31,36,24,48,19,80,5,1,38,42],"data":{"version":3,"file":"simple_source3.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/simple_source3.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAC7C,wBAAoD;AAGpD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,eAAO,EAAC,WAAQ,EAAE,cAAW,EAAE,aAAU,CAAC,CAAC;IACpD,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/association_name.js":{"lineLengths":[13,62,33,36,50,19,48,5,1,42,44],"data":{"version":3,"file":"association_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/association_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;CACF;AAJD,0CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/attribute_name.js":{"lineLengths":[13,62,31,36,48,19,69,5,1,38,42],"data":{"version":3,"file":"attribute_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/attribute_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,iCAAiC,CAAC,CAAC;IAChD,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/behavior_definition_name.js":{"lineLengths":[13,62,40,36,57,19,77,5,1,56,52],"data":{"version":3,"file":"behavior_definition_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/behavior_definition_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,sBAAuB,SAAQ,kBAAU;IAC7C,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,yCAAyC,CAAC,CAAC;IACxD,CAAC;CACF;AAJD,wDAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/block_name.js":{"lineLengths":[13,62,27,36,49,44,19,183,19,5,1,30,38],"data":{"version":3,"file":"block_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/block_name.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AACtE,iDAA0C;AAG1C,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,cAAc,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,aAAG,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpF,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAND,8BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/call_transformation_options.js":{"lineLengths":[13,62,43,36,35,39,37,60,19,113,40,5,1,62,55],"data":{"version":3,"file":"call_transformation_options.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/call_transformation_options.ts"],"names":[],"mappings":";;;AAAA,oCAAoD;AAEpD,mCAA8B;AAC9B,uCAAkC;AAClC,qCAAgC;AAEhC,MAAa,yBAA0B,SAAQ,kBAAU;IAChD,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAK,EAAE,iBAAO,CAAC,EAAE,GAAG,EAAE,eAAM,CAAC,CAAC;QACpD,OAAO,IAAA,YAAI,EAAC,KAAK,CAAC,CAAC;IACrB,CAAC;CACF;AALD,8DAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/integer.js":{"lineLengths":[13,62,25,36,49,42,19,171,71,5,1,26,35],"data":{"version":3,"file":"integer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/integer.ts"],"names":[],"mappings":";;;AAAA,oCAA8E;AAC9E,iDAA0D;AAG1D,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,EAAE,IAAA,WAAG,EAAC,eAAM,CAAC,EAAE,IAAA,WAAG,EAAC,cAAK,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC,CAAC;IACrC,CAAC;CACF;AALD,0BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/call_transformation_parameters.js":{"lineLengths":[13,62,46,24,36,39,35,39,63,19,114,77,5,1,68,58],"data":{"version":3,"file":"call_transformation_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/call_transformation_parameters.ts"],"names":[],"mappings":";;;AAAA,wBAAgC;AAChC,oCAAoD;AAEpD,uCAAkC;AAClC,mCAA8B;AAC9B,uCAAkC;AAElC,MAAa,4BAA6B,SAAQ,kBAAU;IACnD,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAK,EAAE,iBAAO,CAAC,EAAE,GAAG,EAAE,gBAAa,CAAC,CAAC;QAC3D,OAAO,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,KAAK,CAAC,EAAE,iBAAO,CAAC,CAAC;IACnC,CAAC;CACF;AALD,oEAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/cast.js":{"lineLengths":[13,62,22,36,46,24,49,31,39,19,125,157,66,5,1,20,32],"data":{"version":3,"file":"cast.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/cast.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AACrE,8CAAyC;AACzC,wBAA0C;AAC1C,iDAA2E;AAE3E,+BAA0B;AAE1B,MAAa,IAAK,SAAQ,kBAAU;IAC3B,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,kBAAe,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,IAAA,eAAO,EAAC,SAAG,CAAC,EAAE,SAAM,EAAE,MAAM,CAAC,CAAC;QAEzF,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/let.js":{"lineLengths":[13,62,21,36,24,38,19,94,5,1,18,31],"data":{"version":3,"file":"let.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/let.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,wBAAwC;AAGxC,MAAa,GAAI,SAAQ,kBAAU;IAC1B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,gBAAQ,EAAC,wBAAqB,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;CACF;AAJD,kBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/class_final.js":{"lineLengths":[13,62,28,36,45,19,41,5,1,32,39],"data":{"version":3,"file":"class_final.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/class_final.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAGzC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/class_friends.js":{"lineLengths":[13,62,30,36,45,47,19,118,5,1,36,41],"data":{"version":3,"file":"class_friends.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/class_friends.ts"],"names":[],"mappings":";;;AAAA,oCAAwD;AAExD,6CAAuC;AAEvC,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAA,YAAI,EAAC,sBAAS,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/class_name.js":{"lineLengths":[13,62,27,36,44,19,59,5,1,30,38],"data":{"version":3,"file":"class_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/class_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,uBAAuB,CAAC,CAAC;IACtC,CAAC;CACF;AAJD,8BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/class_global.js":{"lineLengths":[13,62,29,36,46,19,42,5,1,34,40],"data":{"version":3,"file":"class_global.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/class_global.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAGzC,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/color.js":{"lineLengths":[13,62,23,36,37,40,19,58,81,159,117,57,74,5,1,22,33],"data":{"version":3,"file":"color.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/color.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAE5D,qCAAgC;AAEhC,MAAa,KAAM,SAAQ,kBAAU;IAC5B,WAAW;QAChB,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,eAAM,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,cAAc,EACd,WAAW,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,EAAE,EAAE,IAAA,eAAO,EAAC,IAAI,EAAE,KAAK,EAAE,IAAA,eAAO,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEpC,OAAO,IAAA,WAAG,EAAC,OAAO,EAAE,KAAK,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AAjBD,sBAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/compare_operator.js":{"lineLengths":[13,62,33,36,50,19,278,39,13,24,5,1,42,44],"data":{"version":3,"file":"compare_operator.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/compare_operator.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAG7C,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAEhB,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,GAAG,EAAE,0BAA0B;QAC/B,GAAG,EAAE,0BAA0B;QAC/B,GAAG,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AArCD,0CAqCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/compare.js":{"lineLengths":[13,62,25,36,24,49,46,42,19,67,169,111,257,110,91,140,111,111,19,5,1,26,35],"data":{"version":3,"file":"compare.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/compare.ts"],"names":[],"mappings":";;;AAAA,oCAAgF;AAChF,wBAA6G;AAC7G,iDAA6D;AAC7D,8CAAyC;AAGzC,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,WAAQ,EAAE,WAAQ,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,GAAG,EACH,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACnB,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAA,eAAO,EAAC,SAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,IAAA,eAAO,EAAC,KAAK,CAAC,EACd,IAAA,eAAO,EAAC,UAAU,EACV,OAAO,EACP,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,aAAa,EAAE,YAAS,CAAC,EAAE,iBAAO,CAAC,QAAQ,CAAC,EAClE,WAAW,EACX,SAAS,CAAC,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAM,EAAE,KAAK,EAAE,SAAM,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,kBAAe,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,SAAM,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,kBAAe,EAAE,SAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAEpF,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,oBAAiB,EAAE,IAAI,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,CAAC,EAAE,IAAA,eAAO,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEhE,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA/BD,0BA+BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_chain_simple.js":{"lineLengths":[13,62,38,36,24,55,19,132,120,19,5,1,52,50],"data":{"version":3,"file":"component_chain_simple.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/component_chain_simple.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,wBAAuE;AAGvE,MAAa,oBAAqB,SAAQ,kBAAU;IAC3C,WAAW;QAEhB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,gBAAa,EACb,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,cAAW,EAAE,gBAAa,CAAC,CAAC,CAAC,CAAC;QAE7D,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,CAAC,CAAC;QAEnE,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAVD,oDAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_chain.js":{"lineLengths":[13,62,32,36,24,45,49,19,197,166,19,5,1,40,43],"data":{"version":3,"file":"component_chain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/component_chain.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,wBAAwF;AAExF,6CAAuC;AAEvC,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAEhB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,gBAAa,EACb,IAAA,YAAI,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,cAAW,EAAE,IAAA,eAAO,EAAC,GAAG,EAAE,gBAAa,CAAC,CAAC,EAAE,kBAAe,CAAC,CAAC,CAAC,CAAC;QAEjG,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,sBAAS,CAAC,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,CAAC,CAAC;QAEvF,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAVD,wCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_compare_simple.js":{"lineLengths":[13,62,40,36,24,69,57,19,134,38,5,1,56,52],"data":{"version":3,"file":"component_compare_simple.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/component_compare_simple.ts"],"names":[],"mappings":";;;AAAA,oCAAwD;AACxD,wBAAkC;AAElC,qEAA8D;AAE9D,MAAa,sBAAuB,SAAQ,kBAAU;IAC7C,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,6CAAoB,EAAE,UAAO,CAAC,EAAE,GAAG,EAAE,SAAM,CAAC,CAAC;QACrE,OAAO,IAAA,YAAI,EAAC,GAAG,CAAC,CAAC;IACnB,CAAC;CACF;AALD,wDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_compare_single.js":{"lineLengths":[13,62,40,36,24,69,57,19,134,19,5,1,56,52],"data":{"version":3,"file":"component_compare_single.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/component_compare_single.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAAkC;AAElC,qEAA8D;AAE9D,MAAa,sBAAuB,SAAQ,kBAAU;IAC7C,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,6CAAoB,EAAE,UAAO,CAAC,EAAE,GAAG,EAAE,SAAM,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AALD,wDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_compare.js":{"lineLengths":[13,62,34,36,24,49,46,51,19,63,169,107,234,106,154,68,19,5,1,44,45],"data":{"version":3,"file":"component_compare.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/component_compare.ts"],"names":[],"mappings":";;;AAAA,oCAA4E;AAC5E,wBAAoF;AACpF,iDAA6D;AAC7D,8CAAyC;AAGzC,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,WAAQ,EAAE,WAAQ,CAAC,CAAC;QAEpC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,GAAG,EACH,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACnB,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAA,eAAO,EAAC,SAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,IAAA,WAAG,EAAC,KAAK,CAAC,EACV,IAAA,eAAO,EAAC,UAAU,EACV,OAAO,EACP,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,aAAa,EAAE,SAAM,CAAC,CAAC,EAC7C,WAAW,EACX,UAAU,EACV,SAAS,CAAC,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAM,EAAE,KAAK,EAAE,SAAM,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,uBAAoB,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,kBAAe,EAAE,SAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAElG,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAElC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA5BD,4CA4BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_cond_sub.js":{"lineLengths":[13,62,34,36,49,24,51,19,227,23,5,1,44,46],"data":{"version":3,"file":"component_cond_sub.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/component_cond_sub.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,iDAA4E;AAC5E,wBAAgC;AAGhC,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAEhB,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,CAAC,EACV,IAAA,WAAG,EAAC,oBAAW,CAAC,EAChB,gBAAa,EACb,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC,CAAC;QAElE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAVD,4CAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_cond.js":{"lineLengths":[13,62,31,36,24,48,19,55,79,94,19,5,1,38,42],"data":{"version":3,"file":"component_cond.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/component_cond.ts"],"names":[],"mappings":";;;AAAA,oCAAoD;AACpD,wBAAqD;AAGrD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,mBAAgB,EAAE,mBAAgB,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAE/C,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAVD,sCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/component_name.js":{"lineLengths":[13,62,31,36,48,19,64,5,1,38,42],"data":{"version":3,"file":"component_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/component_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,4BAA4B,CAAC,CAAC;IAC3C,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/concatenated_constant.js":{"lineLengths":[13,62,38,36,55,19,143,144,47,5,1,52,49],"data":{"version":3,"file":"concatenated_constant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/concatenated_constant.ts"],"names":[],"mappings":";;;AAAA,oCAA0E;AAG1E,MAAa,oBAAqB,SAAQ,kBAAU;IAC3C,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,aAAG,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,aAAG,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;AAND,oDAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/cond_body.js":{"lineLengths":[13,62,26,36,24,43,19,139,90,120,5,1,28,37],"data":{"version":3,"file":"cond_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/cond_body.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AACrE,wBAA2C;AAG3C,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,eAAO,EAAC,OAAI,EAAE,SAAM,CAAC,EAAE,MAAM,EAAE,IAAA,eAAO,EAAC,QAAK,EAAE,SAAM,CAAC,CAAC,CAAC;QAEhF,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,eAAO,EAAC,QAAK,EAAE,SAAM,CAAC,CAAC,CAAC;QAElD,OAAO,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,MAAG,CAAC,EACZ,IAAA,gBAAQ,EAAC,IAAI,CAAC,EACd,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,CAAC;CACF;AAVD,4BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/cond_sub.js":{"lineLengths":[13,62,25,36,49,24,42,19,71,283,23,5,1,26,36],"data":{"version":3,"file":"cond_sub.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/cond_sub.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAChE,iDAAwF;AACxF,wBAAuB;AAGvB,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,+DAA+D;QAC/D,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,KAAK,CAAC,EACd,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,EAC1C,OAAI,EACJ,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC,CAAC;QAElE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAVD,0BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/cond.js":{"lineLengths":[13,62,22,36,24,41,46,39,19,110,73,98,19,5,1,20,32],"data":{"version":3,"file":"cond.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/cond.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,wBAA0B;AAE1B,yCAAmC;AACnC,8CAAyC;AAEzC,MAAa,IAAK,SAAQ,kBAAU;IAC3B,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,KAAK,EAAE,IAAI,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,UAAO,EAAE,kBAAO,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAPD,oBAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/constant_field_length.js":{"lineLengths":[13,62,37,36,49,24,54,19,173,22,5,1,50,49],"data":{"version":3,"file":"constant_field_length.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/constant_field_length.ts"],"names":[],"mappings":";;;AAAA,oCAAuD;AACvD,iDAA4D;AAC5D,wBAA4C;AAG5C,MAAa,mBAAoB,SAAQ,kBAAU;IAC1C,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,IAAA,eAAO,EAAC,UAAO,EAAE,mBAAgB,CAAC,EAClC,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AARD,kDAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/constant_string.js":{"lineLengths":[13,62,32,36,49,19,53,5,1,40,43],"data":{"version":3,"file":"constant_string.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/constant_string.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,iBAAiB,CAAC,CAAC;IAChC,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/constant.js":{"lineLengths":[13,62,26,36,24,43,19,114,5,1,28,36],"data":{"version":3,"file":"constant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/constant.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAC7C,wBAAmF;AAGnF,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,OAAO,IAAA,eAAO,EAAC,oBAAiB,EACjB,uBAAoB,EACpB,iBAAc,EACd,UAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAPD,4BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/conv_body.js":{"lineLengths":[13,62,26,36,24,43,19,73,5,1,28,37],"data":{"version":3,"file":"conv_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/conv_body.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAA8B;AAG9B,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,MAAG,CAAC,EAAE,SAAM,CAAC,CAAC;IACnC,CAAC;CACF;AAJD,4BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/corresponding_body.js":{"lineLengths":[13,62,35,36,49,24,46,55,52,19,146,143,93,273,5,1,46,46],"data":{"version":3,"file":"corresponding_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/corresponding_body.ts"],"names":[],"mappings":";;;AAAA,oCAAuE;AACvE,iDAA+D;AAC/D,wBAA+C;AAC/C,8CAAyC;AAEzC,uDAAiD;AAEjD,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,gBAAa,EAAE,GAAG,EAAE,gCAAc,CAAC,CAAC,CAAC,CAAC;QAE9E,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,SAAM,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAE3E,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAE9D,OAAO,IAAA,WAAG,EACR,IAAA,eAAO,EAAC,MAAM,CAAC,EACf,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,SAAM,EACN,IAAA,eAAO,EAAC,UAAU,CAAC,EACnB,IAAA,eAAO,EAAC,OAAO,CAAC,EAChB,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,QAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAC9C,CAAC;IACJ,CAAC;CACF;AAjBD,8CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/data_definition.js":{"lineLengths":[13,62,32,36,33,49,19,150,97,175,5,1,40,43],"data":{"version":3,"file":"data_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/data_definition.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,iCAAiC;AAGjC,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,EACX,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,WAAW,CAAC,SAAS,EAAE,IAAA,eAAO,EAAC,WAAW,CAAC,CAAC,CAAC;QAE/D,OAAO,IAAA,WAAG,EAAC,WAAW,CAAC,cAAc,EAC1B,IAAA,eAAO,EAAC,WAAW,CAAC,mBAAmB,CAAC,EACxC,IAAA,WAAG,EAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IAE5D,CAAC;CACF;AAfD,wCAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/database_connection.js":{"lineLengths":[13,62,36,36,24,53,19,51,86,5,1,48,47],"data":{"version":3,"file":"database_connection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/database_connection.ts"],"names":[],"mappings":";;;AAAA,oCAAyD;AACzD,wBAA0B;AAG1B,MAAa,kBAAmB,SAAQ,kBAAU;IACzC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,IAAA,WAAG,EAAC,YAAY,EAAE,IAAA,eAAO,EAAC,IAAI,EAAE,UAAO,CAAC,CAAC,CAAC;IACnD,CAAC;CACF;AALD,gDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/database_table.js":{"lineLengths":[13,62,31,36,39,48,19,97,5,1,38,42],"data":{"version":3,"file":"database_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/database_table.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAE3D,uCAAkC;AAElC,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,eAAO,EAAC,iBAAO,EAAE,IAAA,aAAG,EAAC,oBAAoB,CAAC,CAAC,CAAC;IACrD,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/decimals.js":{"lineLengths":[13,62,26,36,24,43,19,61,19,5,1,28,36],"data":{"version":3,"file":"decimals.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/decimals.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AACzC,wBAA0B;AAG1B,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,UAAO,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AALD,4BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/default.js":{"lineLengths":[13,62,25,36,24,42,19,87,98,19,5,1,26,35],"data":{"version":3,"file":"default.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/default.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAAuC;AAGvC,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAEpB,+EAA+E;QAC3E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,eAAO,EAAC,WAAQ,EAAE,aAAU,CAAC,CAAC,CAAC;QAE1D,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/definition_name.js":{"lineLengths":[13,62,32,36,49,49,19,80,190,5,1,40,43],"data":{"version":3,"file":"definition_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/definition_name.ts"],"names":[],"mappings":";;;AAAA,oCAA+E;AAE/E,iDAAiD;AAEjD,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,MAAM,CAAC,GAAG,IAAA,aAAG,EAAC,yCAAyC,CAAC,CAAC;QAEzD,OAAO,IAAA,WAAG,EAAC,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,eAAO,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAND,wCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/destination.js":{"lineLengths":[13,62,29,36,24,46,19,125,5,1,34,39],"data":{"version":3,"file":"destination.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/destination.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAC3D,wBAAyB;AAGzB,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,eAAO,EAAC,UAAU,CAAC,EAAE,IAAA,eAAO,EAAC,SAAS,EAAE,SAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/entity_association.js":{"lineLengths":[13,62,35,36,52,19,53,5,1,46,46],"data":{"version":3,"file":"entity_association.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/entity_association.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,iBAAiB,CAAC,CAAC;IAChC,CAAC;CACF;AAJD,8CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/event_handler.js":{"lineLengths":[13,62,30,36,24,47,19,182,21,5,1,36,41],"data":{"version":3,"file":"event_handler.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/event_handler.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,wBAAwD;AAGxD,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,WAAW,EACX,YAAS,EACT,IAAI,EACJ,YAAS,EACT,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,gBAAQ,EAAC,kBAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAVD,oCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/event_name.js":{"lineLengths":[13,62,27,36,44,19,97,5,1,30,38],"data":{"version":3,"file":"event_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/event_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,6DAA6D,CAAC,CAAC;IAC5E,CAAC;CACF;AAJD,8BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/exception_name.js":{"lineLengths":[13,62,31,49,36,35,37,48,19,136,5,1,38,42],"data":{"version":3,"file":"exception_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/exception_name.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,oCAAwD;AAExD,mCAA8B;AAE9B,qCAAqC;AACrC,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,aAAK,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,aAAK,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_all.js":{"lineLengths":[13,62,26,36,43,19,89,62,71,5,1,28,37],"data":{"version":3,"file":"field_all.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/field_all.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QACpB,iFAAiF;QACjF,sDAAsD;QAClD,OAAO,IAAA,aAAG,EAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC;CACF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_assignment.js":{"lineLengths":[13,62,33,36,43,37,50,19,81,19,5,1,42,44],"data":{"version":3,"file":"field_assignment.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/field_assignment.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAEzC,2CAAqC;AACrC,qCAAgC;AAEhC,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,oBAAQ,EAAE,GAAG,EAAE,eAAM,CAAC,CAAC;QAEvC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAND,0CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_sub.js":{"lineLengths":[13,62,26,36,49,45,43,19,253,19,5,1,28,37],"data":{"version":3,"file":"field_sub.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/field_sub.ts"],"names":[],"mappings":";;;AAAA,oCAA2E;AAC3E,iDAA0C;AAE1C,6CAAuC;AAEvC,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,yCAAyC,CAAC,EAC9C,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,aAAG,EAAC,eAAe,CAAC,CAAC,CAAC,EAC9C,IAAA,WAAG,EAAC,sBAAS,CAAC,CAAC,CAAC;QAEhC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_chain.js":{"lineLengths":[13,62,28,36,24,49,45,19,98,111,110,110,87,207,58,19,5,1,32,39],"data":{"version":3,"file":"field_chain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/field_chain.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AACtE,wBAA6J;AAC7J,iDAA6E;AAG7E,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAEhB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,gBAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,eAAO,EAAC,gBAAa,CAAC,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAA,YAAI,EAAC,IAAA,eAAO,EAAC,cAAW,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAe,CAAC,CAAC,CAAC;QAEtE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAS,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,gBAAa,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,cAAW,EAAE,oBAAiB,CAAC,CAAC;QAE5D,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,YAAS,CAAC,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,CAAC,CAAC,CAAC;QAEvG,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAErC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAjBD,gCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_length.js":{"lineLengths":[13,62,29,36,49,24,46,19,168,153,22,5,1,34,40],"data":{"version":3,"file":"field_length.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/field_length.ts"],"names":[],"mappings":";;;AAAA,oCAA8E;AAC9E,iDAAkE;AAClE,wBAAoC;AAGpC,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,CAAC,EAClB,IAAA,eAAO,EAAC,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE,oBAAiB,CAAC,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,IAAA,eAAO,EAAC,MAAM,EAAE,GAAG,CAAC,EACpB,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAXD,kCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_offset.js":{"lineLengths":[13,62,29,36,49,24,46,19,146,22,5,1,34,40],"data":{"version":3,"file":"field_offset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/field_offset.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AACrE,iDAA0C;AAC1C,wBAAoC;AAGpC,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EACT,IAAA,eAAO,EAAC,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE,oBAAiB,CAAC,CAAC,CAAC;QAE7D,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAPD,kCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/field_symbol.js":{"lineLengths":[13,62,29,36,49,46,19,54,149,83,5,1,34,40],"data":{"version":3,"file":"field_symbol.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/field_symbol.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AACrE,iDAA0C;AAG1C,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QACpB,8CAA8C;QAC1C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,gBAAgB,CAAC,EAAE,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,aAAG,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAE5E,OAAO,IAAA,eAAO,EAAC,IAAA,aAAG,EAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF;AAPD,kCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/filter_body.js":{"lineLengths":[13,62,28,36,24,45,19,54,67,172,5,1,32,39],"data":{"version":3,"file":"filter_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/filter_body.ts"],"names":[],"mappings":";;;AAAA,oCAAuD;AACvD,wBAAoD;AAGpD,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,SAAM,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,aAAU,CAAC,CAAC;QAC3C,OAAO,IAAA,WAAG,EACR,SAAM,EACN,IAAA,eAAO,EAAC,QAAQ,CAAC,EACjB,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EACxB,IAAA,WAAG,EAAC,OAAO,EAAE,gBAAa,CAAC,CAAC,CAAC;IACjC,CAAC;CACF;AAVD,gCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/final_methods.js":{"lineLengths":[13,62,30,36,47,47,19,94,5,1,36,41],"data":{"version":3,"file":"final_methods.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/final_methods.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAE/C,+CAAyC;AAEzC,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,eAAe,EAAE,IAAA,YAAI,EAAC,wBAAU,CAAC,CAAC,CAAC;IAChD,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/find_type.js":{"lineLengths":[13,62,26,46,36,43,19,150,5,1,28,37],"data":{"version":3,"file":"find_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/find_type.ts"],"names":[],"mappings":";;;AAAA,8CAAyC;AACzC,oCAAmD;AAGnD,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,WAAW,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;CACF;AAJD,4BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/for.js":{"lineLengths":[13,62,21,36,24,46,47,38,19,73,57,53,145,57,87,95,316,73,156,110,63,5,1,18,31],"data":{"version":3,"file":"for.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/for.ts"],"names":[],"mappings":";;;AAAA,oCAAgF;AAChF,wBAAsJ;AACtJ,8CAAyC;AAEzC,+CAAyC;AAEzC,MAAa,GAAI,SAAQ,kBAAU;IAC1B,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,gBAAa,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,SAAM,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,SAAM,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,uBAAoB,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE,IAAA,eAAO,EAAC,EAAE,CAAC,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,SAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAI,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,wBAAqB,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,IAAA,WAAG,EAAC,wBAAU,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,YAAI,EAAC,uBAAoB,CAAC,EAAE,GAAG,CAAC,CAAC,EAC1D,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,EAAE,YAAY,CAAC,EAAE,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC,CAAC,EACxD,IAAA,WAAG,EAAC,iBAAiB,CAAC,CAAC,CAAC;QAE5C,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,cAAW,EAAE,oBAAiB,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAM,EAAE,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEhG,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,IAAA,eAAO,EAAC,MAAG,CAAC,CAAC,CAAC;QAE5D,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CACF;AAtBD,kBAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_changing.js":{"lineLengths":[13,62,30,36,24,47,19,77,5,1,36,41],"data":{"version":3,"file":"form_changing.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/form_changing.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAC/C,wBAA4B;AAG5B,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,YAAI,EAAC,YAAS,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_name.js":{"lineLengths":[13,62,26,36,49,43,19,52,252,5,1,28,37],"data":{"version":3,"file":"form_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/form_name.ts"],"names":[],"mappings":";;;AAAA,oCAA+E;AAC/E,iDAAiD;AAGjD,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QACpB,4CAA4C;QACxC,OAAO,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,iBAAiB,CAAC,EACtB,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC/C,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;CACF;AAPD,4BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_param_name.js":{"lineLengths":[13,62,31,36,49,48,19,55,83,42,112,5,1,38,43],"data":{"version":3,"file":"form_param_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/form_param_name.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AAEtE,iDAA0C;AAE1C,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,MAAM,CAAC,GAAG,IAAA,aAAG,EAAC,gBAAgB,CAAC,CAAC;QAEhC,2EAA2E;QAC3E,kCAAkC;QAClC,OAAO,IAAA,WAAG,EAAC,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AARD,sCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_param_type.js":{"lineLengths":[13,62,31,36,24,48,19,94,114,106,134,122,99,5,1,38,43],"data":{"version":3,"file":"form_param_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/form_param_type.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AACrE,wBAAiD;AAGjD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,WAAQ,EAAE,aAAU,CAAC,CAAC,CAAC;QAEtD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EACnD,OAAO,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,WAAQ,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EACjC,WAAQ,EACR,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC,CAAC;QAE1B,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EACzC,aAAU,CAAC,CAAC;QAE7B,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;CACF;AAlBD,sCAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_param.js":{"lineLengths":[13,62,27,36,24,44,19,72,161,19,5,1,30,38],"data":{"version":3,"file":"form_param.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/form_param.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAC3D,wBAA8E;AAG9E,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,mBAAgB,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,cAAW,EAAE,gBAAa,CAAC,EACnC,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,gBAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AATD,8BASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_raising.js":{"lineLengths":[13,62,29,36,24,49,46,19,145,111,23,5,1,34,40],"data":{"version":3,"file":"form_raising.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/form_raising.ts"],"names":[],"mappings":";;;AAAA,oCAAyD;AACzD,wBAA4B;AAC5B,iDAA4D;AAG5D,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EACX,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,YAAS,EACT,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,YAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAE7D,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAXD,kCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_tables.js":{"lineLengths":[13,62,28,36,24,45,19,75,5,1,32,39],"data":{"version":3,"file":"form_tables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/form_tables.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAC/C,wBAA4B;AAG5B,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,YAAI,EAAC,YAAS,CAAC,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/form_using.js":{"lineLengths":[13,62,27,36,24,44,19,74,5,1,30,38],"data":{"version":3,"file":"form_using.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/form_using.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAC/C,wBAA4B;AAG5B,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,YAAI,EAAC,YAAS,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAJD,8BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/fstarget.js":{"lineLengths":[13,62,26,36,24,43,19,71,5,1,28,36],"data":{"version":3,"file":"fstarget.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/fstarget.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAC7C,wBAA8C;AAG9C,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,OAAO,IAAA,eAAO,EAAC,WAAQ,EAAE,oBAAiB,CAAC,CAAC;IAC9C,CAAC;CACF;AAJD,4BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/function_exporting_parameter.js":{"lineLengths":[13,62,44,36,53,37,46,53,61,19,134,77,19,5,1,64,56],"data":{"version":3,"file":"function_exporting_parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/function_exporting_parameter.ts"],"names":[],"mappings":";;;AAAA,oCAAuD;AAEvD,qDAA+C;AAC/C,qCAAgC;AAChC,8CAAyC;AACzC,qDAA+C;AAE/C,MAAa,0BAA2B,SAAQ,kBAAU;IACjD,WAAW;QAEhB,MAAM,CAAC,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,eAAM,CAAC,EAAE,8BAAa,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,8BAAa,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAEvC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AARD,gEAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_name.js":{"lineLengths":[13,62,31,36,48,19,43,96,5,1,38,42],"data":{"version":3,"file":"parameter_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/parameter_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QACpB,mCAAmC;QAC/B,OAAO,IAAA,aAAG,EAAC,4DAA4D,CAAC,CAAC;IAC3E,CAAC;CACF;AALD,sCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/function_exporting.js":{"lineLengths":[13,62,35,36,24,52,19,73,19,5,1,46,46],"data":{"version":3,"file":"function_exporting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/function_exporting.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAE9C,wBAA6C;AAE7C,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAEhB,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC,6BAA0B,CAAC,CAAC;QAEjD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAPD,8CAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/function_name.js":{"lineLengths":[13,62,30,36,24,47,19,64,5,1,36,41],"data":{"version":3,"file":"function_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/function_name.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAC7C,wBAAuC;AAGvC,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,OAAO,IAAA,eAAO,EAAC,WAAQ,EAAE,aAAU,CAAC,CAAC;IACvC,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/function_parameters.js":{"lineLengths":[13,62,36,36,24,53,19,78,75,73,69,140,200,20,5,1,48,47],"data":{"version":3,"file":"function_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/function_parameters.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAC3D,wBAAoF;AAGpF,MAAa,kBAAmB,SAAQ,kBAAU;IACzC,WAAW;QAEhB,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAiB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,iBAAc,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,iBAAc,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,iBAAc,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,0BAAuB,EAAE,QAAK,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,IAAA,eAAO,EAAC,MAAM,CAAC,EACf,IAAA,eAAO,EAAC,QAAQ,CAAC,EACjB,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAhBD,gDAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/include_name.js":{"lineLengths":[13,62,29,36,49,46,19,187,5,1,34,40],"data":{"version":3,"file":"include_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/include_name.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AACrE,iDAA0C;AAG1C,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,+BAA+B,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inline_field_definition.js":{"lineLengths":[13,62,39,36,24,56,19,129,5,1,54,51],"data":{"version":3,"file":"inline_field_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/inline_field_definition.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAA0C;AAG1C,MAAa,qBAAsB,SAAQ,kBAAU;IAC5C,WAAW;QAChB,OAAO,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,QAAK,EAAE,GAAG,EAAE,SAAM,CAAC,EACvB,IAAA,WAAG,EAAC,QAAK,EAAE,MAAM,EAAE,WAAQ,CAAC,CAAC,CAAC;IAC/C,CAAC;CACF;AALD,sDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inline_field.js":{"lineLengths":[13,62,29,36,24,46,19,30,5,1,34,40],"data":{"version":3,"file":"inline_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/inline_field.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,wBAAwB;AAGxB,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAI,QAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inline_loop_definition.js":{"lineLengths":[13,62,38,36,24,55,19,69,165,5,1,52,50],"data":{"version":3,"file":"inline_loop_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/inline_loop_definition.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAChE,wBAAyD;AAGzD,MAAa,oBAAqB,SAAQ,kBAAU;IAC3C,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,cAAW,CAAC,CAAC;QAC7C,OAAO,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,oBAAiB,EAAE,cAAW,CAAC,EAAE,IAAI,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,EAAE,SAAM,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;IAClG,CAAC;CACF;AALD,oDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inlinedata.js":{"lineLengths":[13,62,28,36,49,24,46,45,19,122,58,75,77,137,5,1,32,38],"data":{"version":3,"file":"inlinedata.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/inlinedata.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,iDAAwE;AACxE,wBAA8B;AAC9B,8CAAyC;AAGzC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,kBAAS,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAI,EAAE,cAAW,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAI,EAAE,cAAW,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE;IACzE,CAAC;CACF;AATD,gCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/inlinefs.js":{"lineLengths":[13,62,26,36,49,24,46,43,19,61,58,87,64,5,1,28,36],"data":{"version":3,"file":"inlinefs.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/inlinefs.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,iDAA4D;AAC5D,wBAAoC;AACpC,8CAAyC;AAGzC,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,kBAAS,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,IAAI,EAAE,oBAAiB,EAAE,KAAK,CAAC,CAAC;QAE/D,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;CACF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/interface_name.js":{"lineLengths":[13,62,31,36,48,19,59,5,1,38,42],"data":{"version":3,"file":"interface_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/interface_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,uBAAuB,CAAC,CAAC;IACtC,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/kernel_id.js":{"lineLengths":[13,62,26,36,37,43,19,88,21,5,1,28,37],"data":{"version":3,"file":"kernel_id.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/kernel_id.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAEzC,qCAAgC;AAEhC,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,eAAM,EAAE,OAAO,EAAE,eAAM,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AALD,4BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/language.js":{"lineLengths":[13,62,26,36,43,19,95,5,1,28,36],"data":{"version":3,"file":"language.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/language.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,eAAO,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAJD,4BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/length.js":{"lineLengths":[13,62,24,36,24,41,19,121,19,5,1,24,34],"data":{"version":3,"file":"length.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/length.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAA4D;AAG5D,MAAa,MAAO,SAAQ,kBAAU;IAC7B,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,eAAO,EAAC,UAAO,EAAE,iBAAc,EAAE,mBAAgB,CAAC,CAAC,CAAC;QAC9E,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AALD,wBAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/loop_group_by_component.js":{"lineLengths":[13,62,38,36,53,73,55,19,94,96,118,26,5,1,52,51],"data":{"version":3,"file":"loop_group_by_component.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/loop_group_by_component.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAE9C,qDAA+C;AAC/C,yEAAkE;AAElE,MAAa,oBAAqB,SAAQ,kBAAU;IAC3C,WAAW;QAChB,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,8BAAa,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,8BAAa,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,iDAAsB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACtE,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAPD,oDAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/loop_group_by_target.js":{"lineLengths":[13,62,35,36,37,41,52,19,94,77,71,5,1,46,48],"data":{"version":3,"file":"loop_group_by_target.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/loop_group_by_target.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAE5D,qCAAgC;AAChC,yCAAoC;AAEpC,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,CAAC,EAAE,MAAM,EAAE,eAAM,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,mBAAQ,CAAC,CAAC;QAC7C,OAAO,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAND,8CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/target.js":{"lineLengths":[13,62,24,36,24,49,53,47,41,19,112,89,129,124,110,116,68,110,5,1,24,34],"data":{"version":3,"file":"target.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/target.ts"],"names":[],"mappings":";;;AAAA,oCAA0E;AAC1E,wBAAwK;AACxK,iDAAsE;AAEtE,qDAA+C;AAC/C,+CAA0C;AAE1C,MAAa,MAAO,SAAQ,kBAAU;IAC7B,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,8BAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,gBAAa,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,IAAA,gBAAQ,EAAC,IAAA,eAAO,EAAC,yBAAW,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAe,CAAC,CAAC,CAAC;QAE9E,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAS,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,8BAAa,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,OAAI,EAAE,YAAS,EAAE,IAAI,EAAE,cAAW,EAAE,oBAAiB,CAAC,CAAC;QAE7E,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,cAAW,CAAC,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,YAAS,EAAE,MAAM,CAAC,CAAC;QAE5C,OAAO,IAAA,eAAO,EAAC,aAAU,EAAE,WAAQ,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxE,CAAC;CACF;AAhBD,wBAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/loop_group_by.js":{"lineLengths":[13,62,29,36,49,37,65,71,46,19,192,202,19,5,1,34,41],"data":{"version":3,"file":"loop_group_by.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/loop_group_by.ts"],"names":[],"mappings":";;;AAAA,oCAAkE;AAClE,iDAA+D;AAE/D,qCAAgC;AAChC,iEAAyD;AACzD,uEAA+D;AAE/D,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,YAAI,EAAC,8CAAoB,CAAC,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAExF,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,eAAM,EAAE,UAAU,CAAC,EACvB,IAAA,eAAO,EAAC,WAAW,CAAC,EACpB,IAAA,eAAO,EAAC,iBAAiB,CAAC,EAC1B,wCAAiB,CAAC,CAAC;QAEnC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAXD,kCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/loop_target.js":{"lineLengths":[13,62,28,36,24,45,19,88,69,152,22,5,1,32,39],"data":{"version":3,"file":"loop_target.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/loop_target.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,wBAAmC;AAGnC,MAAa,UAAW,SAAQ,kBAAU;IAEjC,WAAW;QAEhB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAM,CAAC,CAAC;QAEnD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,WAAQ,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,SAAS,CAAC,EACpB,IAAA,eAAO,EAAC,SAAS,CAAC,CAAC,EACvB,wBAAwB,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAfD,gCAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/macro_name.js":{"lineLengths":[13,62,27,36,49,44,19,47,152,5,1,30,38],"data":{"version":3,"file":"macro_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/macro_name.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AACtE,iDAA0C;AAG1C,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,CAAC,GAAG,4BAA4B,CAAC;QACvC,OAAO,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,CAAC,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,aAAG,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;CACF;AALD,8BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/message_class.js":{"lineLengths":[13,62,30,36,47,19,89,71,5,1,36,41],"data":{"version":3,"file":"message_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/message_class.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QACpB,iFAAiF;QAC7E,OAAO,IAAA,aAAG,EAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC;CACF;AALD,oCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/message_number.js":{"lineLengths":[13,62,31,36,48,19,47,5,1,38,42],"data":{"version":3,"file":"message_number.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/message_number.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/message_source.js":{"lineLengths":[13,62,31,36,49,24,48,19,134,90,136,51,5,1,38,42],"data":{"version":3,"file":"message_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/message_source.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,iDAA4D;AAC5D,wBAA4E;AAG5E,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,eAAY,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,uBAAoB,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,SAAM,EAAE,MAAM,EAAE,SAAM,EAAE,QAAQ,EAAE,IAAA,eAAO,EAAC,gBAAa,EAAE,SAAM,CAAC,CAAC,CAAC;QAE1F,OAAO,IAAA,eAAO,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;CACF;AATD,sCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/message_type_and_number.js":{"lineLengths":[13,62,38,36,55,19,55,5,1,52,51],"data":{"version":3,"file":"message_type_and_number.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/message_type_and_number.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,oBAAqB,SAAQ,kBAAU;IAC3C,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;CACF;AAJD,oDAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_call_body.js":{"lineLengths":[13,62,32,36,24,59,49,19,74,74,87,99,5,1,40,44],"data":{"version":3,"file":"method_call_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_call_body.ts"],"names":[],"mappings":";;;AAAA,oCAAuD;AACvD,wBAA2C;AAE3C,2DAAoD;AAEpD,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,SAAM,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,SAAM,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC,CAAC;QAErD,OAAO,IAAA,WAAG,EAAC,mCAAe,EAAE,mBAAgB,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;CACF;AARD,wCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_call_param.js":{"lineLengths":[13,62,33,36,49,24,55,50,19,90,71,204,125,76,375,19,5,1,42,45],"data":{"version":3,"file":"method_call_param.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_call_param.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,iDAA+G;AAC/G,wBAA2D;AAE3D,uDAAiD;AAEjD,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,SAAM,EAAE,iBAAc,EAAE,mBAAgB,CAAC,CAAC;QAE5D,+DAA+D;QAC/D,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAC/F,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAE5D,oEAAoE;QACpE,MAAM,GAAG,GAAG,IAAA,eAAO,EACjB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EACnC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAClC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,gCAAc,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAfD,0CAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_call_chain.js":{"lineLengths":[13,62,33,36,49,24,50,19,98,89,75,123,104,99,194,19,5,1,42,45],"data":{"version":3,"file":"method_call_chain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_call_chain.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AACtE,iDAAsE;AACtE,wBAAmG;AAGnG,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,gBAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,gBAAa,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,IAAA,eAAO,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,aAAU,CAAC,CAAC,CAAC;QAEhE,MAAM,aAAa,GAAG,IAAA,WAAG,EAAC,aAAU,EAAE,IAAA,WAAG,EAAC,sBAAa,CAAC,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,YAAS,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAErD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,aAAU,CAAC,EAC7D,YAAS,EACT,OAAI,CAAC,EACb,KAAK,CAAC,CAAC;QAEvB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAnBD,0CAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_call.js":{"lineLengths":[13,62,28,36,24,59,45,19,89,19,5,1,32,39],"data":{"version":3,"file":"method_call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_call.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AACzC,wBAA6B;AAE7B,2DAAoD;AAEpD,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAU,EAAE,mCAAe,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AALD,gCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_changing.js":{"lineLengths":[13,62,35,36,24,52,19,87,5,1,46,47],"data":{"version":3,"file":"method_def_changing.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_def_changing.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAC/C,wBAAsC;AAGtC,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,YAAI,EAAC,sBAAmB,CAAC,CAAC,CAAC;IACpD,CAAC;CACF;AAJD,8CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_exceptions.js":{"lineLengths":[13,62,37,36,24,54,19,105,26,5,1,50,49],"data":{"version":3,"file":"method_def_exceptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_def_exceptions.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AAEnD,wBAAsC;AAEtC,MAAa,mBAAoB,SAAQ,kBAAU;IAC1C,WAAW;QAChB,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,IAAA,gBAAQ,EAAC,sBAAmB,CAAC,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAND,kDAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_exporting.js":{"lineLengths":[13,62,36,36,24,53,19,80,5,1,48,48],"data":{"version":3,"file":"method_def_exporting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_def_exporting.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAC/C,wBAA8B;AAG9B,MAAa,kBAAmB,SAAQ,kBAAU;IACzC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,YAAI,EAAC,cAAW,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AAJD,gDAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_importing.js":{"lineLengths":[13,62,36,36,24,53,19,62,158,5,1,48,48],"data":{"version":3,"file":"method_def_importing.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_def_importing.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AACtE,wBAAsC;AAGtC,MAAa,kBAAmB,SAAQ,kBAAU;IACzC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,aAAG,EAAC,mBAAmB,CAAC,CAAC;QAEvC,OAAO,IAAA,WAAG,EAAC,WAAW,EACX,IAAA,YAAI,EAAC,sBAAmB,CAAC,EACzB,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AARD,gDAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_raising.js":{"lineLengths":[13,62,34,36,49,45,51,19,158,128,23,5,1,44,46],"data":{"version":3,"file":"method_def_raising.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_def_raising.ts"],"names":[],"mappings":";;;AAAA,oCAA6D;AAC7D,iDAA4D;AAE5D,6CAAuC;AAEvC,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAChB,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EACX,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,sBAAS,EACT,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,YAAI,EAAC,IAAA,eAAO,EAAC,SAAS,EAAE,sBAAS,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAXD,4CAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_def_returning.js":{"lineLengths":[13,62,36,36,33,49,53,19,155,75,5,1,48,48],"data":{"version":3,"file":"method_def_returning.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_def_returning.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,iCAAiC;AACjC,iDAA4D;AAG5D,MAAa,kBAAmB,SAAQ,kBAAU;IACzC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,WAAW,CAAC,eAAe,EAC3B,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAEpC,OAAO,IAAA,WAAG,EAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACF;AATD,gDASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_param_name.js":{"lineLengths":[13,62,33,36,50,19,65,21,5,1,42,45],"data":{"version":3,"file":"method_param_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_param_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,aAAG,EAAC,sBAAsB,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AALD,0CAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_param_optional.js":{"lineLengths":[13,62,37,36,24,54,19,82,5,1,50,49],"data":{"version":3,"file":"method_param_optional.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_param_optional.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAA8B;AAG9B,MAAa,mBAAoB,SAAQ,kBAAU;IAC1C,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,cAAW,EAAE,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC,CAAC;IAC/C,CAAC;CAEF;AALD,kDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_param.js":{"lineLengths":[13,62,29,36,33,49,46,19,157,155,133,29,5,1,34,40],"data":{"version":3,"file":"method_param.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_param.ts"],"names":[],"mappings":";;;AAAA,oCAAuD;AACvD,iCAAiC;AACjC,iDAA4D;AAG5D,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,WAAW,EACX,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,WAAW,CAAC,eAAe,EAC3B,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,WAAW,CAAC,eAAe,EAC3B,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAEpC,MAAM,aAAa,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,eAAe,CAAC,EAChD,WAAW,CAAC,SAAS,CAAC,CAAC;QAEjD,OAAO,aAAa,CAAC;IACvB,CAAC;CAEF;AAlBD,kCAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_parameters.js":{"lineLengths":[13,62,34,36,24,51,19,75,75,73,71,86,203,20,5,1,44,45],"data":{"version":3,"file":"method_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_parameters.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAAsF;AAGtF,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAChB,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,iBAAc,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,iBAAc,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,iBAAc,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,aAAU,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,0BAAuB,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,IAAA,eAAO,EAAC,QAAQ,CAAC,EACjB,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAfD,4CAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/method_source.js":{"lineLengths":[13,62,30,36,49,24,47,19,101,121,89,125,57,89,60,99,63,148,21,5,1,36,41],"data":{"version":3,"file":"method_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/method_source.ts"],"names":[],"mappings":";;;AAAA,oCAAkE;AAClE,iDAAsE;AACtE,wBAA+G;AAG/G,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAEpB,6FAA6F;QAC7F,iHAAiH;QAE7G,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,gBAAa,EAAE,aAAU,EAAE,UAAO,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,gBAAa,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,YAAS,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAE1C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAI,EAAE,cAAW,EAAE,oBAAiB,EAAE,UAAO,CAAC,EAAE,IAAA,YAAI,EAAC,UAAU,CAAC,CAAC,CAAC;QAE5F,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAlBD,oCAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/modif.js":{"lineLengths":[13,62,23,36,40,19,51,5,1,22,33],"data":{"version":3,"file":"modif.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/modif.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,KAAM,SAAQ,kBAAU;IAC5B,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,eAAe,CAAC,CAAC;IAC9B,CAAC;CACF;AAJD,sBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/namespace_simple_name.js":{"lineLengths":[13,62,37,36,54,19,77,5,1,50,49],"data":{"version":3,"file":"namespace_simple_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/namespace_simple_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,mBAAoB,SAAQ,kBAAU;IAC1C,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,yCAAyC,CAAC,CAAC;IACxD,CAAC;CACF;AAJD,kDAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/new_object.js":{"lineLengths":[13,62,27,36,46,24,49,57,44,44,19,150,200,199,66,5,1,30,38],"data":{"version":3,"file":"new_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/new_object.ts"],"names":[],"mappings":";;;AAAA,oCAAuE;AACvE,8CAAyC;AACzC,wBAA0D;AAC1D,iDAA2E;AAE3E,yDAAmD;AAEnD,4CAA4C;AAC5C,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,SAAM,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,YAAI,EAAC,kCAAe,CAAC,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC,CAAC;QAE1F,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,KAAK,EACL,kBAAe,EACf,IAAA,WAAG,EAAC,mBAAU,CAAC,EACf,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,SAAM,EAAE,iBAAc,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,EACxD,GAAG,CAAC,CAAC;QAEtB,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAbD,8BAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/ole_exporting.js":{"lineLengths":[13,62,30,36,24,47,19,106,72,5,1,36,41],"data":{"version":3,"file":"ole_exporting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/ole_exporting.ts"],"names":[],"mappings":";;;AAAA,oCAA6D;AAC7D,wBAAyB;AAGzB,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,4BAA4B,CAAC,EAAE,GAAG,EAAE,SAAM,CAAC,CAAC;QACnE,OAAO,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;CACF;AALD,oCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/or.js":{"lineLengths":[13,62,20,36,24,37,19,49,5,1,16,30],"data":{"version":3,"file":"or.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/or.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AACzC,wBAAyB;AAGzB,MAAa,EAAG,SAAQ,kBAAU;IACzB,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAI,EAAE,SAAM,CAAC,CAAC;IAC3B,CAAC;CACF;AAJD,gBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_exception.js":{"lineLengths":[13,62,36,36,24,53,19,70,120,5,1,48,47],"data":{"version":3,"file":"parameter_exception.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/parameter_exception.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAC3D,wBAAoD;AAGpD,MAAa,kBAAmB,SAAQ,kBAAU;IACzC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,QAAQ,EAAE,gBAAa,CAAC,CAAC;QAC9C,OAAO,IAAA,WAAG,EAAC,IAAI,EACJ,GAAG,EACH,aAAU,EACV,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,SAAM,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF;AARD,gDAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_list_exceptions.js":{"lineLengths":[13,62,41,36,24,58,19,56,5,1,58,53],"data":{"version":3,"file":"parameter_list_exceptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/parameter_list_exceptions.ts"],"names":[],"mappings":";;;AAAA,oCAA0C;AAC1C,wBAAqC;AAGrC,MAAa,uBAAwB,SAAQ,kBAAU;IAC9C,WAAW;QAChB,OAAO,IAAA,YAAI,EAAC,qBAAkB,CAAC,CAAC;IAClC,CAAC;CACF;AAJD,0DAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_list_s.js":{"lineLengths":[13,62,32,36,24,49,19,48,5,1,40,44],"data":{"version":3,"file":"parameter_list_s.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/parameter_list_s.ts"],"names":[],"mappings":";;;AAAA,oCAA0C;AAC1C,wBAA6B;AAG7B,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,OAAO,IAAA,YAAI,EAAC,aAAU,CAAC,CAAC;IAC1B,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_list_t.js":{"lineLengths":[13,62,32,36,24,49,19,48,5,1,40,44],"data":{"version":3,"file":"parameter_list_t.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/parameter_list_t.ts"],"names":[],"mappings":";;;AAAA,oCAA0C;AAC1C,wBAA6B;AAG7B,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,OAAO,IAAA,YAAI,EAAC,aAAU,CAAC,CAAC;IAC1B,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_s.js":{"lineLengths":[13,62,28,36,24,45,19,66,5,1,32,39],"data":{"version":3,"file":"parameter_s.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/parameter_s.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AACzC,wBAAwC;AAGxC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,gBAAa,EAAE,GAAG,EAAE,SAAM,CAAC,CAAC;IACzC,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/parameter_t.js":{"lineLengths":[13,62,28,36,24,45,19,66,5,1,32,39],"data":{"version":3,"file":"parameter_t.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/parameter_t.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AACzC,wBAAwC;AAGxC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,gBAAa,EAAE,GAAG,EAAE,SAAM,CAAC,CAAC;IACzC,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/pass_by_value.js":{"lineLengths":[13,62,29,36,49,24,46,19,144,21,5,1,34,41],"data":{"version":3,"file":"pass_by_value.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/pass_by_value.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,iDAA4D;AAC5D,wBAAgC;AAGhC,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,gBAAa,EACb,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AATD,kCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/perform_changing.js":{"lineLengths":[13,62,33,36,37,50,19,90,24,5,1,42,44],"data":{"version":3,"file":"perform_changing.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/perform_changing.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAE/C,qCAAgC;AAEhC,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,YAAI,EAAC,eAAM,CAAC,CAAC,CAAC;QAE/C,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAND,0CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/perform_tables.js":{"lineLengths":[13,62,31,36,37,48,19,86,22,5,1,38,42],"data":{"version":3,"file":"perform_tables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/perform_tables.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAE/C,qCAAgC;AAEhC,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,YAAI,EAAC,eAAM,CAAC,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AALD,sCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/perform_using.js":{"lineLengths":[13,62,30,36,37,47,19,84,21,5,1,36,41],"data":{"version":3,"file":"perform_using.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/perform_using.ts"],"names":[],"mappings":";;;AAAA,oCAA+C;AAE/C,qCAAgC;AAEhC,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,YAAI,EAAC,eAAM,CAAC,CAAC,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAND,oCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/radio_group_name.js":{"lineLengths":[13,62,32,36,49,19,48,5,1,40,44],"data":{"version":3,"file":"radio_group_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/radio_group_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/raise_with.js":{"lineLengths":[13,62,27,36,24,44,19,171,19,5,1,30,38],"data":{"version":3,"file":"raise_with.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/raise_with.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAE9C,wBAAgC;AAEhC,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,gBAAa,EACb,IAAA,WAAG,EAAC,gBAAa,CAAC,EAClB,IAAA,WAAG,EAAC,gBAAa,CAAC,EAClB,IAAA,WAAG,EAAC,gBAAa,CAAC,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AATD,8BASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/read_table_target.js":{"lineLengths":[13,62,33,36,41,37,50,19,200,22,5,1,42,45],"data":{"version":3,"file":"read_table_target.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/read_table_target.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAE3D,yCAAoC;AACpC,qCAAgC;AAEhC,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAEhB,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,WAAW,EAAE,mBAAQ,CAAC,EAC1B,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,WAAW,CAAC,EAAE,MAAM,EAAE,eAAM,CAAC,EACzC,wBAAwB,CAAC,CAAC;QAEjD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AATD,0CASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/receive_parameters.js":{"lineLengths":[13,62,35,36,24,52,19,75,69,73,132,151,20,5,1,46,46],"data":{"version":3,"file":"receive_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/receive_parameters.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,wBAAiE;AAGjE,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,iBAAc,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,iBAAc,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,iBAAc,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,IAAA,WAAG,EAAC,0BAAuB,CAAC,EAAE,IAAA,WAAG,EAAC,QAAK,CAAC,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAS,CAAC,EACd,IAAA,WAAG,EAAC,QAAQ,CAAC,EACb,IAAA,WAAG,EAAC,MAAM,CAAC,EACX,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC,CAAC;QAElC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAbD,8CAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/redefinition.js":{"lineLengths":[13,62,30,36,47,19,75,5,1,36,40],"data":{"version":3,"file":"redefinition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/redefinition.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAG9C,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;IAC3C,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/reduce_body.js":{"lineLengths":[13,62,28,36,24,47,45,19,91,117,5,1,32,39],"data":{"version":3,"file":"reduce_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/reduce_body.ts"],"names":[],"mappings":";;;AAAA,oCAAoD;AACpD,wBAAkD;AAElD,+CAAyC;AAEzC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,YAAI,EAAC,wBAAqB,CAAC,CAAC,CAAC;QAEtD,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAG,CAAC,EACR,IAAI,EACJ,IAAA,YAAI,EAAC,MAAG,CAAC,EACT,wBAAU,CAAC,CAAC;IACzB,CAAC;CACF;AATD,gCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/reduce_next.js":{"lineLengths":[13,62,28,36,24,49,46,45,19,219,107,67,5,1,32,39],"data":{"version":3,"file":"reduce_next.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/reduce_next.ts"],"names":[],"mappings":";;;AAAA,oCAAuE;AACvE,wBAAuC;AAEvC,iDAAkD;AAClD,8CAAyC;AAEzC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EACZ,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,EAAE,GAAG,CAAC,EACpB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,EAAE,GAAG,CAAC,EACpB,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,eAAY,EAAE,IAAA,eAAO,EAAC,GAAG,EAAE,UAAU,CAAC,EAAE,SAAM,CAAC,CAAC;QACnE,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,CAAC,CAAC;IACnC,CAAC;CACF;AAZD,gCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/report_name.js":{"lineLengths":[13,62,28,36,49,45,19,165,5,1,32,39],"data":{"version":3,"file":"report_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/report_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkE;AAClE,iDAA0C;AAG1C,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,YAAY,CAAC,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/select_loop.js":{"lineLengths":[13,62,28,36,24,49,45,61,43,63,43,46,45,19,60,42,68,150,64,97,225,142,219,19,5,1,32,39],"data":{"version":3,"file":"select_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/select_loop.ts"],"names":[],"mappings":";;;AAAA,oCAA0E;AAC1E,wBAA6H;AAE7H,iDAA0C;AAC1C,6CAAuC;AACvC,6DAAsD;AACtD,2CAAqC;AACrC,+DAAuD;AACvD,2CAAoC;AACpC,8CAAyC;AAEzC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,UAAO,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAElC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,YAAS,CAAC,CAAC;QAE5C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAY,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,UAAO,EAAE,IAAI,CAAC,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,UAAO,CAAC,CAAC,CAAC,CAAC;QAEjF,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,eAAY,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,qCAAgB,EAAE,cAAW,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EACP,KAAK,EACL,mBAAO,EACP,yBAAU,EACV,sBAAS,EACT,YAAS,EACT,MAAM,EACN,aAAU,EACV,mBAAgB,EAChB,IAAA,WAAG,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,YAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAO,CAAC,CAAC;QAEhF,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,UAAU,CAAC,EAAE,sCAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,EACjE,IAAA,eAAO,EAAC,oBAAQ,CAAC,CAAC,CAAC;QAEnC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAjCD,gCAiCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_order_by.js":{"lineLengths":[13,62,28,36,39,53,45,19,65,138,116,21,5,1,32,40],"data":{"version":3,"file":"sql_order_by.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_order_by.ts"],"names":[],"mappings":";;;AAAA,oCAAkE;AAElE,uCAAkC;AAClC,qDAA8C;AAE9C,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,6BAAY,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,eAAO,EAAC,aAAa,EAAE,iBAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAPD,gCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field_name.js":{"lineLengths":[13,62,30,36,47,19,136,5,1,36,42],"data":{"version":3,"file":"sql_field_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_field_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,oGAAoG,CAAC,CAAC;IACnH,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_having.js":{"lineLengths":[13,62,27,36,39,44,19,69,22,5,1,30,38],"data":{"version":3,"file":"sql_having.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_having.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAEzC,uCAAkC;AAElC,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,iBAAO,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AALD,8BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_into_structure.js":{"lineLengths":[13,62,34,36,24,51,19,107,52,5,1,44,46],"data":{"version":3,"file":"sql_into_structure.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_into_structure.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAA4B;AAG5B,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAEhB,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,yBAAyB,CAAC,EAAE,YAAS,CAAC,CAAC;QAEtE,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;CACF;AAPD,4CAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_hints.js":{"lineLengths":[13,62,26,36,24,43,19,113,104,19,5,1,28,37],"data":{"version":3,"file":"sql_hints.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_hints.ts"],"names":[],"mappings":";;;AAAA,oCAAwD;AACxD,wBAA2B;AAG3B,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5F,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,WAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js":{"lineLengths":[13,62,34,36,24,46,41,54,51,19,90,56,63,204,68,22,5,1,44,47],"data":{"version":3,"file":"sql_field_list_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_field_list_loop.ts"],"names":[],"mappings":";;;AAAA,oCAAuE;AACvE,wBAAuE;AACvE,8CAAyC;AAEzC,yCAAmC;AAEnC,sDAAsD;AACtD,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,YAAS,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAQ,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,SAAS,CAAC,EAAE,IAAA,WAAG,EAAC,eAAY,EAAE,kBAAO,EAAE,WAAQ,CAAC,EAAE,IAAA,eAAO,EAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAA,YAAI,EAAC,SAAS,CAAC,CAAC,CAAC;QAElH,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAVD,4CAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_path.js":{"lineLengths":[13,62,25,36,49,42,19,35,127,19,5,1,26,36],"data":{"version":3,"file":"sql_path.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_path.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,iDAA0C;AAG1C,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QACpB,2BAA2B;QACvB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,aAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAEtD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAPD,0BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_up_to.js":{"lineLengths":[13,62,25,36,45,42,19,77,18,5,1,26,37],"data":{"version":3,"file":"sql_up_to.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_up_to.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAEzC,6CAAuC;AAEvC,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,sBAAS,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AALD,0BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_source.js":{"lineLengths":[13,62,27,36,46,49,24,44,19,130,161,72,5,1,30,38],"data":{"version":3,"file":"sql_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_source.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,8CAAyC;AACzC,iDAAmE;AACnE,wBAAuD;AAGvD,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,SAAM,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAE9D,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,YAAG,CAAC,EAAE,IAAA,eAAO,EAAC,gBAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAE/E,OAAO,IAAA,WAAG,EAAC,gBAAa,EAAE,gBAAa,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF;AARD,8BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/select.js":{"lineLengths":[13,62,24,36,24,46,49,61,49,53,43,41,19,114,60,106,60,78,86,235,206,151,93,109,90,84,19,5,1,24,34],"data":{"version":3,"file":"select.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/select.ts"],"names":[],"mappings":";;;AAAA,oCAA+E;AAC/E,wBAAoL;AACpL,8CAAyC;AAEzC,iDAA0C;AAC1C,6DAAsD;AACtD,iDAA+D;AAC/D,qDAA8C;AAC9C,2CAAoC;AAEpC,MAAa,MAAO,SAAQ,kBAAU;IAC7B,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,eAAY,EAAE,qCAAgB,EAAE,cAAW,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,UAAO,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,QAAQ,EAAE,YAAS,CAAC,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,kBAAkB,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,YAAS,CAAC,CAAC;QAE5C,8EAA8E;QAC9E,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAI,EAAE,mBAAgB,EAAE,KAAK,EACtC,aAAU,EAAE,mBAAO,EAAE,MAAM,EAAE,YAAS,EAAE,YAAS,EACjD,MAAM,EAAE,yBAAU,EAAE,MAAM,EAAE,qBAAkB,EAAE,WAAQ,CAAC,CAAC;QAE3E,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,eAAO,EAAC,qCAAgB,EAAE,cAAW,CAAC,EAAE,KAAK,EAAE,YAAS,EACjE,MAAM,EAAE,MAAM,EAAE,qBAAkB,EAAE,WAAQ,CAAC,CAAC;QAErE,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,6BAAY,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAErE,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,eAAY,EAAE,KAAK,CAAC,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAE3E,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAExD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAElD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAhCD,wBAgCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_group_by.js":{"lineLengths":[13,62,28,36,39,53,45,19,85,88,103,21,5,1,32,40],"data":{"version":3,"file":"sql_group_by.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_group_by.ts"],"names":[],"mappings":";;;AAAA,oCAA6D;AAE7D,uCAAkC;AAClC,qDAA8C;AAE9C,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,6BAAY,EAAE,iBAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,IAAA,YAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAPD,gCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_field_chain.js":{"lineLengths":[13,62,34,36,24,49,53,51,19,113,124,59,51,19,5,1,44,46],"data":{"version":3,"file":"simple_field_chain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/simple_field_chain.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,wBAAkD;AAClD,iDAAuD;AAEvD,qDAA+C;AAE/C,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,gBAAa,CAAC,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAS,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,8BAAa,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,QAAK,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE9B,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAXD,4CAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_field_chain2.js":{"lineLengths":[13,62,35,36,24,49,53,52,19,112,89,74,124,87,51,19,5,1,46,47],"data":{"version":3,"file":"simple_field_chain2.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/simple_field_chain2.ts"],"names":[],"mappings":";;;AAAA,oCAA6D;AAC7D,wBAA2E;AAC3E,iDAAsE;AAEtE,qDAA+C;AAE/C,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,8BAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,gBAAa,CAAC,CAAC;QAE3C,MAAM,KAAK,GAAG,IAAA,YAAI,EAAC,IAAA,eAAO,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAS,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,8BAAa,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,cAAW,EAAE,oBAAiB,CAAC,CAAC;QAE5D,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE9B,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAdD,8CAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_name.js":{"lineLengths":[13,62,28,36,45,19,47,5,1,32,39],"data":{"version":3,"file":"simple_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/simple_name.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_source1.js":{"lineLengths":[13,62,31,36,24,48,19,65,88,106,5,1,38,42],"data":{"version":3,"file":"simple_source1.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/simple_source1.ts"],"names":[],"mappings":";;;AAAA,oCAAoD;AACpD,wBAAqF;AAGrF,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,iBAAc,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,iBAAc,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,CAAC,CAAC;QAEnD,OAAO,IAAA,WAAG,EAAC,WAAQ,EAAE,cAAW,EAAE,kBAAe,EAAE,QAAQ,EAAE,aAAU,CAAC,CAAC;IAC3E,CAAC;CACF;AARD,sCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_source2.js":{"lineLengths":[13,62,31,36,24,63,48,19,65,88,90,5,1,38,42],"data":{"version":3,"file":"simple_source2.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/simple_source2.ts"],"names":[],"mappings":";;;AAAA,oCAAwD;AACxD,wBAAoE;AAGpE,+DAA+D;AAC/D,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,iBAAc,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,iBAAc,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,CAAC,CAAC;QAEnD,OAAO,IAAA,eAAO,EAAC,WAAQ,EAAE,cAAW,EAAE,QAAQ,EAAE,aAAU,CAAC,CAAC;IAC9D,CAAC;CACF;AAPD,sCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_source4.js":{"lineLengths":[13,62,31,36,24,59,48,19,113,5,1,38,42],"data":{"version":3,"file":"simple_source4.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/simple_source4.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AACzC,wBAAoD;AAEpD,2DAAoD;AAEpD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,WAAQ,EAAE,cAAW,EAAE,aAAU,EAAE,mCAAe,CAAC,CAAC;IACjE,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/simple_target.js":{"lineLengths":[13,62,30,36,24,49,53,47,47,19,112,89,129,106,124,93,116,68,60,5,1,36,41],"data":{"version":3,"file":"simple_target.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/simple_target.ts"],"names":[],"mappings":";;;AAAA,oCAA0E;AAC1E,wBAAmK;AACnK,iDAAsE;AAEtE,qDAA+C;AAC/C,+CAA0C;AAE1C,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,8BAAa,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,gBAAa,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,IAAA,gBAAQ,EAAC,IAAA,eAAO,EAAC,yBAAW,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAe,CAAC,CAAC,CAAC;QAE9E,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,OAAI,EAAE,YAAS,CAAC,EAAE,QAAK,EAAE,WAAQ,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAS,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,8BAAa,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,IAAI,EAAE,cAAW,EAAE,oBAAiB,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,cAAW,CAAC,EAAE,IAAA,eAAO,EAAC,cAAW,CAAC,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,YAAS,EAAE,MAAM,CAAC,CAAC;QAE5C,OAAO,IAAA,WAAG,EAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF;AAlBD,oCAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/source_field_symbol.js":{"lineLengths":[13,62,35,36,24,52,19,36,5,1,46,47],"data":{"version":3,"file":"source_field_symbol.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/source_field_symbol.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,wBAA8B;AAG9B,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,OAAO,IAAI,cAAW,EAAE,CAAC;IAC3B,CAAC;CACF;AAJD,8CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/source_field.js":{"lineLengths":[13,62,29,36,24,46,19,30,5,1,34,40],"data":{"version":3,"file":"source_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/source_field.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,wBAAwB;AAGxB,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAI,QAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_aggregation.js":{"lineLengths":[13,62,32,36,49,24,39,55,49,19,160,60,231,151,151,151,151,63,5,1,40,43],"data":{"version":3,"file":"sql_aggregation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_aggregation.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAChE,iDAA2D;AAC3D,wBAAqC;AAErC,uCAAkC;AAClC,uDAAiD;AAEjD,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,UAAU,CAAC,EAAE,IAAA,eAAO,EAAC,gCAAc,EAAE,iBAAO,EAAE,cAAW,CAAC,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,QAAK,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,EAAE,IAAA,eAAO,EAAC,UAAU,CAAC,EAAE,IAAA,eAAO,EAAC,GAAG,EAAE,QAAK,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5H,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAEzE,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;CACF;AAZD,wCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_arithmetics.js":{"lineLengths":[13,62,32,36,24,71,49,19,72,136,5,1,40,43],"data":{"version":3,"file":"sql_arithmetics.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_arithmetics.ts"],"names":[],"mappings":";;;AAAA,oCAAwD;AACxD,wBAA4C;AAE5C,uEAAgE;AAEhE,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,eAAY,EAAE,cAAW,CAAC,CAAC;QAC7C,OAAO,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,+CAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;CACF;AALD,wCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js":{"lineLengths":[13,62,39,36,49,56,19,126,24,5,1,54,51],"data":{"version":3,"file":"sql_arithmetic_operator.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_arithmetic_operator.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,iDAAoD;AAGpD,MAAa,qBAAsB,SAAQ,kBAAU;IAC5C,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,eAAM,CAAC,EAAE,IAAA,WAAG,EAAC,eAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AALD,sDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_alias_field.js":{"lineLengths":[13,62,31,36,48,19,57,5,1,38,43],"data":{"version":3,"file":"sql_alias_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_alias_field.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,qBAAqB,CAAC,CAAC;IACpC,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_as_name.js":{"lineLengths":[13,62,27,49,36,44,19,39,103,120,5,1,30,39],"data":{"version":3,"file":"sql_as_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_as_name.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,oCAAsE;AAGtE,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QACpB,+BAA+B;QAC3B,MAAM,KAAK,GAAG,IAAA,aAAG,EAAC,4DAA4D,CAAC,CAAC;QAEhF,OAAO,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;CACF;AAPD,8BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_case.js":{"lineLengths":[13,62,25,24,46,49,36,41,41,53,45,42,19,151,217,111,152,52,198,5,1,26,36],"data":{"version":3,"file":"sql_case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_case.ts"],"names":[],"mappings":";;;AAAA,wBAAuD;AACvD,8CAAyC;AACzC,iDAA+D;AAC/D,oCAA8F;AAE9F,yCAAoC;AACpC,yCAAmC;AACnC,qDAA8C;AAC9C,6CAAuC;AAEvC,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAEhB,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,iBAAc,EACd,OAAO,EACP,cAAW,EACX,UAAO,EACP,6BAAY,EACZ,mBAAQ,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,EAAE,KAAK,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC,CAAC;QAEjH,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,OAAO,EAAE,iBAAc,EAAE,cAAW,EAAE,sBAAS,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,eAAO,EAAC,kBAAO,EAAE,mBAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC;QACnF,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE/B,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,6BAAY,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAAE,IAAA,eAAO,EAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACpG,CAAC;CACF;AAjBD,0BAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_cond.js":{"lineLengths":[13,62,25,36,49,24,42,19,59,191,110,98,19,5,1,26,36],"data":{"version":3,"file":"sql_cond.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_cond.ts"],"names":[],"mappings":";;;AAAA,oCAA0E;AAC1E,iDAA4E;AAC5E,wBAA6B;AAG7B,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEtC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAChB,OAAO,EACP,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC,CAAC;QAEhE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,IAAA,eAAO,EAAC,aAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAE5D,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAdD,0BAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_cds_parameters.js":{"lineLengths":[13,62,34,36,24,49,47,51,19,161,102,5,1,44,46],"data":{"version":3,"file":"sql_cds_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_cds_parameters.ts"],"names":[],"mappings":";;;AAAA,oCAA6D;AAC7D,wBAAkC;AAClC,iDAAyC;AAEzC,+CAAyC;AAEzC,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,QAAK,EAAE,GAAG,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,YAAG,CAAC,EAAE,wBAAU,CAAC,EAAE,WAAQ,CAAC,CAAC,CAAC;QACxE,OAAO,IAAA,WAAG,EAAC,GAAG,EAAE,KAAK,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;CACF;AALD,4CAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_client.js":{"lineLengths":[13,62,27,46,36,59,44,19,456,22,5,1,30,38],"data":{"version":3,"file":"sql_client.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_client.ts"],"names":[],"mappings":";;;AAAA,8CAAyC;AACzC,oCAA2D;AAE3D,2DAAoD;AAEpD,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAEhB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,EACzC,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,QAAQ,EAAE,mCAAe,CAAC,CAAC,EACrD,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,YAAY,EAAE,IAAA,WAAG,EAAC,mCAAe,EAAE,MAAM,CAAC,CAAC,CAAC,EAClE,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AATD,8BASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_source_simple.js":{"lineLengths":[13,62,33,36,46,49,24,59,50,19,130,157,54,5,1,42,45],"data":{"version":3,"file":"sql_source_simple.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_source_simple.ts"],"names":[],"mappings":";;;AAAA,oCAAwD;AACxD,8CAAyC;AACzC,iDAAmE;AACnE,wBAAwC;AAGxC,2DAA2D;AAC3D,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,SAAM,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAE9D,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,YAAG,CAAC,EAAE,IAAA,WAAG,EAAC,gBAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3E,OAAO,IAAA,WAAG,EAAC,gBAAa,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;CACF;AARD,0CAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_compare_operator.js":{"lineLengths":[13,62,36,36,53,19,133,24,5,1,48,48],"data":{"version":3,"file":"sql_compare_operator.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_compare_operator.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAG7C,MAAa,kBAAmB,SAAQ,kBAAU;IACzC,WAAW;QAEhB,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAPD,gDAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_compare.js":{"lineLengths":[13,62,28,36,24,46,49,45,19,64,87,124,155,42,114,163,130,161,341,61,62,5,1,32,39],"data":{"version":3,"file":"sql_compare.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_compare.ts"],"names":[],"mappings":";;;AAAA,oCAA+E;AAC/E,wBAA0H;AAC1H,8CAAyC;AAEzC,iDAAmE;AAEnE,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,SAAM,EAAE,GAAG,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,YAAS,EAAE,KAAK,EAAE,YAAS,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,YAAS,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,YAAS,CAAC,CAAC,CAAC,CAAC;QAEvE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAErF,MAAM,MAAM,GAAG,IAAI,YAAS,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAEnE,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,eAAY,CAAC,CAAC,CAAC,CAAC;QAE1F,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,SAAM,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,YAAG,CAAC,EAAE,IAAA,eAAO,EAAC,gBAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAE/E,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,cAAW,EAAE,IAAA,WAAG,EAAC,eAAY,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAC3D,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAkB,EAAE,IAAA,eAAO,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAC7C,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,IAAA,eAAO,EAAC,QAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAClD,GAAG,CAAC,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAExC,OAAO,IAAA,eAAO,EAAC,MAAM,EAAE,UAAO,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AA5BD,gCA4BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field_and_value.js":{"lineLengths":[13,62,34,36,39,71,53,45,51,19,183,127,21,5,1,44,47],"data":{"version":3,"file":"sql_field_and_value.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_field_and_value.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAElD,uCAAkC;AAClC,uEAAgE;AAChE,qDAA8C;AAC9C,6CAAuC;AAEvC,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,iBAAO,EAAE,6BAAY,CAAC,EAAE,+CAAqB,EAAE,sBAAS,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,6BAAY,EAAE,GAAG,EAAE,IAAA,eAAO,EAAC,IAAI,EAAE,sBAAS,CAAC,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAND,4CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field_list.js":{"lineLengths":[13,62,30,36,24,46,47,19,124,55,112,5,1,36,42],"data":{"version":3,"file":"sql_field_list.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_field_list.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AACtE,wBAAoC;AACpC,8CAAyC;AAGzC,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,WAAQ,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC,WAAQ,CAAC,CAAC;QAE/B,OAAO,IAAA,eAAO,EAAC,GAAG,EACH,UAAO,EACP,IAAA,WAAG,EAAC,WAAQ,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;CACF;AATD,oCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_field.js":{"lineLengths":[13,62,26,36,24,46,49,49,61,41,43,19,155,56,158,240,72,94,5,1,28,37],"data":{"version":3,"file":"sql_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_field.ts"],"names":[],"mappings":";;;AAAA,oCAA+E;AAC/E,wBAA6E;AAC7E,8CAAyC;AACzC,iDAAoE;AAEpE,iDAA2C;AAC3C,6DAAsD;AACtD,yCAAmC;AAEnC,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAEhB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,YAAG,CAAC,EAAE,qCAAgB,CAAC,CAAC,CAAC;QAEpE,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,YAAS,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,iBAAc,EACd,UAAO,EACP,0BAAW,EACX,kBAAO,EACP,eAAY,EACZ,IAAI,EACJ,WAAQ,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,EAAE,KAAK,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3H,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEzC,OAAO,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,IAAA,eAAO,EAAC,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;CACF;AAnBD,4BAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_function.js":{"lineLengths":[13,62,29,41,46,49,36,39,55,53,53,37,55,46,19,136,175,179,344,56,84,200,215,202,256,214,212,204,202,200,212,228,212,200,191,132,5,1,34,40],"data":{"version":3,"file":"sql_function.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_function.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_fields.js":{"lineLengths":[13,62,27,36,24,44,19,89,5,1,30,38],"data":{"version":3,"file":"sql_fields.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_fields.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,wBAA+B;AAG/B,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,UAAU,CAAC,EAAE,eAAY,CAAC,CAAC;IACtD,CAAC;CACF;AAJD,8BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js":{"lineLengths":[13,62,34,36,45,51,19,86,22,5,1,44,47],"data":{"version":3,"file":"sql_for_all_entries.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_for_all_entries.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAEzC,6CAAuC;AAEvC,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,sBAAS,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AALD,4CAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_from_source.js":{"lineLengths":[13,62,31,36,24,46,49,43,48,19,119,126,57,277,5,1,38,43],"data":{"version":3,"file":"sql_from_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_from_source.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AACrE,wBAAyE;AAEzE,8CAAyC;AACzC,iDAAyC;AACzC,2CAAqC;AAErC,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,+GAA+G;QAC/G,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,YAAG,CAAC,EAAE,aAAU,CAAC,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,YAAS,CAAC,CAAC;QAEjC,OAAO,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,oBAAQ,EAAE,IAAA,WAAG,EAAC,gBAAa,EAAE,IAAA,eAAO,EAAC,mBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,EACrE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,EACpD,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;CACF;AAVD,sCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/with_name.js":{"lineLengths":[13,62,26,49,36,43,19,95,5,1,28,37],"data":{"version":3,"file":"with_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/with_name.ts"],"names":[],"mappings":";;;AAAA,iDAA2C;AAC3C,oCAA4D;AAG5D,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,EAAE,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAJD,4BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_from.js":{"lineLengths":[13,62,25,36,49,24,42,19,127,225,22,5,1,26,36],"data":{"version":3,"file":"sql_from.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_from.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,iDAA+D;AAC/D,wBAAyC;AAGzC,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,EAC1B,gBAAa,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,EAAE,UAAO,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzG,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAVD,0BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_in.js":{"lineLengths":[13,62,23,36,24,49,46,40,19,39,48,349,269,174,64,96,19,5,1,22,34],"data":{"version":3,"file":"sql_in.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_in.ts"],"names":[],"mappings":";;;AAAA,oCAA2E;AAC3E,wBAAsD;AACtD,iDAAiH;AACjH,8CAAyC;AAGzC,MAAa,KAAM,SAAQ,kBAAU;IAC5B,WAAW;QAChB,MAAM,GAAG,GAAG,IAAI,YAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,mBAAgB,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC,CAAC;QACrK,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,GAAG,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,eAAO,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC,CAAC;QAClI,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,uEAAuE;QAElI,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,SAAM,EAAE,GAAG,CAAC,CAAC;QAExC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,eAAO,EAAC,YAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAE3D,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAfD,sBAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_into_list.js":{"lineLengths":[13,62,29,36,24,68,66,46,19,233,50,5,1,34,41],"data":{"version":3,"file":"sql_into_list.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_into_list.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,wBAA4B;AAE5B,oEAA8D;AAC9D,kEAA4D;AAE5D,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,wBAAU,CAAC,EAAE,IAAA,WAAG,EAAC,0BAAW,CAAC,CAAC,EAC1C,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,YAAS,EAAE,GAAG,CAAC,CAAC,EAC7B,YAAS,EACT,GAAG,CAAC,CAAC;QAE1B,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;CACF;AATD,kCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_into_table.js":{"lineLengths":[13,62,30,36,24,47,19,153,20,5,1,36,42],"data":{"version":3,"file":"sql_into_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_into_table.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAC3D,wBAA4B;AAG5B,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,MAAM,EAAE,WAAW,CAAC,EAC5B,IAAA,eAAO,EAAC,yBAAyB,CAAC,EAClC,OAAO,EACP,YAAS,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AARD,oCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_join.js":{"lineLengths":[13,62,25,36,24,42,19,149,84,20,5,1,26,36],"data":{"version":3,"file":"sql_join.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_join.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAC3D,wBAAyC;AAGzC,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAEtG,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,gBAAa,EAAE,IAAI,EAAE,UAAO,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_source_no_space.js":{"lineLengths":[13,62,34,36,46,49,24,51,19,130,160,72,5,1,44,47],"data":{"version":3,"file":"sql_source_no_space.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_source_no_space.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,8CAAyC;AACzC,iDAAkE;AAClE,wBAAuD;AAGvD,MAAa,gBAAiB,SAAQ,kBAAU;IACvC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,SAAM,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAE9D,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAE,CAAC,EAAE,IAAA,eAAO,EAAC,gBAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9E,OAAO,IAAA,WAAG,EAAC,gBAAa,EAAE,gBAAa,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF;AARD,4CAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/sql_target.js":{"lineLengths":[13,62,27,36,46,49,24,44,19,66,199,51,5,1,30,38],"data":{"version":3,"file":"sql_target.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/sql_target.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,8CAAyC;AACzC,iDAA6C;AAC7C,wBAAyB;AAGzB,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,CAAC,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,YAAG,CAAC,EAAE,IAAA,WAAG,EAAC,WAAE,CAAC,CAAC,EAAE,SAAM,CAAC,CAAC,CAAC;QAElF,OAAO,IAAA,eAAO,EAAC,EAAE,EAAE,SAAM,CAAC,CAAC;IAC7B,CAAC;CACF;AAPD,8BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/string_template_formatting.js":{"lineLengths":[13,62,42,36,24,46,39,59,19,107,81,88,120,104,92,129,104,76,202,61,64,67,76,57,67,61,67,110,108,504,26,5,1,60,54],"data":{"version":3,"file":"string_template_formatting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/string_template_formatting.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/string_template_source.js":{"lineLengths":[13,62,38,36,24,55,19,99,19,5,1,52,50],"data":{"version":3,"file":"string_template_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/string_template_source.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAAmD;AAGnD,MAAa,oBAAqB,SAAQ,kBAAU;IAC3C,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAM,EAAE,IAAA,eAAO,EAAC,2BAAwB,CAAC,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AALD,oDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/string_template.js":{"lineLengths":[13,62,32,36,47,46,24,49,19,266,125,5,1,40,43],"data":{"version":3,"file":"string_template.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/string_template.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AACtE,+CAA+C;AAC/C,8CAAyC;AACzC,wBAAuC;AAGvC,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAEhB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,CAAC,mBAAmB,CAAC,EAC/B,uBAAoB,EACpB,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,uBAAoB,CAAC,CAAC,EACrE,IAAA,WAAG,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAEhD,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,eAAO,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;CACF;AAVD,wCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/super_class_name.js":{"lineLengths":[13,62,32,36,24,49,19,34,5,1,40,44],"data":{"version":3,"file":"super_class_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/super_class_name.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,wBAA4B;AAG5B,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,OAAO,IAAI,YAAS,EAAE,CAAC;IACzB,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_structure.js":{"lineLengths":[13,62,31,36,24,48,19,29,75,60,87,5,1,38,42],"data":{"version":3,"file":"type_structure.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/type_structure.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAAiD;AAGjD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,qBAAqB;QACrB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,sBAAmB,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,YAAS,CAAC,CAAC;QAEpC,OAAO,IAAA,WAAG,EAAC,oBAAoB,EAAE,IAAA,eAAO,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;CAEF;AATD,sCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/switch_body.js":{"lineLengths":[13,62,28,36,24,45,19,53,128,178,5,1,32,39],"data":{"version":3,"file":"switch_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/switch_body.ts"],"names":[],"mappings":";;;AAAA,oCAA+D;AAC/D,wBAAqC;AAGrC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,SAAM,CAAC,CAAC;QAE7B,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,SAAM,EAAE,IAAA,YAAI,EAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAA,WAAG,EAAC,SAAM,EAAE,QAAK,CAAC,CAAC,CAAC;QAExE,OAAO,IAAA,WAAG,EACR,IAAA,WAAG,EAAC,MAAG,CAAC,EACR,SAAM,EACN,IAAA,YAAI,EAAC,KAAK,CAAC,EACX,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,SAAM,EAAE,QAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AAZD,gCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/table_expression.js":{"lineLengths":[13,62,33,36,49,24,46,50,19,134,59,59,328,65,5,1,42,44],"data":{"version":3,"file":"table_expression.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/table_expression.ts"],"names":[],"mappings":";;;AAAA,oCAAqF;AACrF,iDAAiF;AACjF,wBAAoE;AACpE,8CAAyC;AAGzC,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,uBAAoB,EAAE,UAAO,CAAC,EAAE,GAAG,EAAE,SAAM,CAAC,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,aAAU,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,SAAM,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,EACjB,IAAA,WAAG,EAAC,SAAM,EAAE,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,GAAG,CAAC,EAAE,IAAA,WAAG,EAAC,YAAY,CAAC,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EACzE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,sBAAa,CAAC,EAAE,IAAA,WAAG,EAAC,uBAAc,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CACF;AAVD,0CAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/target_field_symbol.js":{"lineLengths":[13,62,35,36,24,52,19,36,5,1,46,47],"data":{"version":3,"file":"target_field_symbol.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/target_field_symbol.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,wBAA8B;AAG9B,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,OAAO,IAAI,cAAW,EAAE,CAAC;IAC3B,CAAC;CACF;AAJD,8CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/target_field.js":{"lineLengths":[13,62,29,36,24,46,19,30,5,1,34,40],"data":{"version":3,"file":"target_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/target_field.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,wBAAwB;AAGxB,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAI,QAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAJD,kCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/test_seam_name.js":{"lineLengths":[13,62,30,36,49,47,19,183,19,5,1,36,42],"data":{"version":3,"file":"test_seam_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/test_seam_name.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AACtE,iDAA0C;AAG1C,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,cAAc,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAA,aAAG,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpF,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAND,oCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/text_element_key.js":{"lineLengths":[13,62,32,36,49,19,45,5,1,40,44],"data":{"version":3,"file":"text_element_key.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/text_element_key.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAGlD,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,OAAO,IAAA,aAAG,EAAC,SAAS,CAAC,CAAC;IACxB,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/text_element_string.js":{"lineLengths":[13,62,35,36,49,24,52,19,135,83,20,5,1,46,47],"data":{"version":3,"file":"text_element_string.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/text_element_string.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,iDAA4D;AAC5D,wBAAiC;AAGjC,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,iBAAc,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,aAAG,EAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAND,8CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/throw.js":{"lineLengths":[13,62,23,36,24,49,40,19,24,354,5,1,22,33],"data":{"version":3,"file":"throw.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/throw.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,wBAAoD;AACpD,iDAAsF;AAGtF,MAAa,KAAM,SAAQ,kBAAU;IAC5B,WAAW;QACpB,gBAAgB;QACZ,OAAO,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,WAAG,EAAC,WAAW,CAAC,EAChB,YAAS,EACT,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,IAAA,WAAG,EAAC,kBAAS,CAAC,CAAC,EACxC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAM,EAAE,iBAAc,CAAC,CAAC,EAChC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AAVD,sBAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/transporting_fields.js":{"lineLengths":[13,62,36,36,39,43,53,19,132,63,5,1,48,47],"data":{"version":3,"file":"transporting_fields.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/transporting_fields.ts"],"names":[],"mappings":";;;AAAA,oCAAuE;AAEvE,uCAAkC;AAClC,2CAAqC;AAErC,MAAa,kBAAmB,SAAQ,kBAAU;IACzC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,gBAAQ,GAAE,CAAC,EAAE,oBAAQ,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAA,eAAO,EAAC,iBAAO,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;CACF;AALD,gDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_name_or_infer.js":{"lineLengths":[13,62,33,36,24,50,19,54,5,1,42,46],"data":{"version":3,"file":"type_name_or_infer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/type_name_or_infer.ts"],"names":[],"mappings":";;;AAAA,oCAA6C;AAC7C,wBAA2B;AAG3B,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,WAAQ,CAAC,CAAC;IAChC,CAAC;CACF;AAJD,0CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_name.js":{"lineLengths":[13,62,26,36,49,69,43,19,56,143,78,91,5,1,28,37],"data":{"version":3,"file":"type_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/type_name.ts"],"names":[],"mappings":";;;AAAA,oCAAgF;AAChF,iDAAsE;AAGtE,qEAAqE;AAErE,MAAa,QAAS,SAAQ,kBAAU;IAE/B,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC,cAAc,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,sBAAa,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;CAEF;AATD,4BASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_param.js":{"lineLengths":[13,62,27,36,24,44,19,118,122,35,120,124,94,5,1,30,38],"data":{"version":3,"file":"type_param.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/type_param.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AACrE,wBAAuD;AAGvD,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EACvD,OAAO,CAAC,CAAC;QAE3B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,SAAS,CAAC;QAE3B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,QAAQ,CAAC,EAClB,kBAAe,EACf,IAAA,WAAG,EAAC,UAAO,CAAC,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,SAAS,CAAC,EAAE,aAAU,EAAE,IAAA,eAAO,EAAC,UAAO,CAAC,CAAC,CAAC;QAEvE,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF;AAjBD,8BAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_table_key.js":{"lineLengths":[13,62,30,36,24,46,47,19,68,41,83,127,104,350,19,5,1,36,42],"data":{"version":3,"file":"type_table_key.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/type_table_key.ts"],"names":[],"mappings":";;;AAAA,oCAA0F;AAC1F,wBAAkC;AAClC,8CAAyC;AAGzC,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAEhB,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,aAAa,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAEpD,MAAM,UAAU,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,gBAAQ,GAAE,CAAC,EAAE,WAAQ,CAAC,CAAC,CAAC;QAEhE,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,IAAA,WAAG,EAAC,UAAU,CAAC,EACf,IAAA,eAAO,EAAC,UAAU,EAAE,QAAQ,EACpB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAC5B,KAAK,EACL,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAK,EAAE,YAAY,EAAE,UAAU,CAAC,EACpC,UAAU,CAAC,CAAC,CAAC,EAC7B,IAAA,eAAO,EAAC,OAAO,CAAC,EAChB,IAAA,eAAO,EAAC,WAAW,CAAC,CAAC,CAAC;QAEtC,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAxBD,oCAwBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type_table.js":{"lineLengths":[13,62,27,36,24,47,53,46,44,19,42,70,134,182,321,129,142,62,56,303,62,227,160,173,251,19,5,1,30,38],"data":{"version":3,"file":"type_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/type_table.ts"],"names":[],"mappings":";;;AAAA,oCAA+F;AAC/F,wBAA8C;AAE9C,+CAAyC;AACzC,qDAA8C;AAC9C,8CAAyC;AAEzC,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAClC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,WAAQ,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEvF,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,EACxD,UAAU,EACV,IAAA,eAAO,EAAC,QAAQ,CAAC,EACjB,WAAQ,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,EACxD,UAAU,EACV,IAAA,eAAO,EAAC,QAAQ,CAAC,EACjB,IAAA,WAAG,EAAC,wBAAU,CAAC,EACf,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,OAAO,EAAE,IAAA,gBAAQ,EAAC,6BAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,WAAQ,EAAE,IAAA,eAAO,EAAC,MAAM,CAAC,EAAE,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,wBAAU,EAAE,IAAA,eAAO,EAAC,MAAM,CAAC,EAAE,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC;QAEjF,sDAAsD;QACtD,gDAAgD;QAChD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,OAAO,EAAE,IAAA,gBAAQ,EAAC,6BAAY,CAAC,CAAC,CAAC,EACjD,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,6BAAY,CAAC,EAAE,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpF,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,UAAO,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,eAAO,EACxD,eAAe,EACf,eAAe,EACf,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,MAAM,EACN,aAAa,EACb,QAAQ,CACT,EAAE,WAAQ,CAAC,CAAC,CAAC;QAEd,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,CAAC,EAAE,WAAQ,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,CAAC,EAAE,wBAAU,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAEtF,MAAM,GAAG,GAAG,IAAA,eAAO,EACjB,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,EACxB,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,EAC9C,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5D,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAnDD,8BAmDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/type.js":{"lineLengths":[13,62,22,36,24,39,19,89,144,129,105,19,5,1,20,32],"data":{"version":3,"file":"type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/type.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAC3D,wBAAgD;AAGhD,MAAa,IAAK,SAAQ,kBAAU;IAC3B,WAAW;QAEhB,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,WAAQ,EAAE,IAAA,eAAO,EAAC,UAAO,CAAC,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,aAAU,CAAC,EAC1B,IAAA,WAAG,EAAC,QAAQ,EAAE,aAAU,CAAC,EACzB,aAAU,CAAC,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,QAAQ,CAAC,EACxB,IAAA,WAAG,EAAC,QAAQ,EAAE,QAAQ,CAAC,EACvB,QAAQ,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAjBD,oBAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/value_body_line.js":{"lineLengths":[13,62,31,36,49,24,57,48,19,63,374,19,5,1,38,43],"data":{"version":3,"file":"value_body_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/value_body_line.ts"],"names":[],"mappings":";;;AAAA,oCAA0E;AAC1E,iDAAwF;AACxF,wBAA0C;AAE1C,yDAAkD;AAElD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAEhB,uDAAuD;QACvD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,EAC1C,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,IAAA,gBAAQ,EAAC,kBAAe,CAAC,EAAE,iCAAc,EAAE,SAAM,CAAC,CAAC,EACnE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,qBAAY,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC,CAAC;QAE9D,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAVD,sCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/value_body_lines.js":{"lineLengths":[13,62,32,36,24,49,19,155,69,21,5,1,40,44],"data":{"version":3,"file":"value_body_lines.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/value_body_lines.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,wBAAyB;AAGzB,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,SAAM,CAAC,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,SAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,SAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAND,wCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/value_body.js":{"lineLengths":[13,62,27,36,24,46,44,19,57,212,142,129,5,1,30,38],"data":{"version":3,"file":"value_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/value_body.ts"],"names":[],"mappings":";;;AAAA,oCAAgF;AAChF,wBAAmE;AACnE,8CAAyC;AAGzC,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,SAAM,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,MAAG,CAAC,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE,IAAA,YAAI,EAAC,MAAG,CAAC,EAAE,IAAA,gBAAQ,EAAC,IAAA,eAAO,EAAC,kBAAe,EAAE,gBAAa,CAAC,CAAC,CAAC,CAAC;QAElH,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,eAAO,EAAC,UAAU,EAAE,IAAA,WAAG,EAAC,SAAS,EAAE,SAAM,CAAC,CAAC,CAAC,CAAC;QAElF,OAAO,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,UAAU,EAAE,IAAA,WAAG,EAAC,SAAM,EAAE,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AAVD,8BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/value.js":{"lineLengths":[13,62,23,36,24,40,19,112,19,5,1,22,33],"data":{"version":3,"file":"value.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/value.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAC9C,wBAA6C;AAG7C,MAAa,KAAM,SAAQ,kBAAU;IAC5B,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,WAAQ,EAAE,mBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;QACxE,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AALD,sBAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expressions/write_offset_length.js":{"lineLengths":[13,62,35,36,49,63,52,19,253,86,84,194,69,18,5,1,46,47],"data":{"version":3,"file":"write_offset_length.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expressions/write_offset_length.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AAEtE,iDAAoF;AACpF,+DAAwD;AAExD,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAEhB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,uCAAiB,EAAE,IAAA,aAAG,EAAC,SAAS,CAAC,EAAE,IAAA,aAAG,EAAC,MAAM,CAAC,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,mBAAU,CAAC,CAAC,CAAC,CAAC;QAC9G,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,IAAI,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,uCAAiB,EAAE,IAAA,aAAG,EAAC,cAAc,CAAC,EAAE,GAAG,CAAC,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAExF,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAEnC,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAdD,8CAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/report.js":{"lineLengths":[13,62,24,36,48,46,49,14,18,139,69,74,100,83,81,168,65,5,1,24,34],"data":{"version":3,"file":"report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/report.ts"],"names":[],"mappings":";;;AACA,oCAAyD;AACzD,gDAAwE;AACxE,8CAAyC;AACzC,iDAA4D;AAG5D,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kBAAS,CAAC,EAAE,qBAAO,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,0BAA0B,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,qBAAO,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,qBAAO,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,0BAAY,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,mBAAK,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,WAAG,EAAC,wBAAU,CAAC,EACf,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAEnE,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAjBD,wBAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/write.js":{"lineLengths":[13,62,23,36,48,46,13,18,138,121,130,102,64,970,240,65,5,1,22,33],"data":{"version":3,"file":"write.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/write.ts"],"names":[],"mappings":";;;AACA,oCAA6D;AAC7D,gDAA2F;AAC3F,8CAAyC;AAGzC,MAAa,KAAK;IAET,UAAU;QAEf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,eAAO,EAAC,cAAc,EACd,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,sBAAQ,CAAC,CAAC,CAAC;QAE5D,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,CAAC,CAAC;QAErC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEpE,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,EAAE,EACF,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,EACvB,aAAa,EACb,SAAS,EACT,UAAU,EACV,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EACxB,QAAQ,EACR,gBAAgB,EAChB,EAAE,EACF,IAAA,WAAG,EAAC,QAAQ,EAAE,KAAK,CAAC,EACpB,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EAC1B,iBAAiB,EACjB,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,EACxB,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,EACpB,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,EACpB,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,EACpB,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,EACxB,yBAAyB,EACzB,UAAU,EACV,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,EACnB,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EAC9B,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,EACpB,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,EACvB,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EAC1B,mBAAK,EACL,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,EACvB,SAAS,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,MAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,+BAAiB,CAAC,EACtB,IAAA,eAAO,EAAC,oBAAM,EAAE,qBAAO,EAAE,GAAG,CAAC,EAC7B,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA1DD,sBA0DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endmethod.js":{"lineLengths":[13,62,27,36,17,18,45,5,1,30,37],"data":{"version":3,"file":"endmethod.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endmethod.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,SAAS;IAEb,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;CAEF;AAND,8BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/method_implementation.js":{"lineLengths":[13,62,38,36,48,28,18,50,144,99,215,78,94,5,1,52,49],"data":{"version":3,"file":"method_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/method_implementation.ts"],"names":[],"mappings":";;;AACA,oCAA6E;AAC7E,gDAAsE;AAGtE,MAAa,oBAAoB;IAExB,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC,QAAQ,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,IAAA,YAAI,EAAC,IAAI,CAAC,EACV,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,YAAI,EAAC,8BAAgB,CAAC,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,WAAG,EAAC,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE,SAAS,EACtE,sBAAQ,EACR,IAAA,WAAG,EAAC,mBAAmB,CAAC,EACxB,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAEjC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE5C,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,wBAAU,EAAE,IAAA,eAAO,EAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;CAEF;AArBD,oDAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endform.js":{"lineLengths":[13,62,25,36,15,18,48,19,5,1,26,35],"data":{"version":3,"file":"endform.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endform.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC;QAE3B,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/form.js":{"lineLengths":[13,62,22,36,48,12,18,222,117,19,5,1,20,32],"data":{"version":3,"file":"form.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/form.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAA0F;AAG1F,MAAa,IAAI;IAER,UAAU;QACf,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,wBAAU,CAAC,EACf,IAAA,WAAG,EAAC,uBAAS,CAAC,EACd,IAAA,WAAG,EAAC,0BAAY,CAAC,EACjB,IAAA,WAAG,EAAC,yBAAW,CAAC,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,sBAAQ,EAAE,IAAA,WAAG,EAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;QAErE,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAbD,oBAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/import_nametab.js":{"lineLengths":[13,62,31,36,48,46,21,18,127,65,5,1,38,42],"data":{"version":3,"file":"import_nametab.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/import_nametab.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,aAAa;IAEjB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAChB,oBAAM,EACN,oBAAM,EACN,IAAI,EACJ,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAZD,sCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/check_select_options.js":{"lineLengths":[13,62,36,36,46,26,18,43,65,5,1,48,48],"data":{"version":3,"file":"check_select_options.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/check_select_options.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,kBAAkB;IAEtB,UAAU;QACf,MAAM,GAAG,GAAG,sBAAsB,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,gDAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_badi.js":{"lineLengths":[13,62,26,36,48,46,16,18,112,66,5,1,28,37],"data":{"version":3,"file":"call_badi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_badi.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAA4D;AAC5D,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QAEf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,MAAM,EACN,0BAAY,EACZ,4BAAc,CAAC,CAAC;QAEjC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CAEF;AAZD,4BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_data.js":{"lineLengths":[13,62,27,36,48,17,18,76,5,1,30,38],"data":{"version":3,"file":"class_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/class_data.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA8C;AAG9C,MAAa,SAAS;IAEb,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,YAAY,EAAE,4BAAc,CAAC,CAAC;IAC3C,CAAC;CAEF;AAND,8BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_data_begin.js":{"lineLengths":[13,62,32,36,48,22,18,73,192,57,5,1,40,44],"data":{"version":3,"file":"class_data_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/class_data_begin.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,gDAA4D;AAG5D,MAAa,cAAc;IAElB,UAAU;QAEf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,qBAAO,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,IAAA,eAAO,EAAC,aAAa,CAAC,EACtB,iCAAmB,EACnB,IAAA,eAAO,EAAC,WAAW,CAAC,EACpB,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC;QAEvC,OAAO,IAAA,WAAG,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;CAEF;AAfD,wCAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_data_end.js":{"lineLengths":[13,62,30,36,48,20,18,112,118,57,5,1,36,42],"data":{"version":3,"file":"class_data_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/class_data_end.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAAmD;AAGnD,MAAa,YAAY;IAEhB,UAAU;QAEf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,eAAO,EAAC,iCAAmB,CAAC,CAAC,CAAC;QAEhE,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,eAAO,EAAC,MAAM,EAAE,iCAAmB,CAAC,CAAC,CAAC;QAE5D,OAAO,IAAA,WAAG,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;CAEF;AAZD,oCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/select_loop.js":{"lineLengths":[13,62,28,48,18,18,46,5,1,32,39],"data":{"version":3,"file":"select_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/select_loop.ts"],"names":[],"mappings":";;;AACA,gDAAyD;AAGzD,MAAa,UAAU;IAEd,UAAU;QACf,OAAO,IAAI,wBAAW,EAAE,CAAC;IAC3B,CAAC;CAEF;AAND,gCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/do.js":{"lineLengths":[13,62,20,36,48,10,18,70,160,70,110,5,1,16,30],"data":{"version":3,"file":"do.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/do.ts"],"names":[],"mappings":";;;AACA,oCAAiD;AACjD,gDAA8C;AAG9C,MAAa,EAAE;IAEN,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,oBAAM,EACN,MAAM,EACN,oBAAM,EACN,MAAM,EACN,oBAAM,EACN,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,oBAAM,EAAE,OAAO,CAAC,CAAC;QAEnC,OAAO,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;CAEF;AAlBD,gBAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/break_id.js":{"lineLengths":[13,62,25,36,48,46,15,18,63,56,65,5,1,26,36],"data":{"version":3,"file":"break_id.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/break_id.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAqC;AACrC,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,mBAAK,CAAC,CAAC;QAE5B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,0BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/interface_deferred.js":{"lineLengths":[13,62,35,36,48,25,18,114,5,1,46,46],"data":{"version":3,"file":"interface_deferred.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/interface_deferred.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA6C;AAG7C,MAAa,iBAAiB;IAErB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,WAAW,EACX,2BAAa,EACb,UAAU,EACV,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC5B,CAAC;CAEF;AATD,8CASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/while.js":{"lineLengths":[13,62,23,36,48,13,18,128,85,5,1,22,33],"data":{"version":3,"file":"while.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/while.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAAoD;AAGpD,MAAa,KAAK;IAET,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,EAAE,MAAM,EAAE,oBAAM,EAAE,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjE,OAAO,IAAA,WAAG,EAAC,OAAO,EAAE,kBAAI,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;CAEF;AARD,sBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/loop_at_screen.js":{"lineLengths":[13,62,30,36,46,48,20,18,119,63,5,1,36,42],"data":{"version":3,"file":"loop_at_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/loop_at_screen.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,8CAAyC;AAEzC,gDAAsC;AAEtC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CAEF;AAPD,oCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/loop.js":{"lineLengths":[13,62,22,36,48,46,66,64,12,18,118,126,110,68,64,126,107,337,62,5,1,20,32],"data":{"version":3,"file":"loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/loop.ts"],"names":[],"mappings":";;;AACA,oCAA0E;AAC1E,gDAAsF;AACtF,8CAAyC;AAEzC,kEAA4D;AAC5D,gEAAyD;AAEzD,MAAa,IAAI;IAER,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,2BAAa,EAAE,qBAAO,CAAC,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,UAAU,EAAE,2BAAW,CAAC,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,eAAO,EAAC,wBAAU,EAAE,qBAAO,CAAC,CAAC,CAAC;QAEhE,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,wBAAU,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAExE,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,sBAAc,GAAE,CAAC,CAAC,EACpC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EACnC,IAAA,WAAG,EAAC,8BAAa,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC,EACjD,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE7B,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CAEF;AA1BD,oBA0BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/check.js":{"lineLengths":[13,62,23,36,48,13,18,109,19,5,1,22,33],"data":{"version":3,"file":"check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/check.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,gDAA2C;AAG3C,MAAa,KAAK;IAET,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,eAAO,EAAC,kBAAI,EAAE,mBAAK,CAAC,CAAC,CAAC;QAE/C,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AARD,sBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endprovide.js":{"lineLengths":[13,62,28,36,46,18,18,51,65,5,1,32,38],"data":{"version":3,"file":"endprovide.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endprovide.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,YAAY,CAAC,CAAC;QAC9B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAPD,gCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/if.js":{"lineLengths":[13,62,20,36,48,10,18,58,5,1,16,30],"data":{"version":3,"file":"if.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/if.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAoC;AAGpC,MAAa,EAAE;IAEN,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,IAAI,EAAE,kBAAI,CAAC,CAAC;IACzB,CAAC;CAEF;AAND,gBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/convert_text.js":{"lineLengths":[13,62,29,36,48,19,18,114,5,1,34,40],"data":{"version":3,"file":"convert_text.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/convert_text.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA8C;AAG9C,MAAa,WAAW;IAEf,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,cAAc,EACd,oBAAM,EACN,oBAAoB,EACpB,oBAAM,CAAC,CAAC;IACrB,CAAC;CAEF;AATD,kCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/log_point.js":{"lineLengths":[13,62,26,36,48,46,16,18,72,91,140,65,5,1,28,37],"data":{"version":3,"file":"log_point.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/log_point.ts"],"names":[],"mappings":";;;AACA,oCAAgD;AAChD,gDAA2D;AAC3D,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,YAAI,EAAC,oBAAM,CAAC,CAAC,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EACd,iCAAmB,EACnB,IAAA,WAAG,EAAC,MAAM,CAAC,EACX,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QAE7B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAfD,4BAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/window.js":{"lineLengths":[13,62,24,36,48,46,14,18,97,129,65,5,1,24,34],"data":{"version":3,"file":"window.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/window.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,EAAE,oBAAM,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,oBAAoB,EACpB,oBAAM,EACN,oBAAM,EACN,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QAE7B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAbD,wBAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endif.js":{"lineLengths":[13,62,23,36,13,18,41,5,1,22,33],"data":{"version":3,"file":"endif.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endif.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,KAAK;IAET,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CAEF;AAND,sBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_enum.js":{"lineLengths":[13,62,26,36,48,46,16,18,86,144,19,5,1,28,37],"data":{"version":3,"file":"type_enum.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_enum.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA0D;AAE1D,8CAAyC;AAEzC,MAAa,QAAQ;IAEZ,UAAU;QAEnB,8EAA8E;QAC1E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,OAAO,EAAE,iCAAmB,EAAE,mBAAK,CAAC,CAAC,CAAC;QAExE,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAVD,4BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_enum_begin.js":{"lineLengths":[13,62,31,36,48,46,21,18,91,86,132,104,19,5,1,38,43],"data":{"version":3,"file":"type_enum_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_enum_begin.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAAmD;AAEnD,8CAAyC;AAEzC,MAAa,aAAa;IAEjB,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,iCAAmB,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,iCAAmB,CAAC,CAAC;QAEnD,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,iCAAmB,EAAE,IAAA,WAAG,EAAC,SAAS,CAAC,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;QAEvE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5D,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAdD,sCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_enum_end.js":{"lineLengths":[13,62,29,36,48,46,19,18,91,170,19,5,1,34,41],"data":{"version":3,"file":"type_enum_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_enum_end.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAAmD;AAEnD,8CAAyC;AAEzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,iCAAmB,CAAC,CAAC;QAExD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,iCAAmB,EAAE,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEnG,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAVD,kCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_run_time.js":{"lineLengths":[13,62,28,36,46,18,18,92,85,88,65,5,1,32,40],"data":{"version":3,"file":"set_run_time.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_run_time.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAEnD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEtD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAZD,gCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/field_group.js":{"lineLengths":[13,62,28,36,48,46,18,18,93,65,5,1,32,39],"data":{"version":3,"file":"field_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/field_group.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAC3C,gDAAqC;AACrC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,IAAA,YAAI,EAAC,mBAAK,CAAC,CAAC,CAAC;QAE7C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,gCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/print_control.js":{"lineLengths":[13,62,30,36,48,46,20,18,75,72,85,65,5,1,36,41],"data":{"version":3,"file":"print_control.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/print_control.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAEnD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,oCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/extract.js":{"lineLengths":[13,62,25,36,48,46,15,18,87,65,5,1,26,35],"data":{"version":3,"file":"extract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/extract.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAqC;AACrC,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,mBAAK,CAAC,CAAC,CAAC;QAEvC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/sum.js":{"lineLengths":[13,62,21,36,46,11,18,67,5,1,18,31],"data":{"version":3,"file":"sum.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/sum.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,GAAG;IAEP,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;CAEF;AAND,kBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_of_page.js":{"lineLengths":[13,62,27,36,46,17,18,75,5,1,30,39],"data":{"version":3,"file":"end_of_page.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/end_of_page.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;CAEF;AAND,8BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/generate_report.js":{"lineLengths":[13,62,32,36,48,46,22,18,69,74,74,68,68,72,69,56,79,75,83,84,145,105,65,5,1,40,43],"data":{"version":3,"file":"generate_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/generate_report.ts"],"names":[],"mappings":";;;AACA,oCAAoD;AACpD,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QAEf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,0BAA0B,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,0BAA0B,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,gBAAgB,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAE5H,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EACjB,oBAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE9B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA1BD,wCA0BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/elseif.js":{"lineLengths":[13,62,24,36,48,14,18,62,5,1,24,34],"data":{"version":3,"file":"elseif.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/elseif.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAoC;AAGpC,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,kBAAI,CAAC,CAAC;IAC7B,CAAC;CAEF;AAND,wBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/else.js":{"lineLengths":[13,62,22,36,12,18,40,5,1,20,32],"data":{"version":3,"file":"else.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/else.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC;IACrB,CAAC;CAEF;AAND,oBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/perform.js":{"lineLengths":[13,62,25,36,49,46,46,48,15,18,68,111,210,137,51,172,297,19,5,1,26,35],"data":{"version":3,"file":"perform.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/perform.ts"],"names":[],"mappings":";;;AACA,oCAAyD;AACzD,iDAA4D;AAC5D,8CAA8C;AAC9C,8CAAyC;AAEzC,gDAA4E;AAE5E,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EAC5B,aAAa,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,IAAA,WAAG,EAAC,WAAW,CAAC,QAAQ,EACpB,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,WAAW,CAAC,WAAW,EACvB,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAE1F,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAC9C,IAAA,WAAG,EAAC,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,IAAA,WAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAChB,IAAA,WAAG,EAAC,KAAK,CAAC,EACV,IAAA,WAAG,EAAC,2BAAa,CAAC,EAClB,IAAA,WAAG,EAAC,0BAAY,CAAC,EACjB,IAAA,WAAG,EAAC,6BAAe,CAAC,EACpB,IAAA,WAAG,EAAC,KAAK,CAAC,EACV,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QAE7B,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AA/BD,0BA+BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/append.js":{"lineLengths":[13,62,24,36,46,48,14,18,80,83,74,73,69,70,134,378,5,1,24,34],"data":{"version":3,"file":"append.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/append.ts"],"names":[],"mappings":";;;AACA,oCAA8D;AAC9D,8CAAyC;AACzC,gDAA8E;AAG9E,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,sBAAQ,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,mBAAK,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,2BAAa,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC,CAAC;QAE9D,OAAO,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,eAAO,EAAC,cAAc,EAAE,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,EACtD,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,EAC1C,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAClC,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,CAAC;CAEF;AAtBD,wBAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/clear.js":{"lineLengths":[13,62,23,36,48,13,18,67,79,118,5,1,22,33],"data":{"version":3,"file":"clear.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/clear.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAA8C;AAG9C,MAAa,KAAK;IAET,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEhC,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QAE1D,OAAO,IAAA,WAAG,EAAC,OAAO,EACP,oBAAM,EACN,IAAA,eAAO,EAAC,GAAG,CAAC,EACZ,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,CAAC;CAEF;AAbD,sBAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/concatenate.js":{"lineLengths":[13,62,29,36,48,19,18,95,61,82,60,116,73,144,5,1,34,39],"data":{"version":3,"file":"concatenate.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/concatenate.ts"],"names":[],"mappings":";;;AACA,oCAA+D;AAC/D,gDAA6D;AAG7D,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,mBAAmB,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,2BAAa,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEvC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,2BAAa,EAAE,IAAA,YAAI,EAAC,2BAAa,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QAEtC,OAAO,IAAA,WAAG,EAAC,aAAa,EACb,IAAA,eAAO,EAAC,KAAK,EAAE,KAAK,CAAC,EACrB,MAAM,EACN,oBAAM,EACN,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,CAAC;CAEF;AAnBD,kCAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enddo.js":{"lineLengths":[13,62,23,36,13,18,41,5,1,22,33],"data":{"version":3,"file":"enddo.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/enddo.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,KAAK;IAET,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CAEF;AAND,sBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endclass.js":{"lineLengths":[13,62,26,36,16,18,44,5,1,28,36],"data":{"version":3,"file":"endclass.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endclass.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;IACzB,CAAC;CAEF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/try.js":{"lineLengths":[13,62,21,36,11,18,39,5,1,18,31],"data":{"version":3,"file":"try.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/try.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,GAAG;IAEP,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;IACpB,CAAC;CAEF;AAND,kBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endtry.js":{"lineLengths":[13,62,24,36,14,18,42,5,1,24,34],"data":{"version":3,"file":"endtry.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endtry.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;CAEF;AAND,wBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/assert.js":{"lineLengths":[13,62,24,36,48,14,18,91,72,77,179,5,1,24,34],"data":{"version":3,"file":"assert.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/assert.ts"],"names":[],"mappings":";;;AACA,oCAAiD;AACjD,gDAAiE;AAGjE,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,YAAI,EAAC,oBAAM,CAAC,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,iCAAmB,CAAC,CAAC;QAE1C,OAAO,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,eAAO,EAAC,EAAE,CAAC,EACX,IAAA,eAAO,EAAC,MAAM,CAAC,EACf,IAAA,WAAG,EAAC,MAAM,CAAC,EACX,IAAA,eAAO,EAAC,WAAW,CAAC,EACpB,kBAAI,CAAC,CAAC;IACnB,CAAC;CAEF;AAfD,wBAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/return.js":{"lineLengths":[13,62,24,36,46,48,14,18,146,5,1,24,34],"data":{"version":3,"file":"return.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/return.ts"],"names":[],"mappings":";;;AACA,oCAAgD;AAEhD,8CAAyC;AACzC,gDAAsC;AAEtC,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;CAEF;AAND,wBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endwhile.js":{"lineLengths":[13,62,26,36,16,18,44,5,1,28,36],"data":{"version":3,"file":"endwhile.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endwhile.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;IACzB,CAAC;CAEF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/constant.js":{"lineLengths":[13,62,26,36,48,16,18,225,123,19,5,1,28,36],"data":{"version":3,"file":"constant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/constant.ts"],"names":[],"mappings":";;;AACA,oCAAqD;AACrD,gDAAkG;AAGlG,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,4BAAc,EACd,IAAA,WAAG,EAAC,iCAAmB,CAAC,EACxB,IAAA,WAAG,EAAC,kBAAI,EAAE,mBAAK,EAAE,sBAAQ,EAAE,oBAAM,CAAC,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,UAAU,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,IAAA,eAAO,EAAC,cAAc,CAAC,CAAC,CAAC;QAE5E,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAZD,4BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/catch.js":{"lineLengths":[13,62,23,36,48,13,18,190,5,1,22,33],"data":{"version":3,"file":"catch.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/catch.ts"],"names":[],"mappings":";;;AACA,oCAAiD;AACjD,gDAAiD;AAGjD,MAAa,KAAK;IAET,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,eAAO,EAAC,eAAe,CAAC,EACxB,IAAA,YAAI,EAAC,uBAAS,CAAC,EACf,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;CAEF;AATD,sBASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/infotypes.js":{"lineLengths":[13,62,27,36,48,46,17,18,74,67,132,65,5,1,30,37],"data":{"version":3,"file":"infotypes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/infotypes.ts"],"names":[],"mappings":";;;AACA,oCAA8C;AAC9C,gDAA+C;AAC/C,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,sBAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,mBAAK,CAAC,CAAC;QAEhC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,sBAAQ,EAAE,IAAA,eAAO,EAAC,MAAM,CAAC,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC;QAEvE,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,8BAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/message.js":{"lineLengths":[13,62,25,36,48,46,15,18,132,76,68,81,62,68,53,135,75,118,106,263,263,102,223,19,5,1,26,35],"data":{"version":3,"file":"message.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/message.ts"],"names":[],"mappings":";;;AACA,oCAA2E;AAC3E,gDAA2F;AAE3F,8CAAyC;AAEzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,oBAAM,CAAC,EAAE,2BAAa,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,2BAAa,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,GAAG,EACH,IAAA,WAAG,EAAC,CAAC,EAAE,GAAG,CAAC,EACX,IAAA,WAAG,EAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACd,IAAA,WAAG,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,CAAC,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,2BAAa,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,CAAC,EAAE,IAAI,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,oBAAM,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAM,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAM,CAAC,CAAC,CAAC,EAAE,IAAA,eAAO,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5G,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,oBAAM,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAM,CAAC,EAAE,IAAA,WAAG,EAAC,oBAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,2BAAa,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,eAAO,EAAC,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAExH,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAhCD,0BAgCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_table.js":{"lineLengths":[13,62,27,36,48,46,76,17,18,140,70,158,224,114,68,254,185,5,1,30,38],"data":{"version":3,"file":"read_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/read_table.ts"],"names":[],"mappings":";;;AACA,oCAAyE;AACzE,gDAAwH;AAExH,8CAAyC;AACzC,4EAAsE;AAEtE,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,sBAAQ,CAAC,EAAE,qBAAO,CAAC,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,mBAAK,EAAE,qBAAO,CAAC,EAAE,YAAY,EAAE,oCAAsB,CAAC,CAAC;QAElF,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,UAAU,EAAE,gBAAgB,CAAC,EACrC,IAAA,WAAG,EAAC,oCAAsB,EACtB,UAAU,EACV,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,GAAG,CAAC,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,WAAG,EAAC,mBAAK,EAAE,qBAAO,CAAC,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EACrB,6BAAe,EACf,KAAK,EACL,SAAS,EACT,SAAS,EACT,yBAAyB,EACzB,IAAA,WAAG,EAAC,cAAc,EAAE,wCAAkB,CAAC,EACvC,eAAe,CAAC,CAAC;QAElC,OAAO,IAAA,WAAG,EAAC,YAAY,EACZ,IAAA,WAAG,EAAC,2BAAa,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC,EACjD,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;IACxB,CAAC;CAEF;AAhCD,8BAgCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endloop.js":{"lineLengths":[13,62,25,36,15,18,43,5,1,26,35],"data":{"version":3,"file":"endloop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endloop.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC;IACxB,CAAC;CAEF;AAND,0BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/case.js":{"lineLengths":[13,62,22,36,48,12,18,62,5,1,20,32],"data":{"version":3,"file":"case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/case.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAsC;AAGtC,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;IAC7B,CAAC;CAEF;AAND,oBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/create_object.js":{"lineLengths":[13,62,30,36,48,20,18,86,97,81,81,75,116,255,19,5,1,36,41],"data":{"version":3,"file":"create_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/create_object.ts"],"names":[],"mappings":";;;AACA,oCAAoD;AACpD,gDAA2G;AAG3G,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,4BAAc,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,qCAAuB,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,eAAO,EAAC,uBAAS,EAAE,qBAAO,CAAC,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,oBAAM,EACN,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EACxB,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,EACnC,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAnBD,oCAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/select.js":{"lineLengths":[13,62,24,36,48,46,14,18,175,84,5,1,24,34],"data":{"version":3,"file":"select.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/select.ts"],"names":[],"mappings":";;;AACA,oCAA8D;AAC9D,gDAAiD;AAEjD,8CAAyC;AAEzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,oBAAO,CAAC,CAAC,CAAC;QAC5F,OAAO,IAAA,WAAG,EAAC,oBAAO,EAAE,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;CAEF;AAPD,wBAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call.js":{"lineLengths":[13,62,22,36,48,14,12,18,111,73,5,1,20,32],"data":{"version":3,"file":"call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,gDAA6E;AAG7E,cAAc;AACd,MAAa,IAAI;IAER,UAAU;QAEf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,0BAAY,EAAE,4BAAc,CAAC,CAAC;QAE9D,OAAO,IAAA,eAAO,EAAC,IAAI,EAAE,6BAAe,CAAC,CAAC;IACxC,CAAC;CAEF;AATD,oBASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_local_friends.js":{"lineLengths":[13,62,35,36,48,25,18,142,5,1,46,47],"data":{"version":3,"file":"class_local_friends.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/class_local_friends.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAAyC;AAGzC,MAAa,iBAAiB;IAErB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,OAAO,EAAE,uBAAS,EAAE,0BAA0B,EAAE,IAAA,gBAAQ,EAAC,uBAAS,CAAC,CAAC,CAAC;IAClF,CAAC;CAEF;AAND,8CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_deferred.js":{"lineLengths":[13,62,31,36,48,21,18,121,5,1,38,42],"data":{"version":3,"file":"class_deferred.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/class_deferred.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,gDAAyC;AAGzC,MAAa,aAAa;IAEjB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,OAAO,EAAE,uBAAS,EAAE,qBAAqB,EAAE,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC;CAEF;AAND,sCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/fieldsymbol.js":{"lineLengths":[13,62,29,36,48,19,18,107,163,5,1,34,39],"data":{"version":3,"file":"fieldsymbol.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/fieldsymbol.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAAqF;AAGrF,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,sBAAQ,EAAE,SAAS,EAAE,mBAAK,CAAC,CAAC;QAE1D,OAAO,IAAA,WAAG,EAAC,eAAe,EACf,yBAAI,EACJ,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kBAAI,EAAE,uBAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;CAEF;AAVD,kCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_definition.js":{"lineLengths":[13,62,33,36,48,46,23,18,106,80,59,69,60,379,79,71,5,1,42,44],"data":{"version":3,"file":"class_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/class_definition.ts"],"names":[],"mappings":";;;AACA,oCAAyD;AACzD,gDAAwH;AACxH,8CAAyC;AAGzC,MAAa,eAAe;IAEnB,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,eAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAExE,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,yBAAW,EACX,wBAAU,EACV,UAAU,EACV,IAAA,WAAG,EAAC,iBAAiB,EAAE,4BAAc,CAAC,EACtC,MAAM,EACN,aAAa,EACb,IAAI,EACJ,uBAAuB,EACvB,QAAQ,EACR,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,iBAAiB,EAAE,oCAAsB,CAAC,CAAC,EACjE,0BAAY,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC;QAE7C,OAAO,IAAA,WAAG,EAAC,OAAO,EAAE,uBAAS,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;CAEF;AA5BD,0CA4BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_implementation.js":{"lineLengths":[13,62,37,36,48,27,18,84,5,1,50,48],"data":{"version":3,"file":"class_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/class_implementation.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAyC;AAGzC,MAAa,mBAAmB;IAEvB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,OAAO,EAAE,uBAAS,EAAE,gBAAgB,CAAC,CAAC;IACnD,CAAC;CAEF;AAND,kDAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/translate.js":{"lineLengths":[13,62,27,36,48,17,18,91,70,101,5,1,30,37],"data":{"version":3,"file":"translate.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/translate.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,gDAA8C;AAG9C,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,IAAA,eAAO,EAAC,OAAO,EAAE,OAAO,CAAC,EACzB,MAAM,CAAC,CAAC;QAExB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,OAAO,IAAA,WAAG,EAAC,WAAW,EACX,oBAAM,EACN,IAAA,eAAO,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAClC,CAAC;CAEF;AAdD,8BAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/exit.js":{"lineLengths":[13,62,22,36,12,18,106,5,1,20,32],"data":{"version":3,"file":"exit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/exit.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AAGvC,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;CAEF;AAND,oBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endcase.js":{"lineLengths":[13,62,25,36,15,18,43,5,1,26,35],"data":{"version":3,"file":"endcase.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endcase.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC;IACxB,CAAC;CAEF;AAND,0BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/constant_begin.js":{"lineLengths":[13,62,31,36,48,21,18,127,19,5,1,38,42],"data":{"version":3,"file":"constant_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/constant_begin.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,gDAA8C;AAG9C,MAAa,aAAa;IAEjB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,4BAAc,EAAE,IAAA,eAAO,EAAC,cAAc,CAAC,CAAC,CAAC;QAC/E,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAPD,sCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/constant_end.js":{"lineLengths":[13,62,29,36,48,19,18,93,19,5,1,34,40],"data":{"version":3,"file":"constant_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/constant_end.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA8C;AAG9C,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,4BAAc,CAAC,CAAC;QAE1D,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AARD,kCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/when_others.js":{"lineLengths":[13,62,28,36,18,18,47,5,1,32,39],"data":{"version":3,"file":"when_others.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/when_others.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,UAAU;IAEd,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;CAEF;AAND,gCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/when.js":{"lineLengths":[13,62,22,36,48,12,18,102,47,5,1,20,32],"data":{"version":3,"file":"when.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/when.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAA0C;AAG1C,MAAa,IAAI;IAER,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,oBAAM,EAAE,IAAA,gBAAQ,EAAC,gBAAE,CAAC,CAAC,CAAC;QAExC,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CAEF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/continue.js":{"lineLengths":[13,62,26,36,16,18,44,5,1,28,36],"data":{"version":3,"file":"continue.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/continue.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;IACzB,CAAC;CAEF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/assign.js":{"lineLengths":[13,62,24,36,48,46,14,18,115,113,77,70,76,136,108,341,19,5,1,24,34],"data":{"version":3,"file":"assign.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/assign.ts"],"names":[],"mappings":";;;AACA,oCAAmE;AACnE,gDAAyF;AAEzF,8CAAyC;AAEzC,MAAa,MAAM;IAEV,UAAU;QAEf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,eAAO,EAAC,qBAAO,EAAE,sBAAQ,CAAC,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,eAAO,EAAC,qBAAO,EAAE,oBAAM,CAAC,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,EAAE,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE5D,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAM,EAAE,WAAW,CAAC,CAAC,EAC7B,0BAAY,EACZ,IAAI,EACJ,sBAAQ,EACR,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EACnC,IAAA,WAAG,EAAC,KAAK,CAAC,EACV,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAEzD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAzBD,wBAyBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_badi.js":{"lineLengths":[13,62,25,36,48,46,15,18,82,74,69,149,65,5,1,26,36],"data":{"version":3,"file":"get_badi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_badi.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAuE;AACvE,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,4BAAc,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,qBAAO,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,oBAAM,EACN,IAAA,WAAG,EAAC,IAAI,CAAC,EACT,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE9B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAhBD,0BAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/suppress_dialog.js":{"lineLengths":[13,62,32,36,46,22,18,56,65,5,1,40,43],"data":{"version":3,"file":"suppress_dialog.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/suppress_dialog.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,wCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type.js":{"lineLengths":[13,62,22,36,46,46,12,18,100,215,73,72,76,19,5,1,20,32],"data":{"version":3,"file":"type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type.ts"],"names":[],"mappings":";;;AACA,oCAAiD;AACjD,8CAA8C;AAC9C,8CAAyC;AAGzC,MAAa,IAAI;IAER,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAE/E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,WAAW,CAAC,mBAAmB,EAC/B,IAAA,WAAG,EAAC,WAAW,CAAC,mBAAmB,CAAC,EACpC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAExF,iEAAiE;QAC7D,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,GAAG,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAE1C,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAjBD,oBAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/hide.js":{"lineLengths":[13,62,22,36,48,46,12,18,67,65,5,1,20,32],"data":{"version":3,"file":"hide.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/hide.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,IAAI;IAER,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEhC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_locale.js":{"lineLengths":[13,62,27,36,48,46,17,18,74,76,101,65,5,1,30,38],"data":{"version":3,"file":"get_locale.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_locale.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,qBAAqB,EACrB,oBAAM,EACN,OAAO,EACP,QAAQ,CAAC,CAAC;QAE1B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAfD,8BAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_locale.js":{"lineLengths":[13,62,27,36,48,46,17,18,74,76,137,65,5,1,30,38],"data":{"version":3,"file":"set_locale.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_locale.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,qBAAqB,EACrB,oBAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE/B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAfD,8BAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/commit.js":{"lineLengths":[13,62,24,36,48,14,18,76,100,5,1,24,34],"data":{"version":3,"file":"commit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/commit.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAAkD;AAGlD,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC,CAAC;QAE1C,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,gCAAkB,CAAC,CAAC,CAAC;IACtD,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_screen.js":{"lineLengths":[13,62,30,36,48,46,20,18,120,65,5,1,36,41],"data":{"version":3,"file":"modify_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/modify_screen.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAE3D,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,oCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/commit_entities.js":{"lineLengths":[13,62,32,36,48,46,22,18,251,59,5,1,40,43],"data":{"version":3,"file":"commit_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/commit_entities.ts"],"names":[],"mappings":";;;AACA,oCAAiD;AACjD,gDAA2D;AAE3D,8CAAyC;AAEzC,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,iBAAiB,EACjB,IAAA,eAAO,EAAC,oBAAoB,CAAC,EAC7B,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,aAAa,EAAE,iCAAmB,EAAE,QAAQ,EAAE,oBAAM,EAAE,UAAU,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QACnG,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CAEF;AATD,wCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_entities.js":{"lineLengths":[13,62,32,36,48,46,22,18,133,434,394,59,5,1,40,43],"data":{"version":3,"file":"modify_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/modify_entities.ts"],"names":[],"mappings":";;;AACA,oCAAgE;AAChE,gDAA+E;AAE/E,8CAAyC;AAEzC,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,YAAI,EAAC,wBAAU,CAAC,EAAE,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAA,WAAG,EACnB,IAAA,WAAG,EAAC,wBAAwB,EAAE,oBAAM,CAAC,EACrC,IAAA,WAAG,EAAC,wBAAwB,EAAE,oBAAM,CAAC,EACrC,IAAA,WAAG,EAAC,QAAQ,EAAE,UAAU,CAAC,EACzB,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,EAC1B,IAAA,WAAG,EAAC,SAAS,EAAE,wBAAU,EAAE,MAAM,EAAE,oBAAM,CAAC,EAC1C,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,eAAO,EAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAEvD,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,iCAAmB,EACzC,IAAA,WAAG,EAAC,eAAe,CAAC,EACpB,QAAQ,EAAE,wBAAU,EACpB,SAAS,EACT,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,EACrB,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,EACrB,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,EACrB,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CAEF;AAvBD,wCAuBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_entities.js":{"lineLengths":[13,62,30,36,48,46,49,20,18,68,206,78,519,59,5,1,36,41],"data":{"version":3,"file":"read_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/read_entities.ts"],"names":[],"mappings":";;;AACA,oCAAgE;AAChE,gDAAgG;AAEhG,8CAAyC;AACzC,iDAA+D;AAE/D,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,IAAA,YAAI,EAAC,wBAAU,CAAC,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,EAAE,MAAM,EAAE,oBAAM,CAAC,CAAC;QACpG,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAE3C,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAAE,iCAAmB,EACvC,IAAA,WAAG,EAAC,eAAe,CAAC,EACpB,QAAQ,EAAE,wBAAU,EACpB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,6BAAe,CAAC,CAAC,EAC/B,IAAA,WAAG,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,EACtB,QAAQ,EAAE,oBAAM,EAChB,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,EAC5B,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC,EAC9B,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CAEF;AAnBD,oCAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/rollback_entities.js":{"lineLengths":[13,62,34,36,46,24,18,38,59,5,1,44,45],"data":{"version":3,"file":"rollback_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/rollback_entities.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAE7B,8CAAyC;AAEzC,MAAa,gBAAgB;IAEpB,UAAU;QACf,MAAM,CAAC,GAAG,mBAAmB,CAAC;QAC9B,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CAEF;AAPD,4CAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/summary.js":{"lineLengths":[13,62,25,36,46,15,18,71,5,1,26,35],"data":{"version":3,"file":"summary.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/summary.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;CAEF;AAND,0BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/on_change.js":{"lineLengths":[13,62,26,36,48,46,16,18,64,98,65,5,1,28,37],"data":{"version":3,"file":"on_change.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/on_change.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAC3C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAE7B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,EAAE,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC,CAAC;QAElD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,4BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_user_command.js":{"lineLengths":[13,62,31,36,46,21,18,79,5,1,38,43],"data":{"version":3,"file":"at_user_command.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/at_user_command.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,aAAa;IAEjB,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAClD,CAAC;CAEF;AAND,sCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/position.js":{"lineLengths":[13,62,26,36,48,46,16,18,71,65,5,1,28,36],"data":{"version":3,"file":"position.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/position.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QAEpC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/resume.js":{"lineLengths":[13,62,24,36,14,18,42,5,1,24,34],"data":{"version":3,"file":"resume.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/resume.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;CAEF;AAND,wBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/stop.js":{"lineLengths":[13,62,22,36,46,12,18,68,5,1,20,32],"data":{"version":3,"file":"stop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/stop.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;CAEF;AAND,oBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_pf_status.js":{"lineLengths":[13,62,29,36,48,46,19,18,74,73,127,65,5,1,34,41],"data":{"version":3,"file":"get_pf_status.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_pf_status.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,oBAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,kCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_report.js":{"lineLengths":[13,62,30,36,48,46,20,18,70,105,65,5,1,36,41],"data":{"version":3,"file":"delete_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/delete_report.ts"],"names":[],"mappings":";;;AACA,oCAA8C;AAC9C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,oBAAM,EACN,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;QAEhC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAZD,oCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/controls.js":{"lineLengths":[13,62,26,36,48,46,16,18,91,87,90,65,5,1,28,36],"data":{"version":3,"file":"controls.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/controls.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA2D;AAC3D,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,wBAAwB,EAAE,oBAAM,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,iCAAmB,EAAE,IAAI,CAAC,CAAC;QAEvD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,4BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_line_selection.js":{"lineLengths":[13,62,33,36,46,23,18,81,5,1,42,45],"data":{"version":3,"file":"at_line_selection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/at_line_selection.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,eAAe;IAEnB,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACpD,CAAC;CAEF;AAND,0CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/new_page.js":{"lineLengths":[13,62,25,36,48,46,15,18,73,79,80,82,85,79,79,83,82,77,72,82,79,73,90,346,65,5,1,26,36],"data":{"version":3,"file":"new_page.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/new_page.ts"],"names":[],"mappings":";;;AACA,oCAAoD;AACpD,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,oBAAM,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,yBAAyB,EAAE,oBAAM,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EACL,IAAA,WAAG,EAAC,UAAU,EAAE,YAAY,CAAC,EAC7B,IAAA,WAAG,EAAC,YAAY,EAAE,cAAc,CAAC,EACjC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,WAAW,EACX,SAAS,EACT,OAAO,EACP,aAAa,EACb,SAAS,EACT,IAAI,CAAC,CAAC,CAAC,CAAC;QAEhC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA3CD,0BA2CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_dataset.js":{"lineLengths":[13,62,28,36,48,46,18,18,141,65,5,1,32,39],"data":{"version":3,"file":"set_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_dataset.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,EAAE,UAAU,EAAE,IAAA,WAAG,EAAC,oBAAM,EAAE,aAAa,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAPD,gCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_property.js":{"lineLengths":[13,62,29,36,48,46,19,18,205,65,5,1,34,40],"data":{"version":3,"file":"get_property.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_property.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA8D;AAC9D,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QAEf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EACjB,sBAAQ,EACR,oBAAM,EACN,GAAG,EACH,oBAAM,EACN,IAAA,WAAG,EAAC,UAAU,CAAC,EACf,IAAA,WAAG,EAAC,0BAAY,CAAC,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAfD,kCAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/scroll_list.js":{"lineLengths":[13,62,28,36,48,46,18,18,70,68,75,135,136,65,5,1,32,39],"data":{"version":3,"file":"scroll_list.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/scroll_list.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QAExC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,IAAA,WAAG,EAAC,YAAY,EACZ,WAAW,EACX,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EACb,IAAA,WAAG,EAAC,KAAK,EACL,IAAA,WAAG,EAAC,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,EAC9B,MAAM,EACN,IAAI,CAAC,CAAC,CAAC;QAE3B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AArBD,gCAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/load_of_program.js":{"lineLengths":[13,62,31,36,46,21,18,56,65,5,1,38,43],"data":{"version":3,"file":"load_of_program.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/load_of_program.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,8CAAyC;AAGzC,MAAa,aAAa;IAEjB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,sCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/top_of_page.js":{"lineLengths":[13,62,27,36,46,17,18,95,65,5,1,30,39],"data":{"version":3,"file":"top_of_page.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/top_of_page.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,WAAG,EAAC,uBAAuB,CAAC,CAAC,CAAC;QAE7D,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,8BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/truncate_dataset.js":{"lineLengths":[13,62,33,36,48,46,23,18,143,5,1,42,44],"data":{"version":3,"file":"truncate_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/truncate_dataset.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AAEtC,8CAAyC;AAEzC,MAAa,eAAe;IAEnB,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,IAAA,WAAG,EAAC,kBAAkB,EAAE,oBAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACvF,CAAC;CAEF;AAND,0CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_update_task.js":{"lineLengths":[13,62,31,36,46,21,18,85,5,1,38,43],"data":{"version":3,"file":"set_update_task.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_update_task.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,aAAa;IACjB,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IACxD,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_user_command.js":{"lineLengths":[13,62,32,36,48,46,22,18,79,65,5,1,40,44],"data":{"version":3,"file":"set_user_command.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_user_command.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAAE,oBAAM,CAAC,CAAC;QAE5C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,wCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/rollback.js":{"lineLengths":[13,62,26,36,48,16,18,108,5,1,28,36],"data":{"version":3,"file":"rollback.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/rollback.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,gDAAkD;AAGlD,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,gCAAkB,CAAC,CAAC,CAAC;IAC9D,CAAC;CAEF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_internal.js":{"lineLengths":[13,62,32,36,48,22,18,69,70,94,61,90,114,118,165,131,149,157,302,84,5,1,40,43],"data":{"version":3,"file":"delete_internal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/delete_internal.ts"],"names":[],"mappings":";;;AACA,oCAAoE;AACpE,gDAAwI;AAGxI,MAAa,cAAc;IAElB,UAAU;QACnB,6DAA6D;QACzD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,wBAAU,EAAE,qBAAO,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,2BAAa,EAAE,qBAAO,CAAC,CAAC,CAAC;QAExD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAChB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAC/B,IAAA,YAAI,EAAC,8BAAgB,CAAC,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,oBAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,oBAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAEnE,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,sBAAQ,EAAE,IAAA,eAAO,EAAC,yBAAW,CAAC,EAAE,IAAA,eAAO,EAAC,yBAAW,CAAC,CAAC,CAAC;QAEpE,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,0BAA0B,EAC1B,oBAAM,EACN,IAAA,eAAO,EAAC,KAAK,CAAC,EACd,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,eAAO,EAAC,YAAY,EAAE,IAAA,YAAI,EAAC,IAAA,eAAO,EAAC,CAAC,EAAE,qBAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EACvE,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;QAErC,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;CAEF;AAtCD,wCAsCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_database.js":{"lineLengths":[13,62,32,36,48,58,22,18,116,202,236,82,19,5,1,40,43],"data":{"version":3,"file":"delete_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/delete_database.ts"],"names":[],"mappings":";;;AACA,oCAAoD;AACpD,gDAAoG;AAEpG,0DAAoD;AAEpD,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,eAAO,EAAC,qBAAO,EAAE,qBAAO,CAAC,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,2BAAa,EAAE,IAAA,eAAO,EAAC,sBAAS,CAAC,EAAE,IAAA,eAAO,EAAC,gCAAkB,CAAC,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAErG,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,2BAAa,EACb,IAAA,eAAO,EAAC,sBAAS,CAAC,EAClB,IAAA,eAAO,EAAC,gCAAkB,CAAC,EAC3B,MAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,6BAAe,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,eAAO,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAEhD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAnBD,wCAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_dataset.js":{"lineLengths":[13,62,31,36,48,46,21,18,77,65,5,1,38,42],"data":{"version":3,"file":"delete_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/delete_dataset.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,aAAa;IAEjB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC;QAE1C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,sCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/free_memory.js":{"lineLengths":[13,62,28,36,48,46,18,18,120,65,5,1,32,39],"data":{"version":3,"file":"free_memory.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/free_memory.ts"],"names":[],"mappings":";;;AACA,oCAA8C;AAC9C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAE3D,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,gCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/catch_system_exceptions.js":{"lineLengths":[13,62,39,36,48,46,29,18,149,65,5,1,54,51],"data":{"version":3,"file":"catch_system_exceptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/catch_system_exceptions.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAC3C,gDAA6C;AAC7C,8CAAyC;AAGzC,MAAa,qBAAqB;IAEzB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,yBAAyB,EACzB,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,mBAAK,EAAE,GAAG,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAE/C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AATD,sDASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endcatch.js":{"lineLengths":[13,62,26,36,46,16,18,72,5,1,28,36],"data":{"version":3,"file":"endcatch.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endcatch.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;CAEF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/assign_local_copy.js":{"lineLengths":[13,62,33,36,48,46,23,18,239,65,5,1,42,45],"data":{"version":3,"file":"assign_local_copy.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/assign_local_copy.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAAkE;AAClE,8CAAyC;AAGzC,MAAa,eAAe;IAEnB,UAAU;QAEf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,sBAAsB,EACtB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC,CAAC,EACnC,IAAA,WAAG,EAAC,oBAAM,EAAE,qBAAO,CAAC,EACpB,IAAI,EACJ,+BAAiB,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAbD,0CAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_extended_check.js":{"lineLengths":[13,62,34,36,46,24,18,90,65,5,1,44,46],"data":{"version":3,"file":"set_extended_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_extended_check.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,8CAAyC;AAGzC,MAAa,gBAAgB;IAEpB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAExD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,4CAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/split.js":{"lineLengths":[13,62,23,36,48,13,18,91,198,110,19,5,1,22,33],"data":{"version":3,"file":"split.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/split.ts"],"names":[],"mappings":";;;AACA,oCAAsD;AACtD,gDAA8C;AAG9C,MAAa,KAAK;IAET,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,oBAAM,CAAC,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpF,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,EAAE,IAAI,EAAE,oBAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE7D,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAZD,sBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/new_line.js":{"lineLengths":[13,62,25,36,46,15,18,114,65,5,1,26,36],"data":{"version":3,"file":"new_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/new_line.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;QAEvD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AATD,0BASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/free_object.js":{"lineLengths":[13,62,28,36,48,46,18,18,104,65,5,1,32,39],"data":{"version":3,"file":"free_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/free_object.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC,CAAC;QAExD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,gCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/sort.js":{"lineLengths":[13,62,22,36,48,12,18,70,123,31,149,50,125,58,48,5,1,20,32],"data":{"version":3,"file":"sort.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/sort.ts"],"names":[],"mappings":";;;AACA,oCAAoE;AACpE,gDAAkF;AAGlF,MAAa,IAAI;IAER,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,4BAAc,EAAE,qBAAO,EAAE,+BAAiB,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,SAAS,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5E,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE7B,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,oBAAM,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAErC,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;CAEF;AApBD,oBAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/replace.js":{"lineLengths":[13,62,25,36,48,15,18,72,72,138,110,77,81,83,83,81,117,75,67,68,303,5,1,26,35],"data":{"version":3,"file":"replace.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/replace.ts"],"names":[],"mappings":";;;AACA,oCAAqD;AACrD,gDAAwD;AAGxD,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,CAAC,EACT,SAAS,EACT,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,CAAC,EACnB,IAAI,EACJ,oBAAM,CAAC,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,CAAC,EAAE,sBAAQ,EAAE,oBAAM,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,mBAAmB,EAAE,oBAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,oBAAM,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,oBAAM,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAAE,oBAAM,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,mBAAmB,EACnB,cAAc,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,OAAO,IAAA,WAAG,EAAC,SAAS,EACT,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,EACnC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,EAAE,oBAAM,CAAC,CAAC,EACpC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;CAEF;AAtCD,0BAsCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/with_loop.js":{"lineLengths":[13,62,26,36,46,49,48,16,18,173,131,5,1,28,37],"data":{"version":3,"file":"with_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/with_loop.ts"],"names":[],"mappings":";;;AACA,oCAA6C;AAC7C,8CAAyC;AAEzC,iDAA+D;AAC/D,gDAAoD;AAEpD,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,sBAAQ,EAAE,IAAI,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,wBAAU,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAChF,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,YAAI,EAAC,EAAE,CAAC,EAAE,wBAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;CAEF;AAPD,4BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/with.js":{"lineLengths":[13,62,22,36,46,48,49,12,18,173,127,5,1,20,32],"data":{"version":3,"file":"with.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/with.ts"],"names":[],"mappings":";;;AACA,oCAA6C;AAC7C,8CAAyC;AACzC,gDAA4D;AAE5D,iDAA+D;AAE/D,MAAa,IAAI;IAER,UAAU;QACf,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,sBAAQ,EAAE,IAAI,EAAE,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,wBAAU,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAChF,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,YAAI,EAAC,EAAE,CAAC,EAAE,oBAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;CAEF;AAPD,oBAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endwith.js":{"lineLengths":[13,62,25,36,46,15,18,67,5,1,26,35],"data":{"version":3,"file":"endwith.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endwith.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAE7B,8CAAyC;AAEzC,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;CAEF;AAND,0BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/condense.js":{"lineLengths":[13,62,26,36,48,16,18,95,5,1,28,36],"data":{"version":3,"file":"condense.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/condense.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAAsC;AAGtC,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,UAAU,EACV,oBAAM,EACN,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC,CAAC;IAC7B,CAAC;CAEF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_internal.js":{"lineLengths":[13,62,32,36,46,48,22,18,89,80,77,70,57,68,131,64,68,68,208,85,134,68,140,19,5,1,40,43],"data":{"version":3,"file":"insert_internal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/insert_internal.ts"],"names":[],"mappings":";;;AACA,oCAA+D;AAC/D,8CAAyC;AACzC,gDAAgF;AAGhF,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,oBAAM,EAAE,qBAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,sBAAQ,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAEtE,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAC/C,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,MAAM,EACN,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,2BAAa,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC,CAAC;QAE9D,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,eAAO,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAEtE,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAjCD,wCAiCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_database.js":{"lineLengths":[13,62,32,36,48,49,22,18,140,259,165,205,72,5,1,40,43],"data":{"version":3,"file":"insert_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/insert_database.ts"],"names":[],"mappings":";;;AACA,oCAA4C;AAC5C,gDAA+F;AAC/F,iDAA+D;AAG/D,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,oBAAW,CAAC,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,qBAAY,CAAC,CAAC,CAAC;QAE7D,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,uBAAS,CAAC,EACd,IAAA,WAAG,EAAC,gCAAkB,CAAC,EACvB,MAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,IAAA,WAAG,EAAC,uBAAS,EAAE,GAAG,CAAC,EACnB,IAAA,WAAG,EAAC,0BAA0B,CAAC,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,2BAAa,EACb,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,CAAC,EAAE,uBAAS,EAAE,gCAAkB,CAAC,CAAC,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,2BAAa,EACb,IAAA,WAAG,EAAC,uBAAS,CAAC,EACd,IAAA,WAAG,EAAC,gCAAkB,CAAC,EACvB,QAAQ,EACR,uBAAS,CAAC,CAAC;QAE5B,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;CAEF;AAzBD,wCAyBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_field_group.js":{"lineLengths":[13,62,34,36,46,48,24,18,68,172,58,19,5,1,44,46],"data":{"version":3,"file":"insert_field_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/insert_field_group.ts"],"names":[],"mappings":";;;AACA,oCAA6C;AAC7C,8CAAyC;AACzC,gDAA6D;AAG7D,MAAa,gBAAgB;IAEpB,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,YAAI,EAAC,oBAAM,CAAC,CAAC,EAAE,IAAA,YAAI,EAAC,2BAAa,CAAC,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAErC,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAZD,4CAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/update_database.js":{"lineLengths":[13,62,32,36,48,22,18,168,165,103,223,19,5,1,40,43],"data":{"version":3,"file":"update_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/update_database.ts"],"names":[],"mappings":";;;AACA,oCAA6C;AAC7C,gDAA2H;AAG3H,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,8BAAgB,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,8BAAgB,CAAC,CAAC,CAAC,CAAC;QAEhF,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EACL,IAAA,WAAG,EAAC,UAAU,EAAE,qBAAO,CAAC,EACxB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,qBAAO,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,uBAAS,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,2BAAa,EACb,IAAA,WAAG,EAAC,uBAAS,CAAC,EACd,IAAA,WAAG,EAAC,gCAAkB,CAAC,EACvB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1C,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAtBD,wCAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_database.js":{"lineLengths":[13,62,32,36,48,22,18,98,106,80,5,1,40,43],"data":{"version":3,"file":"modify_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/modify_database.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAAuF;AAGvF,MAAa,cAAc;IAElB,UAAU;QAEf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,EAAE,uBAAS,CAAC,CAAC;QAElD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,gCAAkB,EAAE,IAAI,EAAE,uBAAS,CAAC,CAAC;QAEzD,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,2BAAa,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CAEF;AAXD,wCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_internal.js":{"lineLengths":[13,62,32,36,48,22,18,70,68,158,77,80,78,68,85,281,139,95,46,5,1,40,43],"data":{"version":3,"file":"modify_internal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/modify_internal.ts"],"names":[],"mappings":";;;AACA,oCAAkD;AAClD,gDAAkH;AAGlH,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,kCAAoB,EAAE,qBAAO,CAAC,CAAC,CAAC,CAAC;QAEnF,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,2BAAa,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,sBAAQ,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,wBAAU,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,oBAAM,EAAE,qBAAO,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAA,WAAG,EACjB,IAAA,WAAG,EAAC,KAAK,EAAE,YAAY,CAAC,EACxB,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACxC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,EAAE,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC,CAAC;QAE/E,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,OAAO,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;CAEF;AA1BD,wCA0BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/raise.js":{"lineLengths":[13,62,23,36,46,48,13,18,121,206,86,273,120,164,103,19,5,1,22,33],"data":{"version":3,"file":"raise.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/raise.ts"],"names":[],"mappings":";;;AACA,oCAA8D;AAC9D,8CAAyC;AACzC,gDAAwI;AAGxI,MAAa,KAAK;IAET,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,2BAAa,EACb,IAAA,WAAG,EAAC,uBAAS,CAAC,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,YAAY,EACZ,oBAAM,EACN,QAAQ,EACR,IAAA,eAAO,EAAC,2BAAa,EAAE,oBAAM,CAAC,EAC9B,IAAA,eAAO,EAAC,uBAAS,CAAC,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,4BAAc,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,uBAAS,EACT,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAClF,IAAA,eAAO,EAAC,SAAS,CAAC,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,WAAW,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,GAAG,EACH,IAAA,eAAO,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,oBAAM,CAAC,EAAE,2BAAa,CAAC,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,eAAO,EAAC,IAAI,EAAE,2BAAa,CAAC,CAAC,CAAC;QAEvD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AA9BD,sBA8BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/define.js":{"lineLengths":[13,62,24,36,48,46,14,18,72,65,5,1,24,34],"data":{"version":3,"file":"define.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/define.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAyC;AACzC,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,uBAAS,CAAC,CAAC;QACrC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAPD,wBAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enddefine.js":{"lineLengths":[13,62,33,36,46,23,18,81,5,1,42,37],"data":{"version":3,"file":"enddefine.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/enddefine.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,eAAe;IAEnB,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACpD,CAAC;CAEF;AAND,0CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/find.js":{"lineLengths":[13,62,22,36,48,12,18,46,779,93,148,217,19,5,1,20,32],"data":{"version":3,"file":"find.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/find.ts"],"names":[],"mappings":";;;AACA,oCAA+D;AAC/D,gDAAwD;AAGxD,MAAa,IAAI;IAER,UAAU;QACnB,sCAAsC;QAClC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,EACjB,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,EACnB,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,EACjB,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,EAC3B,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,EACzB,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,EAC1B,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,EAC3B,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,EACrB,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,EACtB,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,EACzB,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,EAAE,oBAAM,CAAC,EACjC,IAAA,WAAG,EAAC,YAAY,EAAE,IAAA,YAAI,EAAC,oBAAM,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,aAAa,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,EAAE,IAAI,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,EAC1D,oBAAM,CAAC,CAAC;QAE3B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,EACzD,sBAAQ,EACR,oBAAM,EACN,IAAI,EACJ,MAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE9B,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AArCD,oBAqCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/move.js":{"lineLengths":[13,62,22,36,48,46,49,12,18,73,239,219,110,93,35,88,46,5,1,20,32],"data":{"version":3,"file":"move.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/move.ts"],"names":[],"mappings":";;;AACA,oCAAmE;AACnE,gDAA8C;AAC9C,8CAAyC;AACzC,iDAAkD;AAGlD,MAAa,IAAI;IAER,UAAU;QAEf,MAAM,GAAG,GAAG,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE1C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,GAAG,EACH,IAAA,eAAO,EACL,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,EAAE,IAAI,EAAE,oBAAM,CAAC,EAClC,IAAA,WAAG,EAAC,oBAAM,EAAE,IAAA,eAAO,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAG/D,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EACZ,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,EAAE,GAAG,CAAC,EACpB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,cAAK,CAAC,EAAE,GAAG,CAAC,EACpB,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,oBAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QAE/D,2BAA2B;QACvB,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,oBAAM,EAAE,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEvC,OAAO,IAAA,eAAO,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC;CAEF;AA7BD,oBA6BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/move_corresponding.js":{"lineLengths":[13,62,35,36,48,46,25,18,93,98,119,59,100,20,5,1,46,46],"data":{"version":3,"file":"move_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/move_corresponding.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAC3C,gDAAoD;AACpD,8CAAyC;AAGzC,MAAa,iBAAiB;IAErB,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;QAEnE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,oBAAoB,EACpB,IAAA,eAAO,EAAC,OAAO,CAAC,EAChB,oBAAM,EACN,IAAI;QACzB,mDAAmD;QAC9B,0BAAY,EACZ,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AAlBD,8CAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_time.js":{"lineLengths":[13,62,25,36,48,15,18,105,71,5,1,26,36],"data":{"version":3,"file":"get_time.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_time.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAAsC;AAGtC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,aAAa,EAAE,OAAO,CAAC,EAAE,oBAAM,CAAC,CAAC;QAEzD,OAAO,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;IACvC,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enhancement_point.js":{"lineLengths":[13,62,34,36,48,46,24,18,175,65,5,1,44,45],"data":{"version":3,"file":"enhancement_point.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/enhancement_point.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA+C;AAC/C,8CAAyC;AAGzC,MAAa,gBAAgB;IAEpB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,mBAAmB,EACnB,sBAAQ,EACR,OAAO,EACP,mBAAK,EACL,IAAA,WAAG,EAAC,QAAQ,CAAC,EACb,IAAA,WAAG,EAAC,eAAe,CAAC,CAAC,CAAC;QAEtC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAbD,4CAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enhancement_section.js":{"lineLengths":[13,62,36,36,48,46,52,26,18,285,65,5,1,48,47],"data":{"version":3,"file":"enhancement_section.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/enhancement_section.ts"],"names":[],"mappings":";;;AACA,oCAAyD;AACzD,gDAAqC;AACrC,8CAAyC;AAEzC,oDAA+C;AAE/C,MAAa,kBAAkB;IAEtB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,qBAAqB,EACrB,IAAA,WAAG,EAAC,mBAAK,EAAE,IAAA,gBAAQ,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAI,CAAC,EAAE,mBAAK,CAAC,CAAC,CAAC,EAC3C,OAAO,EACP,mBAAK,EACL,IAAA,WAAG,EAAC,QAAQ,CAAC,EACb,IAAA,WAAG,EAAC,eAAe,CAAC,CAAC,CAAC;QAEtC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAbD,gDAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_enhancement_section.js":{"lineLengths":[13,62,39,36,46,29,18,64,65,5,1,54,51],"data":{"version":3,"file":"end_enhancement_section.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/end_enhancement_section.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,8CAAyC;AAGzC,MAAa,qBAAqB;IAEzB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,yBAAyB,CAAC,CAAC;QAE3C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,sDAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_handler.js":{"lineLengths":[13,62,28,36,48,18,18,80,104,159,19,5,1,32,39],"data":{"version":3,"file":"set_handler.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_handler.ts"],"names":[],"mappings":";;;AACA,oCAAqD;AACrD,gDAAoD;AAGpD,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAE7C,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC,CAAC;QAExD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EACb,IAAA,YAAI,EAAC,0BAAY,CAAC,EAClB,IAAA,eAAO,EAAC,EAAE,CAAC,EACX,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC,CAAC;QAErC,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAfD,gCAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_left.js":{"lineLengths":[13,62,25,36,46,48,15,18,72,132,5,1,26,36],"data":{"version":3,"file":"set_left.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_left.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,8CAAyC;AACzC,gDAAsC;AAGtC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,IAAA,WAAG,EAAC,0BAA0B,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;CAEF;AAPD,0BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/pack.js":{"lineLengths":[13,62,22,36,48,46,12,18,95,65,5,1,20,32],"data":{"version":3,"file":"pack.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/pack.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,IAAI;IAER,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,EAAE,IAAI,EAAE,oBAAM,CAAC,CAAC;QAE9C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/case_type.js":{"lineLengths":[13,62,26,36,46,48,16,18,140,5,1,28,37],"data":{"version":3,"file":"case_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/case_type.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,8CAAyC;AACzC,gDAAsC;AAGtC,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,EAAE,iBAAO,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;CAEF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/when_type.js":{"lineLengths":[13,62,26,36,48,46,16,18,68,91,121,5,1,28,37],"data":{"version":3,"file":"when_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/when_type.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAC3C,gDAAiD;AACjD,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,uBAAS,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,iBAAO,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;CAEF;AAVD,4BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/exec_sql.js":{"lineLengths":[13,62,25,36,48,46,15,18,84,79,65,5,1,26,36],"data":{"version":3,"file":"exec_sql.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/exec_sql.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA0C;AAC1C,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,wBAAU,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC,CAAC;QAE7C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,0BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/open_cursor.js":{"lineLengths":[13,62,28,36,48,46,18,18,141,65,5,1,32,39],"data":{"version":3,"file":"open_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/open_cursor.ts"],"names":[],"mappings":";;;AACA,oCAA8C;AAC9C,gDAAiD;AACjD,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EACb,IAAA,eAAO,EAAC,WAAW,CAAC,EACpB,uBAAS,EACT,KAAK,EACL,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAZD,gCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/communication.js":{"lineLengths":[13,62,31,36,48,46,21,18,72,108,79,129,83,75,239,123,65,5,1,38,41],"data":{"version":3,"file":"communication.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/communication.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,aAAa;IAEjB,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,EAAE,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,EAAE,QAAQ,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,YAAY,EACZ,oBAAM,EACN,QAAQ,EACR,oBAAM,EACN,IAAA,WAAG,EAAC,MAAM,CAAC,EACX,UAAU,EACV,oBAAM,EACN,YAAY,EACZ,oBAAM,EACN,UAAU,EACV,oBAAM,CAAC,CAAC;QAE5B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,IAAA,WAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAExE,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA7BD,sCA6BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/generate_subroutine.js":{"lineLengths":[13,62,36,36,48,46,26,18,68,74,79,68,68,72,77,74,167,65,5,1,48,47],"data":{"version":3,"file":"generate_subroutine.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/generate_subroutine.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,kBAAkB;IAEtB,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QAEvC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,0BAA0B,EAC1B,oBAAM,EACN,IAAA,WAAG,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAEnF,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAnBD,gDAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/reject.js":{"lineLengths":[13,62,24,36,48,46,14,18,87,65,5,1,24,34],"data":{"version":3,"file":"reject.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/reject.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,oBAAM,CAAC,CAAC,CAAC;QAEvC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/load_report.js":{"lineLengths":[13,62,28,36,48,46,18,18,134,65,5,1,32,39],"data":{"version":3,"file":"load_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/load_report.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EACb,oBAAM,EACN,MAAM,EACN,oBAAM,EACN,MAAM,EACN,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAbD,gCAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/private.js":{"lineLengths":[13,62,25,36,15,18,51,5,1,26,35],"data":{"version":3,"file":"private.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/private.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,iBAAiB,CAAC,CAAC;IAChC,CAAC;CAEF;AAND,0BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/system_call.js":{"lineLengths":[13,62,28,36,46,50,50,18,18,48,96,132,112,65,5,1,32,39],"data":{"version":3,"file":"system_call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/system_call.ts"],"names":[],"mappings":";;;AACA,oCAAkE;AAClE,8CAAyC;AAEzC,kDAA6C;AAC7C,kDAA6C;AAE7C,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC,MAAM,CAAC,CAAC;QAEzB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,eAAM,EAAE,IAAI,EAAE,eAAM,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,KAAK,EAAE,eAAM,EAAE,YAAY,EAAE,eAAM,EAAE,eAAM,EAAE,eAAM,CAAC,CAAC;QAE3E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,GAAG,EAAE,IAAA,YAAI,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjE,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAbD,gCAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_language.js":{"lineLengths":[13,62,29,36,48,46,19,18,75,65,5,1,34,40],"data":{"version":3,"file":"set_language.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_language.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAExC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,kCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_dialog.js":{"lineLengths":[13,62,28,36,48,46,18,18,132,81,124,79,134,65,5,1,32,39],"data":{"version":3,"file":"call_dialog.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_dialog.ts"],"names":[],"mappings":";;;AACA,oCAAyD;AACzD,gDAAiE;AACjE,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,sBAAQ,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,YAAI,EAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,mBAAK,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,mBAAK,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC,CAAC;QAE7C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EACb,sBAAQ,EACR,IAAA,WAAG,EAAC,SAAS,CAAC,EACd,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC,CAAC;QAEhC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAjBD,gCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/protected.js":{"lineLengths":[13,62,27,36,17,18,53,5,1,30,37],"data":{"version":3,"file":"protected.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/protected.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,SAAS;IAEb,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;CAEF;AAND,8BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/public.js":{"lineLengths":[13,62,24,36,14,18,50,5,1,24,34],"data":{"version":3,"file":"public.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/public.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;CAEF;AAND,wBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/nodes.js":{"lineLengths":[13,62,23,36,48,46,13,18,67,65,5,1,22,33],"data":{"version":3,"file":"nodes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/nodes.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAqC;AACrC,8CAAyC;AAGzC,MAAa,KAAK;IAET,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,mBAAK,CAAC,CAAC;QAEhC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,sBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/demand.js":{"lineLengths":[13,62,24,36,48,46,14,18,87,81,138,65,5,1,24,34],"data":{"version":3,"file":"demand.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/demand.ts"],"names":[],"mappings":";;;AACA,oCAAgD;AAChD,gDAA6C;AAC7C,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,mBAAK,EAAE,GAAG,EAAE,oBAAM,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,YAAI,EAAC,KAAK,CAAC,EACX,cAAc,EACd,mBAAK,EACL,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE/B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAhBD,wBAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/supply.js":{"lineLengths":[13,62,24,36,48,46,14,18,87,108,65,5,1,24,34],"data":{"version":3,"file":"supply.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/supply.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAC3C,gDAA6C;AAC7C,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,mBAAK,EAAE,GAAG,EAAE,oBAAM,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,YAAI,EAAC,KAAK,CAAC,EACX,YAAY,EACZ,mBAAK,CAAC,CAAC;QAEvB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAbD,wBAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/fields.js":{"lineLengths":[13,62,24,36,48,46,14,18,71,65,5,1,24,34],"data":{"version":3,"file":"fields.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/fields.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAwC;AACxC,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,sBAAQ,CAAC,CAAC;QAEpC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_cluster.js":{"lineLengths":[13,62,31,36,49,48,46,21,18,72,254,65,5,1,38,42],"data":{"version":3,"file":"delete_cluster.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/delete_cluster.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,iDAA4D;AAC5D,gDAAuE;AACvE,8CAAyC;AAGzC,MAAa,aAAa;IAEjB,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,sBAAsB,EACtB,iCAAmB,EACnB,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,wBAAU,EACV,IAAA,WAAG,EAAC,oBAAW,CAAC,EAChB,IAAA,WAAG,EAAC,MAAM,CAAC,EACX,IAAI,EACJ,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAjBD,sCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_margin.js":{"lineLengths":[13,62,27,36,48,46,17,18,113,65,5,1,30,38],"data":{"version":3,"file":"set_margin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_margin.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,YAAY,EACZ,oBAAM,EACN,IAAA,WAAG,EAAC,oBAAM,CAAC,CAAC,CAAC;QAE7B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,8BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_database.js":{"lineLengths":[13,62,30,36,48,46,20,18,86,86,96,78,168,65,5,1,36,41],"data":{"version":3,"file":"call_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_database.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAAmG;AACnG,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,4BAAc,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,4BAAc,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAS,CAAC,EAAE,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,yBAAyB,EACzB,qBAAO,EACP,IAAA,WAAG,EAAC,gCAAkB,CAAC,EACvB,IAAA,WAAG,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAEhC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/contexts.js":{"lineLengths":[13,62,26,36,48,46,16,18,70,65,5,1,28,36],"data":{"version":3,"file":"contexts.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/contexts.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAqC;AACrC,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,mBAAK,CAAC,CAAC;QAEvB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AATD,4BASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/interface.js":{"lineLengths":[13,62,27,36,48,17,18,119,5,1,30,37],"data":{"version":3,"file":"interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/interface.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA0D;AAG1D,MAAa,SAAS;IAEb,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,WAAW,EACX,2BAAa,EACb,IAAA,WAAG,EAAC,yBAAW,CAAC,CAAC,CAAC;IAC/B,CAAC;CAEF;AARD,8BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endinterface.js":{"lineLengths":[13,62,30,36,20,18,48,5,1,36,40],"data":{"version":3,"file":"endinterface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endinterface.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,YAAY;IAEhB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;CAEF;AAND,oCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/parameter.js":{"lineLengths":[13,62,27,36,48,46,17,18,69,120,90,145,82,55,82,72,83,74,80,76,191,136,65,5,1,30,37],"data":{"version":3,"file":"parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/parameter.ts"],"names":[],"mappings":";;;AACA,oCAA2E;AAC3E,gDAAmJ;AACnJ,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,eAAO,EAAC,sBAAQ,EAAE,wBAAU,CAAC,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,mBAAmB,EAAE,4BAAc,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAA,eAAO,EAAC,sBAAQ,EAAE,qBAAO,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,2BAAa,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,YAAY,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,mBAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,sBAAQ,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,sBAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAAE,mBAAK,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,GAAG,EACH,YAAY,EACZ,KAAK,EACL,GAAG,EACH,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,sBAAQ,EACR,IAAA,WAAG,EAAC,yBAAW,CAAC,EAChB,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAzCD,8BAyCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/include.js":{"lineLengths":[13,62,25,36,48,15,18,105,19,5,1,26,35],"data":{"version":3,"file":"include.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/include.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA2C;AAG3C,MAAa,OAAO;IACX,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,yBAAW,EAAE,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC,CAAC;QAEzD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAND,0BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/collect.js":{"lineLengths":[13,62,25,36,48,15,18,68,80,118,5,1,26,35],"data":{"version":3,"file":"collect.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/collect.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAAwD;AAGxD,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,sBAAQ,CAAC,CAAC;QAE7C,OAAO,IAAA,WAAG,EAAC,SAAS,EACT,oBAAM,EACN,IAAA,WAAG,EAAC,IAAI,CAAC,EACT,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC,CAAC;IAC7B,CAAC;CAEF;AAZD,0BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/ranges.js":{"lineLengths":[13,62,24,36,48,46,14,18,72,130,65,5,1,24,34],"data":{"version":3,"file":"ranges.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/ranges.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA4D;AAC5D,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,wBAAU,EACV,KAAK,EACL,sBAAQ,EACR,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QAE7B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,wBAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/events.js":{"lineLengths":[13,62,24,36,48,14,18,110,138,5,1,24,34],"data":{"version":3,"file":"events.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/events.ts"],"names":[],"mappings":";;;AACA,oCAAqD;AACrD,gDAA8D;AAG9D,MAAa,MAAM;IAEV,UAAU;QAEf,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,IAAA,YAAI,EAAC,iCAAmB,CAAC,CAAC,CAAC;QAE9D,OAAO,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,uBAAS,EAAE,IAAA,eAAO,EAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,CAAC;CAEF;AATD,wBASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/receive.js":{"lineLengths":[13,62,25,36,48,46,15,18,165,65,5,1,26,35],"data":{"version":3,"file":"receive.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/receive.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA+D;AAC/D,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,+BAA+B,EAC/B,0BAAY,EACZ,IAAA,WAAG,EAAC,cAAc,CAAC,EACnB,+BAAiB,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,0BAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/back.js":{"lineLengths":[13,62,22,36,46,12,18,68,5,1,20,32],"data":{"version":3,"file":"back.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/back.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;CAEF;AAND,oBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/add_corresponding.js":{"lineLengths":[13,62,34,36,46,48,24,18,108,65,5,1,44,45],"data":{"version":3,"file":"add_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/add_corresponding.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,8CAAyC;AACzC,gDAA8C;AAG9C,MAAa,gBAAgB;IAEpB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,mBAAmB,EACnB,oBAAM,EACN,IAAI,EACJ,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,4CAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/subtract_corresponding.js":{"lineLengths":[13,62,39,36,48,46,29,18,115,65,5,1,54,50],"data":{"version":3,"file":"subtract_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/subtract_corresponding.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,qBAAqB;IAEzB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,wBAAwB,EACxB,oBAAM,EACN,MAAM,EACN,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,sDAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/static_begin.js":{"lineLengths":[13,62,29,36,48,19,18,73,144,19,5,1,34,40],"data":{"version":3,"file":"static_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/static_begin.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAAuD;AAGvD,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,qBAAO,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,SAAS,CAAC,EACxB,UAAU,EACV,4BAAc,EACd,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QAE7B,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAbD,kCAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/static_end.js":{"lineLengths":[13,62,27,36,48,17,18,116,19,5,1,30,38],"data":{"version":3,"file":"static_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/static_end.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA8C;AAG9C,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,SAAS,CAAC,EACxB,QAAQ,EACR,4BAAc,CAAC,CAAC;QAEhC,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAVD,8BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_dataset.js":{"lineLengths":[13,62,28,36,48,46,18,18,76,74,126,65,5,1,32,39],"data":{"version":3,"file":"get_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_dataset.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAEvC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EACb,oBAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAE1C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAbD,gCAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/tables.js":{"lineLengths":[13,62,24,36,48,46,14,18,68,65,5,1,24,34],"data":{"version":3,"file":"tables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/tables.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAqC;AACrC,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,mBAAK,CAAC,CAAC;QAEjC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/local.js":{"lineLengths":[13,62,23,36,48,46,13,18,113,65,5,1,22,33],"data":{"version":3,"file":"local.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/local.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAmD;AACnD,8CAAyC;AAGzC,MAAa,KAAK;IAET,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,sBAAQ,EAAE,IAAA,WAAG,EAAC,uBAAS,CAAC,CAAC,CAAC;QAEnD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,sBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/add.js":{"lineLengths":[13,62,21,36,48,11,18,64,137,98,19,5,1,18,31],"data":{"version":3,"file":"add.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/add.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,gDAAwD;AAGxD,MAAa,GAAG;IAEP,UAAU;QACf,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,sBAAQ,EAAE,OAAO,EAAE,sBAAQ,EAAE,QAAQ,EAAE,sBAAQ,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,oBAAM,EAAE,IAAA,eAAO,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QAElD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAXD,kBAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/describe.js":{"lineLengths":[13,62,26,36,48,46,16,18,71,68,72,132,91,525,149,80,68,68,70,72,77,75,112,101,65,5,1,28,36],"data":{"version":3,"file":"describe.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/describe.ts"],"names":[],"mappings":";;;AACA,oCAA6D;AAC7D,gDAA0D;AAC1D,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,wBAAU,EACV,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,oBAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,EACnB,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,EACzB,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,EAChC,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,EACvB,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,EACtB,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,EAC5B,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,EACxB,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAClB,oBAAM,EACN,KAAK,EACL,oBAAM,EACN,MAAM,EACN,oBAAM,EACN,IAAI,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE9E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,eAAO,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAEnE,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA/CD,4BA+CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/submit.js":{"lineLengths":[13,62,24,36,48,46,14,18,68,85,67,103,94,135,96,102,71,81,85,77,79,68,83,96,85,84,90,72,79,77,74,75,76,303,77,65,5,1,24,34],"data":{"version":3,"file":"submit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/submit.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/scan.js":{"lineLengths":[13,62,22,36,48,46,12,18,77,73,73,85,77,85,79,77,80,88,81,79,81,79,94,83,79,68,64,78,95,545,65,5,1,20,32],"data":{"version":3,"file":"scan.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/scan.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,IAAI;IAER,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,mBAAmB,EAAE,oBAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,0BAA0B,EAAE,oBAAM,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAA,WAAG,EAAC,sBAAsB,EAAE,oBAAM,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,oBAAM,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,EAAE,OAAO,EAAE,oBAAM,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAClB,oBAAM,EACN,IAAA,WAAG,EAAC,MAAM,EACN,MAAM,EACN,IAAI,EACJ,EAAE,EACF,UAAU,EACV,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,OAAO,EACP,cAAc,EACd,OAAO,EACP,KAAK,EACL,IAAI,EACJ,GAAG,EACH,OAAO,EACP,SAAS,EACT,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,gCAAgC,EAChC,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,OAAO,EACP,EAAE,CAAC,CAAC,CAAC;QAEzB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAhED,oBAgEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/export.js":{"lineLengths":[13,62,24,36,49,48,22,14,18,68,72,64,70,191,77,114,79,137,106,81,89,166,91,78,119,5,1,24,34],"data":{"version":3,"file":"export.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/export.ts"],"names":[],"mappings":";;;AACA,oCAAuE;AACvE,iDAA4D;AAC5D,gDAA+G;AAG/G,sBAAsB;AACtB,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,iCAAmB,EACnB,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,IAAA,aAAK,EAAC,eAAe,CAAC,EACtB,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,eAAe,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,OAAO,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,sBAAQ,EAAE,yBAAW,CAAC,CAAC;QAExC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,IAAA,eAAO,EAAC,wBAAU,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAChD,qBAAO,CAAC,CAAC;QAE5B,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC;QAE3C,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAA,WAAG,EAAC,WAAW,CAAC,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;CAEF;AAhCD,wBAgCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/import.js":{"lineLengths":[13,62,24,36,49,48,14,18,65,72,64,70,191,77,75,79,136,105,81,145,165,114,350,98,19,5,1,24,34],"data":{"version":3,"file":"import.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/import.ts"],"names":[],"mappings":";;;AACA,oCAA8D;AAC9D,iDAA4D;AAC5D,gDAA+G;AAG/G,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,iCAAmB,EACnB,IAAA,WAAG,EAAC,kBAAS,CAAC,EACd,IAAA,aAAK,EAAC,eAAe,CAAC,EACtB,IAAA,WAAG,EAAC,oBAAW,CAAC,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,eAAe,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,OAAO,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAEvE,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE5D,MAAM,EAAE,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,kCAAoB,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE,oBAAM,CAAC,CAAC,CAAC;QAEtE,MAAM,IAAI,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,kCAAoB,EAAE,yBAAW,CAAC,EAAE,GAAG,EAAE,oBAAM,CAAC,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,EAAE,EACF,qBAAO,EACP,IAAA,YAAI,EAAC,oBAAM,CAAC,CAAC,CAAC;QAEjC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,+BAA+B,EAC/B,sBAAsB,EACtB,IAAA,WAAG,EAAC,uBAAuB,EAAE,oBAAM,CAAC,EACpC,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,EAC7B,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAEhE,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AA5CD,wBA4CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_first.js":{"lineLengths":[13,62,25,36,15,18,44,5,1,26,36],"data":{"version":3,"file":"at_first.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/at_first.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;IACzB,CAAC;CAEF;AAND,0BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_last.js":{"lineLengths":[13,62,24,36,14,18,43,5,1,24,35],"data":{"version":3,"file":"at_last.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/at_last.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC;IACxB,CAAC;CAEF;AAND,wBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at.js":{"lineLengths":[13,62,20,36,48,10,18,227,53,56,50,86,19,5,1,16,30],"data":{"version":3,"file":"at.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/at.ts"],"names":[],"mappings":";;;AACA,oCAAuD;AACvD,gDAA8F;AAG9F,MAAa,EAAE;IAEN,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,sBAAQ,EAAE,IAAA,WAAG,EAAC,yBAAW,CAAC,EAAE,IAAA,WAAG,EAAC,yBAAW,CAAC,CAAC,EACjD,qBAAO,EACP,+BAAiB,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,eAAO,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAEpD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAhBD,gBAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/put.js":{"lineLengths":[13,62,21,36,46,48,11,18,65,65,5,1,18,31],"data":{"version":3,"file":"put.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/put.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,8CAAyC;AACzC,gDAAqC;AAGrC,MAAa,GAAG;IAEP,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,mBAAK,CAAC,CAAC;QAE9B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,kBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endat.js":{"lineLengths":[13,62,23,36,13,18,46,19,5,1,22,33],"data":{"version":3,"file":"endat.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endat.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,KAAK;IAET,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAPD,sBAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endselect.js":{"lineLengths":[13,62,27,36,17,18,45,5,1,30,37],"data":{"version":3,"file":"endselect.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endselect.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,SAAS;IAEb,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;CAEF;AAND,8BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/refresh.js":{"lineLengths":[13,62,25,36,48,46,15,18,81,98,65,5,1,26,35],"data":{"version":3,"file":"refresh.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/refresh.ts"],"names":[],"mappings":";;;AACA,oCAA8C;AAC9C,gDAAqD;AACrD,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,2BAAa,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC;QAElD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,0BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/shift.js":{"lineLengths":[13,62,23,36,48,13,18,121,67,95,58,96,82,90,5,1,22,33],"data":{"version":3,"file":"shift.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/shift.ts"],"names":[],"mappings":";;;AACA,oCAAyD;AACzD,gDAA8C;AAG9C,MAAa,KAAK;IAET,UAAU;QACf,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,eAAO,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE,oBAAM,CAAC,CAAC;QACzE,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,eAAO,EAAC,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,EAAE,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QAE7D,OAAO,IAAA,WAAG,EAAC,OAAO,EACP,oBAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,CAAC;CAEF;AAhBD,sBAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_mesh.js":{"lineLengths":[13,62,26,36,48,46,16,18,236,87,159,240,19,5,1,28,37],"data":{"version":3,"file":"type_mesh.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_mesh.ts"],"names":[],"mappings":";;;AACA,oCAAmD;AACnD,gDAA6D;AAE7D,8CAAyC;AAEzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,iCAAmB,EAAE,GAAG,EAAE,iCAAmB,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,iCAAmB,EAAE,GAAG,EAAE,iCAAmB,CAAC,CAAC,CAAC,CAAC;QAErI,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,iCAAmB,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,iCAAmB,EAAE,IAAI,EAAE,iCAAmB,EAAE,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC,CAAC;QAEjG,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,OAAO,EAAE,iCAAmB,EAAE,MAAM,EAAE,IAAA,WAAG,EAAC,QAAQ,CAAC,EAAE,sBAAQ,EAAE,IAAA,YAAI,EAAC,WAAW,CAAC,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEjI,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAdD,4BAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/transfer.js":{"lineLengths":[13,62,26,36,48,46,16,18,72,161,65,5,1,28,36],"data":{"version":3,"file":"transfer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/transfer.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,oBAAM,EACN,IAAI,EACJ,oBAAM,EACN,IAAA,WAAG,EAAC,MAAM,CAAC,EACX,IAAA,WAAG,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAEvC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAfD,4BAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/subtract.js":{"lineLengths":[13,62,26,36,48,16,18,101,19,5,1,28,36],"data":{"version":3,"file":"subtract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/subtract.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA8C;AAG9C,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,oBAAM,EACN,MAAM,EACN,oBAAM,CAAC,CAAC;QAExB,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAXD,4BAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/unassign.js":{"lineLengths":[13,62,26,36,48,16,18,77,5,1,28,36],"data":{"version":3,"file":"unassign.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/unassign.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAiD;AAGjD,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,UAAU,EAAE,+BAAiB,CAAC,CAAC;IAC5C,CAAC;CAEF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/open_dataset.js":{"lineLengths":[13,62,29,36,48,46,19,18,122,73,114,111,74,74,72,92,65,62,68,72,73,68,66,203,65,5,1,34,40],"data":{"version":3,"file":"open_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/open_dataset.ts"],"names":[],"mappings":";;;AACA,oCAA6D;AAC7D,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,IAAA,WAAG,EAAC,QAAQ,CAAC,EACb,IAAA,eAAO,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,eAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,eAAO,EAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,4BAA4B,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,uBAAuB,EAAE,oBAAM,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,0BAA0B,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,sBAAsB,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,uBAAuB,CAAC,CAAC;QAE7C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EACd,oBAAM,EACN,IAAA,WAAG,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAEnI,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA9BD,kCA8BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/close_dataset.js":{"lineLengths":[13,62,30,36,48,46,20,18,76,65,5,1,36,41],"data":{"version":3,"file":"close_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/close_dataset.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC;QACzC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAPD,oCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/interface_load.js":{"lineLengths":[13,62,31,36,48,21,18,82,5,1,38,42],"data":{"version":3,"file":"interface_load.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/interface_load.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA6C;AAG7C,MAAa,aAAa;IAEjB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,WAAW,EACX,2BAAa,EACb,MAAM,CAAC,CAAC;IACrB,CAAC;CAEF;AARD,sCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/close_cursor.js":{"lineLengths":[13,62,29,36,48,46,19,18,84,65,5,1,34,40],"data":{"version":3,"file":"close_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/close_cursor.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAA+C;AAC/C,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,6BAAe,CAAC,CAAC;QACjD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAPD,kCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/leave.js":{"lineLengths":[13,62,23,36,48,46,13,18,98,128,299,65,5,1,22,33],"data":{"version":3,"file":"leave.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/leave.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAAiD;AACjD,8CAAyC;AAGzC,MAAa,KAAK;IAET,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,uBAAS,EAAE,WAAW,EAAE,oBAAM,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAChB,oBAAM,EACN,IAAA,WAAG,EAAC,uBAAuB,CAAC,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,wBAAwB,EACxB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,EAC5C,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AArBD,sBAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/class_definition_load.js":{"lineLengths":[13,62,37,36,48,27,18,85,5,1,50,49],"data":{"version":3,"file":"class_definition_load.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/class_definition_load.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAyC;AAGzC,MAAa,mBAAmB;IAEvB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,OAAO,EAAE,uBAAS,EAAE,iBAAiB,CAAC,CAAC;IACpD,CAAC;CAEF;AAND,kDAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/initialization.js":{"lineLengths":[13,62,32,36,46,22,18,78,5,1,40,42],"data":{"version":3,"file":"initialization.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/initialization.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC;CAEF;AAND,wCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/start_of_selection.js":{"lineLengths":[13,62,34,36,46,24,18,82,5,1,44,46],"data":{"version":3,"file":"start_of_selection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/start_of_selection.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,gBAAgB;IAEpB,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACrD,CAAC;CAEF;AAND,4CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_blank.js":{"lineLengths":[13,62,26,36,46,16,18,52,63,65,5,1,28,37],"data":{"version":3,"file":"set_blank.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_blank.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,4BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/export_dynpro.js":{"lineLengths":[13,62,30,36,48,46,20,18,170,65,5,1,36,41],"data":{"version":3,"file":"export_dynpro.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/export_dynpro.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,oBAAM,EACN,oBAAM,EACN,oBAAM,EACN,oBAAM,EACN,IAAI,EACJ,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,oCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_of_selection.js":{"lineLengths":[13,62,32,36,46,22,18,80,5,1,40,44],"data":{"version":3,"file":"end_of_selection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/end_of_selection.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;CAEF;AAND,wCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/search.js":{"lineLengths":[13,62,24,36,48,46,14,18,79,75,50,79,164,65,5,1,24,34],"data":{"version":3,"file":"search.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/search.ts"],"names":[],"mappings":";;;AACA,oCAA6D;AAC7D,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAE1D,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,oBAAM,EACN,KAAK,EACL,oBAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAExD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAlBD,wBAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/modify_line.js":{"lineLengths":[13,62,28,36,48,46,18,18,103,68,141,102,84,70,71,56,125,52,67,131,160,65,5,1,32,39],"data":{"version":3,"file":"modify_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/modify_line.ts"],"names":[],"mappings":";;;AACA,oCAAiF;AACjF,gDAA6C;AAC7C,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QAEf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,OAAO,CAAC,EACvB,GAAG,EACH,oBAAM,CAAC,CAAC;QAEzB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,oBAAM,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,aAAa,EACb,IAAA,WAAG,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAK,CAAC,CAAC;QAEhG,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,eAAO,EAAC,cAAc,EACd,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,EAC5B,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE9B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA9BD,gCA8BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/selectionscreen.js":{"lineLengths":[13,62,33,36,49,48,46,23,18,282,83,80,233,117,83,60,56,72,88,112,319,182,120,195,70,105,275,77,87,71,34,84,96,81,169,76,82,84,215,65,5,1,42,43],"data":{"version":3,"file":"selectionscreen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/selectionscreen.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/free.js":{"lineLengths":[13,62,22,36,48,12,18,67,19,5,1,20,32],"data":{"version":3,"file":"free.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/free.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAsC;AAGtC,MAAa,IAAI;IAER,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEhC,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endon.js":{"lineLengths":[13,62,23,36,46,13,18,46,65,5,1,22,33],"data":{"version":3,"file":"endon.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endon.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,8CAAyC;AAGzC,MAAa,KAAK;IAET,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC;QACzB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAPD,sBAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/fetch_next_cursor.js":{"lineLengths":[13,62,33,36,48,46,74,23,18,85,229,65,5,1,42,45],"data":{"version":3,"file":"fetch_next_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/fetch_next_cursor.ts"],"names":[],"mappings":";;;AACA,oCAAmD;AACnD,gDAA0E;AAC1E,8CAAyC;AAEzC,0EAAmE;AAEnE,MAAa,eAAe;IAEnB,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,6BAAe,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,mBAAmB,EACnB,6BAAe,EACf,IAAA,WAAG,EAAC,qCAAgB,EAAE,0BAAY,EAAE,yBAAW,CAAC,EAChD,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC;QAE/B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAbD,0CAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/reserve.js":{"lineLengths":[13,62,25,36,48,46,15,18,79,65,5,1,26,35],"data":{"version":3,"file":"reserve.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/reserve.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,EAAE,OAAO,CAAC,CAAC;QAE5C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/raise_entity_event.js":{"lineLengths":[13,62,34,36,48,24,18,109,5,1,44,46],"data":{"version":3,"file":"raise_entity_event.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/raise_entity_event.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAiD;AAGjD,MAAa,gBAAgB;IAEpB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,oBAAoB,EAAE,uBAAS,EAAE,MAAM,EAAE,oBAAM,CAAC,CAAC;IAC9D,CAAC;CAEF;AAND,4CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/refresh_control.js":{"lineLengths":[13,62,32,36,48,46,22,18,115,65,5,1,40,43],"data":{"version":3,"file":"refresh_control.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/refresh_control.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EACjB,oBAAM,EACN,aAAa,EACb,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,wCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_dynpro.js":{"lineLengths":[13,62,30,36,48,46,20,18,76,65,5,1,36,41],"data":{"version":3,"file":"delete_dynpro.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/delete_dynpro.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC;QAEzC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,oCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/generate_dynpro.js":{"lineLengths":[13,62,32,36,48,46,22,18,68,68,235,65,5,1,40,43],"data":{"version":3,"file":"generate_dynpro.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/generate_dynpro.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QAEf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EACjB,oBAAM,EACN,oBAAM,EACN,oBAAM,EACN,oBAAM,EACN,IAAI,EACJ,oBAAM,EACN,SAAS,EACT,oBAAM,EACN,IAAA,WAAG,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAEjC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AArBD,wCAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/detail.js":{"lineLengths":[13,62,24,36,46,14,18,70,5,1,24,34],"data":{"version":3,"file":"detail.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/detail.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,MAAM;IACV,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF;AAJD,wBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/editor_call.js":{"lineLengths":[13,62,28,36,48,46,18,18,77,64,141,65,5,1,32,39],"data":{"version":3,"file":"editor_call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/editor_call.ts"],"names":[],"mappings":";;;AACA,oCAAmD;AACnD,gDAAqD;AACrD,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,2BAAa,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EACjB,IAAA,eAAO,EAAC,QAAQ,CAAC,EACjB,oBAAM,EACN,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC;QAElC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAfD,gCAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/break.js":{"lineLengths":[13,62,23,36,48,46,13,18,71,197,65,5,1,22,33],"data":{"version":3,"file":"break.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/break.ts"],"names":[],"mappings":";;;AACA,oCAA4D;AAC5D,gDAAgD;AAChD,8CAAyC;AAGzC,MAAa,KAAK;IAET,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,+BAA+B,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,eAAO,EAAC,IAAA,eAAO,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC,CAAC,EAClD,IAAA,WAAG,EAAC,OAAO,EAAE,sBAAQ,CAAC,CAAC,CAAC;QAE5C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,sBAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_textpool.js":{"lineLengths":[13,62,32,36,48,46,22,18,76,70,131,65,5,1,40,43],"data":{"version":3,"file":"delete_textpool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/delete_textpool.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EACjB,oBAAM,EACN,IAAA,WAAG,EAAC,QAAQ,CAAC,EACb,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAE5B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,wCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get.js":{"lineLengths":[13,62,21,36,48,46,11,18,90,57,93,65,5,1,18,31],"data":{"version":3,"file":"get.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get.ts"],"names":[],"mappings":";;;AACA,oCAAqD;AACrD,gDAA6C;AAC7C,8CAAyC;AAGzC,MAAa,GAAG;IAEP,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,YAAI,EAAC,mBAAK,CAAC,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,KAAK,EACL,oBAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE9B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,kBAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/selectoption.js":{"lineLengths":[13,62,30,36,48,46,20,18,89,49,77,95,67,82,80,72,81,190,180,65,5,1,36,40],"data":{"version":3,"file":"selectoption.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/selectoption.ts"],"names":[],"mappings":";;;AACA,oCAAoD;AACpD,gDAA4G;AAC5G,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,sBAAQ,EAAE,wBAAU,CAAC,CAAC;QAExC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE5B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,KAAK,EACL,IAAA,WAAG,EAAC,EAAE,CAAC,CAAC,CAAC;QAEzB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,mBAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,mBAAK,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,2BAAa,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAAE,mBAAK,CAAC,CAAC;QAE7C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,mBAAK,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,GAAG,EACH,MAAM,EACN,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,uBAAuB,EACvB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAChB,sBAAQ,EACR,KAAK,EACL,IAAA,WAAG,EAAC,wBAAU,EAAE,qBAAO,CAAC,EACxB,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE9B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA7CD,oCA6CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/convert.js":{"lineLengths":[13,62,25,36,48,15,18,72,72,84,88,73,114,67,67,80,84,115,111,78,5,1,26,35],"data":{"version":3,"file":"convert.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/convert.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAA8C;AAG9C,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,sBAAsB,EAAE,oBAAM,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAY,EACZ,oBAAM,EACN,IAAA,WAAG,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE5C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,oBAAM,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,EACb,IAAA,WAAG,EAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAErD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,EAAE,WAAW,EAAE,oBAAM,CAAC,CAAC;QAE9D,OAAO,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;CAEF;AA5BD,0BA4BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/static.js":{"lineLengths":[13,62,24,36,46,14,18,132,92,151,19,5,1,24,34],"data":{"version":3,"file":"static.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/static.ts"],"names":[],"mappings":";;;AACA,oCAA4C;AAC5C,8CAA8C;AAG9C,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAElG,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1D,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,SAAS,CAAC,EACxB,WAAW,CAAC,cAAc,EAC1B,IAAA,WAAG,EAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QAElD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAdD,wBAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/compute.js":{"lineLengths":[13,62,25,36,48,46,15,18,124,65,5,1,26,35],"data":{"version":3,"file":"compute.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/compute.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,oBAAM,EACN,GAAG,EACH,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAZD,0BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/multiply.js":{"lineLengths":[13,62,26,36,48,16,18,99,19,5,1,28,36],"data":{"version":3,"file":"multiply.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/multiply.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA8C;AAG9C,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,oBAAM,EACN,IAAI,EACJ,oBAAM,CAAC,CAAC;QAExB,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAXD,4BAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/divide.js":{"lineLengths":[13,62,24,36,48,14,18,97,19,5,1,24,34],"data":{"version":3,"file":"divide.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/divide.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA8C;AAG9C,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,oBAAM,EACN,IAAI,EACJ,oBAAM,CAAC,CAAC;QAExB,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAXD,wBAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/format.js":{"lineLengths":[13,62,24,36,48,46,14,18,63,60,306,56,65,5,1,24,34],"data":{"version":3,"file":"format.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/format.ts"],"names":[],"mappings":";;;AACA,oCAAwD;AACxD,gDAA6C;AAC7C,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,oBAAM,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EAC9B,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EAC1B,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EAC1B,IAAA,WAAG,EAAC,QAAQ,EAAE,KAAK,CAAC,EACpB,IAAA,WAAG,EAAC,OAAO,EAAE,KAAK,CAAC,EACnB,mBAAK,CAAC,CAAC;QAE3B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAnBD,wBAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/syntax_check.js":{"lineLengths":[13,62,29,36,48,46,19,18,74,72,76,74,76,68,68,79,74,95,78,84,76,72,244,203,91,65,5,1,34,40],"data":{"version":3,"file":"syntax_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/syntax_check.ts"],"names":[],"mappings":";;;AACA,oCAA8D;AAC9D,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,EAAE,OAAO,EAAE,oBAAM,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,SAAS,CAAC,EAClB,oBAAM,EACN,IAAA,WAAG,EAAC,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,OAAO,EACP,SAAS,EACT,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,oBAAM,EACN,oBAAM,EACN,oBAAM,EACN,oBAAM,EACN,IAAA,WAAG,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAEvE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAEzD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA/CD,kCA+CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/aliases.js":{"lineLengths":[13,62,25,36,48,15,18,97,5,1,26,35],"data":{"version":3,"file":"aliases.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/aliases.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAiD;AAGjD,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,SAAS,EACT,wBAAU,EACV,KAAK,EACL,mBAAK,CAAC,CAAC;IACpB,CAAC;CAEF;AATD,0BASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/method_def.js":{"lineLengths":[13,62,27,46,36,48,17,18,134,460,213,52,95,52,69,81,77,77,345,1560,52,247,395,19,5,1,30,38],"data":{"version":3,"file":"method_def.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/method_def.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_mesh_begin.js":{"lineLengths":[13,62,31,36,48,46,21,18,144,19,5,1,38,43],"data":{"version":3,"file":"type_mesh_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_mesh_begin.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAAmD;AAEnD,8CAAyC;AAEzC,MAAa,aAAa;IAEjB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,OAAO,EAAE,eAAe,EAAE,iCAAmB,CAAC,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAPD,sCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_mesh_end.js":{"lineLengths":[13,62,29,36,48,46,19,18,142,19,5,1,34,41],"data":{"version":3,"file":"type_mesh_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_mesh_end.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAAmD;AAEnD,8CAAyC;AAEzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,OAAO,EAAE,aAAa,EAAE,iCAAmB,CAAC,CAAC,CAAC;QACpF,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAPD,kCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/interface_def.js":{"lineLengths":[13,62,30,46,36,48,20,18,93,83,216,132,5,1,36,41],"data":{"version":3,"file":"interface_def.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/interface_def.ts"],"names":[],"mappings":";;;AACA,8CAAyC;AACzC,oCAAkD;AAClD,gDAAmG;AAGnG,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,2BAAa,EAAE,GAAG,EAAE,oBAAM,CAAC,CAAC;QAE5C,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,YAAI,EAAC,GAAG,CAAC,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,6BAAe,EACf,0BAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAEpE,OAAO,IAAA,WAAG,EAAC,YAAY,EACZ,2BAAa,EACb,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC,CAAC;IAC9B,CAAC;CAEF;AAnBD,oCAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/at_selection_screen.js":{"lineLengths":[13,62,35,36,48,46,25,18,32,87,39,69,71,84,80,85,149,65,5,1,46,47],"data":{"version":3,"file":"at_selection_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/at_selection_screen.ts"],"names":[],"mappings":";;;AACA,oCAA6D;AAC7D,gDAA+C;AAC/C,8CAAyC;AAGzC,MAAa,iBAAiB;IAErB,UAAU;QACf,MAAM,MAAM,GAAG,QAAQ,CAAC;QAExB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,sBAAsB,EAAE,sBAAQ,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,iBAAiB,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,sBAAQ,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,mBAAK,CAAC,CAAC;QAEpC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,sBAAsB,EAAE,mBAAK,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE5C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,qBAAqB,EAAE,sBAAQ,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,qBAAqB,EACrB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAE/E,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAzBD,8CAyBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/include_type.js":{"lineLengths":[13,62,29,36,46,19,18,62,93,160,19,5,1,34,40],"data":{"version":3,"file":"include_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/include_type.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,8CAA8C;AAG9C,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,sBAAsB,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QAExE,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,IAAA,WAAG,EAAC,MAAM,EAAE,WAAW,CAAC,EACxB,WAAW,CAAC,QAAQ,EACpB,IAAA,WAAG,EAAC,GAAG,CAAC,EACR,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE/B,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAhBD,kCAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/import_dynpro.js":{"lineLengths":[13,62,30,36,48,46,20,18,170,65,5,1,36,41],"data":{"version":3,"file":"import_dynpro.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/import_dynpro.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,oBAAM,EACN,oBAAM,EACN,oBAAM,EACN,oBAAM,EACN,IAAI,EACJ,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,oCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_function.js":{"lineLengths":[13,62,30,36,48,46,20,18,138,104,68,143,98,100,62,73,138,159,263,20,5,1,36,41],"data":{"version":3,"file":"call_function.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_function.ts"],"names":[],"mappings":";;;AACA,oCAAkE;AAClE,gDAA4H;AAC5H,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QAEf,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,IAAA,WAAG,EAAC,mBAAmB,EAAE,2BAAa,CAAC,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,IAAA,WAAG,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,IAAA,WAAG,EAAC,eAAe,EAAE,IAAA,eAAO,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,0BAAY,EAAE,gBAAgB,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,sBAAQ,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,kBAAkB,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,8BAA8B,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,yBAAW,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEvG,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,EACzB,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,IAAA,eAAO,EAAC,UAAU,EAAE,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,EAC/D,0BAAY,EACZ,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,IAAA,WAAG,EAAC,gCAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AA3BD,oCA2BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_selection_screen.js":{"lineLengths":[13,62,37,36,48,46,27,18,97,101,84,72,131,65,5,1,50,49],"data":{"version":3,"file":"call_selection_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_selection_screen.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,mBAAmB;IAEvB,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,EAAE,oBAAM,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,EAAE,oBAAM,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,qBAAqB,EAAE,oBAAM,CAAC,CAAC;QAEjD,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,uBAAuB,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,EAAE,CAAC,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAEtE,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,kDAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_transformation.js":{"lineLengths":[13,62,36,36,48,26,18,93,102,96,77,121,70,121,201,20,5,1,48,47],"data":{"version":3,"file":"call_transformation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_transformation.ts"],"names":[],"mappings":";;;AACA,oCAAuC;AACvC,gDAA4I;AAG5I,MAAa,kBAAkB;IAEtB,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,uCAAyB,CAAC,CAAC;QAE1D,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,0CAA4B,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,0CAA4B,CAAC,CAAC;QAE7D,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,2BAAa,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,0CAA4B,EAAE,OAAO,CAAC,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,0CAA4B,EAAE,OAAO,CAAC,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,qBAAqB,EACrB,IAAA,WAAG,EAAC,iCAAmB,EAAE,qBAAO,CAAC,EACjC,IAAA,WAAG,EAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AApBD,gDAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_line.js":{"lineLengths":[13,62,26,36,48,46,16,18,78,128,81,70,71,60,197,65,5,1,28,37],"data":{"version":3,"file":"read_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/read_line.ts"],"names":[],"mappings":";;;AACA,oCAA+D;AAC/D,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,oBAAM,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,iBAAiB,CAAC,CAAC;QAEvC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,IAAA,WAAG,EAAC,cAAc,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,EACxC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5D,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAtBD,4BAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_textpool.js":{"lineLengths":[13,62,30,36,48,46,20,18,76,74,70,117,65,5,1,36,41],"data":{"version":3,"file":"read_textpool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/read_textpool.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAoD;AACpD,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,0BAAY,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,oBAAM,EACN,IAAA,WAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAE5C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,oCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_report.js":{"lineLengths":[13,62,28,36,48,46,18,18,70,68,85,114,65,5,1,32,39],"data":{"version":3,"file":"read_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/read_report.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,oBAAM,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EACb,oBAAM,EACN,IAAA,WAAG,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,gCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/read_dataset.js":{"lineLengths":[13,62,29,36,48,46,19,18,324,65,5,1,34,40],"data":{"version":3,"file":"read_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/read_dataset.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EACd,oBAAM,EACN,MAAM,EACN,oBAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,CAAC,EAClC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC,EACjC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAE5C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,kCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_bit.js":{"lineLengths":[13,62,24,36,48,14,18,128,19,5,1,24,35],"data":{"version":3,"file":"get_bit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_bit.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA8C;AAG9C,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,oBAAM,EACN,IAAI,EACJ,oBAAM,EACN,MAAM,EACN,oBAAM,CAAC,CAAC;QAExB,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAbD,wBAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_reference.js":{"lineLengths":[13,62,30,36,48,20,18,109,19,5,1,36,41],"data":{"version":3,"file":"get_reference.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_reference.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA8C;AAG9C,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAClB,oBAAM,EACN,MAAM,EACN,oBAAM,CAAC,CAAC;QAExB,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAXD,oCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_report.js":{"lineLengths":[13,62,30,36,48,46,20,18,509,133,65,5,1,36,41],"data":{"version":3,"file":"insert_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/insert_report.ts"],"names":[],"mappings":";;;AACA,oCAAoD;AACpD,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,EACpB,IAAA,WAAG,EAAC,gBAAgB,EAAE,oBAAM,CAAC,EAC7B,IAAA,WAAG,EAAC,iBAAiB,EAAE,oBAAM,CAAC,EAC9B,IAAA,WAAG,EAAC,kBAAkB,EAAE,oBAAM,CAAC,EAC/B,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,EAC3B,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,SAAS,EAAE,oBAAM,CAAC,CAAC,EACzC,IAAA,WAAG,EAAC,wBAAwB,EAAE,oBAAM,CAAC,EACrC,yBAAyB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,oBAAM,EACN,MAAM,EACN,oBAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE9B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AArBD,oCAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/insert_textpool.js":{"lineLengths":[13,62,32,36,48,46,22,18,70,76,161,65,5,1,40,43],"data":{"version":3,"file":"insert_textpool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/insert_textpool.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EACjB,oBAAM,EACN,MAAM,EACN,oBAAM,EACN,IAAA,WAAG,EAAC,QAAQ,CAAC,EACb,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;QAE5B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAhBD,wCAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_bit.js":{"lineLengths":[13,62,24,36,48,14,18,162,19,5,1,24,35],"data":{"version":3,"file":"set_bit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_bit.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA8C;AAG9C,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,oBAAM,EACN,IAAI,EACJ,oBAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC,CAAC,CAAC;QAExC,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAZD,wBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_run_time.js":{"lineLengths":[13,62,28,36,48,46,18,18,81,65,5,1,32,40],"data":{"version":3,"file":"get_run_time.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_run_time.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,oBAAoB,EAAE,oBAAM,CAAC,CAAC;QAE9C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,gCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_parameter.js":{"lineLengths":[13,62,30,36,48,46,20,18,110,65,5,1,36,41],"data":{"version":3,"file":"get_parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_parameter.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAClB,oBAAM,EACN,OAAO,EACP,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,oCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/create_data.js":{"lineLengths":[13,62,28,36,48,46,34,18,18,81,81,275,234,72,79,76,62,83,104,150,74,177,181,19,5,1,32,39],"data":{"version":3,"file":"create_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/create_data.ts"],"names":[],"mappings":";;;AACA,oCAAkD;AAClD,gDAAwE;AAExE,8CAAyC;AAEzC,kCAAkC;AAClC,MAAa,UAAU;IAEd,UAAU;QAEf,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EACN,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,CAAC,EACnB,IAAA,WAAG,EAAC,sBAAQ,EAAE,qBAAO,CAAC,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EACN,sBAAsB,EACtB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,CAAC,EACpB,IAAA,WAAG,EAAC,oBAAM,EAAE,qBAAO,CAAC,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,CAAC,EAAE,IAAA,WAAG,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,mBAAK,CAAC,EAAE,qBAAO,CAAC,CAAC,CAAC;QAE9D,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,IAAI,CAAC,EACf,IAAA,WAAG,EAAC,GAAG,CAAC,EACR,IAAA,WAAG,EAAC,OAAO,CAAC,EACZ,IAAA,WAAG,EAAC,MAAM,CAAC,EACX,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EACb,oBAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,UAAU,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvE,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAjDD,gCAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_country.js":{"lineLengths":[13,62,28,36,48,46,18,18,74,65,5,1,32,39],"data":{"version":3,"file":"set_country.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_country.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,CAAC,CAAC;QAEvC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,gCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/function_module.js":{"lineLengths":[13,62,32,36,48,22,18,65,5,1,40,43],"data":{"version":3,"file":"function_module.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/function_module.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAqC;AAGrC,MAAa,cAAc;IAElB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,UAAU,EAAE,mBAAK,CAAC,CAAC;IAChC,CAAC;CAEF;AAND,wCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_pools.js":{"lineLengths":[13,62,27,36,46,18,17,18,54,62,65,5,1,30,38],"data":{"version":3,"file":"type_pools.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_pools.ts"],"names":[],"mappings":";;;AACA,oCAAmD;AACnD,8CAAyC;AAGzC,kBAAkB;AAClB,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAEzC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,8BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_pool.js":{"lineLengths":[13,62,26,36,46,23,16,18,54,61,65,5,1,28,37],"data":{"version":3,"file":"type_pool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_pool.ts"],"names":[],"mappings":";;;AACA,oCAAmD;AACnD,8CAAyC;AAGzC,uBAAuB;AACvB,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAExC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,4BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/wait.js":{"lineLengths":[13,62,22,36,46,48,12,18,78,46,107,43,86,114,74,19,5,1,20,32],"data":{"version":3,"file":"wait.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/wait.ts"],"names":[],"mappings":";;;AACA,oCAAiD;AACjD,8CAAyC;AACzC,gDAA4C;AAG5C,MAAa,IAAI;IAER,UAAU;QACf,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,EAAE,SAAS,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACtC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,eAAe,EAAE,iBAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,oBAAoB,CAAC;QAEnC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,KAAK,EAAE,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAI,EAAE,IAAA,WAAG,EAAC,EAAE,CAAC,CAAC,CAAC;QAErD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAExC,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAlBD,oBAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/overlay.js":{"lineLengths":[13,62,25,36,48,15,18,68,124,19,5,1,26,35],"data":{"version":3,"file":"overlay.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/overlay.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA8C;AAG9C,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,oBAAM,EACN,MAAM,EACN,oBAAM,EACN,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAdD,0BAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_screen.js":{"lineLengths":[13,62,27,36,48,46,17,18,73,65,5,1,30,38],"data":{"version":3,"file":"set_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_screen.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QACtC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAPD,8BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_cursor.js":{"lineLengths":[13,62,27,36,48,46,17,18,68,72,70,81,117,65,5,1,30,38],"data":{"version":3,"file":"set_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_cursor.ts"],"names":[],"mappings":";;;AACA,oCAAmD;AACnD,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,oBAAM,EAAE,oBAAM,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,8BAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_screen.js":{"lineLengths":[13,62,28,36,48,46,18,18,101,97,154,65,5,1,32,39],"data":{"version":3,"file":"call_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_screen.ts"],"names":[],"mappings":";;;AACA,oCAA8C;AAC9C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,EAAE,oBAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,EAAE,oBAAM,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,oBAAM,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,gCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_pf_status.js":{"lineLengths":[13,62,29,36,48,46,19,18,77,118,103,65,5,1,34,41],"data":{"version":3,"file":"set_pf_status.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_pf_status.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,OAAO,EACP,aAAa,EACb,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,oBAAM,EACN,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE9B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAhBD,kCAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_titlebar.js":{"lineLengths":[13,62,29,36,48,46,19,18,86,77,125,65,5,1,34,40],"data":{"version":3,"file":"set_titlebar.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_titlebar.ts"],"names":[],"mappings":";;;AACA,oCAAgD;AAChD,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,YAAI,EAAC,oBAAM,CAAC,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC,CAAC;QAEhE,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAZD,kCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/program.js":{"lineLengths":[13,62,25,36,48,46,15,18,77,73,69,74,71,123,65,5,1,26,35],"data":{"version":3,"file":"program.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/program.ts"],"names":[],"mappings":";;;AACA,oCAA6D;AAC7D,gDAAkD;AAClD,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,0BAA0B,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,oBAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,eAAO,EAAC,wBAAU,CAAC,EAAE,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC,CAAC;QAE9D,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,0BAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/function_pool.js":{"lineLengths":[13,62,30,36,48,20,18,83,74,64,125,5,1,36,41],"data":{"version":3,"file":"function_pool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/function_pool.ts"],"names":[],"mappings":";;;AACA,oCAA4C;AAC5C,gDAA4D;AAG5D,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,YAAY,EAAE,0BAAY,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,qBAAO,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,0BAA0B,CAAC,CAAC;QAE3C,OAAO,IAAA,WAAG,EAAC,eAAe,EACf,mBAAK,EACL,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;CAEF;AAZD,oCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/module.js":{"lineLengths":[13,62,24,36,48,46,14,18,126,65,5,1,24,34],"data":{"version":3,"file":"module.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/module.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAAwC;AACxC,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,sBAAQ,EACR,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE7C,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,wBAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endmodule.js":{"lineLengths":[13,62,27,36,46,17,18,73,5,1,30,37],"data":{"version":3,"file":"endmodule.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endmodule.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;CAEF;AAND,8BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endfunction.js":{"lineLengths":[13,62,29,36,19,18,47,5,1,34,39],"data":{"version":3,"file":"endfunction.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endfunction.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,WAAW;IAEf,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;CAEF;AAND,kCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/retry.js":{"lineLengths":[13,62,23,36,46,13,18,65,5,1,22,33],"data":{"version":3,"file":"retry.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/retry.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAE7B,8CAAyC;AAEzC,MAAa,KAAK;IAET,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;CAEF;AAND,sBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/authority_check.js":{"lineLengths":[13,62,32,36,48,22,18,70,98,178,19,5,1,40,43],"data":{"version":3,"file":"authority_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/authority_check.ts"],"names":[],"mappings":";;;AACA,oCAA6C;AAC7C,gDAAsC;AAGtC,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QAEnC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EACJ,oBAAM,EACN,IAAA,WAAG,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,wBAAwB,EACxB,oBAAM,EACN,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,UAAU,EAAE,oBAAM,CAAC,CAAC,EAC5B,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC,CAAC;QAE1B,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_parameter.js":{"lineLengths":[13,62,30,36,48,46,20,18,110,65,5,1,36,41],"data":{"version":3,"file":"set_parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_parameter.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAClB,oBAAM,EACN,OAAO,EACP,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,oCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_cursor.js":{"lineLengths":[13,62,27,36,48,46,17,18,68,70,72,70,72,68,140,65,5,1,30,38],"data":{"version":3,"file":"get_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_cursor.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,YAAY,EACZ,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAE/E,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAhBD,8BAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_kernel.js":{"lineLengths":[13,62,28,36,48,46,18,18,159,65,5,1,32,39],"data":{"version":3,"file":"call_kernel.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_kernel.ts"],"names":[],"mappings":";;;AACA,oCAAwD;AACxD,gDAAyD;AACzD,8CAAyC;AAGzC,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,IAAA,eAAO,EAAC,sBAAQ,EAAE,mBAAK,CAAC,EACxB,IAAA,gBAAQ,EAAC,sBAAQ,CAAC,CAAC,CAAC;QAEpC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,gCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_transaction.js":{"lineLengths":[13,62,33,36,48,46,23,18,79,81,98,180,202,65,5,1,42,44],"data":{"version":3,"file":"call_transaction.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_transaction.ts"],"names":[],"mappings":";;;AACA,oCAAiE;AACjE,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,eAAe;IAEnB,UAAU;QAEf,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,cAAc,EAAE,oBAAM,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,oBAAM,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,MAAM,EAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAEhE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,EACrB,uBAAuB,EACvB,OAAO,EACP,QAAQ,EACR,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,kBAAkB,EAClB,oBAAM,EACN,IAAA,eAAO,EAAC,IAAI,CAAC,EACb,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,oBAAM,CAAC,CAAC,EAC7B,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAxBD,0CAwBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/unpack.js":{"lineLengths":[13,62,24,36,48,46,14,18,97,65,5,1,24,34],"data":{"version":3,"file":"unpack.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/unpack.ts"],"names":[],"mappings":";;;AACA,oCAAqC;AACrC,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,oBAAM,EACN,IAAI,EACJ,oBAAM,CAAC,CAAC;QAExB,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAXD,wBAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/skip.js":{"lineLengths":[13,62,22,36,48,46,12,18,114,65,5,1,20,32],"data":{"version":3,"file":"skip.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/skip.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAAsC;AACtC,8CAAyC;AAGzC,MAAa,IAAI;IAER,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,IAAA,WAAG,EAAC,SAAS,CAAC,EACd,IAAA,WAAG,EAAC,oBAAM,CAAC,CAAC,CAAC;QAE7B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAVD,oBAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/uline.js":{"lineLengths":[13,62,23,36,48,46,13,18,133,65,5,1,22,33],"data":{"version":3,"file":"uline.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/uline.ts"],"names":[],"mappings":";;;AACA,oCAA8C;AAC9C,gDAAiD;AACjD,8CAAyC;AAGzC,MAAa,KAAK;IAET,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,eAAO,EAAC,+BAAiB,CAAC,EAAE,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,CAAC;QAExE,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,sBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/data_begin.js":{"lineLengths":[13,62,27,36,48,17,18,73,175,51,5,1,30,38],"data":{"version":3,"file":"data_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/data_begin.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAAuD;AAGvD,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,qBAAO,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,UAAU,EACV,IAAA,WAAG,EAAC,aAAa,CAAC,EAClB,4BAAc,EACd,IAAA,WAAG,EAAC,WAAW,CAAC,EAChB,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QAEnC,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,CAAC;CAEF;AAdD,8BAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/data_end.js":{"lineLengths":[13,62,25,36,48,15,18,107,113,121,80,5,1,26,36],"data":{"version":3,"file":"data_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/data_end.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAC/C,gDAA6D;AAG7D,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,eAAO,EAAC,4BAAc,CAAC,CAAC,CAAC;QAE3D,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAA,eAAO,EAAC,MAAM,EAAE,4BAAc,CAAC,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,2BAAa,EAAE,KAAK,EAAE,2BAAa,CAAC,CAAC;QAExE,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,SAAS,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;CAEF;AAbD,0BAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_begin.js":{"lineLengths":[13,62,27,36,48,46,17,18,172,19,5,1,30,38],"data":{"version":3,"file":"type_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_begin.ts"],"names":[],"mappings":";;;AACA,oCAA8C;AAC9C,gDAAmD;AAEnD,8CAAyC;AAEzC,MAAa,SAAS;IAEb,UAAU;QAEf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,UAAU,EAAE,iCAAmB,EAAE,IAAA,eAAO,EAAC,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAErG,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AATD,8BASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/type_end.js":{"lineLengths":[13,62,25,36,48,15,18,91,19,5,1,26,36],"data":{"version":3,"file":"type_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/type_end.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAAmD;AAGnD,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,QAAQ,EAAE,iCAAmB,CAAC,CAAC;QAExD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/raise_event.js":{"lineLengths":[13,62,28,36,48,18,18,86,101,5,1,32,39],"data":{"version":3,"file":"raise_event.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/raise_event.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAAyD;AAGzD,MAAa,UAAU;IAEd,UAAU;QACf,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,4BAAc,CAAC,CAAC;QAEnD,OAAO,IAAA,WAAG,EAAC,aAAa,EAAE,uBAAS,EAAE,IAAA,WAAG,EAAC,SAAS,CAAC,CAAC,CAAC;IACvD,CAAC;CAEF;AARD,gCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/cleanup.js":{"lineLengths":[13,62,25,36,48,15,18,68,67,5,1,26,35],"data":{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/cleanup.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAAsC;AAGtC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,oBAAM,CAAC,CAAC;QAEjC,OAAO,IAAA,WAAG,EAAC,SAAS,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/create_ole.js":{"lineLengths":[13,62,27,36,48,46,17,18,160,65,5,1,30,38],"data":{"version":3,"file":"create_ole.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/create_ole.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA8C;AAC9C,8CAAyC;AAGzC,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,eAAe,EACf,oBAAM,EACN,oBAAM,EACN,IAAA,WAAG,EAAC,UAAU,CAAC,EACf,IAAA,WAAG,EAAC,YAAY,CAAC,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAZD,8BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/call_ole.js":{"lineLengths":[13,62,25,36,48,46,15,18,63,228,65,5,1,26,36],"data":{"version":3,"file":"call_ole.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/call_ole.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAC1C,gDAA4D;AAC5D,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,oBAAM,CAAC,CAAC;QAE5B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAChB,oBAAM,EACN,oBAAM,EACN,IAAA,WAAG,EAAC,EAAE,CAAC,EACP,IAAA,WAAG,EAAC,UAAU,CAAC,EACf,IAAA,WAAG,EAAC,WAAW,CAAC,EAChB,IAAA,WAAG,EAAC,0BAAY,CAAC,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAhBD,0BAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_property.js":{"lineLengths":[13,62,29,36,48,46,19,18,248,65,5,1,34,40],"data":{"version":3,"file":"set_property.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_property.ts"],"names":[],"mappings":";;;AACA,oCAAwD;AACxD,gDAAqE;AACrE,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,iBAAiB,EACjB,oBAAM,EACN,IAAA,WAAG,EAAC,sBAAQ,EAAE,mBAAK,CAAC,EACpB,GAAG,EACH,oBAAM,EACN,IAAA,eAAO,EAAC,UAAU,CAAC,EACnB,IAAA,WAAG,EAAC,0BAAY,CAAC,CAAC,CAAC;QAEnC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,kCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/test_injection.js":{"lineLengths":[13,62,31,36,48,21,18,78,5,1,38,42],"data":{"version":3,"file":"test_injection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/test_injection.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAC7B,gDAA4C;AAG5C,MAAa,aAAa;IAEjB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,gBAAgB,EAAE,0BAAY,CAAC,CAAC;IAC7C,CAAC;CAEF;AAND,sCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_test_injection.js":{"lineLengths":[13,62,34,36,24,18,54,5,1,44,46],"data":{"version":3,"file":"end_test_injection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/end_test_injection.ts"],"names":[],"mappings":";;;AACA,oCAA6B;AAG7B,MAAa,gBAAgB;IAEpB,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC;CAEF;AAND,4CAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/test_seam.js":{"lineLengths":[13,62,26,36,48,46,16,18,115,5,1,28,37],"data":{"version":3,"file":"test_seam.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/test_seam.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA4C;AAE5C,8CAAyC;AAEzC,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,WAAW,EAAE,0BAAY,CAAC,CAAC,CAAC;IAC3D,CAAC;CAEF;AAND,4BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_test_seam.js":{"lineLengths":[13,62,29,36,46,19,18,91,5,1,34,41],"data":{"version":3,"file":"end_test_seam.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/end_test_seam.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAElC,8CAAyC;AAEzC,MAAa,WAAW;IAEf,UAAU;QACf,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,eAAe,CAAC,CAAC,CAAC;IACjD,CAAC;CAEF;AAND,kCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/delete_memory.js":{"lineLengths":[13,62,30,36,48,46,20,18,75,64,72,143,86,65,5,1,36,41],"data":{"version":3,"file":"delete_memory.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/delete_memory.ts"],"names":[],"mappings":";;;AACA,oCAAmD;AACnD,gDAA6C;AAC7C,8CAAyC;AAGzC,MAAa,YAAY;IAEhB,UAAU;QACf,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,oBAAM,CAAC,CAAC;QAExC,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,oBAAM,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EAAE,oBAAM,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,eAAe,EAAE,mBAAK,EAAE,GAAG,EAAE,mBAAK,EAAE,GAAG,EAAE,IAAA,eAAO,EAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjF,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAEpD,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAdD,oCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/provide.js":{"lineLengths":[13,62,25,36,48,46,15,18,87,205,107,203,65,5,1,26,35],"data":{"version":3,"file":"provide.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/provide.ts"],"names":[],"mappings":";;;AACA,oCAAoD;AACpD,gDAAoE;AACpE,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QAEf,MAAM,IAAI,GAAG,IAAA,YAAI,EAAC,IAAA,eAAO,EAAC,GAAG,EAAE,mBAAK,CAAC,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,oBAAM,EACN,MAAM,EACN,oBAAM,EACN,OAAO,EACP,mBAAK,EACL,QAAQ,EACR,mBAAK,EACL,KAAK,EACL,mBAAK,CAAC,CAAC;QAE1B,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,EAAE,oBAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAE3D,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,SAAS,EACT,IAAA,eAAO,EAAC,IAAA,YAAI,EAAC,MAAM,CAAC,EAAE,IAAA,YAAI,EAAC,SAAS,CAAC,CAAC,EACtC,SAAS,EACT,2BAAa,EACb,KAAK,EACL,2BAAa,CAAC,CAAC;QAE/B,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AA/BD,0BA+BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/endexec.js":{"lineLengths":[13,62,25,36,46,15,18,71,5,1,26,35],"data":{"version":3,"file":"endexec.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/endexec.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;CAEF;AAND,0BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/sort_dataset.js":{"lineLengths":[13,62,29,36,48,46,19,18,66,117,93,50,67,65,5,1,34,40],"data":{"version":3,"file":"sort_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/sort_dataset.ts"],"names":[],"mappings":";;;AACA,oCAA8D;AAC9D,gDAAoE;AACpE,8CAAyC;AAGzC,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAE7C,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,sBAAQ,EAAE,+BAAiB,EAAE,qBAAO,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9C,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE7B,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,EAAE,CAAC,CAAC,CAAC;QAEjC,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AAhBD,kCAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/get_permissions.js":{"lineLengths":[13,62,32,36,48,46,22,18,244,59,5,1,40,43],"data":{"version":3,"file":"get_permissions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/get_permissions.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA0D;AAE1D,8CAAyC;AAEzC,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,kDAAkD,EAClD,wBAAU,EACV,SAAS,EAAE,oBAAM,EACjB,QAAQ,EAAE,oBAAM,EAChB,QAAQ,EAAE,oBAAM,EAChB,UAAU,EAAE,oBAAM,CAAC,CAAC;QAClC,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CAEF;AAZD,wCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/set_locks.js":{"lineLengths":[13,62,26,36,48,46,16,18,209,59,5,1,28,37],"data":{"version":3,"file":"set_locks.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/set_locks.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA0D;AAE1D,8CAAyC;AAEzC,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,CAAC,GAAG,IAAA,WAAG,EAAC,cAAc,EACd,wBAAU,EACV,QAAQ,EACR,wBAAU,EACV,MAAM,EAAE,oBAAM,EACd,QAAQ,EAAE,oBAAM,EAChB,UAAU,EAAE,oBAAM,CAAC,CAAC;QAClC,OAAO,IAAA,WAAG,EAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CAEF;AAbD,4BAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/enhancement.js":{"lineLengths":[13,62,29,36,46,80,19,18,116,65,5,1,34,39],"data":{"version":3,"file":"enhancement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/enhancement.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAC3C,8CAAyC;AAEzC,gFAAyE;AAEzE,MAAa,WAAW;IAEf,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,YAAI,EAAC,2CAAmB,CAAC,CAAC,CAAC;QAE1D,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;CAEF;AARD,kCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/end_enhancement.js":{"lineLengths":[13,62,32,36,46,22,18,78,5,1,40,43],"data":{"version":3,"file":"end_enhancement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/end_enhancement.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAChC,8CAAyC;AAGzC,MAAa,cAAc;IAElB,UAAU;QACf,OAAO,IAAA,cAAM,EAAC,iBAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC;CAEF;AAND,wCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/form_definition.js":{"lineLengths":[13,62,32,36,48,22,18,261,19,5,1,40,43],"data":{"version":3,"file":"form_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/form_definition.ts"],"names":[],"mappings":";;;AACA,oCAAkC;AAClC,gDAA0F;AAG1F,MAAa,cAAc;IAElB,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,MAAM,EACN,sBAAQ,EACR,YAAY,EACZ,IAAA,WAAG,EAAC,wBAAU,CAAC,EACf,IAAA,WAAG,EAAC,uBAAS,CAAC,EACd,IAAA,WAAG,EAAC,0BAAY,CAAC,EACjB,IAAA,WAAG,EAAC,yBAAW,CAAC,CAAC,CAAC;QAElC,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAdD,wCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/artifacts.js":{"lineLengths":[13,62,31,56,58,48,56,12,19,24,5,27,35,39,29,54,13,18,63,13,9,5,11,26,5,19,53,49,25,13,9,18,5,1,25,32,1,21,28,23,32,39,50,42,13,9,19,5,29,23,33,40,50,36,13,9,19,5,28,23,32,39,50,42,13,9,19,5,26,32,50,100,9,51,108,9,26,5,1,38,37],"data":{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/artifacts.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,40,39,45,44,41,46,41,60,42,47,53,49,57,44,46,41,43,39,46,41,43,56,48,45,41,52,39,53,46,51,41,43,43,43,46,52,54,44,51,52,43,44,51,46,40,46,42,46,41,42,41,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,uCAAqB;AACrB,6CAA2B;AAC3B,4CAA0B;AAC1B,yCAAuB;AACvB,8CAA4B;AAC5B,yCAAuB;AACvB,4DAA0C;AAC1C,0CAAwB;AACxB,+CAA6B;AAC7B,qDAAmC;AACnC,iDAA+B;AAC/B,yDAAuC;AACvC,4CAA0B;AAC1B,8CAA4B;AAC5B,yCAAuB;AACvB,2CAAyB;AACzB,uCAAqB;AACrB,8CAA4B;AAC5B,yCAAuB;AACvB,2CAAyB;AACzB,wDAAsC;AACtC,gDAA8B;AAC9B,6CAA2B;AAC3B,yCAAuB;AACvB,oDAAkC;AAClC,uCAAqB;AACrB,qDAAmC;AACnC,8CAA4B;AAC5B,mDAAiC;AACjC,yCAAuB;AACvB,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B;AAC5B,oDAAkC;AAClC,sDAAoC;AACpC,4CAA0B;AAC1B,mDAAiC;AACjC,oDAAkC;AAClC,2CAAyB;AACzB,4CAA0B;AAC1B,mDAAiC;AACjC,8CAA4B;AAC5B,wCAAsB;AACtB,8CAA4B;AAC5B,0CAAwB;AACxB,8CAA4B;AAC5B,yCAAuB;AACvB,0CAAwB;AACxB,yCAAuB"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/any.js":{"lineLengths":[13,62,21,37,32,60,11,18,1360,5,1,18,31],"data":{"version":3,"file":"any.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/any.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;AAC7C,gCAAgC;AAChC,4DAA4D;AAI5D,MAAa,GAAG;IAEP,UAAU;QAEf,OAAO,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,iBAAiB,CAAC,EACjC,IAAA,YAAG,EAAC,UAAU,CAAC,aAAa,CAAC,EAC7B,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EACtB,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EACvB,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,kBAAkB,CAAC,EAClC,IAAA,YAAG,EAAC,UAAU,CAAC,GAAG,CAAC,EACnB,IAAA,YAAG,EAAC,UAAU,CAAC,cAAc,CAAC,EAC9B,IAAA,YAAG,EAAC,UAAU,CAAC,iBAAiB,CAAC,EACjC,IAAA,YAAG,EAAC,UAAU,CAAC,eAAe,CAAC,EAC/B,IAAA,YAAG,EAAC,UAAU,CAAC,YAAY,CAAC,EAC5B,IAAA,YAAG,EAAC,UAAU,CAAC,iBAAiB,CAAC,EACjC,IAAA,YAAG,EAAC,UAAU,CAAC,eAAe,CAAC,EAC/B,IAAA,YAAG,EAAC,UAAU,CAAC,aAAa,CAAC,EAC7B,IAAA,YAAG,EAAC,UAAU,CAAC,gBAAgB,CAAC,EAChC,IAAA,YAAG,EAAC,UAAU,CAAC,cAAc,CAAC,EAC9B,IAAA,YAAG,EAAC,UAAU,CAAC,aAAa,CAAC,EAC7B,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EACxB,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EACxB,IAAA,YAAG,EAAC,UAAU,CAAC,YAAY,CAAC,EAC5B,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EACtB,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EACpB,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EACtB,IAAA,YAAG,EAAC,UAAU,CAAC,cAAc,CAAC,EAC9B,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,eAAe,CAAC,EAC/B,IAAA,YAAG,EAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAExD,CAAC;CAEF;AArCD,kBAqCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/_combi.js":{"lineLengths":[13,62,18,18,28,18,20,18,18,39,73,16,23,30,54,9,25,5,18,74,60,5,16,82,5,13,36,5,29,29,21,36,45,30,24,32,42,32,61,45,18,13,45,43,13,18,103,68,48,13,34,9,16,25,27,25,33,28,10,5,1,85,42,19,23,30,57,9,25,5,16,66,37,26,40,48,42,48,21,26,46,21,17,13,9,5,13,20,5,18,74,61,5,16,82,5,29,24,22,28,38,20,28,38,28,45,36,14,9,75,48,52,40,29,13,45,52,43,13,9,45,52,40,29,13,45,52,43,13,9,26,20,28,38,28,62,36,14,9,14,20,28,38,28,45,36,14,9,5,1,16,22,23,5,18,66,5,16,35,5,29,53,26,19,5,13,20,5,1,12,22,23,5,18,68,5,16,35,5,29,29,21,22,35,24,33,35,33,41,36,18,13,52,39,45,28,37,39,36,65,57,22,17,22,28,37,39,37,45,40,22,17,13,45,43,13,18,103,68,48,13,34,9,5,13,20,5,1,20,20,19,5,18,128,5,16,56,5,13,28,36,5,20,41,100,88,47,9,5,29,58,28,58,39,29,9,14,37,9,19,5,1,20,22,23,5,13,33,89,24,9,38,5,18,111,5,16,49,5,17,29,5,29,38,20,28,30,28,79,32,14,9,59,43,20,41,48,29,37,32,14,9,14,20,28,38,28,79,32,14,9,5,1,30,46,1,30,49,1,37,44,1,17,27,1,18,23,1,17,31,1,22,17,43,55,5,30,1,34],"data":{"version":3,"file":"_combi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/_combi.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/statements/_statement.js":{"lineLengths":[13,62,122,15,18,58,5,1,26,15,18,58,5,1,26,13,18,56,5,1,22,17,18,60,5,1,30,20,18,63,5,1,36,17,18,60,5,1,30,38],"data":{"version":3,"file":"_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/statements/_statement.ts"],"names":[],"mappings":";;;AAMA,MAAa,OAAO;IACX,UAAU;QACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;CACF;AAJD,0BAIC;AAED,MAAa,OAAO;IACX,UAAU;QACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;CACF;AAJD,0BAIC;AAED,MAAa,KAAK;IACT,UAAU;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;CACF;AAJD,sBAIC;AAED,MAAa,SAAS;IACb,UAAU;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;CACF;AAJD,8BAIC;AAED,MAAa,YAAY;IAChB,UAAU;QACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;CACF;AAJD,oCAIC;AAED,MAAa,SAAS;IACb,UAAU;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;CACF;AAJD,8BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/at.js":{"lineLengths":[13,62,20,60,37,33,10,18,160,5,1,16,30],"data":{"version":3,"file":"at.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/at.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,EAAE;IAEN,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,EAAE,CAAC,EAClB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;CAEF;AARD,gBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/body.js":{"lineLengths":[13,62,22,37,37,12,18,81,70,5,1,20,32],"data":{"version":3,"file":"body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/body.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AACnC,qCAAgC;AAGhC,MAAa,IAAI;IAER,UAAU;QACnB,yEAAyE;QACrE,OAAO,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,eAAM,CAAC,CAAC,CAAC;IAC3B,CAAC;CAEF;AAPD,oBAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/normal.js":{"lineLengths":[13,62,24,32,60,37,73,14,18,77,4432,4811,5,1,24,34],"data":{"version":3,"file":"normal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/normal.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/at_first.js":{"lineLengths":[13,62,25,60,37,33,15,18,165,5,1,26,36],"data":{"version":3,"file":"at_first.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/at_first.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EACvB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/at_last.js":{"lineLengths":[13,62,24,60,37,33,14,18,164,5,1,24,35],"data":{"version":3,"file":"at_last.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/at_last.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EACtB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/case_type.js":{"lineLengths":[13,62,26,60,37,43,16,18,233,5,1,28,37],"data":{"version":3,"file":"case_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/case_type.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAuD;AAEvD,2CAAqC;AAErC,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EACxB,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,oBAAQ,CAAC,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9C,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/when_type.js":{"lineLengths":[13,62,26,60,37,33,16,18,191,20,5,1,28,37],"data":{"version":3,"file":"when_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/when_type.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,QAAQ;IAEZ,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,CAAC,CAAC;QAE5F,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/case.js":{"lineLengths":[13,62,22,60,37,33,73,12,18,266,5,1,20,32],"data":{"version":3,"file":"case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/case.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAuD;AAEvD,iCAA4B;AAC5B,yEAAmE;AAEnE,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EACpB,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,EAAE,IAAA,YAAG,EAAC,sBAAS,CAAC,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC7D,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/when.js":{"lineLengths":[13,62,22,60,37,33,12,18,187,20,5,1,20,32],"data":{"version":3,"file":"when.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/when.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,IAAI;IAER,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,CAAC,CAAC;QAExF,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/catch_system_exceptions.js":{"lineLengths":[13,62,39,60,37,33,29,18,182,5,1,54,51],"data":{"version":3,"file":"catch_system_exceptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/catch_system_exceptions.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,qBAAqB;IAEzB,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,qBAAqB,CAAC,EACrC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC;CAEF;AARD,sDAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/catch.js":{"lineLengths":[13,62,23,60,37,33,13,18,126,19,5,1,22,33],"data":{"version":3,"file":"catch.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/catch.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAA4C;AAC5C,iCAA4B;AAG5B,MAAa,KAAK;IAET,UAAU;QACf,MAAM,GAAG,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,CAAC,CAAC;QAEvD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AARD,sBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/class_data.js":{"lineLengths":[13,62,27,60,37,17,18,238,5,1,30,38],"data":{"version":3,"file":"class_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/class_data.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAuD;AAGvD,MAAa,SAAS;IAEb,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,cAAc,CAAC,EAC9B,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAA,YAAG,EAAC,SAAS,CAAC,CAAC,CAAC,EACpD,IAAA,YAAG,EAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAChD,CAAC;CAEF;AARD,8BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/class_definition.js":{"lineLengths":[13,62,33,60,37,55,59,53,23,18,511,131,5,1,42,44],"data":{"version":3,"file":"class_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/class_definition.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,qCAA4D;AAE5D,uDAAiD;AACjD,2DAAqD;AACrD,qDAA+C;AAG/C,MAAa,eAAe;IAEnB,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,YAAG,EACd,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EACrC,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAC/B,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,8BAAa,CAAC,CAAC,EACvB,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAC7B,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,oCAAgB,CAAC,CAAC,EAC1B,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,gCAAc,CAAC,CAAC,EACxB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAEzC,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnF,CAAC;CAEF;AAfD,0CAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/private_section.js":{"lineLengths":[13,62,32,60,37,55,22,18,145,5,1,40,43],"data":{"version":3,"file":"private_section.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/private_section.ts"],"names":[],"mappings":";;;AACA,4DAA4D;AAC5D,qCAA4C;AAC5C,uDAAkD;AAGlD,MAAa,cAAc;IAClB,UAAU;QACf,OAAO,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,iCAAe,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/section_section.js":{"lineLengths":[13,62,33,60,37,35,43,43,45,33,24,23,18,729,5,1,42,43],"data":{"version":3,"file":"section_section.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/section_section.ts"],"names":[],"mappings":";;;AACA,4DAA4D;AAC5D,qCAA6C;AAE7C,mCAA8B;AAC9B,2CAAsC;AACtC,2CAAqC;AACrC,6CAAuC;AACvC,iCAA4B;AAC5B,wBAA2B;AAE3B,MAAa,eAAe;IAEnB,UAAU;QACf,OAAO,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,YAAY,CAAC,EAC5B,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EACpB,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EACtB,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EACxB,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EACvB,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,aAAa,CAAC,EAC7B,IAAA,YAAG,EAAC,UAAU,CAAC,mBAAmB,CAAC,EACnC,IAAA,YAAG,EAAC,aAAK,CAAC,EACV,IAAA,YAAG,EAAC,qBAAS,CAAC,EACd,IAAA,YAAG,EAAC,oBAAQ,CAAC,EACb,IAAA,YAAG,EAAC,WAAQ,CAAC,EACb,IAAA,YAAG,EAAC,WAAI,CAAC,EACT,IAAA,YAAG,EAAC,sBAAS,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;CACF;AArBD,0CAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/types.js":{"lineLengths":[13,62,23,60,37,73,13,18,344,5,1,22,33],"data":{"version":3,"file":"types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/types.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAuD;AAEvD,yEAAmE;AAEnE,MAAa,KAAK;IAET,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EACpB,IAAA,YAAG,EAAC,KAAK,CAAC,EACV,IAAA,YAAG,EAAC,sBAAS,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EACvB,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EACtC,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEF;AAZD,sBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/constants.js":{"lineLengths":[13,62,27,60,37,17,18,274,5,1,30,37],"data":{"version":3,"file":"constants.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/constants.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAuD;AAGvD,MAAa,SAAS;IAEb,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,aAAa,CAAC,EAC7B,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EACxB,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EACvB,IAAA,YAAG,EAAC,SAAS,CAAC,CAAC,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,CAAC;CAEF;AAVD,8BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/type_enum.js":{"lineLengths":[13,62,26,60,37,16,18,241,5,1,28,37],"data":{"version":3,"file":"type_enum.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/type_enum.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAkD;AAGlD,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,aAAa,CAAC,EAC7B,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EACzD,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,CAAC;CAEF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/data.js":{"lineLengths":[13,62,22,60,37,47,43,35,37,12,18,661,5,1,20,32],"data":{"version":3,"file":"data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/data.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAuD;AAEvD,+CAA0C;AAC1C,2CAAsC;AACtC,mCAA8B;AAC9B,qCAAgC;AAEhC,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EACpB,IAAA,YAAG,EAAC,IAAI,CAAC,EACT,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EACvB,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EACtB,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EACxB,IAAA,YAAG,EAAC,qBAAS,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EACpB,IAAA,YAAG,EAAC,aAAK,CAAC,EACV,IAAA,YAAG,EAAC,yBAAW,CAAC,EAChB,IAAA,YAAG,EAAC,eAAM,CAAC,EACX,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,EAC3B,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,YAAG,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAC3C,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEF;AApBD,oBAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/enhancement.js":{"lineLengths":[13,62,29,60,37,33,19,18,178,5,1,34,39],"data":{"version":3,"file":"enhancement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/enhancement.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AAEjD,iCAA4B;AAE5B,MAAa,WAAW;IAEf,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,EAC3B,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IAClD,CAAC;CAEF;AARD,kCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/define.js":{"lineLengths":[13,62,24,60,73,37,14,18,189,5,1,24,34],"data":{"version":3,"file":"define.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/define.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,yEAAsE;AAEtE,qCAA6C;AAG7C,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EACtB,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,yBAAY,CAAC,CAAC,EACvB,IAAA,YAAG,EAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IACnD,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/protected_section.js":{"lineLengths":[13,62,34,60,37,55,24,18,147,5,1,44,45],"data":{"version":3,"file":"protected_section.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/protected_section.ts"],"names":[],"mappings":";;;AACA,4DAA4D;AAC5D,qCAA4C;AAC5C,uDAAkD;AAGlD,MAAa,gBAAgB;IACpB,UAAU;QACf,OAAO,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,iCAAe,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;CACF;AAJD,4CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/public_section.js":{"lineLengths":[13,62,31,60,37,55,21,18,144,5,1,38,42],"data":{"version":3,"file":"public_section.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/public_section.ts"],"names":[],"mappings":";;;AACA,4DAA4D;AAC5D,qCAA4C;AAC5C,uDAAkD;AAGlD,MAAa,aAAa;IACjB,UAAU;QACf,OAAO,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,iCAAe,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/class_global.js":{"lineLengths":[13,62,29,32,60,37,19,18,192,5,1,34,40],"data":{"version":3,"file":"class_global.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/class_global.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAEhC,4DAA4D;AAC5D,qCAA6C;AAG7C,MAAa,WAAW;IAEf,UAAU;QACf,OAAO,IAAA,YAAG,EAAC,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAC/B,IAAA,YAAG,EAAC,UAAU,CAAC,eAAe,CAAC,EAC/B,IAAA,YAAG,EAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAClD,CAAC;CAEF;AARD,kCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/class_implementation.js":{"lineLengths":[13,62,37,60,32,37,27,18,96,174,135,5,1,50,48],"data":{"version":3,"file":"class_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/class_implementation.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,gCAAgC;AAChC,qCAAuD;AAGvD,MAAa,mBAAmB;IAEvB,UAAU;QACnB,wFAAwF;QACpF,MAAM,IAAI,GAAG,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEhG,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,mBAAmB,CAAC,EACnC,IAAI,EACJ,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC;CAEF;AAXD,kDAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/cleanup.js":{"lineLengths":[13,62,25,60,37,33,15,18,132,23,5,1,26,35],"data":{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/cleanup.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAA4C;AAE5C,iCAA4B;AAE5B,MAAa,OAAO;IAEX,UAAU;QACf,MAAM,OAAO,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC;IACjB,CAAC;CAEF;AAPD,0BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/do.js":{"lineLengths":[13,62,20,60,37,33,10,18,160,5,1,16,30],"data":{"version":3,"file":"do.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/do.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,EAAE;IAEN,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,EAAE,CAAC,EAClB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;CAEF;AARD,gBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/type_mesh.js":{"lineLengths":[13,62,26,60,37,16,18,241,5,1,28,37],"data":{"version":3,"file":"type_mesh.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/type_mesh.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAkD;AAGlD,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,aAAa,CAAC,EAC7B,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EACzD,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,CAAC;CAEF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/else.js":{"lineLengths":[13,62,22,37,60,33,12,18,71,83,22,5,1,20,32],"data":{"version":3,"file":"else.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/else.ts"],"names":[],"mappings":";;;AACA,qCAA4C;AAC5C,4DAA4D;AAC5D,iCAA4B;AAG5B,MAAa,IAAI;IAER,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/elseif.js":{"lineLengths":[13,62,24,37,60,33,14,18,71,85,22,5,1,24,34],"data":{"version":3,"file":"elseif.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/elseif.ts"],"names":[],"mappings":";;;AACA,qCAA4C;AAC5C,4DAA4D;AAC5D,iCAA4B;AAG5B,MAAa,MAAM;IAEV,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/enhancement_section.js":{"lineLengths":[13,62,36,60,37,33,26,18,192,5,1,48,47],"data":{"version":3,"file":"enhancement_section.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/enhancement_section.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AAEjD,iCAA4B;AAE5B,MAAa,kBAAkB;IAEtB,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,kBAAkB,CAAC,EAClC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACzD,CAAC;CAEF;AARD,gDAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/exec_sql.js":{"lineLengths":[13,62,25,60,73,37,15,18,179,5,1,26,36],"data":{"version":3,"file":"exec_sql.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/exec_sql.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,yEAAmE;AACnE,qCAA6C;AAG7C,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EACvB,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,sBAAS,CAAC,CAAC,EACpB,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/form.js":{"lineLengths":[13,62,22,60,37,33,12,18,164,5,1,20,32],"data":{"version":3,"file":"form.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/form.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EACpB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/function_module.js":{"lineLengths":[13,62,32,60,37,33,22,18,178,5,1,40,43],"data":{"version":3,"file":"function_module.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/function_module.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,cAAc;IAElB,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,cAAc,CAAC,EAC9B,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,CAAC;CAEF;AARD,wCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/if.js":{"lineLengths":[13,62,20,60,37,33,37,33,10,18,201,119,5,1,16,30],"data":{"version":3,"file":"if.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/if.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAA4D;AAC5D,iCAA4B;AAC5B,qCAAgC;AAChC,iCAA4B;AAG5B,MAAa,EAAE;IAEN,UAAU;QACf,MAAM,QAAQ,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,eAAM,CAAC,CAAC,EACjB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,CAAC,CAAC;QAErC,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,EAAE,CAAC,EAClB,QAAQ,EACR,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;CAEF;AAZD,gBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/interface_global.js":{"lineLengths":[13,62,33,32,60,37,23,18,200,5,1,42,44],"data":{"version":3,"file":"interface_global.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/interface_global.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAEhC,4DAA4D;AAC5D,qCAA6C;AAG7C,MAAa,eAAe;IAEnB,UAAU;QACf,OAAO,IAAA,YAAG,EAAC,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAC/B,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACnC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC;CAEF;AARD,0CAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/interface.js":{"lineLengths":[13,62,27,60,37,55,17,18,203,20,5,1,30,37],"data":{"version":3,"file":"interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/interface.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,qCAAkD;AAElD,uDAAkD;AAGlD,MAAa,SAAS;IAEb,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,EACzB,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,iCAAe,CAAC,CAAC,EAC1B,IAAA,YAAG,EAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AAVD,8BAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/loop_at_screen.js":{"lineLengths":[13,62,30,60,37,24,20,18,168,5,1,36,42],"data":{"version":3,"file":"loop_at_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/loop_at_screen.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AAEjD,wBAAuB;AAEvB,MAAa,YAAY;IAEhB,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,YAAY,CAAC,EAC5B,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,OAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEF;AARD,oCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/loop.js":{"lineLengths":[13,62,22,60,37,24,12,18,99,139,5,1,20,32],"data":{"version":3,"file":"loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/loop.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAuD;AAEvD,wBAAiC;AAEjC,MAAa,IAAI;IAER,UAAU;QACf,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,OAAI,CAAC,EAAE,IAAA,YAAG,EAAC,WAAQ,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,IAAI,CAAC,EACpB,IAAA,aAAI,EAAC,IAAI,CAAC,EACV,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEF;AAVD,oBAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/method.js":{"lineLengths":[13,62,24,60,37,73,33,14,18,264,5,1,24,34],"data":{"version":3,"file":"method.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/method.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAA4D;AAE5D,yEAAmE;AACnE,iCAA4B;AAE5B,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,oBAAoB,CAAC,EACpC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,EAAE,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,sBAAS,CAAC,CAAC,CAAC,CAAC,EACzC,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/module.js":{"lineLengths":[13,62,24,60,37,33,14,18,168,5,1,24,34],"data":{"version":3,"file":"module.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/module.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EACtB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/on_change.js":{"lineLengths":[13,62,26,60,37,33,16,18,166,5,1,28,37],"data":{"version":3,"file":"on_change.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/on_change.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EACxB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;CAEF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/provide.js":{"lineLengths":[13,62,25,60,37,33,15,18,170,5,1,26,35],"data":{"version":3,"file":"provide.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/provide.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AAEjD,iCAA4B;AAE5B,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,EACvB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9C,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/select.js":{"lineLengths":[13,62,24,60,37,33,14,18,172,5,1,24,34],"data":{"version":3,"file":"select.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/select.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,MAAM;IAEV,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,UAAU,CAAC,EAC1B,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,CAAC;CAEF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/statics.js":{"lineLengths":[13,62,25,60,37,15,18,242,5,1,26,35],"data":{"version":3,"file":"statics.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/statics.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAkD;AAGlD,MAAa,OAAO;IAEX,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,EAC3B,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAC9D,IAAA,YAAG,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,CAAC;CAEF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/test_injection.js":{"lineLengths":[13,62,31,60,37,33,21,18,182,5,1,38,42],"data":{"version":3,"file":"test_injection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/test_injection.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,aAAa;IAEjB,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,aAAa,CAAC,EAC7B,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACpD,CAAC;CAEF;AARD,sCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/test_seam.js":{"lineLengths":[13,62,26,60,37,33,16,18,172,5,1,28,37],"data":{"version":3,"file":"test_seam.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/test_seam.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,QAAQ;IAEZ,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EACxB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,CAAC;CAEF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/try.js":{"lineLengths":[13,62,21,60,37,35,33,39,11,18,202,118,5,1,18,31],"data":{"version":3,"file":"try.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/try.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAA4D;AAC5D,mCAA8B;AAE9B,iCAA4B;AAC5B,uCAAkC;AAElC,MAAa,GAAG;IAEP,UAAU;QACf,MAAM,KAAK,GAAG,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EAAE,IAAA,aAAI,EAAC,IAAA,YAAG,EAAC,aAAK,CAAC,CAAC,EAAE,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,iBAAO,CAAC,CAAC,CAAC,CAAC;QAEvE,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,GAAG,CAAC,EACnB,KAAK,EACL,IAAA,YAAG,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;CAEF;AAVD,kBAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/while.js":{"lineLengths":[13,62,23,60,37,33,13,18,166,5,1,22,33],"data":{"version":3,"file":"while.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/while.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,KAAK;IAET,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,EACrB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC;CAEF;AARD,sBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structures/with.js":{"lineLengths":[13,62,22,60,37,33,12,18,168,5,1,20,32],"data":{"version":3,"file":"with.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structures/with.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAE5D,qCAAiD;AACjD,iCAA4B;AAG5B,MAAa,IAAI;IAER,UAAU;QACf,OAAO,IAAA,iBAAQ,EAAC,IAAA,YAAG,EAAC,UAAU,CAAC,QAAQ,CAAC,EACxB,IAAA,YAAG,EAAC,IAAA,YAAG,EAAC,WAAI,CAAC,CAAC,EACd,IAAA,YAAG,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;CAEF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/2_statements/expand_macros.js":{"lineLengths":[13,62,30,43,45,44,56,60,52,57,57,44,61,14,31,25,39,44,31,36,14,9,5,40,33,19,9,43,33,31,10,5,23,58,5,22,40,5,19,46,24,9,21,5,28,56,5,1,20,74,45,47,31,41,23,5,42,23,34,30,26,109,20,120,9,53,44,41,52,68,53,61,30,13,58,154,81,56,116,27,74,67,42,56,96,21,17,13,33,65,91,210,42,17,67,159,49,17,13,9,5,36,15,26,36,109,45,41,97,71,66,77,35,120,47,61,27,21,175,79,70,57,39,21,59,47,21,29,17,22,43,17,13,35,9,55,5,18,37,55,62,22,9,21,35,42,44,52,51,13,33,9,50,18,37,35,48,42,16,9,82,96,135,36,5,27,26,45,23,53,34,37,42,62,13,42,37,68,108,13,18,35,13,54,38,13,18,38,35,27,13,9,22,5,22,34,33,33,137,22,13,76,46,43,17,22,44,17,13,50,25,13,18,22,13,25,9,25,5,27,23,33,52,9,19,5,1,36,41],"data":{"version":3,"file":"expand_macros.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/2_statements/expand_macros.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/files/memory_file.js":{"lineLengths":[13,62,28,53,56,32,24,23,5,14,24,5,18,36,5,1,32,39],"data":{"version":3,"file":"memory_file.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/files/memory_file.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,UAAW,SAAQ,6BAAY;IAG1C,YAAmB,QAAgB,EAAE,GAAW;QAC9C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF;AAfD,gCAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/files/_abstract_file.js":{"lineLengths":[13,62,30,20,27,33,5,19,29,5,16,38,43,20,30,9,37,38,20,30,9,37,5,21,15,49,85,5,21,49,39,49,37,49,49,35,61,31,46,46,24,5,1,36,42],"data":{"version":3,"file":"_abstract_file.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/files/_abstract_file.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;IAGhC,YAAmB,QAAgB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9B,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE7B,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,aAAa;;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IAEM,aAAa;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,+BAA+B;QAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7C,6BAA6B;QACzB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7C,2BAA2B;QACvB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzD,uBAAuB;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CAIF;AAjDD,oCAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/3_structures/structure_parser.js":{"lineLengths":[13,62,33,70,43,39,36,45,45,23,23,78,28,43,32,130,25,13,29,9,61,5,22,43,64,46,48,9,51,52,9,14,59,40,9,5,49,60,72,81,9,91,27,153,56,9,42,50,89,126,56,9,44,5,1,42,32,44],"data":{"version":3,"file":"structure_parser.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/3_structures/structure_parser.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/4_file_information/abap_file_information.js":{"lineLengths":[13,62,37,57,59,57,69,47,44,45,27,38,24,34,29,26,33,30,5,32,36,5,32,31,5,40,41,58,65,25,13,9,25,5,28,28,5,36,41,54,65,25,13,9,25,5,40,41,61,68,28,13,9,25,5,27,26,5,27,22,15,38,19,9,37,40,90,31,78,149,33,90,17,13,141,39,36,78,24,15,9,79,51,103,92,63,29,41,83,15,9,5,32,83,69,34,71,13,100,94,91,85,89,70,34,45,87,41,42,56,24,24,26,27,15,9,5,29,15,86,142,139,146,142,136,143,139,130,137,133,134,141,137,161,86,78,113,26,57,72,13,63,73,13,62,72,13,25,52,67,13,56,66,13,58,68,13,31,41,83,54,55,24,31,56,62,25,26,127,74,89,24,27,26,15,9,5,23,28,23,78,84,39,27,89,73,17,13,78,36,24,86,70,17,13,61,73,70,116,22,21,24,28,32,29,15,9,19,5,36,33,22,9,23,69,87,82,22,36,78,27,41,15,9,19,5,38,19,33,22,9,27,77,98,80,51,192,43,115,26,36,76,29,78,27,15,9,23,5,39,33,22,9,77,37,22,9,23,73,91,22,36,78,72,80,27,15,9,78,91,22,36,78,70,80,27,15,9,77,91,22,36,78,72,31,27,15,9,19,5,45,15,33,22,9,27,73,143,43,25,13,63,26,42,84,97,88,89,97,27,27,39,15,9,23,5,49,33,27,23,83,24,88,148,27,30,61,86,95,23,17,13,9,83,24,88,148,27,30,61,86,95,23,17,13,9,81,23,87,148,27,30,61,86,94,23,17,13,9,83,24,148,23,26,57,82,91,19,13,9,19,5,1,50,49],"data":{"version":3,"file":"abap_file_information.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/4_file_information/abap_file_information.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/4_file_information/_abap_file_information.js":{"lineLengths":[13,62,106,74,19,28,44,40,44,69,29,38,56,56,54,56,99,13,22,32,34,30,51,14,23,39,39,41,54,50],"data":{"version":3,"file":"_abap_file_information.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/4_file_information/_abap_file_information.ts"],"names":[],"mappings":";;;AAGA,0EAA0E;AAE1E,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,mDAAuB,CAAA;IACvB,mDAAuB,CAAA;IACvB,iDAAqB,CAAA;IACrB,mDAAuB,CAAA;AACzB,CAAC,EALW,wBAAwB,wCAAxB,wBAAwB,QAKnC;AAkED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,yBAAa,CAAA;AACf,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;AACzB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/4_file_information/visibility.js":{"lineLengths":[13,62,28,15,24,54,58,52,57,38],"data":{"version":3,"file":"visibility.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/4_file_information/visibility.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iDAAW,CAAA;IACX,qDAAS,CAAA;IACT,+CAAM,CAAA;AACR,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/abap_file.js":{"lineLengths":[13,62,26,45,60,54,60,34,25,29,37,35,25,5,14,34,5,15,25,5,18,38,5,20,30,5,35,35,31,9,14,30,40,54,35,17,15,26,9,5,21,31,5,1,28,37],"data":{"version":3,"file":"abap_file.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/abap_file.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AAExC,4DAAqD;AAKrD,MAAa,QAAS,SAAQ,6BAAY;IAOxC,YAAmB,IAAW,EACX,MAAgC,EAChC,UAAoC,EACpC,SAAoC,EACpC,IAA0B;QAE3C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,SAAS,CAAC,WAAW,GAAG,IAAI;QACjC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAoB,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,IAAI,CAAC,CAAC,CAAC,YAAY,eAAM,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CAEF;AAvDD,4BAuDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/align_parameters.js":{"lineLengths":[13,62,63,36,64,45,61,37,42,26,48,72,1,50,53,19,28,46,5,19,16,36,38,72,41,23,14,20,18,28,26,24,0,87,0,103,0,62,97,133,47,11,11,18,0,15,14,0,14,13,20,48,11,17,18,0,17,20,0,14,13,14,0,23,20,20,17,24,10,5,17,25,5,21,25,5,21,26,41,33,42,9,30,67,65,59,64,53,37,51,20,31,13,9,22,5,37,48,29,9,37,20,47,106,40,33,13,32,52,50,13,9,47,57,24,59,122,17,22,137,17,85,125,13,9,25,5,25,30,83,34,91,47,52,54,46,47,21,37,42,67,43,23,17,44,52,29,17,13,77,23,53,53,46,47,21,37,42,67,43,23,17,44,52,17,13,9,26,5,31,30,83,34,91,47,25,13,48,50,42,43,17,33,38,63,39,19,13,40,48,13,9,87,34,91,47,25,13,48,50,42,43,17,33,38,63,39,19,13,40,48,13,9,26,5,36,30,72,80,78,41,34,81,104,49,42,43,17,33,38,63,39,19,13,87,95,49,42,43,17,33,38,63,39,19,13,40,48,13,9,26,5,37,23,30,90,34,156,53,42,43,17,33,38,63,39,19,13,78,21,155,53,46,47,21,37,42,67,43,23,17,87,92,57,50,51,25,41,46,71,47,27,21,17,76,26,55,46,47,21,37,42,67,43,23,17,165,54,46,47,21,37,42,67,43,23,17,13,40,48,13,9,26,5,39,30,92,34,92,49,42,43,17,33,38,63,39,19,13,86,86,54,46,47,21,37,42,67,43,23,17,13,86,23,94,54,46,47,21,37,42,67,43,23,17,13,40,48,13,9,26,5,1,42,44],"data":{"version":3,"file":"align_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/align_parameters.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/index.js":{"lineLengths":[13,62,1096,137,35,106,37,109,39,112,41,115,69,144,59,134,57,50,48,126,59,140,55,134,57,123,51,119,69,134,142,70,138,70,129,61,120,67,129,37,26,73,123,61,32,63,34,52,40,61,32,38,22,49,32,38,22,48,24,41,115,57,137,59,129,68,131,74,111,115,115,119,125,119,47,132,128,59,127,55,113,48,116,53,122,54,111,73,20,69,121,71,122,41,115,49,119,49,119,49,125,43,111,85,168,45,119,51,124,39,110,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/index.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/registry.js":{"lineLengths":[13,62,26,37,59,104,57,55,49,55,57,82,26,20,26,24,28,27,5,30,34,54,62,60,9,35,19,9,41,30,9,23,34,162,9,27,36,18,54,11,5,21,23,71,39,40,36,22,13,83,9,71,75,74,5,1,95,16,23,26,32,31,63,69,69,72,5,30,47,25,5,25,35,5,25,35,5,26,36,5,19,42,52,47,13,9,5,29,60,49,9,5,17,46,48,27,13,9,5,22,42,52,48,13,9,25,5,45,20,44,68,25,13,26,9,19,5,29,45,44,43,62,29,17,13,9,25,5,27,55,29,9,46,39,50,9,25,5,17,25,5,79,21,46,27,9,25,20,5,28,43,90,30,5,19,37,5,22,74,29,20,5,22,74,29,42,43,43,35,9,20,5,34,15,104,54,32,45,69,104,25,13,80,76,45,80,13,29,9,20,5,21,37,20,5,28,32,34,9,20,5,25,15,103,33,24,9,56,52,41,9,45,37,20,5,27,15,108,31,5,23,15,121,5,32,19,47,30,25,9,100,33,25,9,53,103,5,54,29,44,46,49,55,31,17,13,9,25,5,51,23,38,25,9,87,5,51,28,38,25,9,69,5,51,13,39,24,9,35,44,33,9,72,20,5,29,19,39,24,9,35,170,44,224,33,9,95,40,9,132,20,5,46,105,25,40,104,47,5,15,44,38,33,28,13,9,21,5,30,13,41,9,20,47,52,89,54,43,13,49,60,49,13,55,23,9,5,26,35,19,9,77,62,9,71,50,9,14,68,9,77,56,9,14,74,9,5,22,51,46,50,54,56,9,72,5,1,28,36],"data":{"version":3,"file":"registry.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/registry.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/artifacts_objects.js":{"lineLengths":[13,62,34,37,63,24,34,43,34,9,71,67,9,14,50,9,5,29,28,29,36,50,56,58,13,9,5,1,44,45],"data":{"version":3,"file":"artifacts_objects.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/artifacts_objects.ts"],"names":[],"mappings":";;;AACA,qCAAqC;AACrC,+DAAwD;AAExD,MAAa,gBAAgB;IAGpB,MAAM,CAAC,SAAS,CAAC,IAAY,EAAE,IAAY;QAChD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,IAAI,+BAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,cAAc;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,IAAI,GAAQ,OAAO,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;gBACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAzBD,4CAyBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,55,54,66,61,59,78,55,53,54,62,56,63,67,57,56,52,67,68,53,63,65,69,58,57,59,52,62,53,42,51,59,73,63,56,65,59,61,60,49,52,49,50,50,43,61,62,54,63,53,50,50,51,52,50,53,58,48,51,59,50,52,68,52,66,78,62,49,49,52,58,48,49,44,48,51,41,52,48,46,48,69,50,54,48,46,48,48,57,61,58,56,61,54,55,58,55,53,58,50,51,56,63,58,58,55,56,49,54,49,51,58,53,54,44,46,59,44,49,49,53,54,53,48,52,46,51,48,52,55,50,47,48,50,64,55,47,42,61,56,48,51,46,49,41,54,73,59,71,57,45,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,sDAAoC;AACpC,kEAAgD;AAChD,6DAA2C;AAC3C,2DAAyC;AACzC,8EAA4D;AAC5D,uDAAqC;AACrC,qDAAmC;AACnC,sDAAoC;AACpC,8DAA4C;AAC5C,wDAAsC;AACtC,+DAA6C;AAC7C,mEAAiD;AACjD,yDAAuC;AACvC,wDAAsC;AACtC,oDAAkC;AAClC,mEAAiD;AACjD,oEAAkD;AAClD,qDAAmC;AACnC,+DAA6C;AAC7C,iEAA+C;AAC/C,qEAAmD;AACnD,0DAAwC;AACxC,yDAAuC;AACvC,2DAAyC;AACzC,oDAAkC;AAClC,8DAA4C;AAC5C,qDAAmC;AACnC,0CAAwB;AACxB,mDAAiC;AACjC,2DAAyC;AACzC,yEAAuD;AACvD,+DAA6C;AAC7C,wDAAsC;AACtC,iEAA+C;AAC/C,2DAAyC;AACzC,6DAA2C;AAC3C,4DAA0C;AAC1C,iDAA+B;AAC/B,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,2CAAyB;AACzB,6DAA2C;AAC3C,8DAA4C;AAC5C,sDAAoC;AACpC,+DAA6C;AAC7C,qDAAmC;AACnC,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,oDAAkC;AAClC,kDAAgC;AAChC,qDAAmC;AACnC,0DAAwC;AACxC,gDAA8B;AAC9B,mDAAiC;AACjC,2DAAyC;AACzC,kDAAgC;AAChC,oDAAkC;AAClC,oEAAkD;AAClD,oDAAkC;AAClC,kEAAgD;AAChD,8EAA4D;AAC5D,8DAA4C;AAC5C,iDAA+B;AAC/B,iDAA+B;AAC/B,oDAAkC;AAClC,0DAAwC;AACxC,gDAA8B;AAC9B,iDAA+B;AAC/B,4CAA0B;AAC1B,gDAA8B;AAC9B,mDAAiC;AACjC,yCAAuB;AACvB,oDAAkC;AAClC,gDAA8B;AAC9B,8CAA4B;AAC5B,gDAA8B;AAC9B,qEAAmD;AACnD,kDAAgC;AAChC,sDAAoC;AACpC,gDAA8B;AAC9B,8CAA4B;AAC5B,gDAA8B;AAC9B,gDAA8B;AAC9B,yDAAuC;AACvC,6DAA2C;AAC3C,0DAAwC;AACxC,wDAAsC;AACtC,6DAA2C;AAC3C,sDAAoC;AACpC,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AACrC,qDAAmC;AACnC,0DAAwC;AACxC,kDAAgC;AAChC,mDAAiC;AACjC,wDAAsC;AACtC,+DAA6C;AAC7C,0DAAwC;AACxC,0DAAwC;AACxC,uDAAqC;AACrC,wDAAsC;AACtC,iDAA+B;AAC/B,sDAAoC;AACpC,iDAA+B;AAC/B,mDAAiC;AACjC,0DAAwC;AACxC,qDAAmC;AACnC,sDAAoC;AACpC,4CAA0B;AAC1B,8CAA4B;AAC5B,2DAAyC;AACzC,4CAA0B;AAC1B,iDAA+B;AAC/B,iDAA+B;AAC/B,qDAAmC;AACnC,sDAAoC;AACpC,qDAAmC;AACnC,gDAA8B;AAC9B,oDAAkC;AAClC,8CAA4B;AAC5B,mDAAiC;AACjC,gDAA8B;AAC9B,oDAAkC;AAClC,uDAAqC;AACrC,kDAAgC;AAChC,+CAA6B;AAC7B,gDAA8B;AAC9B,kDAAgC;AAChC,gEAA8C;AAC9C,uDAAqC;AACrC,+CAA6B;AAC7B,0CAAwB;AACxB,6DAA2C;AAC3C,wDAAsC;AACtC,gDAA8B;AAC9B,mDAAiC;AACjC,8CAA4B;AAC5B,iDAA+B;AAC/B,yCAAuB;AACvB,sDAAoC;AACpC,yEAAuD;AACvD,2DAAyC;AACzC,uEAAqD;AACrD,yDAAuC;AACvC,6CAA2B"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/activation_variant.js":{"lineLengths":[13,62,35,57,67,15,22,5,24,16,26,33,10,5,22,15,25,5,1,46,46],"data":{"version":3,"file":"activation_variant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/activation_variant.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,iBAAkB,SAAQ,iCAAc;IAE5C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/api_release_state.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,27,33,10,5,22,15,25,5,1,42,45],"data":{"version":3,"file":"api_release_state.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/api_release_state.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/application_job_catalog_entry.js":{"lineLengths":[13,62,44,57,76,15,22,5,24,16,26,33,10,5,22,15,25,5,1,64,57],"data":{"version":3,"file":"application_job_catalog_entry.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/application_job_catalog_entry.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,0BAA2B,SAAQ,iCAAc;IAErD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gEAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/application_job_template.js":{"lineLengths":[13,62,40,57,72,15,22,5,24,16,26,33,10,5,22,15,25,5,1,56,52],"data":{"version":3,"file":"application_job_template.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/application_job_template.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,sBAAuB,SAAQ,iCAAc;IAEjD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/application_log_object.js":{"lineLengths":[13,62,38,57,70,15,22,5,24,16,27,33,10,5,22,15,25,5,1,52,50],"data":{"version":3,"file":"application_log_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/application_log_object.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,oBAAqB,SAAQ,iCAAc;IAE/C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/assignment_service_to_authorization_group.js":{"lineLengths":[13,62,55,57,87,15,22,5,24,16,26,33,10,5,22,15,25,5,1,86,69],"data":{"version":3,"file":"assignment_service_to_authorization_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/assignment_service_to_authorization_group.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,qCAAsC,SAAQ,iCAAc;IAEhE,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sFAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/atc_check_category.js":{"lineLengths":[13,62,34,57,66,15,22,5,24,16,26,33,10,5,22,15,25,5,1,44,46],"data":{"version":3,"file":"atc_check_category.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/atc_check_category.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,iCAAc;IAE3C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/atc_check_object.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,44],"data":{"version":3,"file":"atc_check_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/atc_check_object.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/atc_check_variant.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,26,33,10,5,22,15,25,5,1,42,45],"data":{"version":3,"file":"atc_check_variant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/atc_check_variant.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_check_field.js":{"lineLengths":[13,62,41,47,34,57,73,15,22,5,24,16,26,33,10,5,16,35,25,5,22,15,25,5,26,15,21,86,5,20,15,21,30,42,85,74,31,58,67,34,13,70,87,13,18,69,13,9,14,60,9,5,13,15,29,50,9,33,28,41,32,43,72,50,9,137,31,55,5,1,58,53],"data":{"version":3,"file":"authorization_check_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/authorization_check_field.ts"],"names":[],"mappings":";;;AAAA,+CAA0D;AAE1D,kCAA6B;AAG7B,yDAAkD;AAElD,MAAa,uBAAwB,SAAQ,iCAAc;IAKlD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,kBAAkB;;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,QAAQ,CAAC;IAClC,CAAC;IAEM,SAAS,CAAC,GAAc;;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;gBACxC,GAAG,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnD,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,OAAO,IAAI,mBAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,gBAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,mBAAW,CAAC,eAAe,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEM,KAAK;;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAEjC,IAAI,MAAM,KAAK,SAAS;eACjB,MAAM,CAAC,OAAO,KAAK,SAAS;eAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,0CAAE,QAAQ,CAAC;QAEnF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAC,CAAC;IAC/C,CAAC;CACF;AAzED,0DAyEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,45,50,51,47,51,56,46,46,50,52,52,47,56,66,45,49,50,57,49,58,48,48,48,51,47,46,49,50,46,50,51,49,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,kDAAgC;AAChC,mDAAiC;AACjC,+CAA6B;AAC7B,mDAAiC;AACjC,wDAAsC;AACtC,8CAA4B;AAC5B,8CAA4B;AAC5B,kDAAgC;AAChC,oDAAkC;AAClC,oDAAkC;AAClC,+CAA6B;AAC7B,wDAAsC;AACtC,kEAAgD;AAChD,6CAA2B;AAC3B,iDAA+B;AAC/B,kDAAgC;AAChC,yDAAuC;AACvC,iDAA+B;AAC/B,0DAAwC;AACxC,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC;AACjC,+CAA6B;AAC7B,8CAA4B;AAC5B,iDAA+B;AAC/B,kDAAgC;AAChC,8CAA4B;AAC5B,kDAAgC;AAChC,mDAAiC;AACjC,iDAA+B"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/any_type.js":{"lineLengths":[13,62,25,53,53,14,27,5,14,21,5,17,20,5,20,21,5,13,31,5,1,26,36],"data":{"version":3,"file":"any_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/any_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,OAAQ,SAAQ,6BAAY;IAChC,MAAM;QACX,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,MAAM;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AApBD,0BAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/_abstract_type.js":{"lineLengths":[13,62,30,20,24,26,5,27,25,5,52,24,15,86,5,19,15,81,5,25,15,87,5,19,15,81,5,1,36,42],"data":{"version":3,"file":"_abstract_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/_abstract_type.ts"],"names":[],"mappings":";;;AAQA,MAAsB,YAAY;IAGhC,YAAmB,KAAwB;QACzC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,gDAAgD;IACzC,gBAAgB;;QACrB,OAAO,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa,CAAC;IAClC,CAAC;IAEM,WAAW;;QAChB,OAAO,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC;IAC7B,CAAC;IAEM,iBAAiB;;QACtB,OAAO,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc,CAAC;IACnC,CAAC;IAEM,WAAW;;QAChB,OAAO,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC;IAC7B,CAAC;CAOF;AAjCD,oCAiCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/cgeneric_type.js":{"lineLengths":[13,62,30,53,58,14,25,5,17,20,5,14,38,5,20,21,5,13,36,5,1,36,41],"data":{"version":3,"file":"cgeneric_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/cgeneric_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,YAAa,SAAQ,6BAAY;IACrC,MAAM;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CACF;AApBD,oCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/character_type.js":{"lineLengths":[13,62,31,53,59,32,21,26,53,9,29,5,22,74,34,54,9,29,44,9,40,66,9,53,5,17,27,5,14,57,5,14,46,5,17,21,5,20,21,5,21,25,5,13,55,5,1,38,42],"data":{"version":3,"file":"character_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/character_type.ts"],"names":[],"mappings":";;;AAAA,qDAAgE;AAEhE,MAAa,aAAc,SAAQ,6BAAY;IAG7C,YAAmB,MAAc,EAAE,KAAwB;QACzD,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,SAAS,CAAC,KAAiF;QAChG,MAAM,KAAK,GAAG,kBAAI,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC9B,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,MAAM;QACX,OAAO,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC;IACnD,CAAC;IAEM,MAAM;QACX,OAAO,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,aAAa;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK;QACV,OAAO,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IACjD,CAAC;CACF;AApDD,sCAoDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/clike_type.js":{"lineLengths":[13,62,27,53,55,18,30,5,19,16,5,14,29,5,17,20,5,14,42,5,20,21,5,13,33,5,1,30,38,38],"data":{"version":3,"file":"clike_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/clike_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,SAAU,SAAQ,6BAAY;IAGlC,MAAM,CAAC,GAAG;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAEM,MAAM;QACX,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,iBAAiB,CAAC;IAC3B,CAAC;;AA7BH,8BA8BC;AA7ByB,mBAAS,GAAG,IAAI,SAAS,EAAE,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/csequence_type.js":{"lineLengths":[13,62,31,53,59,14,33,5,17,20,5,14,46,5,20,21,5,13,37,5,1,38,42],"data":{"version":3,"file":"csequence_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/csequence_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,aAAc,SAAQ,6BAAY;IACtC,MAAM;QACX,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CACF;AApBD,sCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/data_reference_type.js":{"lineLengths":[13,62,31,53,41,59,38,48,25,5,19,60,5,15,25,5,14,40,42,60,9,46,5,17,54,24,9,21,5,20,40,5,13,37,5,1,38,47],"data":{"version":3,"file":"data_reference_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/data_reference_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAC9C,yCAAmC;AAEnC,MAAa,aAAc,SAAQ,6BAAY;IAG7C,YAAmB,IAAkB,EAAE,aAAsB;QAC3D,KAAK,CAAC,EAAC,aAAa,EAAE,aAAa,EAAC,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,OAAO,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC,CAAC,qCAAqC;QAClD,CAAC;QACD,OAAO,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,IAAI,IAAI,CAAC,IAAI,YAAY,kBAAO,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAEM,KAAK;QACV,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CACF;AAtCD,sCAsCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/data_type.js":{"lineLengths":[13,62,26,53,54,14,28,5,14,22,5,17,20,5,20,21,5,13,32,5,1,28,37],"data":{"version":3,"file":"data_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/data_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,QAAS,SAAQ,6BAAY;IACjC,MAAM;QACX,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,MAAM;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AApBD,4BAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/date_type.js":{"lineLengths":[13,62,26,53,54,14,25,5,17,21,5,14,19,5,20,21,5,13,27,5,1,28,37],"data":{"version":3,"file":"date_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/date_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,QAAS,SAAQ,6BAAY;IACjC,MAAM;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AApBD,4BAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/decfloat_type.js":{"lineLengths":[13,62,30,53,58,14,32,5,17,20,5,14,26,5,20,21,5,13,27,5,1,36,41],"data":{"version":3,"file":"decfloat_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/decfloat_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,YAAa,SAAQ,6BAAY;IACrC,MAAM;QACX,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AApBD,oCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/decfloat16_type.js":{"lineLengths":[13,62,32,53,60,14,34,5,17,21,5,14,28,5,20,21,5,13,27,5,1,40,43],"data":{"version":3,"file":"decfloat16_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/decfloat16_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,cAAe,SAAQ,6BAAY;IACvC,MAAM;QACX,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AApBD,wCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/decfloat34_type.js":{"lineLengths":[13,62,32,53,60,14,34,5,17,21,5,14,28,5,20,21,5,13,27,5,1,40,43],"data":{"version":3,"file":"decfloat34_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/decfloat34_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,cAAe,SAAQ,6BAAY;IACvC,MAAM;QACX,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AApBD,wCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/float_type.js":{"lineLengths":[13,62,27,53,44,36,55,14,25,5,17,21,5,14,19,5,20,21,5,13,27,5,1,30,38],"data":{"version":3,"file":"float_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/float_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,4CAA4C;AAC5C,oCAAoC;AAEpC,MAAa,SAAU,SAAQ,6BAAY;IAClC,MAAM;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AApBD,8BAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/floating_point_type.js":{"lineLengths":[13,62,35,53,39,63,40,48,26,58,9,29,5,17,27,5,14,57,5,14,46,5,17,21,5,20,21,5,13,27,5,1,46,47],"data":{"version":3,"file":"floating_point_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/floating_point_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,uCAAuC;AAEvC,MAAa,iBAAkB,SAAQ,6BAAY;IAGjD,YAAmB,MAAc,EAAE,aAAsB;QACvD,KAAK,CAAC,EAAC,aAAa,EAAE,aAAa,EAAC,CAAC,CAAC;QACtC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,MAAM;QACX,OAAO,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC;IACnD,CAAC;IAEM,MAAM;QACX,OAAO,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAlCD,8CAkCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/generic_object_reference_type.js":{"lineLengths":[13,62,44,53,72,14,37,5,17,71,21,5,14,31,5,20,21,5,13,44,5,1,64,57],"data":{"version":3,"file":"generic_object_reference_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/generic_object_reference_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,0BAA2B,SAAQ,6BAAY;IAEnD,MAAM;QACX,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAEM,SAAS;QACd,+DAA+D;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,4BAA4B,CAAC;IACtC,CAAC;CACF;AAtBD,gEAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/hex_type.js":{"lineLengths":[13,62,25,53,53,40,48,26,47,9,29,5,17,27,5,14,57,5,14,46,5,17,21,5,20,21,5,13,54,5,1,26,36],"data":{"version":3,"file":"hex_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/hex_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,OAAQ,SAAQ,6BAAY;IAGvC,YAAmB,MAAc,EAAE,aAAsB;QACvD,KAAK,CAAC,EAAC,aAAa,EAAE,aAAa,EAAC,CAAC,CAAC;QACtC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,MAAM;QACX,OAAO,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC;IACnD,CAAC;IAEM,MAAM;QACX,OAAO,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IAChD,CAAC;CACF;AAlCD,0BAkCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/integer_type.js":{"lineLengths":[13,62,29,53,57,23,34,34,9,38,5,24,21,5,52,24,15,92,33,23,9,20,5,14,25,5,17,21,5,14,19,5,20,21,5,13,27,5,1,34,42,40],"data":{"version":3,"file":"integer_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/integer_type.ts"],"names":[],"mappings":";;;AAAA,qDAAgE;AAEhE,MAAa,WAAY,SAAQ,6BAAY;IAGpC,MAAM,CAAC,GAAG,CAAC,KAAwB;QACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAoB,KAAwB;QAC1C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED,gDAAgD;IACzC,gBAAgB;;QACrB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;;AAzCH,kCA0CC;AAzCyB,qBAAS,GAAG,IAAI,WAAW,EAAE,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/integer8_type.js":{"lineLengths":[13,62,30,53,58,14,28,5,17,21,5,14,22,5,20,21,5,13,27,5,1,36,41],"data":{"version":3,"file":"integer8_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/integer8_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,YAAa,SAAQ,6BAAY;IACrC,MAAM;QACX,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AApBD,oCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/numeric_generic_type.js":{"lineLengths":[13,62,36,53,64,14,31,5,17,20,5,14,55,5,20,21,5,13,42,5,1,48,48],"data":{"version":3,"file":"numeric_generic_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/numeric_generic_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,kBAAmB,SAAQ,6BAAY;IAC3C,MAAM;QACX,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,0BAA0B,CAAC;IACpC,CAAC;CACF;AApBD,gDAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/numeric_type.js":{"lineLengths":[13,62,29,53,57,40,48,26,51,9,29,5,17,27,5,14,57,5,14,46,5,17,21,5,20,21,5,13,55,5,1,34,40],"data":{"version":3,"file":"numeric_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/numeric_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,WAAY,SAAQ,6BAAY;IAG3C,YAAmB,MAAc,EAAE,aAAsB;QACvD,KAAK,CAAC,EAAC,aAAa,EAAE,aAAa,EAAC,CAAC,CAAC;QACtC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,MAAM;QACX,OAAO,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC;IACnD,CAAC;IAEM,MAAM;QACX,OAAO,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC;IACjD,CAAC;CACF;AAlCD,kCAkCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/object_reference_type.js":{"lineLengths":[13,62,37,53,51,65,28,21,29,5,25,41,5,14,64,5,14,53,5,17,21,5,20,21,5,21,31,5,13,37,5,1,50,49],"data":{"version":3,"file":"object_reference_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/object_reference_type.ts"],"names":[],"mappings":";;;AACA,qDAAgE;AAEhE,mDAAmD;AACnD,MAAa,mBAAoB,SAAQ,6BAAY;IAGnD,YAAmB,EAAc,EAAE,KAAwB;QACzD,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAEM,MAAM;QACX,OAAO,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1D,CAAC;IAEM,MAAM;QACX,OAAO,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,KAAK;QACV,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CACF;AAnCD,kDAmCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/packed_type.js":{"lineLengths":[13,62,28,53,56,42,21,26,50,9,32,52,9,29,33,5,17,27,5,19,29,5,14,93,5,14,82,5,17,21,5,20,21,5,13,34,5,1,32,39],"data":{"version":3,"file":"packed_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/packed_type.ts"],"names":[],"mappings":";;;AAAA,qDAAgE;AAEhE,MAAa,UAAW,SAAQ,6BAAY;IAI1C,YAAmB,MAAc,EAAE,QAAgB,EAAE,KAAwB;QAC3E,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,MAAM;QACX,OAAO,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;IACvF,CAAC;IAEM,MAAM;QACX,OAAO,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5E,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AA1CD,gCA0CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/simple_type.js":{"lineLengths":[13,62,28,53,56,14,30,5,14,24,5,17,20,5,20,21,5,13,34,5,1,32,39],"data":{"version":3,"file":"simple_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/simple_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,UAAW,SAAQ,6BAAY;IACnC,MAAM;QACX,OAAO,cAAc,CAAC;IACxB,CAAC;IAEM,MAAM;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AApBD,gCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/string_type.js":{"lineLengths":[13,62,28,53,56,23,34,34,9,37,5,24,21,5,52,24,15,92,33,28,9,20,5,14,30,5,17,21,5,14,24,5,20,21,5,13,29,5,1,32,40,39],"data":{"version":3,"file":"string_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/string_type.ts"],"names":[],"mappings":";;;AAAA,qDAAgE;AAEhE,MAAa,UAAW,SAAQ,6BAAY;IAGnC,MAAM,CAAC,GAAG,CAAC,KAAwB;QACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,YAAoB,KAAwB;QAC1C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED,gDAAgD;IACzC,gBAAgB;;QACrB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,cAAc,CAAC;IACxB,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,aAAa,CAAC;IACvB,CAAC;;AAzCH,gCA0CC;AAzCyB,oBAAS,GAAG,IAAI,UAAU,EAAE,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/structure_type.js":{"lineLengths":[13,62,31,53,59,54,15,41,31,11,38,73,9,26,37,47,52,103,13,41,9,37,5,21,31,5,30,48,5,19,25,42,69,9,42,80,5,17,21,5,14,44,18,23,9,41,5,20,81,5,13,37,5,1,38,42],"data":{"version":3,"file":"structure_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/structure_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAS9C,MAAa,aAAc,SAAQ,6BAAY;IAI7C,YAAmB,UAAiC,EAAE,aAAsB,EAAE,QAAiB;QAC7F,KAAK,CAAC;YACJ,aAAa,EAAE,aAAa;YAC5B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,KAAK,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,kBAAkB,CAAC,IAAY;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,KAAK;QACV,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CACF;AA5DD,sCA4DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/table_type.js":{"lineLengths":[13,62,76,53,20,29,45,41,41,39,35,72,17,26,40,34,36,63,55,50,15,48,31,31,156,70,9,5,18,28,5,20,39,5,21,15,91,5,18,28,5,14,70,82,5,19,34,47,68,9,14,56,9,5,17,19,118,57,113,24,9,40,5,20,43,5,13,33,5,1,30,38],"data":{"version":3,"file":"table_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/table_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,kCAAe,CAAA;IACf,8BAAW,CAAA;AACb,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B;AAED,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAgBD,MAAa,SAAU,SAAQ,6BAAY;IAIzC,YAAmB,OAAqB,EAAE,OAAsB,EAAE,aAAsB;;QACtF,KAAK,CAAC,EAAC,aAAa,EAAE,aAAa,EAAC,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,IAAI,MAAK,eAAe,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAClG,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACjC,CAAC;IAEM,aAAa;;QAClB,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,IAAI,CAAC;IACvC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM;QACf,8DAA8D;QAC1D,OAAO,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC;IAC5E,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACrC,OAAO,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAEM,SAAS;;QACd,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,IAAI,MAAK,eAAe,CAAC,QAAQ;eACvD,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI;eAC1C,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,MAAM,MAAK,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAEM,KAAK;QACV,OAAO,iBAAiB,CAAC;IAC3B,CAAC;CACF;AA5DD,8BA4DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/time_type.js":{"lineLengths":[13,62,26,53,54,14,25,5,17,21,5,14,19,5,20,21,5,13,27,5,1,28,37],"data":{"version":3,"file":"time_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/time_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,QAAS,SAAQ,6BAAY;IACjC,MAAM;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AApBD,4BAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/unknown_type.js":{"lineLengths":[13,62,29,53,57,39,48,27,5,16,26,5,14,45,5,14,59,5,17,21,5,20,21,5,13,35,5,1,34,40],"data":{"version":3,"file":"unknown_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/unknown_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,WAAY,SAAQ,6BAAY;IAG3C,YAAmB,KAAa,EAAE,aAAsB;QACtD,KAAK,CAAC,EAAC,aAAa,EAAE,aAAa,EAAC,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,MAAM;QACX,OAAO,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;IACvC,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,mBAAmB,CAAC;IAC7B,CAAC;CACF;AA/BD,kCA+BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/utc_long_type.js":{"lineLengths":[13,62,29,53,57,14,31,5,17,21,5,14,25,5,20,21,5,13,27,5,1,34,41],"data":{"version":3,"file":"utc_long_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/utc_long_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,WAAY,SAAQ,6BAAY;IACpC,MAAM;QACX,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AApBD,kCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/void_type.js":{"lineLengths":[13,62,26,53,54,40,48,29,5,17,27,5,14,45,5,14,43,5,17,21,5,20,20,5,13,32,5,1,28,37],"data":{"version":3,"file":"void_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/void_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,QAAS,SAAQ,6BAAY;IAIxC,YAAmB,MAA0B,EAAE,aAAsB;QACnE,KAAK,CAAC,EAAC,aAAa,EAAE,aAAa,EAAC,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC;IACvC,CAAC;IAEM,MAAM;QACX,OAAO,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACrC,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AAhCD,4BAgCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/xgeneric_type.js":{"lineLengths":[13,62,30,53,58,14,25,5,17,20,5,14,38,5,20,21,5,13,36,5,1,36,41],"data":{"version":3,"file":"xgeneric_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/xgeneric_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,YAAa,SAAQ,6BAAY;IACrC,MAAM;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CACF;AApBD,oCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/xsequence_type.js":{"lineLengths":[13,62,31,53,59,14,33,5,17,20,5,14,46,5,20,21,5,13,37,5,1,38,42],"data":{"version":3,"file":"xsequence_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/xsequence_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,aAAc,SAAQ,6BAAY;IACtC,MAAM;QACX,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CACF;AApBD,sCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/xstring_type.js":{"lineLengths":[13,62,29,53,57,14,31,5,17,21,5,14,25,5,20,21,5,13,32,5,1,34,40],"data":{"version":3,"file":"xstring_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/xstring_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,WAAY,SAAQ,6BAAY;IAEpC,MAAM;QACX,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AArBD,kCAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddic.js":{"lineLengths":[13,62,22,44,46,12,22,23,5,95,69,28,15,32,25,9,51,24,9,48,43,25,9,18,72,58,69,38,22,13,151,41,22,13,42,57,13,18,22,13,9,48,254,27,5,62,23,26,86,27,87,21,84,21,84,29,81,25,45,28,80,23,75,26,78,31,59,25,124,24,76,27,86,62,79,30,82,30,82,29,81,21,87,59,88,21,85,21,41,100,17,34,93,17,22,88,17,21,29,93,17,22,88,17,21,29,68,17,22,63,17,21,29,72,17,22,67,17,9,25,5,28,33,24,9,47,5,24,54,92,25,20,120,29,14,9,54,92,25,20,124,29,14,9,51,59,9,14,56,9,5,24,59,24,78,9,59,24,78,9,59,24,78,9,59,24,78,9,48,24,29,9,25,5,22,15,33,29,9,41,62,29,151,72,13,9,25,5,48,18,46,20,25,9,46,80,9,14,54,9,5,37,55,20,83,9,51,95,9,14,73,9,5,29,33,83,9,55,20,70,9,51,91,9,14,54,9,5,29,33,83,9,59,24,78,9,48,24,29,9,37,5,72,30,33,29,9,59,24,29,9,59,24,29,9,48,24,36,9,25,5,23,33,67,9,55,20,45,9,51,75,9,14,44,9,5,22,33,76,9,55,20,70,9,51,84,9,14,54,9,5,27,33,81,9,55,20,70,9,51,89,9,14,54,9,5,91,102,23,41,42,42,46,46,42,42,43,98,17,50,118,17,135,24,105,24,95,24,95,24,95,41,95,27,96,43,43,85,17,82,69,47,43,85,17,114,44,47,43,85,17,78,39,24,85,42,42,36,36,40,40,36,43,85,17,88,39,24,87,24,24,24,79,24,80,44,47,38,40,78,38,43,29,79,24,24,28,28,24,24,91,20,74,9,5,1,20,32],"data":{"version":3,"file":"ddic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddic.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_group.js":{"lineLengths":[13,62,36,57,68,15,22,5,24,16,26,33,10,5,22,15,25,5,1,48,47],"data":{"version":3,"file":"authorization_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/authorization_group.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,kBAAmB,SAAQ,iCAAc;IAE7C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_object_class.js":{"lineLengths":[13,62,42,57,74,15,22,5,24,16,25,34,10,5,22,15,25,5,1,60,54],"data":{"version":3,"file":"authorization_object_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/authorization_object_class.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,wBAAyB,SAAQ,iCAAc;IAEnD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,KAAK;SACtB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4DAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_object_extension.js":{"lineLengths":[13,62,46,57,78,15,22,5,24,16,27,33,10,5,22,15,25,5,1,68,58],"data":{"version":3,"file":"authorization_object_extension.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/authorization_object_extension.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,4BAA6B,SAAQ,iCAAc;IAEvD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oEAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/authorization_object.js":{"lineLengths":[13,62,37,57,69,15,22,5,24,16,26,33,10,5,22,15,25,5,1,50,48],"data":{"version":3,"file":"authorization_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/authorization_object.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,mBAAoB,SAAQ,iCAAc;IAE9C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/behavior_definition.js":{"lineLengths":[13,62,36,57,68,15,22,5,24,16,26,33,10,5,22,15,25,5,1,48,47],"data":{"version":3,"file":"behavior_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/behavior_definition.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,kBAAmB,SAAQ,iCAAc;IAE7C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/bsp_application.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,43],"data":{"version":3,"file":"bsp_application.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/bsp_application.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_add_in_implementation.js":{"lineLengths":[13,62,45,57,77,15,22,5,24,16,26,33,10,5,22,15,25,5,1,66,58],"data":{"version":3,"file":"business_add_in_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/business_add_in_implementation.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,2BAA4B,SAAQ,iCAAc;IAEtD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kEAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_catalog_app_assignment.js":{"lineLengths":[13,62,46,57,78,15,22,5,24,16,27,33,10,5,22,15,25,5,1,68,59],"data":{"version":3,"file":"business_catalog_app_assignment.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/business_catalog_app_assignment.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,4BAA6B,SAAQ,iCAAc;IAEvD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oEAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_catalog.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,27,33,10,5,22,15,25,5,1,42,44],"data":{"version":3,"file":"business_catalog.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/business_catalog.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_configuration_set.js":{"lineLengths":[13,62,42,57,74,15,22,5,24,16,26,33,10,5,22,15,25,5,1,60,54],"data":{"version":3,"file":"business_configuration_set.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/business_configuration_set.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,wBAAyB,SAAQ,iCAAc;IAEnD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4DAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_function_assignment.js":{"lineLengths":[13,62,44,57,76,15,22,5,24,16,26,33,10,5,22,15,25,5,1,64,56],"data":{"version":3,"file":"business_function_assignment.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/business_function_assignment.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,0BAA2B,SAAQ,iCAAc;IAErD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gEAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_function_set_assignment.js":{"lineLengths":[13,62,47,57,79,15,22,5,24,16,26,33,10,5,22,15,25,5,1,70,60],"data":{"version":3,"file":"business_function_set_assignment.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/business_function_set_assignment.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,6BAA8B,SAAQ,iCAAc;IAExD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sEAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_object_model.js":{"lineLengths":[13,62,37,57,69,15,22,5,24,16,26,33,10,5,22,15,25,5,1,50,49],"data":{"version":3,"file":"business_object_model.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/business_object_model.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,mBAAoB,SAAQ,iCAAc;IAE9C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/business_object_type.js":{"lineLengths":[13,62,36,57,68,15,22,5,24,16,27,33,10,5,22,15,25,5,1,48,48],"data":{"version":3,"file":"business_object_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/business_object_type.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,kBAAmB,SAAQ,iCAAc;IAE7C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/cds_metadata_extension.js":{"lineLengths":[13,62,38,50,57,70,19,28,37,36,5,15,22,5,24,16,26,33,10,5,22,32,5,13,39,50,9,33,27,28,10,89,49,36,9,27,62,5,22,15,25,5,22,116,5,1,52,50],"data":{"version":3,"file":"cds_metadata_extension.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/cds_metadata_extension.ts"],"names":[],"mappings":";;;AACA,kDAA4C;AAC5C,yDAAkD;AAQlD,MAAa,oBAAqB,SAAQ,iCAAc;IAAxD;;QACU,gBAAW,GAAwB,SAAS,CAAC;QAC7C,eAAU,GAAwC,SAAS,CAAC;IA6CtE,CAAC;IA3CQ,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,sBAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAC,CAAC;IACtD,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9G,CAAC;CACF;AA/CD,oDA+CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/cds_parser.js":{"lineLengths":[13,62,27,51,54,41,40,43,45,108,17,17,33,29,9,52,70,31,103,79,107,9,79,109,9,79,101,9,79,105,9,79,29,9,22,5,1,30,38],"data":{"version":3,"file":"cds_parser.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/cds_parser.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,sDAAiD;AACjD,yCAA6C;AAE7C,wCAA0C;AAC1C,2CAAqC;AACrC,6CAA6C;AAE7C,4GAA4G;AAE5G,MAAa,SAAS;IACb,KAAK,CAAC,IAAuB;QAClC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,GAAG,oBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,gBAAO,CAAC,CAAC,CAAC;QACrD,uBAAuB;QAEvB,IAAI,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,wBAAc,CAAC,CAAC;QAC7E,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,sBAAc,CAAC,EAAE,CAAC;YAC7D,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,wBAAc,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,sBAAc,CAAC,EAAE,CAAC;YAC7D,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,wBAAc,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,sBAAc,CAAC,EAAE,CAAC;YAC7D,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,wBAAc,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,sBAAc,CAAC,EAAE,CAAC;YAC7D,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,wBAAc,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,sBAAc,CAAC,EAAE,CAAC;YAC7D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;CAEF;AA7BD,8BA6BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/cds_lexer.js":{"lineLengths":[13,62,26,51,42,79,83,14,25,29,5,16,49,47,20,5,16,49,20,5,14,34,5,1,9,18,42,40,62,60,24,14,19,25,5,31,30,50,96,13,18,99,13,9,18,5,11,27,5,1,16,22,36,32,20,20,23,92,22,37,30,37,47,18,30,39,30,35,62,40,17,25,13,43,50,36,62,40,17,22,34,29,17,13,81,46,58,30,25,13,81,46,58,30,25,13,42,49,36,26,17,56,40,17,25,13,81,45,58,25,13,27,25,39,34,26,25,62,26,26,62,26,28,26,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,62,53,26,24,34,26,13,9,42,28,5,1,28,37],"data":{"version":3,"file":"cds_lexer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/cds_lexer.ts"],"names":[],"mappings":";;;AAAA,mDAA2D;AAG3D,0CAAqC;AAErC,+EAA+E;AAC/E,mFAAmF;AAEnF,MAAM,MAAM;IAGV,YAAmB,MAAc;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,QAAQ;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,QAAQ;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF;AAED,IAAK,IAKJ;AALD,WAAK,IAAI;IACP,qCAAO,CAAA;IACP,mCAAM,CAAA;IACN,yDAAiB,CAAA;IACjB,uDAAgB,CAAA;AAClB,CAAC,EALI,IAAI,KAAJ,IAAI,QAKR;AAED,MAAM,MAAM;IAAZ;QACmB,WAAM,GAAoB,EAAE,CAAC;IAgBhD,CAAC;IAdQ,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW,EAAE,IAAU;QAC3D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAO,CAAC,IAAI,mBAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,mBAAU,CAAC,IAAI,mBAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED,MAAa,QAAQ;IACZ,MAAM,CAAC,GAAG,CAAC,IAAW;QAC3B,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QAEpF,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnC,GAAG,EAAE,CAAC;YAEZ,kBAAkB;YACZ,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,KAAK,IAAI,IAAI,CAAC;gBACd,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;gBACtB,CAAC;gBACD,SAAS;YACX,CAAC;YAEP,+BAA+B;YACzB,IAAI,IAAI,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACpC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,IAAI,CAAC;oBACd,SAAS;gBACX,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACrE,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBAC9B,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1C,KAAK,IAAI,IAAI,CAAC;gBACd,SAAS;YACX,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACrE,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBAC9B,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1C,KAAK,IAAI,IAAI,CAAC;gBACd,SAAS;YACX,CAAC;YAEP,8BAA8B;YACxB,IAAI,IAAI,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACnC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,GAAG,EAAE,CAAC;gBACR,CAAC;qBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;gBACtB,CAAC;gBACD,SAAS;YACX,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACrE,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAC7B,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,GAAG;oBACN,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;oBACnB,KAAK,IAAI,IAAI,CAAC;oBACd,MAAM;gBACR,KAAK,GAAG;oBACN,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,IAAI;oBACP,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,GAAG,EAAE,CAAC;oBACN,GAAG,GAAG,CAAC,CAAC;oBACR,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBACjC,MAAM;gBACR;oBACE,KAAK,IAAI,IAAI,CAAC;oBACd,MAAM;YACV,CAAC;QACH,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;CACF;AAxGD,4BAwGC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,50,49,57,58,58,51,52,43,52,52,45,45,52,50,56,54,58,52,48,49,49,58,48,45,45,58,51,49,47,47,47,45,46,56,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,yDAAuC;AACvC,0DAAwC;AACxC,0DAAwC;AACxC,mDAAiC;AACjC,oDAAkC;AAClC,2CAAyB;AACzB,oDAAkC;AAClC,oDAAkC;AAClC,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,kDAAgC;AAChC,wDAAsC;AACtC,sDAAoC;AACpC,0DAAwC;AACxC,oDAAkC;AAClC,gDAA8B;AAC9B,iDAA+B;AAC/B,iDAA+B;AAC/B,0DAAwC;AACxC,gDAA8B;AAC9B,6CAA2B;AAC3B,6CAA2B;AAC3B,0DAAwC;AACxC,mDAAiC;AACjC,iDAA+B;AAC/B,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,wDAAsC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_aggregate.js":{"lineLengths":[13,62,30,24,57,47,19,103,69,134,5,1,36,41],"data":{"version":3,"file":"cds_aggregate.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_aggregate.ts"],"names":[],"mappings":";;;AAAA,wBAA4C;AAC5C,yDAAwE;AAGxE,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,UAAO,EAAE,UAAO,CAAC,CAAC;QAC1C,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,IAAA,WAAG,EAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACzF,CAAC;CACF;AAND,oCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotate.js":{"lineLengths":[13,62,29,24,57,46,19,263,5,1,34,40],"data":{"version":3,"file":"cds_annotate.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_annotate.ts"],"names":[],"mappings":";;;AAAA,wBAAqD;AACrD,yDAAyF;AAGzF,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,gBAAa,CAAC,EACnB,UAAU,EACV,IAAA,WAAG,EAAC,QAAQ,EAAE,MAAM,CAAC,EACrB,UAAO,EACP,MAAM,EACN,IAAA,WAAG,EAAC,GAAG,CAAC,EACR,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,aAAU,EAAE,GAAG,CAAC,CAAC,EAC1B,IAAA,WAAG,EAAC,GAAG,CAAC,EACR,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC,CAAC;IACvB,CAAC;CACF;AAZD,kCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotation_array.js":{"lineLengths":[13,62,36,24,57,67,53,19,128,109,25,5,1,48,48],"data":{"version":3,"file":"cds_annotation_array.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_annotation_array.ts"],"names":[],"mappings":";;;AAAA,wBAAsC;AACtC,yDAAyE;AAEzE,mEAA4D;AAE5D,MAAa,kBAAmB,SAAQ,kBAAU;IACzC,WAAW;QAEhB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,2CAAmB,EAAE,sBAAmB,EAAE,kBAAkB,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,KAAK,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAE9D,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AARD,gDAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotation_simple.js":{"lineLengths":[13,62,37,24,57,54,19,213,21,5,1,50,49],"data":{"version":3,"file":"cds_annotation_simple.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_annotation_simple.ts"],"names":[],"mappings":";;;AAAA,wBAA4B;AAC5B,yDAA0E;AAG1E,MAAa,mBAAoB,SAAQ,kBAAU;IAC1C,WAAW;QAEhB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,YAAS,EACT,MAAM,EACN,OAAO,EACP,IAAA,aAAK,EAAC,OAAO,CAAC,EACd,IAAA,WAAG,EAAC,IAAA,aAAK,EAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC,EACxC,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC,CAAC;QAEtC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAZD,kDAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotation_object.js":{"lineLengths":[13,62,37,24,57,67,54,19,151,107,165,27,5,1,50,49],"data":{"version":3,"file":"cds_annotation_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_annotation_object.ts"],"names":[],"mappings":";;;AAAA,wBAA8C;AAC9C,yDAA8E;AAE9E,mEAA4D;AAE5D,MAAa,mBAAoB,SAAQ,kBAAU;IAC1C,WAAW;QAEhB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,mBAAmB,EAAE,qBAAkB,EAAE,2CAAmB,CAAC,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,OAAO,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,OAAO,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAE5F,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AATD,kDASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_annotation.js":{"lineLengths":[13,62,31,24,57,65,48,19,283,5,1,38,42],"data":{"version":3,"file":"cds_annotation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_annotation.ts"],"names":[],"mappings":";;;AAAA,wBAA2D;AAC3D,yDAAqF;AAErF,iEAA0D;AAE1D,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAEhB,OAAO,IAAA,WAAG,EAAC,IAAA,aAAK,EAAC,QAAQ,CAAC,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC,EACzD,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,yCAAkB,EAAE,sBAAmB,EAAE,sBAAmB,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;CACF;AAND,sCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_arithmetics.js":{"lineLengths":[13,62,32,24,57,47,49,19,103,123,66,52,5,1,40,43],"data":{"version":3,"file":"cds_arithmetics.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_arithmetics.ts"],"names":[],"mappings":";;;AAAA,wBAAoE;AACpE,yDAAiF;AAEjF,+CAAyC;AAEzC,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,wBAAU,EAAE,IAAI,EAAE,cAAW,EAAE,UAAO,EAAE,UAAO,EAAE,YAAS,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7C,OAAO,IAAA,WAAG,EAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;CACF;AAPD,wCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_integer.js":{"lineLengths":[13,62,28,57,45,19,43,5,1,32,39],"data":{"version":3,"file":"cds_integer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_integer.ts"],"names":[],"mappings":";;;AAAA,yDAAgE;AAGhE,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC;IACxB,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_as.js":{"lineLengths":[13,62,23,24,57,40,19,50,5,1,22,34],"data":{"version":3,"file":"cds_as.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_as.ts"],"names":[],"mappings":";;;AAAA,wBAA0B;AAC1B,yDAA8D;AAG9D,MAAa,KAAM,SAAQ,kBAAU;IAC5B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAI,EAAE,UAAO,CAAC,CAAC;IAC5B,CAAC;CACF;AAJD,sBAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_association.js":{"lineLengths":[13,62,32,24,57,55,49,19,172,5,1,40,43],"data":{"version":3,"file":"cds_association.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_association.ts"],"names":[],"mappings":";;;AAAA,wBAA4C;AAC5C,yDAAmE;AAEnE,uDAAiD;AAEjD,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,WAAG,EAAC,gCAAc,CAAC,EAAE,IAAI,EAAE,IAAA,WAAG,EAAC,QAAQ,CAAC,EAAE,cAAW,EAAE,IAAI,EAAE,eAAY,CAAC,CAAC;IACvG,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_cardinality.js":{"lineLengths":[13,62,32,57,49,19,162,27,5,1,40,43],"data":{"version":3,"file":"cds_cardinality.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_cardinality.ts"],"names":[],"mappings":";;;AAAA,yDAAwE;AAGxE,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzF,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AALD,wCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_case.js":{"lineLengths":[13,62,25,24,57,42,19,107,115,177,184,53,5,1,26,36],"data":{"version":3,"file":"cds_case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_case.ts"],"names":[],"mappings":";;;AAAA,wBAAyF;AACzF,yDAAgG;AAGhG,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,eAAO,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,YAAS,EAAE,cAAW,EAAE,OAAO,EAAE,UAAO,EAAE,iBAAc,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,cAAW,CAAC,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClH,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,MAAM,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,eAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5G,OAAO,IAAA,eAAO,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;CACF;AARD,0BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_cast.js":{"lineLengths":[13,62,25,24,57,42,19,103,220,5,1,26,36],"data":{"version":3,"file":"cds_cast.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_cast.ts"],"names":[],"mappings":";;;AAAA,wBAAoF;AACpF,yDAAwE;AAGxE,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,IAAA,WAAG,EAAC,MAAM,EAAE,GAAG,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,cAAW,EAAE,UAAO,EAAE,OAAO,EAAE,YAAS,EAAE,iBAAc,CAAC,EAAE,IAAI,EAAE,UAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnJ,CAAC;CACF;AALD,0BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_composition.js":{"lineLengths":[13,62,32,24,57,55,49,19,121,5,1,40,43],"data":{"version":3,"file":"cds_composition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_composition.ts"],"names":[],"mappings":";;;AAAA,wBAA8B;AAC9B,yDAAmE;AAEnE,uDAAiD;AAEjD,MAAa,cAAe,SAAQ,kBAAU;IACrC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,aAAa,EAAE,IAAA,WAAG,EAAC,gCAAc,CAAC,EAAE,IAAI,EAAE,cAAW,CAAC,CAAC;IACpE,CAAC;CACF;AAJD,wCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_condition.js":{"lineLengths":[13,62,30,24,57,47,47,19,135,60,292,118,56,63,172,5,1,36,41],"data":{"version":3,"file":"cds_condition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_condition.ts"],"names":[],"mappings":";;;AAAA,wBAAkD;AAClD,yDAAgG;AAEhG,+CAAyC;AAEzC,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,UAAO,EAAE,YAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,cAAW,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,IAAA,WAAG,EAAC,IAAI,EAAE,wBAAU,EAAE,cAAW,EAAE,YAAS,CAAC,CAAC,CAAC;QAC7K,MAAM,EAAE,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,IAAI,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,IAAA,eAAO,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAA,WAAG,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;CACF;AAVD,oCAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_define_abstract.js":{"lineLengths":[13,62,35,24,57,41,52,19,161,228,5,1,46,47],"data":{"version":3,"file":"cds_define_abstract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_define_abstract.ts"],"names":[],"mappings":";;;AAAA,wBAAyC;AACzC,yDAAoF;AAEpF,yCAAmC;AAEnC,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,gBAAa,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EAAE,kBAAO,EAAE,GAAG,EAAE,UAAO,EAAE,GAAG,CAAC,CAAC;QAEpF,OAAO,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,gBAAa,CAAC,EAAE,IAAA,WAAG,EAAC,wBAAwB,CAAC,EAAE,kBAAO,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC,EACrE,IAAA,YAAI,EAAC,KAAK,CAAC,EACX,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;CACF;AARD,8CAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_name.js":{"lineLengths":[13,62,25,57,42,19,79,115,5,1,26,36],"data":{"version":3,"file":"cds_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_name.ts"],"names":[],"mappings":";;;AAAA,yDAA0E;AAG1E,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,aAAK,EAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AALD,0BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_define_custom.js":{"lineLengths":[13,62,33,24,57,41,41,50,19,169,291,5,1,42,45],"data":{"version":3,"file":"cds_define_custom.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_define_custom.ts"],"names":[],"mappings":";;;AAAA,wBAAgC;AAChC,yDAAoF;AAEpF,yCAAmC;AACnC,yCAAmC;AAEnC,MAAa,eAAgB,SAAQ,kBAAU;IACtC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,gBAAa,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,EAAE,kBAAO,EAAE,GAAG,EAAE,kBAAO,EAAE,GAAG,CAAC,CAAC;QAEpF,OAAO,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,gBAAa,CAAC,EAAE,IAAA,WAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,MAAM,CAAC,CAAC,EAAE,IAAA,WAAG,EAAC,eAAe,CAAC,EAAE,kBAAO,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC,EAC7F,IAAA,YAAI,EAAC,KAAK,CAAC,EACX,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;CACF;AARD,0CAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_type.js":{"lineLengths":[13,62,25,24,57,42,19,74,198,5,1,26,36],"data":{"version":3,"file":"cds_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_type.ts"],"names":[],"mappings":";;;AAAA,wBAA0B;AAC1B,yDAA0E;AAG1E,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC,CAAC;QACxC,OAAO,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,CAAC,CAAC,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,aAAK,EAAC,KAAK,CAAC,EAAE,IAAA,WAAG,EAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AALD,0BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_define_projection.js":{"lineLengths":[13,62,37,24,29,57,54,19,451,5,1,50,49],"data":{"version":3,"file":"cds_define_projection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_define_projection.ts"],"names":[],"mappings":";;;AAAA,wBAAiF;AACjF,6BAA8B;AAC9B,yDAAyF;AAGzF,MAAa,mBAAoB,SAAQ,kBAAU;IAC1C,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,gBAAa,CAAC,EACnB,QAAQ,EACR,IAAA,WAAG,EAAC,MAAM,CAAC,EACX,MAAM,EACN,IAAA,WAAG,EAAC,WAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC,EAChC,UAAO,EACP,IAAA,WAAG,EAAC,sBAAmB,CAAC,EACxB,kBAAkB,EAClB,UAAO,EACP,IAAA,WAAG,EAAC,QAAK,CAAC,EACV,IAAA,WAAG,EAAC,GAAG,CAAC,EACR,IAAA,YAAI,EAAC,aAAU,CAAC,EAChB,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,aAAU,CAAC,CAAC,EAC1B,IAAA,WAAG,EAAC,GAAG,CAAC,EACR,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC,CAAC;IACvB,CAAC;CACF;AAlBD,kDAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_define_view.js":{"lineLengths":[13,62,31,24,29,57,41,45,63,48,19,309,5,1,38,43],"data":{"version":3,"file":"cds_define_view.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_define_view.ts"],"names":[],"mappings":";;;AAAA,wBAAgC;AAChC,6BAA8B;AAC9B,yDAA8E;AAE9E,yCAAmC;AACnC,6CAAuC;AACvC,+DAAwD;AAExD,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,gBAAa,CAAC,EACnB,QAAQ,EACR,IAAA,WAAG,EAAC,MAAM,CAAC,EACX,MAAM,EACN,IAAA,WAAG,EAAC,WAAO,CAAC,IAAI,EAAE,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC,EAChC,kBAAO,EACP,IAAA,WAAG,EAAC,uCAAiB,CAAC,EACtB,IAAI,EACJ,sBAAS,EACT,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC,CAAC;IACvB,CAAC;CACF;AAbD,sCAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_select.js":{"lineLengths":[13,62,27,24,57,55,41,44,19,130,54,179,529,5,1,30,38],"data":{"version":3,"file":"cds_select.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_select.ts"],"names":[],"mappings":";;;AAAA,wBAA0G;AAC1G,yDAAoF;AAEpF,uDAAiD;AACjD,yCAAmC;AAEnC,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,aAAU,EAAE,GAAG,CAAC,CAAC,EAAE,aAAU,CAAC,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,IAAA,YAAI,EAAC,aAAU,CAAC,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,aAAU,CAAC,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC,CAAC;QAEvF,OAAO,IAAA,WAAG,EAAC,QAAQ,EAAE,IAAA,WAAG,EAAC,QAAQ,CAAC,EAAE,IAAA,WAAG,EAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAS,EACvD,IAAA,WAAG,EAAC,sBAAmB,CAAC,EACxB,IAAA,WAAG,EAAC,QAAK,CAAC,EACV,IAAA,YAAI,EAAC,kBAAO,CAAC,EACb,IAAA,YAAI,EAAC,iBAAc,CAAC,EACpB,IAAA,YAAI,EAAC,gCAAc,CAAC,EACpB,IAAA,YAAI,EAAC,iBAAc,CAAC,EACpB,IAAA,WAAG,EAAC,QAAQ,CAAC,EACb,IAAA,WAAG,EAAC,aAAU,CAAC,EACf,IAAA,WAAG,EAAC,WAAQ,CAAC,EACb,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,IAAA,WAAG,EAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;CACF;AAnBD,8BAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_join.js":{"lineLengths":[13,62,25,24,57,51,42,19,170,5,1,26,36],"data":{"version":3,"file":"cds_join.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_join.ts"],"names":[],"mappings":";;;AAAA,wBAA4B;AAC5B,yDAAwE;AAExE,mDAA6C;AAE7C,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,OAAO,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,YAAS,EAAE,IAAI,EAAE,4BAAY,CAAC,CAAC;IAC1G,CAAC;CACF;AAJD,0BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_with_parameters.js":{"lineLengths":[13,62,35,24,57,52,19,68,107,5,1,46,47],"data":{"version":3,"file":"cds_with_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_with_parameters.ts"],"names":[],"mappings":";;;AAAA,wBAAmC;AACnC,yDAAoE;AAGpE,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,GAAG,EAAE,UAAO,CAAC,CAAC;QACzC,OAAO,IAAA,WAAG,EAAC,iBAAiB,EAAE,KAAK,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF;AALD,8CAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_element.js":{"lineLengths":[13,62,28,24,57,37,41,45,19,569,5,1,32,39],"data":{"version":3,"file":"cds_element.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_element.ts"],"names":[],"mappings":";;;AAAA,wBAAuH;AACvH,yDAAiH;AAEjH,qCAA+B;AAC/B,yCAAmC;AAEnC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,gBAAQ,EAAC,gBAAa,CAAC,EACvB,IAAA,eAAO,EAAC,KAAK,CAAC,EACd,IAAA,eAAO,EAAC,eAAY,EACZ,YAAS,EACT,cAAW,EACX,iBAAc,EACd,kBAAO,EACP,UAAO,EACP,IAAA,WAAG,EAAC,UAAO,EAAE,iBAAiB,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,EAAE,UAAO,CAAC,EACjF,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,WAAG,EAAC,gBAAa,CAAC,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,EAAE,IAAA,WAAG,EAAC,gBAAa,CAAC,CAAC,CAAC,CAAC,EAC7E,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC,EACvB,IAAA,WAAG,EAAC,cAAK,CAAC,CAAC,CAAC;IACzB,CAAC;CACF;AAfD,gCAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_function.js":{"lineLengths":[13,62,29,24,57,46,19,185,153,83,79,113,105,109,101,81,97,71,71,117,117,115,139,83,100,121,113,107,115,73,367,5,1,34,40],"data":{"version":3,"file":"cds_function.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_function.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_group_by.js":{"lineLengths":[13,62,28,24,57,45,19,104,98,5,1,32,40],"data":{"version":3,"file":"cds_group_by.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_group_by.ts"],"names":[],"mappings":";;;AAAA,wBAA0B;AAC1B,yDAAoE;AAGpE,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,IAAA,WAAG,EAAC,UAAU,EAAE,IAAI,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;CACF;AALD,gCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_provider_contract.js":{"lineLengths":[13,62,37,57,54,19,141,5,1,50,49],"data":{"version":3,"file":"cds_provider_contract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_provider_contract.ts"],"names":[],"mappings":";;;AAAA,yDAAmE;AAGnE,MAAa,mBAAoB,SAAQ,kBAAU;IAC1C,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,mBAAmB,EACnB,IAAA,WAAG,EAAC,qBAAqB,EAAE,yBAAyB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACxF,CAAC;CACF;AALD,kDAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_parameters_select.js":{"lineLengths":[13,62,37,24,57,54,19,103,59,61,106,5,1,50,49],"data":{"version":3,"file":"cds_parameters_select.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_parameters_select.ts"],"names":[],"mappings":";;;AAAA,wBAAqC;AACrC,yDAA8E;AAG9E,MAAa,mBAAoB,SAAQ,kBAAU;IAC1C,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,YAAS,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,IAAA,WAAG,EAAC,GAAG,EAAE,SAAS,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CACF;AAPD,kDAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_parameters.js":{"lineLengths":[13,62,31,24,57,48,19,103,59,154,5,1,38,42],"data":{"version":3,"file":"cds_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_parameters.ts"],"names":[],"mappings":";;;AAAA,wBAAqC;AACrC,yDAAqF;AAGrF,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,UAAO,EAAE,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,UAAO,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAA,WAAG,EAAC,IAAI,EAAE,YAAS,CAAC,CAAC;QACnC,OAAO,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,aAAK,EAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAA,YAAI,EAAC,IAAA,WAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACjG,CAAC;CACF;AAND,sCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_relation.js":{"lineLengths":[13,62,29,24,57,46,19,79,115,5,1,34,40],"data":{"version":3,"file":"cds_relation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_relation.ts"],"names":[],"mappings":";;;AAAA,wBAAwB;AACxB,yDAA0E;AAG1E,MAAa,WAAY,SAAQ,kBAAU;IAClC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,aAAK,EAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,IAAA,aAAK,EAAC,UAAU,CAAC,EAAE,IAAA,WAAG,EAAC,QAAK,CAAC,CAAC,CAAC;IACtD,CAAC;CACF;AALD,kCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_source.js":{"lineLengths":[13,62,27,24,57,44,19,79,115,5,1,30,38],"data":{"version":3,"file":"cds_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_source.ts"],"names":[],"mappings":";;;AAAA,wBAAwB;AACxB,yDAA0E;AAG1E,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,MAAM,GAAG,GAAG,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,aAAK,EAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,OAAO,IAAA,WAAG,EAAC,IAAA,WAAG,EAAC,GAAG,CAAC,EAAE,IAAA,aAAK,EAAC,UAAU,CAAC,EAAE,IAAA,WAAG,EAAC,QAAK,CAAC,CAAC,CAAC;IACtD,CAAC;CACF;AALD,8BAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_string.js":{"lineLengths":[13,62,27,57,44,19,51,5,1,30,38],"data":{"version":3,"file":"cds_string.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_string.ts"],"names":[],"mappings":";;;AAAA,yDAAgE;AAGhE,MAAa,SAAU,SAAQ,kBAAU;IAChC,WAAW;QAChB,OAAO,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC;IAChC,CAAC;CACF;AAJD,8BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/expressions/cds_where.js":{"lineLengths":[13,62,26,24,57,43,19,58,5,1,28,37],"data":{"version":3,"file":"cds_where.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/expressions/cds_where.ts"],"names":[],"mappings":";;;AAAA,wBAA+B;AAC/B,yDAA8D;AAG9D,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,OAAO,EAAE,eAAY,CAAC,CAAC;IACpC,CAAC;CACF;AAJD,4BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/change_document.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,43],"data":{"version":3,"file":"change_document.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/change_document.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/chapter_of_book_structure.js":{"lineLengths":[13,62,40,57,72,15,22,5,24,16,26,33,10,5,22,15,25,5,1,56,53],"data":{"version":3,"file":"chapter_of_book_structure.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/chapter_of_book_structure.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,sBAAuB,SAAQ,iCAAc;IAEjD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/checkpoint_group.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,26,33,10,5,22,15,25,5,1,42,44],"data":{"version":3,"file":"checkpoint_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/checkpoint_group.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/class.js":{"lineLengths":[13,62,47,49,18,27,33,39,46,38,41,66,47,19,28,29,35,5,15,22,5,25,116,65,82,82,35,11,20,5,24,23,5,21,24,5,24,16,26,33,10,5,16,29,35,25,5,26,15,136,5,21,15,99,5,26,22,15,24,89,5,22,15,24,82,5,19,15,24,129,86,5,24,49,71,28,13,9,25,5,24,49,72,28,13,9,25,5,29,16,43,19,9,28,41,32,55,72,19,9,72,33,19,9,48,72,63,5,1,22,33],"data":{"version":3,"file":"class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/class.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/classification.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,42],"data":{"version":3,"file":"classification.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/classification.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/communication_scenario.js":{"lineLengths":[13,62,39,57,71,15,22,5,24,16,26,33,10,5,22,15,25,5,1,54,50],"data":{"version":3,"file":"communication_scenario.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/communication_scenario.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,qBAAsB,SAAQ,iCAAc;IAEhD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/composite_enhancement_implementation.js":{"lineLengths":[13,62,52,57,84,15,22,5,24,16,26,33,10,5,22,15,25,5,1,80,64],"data":{"version":3,"file":"composite_enhancement_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/composite_enhancement_implementation.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,kCAAmC,SAAQ,iCAAc;IAE7D,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gFAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/composite_enhancement_spot.js":{"lineLengths":[13,62,42,57,74,15,22,5,24,16,26,33,10,5,22,15,25,5,1,60,54],"data":{"version":3,"file":"composite_enhancement_spot.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/composite_enhancement_spot.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,wBAAyB,SAAQ,iCAAc;IAEnD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4DAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/concepts_of_package.js":{"lineLengths":[13,62,35,57,67,15,22,5,24,16,26,33,76,10,5,22,15,25,5,1,46,47],"data":{"version":3,"file":"concepts_of_package.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/concepts_of_package.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAGlD,MAAa,iBAAkB,SAAQ,iCAAc;IAE5C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI,MAAM,CAAC,sCAAsC,CAAC;SAChE,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAlBD,8CAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/customer_enhancement_project.js":{"lineLengths":[13,62,44,57,76,15,22,5,24,16,26,33,10,5,22,15,25,5,1,64,56],"data":{"version":3,"file":"customer_enhancement_project.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/customer_enhancement_project.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,0BAA2B,SAAQ,iCAAc;IAErD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gEAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/customizing_attributes.js":{"lineLengths":[13,62,39,57,71,15,22,5,24,16,26,33,10,5,22,15,25,5,1,54,50],"data":{"version":3,"file":"customizing_attributes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/customizing_attributes.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,qBAAsB,SAAQ,iCAAc;IAEhD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/customizing_img_activity.js":{"lineLengths":[13,62,40,57,72,15,22,5,24,16,26,33,10,5,22,15,25,5,1,56,52],"data":{"version":3,"file":"customizing_img_activity.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/customizing_img_activity.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,sBAAuB,SAAQ,iCAAc;IAEjD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/customizing_transaction.js":{"lineLengths":[13,62,40,57,72,15,22,5,24,16,26,33,10,5,22,15,25,5,1,56,51],"data":{"version":3,"file":"customizing_transaction.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/customizing_transaction.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,sBAAuB,SAAQ,iCAAc;IAEjD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/data_control.js":{"lineLengths":[13,62,29,57,61,15,22,5,24,16,26,33,10,5,22,15,25,5,1,34,40],"data":{"version":3,"file":"data_control.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/data_control.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAEtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/data_definition.js":{"lineLengths":[13,62,32,41,68,50,52,57,64,19,28,37,36,5,15,22,5,24,16,26,33,10,5,22,15,21,90,5,25,15,21,93,5,22,15,25,5,20,21,93,5,21,31,5,19,15,21,86,5,16,36,37,25,5,22,115,5,22,32,5,13,19,39,50,9,33,27,35,38,23,24,26,29,28,10,31,89,35,120,69,29,17,58,178,26,17,13,63,54,9,14,36,9,27,62,5,15,15,83,5,14,23,15,144,20,65,9,5,26,19,69,33,71,9,33,79,9,131,159,38,76,81,36,17,22,50,17,13,38,25,13,92,263,25,13,35,83,51,13,41,27,41,66,15,9,5,35,35,75,52,230,55,9,77,52,230,57,9,80,72,34,25,13,52,230,47,38,23,15,9,5,1,40,43],"data":{"version":3,"file":"data_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/data_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/cds/cds_determine_types.js":{"lineLengths":[13,62,35,47,25,33,103,53,9,14,34,112,33,33,65,19,13,57,9,5,1,46,47],"data":{"version":3,"file":"cds_determine_types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/cds/cds_determine_types.ts"],"names":[],"mappings":";;;AACA,+CAAiF;AAGjF,MAAa,iBAAiB;IAErB,SAAS,CAAC,IAAe,EAAE,UAAgC;QAEhE,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,MAAM,MAAK,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,gBAAQ,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAA0B,EAAE,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,EAAE,EAAE,CAAC;gBACzC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,IAAI,gBAAQ,CAAC,gBAAgB,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,qBAAa,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CAEF;AAlBD,8CAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/data_element.js":{"lineLengths":[13,62,29,57,34,45,61,19,28,35,5,15,22,5,22,15,89,5,24,16,26,33,10,5,16,35,25,5,21,15,21,85,5,20,30,31,43,106,9,14,46,49,92,111,17,22,87,17,13,54,92,111,17,22,71,17,13,18,94,112,17,22,185,17,13,9,28,55,9,59,27,5,13,23,43,50,9,33,28,41,35,50,9,210,26,84,81,81,83,75,83,10,31,55,5,1,34,40],"data":{"version":3,"file":"data_element.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/data_element.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/dialog_module.js":{"lineLengths":[13,62,30,57,62,15,22,5,24,16,26,33,10,5,22,15,25,5,1,36,41],"data":{"version":3,"file":"dialog_module.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/dialog_module.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,YAAa,SAAQ,iCAAc;IAEvC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/documentation.js":{"lineLengths":[13,62,31,57,63,15,22,5,24,16,26,33,10,5,22,15,25,5,1,38,41],"data":{"version":3,"file":"documentation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/documentation.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,aAAc,SAAQ,iCAAc;IAExC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/domain.js":{"lineLengths":[13,62,24,57,45,34,44,56,15,22,5,22,15,89,5,25,15,92,5,24,16,26,33,10,5,16,35,25,5,33,73,63,43,25,9,43,103,9,42,177,5,13,39,29,50,9,33,28,41,35,50,9,210,300,26,40,27,88,84,85,89,14,31,9,26,84,83,77,89,83,27,10,31,55,5,22,19,127,5,1,24,34],"data":{"version":3,"file":"domain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/domain.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/ecatt_test_configuration.js":{"lineLengths":[13,62,40,57,72,15,22,5,24,16,26,33,10,5,22,15,25,5,1,56,52],"data":{"version":3,"file":"ecatt_test_configuration.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/ecatt_test_configuration.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,sBAAuB,SAAQ,iCAAc;IAEjD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/ecatt_test_data_container.js":{"lineLengths":[13,62,40,57,72,15,22,5,24,16,26,33,10,5,22,15,25,5,1,56,53],"data":{"version":3,"file":"ecatt_test_data_container.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/ecatt_test_data_container.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,sBAAuB,SAAQ,iCAAc;IAEjD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/ecatt_test_script.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,26,33,10,5,22,15,25,5,1,42,45],"data":{"version":3,"file":"ecatt_test_script.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/ecatt_test_script.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/enhancement_implementation.js":{"lineLengths":[13,62,43,57,75,15,22,5,16,35,25,5,24,16,26,33,10,5,20,15,21,87,5,22,15,21,89,5,13,29,50,9,33,28,41,32,43,72,50,9,82,88,31,55,5,1,62,54],"data":{"version":3,"file":"enhancement_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/enhancement_implementation.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,yBAA0B,SAAQ,iCAAc;IAMpD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,YAAY;;QACjB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,SAAS,CAAC;IACnC,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,WAAW,CAAC;IACrC,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS;eACjB,MAAM,CAAC,OAAO,KAAK,SAAS;eAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;QAEhF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAC,CAAC;IAC/C,CAAC;CACF;AApDD,8DAoDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/enhancement_spot.js":{"lineLengths":[13,62,33,57,44,65,15,22,5,22,15,25,5,24,16,26,33,10,5,16,31,25,5,27,39,41,9,26,5,21,16,19,41,35,22,9,23,214,22,34,44,15,9,19,5,1,42,44],"data":{"version":3,"file":"enhancement_spot.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/enhancement_spot.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAClD,4CAAwC;AAOxC,MAAa,eAAgB,SAAQ,iCAAc;IAG1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,mBAAmB;QACxB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEH,iBAAiB;IAEP,QAAQ;;QACd,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,IAAA,sBAAU,EAAC,MAAA,MAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,0CAAE,SAAS,0CAAE,aAAa,CAAC,EAAE,CAAC;YAC/F,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,SAAS;gBACjB,SAAS,EAAE,CAAC,CAAC,cAAc;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAjDD,0CAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/event_binding.js":{"lineLengths":[13,62,30,57,62,15,22,5,24,16,26,33,10,5,22,15,25,5,1,36,41],"data":{"version":3,"file":"event_binding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/event_binding.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,YAAa,SAAQ,iCAAc;IAEvC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/event_consumer.js":{"lineLengths":[13,62,31,57,63,15,22,5,24,16,27,33,10,5,22,15,25,5,1,38,42],"data":{"version":3,"file":"event_consumer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/event_consumer.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,aAAc,SAAQ,iCAAc;IAExC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/extension_index.js":{"lineLengths":[13,62,32,57,64,19,28,35,5,15,22,5,24,16,26,33,10,5,16,35,25,5,22,15,21,84,5,20,15,21,84,5,13,31,43,50,9,33,28,41,35,50,9,208,26,129,129,10,31,55,5,1,40,43],"data":{"version":3,"file":"extension_index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/extension_index.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAAlD;;QACU,cAAS,GAGD,SAAS,CAAC;IAiD5B,CAAC;IA/CQ,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAC;IAChC,CAAC;IAEM,YAAY;;QACjB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAC;IAChC,CAAC;IAEM,KAAK;;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,UAAU,CAAC,0CAAG,YAAY,CAAC,0CAAE,IAAI,CAAC;QAChE,IAAI,CAAC,SAAS,GAAG;YACf,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,MAAM;YAC3B,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,MAAM;SAC5B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAC,CAAC;IAC/C,CAAC;CACF;AArDD,wCAqDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/field_catalog.js":{"lineLengths":[13,62,30,57,62,15,22,5,24,16,26,33,10,5,22,15,25,5,1,36,41],"data":{"version":3,"file":"field_catalog.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/field_catalog.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,YAAa,SAAQ,iCAAc;IAEvC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/form_object_form.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,44],"data":{"version":3,"file":"form_object_form.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/form_object_form.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/form_object_interface.js":{"lineLengths":[13,62,37,57,69,15,22,5,24,16,26,33,10,5,22,15,25,5,1,50,49],"data":{"version":3,"file":"form_object_interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/form_object_interface.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,mBAAoB,SAAQ,iCAAc;IAE9C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/format_type.js":{"lineLengths":[13,62,28,57,60,15,22,5,24,16,26,33,10,5,22,15,25,5,1,32,39],"data":{"version":3,"file":"format_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/format_type.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,UAAW,SAAQ,iCAAc;IAErC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/function_group.js":{"lineLengths":[13,62,31,49,41,44,53,55,19,28,34,33,5,15,22,5,22,15,25,5,16,25,34,33,5,24,16,26,33,10,5,25,44,33,22,9,32,44,95,50,75,50,41,21,26,17,13,9,24,5,18,41,28,9,41,54,9,28,5,23,23,44,46,39,73,31,33,56,17,106,51,17,44,33,53,73,55,21,17,13,9,19,5,22,41,48,35,49,30,13,9,25,5,23,62,46,46,25,13,9,25,5,19,42,28,9,42,54,9,29,5,21,46,69,27,13,9,25,5,16,39,46,38,26,13,150,35,9,26,5,37,16,19,27,26,40,35,19,9,19,122,37,78,38,13,9,27,124,129,76,9,5,20,79,42,65,25,13,9,25,5,1,38,42],"data":{"version":3,"file":"function_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/function_group.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,52,53,51,53,57,52,63,57,54,55,58,54,53,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,yDAAuC;AACvC,oDAAkC;AAClC,+DAA6C;AAC7C,yDAAuC;AACvC,sDAAoC;AACpC,uDAAqC;AACrC,0DAAwC;AACxC,sDAAoC;AACpC,qDAAmC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_attribute.js":{"lineLengths":[13,62,32,59,66,46,74,37,5,21,31,5,1,40,43],"data":{"version":3,"file":"class_attribute.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/class_attribute.ts"],"names":[],"mappings":";;;AACA,2DAAoE;AAEpE,MAAa,cAAe,SAAQ,mCAAe;IAGjD,YAAmB,EAAmB,EAAE,UAAsB,EAAE,IAA+B,EAC5E,KAA0C;QAC3D,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAZD,wCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/_typed_identifier.js":{"lineLengths":[13,62,33,67,56,41,95,5,33,80,5,53,31,46,39,9,14,29,9,27,23,19,29,9,5,14,58,5,15,25,5,15,25,5,16,26,5,1,42,45],"data":{"version":3,"file":"_typed_identifier.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/_typed_identifier.ts"],"names":[],"mappings":";;;AACA,mEAA6D;AAuB7D,MAAa,eAAgB,SAAQ,wBAAU;IAItC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACtC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACzF,CAAC;IACM,MAAM,CAAC,IAAI,CAAC,EAAc,EAAE,IAAoC,EAAE,IAAgC;QACvG,OAAO,IAAI,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,YAAmB,KAAoB,EAAE,QAAgB,EAAE,IAAoC,EAC5E,IAAgC,EAAE,KAA0C;QAC7F,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEvB,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAEM,MAAM;QACX,OAAO,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;IACpD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CAEF;AA5CD,0CA4CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_attributes.js":{"lineLengths":[13,62,28,57,57,59,55,53,36,65,66,66,54,62,54,64,64,57,56,54,55,35,18,30,25,27,28,26,24,39,32,72,5,16,26,5,17,27,5,18,28,5,14,21,38,40,19,5,40,30,41,54,38,13,9,26,5,19,29,5,42,30,43,54,38,13,9,26,5,20,30,5,42,30,44,54,38,13,9,26,5,21,22,41,43,54,25,13,9,45,54,25,13,9,46,54,25,13,9,25,5,33,24,74,19,121,127,123,19,9,68,19,123,19,9,93,5,43,33,19,9,45,33,53,54,72,46,128,49,56,21,17,64,83,46,128,47,56,21,17,64,100,46,99,50,56,21,17,63,93,45,63,116,50,56,21,44,65,64,21,17,60,72,30,49,67,21,17,22,38,60,17,13,58,54,82,17,64,80,17,62,58,17,63,80,32,109,50,56,21,17,59,70,30,49,67,21,17,13,9,5,41,91,86,44,93,37,48,67,23,174,94,32,76,17,95,37,87,17,13,9,5,45,30,29,43,61,9,53,72,9,14,84,9,34,81,9,41,106,5,1,32,44],"data":{"version":3,"file":"class_attributes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/class_attributes.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_constant.js":{"lineLengths":[13,62,31,59,65,40,151,37,5,21,31,5,1,38,42],"data":{"version":3,"file":"class_constant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/class_constant.ts"],"names":[],"mappings":";;;AACA,2DAAoE;AAEpE,MAAa,aAAc,SAAQ,mCAAe;IAGhD,YAAmB,EAAmB,EAAE,UAAsB,EAAE,KAAqD;QACnH,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,iFAAgD,EAAE,KAAK,CAAC,CAAC;QAC9G,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAXD,sCAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/class_data.js":{"lineLengths":[13,62,27,62,69,68,65,52,45,17,28,72,17,86,38,33,13,100,110,88,106,151,13,84,134,9,83,23,157,9,25,5,1,30,38],"data":{"version":3,"file":"class_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/class_data.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA8E;AAC9E,oEAA8D;AAC9D,iEAA2D;AAC3D,oDAA0E;AAC1E,6CAA2C;AAE3C,MAAa,SAAS;IACb,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,IAAI,gCAAc,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,GAAG,SAAS,EAAE,MAAK,IAAI;mBAClC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,GAAG,YAAY,EAAE,MAAK,KAAK,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,qCAAqC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBACxE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,mCAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC,CAAC;YAC7F,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,uCAAwB,CAAC;YACzD,OAAO,IAAI,mCAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAC3E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,mCAAe,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,0BAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAzBD,8BAyBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/data_definition.js":{"lineLengths":[13,62,32,62,69,45,48,45,22,28,67,17,71,9,70,30,24,72,9,74,82,36,152,9,76,21,24,141,13,18,30,13,9,19,33,150,9,25,5,1,40,43],"data":{"version":3,"file":"data_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/data_definition.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qEAA8D;AAC9D,6CAAwD;AACxD,gDAA0C;AAC1C,6CAAuC;AAGvC,MAAa,cAAc;IAClB,SAAS,CAAC,IAAoB,EAAE,KAAkB;QACvD,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,IAAI,sBAAS,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,KAAK,GAAuB,SAAS,CAAC;QAC1C,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC1E,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,gBAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAClH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,IAAI,mCAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3G,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAChH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAnCD,wCAmCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/basic_types.js":{"lineLengths":[13,62,28,33,66,59,57,40,47,57,60,61,45,42,59,36,61,41,45,18,24,27,5,31,15,72,33,29,9,54,20,25,9,34,43,36,38,69,21,45,54,49,47,80,96,76,71,77,63,25,32,115,25,21,17,22,74,28,33,21,17,13,9,38,42,38,39,61,23,44,60,63,73,59,21,28,111,21,17,13,9,69,144,82,105,9,75,22,163,9,61,19,24,9,25,5,47,15,33,29,9,69,34,67,9,34,67,9,34,75,9,34,64,9,46,48,36,113,9,29,126,121,9,14,67,60,97,23,30,29,13,81,38,65,85,13,24,185,13,37,121,13,137,155,48,13,41,47,61,57,36,21,17,57,58,132,21,17,36,58,49,21,62,87,49,112,25,21,65,108,21,17,13,49,28,13,54,38,42,41,13,52,47,65,41,13,9,20,113,9,20,5,36,84,93,49,28,55,53,9,20,5,64,15,37,29,9,54,20,56,9,64,107,30,21,9,57,18,51,42,53,76,27,170,17,13,117,33,9,123,19,120,24,9,66,19,180,75,146,13,61,141,13,60,9,25,5,43,81,37,76,9,37,29,9,44,77,89,9,38,52,57,46,13,18,76,90,90,86,17,13,9,39,64,9,58,20,93,9,25,5,28,27,72,145,33,29,9,29,51,45,45,57,52,9,54,55,50,9,54,55,50,9,82,42,142,214,28,32,59,166,26,10,22,32,145,74,13,9,14,22,9,33,60,41,133,37,25,13,31,27,124,137,30,14,130,73,13,42,9,46,42,47,9,49,49,9,25,59,29,35,37,10,30,52,64,62,65,50,24,65,13,9,50,57,55,58,51,24,65,13,9,50,57,55,58,47,24,65,13,9,47,43,43,42,43,69,9,53,71,46,38,86,13,55,67,69,45,46,15,71,65,9,53,73,46,38,86,13,55,67,69,45,46,21,71,59,9,71,60,49,121,23,85,13,73,71,13,18,48,13,9,51,42,5,36,35,72,138,33,143,9,33,143,181,30,13,9,33,147,9,30,57,52,107,9,33,26,9,30,47,136,63,34,72,13,34,69,13,56,37,106,13,55,41,13,54,28,13,18,85,13,9,51,136,97,37,106,13,55,9,47,43,43,42,43,177,9,44,65,36,74,13,36,70,13,36,71,13,36,69,13,46,47,154,13,9,52,71,46,71,40,13,51,42,13,55,29,13,58,96,13,18,153,13,9,51,50,9,43,114,61,47,157,13,69,54,114,17,63,93,17,22,127,17,13,64,31,87,26,78,30,66,21,17,102,42,161,17,13,9,21,5,25,20,15,51,24,9,146,24,9,21,5,32,28,27,60,38,51,63,24,138,39,13,9,91,29,9,22,29,39,48,33,28,9,44,48,33,28,9,37,34,52,48,39,41,81,90,90,67,96,46,88,17,115,28,129,17,13,18,51,77,108,197,57,17,45,110,17,86,183,116,93,70,95,17,115,28,128,17,13,9,57,68,89,61,41,45,108,97,32,35,21,26,102,21,17,105,89,189,120,97,74,100,21,119,32,132,21,17,22,119,17,13,41,80,13,18,116,13,9,14,61,86,42,137,35,140,45,17,46,84,181,80,53,21,26,43,21,17,13,18,138,13,108,137,51,13,59,137,33,13,47,72,13,9,21,33,54,57,33,13,67,70,13,62,42,90,13,25,9,25,5,32,19,36,68,52,9,47,53,46,59,67,87,42,132,27,13,120,132,13,29,9,65,83,80,93,48,101,72,87,42,132,27,13,29,9,68,73,36,77,37,17,91,85,17,22,202,37,17,13,48,101,40,108,62,136,123,41,46,31,17,66,70,50,41,21,17,33,13,80,9,14,74,9,5,27,15,34,29,9,52,47,50,62,13,63,76,194,116,13,9,50,99,50,9,65,65,9,56,44,9,123,117,44,9,71,5,21,64,32,59,9,70,29,9,71,23,83,23,76,32,58,49,33,21,26,89,21,17,46,13,18,47,13,9,76,20,52,9,49,5,24,19,219,18,37,9,25,5,22,65,79,26,56,9,19,75,27,62,13,82,25,62,42,13,9,32,21,9,69,22,57,9,76,22,57,9,76,20,57,38,9,50,5,20,33,29,9,35,38,9,40,38,9,34,5,1,32,39],"data":{"version":3,"file":"basic_types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/basic_types.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_scope_type.js":{"lineLengths":[13,62,27,14,23,38,34,36,38,41,51,54,41,62,31,45,35,52,56,29,29,38,54,39],"data":{"version":3,"file":"_scope_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/_scope_type.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAmBX;AAnBD,WAAY,SAAS;IACnB,iCAAoB,CAAA;IACpB,6BAAgB,CAAA;IAChB,+BAAkB,CAAA;IAClB,iCAAoB,CAAA;IACpB,oCAAuB,CAAA;IACvB,8CAAiC,CAAA;IAEjC,iDAAoC,CAAA;IACpC,oCAAuB,CAAA;IACvB,yDAA4C,CAAA;IAC5C,0BAAa,CAAA;IACb,wCAA2B,CAAA;IAC3B,8BAAiB,CAAA;IACjB,+CAAkC,CAAA;IAClC,mDAAsC,CAAA;IACtC,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,iCAAoB,CAAA;AACtB,CAAC,EAnBW,SAAS,yBAAT,SAAS,QAmBpB"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_object_oriented.js":{"lineLengths":[13,62,32,57,59,65,61,54,22,24,27,5,39,62,72,22,9,41,61,52,47,9,82,79,81,49,56,25,13,66,46,43,9,19,5,43,59,46,80,23,82,28,74,17,13,9,58,38,66,22,47,13,9,5,54,71,19,65,43,82,49,17,13,61,9,25,5,41,43,73,46,95,26,31,17,13,9,25,5,25,66,67,67,9,74,38,67,9,50,5,24,15,46,30,135,25,36,13,9,39,18,17,80,13,24,80,13,9,19,5,28,54,29,9,144,20,25,9,49,67,46,118,26,31,17,13,9,40,18,73,9,25,5,56,36,54,29,9,41,55,54,25,13,9,49,54,46,126,26,31,17,13,9,33,54,92,119,13,9,40,18,81,9,25,5,56,31,54,29,9,64,21,26,9,33,53,106,114,13,9,40,18,76,9,25,5,56,35,54,29,9,41,61,54,25,13,9,43,54,46,125,26,31,17,13,9,33,54,92,118,13,9,40,18,80,9,25,5,56,33,54,57,9,60,31,53,9,38,33,47,198,61,13,9,70,62,38,74,24,29,13,9,50,61,24,29,13,9,40,52,78,9,53,5,33,67,78,46,67,17,22,34,17,13,9,25,5,42,40,35,55,60,24,29,13,39,9,25,5,31,58,33,89,9,20,5,42,57,48,5,45,29,40,26,35,55,60,76,48,64,17,13,66,76,48,17,13,65,71,47,17,13,62,39,9,22,5,45,43,26,60,88,9,22,5,1,40,44],"data":{"version":3,"file":"_object_oriented.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/_object_oriented.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,2DAA2D;AAU3D,iEAA4D;AAE5D,6DAA6D;AAC7D,sDAAsD;AACtD,MAAa,cAAc;IAGzB,YAAmB,KAAmB;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,mBAAmB,CAAC,IAAY,EAAE,MAAgB;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAE3C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;QAEzE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,oBAAoB,CAAC,eAAiC;QAC3D,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QAClD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,aAAqB,EAAE,UAAkB;QAGrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,CAAC;YACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;oBAChE,OAAO,EAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,kBAAkB,CAAC,UAAkB,EAAE,GAA4C;QAGzF,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3D,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,aAAa,CAAC,IAAmB;QACtC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,mBAAmB;eACnD,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAEM,cAAc,CAAC,EAA2C;;QAC/D,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;QAEtC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,0CAAE,eAAe,EAAE,CAAC;YAC7E,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;QAC/B,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,WAAM,CAAC;gBACf,gEAAgE;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,WAAW,CAChB,GAAwD,EACxD,IAAwB;QAExB,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,EAAE,CAAA,CAAC,CAAC;QAC3F,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtG,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oDAAoD;IAC7C,mBAAmB,CACxB,GAAwD,EACxD,IAAwB;QAExB,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9G,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC;gBAC9E,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oDAAoD;IAC7C,cAAc,CACnB,GAAwD,EACxD,IAAwB;QAExB,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC5F,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oDAAoD;IAC7C,kBAAkB,CACvB,GAAwD,EACxD,IAAwB;QAExB,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7G,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC;gBAC9E,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oDAAoD;IAC7C,gBAAgB,CACrB,GAAwD,EACxD,IAAwB;QAExB,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC;QAC7C,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,EAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAC,CAAC;QACzC,CAAC;QAED,IAAI,aAAa,GAAuB,SAAS,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,MAAK,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,EAAE,CAAA,CAAC,KAAK,KAAK,EAAE,CAAC;gBACzH,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAEL,8DAA8D;QAC1D,IAAI,gBAAgB,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;YACpD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aAAM,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,gBAAgB,KAAK,SAAS,IAAI,GAAG,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC;IAC7C,CAAC;IAEM,UAAU,CAAC,GAA4C,EAAE,UAAkB;QAChF,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChE,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,iBAAiB,CAAC,KAA8C,EAAE,UAAkB;QAC1F,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YACD,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,IAAI,GAAG,iCAAiC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,6BAA6B,CAAC,KAAuB;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACjC,gBAAgB,CAAC,KAAuB;QAC9C,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,CAAC,aAAa,EAAE,KAAK,uBAAU,CAAC,OAAO,EAAE,CAAC;oBAC7C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBACtC,4CAA4C;gBACpC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;gBACpD,IAAI,CAAC,CAAC,aAAa,EAAE,KAAK,uBAAU,CAAC,OAAO,EAAE,CAAC;oBAC7C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC,CAAC,UAAU,KAAK,uBAAU,CAAC,OAAO,EAAE,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAClD,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yCAAyC;IACjC,cAAc,CAAC,eAAiC,EAAE,IAAe;QACvE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA/XD,wCA+XC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_reference.js":{"lineLengths":[13,62,31,18,27,47,56,67,73,46,57,48,63,77,44,59,46,52,44,42,53,53,66,38],"data":{"version":3,"file":"_reference.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/_reference.ts"],"names":[],"mappings":";;;AAEA,IAAY,aAuBX;AAvBD,WAAY,aAAa;IACvB,2CAA2C;IAC3C,mDAAkC,CAAA;IAClC,8DAA6C,CAAA;IAC7C,oEAAmD,CAAA;IAEnD,yCAAwB,CAAA;IACxB,oDAAmC,CAAA;IAEnC,2CAA0B,CAAA;IAC1B,0DAAyC,CAAA;IACzC,wEAAuD,CAAA;IAEvD,uCAAsB,CAAA;IACtB,sDAAqC,CAAA;IACrC,yCAAwB,CAAA;IACxB,+CAA8B,CAAA;IAE9B,uCAAsB,CAAA;IACxB,sCAAsC;IAEpC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;AACjC,CAAC,EAvBW,aAAa,6BAAb,aAAa,QAuBxB"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/field_chain.js":{"lineLengths":[13,62,28,39,62,49,45,53,53,46,49,49,57,64,47,63,49,52,18,37,23,122,70,63,47,148,148,99,24,30,99,17,98,39,13,9,32,44,60,51,40,40,22,13,58,51,109,76,13,62,61,80,113,80,17,68,88,64,99,45,53,70,25,72,57,59,120,109,29,25,30,105,121,88,25,21,26,70,117,84,21,17,13,71,69,66,64,75,113,80,17,13,74,93,13,74,85,51,17,98,13,62,74,104,71,113,80,17,83,61,51,17,13,74,107,13,117,90,29,67,90,21,66,84,21,17,13,117,90,29,67,68,21,66,62,21,17,13,9,23,5,20,32,33,29,9,50,69,88,9,55,63,81,9,63,50,47,54,64,13,61,73,129,65,13,82,170,54,13,18,60,106,76,13,9,25,5,1,32,39],"data":{"version":3,"file":"field_chain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/field_chain.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_name.js":{"lineLengths":[13,62,31,43,52,21,37,48,27,9,47,40,53,57,36,139,74,13,23,9,84,49,52,31,13,59,31,13,62,61,40,143,78,17,27,13,9,130,66,5,1,38,42],"data":{"version":3,"file":"component_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/component_name.ts"],"names":[],"mappings":";;;AAEA,2CAA2C;AAC3C,oDAA0E;AAE1E,MAAa,aAAa;IACjB,SAAS,CAAC,OAAiC,EAAE,IAAW,EAAE,KAAkB;QACjF,IAAI,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAEhC,IAAI,OAAO,YAAY,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,2BAA2B,CAAC,CAAC,CAAC;gBACtG,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,8BAAc,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,OAAO,YAAY,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;YAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACtC,OAAO,OAAO,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;gBAC/C,OAAO,OAAO,CAAC;YACjB,CAAC;iBAAM,IAAI,OAAO,YAAY,KAAK,CAAC,aAAa,EAAE,CAAC;gBAClD,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,2BAA2B,CAAC,CAAC,CAAC;oBACtG,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,8BAAc,CAAC,CAAC;gBAC5C,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,SAAS,EAAE,oCAAoC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACrG,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,8BAAc,CAAC,CAAC;IAC5C,CAAC;CAEF;AAtCD,sCAsCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_syntax_input.js":{"lineLengths":[13,62,32,34,39,45,40,45,124,1,41],"data":{"version":3,"file":"_syntax_input.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/_syntax_input.ts"],"names":[],"mappings":";;;AAeA,kCAEC;AAjBD,uCAAkC;AAClC,6CAAwC;AAI3B,QAAA,cAAc,GAAG,cAAc,CAAC;AAU7C,SAAgB,WAAW,CAAC,KAAkB,EAAE,KAAoB,EAAE,OAAe;IACnF,OAAO,aAAK,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAc,EAAE,mBAAQ,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/attribute_name.js":{"lineLengths":[13,62,31,59,69,83,58,79,46,45,52,21,57,54,27,9,74,28,77,86,36,123,106,80,13,47,40,62,38,61,13,38,112,37,110,17,80,13,23,77,13,46,85,27,126,17,13,34,9,74,42,55,104,27,13,67,64,106,80,13,47,36,99,106,80,13,9,14,70,102,76,9,19,5,1,38,42],"data":{"version":3,"file":"attribute_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/attribute_name.ts"],"names":[],"mappings":";;;AAEA,2DAAqD;AACrD,qEAA+D;AAC/D,mFAA4E;AAC5E,0DAAmD;AACnD,+EAAoE;AACpE,8CAA4C;AAE5C,6CAA0C;AAC1C,oDAA0E;AAE1E,MAAa,aAAa;IACjB,SAAS,CACd,OAAiC,EACjC,IAAW,EACX,KAAkB,EAClB,IAAkD,EAClD,KAAK,GAAG,IAAI;QAEZ,IAAI,OAAO,YAAY,oBAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,iCAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,GAAG,GAA6B,SAAS,CAAC;QAE9C,IAAI,OAAO,YAAY,2CAAmB,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC1E,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,sCAAsC,CAAC;gBAC3G,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,oBAAQ,CAAC,8BAAc,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,KAAK,GAAgC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,0BAA0B,GAAG,IAAI,GAAG,oBAAoB,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAChG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACvE,CAAC;gBACD,OAAO,IAAI,oBAAQ,CAAC,8BAAc,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,0BAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;YACD,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,YAAY,mCAAa,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,YAAY,oBAAQ,IAAI,GAAG,YAAY,eAAO,EAAE,CAAC;gBACtE,OAAO,GAAG,CAAC;YACb,CAAC;YACD,IAAI,CAAC,CAAC,GAAG,YAAY,8BAAa,CAAC,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,+BAA+B,CAAC;gBAChD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,oBAAQ,CAAC,8BAAc,CAAC,CAAC;YACtC,CAAC;YACD,GAAG,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,cAAc,GAAG,IAAI,GAAG,0CAA0C,CAAC;gBACnF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,oBAAQ,CAAC,8BAAc,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,yCAAyC,CAAC;YAC1D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,oBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAxED,sCAwEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/field_offset.js":{"lineLengths":[13,62,29,62,46,47,19,28,79,20,113,29,9,14,62,9,5,1,34,40],"data":{"version":3,"file":"field_offset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/field_offset.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,8CAA4C;AAE5C,+CAAyC;AAEzC,MAAa,WAAW;IACf,SAAS,CAAC,IAAoB,EAAE,KAAkB;QAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,0BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC1E,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;IAEH,CAAC;CACF;AAZD,kCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/field_length.js":{"lineLengths":[13,62,29,62,46,47,19,28,79,20,113,29,9,14,48,54,54,33,13,61,9,5,1,34,40],"data":{"version":3,"file":"field_length.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/field_length.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,8CAA4C;AAE5C,+CAAyC;AAEzC,MAAa,WAAW;IACf,SAAS,CAAC,IAAoB,EAAE,KAAkB;QAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,0BAAa,CAAC,iBAAiB,CAAC,CAAC;YAC1E,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC;gBACxC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;IAEH,CAAC;CACF;AAjBD,kCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/table_expression.js":{"lineLengths":[13,62,33,62,37,23,28,33,19,9,73,54,9,5,1,42,44],"data":{"version":3,"file":"table_expression.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/table_expression.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qCAAgC;AAGhC,MAAa,eAAe;IACnB,SAAS,CAAC,IAAgC,EAAE,KAAkB;QACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAVD,0CAUC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/source.js":{"lineLengths":[13,62,24,39,62,59,65,47,45,41,48,55,55,45,33,47,46,47,43,43,47,61,42,55,47,69,48,52,50,2,37,76,64,71,30,46,68,2,14,64,33,29,9,52,37,49,48,53,26,25,25,25,27,26,29,21,83,131,104,56,21,31,21,83,131,104,115,21,30,21,86,151,79,70,25,30,71,25,64,21,30,21,86,140,79,70,25,30,71,25,64,21,28,21,86,134,79,70,25,30,71,25,41,41,41,41,72,64,21,28,21,86,134,115,73,118,88,25,67,41,21,27,21,86,111,59,64,25,30,45,25,21,30,21,86,151,79,70,25,30,71,25,94,45,25,30,44,25,21,37,21,86,155,67,41,21,29,71,29,21,86,148,79,70,25,30,71,25,64,21,24,86,13,9,85,29,9,74,68,29,69,9,32,28,38,112,104,44,68,110,80,17,13,112,87,13,116,89,13,108,67,53,13,110,73,53,13,113,91,13,116,98,13,115,52,54,17,68,96,39,35,17,13,116,104,13,39,58,64,60,65,66,74,77,110,80,17,40,40,17,32,13,37,38,22,13,9,47,44,9,23,5,36,48,51,63,48,9,5,27,91,27,9,14,25,9,5,46,58,85,121,98,60,85,24,116,13,75,94,26,113,118,17,13,69,98,109,114,13,9,5,44,58,85,121,98,43,99,9,50,30,9,44,58,71,81,120,58,17,22,106,119,33,17,13,43,86,106,76,13,25,9,26,5,1,24,34],"data":{"version":3,"file":"source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/source.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_call_chain.js":{"lineLengths":[13,62,33,39,62,45,47,58,45,33,42,59,46,53,53,67,52,23,40,19,74,52,39,34,68,102,72,9,61,60,36,9,33,37,45,40,22,13,111,66,123,152,114,72,56,89,64,150,33,137,21,17,22,162,83,105,84,21,35,103,104,22,133,17,103,58,75,31,136,21,17,147,98,17,90,95,101,80,17,34,127,34,17,88,38,94,17,72,95,17,13,119,98,13,119,98,13,31,9,23,5,42,39,15,59,48,45,80,111,68,138,55,13,53,68,107,76,13,145,68,9,108,120,9,107,84,9,102,73,9,14,115,25,30,13,9,25,5,1,42,45],"data":{"version":3,"file":"method_call_chain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/method_call_chain.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/new_object.js":{"lineLengths":[13,62,27,45,62,46,37,58,59,48,48,52,50,17,40,28,80,103,101,37,95,9,103,89,23,115,13,18,97,27,96,110,80,17,13,29,91,88,106,76,13,9,50,29,9,36,80,9,32,77,32,135,78,89,95,92,110,80,17,29,13,9,32,62,57,54,27,13,67,54,13,56,27,13,18,90,106,76,13,9,57,46,9,14,74,63,13,9,110,75,102,72,9,19,5,34,51,59,74,48,69,138,69,81,21,39,59,37,107,106,23,13,84,106,68,106,23,13,9,30,36,39,90,106,23,13,97,9,49,115,102,19,9,5,34,35,35,29,9,66,64,53,41,13,9,26,5,1,30,38],"data":{"version":3,"file":"new_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/new_object.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_parameters.js":{"lineLengths":[13,62,34,45,62,39,47,37,37,48,52,50,24,19,44,5,36,15,68,87,9,52,49,48,9,14,130,9,37,128,27,33,80,26,33,73,26,32,72,26,33,73,26,34,67,26,24,104,13,9,39,5,27,41,15,162,33,73,102,19,9,61,69,102,19,9,69,123,21,74,9,26,78,114,77,106,23,13,9,5,41,62,42,53,39,13,18,123,46,102,110,27,17,52,13,84,25,87,13,53,66,106,23,13,138,85,106,23,13,9,5,40,15,62,88,61,106,23,13,42,53,39,13,18,122,46,101,110,27,17,52,13,133,85,106,23,13,101,9,5,56,63,49,19,9,67,52,130,9,35,94,105,92,92,42,98,106,23,13,143,85,106,23,13,54,9,30,43,9,5,31,15,114,71,102,9,5,41,15,33,22,9,71,84,9,23,45,105,95,13,161,37,91,13,70,39,88,13,39,56,72,61,49,21,17,13,88,43,57,40,17,22,97,110,86,17,13,51,9,19,5,33,15,33,22,9,71,84,9,23,45,105,95,13,161,37,91,13,70,39,88,13,78,51,9,19,5,1,44,45],"data":{"version":3,"file":"method_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/method_parameters.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/inline_data.js":{"lineLengths":[13,62,28,62,69,45,46,52,18,34,15,135,28,93,48,13,60,94,106,23,13,150,50,119,9,25,98,178,50,119,9,5,1,32,39],"data":{"version":3,"file":"inline_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/inline_data.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qEAA8E;AAC9E,6CAAkG;AAElG,8CAA4C;AAC5C,oDAA0D;AAE1D,MAAa,UAAU;IACd,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,IAA8B;;QACvF,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,0CAAE,aAAa,EAAE,CAAC;QACjF,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,IAAI,YAAY,qBAAa,IAAI,IAAI,YAAY,iBAAS,EAAE,CAAC;gBAC/D,IAAI,GAAG,kBAAU,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;iBAAM,IAAI,IAAI,YAAY,oBAAY,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,6DAA6D,CAAC;gBAC9E,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,mCAAe,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,gDAAiC,CAAC,CAAC;YACvG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,0BAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChG,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,6CAA6C,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;YACtF,MAAM,UAAU,GAAG,IAAI,mCAAe,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,OAAO,CAAC,EAAE,gDAAiC,CAAC,CAAC;YAC3H,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,0BAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;CACF;AArBD,gCAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/target.js":{"lineLengths":[13,62,24,62,39,65,49,45,53,53,49,46,57,64,49,33,52,14,28,43,35,47,59,24,133,39,13,9,52,39,80,29,9,49,36,84,102,72,9,37,45,40,22,13,57,68,76,110,80,17,68,145,140,64,62,110,80,17,13,71,69,66,64,70,110,80,17,13,74,108,70,110,80,17,61,48,17,13,74,98,13,70,59,61,71,74,67,110,80,17,85,153,17,13,62,74,104,71,110,80,17,83,61,51,17,13,74,146,104,13,9,74,21,98,95,106,76,13,70,9,74,21,98,95,106,76,13,70,9,23,5,37,26,33,29,9,43,36,57,69,57,24,118,13,37,85,27,126,17,13,81,9,63,65,24,123,62,13,78,165,50,13,18,81,13,9,100,76,60,52,106,76,13,23,9,69,5,1,24,34],"data":{"version":3,"file":"target.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/target.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/cast.js":{"lineLengths":[13,62,22,45,62,37,48,48,46,52,12,40,73,39,58,102,72,9,78,27,86,119,37,68,102,72,9,50,28,9,36,53,102,72,9,49,62,49,106,73,28,93,152,17,13,18,61,13,97,52,13,59,64,13,40,63,85,116,76,13,9,61,92,55,102,72,9,18,5,1,20,32],"data":{"version":3,"file":"cast.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/cast.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_type_utils.js":{"lineLengths":[13,62,27,36,42,64,44,17,24,27,5,28,33,25,9,57,51,62,33,17,13,24,9,76,60,9,51,46,47,52,49,59,48,47,52,57,50,47,50,50,24,9,21,5,22,33,25,9,76,54,9,57,51,56,33,17,13,24,9,51,52,47,46,50,50,50,51,49,48,56,51,53,53,57,52,59,47,47,48,49,50,24,9,21,5,21,33,25,9,57,51,55,33,17,13,24,9,76,53,9,52,46,47,51,52,46,53,24,9,21,5,36,41,41,50,50,30,24,9,10,29,29,10,102,73,24,28,13,18,29,13,9,102,73,24,28,13,18,29,13,9,95,34,28,13,50,44,28,13,9,104,68,28,13,54,44,28,13,9,108,34,28,13,68,28,13,54,44,28,13,9,21,5,29,15,30,25,21,64,54,52,37,148,13,9,20,34,51,26,66,112,9,40,5,25,19,23,39,35,82,178,9,19,5,34,15,20,5,40,52,55,28,13,9,21,5,38,52,53,28,13,9,21,5,60,43,10,32,32,36,10,106,25,9,25,53,9,54,58,129,68,17,65,13,61,129,32,17,29,13,60,129,32,17,29,13,9,53,52,129,68,17,65,13,61,29,13,103,129,32,17,29,13,9,56,98,29,13,61,129,32,17,29,13,67,74,29,13,104,129,32,17,29,13,24,9,59,58,64,64,74,33,17,67,112,37,21,17,28,13,59,53,13,55,52,56,28,13,25,9,58,96,29,13,9,57,55,29,13,102,129,32,17,29,13,9,55,56,29,13,9,72,61,55,58,54,57,29,13,9,65,55,56,58,54,59,29,13,9,57,51,56,55,64,55,29,13,9,55,54,89,13,58,52,56,28,13,9,49,5,34,10,32,32,10,50,40,70,13,50,52,53,59,28,13,59,58,58,156,32,17,161,32,17,66,69,76,37,21,75,81,37,21,17,71,69,76,37,21,75,81,37,21,17,28,13,25,9,114,55,9,62,70,61,71,53,53,52,59,28,13,25,9,59,55,53,53,52,59,28,13,25,9,59,79,70,13,55,52,53,59,28,13,63,100,33,17,28,13,54,28,13,100,29,13,61,29,13,74,28,13,25,9,54,54,54,89,29,13,102,58,45,28,13,60,64,58,74,29,13,24,9,56,61,57,29,13,9,20,5,1,30,39],"data":{"version":3,"file":"_type_utils.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/_type_utils.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/assert_error.js":{"lineLengths":[13,62,29,33,1,34,40],"data":{"version":3,"file":"assert_error.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/assert_error.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAY,SAAQ,KAAK;CAErC;AAFD,kCAEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_builtin.js":{"lineLengths":[13,62,49,28,66,42,46,45,65,67,43,54,47,31,29,23,5,29,23,48,88,110,9,19,5,19,65,5,14,73,5,20,23,48,88,110,9,47,88,109,9,19,5,27,50,29,9,56,32,41,9,25,5,20,18,5,18,18,5,19,18,5,20,88,97,5,21,18,5,21,46,5,22,21,5,18,21,5,16,21,5,22,21,5,21,20,5,37,25,5,1,38,15,19,21,5,35,27,32,9,83,90,30,22,5,25,33,29,9,56,32,29,9,47,5,23,33,29,9,56,32,29,9,29,5,16,35,9,91,169,9,9,88,158,9,19,5,17,23,44,53,64,66,68,105,103,104,110,136,136,103,108,160,159,164,158,157,104,101,97,102,99,100,102,99,131,9,38,33,90,202,9,19,5,33,25,89,148,5,15,30,72,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,79,79,73,72,79,79,79,79,110,135,76,110,110,110,110,110,79,79,79,110,76,111,110,79,79,77,77,79,79,79,79,79,79,79,110,80,77,79,79,110,80,80,80,80,80,79,79,80,77,79,79,79,79,79,79,79,79,111,79,79,110,111,111,110,111,111,79,79,111,78,79,73,73,111,73,79,79,79,73,79,79,79,111,80,111,79,80,80,111,111,80,112,112,80,111,80,80,111,111,111,111,111,111,111,111,111,111,111,111,110,89,111,111,111,111,79,110,80,76,76,110,109,79,79,73,73,110,59,90,174,92,176,93,96,235,35,5,38,89,33,46,9,34,26,9,176,5,1,26,40,20,22,68,39,19,12,35,20,43,10,42,6,13,35,20,43,10,40,6,13,35,20,43,10,40,6,13,35,20,43,10,40,6,16,35,20,45,10,42,40,6,14,35,20,43,10,41,40,6,14,35,20,44,10,19,45,10,42,40,6,13,35,20,43,10,42,6,17,35,20,43,45,10,19,45,10,42,40,6,16,35,20,43,10,42,6,13,35,20,44,44,10,19,44,44,44,44,44,44,10,41,40,6,13,35,20,44,44,10,19,44,44,44,44,44,44,10,41,40,6,24,35,20,128,10,19,43,10,41,40,6,17,35,20,43,10,19,43,44,42,10,41,40,6,17,35,20,43,10,19,43,45,43,45,44,49,45,45,45,10,45,24,40,6,28,35,20,43,10,19,43,45,43,45,45,45,10,24,78,6,24,35,20,43,10,19,43,45,43,45,45,45,10,45,24,40,6,12,35,20,43,10,40,6,13,35,20,43,10,40,6,14,35,20,43,10,19,43,45,44,49,45,45,10,42,40,6,25,35,20,43,10,19,43,45,44,49,45,45,10,42,40,6,21,35,20,43,10,19,43,45,44,49,45,45,10,42,40,6,17,35,20,43,10,42,6,17,35,20,44,44,10,42,40,6,15,35,20,43,46,10,41,40,6,12,35,20,43,10,40,6,13,35,20,43,10,19,43,45,44,49,45,45,45,10,42,40,6,24,35,20,43,10,19,43,45,45,45,10,42,40,6,20,35,20,43,10,19,43,45,45,45,10,42,40,6,17,35,20,43,10,19,43,45,44,49,45,45,45,10,42,40,6,14,35,20,43,10,42,6,13,35,20,43,10,42,6,19,35,20,42,10,19,49,45,45,10,41,40,6,15,35,20,43,43,10,19,45,10,41,40,6,13,35,20,44,43,10,42,44,6,20,35,20,41,10,45,24,44,6,19,35,20,41,10,42,44,6,14,35,20,126,10,42,6,12,35,20,43,10,40,6,14,35,20,43,10,40,6,14,35,20,43,22,49,45,44,45,10,41,40,6,16,35,20,43,10,19,49,45,44,45,45,10,45,24,40,6,13,35,20,44,44,10,19,44,44,44,44,44,44,44,10,42,40,6,13,35,20,44,44,10,19,44,44,44,44,44,44,44,10,42,40,6,18,35,20,43,10,42,6,15,35,20,43,43,10,41,40,6,16,35,20,43,44,10,19,43,45,44,49,45,45,45,10,41,40,6,16,35,20,43,10,19,45,46,46,10,40,40,6,16,35,20,43,10,41,40,6,14,35,20,43,10,19,45,46,46,10,42,40,6,16,35,20,43,47,10,19,43,45,10,41,40,6,19,35,20,43,10,19,43,48,50,10,41,40,6,20,35,20,43,10,19,43,48,50,10,41,40,6,13,35,20,43,10,42,6,12,35,20,43,10,40,6,13,35,20,43,10,40,6,13,35,20,43,10,40,6,15,35,20,43,10,42,6,18,35,20,43,10,19,45,45,10,41,40,6,24,35,20,43,10,19,43,45,44,49,45,45,10,41,40,6,25,35,20,43,10,19,43,45,44,49,45,45,10,41,40,6,23,35,20,43,10,19,43,45,44,49,45,45,10,41,40,6,21,35,20,43,10,19,43,45,44,49,45,45,10,41,40,6,12,35,20,43,10,40,6,13,35,20,43,10,40,6,17,35,20,43,10,41,40,6,17,35,20,43,10,19,49,43,45,10,41,40,6,17,35,54,41,40,6,18,35,20,43,44,42,10,41,40,6,14,35,20,43,10,42,6,20,35,20,45,10,19,46,46,49,47,10,42,40,6,24,35,42,40,6,21,35,20,46,45,10,40,40,6,16,35,20,43,10,45,44,6,16,35,20,47,10,42,6,2,36],"data":{"version":3,"file":"_builtin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/_builtin.ts"],"names":[],"mappings":"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E,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_call_param.js":{"lineLengths":[13,62,33,39,45,62,59,49,37,48,52,23,36,67,64,102,19,9,44,57,71,102,19,9,34,106,56,80,42,99,110,27,17,13,9,56,57,72,56,73,102,110,27,17,85,124,110,27,17,13,39,56,74,41,69,110,27,17,72,61,49,30,21,17,13,18,36,13,54,60,87,13,99,86,86,43,75,106,23,13,129,71,106,23,13,9,112,92,9,71,87,9,14,39,64,102,19,9,5,1,42,45],"data":{"version":3,"file":"method_call_param.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/method_call_param.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_definition.js":{"lineLengths":[13,62,33,61,61,57,57,59,57,67,57,57,65,67,55,56,30,66,69,9,72,85,36,45,25,31,90,88,114,53,52,32,74,51,73,48,52,65,33,145,9,82,54,56,55,70,120,63,55,5,18,28,5,17,27,5,28,31,5,26,26,5,21,31,5,21,31,5,16,32,5,15,31,5,23,33,5,18,28,5,20,28,5,18,29,5,22,33,5,6,26,7,6,23,27,15,182,40,82,20,5,41,15,39,32,35,56,166,55,76,29,17,82,29,17,32,13,100,53,13,83,9,63,87,95,13,9,5,29,15,26,219,44,44,40,30,9,22,5,32,82,19,60,20,167,13,78,131,13,9,5,29,15,82,82,141,38,83,13,54,54,67,23,170,13,78,179,13,18,182,13,9,5,1,42,44],"data":{"version":3,"file":"class_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/class_definition.ts"],"names":[],"mappings":";;;AACA,6DAAuD;AACvD,6DAA2D;AAC3D,yDAAyD;AACzD,yDAAyD;AACzD,2DAA2D;AAC3D,yDAA8C;AAC9C,mEAA6D;AAI7D,yDAAkD;AAClD,yDAAmD;AACnD,iEAA4D;AAG5D,mEAA4D;AAE5D,uDAAqD;AAKrD,MAAa,eAAgB,SAAQ,wBAAU;IAe7C,YAAmB,IAAmB,EAAE,KAAkB;QACxD,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,GAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAAE,CAAC,aAAa,EAAE,CAAC;QAC/E,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,GAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC;QACnF,IAAI,CAAC,UAAU,GAAG,GAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;QAEjF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAS,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE5F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE5C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,IAAI,iCAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,UAAU,GAAG,IAAI,6BAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kCAAe,CAAC,CAAC,EAAE,uBAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,iCAAiC;QACvG,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAErD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,GAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;QAEjD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,qBAAqB,CAAC,UAAU,CAAC,MAAK,SAAS,CAAC;QAErE,uDAAuD;QACvD,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEH;;;MAGE;IAEA,mBAAmB;IAEX,SAAS,CAAC,GAA8B,EAAE,KAAkB;;QAClE,MAAM,KAAK,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,oBAAoB,CAAC,4BAAc,CAAC,0CAAE,aAAa,EAAE,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,4BAA4B,CAAC,KAAmB;;QACtD,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAgB,IAAI,GAAG,EAAE,CAAC;QAErC,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC5C,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,oBAAoB,EAAE,0CAAE,MAAM,EAAE,KAAI,EAAE,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;gBACvC,IAAI,CAAC,CAAC,aAAa,EAAE,KAAK,uBAAU,CAAC,OAAO,EAAE,CAAC;oBAC7C,SAAS;gBACX,CAAC;qBAAM,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBAClE,SAAS;gBACX,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,KAAI,EAAE,EAAE,CAAC;gBACzC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,GAAG,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,EAAE,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,KAAK,KAAK,EAAE,CAAC;gBACzE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,GAA8B,EAAE,KAAkB;;QACpE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC,0CAAE,qBAAqB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAI,EAAE,EAAE,CAAC;YACxH,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,KAAgC,EAAE,KAAkB;QACvE,MAAM,IAAI,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,0BAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YAC1I,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAClE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,0BAAa,CAAC,2BAA2B,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAkB,EAAE,SAAwB;;QACxD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC;YACtE,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,0CAAE,aAAa,EAAE,CAAC;YACnF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;YAExC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,0BAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YAC7I,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAClE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,0BAAa,CAAC,2BAA2B,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YACtJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,0BAAa,CAAC,8BAA8B,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YACzJ,CAAC;QACH,CAAC;IACH,CAAC;CAEF;AAzMD,0CAyMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/method_definitions.js":{"lineLengths":[13,62,35,59,57,59,65,25,30,22,22,32,5,15,35,30,9,5,21,33,29,9,44,5,27,33,68,33,107,52,9,5,24,68,19,52,9,74,20,97,9,72,124,108,52,9,74,124,110,52,9,71,124,107,52,9,5,1,46,46],"data":{"version":3,"file":"method_definitions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/method_definitions.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/method_definition.js":{"lineLengths":[13,62,34,59,59,59,67,55,57,23,42,19,62,90,9,72,34,90,9,53,34,66,37,56,37,85,27,142,17,13,9,34,66,37,9,30,62,33,9,28,37,78,31,9,26,179,44,40,36,63,23,170,13,78,174,13,18,177,13,9,29,192,44,40,39,9,37,95,5,21,31,5,22,33,5,18,29,5,16,27,5,22,33,5,21,31,5,18,28,5,21,31,5,1,44,45],"data":{"version":3,"file":"method_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/method_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/method_parameters.js":{"lineLengths":[13,62,34,70,59,36,59,35,87,71,67,55,61,57,8,24,38,24,46,62,90,9,28,28,27,27,27,35,35,29,39,66,49,121,60,39,5,19,29,5,19,29,5,14,23,46,24,32,9,41,41,40,19,5,27,42,29,9,47,61,9,34,34,9,76,74,38,33,9,25,5,20,30,5,29,15,23,46,103,25,13,131,25,13,24,9,45,103,25,13,24,9,19,5,20,30,5,19,29,5,20,30,5,21,31,5,36,54,5,23,52,19,75,22,141,100,65,89,22,125,13,40,168,13,150,105,86,48,77,89,49,198,29,17,146,28,177,17,34,190,17,22,100,166,17,13,19,9,83,24,123,63,81,53,65,17,13,9,83,24,123,9,81,23,119,9,83,24,157,9,52,5,44,67,65,20,88,41,29,17,210,13,61,49,52,52,53,52,246,246,248,13,9,25,53,192,9,33,68,184,46,38,13,48,186,47,39,13,50,9,5,54,19,87,72,34,25,13,33,175,81,13,87,74,13,42,73,13,101,42,28,56,79,41,13,68,79,41,135,67,46,17,13,9,32,19,9,74,37,88,9,5,1,44,45],"data":{"version":3,"file":"method_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/method_parameters.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_def_returning.js":{"lineLengths":[13,62,36,62,69,45,48,50,26,34,76,33,114,9,70,33,94,9,72,89,91,9,20,110,9,14,150,9,5,1,48,48],"data":{"version":3,"file":"method_def_returning.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/method_def_returning.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qEAA8E;AAC9E,6CAA8C;AAC9C,gDAA0C;AAE1C,kDAA4C;AAE5C,MAAa,kBAAkB;IACtB,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,IAAsB;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACpE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,0BAAW,CAAC,+DAA+D,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,0BAAW,CAAC,2CAA2C,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,EAAE,MAAK,IAAI,EAAE,CAAC;YAChC,KAAK,GAAG,IAAI,mBAAW,CAAC,6CAA6C,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;CACF;AAxBD,gDAwBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_param.js":{"lineLengths":[13,62,29,69,45,48,62,39,67,50,19,34,76,33,106,9,70,33,86,9,67,18,17,62,13,23,146,13,9,57,66,139,9,71,131,9,74,20,110,9,14,150,9,5,1,34,40],"data":{"version":3,"file":"method_param.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/method_param.ts"],"names":[],"mappings":";;;AACA,qEAA8E;AAC9E,6CAA4D;AAC5D,gDAA0C;AAC1C,8DAA8D;AAC9D,uCAAkC;AAClC,mEAA6D;AAE7D,kDAA4C;AAE5C,MAAa,WAAW;IACf,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,IAAsB;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACpE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,0BAAW,CAAC,uDAAuD,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,0BAAW,CAAC,mCAAmC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC;gBACH,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,4BAAY,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7F,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,oBAAY,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;CACF;AAnCD,kCAmCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/default.js":{"lineLengths":[13,62,25,62,47,46,41,15,28,72,20,120,9,73,23,65,9,25,5,1,26,35],"data":{"version":3,"file":"default.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/default.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,+CAAyC;AACzC,8CAA4C;AAC5C,yCAAoC;AAGpC,MAAa,OAAO;IACX,SAAS,CAAC,IAAoB,EAAE,KAAkB;QAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,0BAAa,CAAC,iBAAiB,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,mBAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAfD,0BAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/constant.js":{"lineLengths":[13,62,26,45,64,16,21,50,63,74,9,52,36,39,27,24,13,81,9,41,73,9,14,44,9,5,1,28,36],"data":{"version":3,"file":"constant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/constant.ts"],"names":[],"mappings":";;;AACA,6CAAyE;AAEzE,gEAAuD;AAEvD,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAoB;QACnC,0CAA0C;QAC1C,IAAI,IAAI,CAAC,oBAAoB,CAAC,qBAAO,CAAC,EAAE,CAAC;YACvC,OAAO,mBAAW,CAAC,GAAG,CAAC,EAAC,mBAAmB,EAAE,IAAI,EAAC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBACb,GAAG,GAAG,CAAC,CAAC;YACV,CAAC;YACD,OAAO,IAAI,qBAAa,CAAC,GAAG,EAAE,EAAC,mBAAmB,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,kBAAU,CAAC,GAAG,CAAC,EAAC,mBAAmB,EAAE,IAAI,EAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,kBAAU,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AApBD,4BAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/event_definition.js":{"lineLengths":[13,62,33,67,59,62,61,71,56,43,55,90,9,70,34,90,9,53,29,32,5,21,31,5,19,24,77,91,9,5,1,42,44],"data":{"version":3,"file":"event_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/event_definition.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAE7D,2DAA2D;AAG3D,8DAAyD;AAEzD,6DAAiF;AACjF,uEAAiE;AAGjE,MAAa,eAAgB,SAAQ,wBAAU;IAG7C,YAAmB,IAAmB,EAAE,WAAuB,EAAE,KAAkB;QACjF,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,eAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEH,eAAe;IAEL,KAAK,CAAC,IAAmB,EAAE,KAAkB;QACnD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,yBAAqB,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,0BAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;CAEF;AA7BD,0CA6BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_chain.js":{"lineLengths":[13,62,32,62,59,69,45,39,46,58,52,22,37,36,29,9,44,51,100,31,13,38,81,25,13,70,52,37,79,74,115,88,21,17,43,76,74,115,88,21,17,43,123,74,115,88,21,17,13,72,50,63,48,39,33,21,17,72,63,48,92,115,88,21,17,74,55,79,44,77,115,88,21,86,72,92,48,79,115,88,21,26,39,49,91,26,149,21,17,22,151,111,84,17,13,9,23,5,1,40,43],"data":{"version":3,"file":"component_chain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/component_chain.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/string_template.js":{"lineLengths":[13,62,32,45,62,37,48,52,22,28,67,45,97,78,72,37,60,106,76,13,98,59,96,106,76,13,101,103,143,69,13,22,114,57,54,56,55,59,64,57,56,66,108,76,13,9,19,5,1,40,43],"data":{"version":3,"file":"string_template.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/string_template.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/value_body.js":{"lineLengths":[13,62,27,62,31,37,31,57,45,52,17,40,15,33,30,9,30,67,22,66,9,26,82,69,34,28,13,9,33,82,85,151,28,44,65,107,80,17,38,13,9,99,73,67,9,82,58,63,59,43,63,58,105,76,13,37,58,50,13,84,78,51,62,17,13,85,86,13,76,67,13,9,33,58,9,45,58,9,103,24,9,46,5,1,30,38],"data":{"version":3,"file":"value_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/value_body.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/for.js":{"lineLengths":[13,62,21,62,71,37,69,48,53,33,45,69,46,31,11,28,15,27,88,90,131,64,46,37,33,41,23,57,114,26,9,37,84,9,38,86,9,40,61,156,50,125,9,73,54,9,80,69,9,71,50,9,19,57,9,22,5,1,18,31],"data":{"version":3,"file":"for.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/for.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/inline_field_definition.js":{"lineLengths":[13,62,39,69,37,62,48,65,46,52,45,29,40,15,29,130,34,29,9,69,21,66,9,73,23,75,9,39,30,9,33,85,9,36,59,63,102,72,9,146,115,46,20,5,1,54,51],"data":{"version":3,"file":"inline_field_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/inline_field_definition.ts"],"names":[],"mappings":";;;AACA,qEAA8E;AAC9E,qCAAgC;AAChC,8DAA8D;AAE9D,gDAA0C;AAC1C,iEAA2D;AAC3D,8CAA4C;AAC5C,oDAA0E;AAC1E,6CAA2C;AAE3C,MAAa,qBAAqB;IACzB,SAAS,CACd,IAAoC,EACpC,KAAkB,EAClB,UAAyB;;QAEzB,IAAI,IAAI,GAA6B,SAAS,CAAC;QAE/C,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,CAAC,0CAAE,aAAa,EAAE,CAAC;QAC5E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,GAAG,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,0BAAW,CAAC,iCAAiC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,YAAY,IAAI,kBAAkB,CAAC;YACnD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,mCAAe,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,gDAAiC,CAAC,CAAC;QACvG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,0BAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9F,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAzCD,sDAyCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/inline_loop_definition.js":{"lineLengths":[13,62,38,62,37,45,69,46,52,28,28,33,19,9,72,35,78,9,69,31,78,36,58,50,13,62,37,13,65,73,106,23,13,37,75,46,37,13,45,73,106,23,13,170,136,135,50,9,60,70,187,135,50,9,5,1,52,50],"data":{"version":3,"file":"inline_loop_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/inline_loop_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_cond.js":{"lineLengths":[13,62,31,62,59,21,34,83,72,20,62,13,9,83,81,9,5,1,38,42],"data":{"version":3,"file":"component_cond.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/component_cond.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAI9D,2DAAqD;AAErD,MAAa,aAAa;IAEjB,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,IAAmB;QAE5E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC5D,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzE,IAAI,oCAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;IAEH,CAAC;CAEF;AAjBD,sCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_compare.js":{"lineLengths":[13,62,34,62,52,55,37,24,34,82,34,64,102,19,9,77,73,54,9,5,1,44,45],"data":{"version":3,"file":"component_compare.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/component_compare.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAG9D,oDAA0D;AAC1D,uDAAiD;AACjD,qCAAgC;AAEhC,MAAa,gBAAgB;IAEpB,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,IAAmB;QAE5E,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAC1E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,mCAAmC,CAAC;YACpD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,gCAAc,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAEnD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CAEF;AAlBD,4CAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/cond.js":{"lineLengths":[13,62,22,62,39,12,28,74,63,20,47,13,9,74,56,9,5,1,20,32],"data":{"version":3,"file":"cond.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/cond.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAG9D,uCAAkC;AAElC,MAAa,IAAI;IACR,SAAS,CAAC,IAAoB,EAAE,KAAkB;QACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IAEH,CAAC;CACF;AAdD,oBAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/compare.js":{"lineLengths":[13,62,25,62,37,59,63,15,28,73,54,9,84,78,9,82,74,9,5,1,26,35],"data":{"version":3,"file":"compare.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/compare.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qCAAgC;AAChC,2DAAoD;AACpD,+DAAwD;AAGxD,MAAa,OAAO;IACX,SAAS,CAAC,IAAoB,EAAE,KAAkB;QAEvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC1E,IAAI,uCAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;YACxE,IAAI,mCAAe,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IAEH,CAAC;CACF;AAhBD,0BAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/source_field_symbol.js":{"lineLengths":[13,62,35,45,46,52,25,28,43,63,34,101,102,72,9,109,31,5,1,46,47],"data":{"version":3,"file":"source_field_symbol.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/source_field_symbol.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAE3C,8CAA4C;AAC5C,oDAA0E;AAE1E,MAAa,iBAAiB;IACrB,SAAS,CAAC,IAAoB,EAAE,KAAkB;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,iCAAiC,CAAC;YACzF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,0BAAa,CAAC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;CACF;AAZD,8CAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/let.js":{"lineLengths":[13,62,21,62,71,48,11,47,33,25,9,33,114,9,88,86,9,20,5,1,18,31],"data":{"version":3,"file":"let.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/let.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,uEAAgE;AAChE,gDAAyC;AAGzC,MAAa,GAAG;IACP,SAAS,CAAC,IAAgC,EAAE,KAAkB,EAAE,SAAS,GAAG,KAAK;QACtF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAS,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1F,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC9E,IAAI,+CAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAhBD,kBAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/field_assignment.js":{"lineLengths":[13,62,33,62,45,52,37,23,40,73,37,71,102,19,9,64,30,69,102,19,9,29,58,37,53,46,79,63,87,84,114,31,21,17,13,27,9,58,30,9,56,5,1,42,44],"data":{"version":3,"file":"field_assignment.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/field_assignment.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,6CAA0D;AAE1D,oDAA0D;AAC1D,qCAAgC;AAEhC,MAAa,eAAe;IAEnB,SAAS,CACd,IAAoC,EACpC,KAAkB,EAClB,UAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,0CAA0C,CAAC;YAC3D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,wCAAwC,CAAC;YACzD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,IAAI,GAA6B,SAAS,CAAC;QAC/C,IAAI,UAAU,YAAY,qBAAa,EAAE,CAAC;YACxC,IAAI,OAAO,GAA6B,UAAU,CAAC;YACnD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC9B,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,YAAY,qBAAa,EAAE,CAAC;oBACrD,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC3C,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,CAAC,YAAY,EAAE,KAAK,KAAK,EAAE,CAAC;wBACjE,MAAM,OAAO,GAAG,SAAS,IAAI,8BAA8B,CAAC;wBAC5D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;wBACrE,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,GAAG,OAAO,CAAC;QACjB,CAAC;aAAM,IAAI,UAAU,YAAY,gBAAQ,EAAE,CAAC;YAC1C,IAAI,GAAG,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;CAEF;AA3CD,0CA2CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/reduce_body.js":{"lineLengths":[13,62,28,62,31,37,71,65,47,31,48,18,40,33,19,9,27,67,22,63,9,30,88,35,118,30,13,39,70,25,87,13,111,47,30,13,9,26,82,69,34,28,13,9,73,54,9,77,63,9,30,58,9,45,58,9,20,25,9,14,70,9,5,1,32,39],"data":{"version":3,"file":"reduce_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/reduce_body.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/reduce_next.js":{"lineLengths":[13,62,28,62,37,37,18,28,33,19,9,73,54,9,79,54,9,5,1,32,39],"data":{"version":3,"file":"reduce_next.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/reduce_next.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qCAAgC;AAChC,qCAAgC;AAGhC,MAAa,UAAU;IACd,SAAS,CAAC,IAAgC,EAAE,KAAkB;QACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YACrE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAdD,gCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/switch_body.js":{"lineLengths":[13,62,28,62,37,52,45,18,28,33,19,9,65,122,53,102,72,9,72,73,35,25,13,54,9,20,5,1,32,39],"data":{"version":3,"file":"switch_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/switch_body.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qCAAgC;AAChC,oDAA0E;AAE1E,6CAA2C;AAE3C,MAAa,UAAU;IACd,SAAS,CAAC,IAAgC,EAAE,KAAkB;QACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,wBAAwB,CAAC;YACzC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAvBD,gCAuBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/cond_body.js":{"lineLengths":[13,62,26,62,37,31,33,16,28,33,29,9,27,61,16,57,9,71,50,9,29,73,37,65,13,18,58,13,9,30,58,9,20,5,1,28,37],"data":{"version":3,"file":"cond_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/cond_body.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qCAAgC;AAChC,+BAA0B;AAC1B,iCAA4B;AAI5B,MAAa,QAAQ;IACZ,SAAS,CACd,IAAgC,EAChC,KAAkB;QAElB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,GAAG,IAAI,SAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,WAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,GAA6B,SAAS,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAlCD,4BAkCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/conv_body.js":{"lineLengths":[13,62,26,62,37,31,52,45,16,28,27,61,16,57,9,64,30,56,102,72,9,69,30,58,9,26,5,1,28,37],"data":{"version":3,"file":"conv_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/conv_body.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qCAAgC;AAChC,+BAA0B;AAE1B,oDAA0E;AAC1E,6CAA2C;AAE3C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAoB,EAAE,KAAkB;QACvD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,GAAG,IAAI,SAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,2BAA2B,CAAC;YAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEpD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAtBD,4BAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/filter_body.js":{"lineLengths":[13,62,28,62,37,18,40,33,30,9,29,73,37,65,13,18,58,13,9,40,5,1,32,39],"data":{"version":3,"file":"filter_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/filter_body.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qCAAgC;AAIhC,MAAa,UAAU;IACd,SAAS,CACd,IAAgC,EAChC,KAAkB,EAClB,UAAoC;QAEpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,GAA6B,SAAS,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;IAClC,CAAC;CACF;AArBD,gCAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/corresponding_body.js":{"lineLengths":[13,62,35,62,37,25,40,33,30,9,29,73,37,65,13,18,58,13,9,46,5,1,46,46],"data":{"version":3,"file":"corresponding_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/corresponding_body.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qCAAgC;AAIhC,MAAa,iBAAiB;IACrB,SAAS,CACd,IAAgC,EAChC,KAAkB,EAClB,UAAoC;QAEpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,GAA6B,SAAS,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;CACF;AArBD,8CAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/attribute_chain.js":{"lineLengths":[13,62,32,59,83,58,64,52,22,48,59,32,9,90,136,76,9,52,34,68,135,76,9,87,32,125,102,76,9,48,40,74,60,36,59,9,36,108,91,76,9,31,76,9,73,33,5,1,40,43],"data":{"version":3,"file":"attribute_chain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/attribute_chain.ts"],"names":[],"mappings":";;;AAEA,2DAAqD;AACrD,mFAA4E;AAC5E,0DAAmD;AAGnD,gEAA6D;AAC7D,oDAA0E;AAE1E,MAAa,cAAc;IAClB,SAAS,CACd,YAAsC,EACtC,IAAW,EACX,KAAkB,EAClB,IAAqB;QAErB,IAAI,YAAY,YAAY,oBAAQ,EAAE,CAAC;YACrC,OAAO,YAAY,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,CAAC,YAAY,YAAY,2CAAmB,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,yCAAyC,CAAC,CAAC,CAAC;YACvG,OAAO,IAAI,oBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,2BAAa,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,wCAAwC,CAAC,CAAC,CAAC;YACtG,OAAO,IAAI,oBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/E,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,mBAAmB,GAAG,YAAY,CAAC,iBAAiB,EAAE,GAAG,uCAAuC,CAAC;YACjH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,oBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,iCAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,OAAO,GAAgC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,0BAA0B,GAAG,IAAI,GAAG,oBAAoB,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAChG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1D,OAAO,IAAI,oBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QAEL,iEAAiE;QAE7D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAEF;AAjDD,wCAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/dereference.js":{"lineLengths":[13,62,29,45,52,19,34,44,46,47,33,53,24,9,55,75,102,72,9,30,5,1,34,39],"data":{"version":3,"file":"dereference.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/dereference.ts"],"names":[],"mappings":";;;AACA,6CAA0F;AAE1F,oDAA0E;AAE1E,MAAa,WAAW;IACf,SAAS,CAAC,IAAW,EAAE,IAA8B,EAAE,KAAkB;QAC9E,IAAI,IAAI,YAAY,gBAAQ;eACrB,IAAI,YAAY,eAAO;eACvB,IAAI,YAAY,gBAAQ;eACxB,IAAI,KAAK,SAAS;eAClB,IAAI,YAAY,mBAAW,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAa,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,8CAA8C,CAAC;YAC/D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF;AAlBD,kCAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/source_field.js":{"lineLengths":[13,62,29,45,46,52,19,48,43,36,53,34,66,33,106,13,72,9,19,73,9,33,81,23,122,13,9,31,5,1,34,40],"data":{"version":3,"file":"source_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/source_field.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAE3C,8CAA4C;AAC5C,oDAA0E;AAE1E,MAAa,WAAW;IACf,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,IAAsC,EAChF,KAAK,GAAG,IAAI;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAE5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,uBAAuB,CAAC;YACtD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,0BAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;CACF;AA1BD,kCA0BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/type_table.js":{"lineLengths":[13,62,27,69,48,62,45,48,53,17,49,80,76,37,81,9,37,29,9,46,54,70,58,81,81,77,13,9,87,33,129,9,77,82,24,29,13,9,83,5,1,30,38],"data":{"version":3,"file":"type_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/type_table.ts"],"names":[],"mappings":";;;AACA,qEAA8D;AAC9D,gDAA0C;AAC1C,8DAA8D;AAC9D,6CAA8C;AAC9C,gDAAyC;AACzC,qDAA8C;AAG9C,MAAa,SAAS;IACb,SAAS,CAAC,IAAoC,EAAE,KAAkB,EAAE,mBAA4B;QACrG,wEAAwE;QACxE,IAAI,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAEtC,IAAI,aAAa,GAAG,mBAAmB,IAAI,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;YAC5D,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,uBAAS,CAAC,eAAe;mBAChD,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,uBAAS,CAAC,SAAS,EAAE,CAAC;gBACrD,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,aAAa,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,IAAI,IAAI,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACjE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,mCAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,6BAAY,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,mCAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;CACF;AAnCD,8BAmCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/type_table_key.js":{"lineLengths":[13,62,30,62,45,20,27,48,46,59,80,70,89,75,67,96,21,17,13,9,25,5,1,36,42],"data":{"version":3,"file":"type_table_key.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/type_table_key.ts"],"names":[],"mappings":";;;AAEA,8DAA8D;AAC9D,6CAAwE;AAExE,MAAa,YAAY;IAChB,SAAS,CAAC,IAAoB,EAAE,IAAkB;QACvD,IAAI,IAAI,YAAY,iBAAS,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,OAAO,YAAY,qBAAa,EAAE,CAAC;gBACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9D,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,kCAAkC;2BAC9D,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,SAAS;2BAChD,MAAM,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;wBAC7C,OAAO,IAAI,mBAAW,CAAC,SAAS,MAAM,wBAAwB,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/class_data.js":{"lineLengths":[13,62,27,62,60,39,69,43,57,17,28,95,26,30,45,33,93,79,28,86,63,17,13,51,9,162,5,1,30,38],"data":{"version":3,"file":"class_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/structures/class_data.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,4DAA4D;AAC5D,uCAAyD;AACzD,qEAA8E;AAE9E,2CAA2C;AAC3C,yDAAsE;AAGtE,MAAa,SAAS;IACb,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,CAAE,CAAC,aAAa,EAAE,CAAC;QACxF,MAAM,MAAM,GAA8B,EAAE,CAAC;QAE7C,MAAM,UAAU,GAA0B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,qBAAa,IAAI,IAAI,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;gBACvE,MAAM,KAAK,GAAG,IAAI,sBAAe,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxD,IAAI,KAAK,EAAE,CAAC;oBACV,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAC,CAAC,CAAC;oBAChE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAY,CAAC;gBACvD,CAAC;YACH,CAAC;YACD,uCAAuC;QACzC,CAAC;QAED,OAAO,IAAI,mCAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,sCAAuB,EAAE,MAAM,CAAC,CAAC;IACzH,CAAC;CACF;AApBD,8BAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/data.js":{"lineLengths":[13,62,22,62,69,68,65,52,45,12,28,74,72,17,83,91,101,138,106,148,13,22,9,19,147,9,25,5,1,20,32],"data":{"version":3,"file":"data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/data.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA8D;AAC9D,oEAA8D;AAC9D,iEAA2D;AAC3D,oDAA0E;AAC1E,6CAA2C;AAE3C,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,EAAE,GAAG,IAAI,gCAAc,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,GAAG,SAAS,EAAE,MAAK,IAAI;mBAC/B,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,GAAG,YAAY,EAAE,MAAK,KAAK,EAAE,CAAC;gBAC9C,MAAM,OAAO,GAAG,qCAAqC,IAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAAE,CAAA,CAAC;gBAC7E,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,mCAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,0BAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACtG,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAtBD,oBAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/constant.js":{"lineLengths":[13,62,26,62,48,69,45,50,16,28,58,45,20,46,107,121,9,78,23,148,9,89,5,1,28,36],"data":{"version":3,"file":"constant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/constant.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,gDAA0C;AAC1C,qEAA8E;AAC9E,6CAA8C;AAE9C,kDAA4C;AAE5C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,iFAAgD,CAAC;YAC9D,OAAO,IAAI,mCAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACtE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,mCAAe,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC9G,CAAC;QAED,MAAM,IAAI,0BAAW,CAAC,0CAA0C,CAAC,CAAC;IACpE,CAAC;CACF;AAjBD,4BAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/data.js":{"lineLengths":[13,62,22,62,60,60,39,69,43,45,46,52,12,28,15,90,26,26,30,45,33,88,68,28,86,57,67,21,17,13,93,61,28,86,17,13,98,56,33,17,13,100,27,141,106,61,44,65,17,96,42,85,75,44,21,26,34,21,17,22,123,17,54,41,123,99,21,26,100,21,17,57,141,17,62,66,99,141,17,56,39,17,13,9,29,198,9,14,76,134,9,5,1,20,32],"data":{"version":3,"file":"data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/structures/data.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/type_enum.js":{"lineLengths":[13,62,26,62,60,60,45,69,46,59,48,50,16,28,15,24,25,59,78,9,73,34,85,9,72,83,37,25,13,47,63,115,9,76,83,37,25,13,47,63,115,9,127,95,35,57,24,116,13,9,80,19,52,81,81,77,13,85,144,36,27,9,65,19,34,37,33,38,38,19,13,24,176,28,9,33,5,1,28,37],"data":{"version":3,"file":"type_enum.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/structures/type_enum.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/basic/enum_type.js":{"lineLengths":[13,62,26,53,54,14,22,5,17,21,5,14,49,5,20,21,5,13,32,5,1,28,37],"data":{"version":3,"file":"enum_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/basic/enum_type.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,QAAS,SAAQ,6BAAY;IACjC,MAAM;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,gBAAgB,EAAE,IAAI,MAAM,CAAC;IAC3C,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK;QACV,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AApBD,4BAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/constants.js":{"lineLengths":[13,62,27,62,60,60,39,69,43,53,50,17,28,15,137,33,90,9,30,26,45,33,92,76,28,86,63,17,13,98,89,28,86,50,17,13,9,38,47,9,203,32,5,1,30,37],"data":{"version":3,"file":"constants.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/structures/constants.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,4DAA4D;AAC5D,4DAA4D;AAC5D,uCAAyD;AACzD,qEAA8E;AAE9E,2CAA2C;AAC3C,qDAAgD;AAEhD,kDAA4C;AAE5C,MAAa,SAAS;IACb,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QAGtD,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,0CAAE,aAAa,EAAE,CAAC;QACnF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,0BAAW,CAAC,uCAAuC,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,UAAU,GAA0B,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,qBAAa,IAAI,IAAI,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACtE,MAAM,KAAK,GAAG,IAAI,mBAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjD,IAAI,KAAK,EAAE,CAAC;oBACV,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAC,CAAC,CAAC;oBAChE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,YAAY,qBAAa,IAAI,IAAI,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC9E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAC,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvE,IAAI,KAAK,EAAE,CAAC;oBACV,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAC,CAAC,CAAC;oBAChE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,mCAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EACpB,IAAI,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EACnC,iFAAgD,CAAC,CAAC;QACnF,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;IACxB,CAAC;CACF;AArCD,8BAqCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/type_definitions.js":{"lineLengths":[13,62,33,23,23,22,25,31,79,57,9,5,14,25,5,21,15,96,5,1,42,44],"data":{"version":3,"file":"type_definitions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/type_definitions.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAe;IAI1B,YAAmB,IAA4B;QAF9B,QAAG,GAA4C,EAAE,CAAC;QAGjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3B,mEAAmE;YAC7D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAY;;QAC3B,OAAO,MAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,0CAAE,IAAI,CAAC;IAC5C,CAAC;CAEF;AApBD,0CAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/types.js":{"lineLengths":[13,62,23,62,60,60,39,69,45,61,45,43,48,13,49,95,30,30,48,37,9,45,33,53,54,115,32,90,21,17,66,87,60,38,21,26,50,21,17,13,94,105,28,86,17,13,9,20,88,9,70,29,9,64,77,77,73,9,129,5,1,22,33],"data":{"version":3,"file":"types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/structures/types.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/include_type.js":{"lineLengths":[13,62,29,62,45,48,69,52,50,19,28,19,30,69,34,91,9,52,72,117,58,75,29,31,36,21,9,125,62,34,51,36,117,29,17,33,42,33,19,13,57,9,16,66,65,40,53,9,65,53,9,60,24,9,74,46,9,14,91,102,72,9,26,5,1,34,40],"data":{"version":3,"file":"include_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/include_type.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/type.js":{"lineLengths":[13,62,22,48,69,45,62,58,52,12,49,67,17,92,9,96,20,100,110,89,106,151,13,92,65,80,65,80,110,155,17,13,25,9,83,23,144,9,25,5,1,20,32],"data":{"version":3,"file":"type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/type.ts"],"names":[],"mappings":";;;AACA,gDAA0C;AAC1C,qEAA8D;AAC9D,6CAAoE;AACpE,8DAA8D;AAC9D,0DAAoD;AACpD,oDAA0E;AAE1E,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB,EAAE,mBAA4B;QACpF,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,IAAI,sBAAS,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC1E,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,GAAG,SAAS,EAAE,MAAK,IAAI;mBAClC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,GAAG,YAAY,EAAE,MAAK,KAAK,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,sCAAsC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,mCAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,kBAAU,EAAE,CAAC;gBACtE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;uBACzD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC;oBAC/C,MAAM,OAAO,GAAG,2CAA2C,CAAC;oBAC5D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO,IAAI,mCAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,gBAAQ,CAAC,8BAAc,CAAC,CAAC,CAAC;gBAC7F,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAC3E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,mCAAe,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1G,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AApCD,oBAoCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/alias.js":{"lineLengths":[13,62,23,67,46,57,31,35,37,5,20,30,5,21,31,5,1,22,33],"data":{"version":3,"file":"alias.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/alias.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAI7D,MAAa,KAAM,SAAQ,wBAAU;IAInC,YAAmB,KAAoB,EAAE,UAAsB,EAAE,SAAiB,EAAE,QAAgB;QAClG,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAjBD,sBAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/class_implementation.js":{"lineLengths":[13,62,37,67,57,57,59,67,60,33,70,73,9,136,30,25,5,32,23,78,94,9,19,5,35,61,70,28,13,9,25,5,1,50,48],"data":{"version":3,"file":"class_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/class_implementation.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAE7D,yDAAyD;AACzD,yDAAyD;AACzD,2DAA2D;AAC3D,mEAA6D;AAG7D,MAAa,mBAAoB,SAAQ,wBAAU;IAGjD,YAAmB,IAAmB,EAAE,QAAgB;QACtD,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,mBAAmB,CAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAE,CAAC,aAAa,EAAE,CAAC;QAClI,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,wBAAwB;QAC7B,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,IAAI,CAAC,IAAI,4CAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,uBAAuB,CAAC,IAAY;QACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CAEF;AA9BD,kDA8BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/method_implementation.js":{"lineLengths":[13,62,38,67,57,59,61,33,57,91,9,71,34,95,9,47,5,1,52,49],"data":{"version":3,"file":"method_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/method_implementation.ts"],"names":[],"mappings":";;;AACA,mEAA6D;AAC7D,yDAAyD;AACzD,2DAA2D;AAE3D,MAAa,oBAAqB,SAAQ,wBAAU;IAElD,YAAmB,IAAmB,EAAE,QAAgB;QACtD,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;CAEF;AAbD,oDAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/form_definition.js":{"lineLengths":[13,62,32,57,59,44,67,36,59,67,35,55,30,107,47,70,56,45,59,41,23,54,75,81,5,27,36,5,26,36,5,29,39,5,19,23,23,77,35,22,9,79,51,43,198,13,18,79,39,91,34,116,17,56,129,17,105,90,17,157,13,9,19,5,27,58,34,22,9,45,5,29,23,77,75,24,9,19,5,1,40,43],"data":{"version":3,"file":"form_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/form_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/form_param.js":{"lineLengths":[13,62,27,69,45,64,48,50,17,28,23,143,67,32,159,33,27,111,41,82,17,13,18,79,13,147,9,59,37,164,9,75,34,149,9,24,185,9,75,5,1,30,38],"data":{"version":3,"file":"form_param.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/form_param.ts"],"names":[],"mappings":";;;AACA,qEAA8E;AAC9E,6CAAuD;AACvD,gEAA+E;AAC/E,gDAA0C;AAG1C,kDAA4C;AAE5C,MAAa,SAAS;IACb,SAAS,CAAC,IAAoB,EAAE,KAAkB;;QACvD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,2BAAa,CAAC,0CAAE,aAAa,EAAE,CAAC;QAE3E,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE,CAAC;YACzD,oBAAoB;YACpB,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,oBAAoB,CAAC,8BAAgB,CAAC,0CAAE,aAAa,GAAG,MAAM,EAAE,CAAC;YACvF,IAAI,IAAI,GAA+C,SAAS,CAAC;YACjE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,0CAAE,OAAO,EAAE,CAAC;gBACjD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;gBAChE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,IAAI,mBAAW,CAAC,8BAA8B,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,qDAA8B,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;YACjD,yBAAyB;YACzB,OAAO,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,eAAO,EAAE,EAAE,qDAA8B,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACxB,OAAO,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,qDAA8B,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,iBAAiB,CAAC,EAAE,qDAA8B,CAAC,CAAC;QAC5H,CAAC;QAED,MAAM,IAAI,0BAAW,CAAC,4BAA4B,CAAC,CAAC;IACtD,CAAC;CACF;AAnCD,8BAmCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/function_module_definition.js":{"lineLengths":[13,62,85,47,37,46,64,64,62,58,123,32,23,25,5,21,31,5,22,32,5,15,25,5,19,17,42,62,9,34,43,29,26,81,52,91,17,38,42,74,53,53,48,19,13,9,28,83,52,90,17,38,42,73,53,53,48,19,13,9,26,81,52,91,17,38,42,74,53,35,44,19,13,9,26,81,52,88,17,38,42,71,52,54,53,44,19,13,9,5,1,60,54],"data":{"version":3,"file":"function_module_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/function_module_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/interface_definition.js":{"lineLengths":[13,62,37,67,57,57,59,57,65,57,57,61,55,60,30,60,73,9,130,36,49,25,31,91,124,32,54,5,21,25,5,23,33,5,18,28,5,17,27,5,21,31,5,26,36,5,15,33,5,16,32,5,28,38,5,21,40,15,74,139,86,23,65,71,27,173,17,82,134,17,22,70,17,13,9,5,24,48,83,73,58,52,86,48,10,39,67,68,21,77,28,63,20,76,70,77,92,97,52,15,13,11,9,10,65,33,111,9,89,76,74,9,5,1,50,48],"data":{"version":3,"file":"interface_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/interface_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_model_metadata.js":{"lineLengths":[13,62,38,57,70,15,22,5,24,16,26,33,10,5,22,15,25,5,1,52,50],"data":{"version":3,"file":"gateway_model_metadata.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/gateway_model_metadata.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,oBAAqB,SAAQ,iCAAc;IAE/C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_model.js":{"lineLengths":[13,62,30,57,62,15,22,5,24,16,26,33,10,5,22,15,25,5,1,36,41],"data":{"version":3,"file":"gateway_model.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/gateway_model.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,YAAa,SAAQ,iCAAc;IAEvC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_project.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,43],"data":{"version":3,"file":"gateway_project.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/gateway_project.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_service_groups_metadata.js":{"lineLengths":[13,62,46,57,78,15,22,5,24,16,26,33,10,5,22,15,25,5,1,68,59],"data":{"version":3,"file":"gateway_service_groups_metadata.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/gateway_service_groups_metadata.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,4BAA6B,SAAQ,iCAAc;IAEvD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oEAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_service.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,43],"data":{"version":3,"file":"gateway_service.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/gateway_service.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/gateway_vocabulary_annotation.js":{"lineLengths":[13,62,45,57,77,15,22,5,24,16,26,33,10,5,22,15,25,5,1,66,57],"data":{"version":3,"file":"gateway_vocabulary_annotation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/gateway_vocabulary_annotation.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,2BAA4B,SAAQ,iCAAc;IAEtD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kEAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/general_hierarchy_storage_extrension_name.js":{"lineLengths":[13,62,55,57,87,15,22,5,24,16,26,33,10,5,22,15,25,5,1,86,69],"data":{"version":3,"file":"general_hierarchy_storage_extrension_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/general_hierarchy_storage_extrension_name.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,qCAAsC,SAAQ,iCAAc;IAEhE,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sFAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/general_storage_structure.js":{"lineLengths":[13,62,41,57,73,15,22,5,24,16,26,33,10,5,22,15,25,5,1,58,53],"data":{"version":3,"file":"general_storage_structure.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/general_storage_structure.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,uBAAwB,SAAQ,iCAAc;IAElD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0DAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/general_text.js":{"lineLengths":[13,62,29,57,61,15,22,5,24,16,26,33,10,5,22,15,25,5,1,34,40],"data":{"version":3,"file":"general_text.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/general_text.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAEtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/http_service.js":{"lineLengths":[13,62,29,57,61,15,22,5,24,16,27,33,10,5,22,15,25,5,1,34,40],"data":{"version":3,"file":"http_service.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/http_service.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAEtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iac_binary_data.js":{"lineLengths":[13,62,31,57,63,15,22,5,24,16,27,33,10,5,22,15,25,5,1,38,43],"data":{"version":3,"file":"iac_binary_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/iac_binary_data.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,aAAc,SAAQ,iCAAc;IAExC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iac_language_resource.js":{"lineLengths":[13,62,37,57,69,15,22,5,24,16,27,33,10,5,22,15,25,5,1,50,49],"data":{"version":3,"file":"iac_language_resource.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/iac_language_resource.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,mBAAoB,SAAQ,iCAAc;IAE9C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iac_service.js":{"lineLengths":[13,62,28,57,60,15,22,5,24,16,26,33,10,5,22,15,25,5,1,32,39],"data":{"version":3,"file":"iac_service.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/iac_service.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,UAAW,SAAQ,iCAAc;IAErC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iac_template.js":{"lineLengths":[13,62,29,57,61,15,22,5,24,16,27,33,10,5,22,15,25,5,1,34,40],"data":{"version":3,"file":"iac_template.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/iac_template.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAEtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/iam_app.js":{"lineLengths":[13,62,24,57,56,15,22,5,24,16,27,33,10,5,22,15,25,5,1,24,35],"data":{"version":3,"file":"iam_app.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/iam_app.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,MAAO,SAAQ,iCAAc;IAEjC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wBAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/icf_service.js":{"lineLengths":[13,62,28,57,44,60,15,22,5,24,16,27,33,10,5,16,35,25,5,22,15,25,5,14,15,21,81,5,22,15,21,86,5,13,29,50,9,33,28,41,32,43,72,50,9,80,37,61,45,70,13,9,74,31,55,5,1,32,39],"data":{"version":3,"file":"icf_service.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/icf_service.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAClD,4CAAwC;AAExC,MAAa,UAAW,SAAQ,iCAAc;IAMrC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM;;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC;IAC7B,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,QAAQ,CAAC;IAClC,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS;eACjB,MAAM,CAAC,OAAO,KAAK,SAAS;eAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC;QACxE,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAA,sBAAU,EAAC,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC;QAElE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAC,CAAC;IAC/C,CAAC;CAEF;AAjED,gCAiEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/idoc_extension.js":{"lineLengths":[13,62,31,57,63,15,22,5,24,16,26,34,10,5,22,15,25,5,1,38,42],"data":{"version":3,"file":"idoc_extension.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/idoc_extension.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,aAAc,SAAQ,iCAAc;IAExC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,KAAK;SACtB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/idoc.js":{"lineLengths":[13,62,22,57,54,15,22,5,24,16,26,33,10,5,22,15,25,5,1,20,32],"data":{"version":3,"file":"idoc.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/idoc.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,IAAK,SAAQ,iCAAc;IAE/B,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oBAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/inbound_service.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,27,33,10,5,22,15,25,5,1,40,43],"data":{"version":3,"file":"inbound_service.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/inbound_service.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/info_object.js":{"lineLengths":[13,62,28,57,60,15,22,5,24,16,26,33,10,5,22,15,25,5,1,32,39],"data":{"version":3,"file":"info_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/info_object.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,UAAW,SAAQ,iCAAc;IAErC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/interface.js":{"lineLengths":[13,62,27,49,51,19,28,29,35,5,15,22,5,24,23,5,25,44,33,22,9,22,5,21,24,5,20,15,140,5,21,15,93,5,24,16,26,33,10,5,16,29,35,25,5,22,15,24,82,5,22,15,24,89,5,29,16,43,19,9,28,41,32,72,19,9,73,33,44,37,9,14,76,67,9,5,1,30,37],"data":{"version":3,"file":"interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/interface.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAM1C,MAAa,SAAU,SAAQ,yBAAU;IAAzC;;QACU,QAAG,GAAqC,SAAS,CAAC;QAClD,cAAS,GAAsD,SAAS,CAAC;IA8EnF,CAAC;IA5EQ,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,aAAa,CAAC,GAAqC;QACxD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,iBAAiB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,YAAY;;QACjB,OAAO,MAAA,IAAI,CAAC,eAAe,EAAE,0CAAE,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IAEM,aAAa;;QAClB,OAAO,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,UAAU,CAAC;IACzC,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,CAAC;IAC9B,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,WAAW,CAAC;IACrC,CAAC;IAEH,yBAAyB;IAEf,QAAQ;QACd,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS;eACjB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC;QACjE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;CAEF;AAhFD,8BAgFC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/lock_object.js":{"lineLengths":[13,62,28,47,34,57,60,15,22,5,24,16,26,33,10,5,16,35,25,5,23,15,21,90,5,20,15,21,30,42,89,79,24,51,67,44,13,74,91,13,18,73,13,9,14,60,9,5,13,19,29,50,9,33,28,41,32,43,72,50,9,140,138,31,55,5,22,15,21,89,5,1,32,39],"data":{"version":3,"file":"lock_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/lock_object.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/maintenance_and_transport_object.js":{"lineLengths":[13,62,47,47,34,57,79,16,25,35,5,15,22,5,22,15,25,5,24,16,26,33,10,5,15,15,21,82,5,21,15,21,88,5,21,15,21,88,5,20,23,21,30,42,126,77,24,51,67,44,13,72,89,13,18,71,13,9,180,67,9,14,60,9,5,13,27,29,50,9,33,28,41,32,43,72,50,9,181,140,140,31,55,5,1,70,60],"data":{"version":3,"file":"maintenance_and_transport_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/maintenance_and_transport_object.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/message_class.js":{"lineLengths":[13,62,30,57,51,44,62,19,28,40,5,15,22,5,22,24,15,25,5,24,16,26,33,10,5,16,40,25,5,19,24,40,30,5,22,24,38,51,46,31,13,9,25,5,37,16,19,48,19,9,33,41,35,19,9,209,33,19,9,67,108,9,5,1,36,41],"data":{"version":3,"file":"message_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/message_class.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAClD,mDAA8C;AAC9C,4CAAkD;AAElD,MAAa,YAAa,SAAQ,iCAAc;IAAhD;;QACU,mBAAc,GAA0B,SAAS,CAAC;IAgE5D,CAAC;IA9DQ,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QAChC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,CAAC;IAEM,WAAW,CAAC,GAAW;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,8BAA8B;QAC9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,GAAG,EAAE,CAAC;gBAChC,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEH,iCAAiC;IAEvB,QAAQ;;QACd,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAG,UAAU,EAAE,YAAY,CAAC,0CAAE,IAAI,CAAC;QAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAA,sBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,iBAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAA,oBAAQ,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CAEF;AAjED,oCAiEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/types/message.js":{"lineLengths":[13,62,25,15,34,29,40,29,9,31,41,30,9,5,17,27,5,18,28,5,27,70,74,5,1,26,35],"data":{"version":3,"file":"message.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/types/message.ts"],"names":[],"mappings":";;;AAAA,MAAa,OAAO;IAKlB,YAAmB,MAAc,EAAE,OAAe;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,mBAAmB;QACxB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IACpE,CAAC;CACF;AA5BD,0BA4BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/messaging_channel.js":{"lineLengths":[13,62,34,57,66,15,22,5,24,16,26,33,10,5,22,15,25,5,1,44,45],"data":{"version":3,"file":"messaging_channel.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/messaging_channel.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,iCAAc;IAE3C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/mime_object.js":{"lineLengths":[13,62,28,57,60,15,22,5,14,15,21,81,5,16,15,21,83,5,16,15,94,5,24,16,26,34,10,5,19,39,42,103,25,13,9,25,5,16,35,25,5,22,55,25,5,13,29,50,9,33,28,41,32,43,72,50,9,74,78,80,31,55,5,1,32,39],"data":{"version":3,"file":"mime_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/mime_object.ts"],"names":[],"mappings":";;;AACA,yDAAkD;AAElD,MAAa,UAAW,SAAQ,iCAAc;IAOrC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM;;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC;IAC7B,CAAC;IAEM,QAAQ;;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,CAAC;IAC/B,CAAC;IAEM,QAAQ;;QACb,OAAO,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,MAAK,GAAG,CAAC;IACxC,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,KAAK;SACtB,CAAC;IACJ,CAAC;IAEM,WAAW;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,EAAE,CAAA,EAAE,CAAC;gBAC5C,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,cAAc;QACvB,+CAA+C;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAEjC,IAAI,MAAM,KAAK,SAAS;eACjB,MAAM,CAAC,OAAO,KAAK,SAAS;eAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;QACtE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;QAExE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAC,CAAC;IAC/C,CAAC;CACF;AA1ED,gCA0EC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/namespace.js":{"lineLengths":[13,62,27,57,59,15,22,5,24,16,26,33,60,10,5,22,15,25,5,1,30,37],"data":{"version":3,"file":"namespace.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/namespace.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAGlD,MAAa,SAAU,SAAQ,iCAAc;IAEpC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI,MAAM,CAAC,sBAAsB,CAAC;SAChD,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAlBD,8BAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_api.js":{"lineLengths":[13,62,28,57,60,15,22,5,24,16,27,33,31,10,5,22,15,25,5,1,32,39],"data":{"version":3,"file":"neptune_api.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_api.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAGlD,MAAa,UAAW,SAAQ,iCAAc;IAErC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAlBD,gCAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_app.js":{"lineLengths":[13,62,28,57,60,15,22,5,24,16,26,33,10,5,22,15,25,5,1,32,39],"data":{"version":3,"file":"neptune_app.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_app.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,UAAW,SAAQ,iCAAc;IAErC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_custom_color.js":{"lineLengths":[13,62,36,57,68,15,22,5,24,16,26,33,10,5,22,15,25,5,1,48,48],"data":{"version":3,"file":"neptune_custom_color.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_custom_color.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,kBAAmB,SAAQ,iCAAc;IAE7C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_custom_js_helper.js":{"lineLengths":[13,62,39,57,71,15,22,5,24,16,26,33,10,5,22,15,25,5,1,54,52],"data":{"version":3,"file":"neptune_custom_js_helper.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_custom_js_helper.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,qBAAsB,SAAQ,iCAAc;IAEhD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_documentation.js":{"lineLengths":[13,62,38,57,70,15,22,5,24,16,26,33,10,5,22,15,25,5,1,52,49],"data":{"version":3,"file":"neptune_documentation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_documentation.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,oBAAqB,SAAQ,iCAAc;IAE/C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_enhancement.js":{"lineLengths":[13,62,36,57,68,15,22,5,24,16,26,33,10,5,22,15,25,5,1,48,47],"data":{"version":3,"file":"neptune_enhancement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_enhancement.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,kBAAmB,SAAQ,iCAAc;IAE7C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_launchpad_layout.js":{"lineLengths":[13,62,40,57,72,15,22,5,24,16,26,33,10,5,22,15,25,5,1,56,52],"data":{"version":3,"file":"neptune_launchpad_layout.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_launchpad_layout.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,sBAAuB,SAAQ,iCAAc;IAEjD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_launchpad.js":{"lineLengths":[13,62,34,57,66,15,22,5,24,16,26,33,10,5,22,15,25,5,1,44,45],"data":{"version":3,"file":"neptune_launchpad.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_launchpad.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,iCAAc;IAE3C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_login_page.js":{"lineLengths":[13,62,34,57,66,15,22,5,24,16,26,33,10,5,22,15,25,5,1,44,46],"data":{"version":3,"file":"neptune_login_page.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_login_page.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,iCAAc;IAE3C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_media_library.js":{"lineLengths":[13,62,37,57,69,15,22,5,24,16,26,33,10,5,22,15,25,5,1,50,49],"data":{"version":3,"file":"neptune_media_library.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_media_library.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,mBAAoB,SAAQ,iCAAc;IAE9C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_media_pack.js":{"lineLengths":[13,62,34,57,66,15,22,5,24,16,26,33,10,5,22,15,25,5,1,44,46],"data":{"version":3,"file":"neptune_media_pack.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_media_pack.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,iCAAc;IAE3C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_metadata.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,26,33,10,5,22,15,25,5,1,42,44],"data":{"version":3,"file":"neptune_metadata.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_metadata.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_mobile_client.js":{"lineLengths":[13,62,37,57,69,15,22,5,24,16,26,33,10,5,22,15,25,5,1,50,49],"data":{"version":3,"file":"neptune_mobile_client.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_mobile_client.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,mBAAoB,SAAQ,iCAAc;IAE9C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_odata.js":{"lineLengths":[13,62,30,57,62,15,22,5,24,16,26,33,10,5,22,15,25,5,1,36,41],"data":{"version":3,"file":"neptune_odata.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_odata.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,YAAa,SAAQ,iCAAc;IAEvC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_policy.js":{"lineLengths":[13,62,31,57,63,15,22,5,24,16,26,33,10,5,22,15,25,5,1,38,42],"data":{"version":3,"file":"neptune_policy.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_policy.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,aAAc,SAAQ,iCAAc;IAExC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_rfc_mapping.js":{"lineLengths":[13,62,35,57,67,15,22,5,24,16,26,33,10,5,22,15,25,5,1,46,47],"data":{"version":3,"file":"neptune_rfc_mapping.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_rfc_mapping.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,iBAAkB,SAAQ,iCAAc;IAE5C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_rich_text_template.js":{"lineLengths":[13,62,41,57,73,15,22,5,24,16,26,33,10,5,22,15,25,5,1,58,54],"data":{"version":3,"file":"neptune_rich_text_template.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_rich_text_template.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,uBAAwB,SAAQ,iCAAc;IAElD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0DAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_splash_screen.js":{"lineLengths":[13,62,37,57,69,15,22,5,24,16,26,33,10,5,22,15,25,5,1,50,49],"data":{"version":3,"file":"neptune_splash_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_splash_screen.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,mBAAoB,SAAQ,iCAAc;IAE9C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_sticky_banner.js":{"lineLengths":[13,62,37,57,69,15,22,5,24,16,26,33,10,5,22,15,25,5,1,50,49],"data":{"version":3,"file":"neptune_sticky_banner.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_sticky_banner.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,mBAAoB,SAAQ,iCAAc;IAE9C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_tile_group.js":{"lineLengths":[13,62,34,57,66,15,22,5,24,16,26,33,10,5,22,15,25,5,1,44,46],"data":{"version":3,"file":"neptune_tile_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_tile_group.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,iCAAc;IAE3C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_tile_layout.js":{"lineLengths":[13,62,35,57,67,15,22,5,24,16,26,33,10,5,22,15,25,5,1,46,47],"data":{"version":3,"file":"neptune_tile_layout.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_tile_layout.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,iBAAkB,SAAQ,iCAAc;IAE5C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_tile.js":{"lineLengths":[13,62,29,57,61,15,22,5,24,16,26,33,10,5,22,15,25,5,1,34,40],"data":{"version":3,"file":"neptune_tile.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_tile.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAEtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/neptune_url_alias.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,26,33,10,5,22,15,25,5,1,42,45],"data":{"version":3,"file":"neptune_url_alias.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/neptune_url_alias.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/number_range.js":{"lineLengths":[13,62,29,57,61,15,22,5,24,16,26,33,10,5,17,15,21,84,5,21,15,21,88,5,16,35,25,5,13,35,29,50,9,33,28,41,35,50,9,208,90,220,106,134,31,55,5,22,15,21,89,5,1,34,40],"data":{"version":3,"file":"number_range.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/number_range.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAOtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,SAAS;;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAC;IAChC,CAAC;IAEM,aAAa;;QAClB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,CAAC;IACpC,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,KAAK;;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,UAAU,CAAC,0CAAG,YAAY,CAAC,0CAAE,IAAI,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC;QACvC,MAAM,UAAU,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,UAAU,CAAC,0CAAG,YAAY,CAAC,0CAAE,UAAU,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,KAAI,EAAE,CAAC,CAAC;QAErE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAC,CAAC;IAC/C,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,WAAW,CAAC;IACrC,CAAC;CACF;AA1DD,kCA0DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/oauth2_profile.js":{"lineLengths":[13,62,31,44,57,63,15,22,5,24,16,26,33,10,5,22,15,25,5,18,23,23,41,266,30,9,19,5,1,38,42],"data":{"version":3,"file":"oauth2_profile.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/oauth2_profile.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AACxC,yDAAkD;AAElD,MAAa,aAAc,SAAQ,iCAAc;IAExC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,UAAU;;QACf,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAEjC,KAAK,MAAM,CAAC,IAAI,IAAA,sBAAU,EAAC,MAAA,MAAA,MAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,0CAAE,OAAO,0CAAE,QAAQ,0CAAE,WAAW,CAAC,EAAE,CAAC;YACrG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA7BD,sCA6BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/object_characteristic.js":{"lineLengths":[13,62,38,57,70,15,22,5,24,16,26,33,10,5,22,15,25,5,1,52,49],"data":{"version":3,"file":"object_characteristic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/object_characteristic.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,oBAAqB,SAAQ,iCAAc;IAE/C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/outbound_service.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,27,33,10,5,22,15,25,5,1,42,44],"data":{"version":3,"file":"outbound_service.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/outbound_service.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/package_interface.js":{"lineLengths":[13,62,34,57,66,15,22,5,24,16,26,33,10,5,22,15,25,5,1,44,45],"data":{"version":3,"file":"package_interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/package_interface.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,iCAAc;IAE3C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/package.js":{"lineLengths":[13,62,25,57,57,15,22,5,24,16,26,33,10,5,22,15,25,5,1,26,35],"data":{"version":3,"file":"package.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/package.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,OAAQ,SAAQ,iCAAc;IAElC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0BAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/parameter.js":{"lineLengths":[13,62,27,57,59,15,22,5,24,16,26,33,10,5,22,15,25,5,1,30,37],"data":{"version":3,"file":"parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/parameter.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,SAAU,SAAQ,iCAAc;IAEpC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8BAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/personalization_object.js":{"lineLengths":[13,62,39,57,71,15,22,5,24,16,26,33,10,5,22,15,25,5,1,54,50],"data":{"version":3,"file":"personalization_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/personalization_object.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,qBAAsB,SAAQ,iCAAc;IAEhD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/program.js":{"lineLengths":[13,62,25,49,44,49,15,22,5,25,44,33,22,9,22,5,22,15,25,5,24,16,26,33,10,5,16,35,25,5,17,24,40,5,20,24,43,5,18,24,38,5,32,16,27,43,19,9,39,40,35,30,33,36,28,14,19,9,27,217,39,75,34,130,33,37,37,41,23,17,30,44,35,19,13,9,26,79,82,29,10,5,1,26,35],"data":{"version":3,"file":"program.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/program.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/proxy_object.js":{"lineLengths":[13,62,29,57,61,15,22,5,24,16,26,33,10,5,22,15,25,5,1,34,40],"data":{"version":3,"file":"proxy_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/proxy_object.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAEtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/push_channel.js":{"lineLengths":[13,62,29,57,61,15,22,5,24,16,26,33,10,5,22,15,25,5,1,34,40],"data":{"version":3,"file":"push_channel.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/push_channel.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAEtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/query_user_group.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,27,33,10,5,22,15,25,5,1,40,44],"data":{"version":3,"file":"query_user_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/query_user_group.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/restriction_field.js":{"lineLengths":[13,62,34,57,66,15,22,5,24,16,27,33,10,5,22,15,25,5,1,44,45],"data":{"version":3,"file":"restriction_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/restriction_field.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,gBAAiB,SAAQ,iCAAc;IAE3C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,4CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/restriction_type.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,27,33,10,5,22,15,25,5,1,42,44],"data":{"version":3,"file":"restriction_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/restriction_type.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rfc_service.js":{"lineLengths":[13,62,28,57,60,15,22,5,24,16,26,33,10,5,22,15,25,5,1,32,39],"data":{"version":3,"file":"rfc_service.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rfc_service.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,UAAW,SAAQ,iCAAc;IAErC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/sapscript_style.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,43],"data":{"version":3,"file":"sapscript_style.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/sapscript_style.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/sapscript.js":{"lineLengths":[13,62,27,57,59,15,22,5,24,16,26,33,10,5,22,15,25,5,1,30,37],"data":{"version":3,"file":"sapscript.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/sapscript.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,SAAU,SAAQ,iCAAc;IAEpC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8BAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/screen_variant.js":{"lineLengths":[13,62,31,57,63,15,22,5,24,16,26,33,10,5,22,15,25,5,1,38,42],"data":{"version":3,"file":"screen_variant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/screen_variant.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,aAAc,SAAQ,iCAAc;IAExC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,sCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/search_help.js":{"lineLengths":[13,62,28,57,60,15,22,5,24,16,26,33,10,5,22,15,25,5,1,32,39],"data":{"version":3,"file":"search_help.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/search_help.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,UAAW,SAAQ,iCAAc;IAErC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/service_binding.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,43],"data":{"version":3,"file":"service_binding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/service_binding.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/service_definition.js":{"lineLengths":[13,62,35,57,67,15,22,5,24,16,26,33,10,5,22,15,25,5,1,46,46],"data":{"version":3,"file":"service_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/service_definition.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,iBAAkB,SAAQ,iCAAc;IAE5C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/shared_memory.js":{"lineLengths":[13,62,30,57,62,15,22,5,24,16,26,33,10,5,22,15,25,5,1,36,41],"data":{"version":3,"file":"shared_memory.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/shared_memory.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,YAAa,SAAQ,iCAAc;IAEvC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/smart_form.js":{"lineLengths":[13,62,27,57,59,15,22,5,24,16,26,33,10,5,22,15,25,5,1,30,38],"data":{"version":3,"file":"smart_form.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/smart_form.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,SAAU,SAAQ,iCAAc;IAEpC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8BAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/smart_style.js":{"lineLengths":[13,62,28,57,60,15,22,5,24,16,26,33,10,5,22,15,25,5,1,32,39],"data":{"version":3,"file":"smart_style.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/smart_style.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,UAAW,SAAQ,iCAAc;IAErC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/standard_task.js":{"lineLengths":[13,62,30,57,62,15,22,5,24,16,26,33,10,5,22,15,25,5,1,36,41],"data":{"version":3,"file":"standard_task.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/standard_task.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,YAAa,SAAQ,iCAAc;IAEvC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/switch_assignment_hierarchy.js":{"lineLengths":[13,62,43,57,75,15,22,5,24,16,26,33,10,5,22,15,25,5,1,62,55],"data":{"version":3,"file":"switch_assignment_hierarchy.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/switch_assignment_hierarchy.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,yBAA0B,SAAQ,iCAAc;IAEpD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8DAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/switch_assignments.js":{"lineLengths":[13,62,35,57,67,15,22,5,24,16,26,33,10,5,22,15,25,5,1,46,46],"data":{"version":3,"file":"switch_assignments.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/switch_assignments.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,iBAAkB,SAAQ,iCAAc;IAE5C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/table_type.js":{"lineLengths":[13,62,27,57,45,34,47,44,59,19,28,35,5,15,22,5,24,16,26,33,10,5,22,15,24,84,5,16,35,25,5,23,31,28,102,51,26,32,10,97,61,9,102,61,9,102,35,54,13,9,130,52,9,26,5,25,27,46,93,49,9,30,30,29,47,26,10,102,30,106,46,44,17,13,62,35,25,64,26,25,64,26,24,26,13,88,32,33,34,35,15,9,28,5,20,24,42,30,17,54,43,85,9,50,74,82,32,59,13,9,50,74,82,32,59,13,9,50,72,82,32,59,13,9,89,111,9,87,118,9,90,69,82,32,59,13,9,49,56,108,13,18,131,78,13,9,14,137,9,59,20,5,24,16,19,43,19,9,26,22,22,10,41,67,19,9,64,35,68,68,49,41,49,53,47,45,45,121,39,44,43,15,9,121,39,44,47,35,47,15,9,5,1,30,38],"data":{"version":3,"file":"table_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/table_type.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,6CAA6C;AAE7C,kCAA6B;AAE7B,+CAA8G;AAC9G,4CAAwC;AAExC,MAAa,SAAU,SAAQ,iCAAc;IAA7C;;QACU,cAAS,GAYD,SAAS,CAAC;IA6L5B,CAAC;IA3LQ,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAC;IAChC,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEO,eAAe;;QACrB,MAAM,UAAU,GAAoB;YAClC,QAAQ,EAAE,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,MAAK,GAAG;YACzC,IAAI,EAAE,uBAAe,CAAC,QAAQ;YAC9B,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,aAAa;SACpB,CAAC;QACF,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,MAAK,GAAG,EAAE,CAAC;YACvC,UAAU,CAAC,IAAI,GAAG,uBAAe,CAAC,MAAM,CAAC;QAC3C,CAAC;aAAM,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,MAAK,GAAG,EAAE,CAAC;YAC9C,UAAU,CAAC,IAAI,GAAG,uBAAe,CAAC,MAAM,CAAC;QAC3C,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,KAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBACrB,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,MAAK,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,iBAAiB;;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;QACtC,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,MAAK,GAAG,EAAE,CAAC;YACnC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;QACvC,CAAC;QAED,MAAM,YAAY,GAAkB;YAClC,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;YAClC,SAAS,EAAE,EAAE;SACd,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,KAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,KAAI,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,IAAI,UAAU,GAAoB,uBAAe,CAAC,QAAQ,CAAC;YAC3D,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;gBACrB,KAAK,GAAG;oBACN,UAAU,GAAG,uBAAe,CAAC,MAAM,CAAC;oBACpC,MAAM;gBACR,KAAK,GAAG;oBACN,UAAU,GAAG,uBAAe,CAAC,MAAM,CAAC;oBACpC,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;YACD,MAAA,YAAY,CAAC,SAAS,0CAAE,IAAI,CAAC;gBAC3B,IAAI,EAAE,CAAC,CAAC,OAAO;gBACf,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,CAAC,CAAC,MAAM;aACnB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,SAAS,CAAC,GAAc;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,GAAG,CAAC,CAAC;QAE3B,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,IAAI,IAAkB,CAAC;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE9C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5D,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjF,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,kCAA0B,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC/E,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,qBAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACzD,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,4BAA4B,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnH,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,6BAA6B,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/H,CAAC;QAED,GAAG,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAEH,oBAAoB;IAEV,QAAQ;;QACd,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG;YACf,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAErC,KAAK,MAAM,CAAC,IAAI,IAAA,sBAAU,EAAC,MAAA,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxB,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;gBAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAA,sBAAU,EAAC,MAAA,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxB,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;gBAC3B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;gBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClB,MAAM,EAAE,CAAC,CAAC,YAAY,KAAK,GAAG;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CAEF;AA1MD,8BA0MC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/table.js":{"lineLengths":[13,62,77,45,57,44,34,71,47,40,24,33,47,49,43,52,38,84,18,27,44,42,41,37,35,39,66,55,15,22,5,22,15,25,5,24,24,66,68,24,9,16,30,33,31,10,5,16,36,25,5,19,44,28,9,44,22,9,23,49,66,88,60,61,41,21,17,13,41,38,13,9,19,5,20,19,44,28,48,68,13,9,68,55,84,9,30,30,42,53,66,51,70,78,36,63,17,13,120,52,93,17,71,40,36,63,17,75,44,17,59,56,80,21,60,72,21,17,195,60,29,17,62,33,17,59,53,33,17,22,76,17,13,81,71,36,63,17,42,54,53,33,17,64,65,60,81,21,17,62,33,17,13,40,70,78,36,63,17,13,40,51,57,17,48,37,46,78,23,17,55,37,46,70,23,17,49,74,109,40,67,21,17,49,72,109,40,67,21,17,49,74,109,40,67,21,17,22,69,82,40,67,21,17,13,40,68,78,36,63,17,13,51,48,45,95,17,70,33,42,115,19,13,18,33,42,124,19,13,35,73,29,56,17,13,9,38,115,9,59,83,5,24,15,44,28,9,92,5,30,15,44,28,9,113,53,9,51,5,19,16,47,41,35,19,9,41,43,19,9,31,179,84,9,14,199,9,25,190,184,17,123,120,41,43,41,41,43,33,37,41,41,39,43,45,39,15,9,5,1,22,33],"data":{"version":3,"file":"table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/table.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/technical_job_definition.js":{"lineLengths":[13,62,40,57,72,15,22,5,24,16,26,33,10,5,22,15,25,5,1,56,52],"data":{"version":3,"file":"technical_job_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/technical_job_definition.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,sBAAuB,SAAQ,iCAAc;IAEjD,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/transaction_variant.js":{"lineLengths":[13,62,36,57,68,15,22,5,24,16,26,33,10,5,22,15,25,5,1,48,47],"data":{"version":3,"file":"transaction_variant.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/transaction_variant.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,kBAAmB,SAAQ,iCAAc;IAE7C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/transaction.js":{"lineLengths":[13,62,29,57,61,15,22,5,16,35,25,5,24,16,26,33,10,5,22,15,21,89,5,22,15,21,89,5,13,19,29,50,9,33,28,41,32,43,72,50,9,137,136,31,55,5,1,34,39],"data":{"version":3,"file":"transaction.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/transaction.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAMtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,WAAW,CAAC;IACrC,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,WAAW,CAAC;IACrC,CAAC;IAEM,KAAK;;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS;eACjB,MAAM,CAAC,OAAO,KAAK,SAAS;eAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,MAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,0CAAE,KAAK,CAAC;QACnF,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,MAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,0CAAE,KAAK,CAAC;QAElF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAC,CAAC;IAC/C,CAAC;CACF;AApDD,kCAoDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/transformation.js":{"lineLengths":[13,62,32,57,64,15,22,5,24,16,26,33,10,5,22,15,25,5,1,40,42],"data":{"version":3,"file":"transformation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/transformation.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,cAAe,SAAQ,iCAAc;IAEzC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/type_pool.js":{"lineLengths":[13,62,26,49,50,15,22,5,25,44,33,22,9,22,5,24,16,25,34,10,5,22,15,25,5,1,28,37],"data":{"version":3,"file":"type_pool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/type_pool.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAG1C,MAAa,QAAS,SAAQ,yBAAU;IAE/B,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,iBAAiB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,KAAK;SACtB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAzBD,4BAyBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/view_cluster.js":{"lineLengths":[13,62,29,57,61,15,22,5,24,16,26,33,10,5,22,15,25,5,1,34,40],"data":{"version":3,"file":"view_cluster.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/view_cluster.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,WAAY,SAAQ,iCAAc;IAEtC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,kCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/view.js":{"lineLengths":[13,62,22,45,57,44,34,14,23,36,34,54,15,22,5,24,16,26,33,10,5,17,15,44,28,9,85,5,15,15,44,28,9,83,5,16,36,25,5,20,44,28,9,44,79,9,30,30,42,53,69,71,25,13,83,33,42,60,19,25,13,56,136,13,65,36,32,59,13,48,60,25,13,55,68,38,124,17,22,30,17,13,29,38,27,15,9,59,38,104,9,67,5,22,15,25,5,19,16,23,27,21,30,14,23,21,10,41,67,19,9,117,34,96,10,123,120,41,43,39,43,15,9,121,110,39,29,33,37,29,33,15,9,5,1,20,32],"data":{"version":3,"file":"view.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/view.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/virtual_end_point.js":{"lineLengths":[13,62,33,57,65,15,22,5,24,16,26,33,10,5,22,15,25,5,1,42,45],"data":{"version":3,"file":"virtual_end_point.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/virtual_end_point.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,eAAgB,SAAQ,iCAAc;IAE1C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0CAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_dynpro_application_configuration.js":{"lineLengths":[13,62,51,57,83,15,22,5,24,16,26,33,10,5,22,15,25,5,1,78,64],"data":{"version":3,"file":"web_dynpro_application_configuration.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/web_dynpro_application_configuration.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,iCAAkC,SAAQ,iCAAc;IAE5D,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,8EAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_dynpro_application.js":{"lineLengths":[13,62,38,57,70,15,22,5,24,16,26,33,10,5,22,15,25,5,1,52,50],"data":{"version":3,"file":"web_dynpro_application.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/web_dynpro_application.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,oBAAqB,SAAQ,iCAAc;IAE/C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,oDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_dynpro_component_configuration.js":{"lineLengths":[13,62,49,57,81,15,22,5,24,16,26,33,10,5,22,15,25,5,1,74,62],"data":{"version":3,"file":"web_dynpro_component_configuration.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/web_dynpro_component_configuration.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,+BAAgC,SAAQ,iCAAc;IAE1D,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,0EAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_dynpro_component.js":{"lineLengths":[13,62,36,57,68,15,22,5,24,16,26,33,10,5,22,15,25,5,1,48,48],"data":{"version":3,"file":"web_dynpro_component.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/web_dynpro_component.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD,MAAa,kBAAmB,SAAQ,iCAAc;IAE7C,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjBD,gDAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/web_mime.js":{"lineLengths":[13,62,25,57,57,15,22,5,24,16,26,33,57,10,5,22,15,21,89,5,16,35,25,5,19,42,53,25,13,9,25,5,13,29,50,9,33,28,41,32,43,72,50,9,83,31,55,5,1,26,36],"data":{"version":3,"file":"web_mime.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/web_mime.ts"],"names":[],"mappings":";;;AACA,yDAAkD;AAGlD,MAAa,OAAQ,SAAQ,iCAAc;IAKlC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI,MAAM,CAAC,mBAAmB,CAAC;SAC7C,CAAC;IACJ,CAAC;IAEM,cAAc;;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAA,IAAI,CAAC,SAAS,0CAAE,WAAW,CAAC;IACrC,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAEM,WAAW;QAChB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAEjC,IAAI,MAAM,KAAK,SAAS;eACjB,MAAM,CAAC,OAAO,KAAK,SAAS;eAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;QAE3E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAC,CAAC;IAC/C,CAAC;CACF;AAxDD,0BAwDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/_unknown_object.js":{"lineLengths":[13,62,31,57,36,42,42,63,29,20,25,5,15,25,5,24,16,27,33,10,5,22,25,5,24,50,40,105,110,23,5,1,38,43],"data":{"version":3,"file":"_unknown_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/_unknown_object.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAClD,oCAA+B;AAC/B,0CAAqC;AACrC,0CAAqC;AAErC,MAAa,aAAc,SAAQ,iCAAc;IAG/C,YAAmB,IAAY,EAAE,IAAY;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,gBAAgB;QACrB,OAAO;YACL,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,gBAAgB;QACrB,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAE,CAAC;QACjC,MAAM,OAAO,GAAG,gFAAgF,CAAC;QACjG,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAQ,CAAC,KAAK,CAAC,CAAC;QACnF,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;CAEF;AA/BD,sCA+BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/global_definitions/find_global_definitions.js":{"lineLengths":[13,62,39,75,67,54,60,58,50,48,46,80,94,29,22,23,5,19,30,47,68,28,48,120,35,13,55,46,51,52,65,50,97,13,9,111,54,86,47,126,29,28,41,148,31,58,39,33,17,51,13,30,58,22,13,32,9,5,33,23,40,32,21,9,22,60,57,9,55,52,9,61,52,9,62,57,56,13,9,48,48,56,13,9,21,5,17,92,21,9,56,49,9,60,46,9,60,26,51,51,13,25,9,17,5,17,43,33,41,19,9,86,34,41,19,9,23,41,77,23,10,51,73,24,21,93,43,17,28,49,17,13,18,45,13,9,14,79,24,21,85,43,17,28,49,17,13,18,45,13,9,5,1,54,51],"data":{"version":3,"file":"find_global_definitions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/global_definitions/find_global_definitions.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_current_scope.js":{"lineLengths":[13,62,30,41,37,45,55,67,47,37,20,35,45,141,81,50,18,46,9,90,17,5,34,43,38,27,39,25,9,5,27,33,29,23,5,31,18,49,5,19,24,5,19,33,19,9,48,5,30,33,19,9,41,19,9,41,64,67,9,83,57,9,51,5,28,33,19,9,57,5,39,33,19,9,41,19,9,41,73,67,9,60,5,27,41,19,9,47,63,63,9,47,5,27,41,19,9,48,5,31,41,19,9,47,63,67,9,47,5,42,41,19,9,41,63,46,71,9,84,57,9,56,5,50,41,19,9,48,35,19,9,41,57,71,9,78,57,9,50,5,31,39,19,9,66,5,30,34,19,9,96,5,40,39,63,9,5,26,39,35,9,5,61,19,56,19,9,71,34,35,164,13,9,14,163,9,5,49,15,128,5,31,30,33,29,9,63,46,37,28,13,9,25,5,32,33,29,9,52,19,24,9,56,19,24,9,25,5,21,41,63,59,55,32,17,13,9,21,5,24,23,33,29,9,28,50,65,9,55,68,9,117,29,53,32,13,120,9,60,25,115,9,125,33,57,32,13,132,9,60,25,119,9,99,32,38,33,28,64,26,24,60,26,13,74,9,25,5,31,49,31,15,33,29,9,109,21,26,9,57,22,43,9,25,5,32,15,69,29,9,48,66,29,9,47,87,39,29,9,66,37,29,9,161,90,21,5,28,15,47,29,9,48,66,29,9,47,87,39,29,9,73,92,55,29,9,66,37,29,9,161,86,21,5,53,35,15,33,29,9,113,21,26,9,57,22,43,9,25,5,30,15,100,5,20,15,33,29,9,90,5,29,15,33,29,9,99,5,24,15,33,29,9,101,20,25,9,47,5,31,15,41,5,25,44,5,25,44,5,20,30,5,15,41,46,9,50,5,15,41,46,9,50,5,41,77,50,41,27,91,9,14,40,88,42,9,5,12,32,36,53,65,70,65,28,13,36,9,21,5,18,90,5,18,15,143,5,29,48,35,5,28,15,121,5,14,79,40,41,65,9,33,37,48,61,5,1,36,42],"data":{"version":3,"file":"_current_scope.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/_current_scope.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/spaghetti_scope.js":{"lineLengths":[13,62,61,66,67,45,49,17,19,21,21,22,22,50,22,31,25,27,30,10,5,15,25,5,1,44,41,79,5,37,16,37,29,27,5,17,27,5,20,33,5,19,29,5,21,32,5,21,31,5,20,48,81,9,74,5,17,34,5,24,26,38,72,24,24,94,41,18,13,40,9,25,5,31,26,41,38,52,34,25,13,40,9,25,5,28,26,23,38,63,40,9,19,5,32,26,23,38,63,40,9,19,5,30,26,41,38,56,61,32,17,13,40,9,25,5,35,26,41,38,55,23,28,13,40,9,25,5,20,26,41,38,56,24,29,13,40,9,25,5,29,26,41,38,42,45,50,13,40,9,25,5,24,26,41,38,42,35,40,13,40,9,25,5,29,52,81,55,80,38,17,13,9,25,5,29,52,77,52,32,44,13,9,25,5,33,52,81,55,28,13,9,21,5,44,32,26,41,38,61,46,13,40,9,25,5,1,48,22,22,24,5,49,31,23,42,58,46,39,61,67,21,17,13,9,19,5,33,23,42,58,57,132,45,21,17,13,9,19,5,34,23,42,58,57,133,45,21,17,13,9,19,5,33,56,29,9,67,5,21,41,5,14,25,5,33,16,23,34,34,40,30,49,9,19,5,47,45,112,29,9,57,45,71,39,30,13,9,54,59,24,9,25,5,1,40,43],"data":{"version":3,"file":"spaghetti_scope.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/spaghetti_scope.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/syntax.js":{"lineLengths":[13,62,29,57,57,39,36,53,47,57,47,43,45,44,54,46,50,54,64,72,50,44,52,48,48,54,66,44,54,58,48,60,72,64,44,76,78,44,72,46,44,56,48,66,46,48,50,52,62,44,50,52,62,54,40,50,48,68,48,46,44,54,62,40,58,62,46,50,50,46,66,50,44,58,74,56,56,44,58,66,62,62,66,66,62,60,48,48,44,48,60,62,60,66,42,58,52,70,80,52,48,52,52,46,58,46,54,45,58,44,48,62,74,52,44,54,58,50,52,66,68,54,58,44,48,48,62,60,68,58,44,62,46,50,62,64,52,66,56,64,72,62,66,66,51,49,38,15,28,54,93,5,44,1,36,59,38,51,32,45,63,65,32,39,41,43,38,55,36,34,32,50,48,47,36,53,43,47,49,36,38,36,32,40,34,49,53,51,34,38,37,60,36,49,53,32,36,36,43,49,38,40,32,53,53,53,32,32,40,37,47,49,45,28,40,32,38,45,58,39,40,41,49,36,41,28,41,34,32,41,61,55,43,49,37,46,49,49,45,32,34,34,46,36,45,34,59,53,49,55,36,30,45,40,57,67,40,36,34,53,32,48,36,42,46,49,53,53,45,36,42,53,49,45,1,38,19,30,23,25,29,82,24,68,69,10,5,11,53,44,9,25,56,56,82,45,136,9,30,18,143,95,66,50,30,13,9,5,33,22,58,52,64,62,66,72,13,55,37,60,69,66,17,113,13,9,61,55,37,140,13,9,39,36,62,42,34,13,18,41,13,9,26,5,30,137,32,5,20,49,71,71,17,34,70,44,33,21,17,39,53,17,13,23,64,22,13,33,75,79,78,49,44,55,43,17,13,45,37,13,9,5,7,79,7,32,56,32,23,30,21,32,10,57,64,24,9,56,72,24,9,52,75,24,9,56,94,24,9,51,79,24,9,54,85,24,9,55,84,39,24,9,21,5,32,56,29,23,30,21,32,10,25,43,73,19,9,52,87,19,9,50,83,19,9,48,79,19,9,40,24,45,19,9,53,77,9,48,50,47,54,57,9,53,74,61,13,82,61,13,9,5,1,34,34],"data":{"version":3,"file":"syntax.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/syntax.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,yDAAyD;AACzD,uCAAkC;AAElC,oCAAsD;AAGtD,qDAA8C;AAC9C,+CAAwC;AACxC,yDAAkD;AAClD,+CAAyC;AACzC,2CAA+D;AAC/D,6CAAwC;AACxC,4CAAwD;AACxD,sDAAgD;AAChD,8CAAyC;AACzC,kDAA6C;AAC7C,sDAAiD;AACjD,gEAA0D;AAC1D,wEAAkE;AAGlE,kDAA6C;AAC7C,4CAAuC;AACvC,oDAA+C;AAC/C,gDAA2C;AAC3C,gDAA2C;AAC3C,sDAAiD;AACjD,kEAA4D;AAC5D,4CAAwD;AACxD,sDAAiD;AACjD,0DAAqD;AACrD,gDAA2C;AAC3C,4DAAuD;AACvD,wEAAkE;AAClE,gEAA0D;AAC1D,4CAAuC;AACvC,4EAAsE;AACtE,8EAAwE;AACxE,4CAAuC;AACvC,wEAAkE;AAClE,8CAAyC;AACzC,4CAAuC;AACvC,wDAAkD;AAClD,gDAA2C;AAC3C,kEAA4D;AAC5D,8CAAyC;AACzC,gDAA2C;AAC3C,kDAA6C;AAC7C,oDAA+C;AAC/C,8DAAwD;AACxD,4CAAuC;AACvC,kDAA6C;AAC7C,oDAA8C;AAC9C,8DAAwD;AACxD,sDAAgD;AAChD,wCAAmC;AACnC,kDAA4C;AAC5C,gDAA2C;AAC3C,oEAA8D;AAC9D,gDAA2C;AAC3C,8CAAyC;AACzC,4CAAuC;AACvC,sDAAgD;AAChD,8DAAwD;AACxD,wCAAmC;AACnC,0DAAqD;AACrD,8DAAwD;AACxD,8CAAyC;AACzC,kDAA6C;AAC7C,kDAA4C;AAC5C,8CAAyC;AACzC,kEAA4D;AAC5D,kDAA6C;AAC7C,4CAAuC;AACvC,0DAAoD;AACpD,0EAAoE;AACpE,wDAAkD;AAClD,wDAAkD;AAClD,4CAAuC;AACvC,0DAAoD;AACpD,kEAA4D;AAC5D,8DAAwD;AACxD,8DAAwD;AACxD,kEAA4D;AAC5D,kEAA4D;AAC5D,8DAAwD;AACxD,4DAAsD;AACtD,gDAA2C;AAC3C,gDAA2C;AAC3C,4CAAuC;AACvC,gDAA2C;AAC3C,4DAAsD;AACtD,8DAAwD;AACxD,4DAAqD;AACrD,kEAA4D;AAC5D,0CAAqC;AACrC,0DAAoD;AACpD,oDAA+C;AAC/C,sEAAgE;AAChE,gFAA0E;AAC1E,oDAA+C;AAC/C,gDAA2C;AAC3C,oDAA+C;AAC/C,oDAA+C;AAC/C,8CAAyC;AACzC,0DAAoD;AACpD,8CAAyC;AACzC,sDAAgD;AAChD,6CAAwC;AACxC,0DAAoD;AACpD,4CAAuC;AAEvC,gDAA2C;AAC3C,8DAAwD;AACxD,0EAAmE;AACnE,oDAA8C;AAC9C,4CAAuC;AACvC,sDAAgD;AAChD,0DAAoD;AACpD,kDAA6C;AAC7C,oDAA+C;AAC/C,kEAA4D;AAC5D,oEAA8D;AAC9D,sDAAgD;AAChD,0DAAoD;AACpD,4CAAuC;AACvC,gDAA2C;AAC3C,gDAA2C;AAC3C,8DAAuD;AACvD,4DAAsD;AAEtD,oEAA8D;AAC9D,0DAAoD;AACpD,4CAAuC;AACvC,8DAAwD;AACxD,8CAAyC;AACzC,kDAA4C;AAC5C,8DAAwD;AACxD,gEAA0D;AAC1D,oDAA+C;AAC/C,kEAA4D;AAC5D,wDAAkD;AAClD,gEAAyD;AACzD,wEAAiE;AACjE,8DAAwD;AACxD,kEAA4D;AAC5D,kEAA4D;AAC5D,mDAA4D;AAC5D,iDAA2C;AAE3C,sCAAsC;AAEtC,MAAM,GAAG,GAAsC,EAAE,CAAC;AAClD,SAAS,QAAQ,CAAC,OAAwB;IACxC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,0BAAW,CAAC,8CAA8C,CAAC,CAAC;IACxE,CAAC;IACD,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;AAC1C,CAAC;AACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,sCAAiB,EAAE,CAAC,CAAC;IAClC,QAAQ,CAAC,IAAI,iBAAO,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,8BAAa,EAAE,CAAC,CAAC;IAC9B,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,0CAAmB,EAAE,CAAC,CAAC;IACpC,QAAQ,CAAC,IAAI,4CAAoB,EAAE,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,kBAAO,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,oBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,sBAAS,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,iBAAO,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,kCAAe,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,aAAK,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,6BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,2BAAW,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,0BAAW,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,sBAAS,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,0BAAW,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,iBAAO,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,aAAK,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,8BAAa,EAAE,CAAC,CAAC;IAC9B,QAAQ,CAAC,IAAI,aAAK,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,iBAAO,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,gBAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,uCAAiB,EAAE,CAAC,CAAC;IAClC,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,sBAAS,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,iBAAO,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,gBAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,0BAAW,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,OAAE,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,iBAAO,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,qCAAgB,EAAE,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,kBAAO,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,oBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,oBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,OAAE,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,IAAI,oBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,aAAK,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,oBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,wCAAkB,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,IAAI,kCAAe,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,sBAAS,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,gBAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,yBAAU,EAAE,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,aAAK,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,aAAK,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,aAAK,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,sCAAiB,EAAE,CAAC,CAAC;IAClC,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,kCAAe,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,SAAG,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,oCAAgB,EAAE,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,8CAAqB,EAAE,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,aAAK,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,WAAI,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,2BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,qBAAS,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,qBAAS,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,gCAAc,EAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,4BAAY,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,sCAAsC;AAEtC,MAAa,WAAW;IActB,YAAmB,GAAc,EAAE,MAAkB;QACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,6BAAY,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,IAAI,iCAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YACpC,IAAI,EAAE,IAAI,wBAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;SAC3C,CAAC;IACJ,CAAC;IAEM,GAAG;QACR,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,MAAM,YAAY,iBAAO,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACpE,iCAAiC;YAC3B,OAAO,EAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,mBAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAC,CAAC;QACjH,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,SAAS,CAAC;YACR,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,mBAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,sBAAsB;YACxH,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK,uBAAS,CAAC,OAAO,EAAE,CAAC;gBACnE,MAAM,MAAM,GAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC;gBAClC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IAEH,CAAC;IAEH,6BAA6B;IAEnB,cAAc;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,MAAM,YAAY,iBAAO;eAC3B,IAAI,CAAC,MAAM,YAAY,uBAAa,EAAE,CAAC;YAE5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBAChD,kDAAkD;gBAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,KAAK,GAAG,uBAAS,CAAC,OAAO,CAAC;gBAC9B,IAAI,IAAI,CAAC,MAAM,YAAY,uBAAa,EAAE,CAAC;oBACzC,KAAK,GAAG,uBAAS,CAAC,aAAa,CAAC;gBAClC,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,YAAY,kBAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,QAAQ,CAAC,KAAoB,EAAE,OAAe;QACpD,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,8BAAc,EAAE,mBAAQ,CAAC,KAAK,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEO,QAAQ,CAAC,IAAmC;QAClD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,KAAK,YAAY,qBAAa,CAAC;YACnD,MAAM,WAAW,GAAG,KAAK,YAAY,qBAAa,CAAC;YAEnD,IAAI,CAAC;gBACH,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAsB,CAAC,CAAC;oBACnE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;gBACH,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACvB,IAAI,CAAC,oBAAoB,CAAC,KAAsB,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM;YACR,CAAC;YAED,qBAAqB;YACrB,IAAI,WAAW,IAAI,KAAK,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,SAAS,EAAE,CAAC;oBAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;oBAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAG,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,KAAsC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,IAAmB;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAExB,MAAM,KAAK,GAAgB;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QAEF,IAAI,IAAI,YAAY,UAAU,CAAC,eAAe,EAAE,CAAC;YAC/C,IAAI,kCAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;YAChD,IAAI,0CAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,aAAK,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,qBAAS,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,WAAa,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,oBAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,IAAmB;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAErB,MAAM,KAAK,GAAgB;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QAEF,iBAAiB;QACjB,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,WAAI,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;aAAM,IAAI,CAAC,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mBAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;aAAM,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;aAAM,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,WAAa,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QAChC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,UAAU,CAAC,cAAc,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEnE,CAAC;aAAM,IAAI,CAAC,YAAY,UAAU,CAAC,OAAO;eACnC,CAAC,YAAY,UAAU,CAAC,WAAW;eACnC,CAAC,YAAY,UAAU,CAAC,QAAQ;eAChC,CAAC,YAAY,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,CAAC,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,uBAAS,CAAC,MAAM,EAAE,CAAC;gBAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,uBAAS,CAAC,cAAc,EAAE,CAAC;gBACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;CAEF;AAhOD,kCAgOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/_procedural.js":{"lineLengths":[13,62,28,59,57,57,36,53,47,43,66,42,37,57,45,18,29,27,23,5,38,46,24,27,81,45,27,14,79,90,13,9,41,33,19,9,68,38,54,24,55,13,9,5,28,98,106,71,33,29,9,51,45,53,46,37,28,13,9,54,33,42,9,82,63,58,52,28,33,17,13,9,25,5,44,31,56,80,9,86,40,113,47,39,85,9,47,35,57,34,64,46,13,49,59,60,66,26,74,31,117,47,21,17,13,38,53,13,86,57,131,17,22,118,17,13,171,60,60,62,58,28,34,21,17,119,113,66,62,32,38,25,21,17,13,177,61,66,103,24,40,17,13,108,61,24,30,17,119,119,28,34,21,17,119,127,28,34,21,17,13,123,57,13,57,70,71,25,13,18,97,64,55,13,9,5,1,32,39],"data":{"version":3,"file":"_procedural.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/_procedural.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/structures/statics.js":{"lineLengths":[13,62,25,62,60,60,39,69,43,49,52,42,15,28,19,90,26,30,45,33,90,72,28,86,17,13,96,64,28,86,17,13,100,56,33,17,13,100,27,149,116,42,85,75,44,21,26,34,21,17,54,41,123,99,21,26,100,21,17,57,141,17,62,66,110,141,17,56,39,17,13,9,29,141,87,9,14,118,9,5,1,26,35],"data":{"version":3,"file":"statics.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/structures/statics.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/static.js":{"lineLengths":[13,62,24,62,69,48,45,58,14,28,67,17,80,26,31,13,9,75,20,25,9,83,23,146,9,25,5,1,24,34],"data":{"version":3,"file":"static.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/static.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA8D;AAC9D,gDAA0C;AAC1C,6CAA8C;AAC9C,0DAAoD;AAGpD,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,OAAO,GAAG,IAAI,sBAAS,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAC3E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,mCAAe,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5G,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAtBD,wBAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/perform.js":{"lineLengths":[13,62,25,62,60,46,50,50,52,50,15,28,58,86,9,36,39,82,74,58,13,9,80,74,58,13,9,79,74,58,13,9,36,31,64,61,9,60,60,9,68,33,49,9,41,59,34,73,102,19,9,120,44,5,1,26,35],"data":{"version":3,"file":"perform.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/perform.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,4DAA4D;AAE5D,8CAA4C;AAC5C,kDAA6C;AAE7C,kDAA6C;AAC7C,oDAA0D;AAC1D,kDAA4C;AAE5C,MAAa,OAAO;IACX,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,0BAAW,CAAC,mCAAmC,CAAC,CAAC;QAC7D,CAAC;QAED,4BAA4B;QAC5B,+BAA+B;QAE/B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;YACxE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YACrE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,uBAAuB;QAEvB,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,yCAAyC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,OAAO,CAAC,wCAAwC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,6BAA6B;QACvC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,oBAAoB,GAAG,IAAI,GAAG,cAAc,CAAC;YAC7D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,0BAAa,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEnG,oCAAoC;IACtC,CAAC;CACF;AAtDD,0BAsDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/search.js":{"lineLengths":[13,62,24,62,50,14,28,73,54,9,5,1,24,34],"data":{"version":3,"file":"search.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/search.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/translate.js":{"lineLengths":[13,62,27,62,50,50,17,28,73,54,9,73,54,9,5,1,30,37],"data":{"version":3,"file":"translate.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/translate.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAE7C,kDAA6C;AAG7C,MAAa,SAAS;IACb,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,8BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/modify_internal.js":{"lineLengths":[13,62,32,62,50,50,54,66,45,52,22,28,73,54,9,28,68,40,31,43,88,54,56,63,21,13,63,55,58,61,41,70,110,27,17,13,67,61,87,60,110,27,17,13,18,56,106,23,13,9,73,23,76,9,80,69,9,5,1,40,43],"data":{"version":3,"file":"modify_internal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/modify_internal.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAE7C,kDAA6C;AAC7C,sDAAiD;AACjD,kEAA4D;AAC5D,6CAA2F;AAC3F,oDAA0D;AAE1D,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,MAAM,CAAC;QAChC,IAAI,gBAAgB,EAAE,CAAC;YACrB,+BAA+B;YAC/B,MAAM,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACnE,IAAI,UAAU,YAAY,gBAAQ;mBAC3B,UAAU,YAAY,eAAO;mBAC7B,UAAU,YAAY,mBAAW,EAAE,CAAC;gBACzC,KAAK;YACP,CAAC;iBAAM,IAAI,UAAU,YAAY,iBAAS,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;uBAChC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;uBACnC,UAAU,CAAC,YAAY,EAAE,KAAK,KAAK,EAAE,CAAC;oBAC3C,qBAAqB;oBACrB,MAAM,OAAO,GAAG,iCAAiC,CAAC;oBAClD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,IAAI,UAAU,YAAY,qBAAa,EAAE,CAAC;gBAC/C,6CAA6C;gBAC7C,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;oBACrE,MAAM,OAAO,GAAG,uBAAuB,CAAC;oBACxC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,uBAAuB,CAAC;gBACxC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,mBAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,IAAI,8BAAa,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IAEH,CAAC;CACF;AAlDD,wCAkDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/fstarget.js":{"lineLengths":[13,62,26,62,43,46,52,16,34,117,23,72,9,124,21,49,67,38,74,106,23,13,114,9,5,1,28,36],"data":{"version":3,"file":"fstarget.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/fstarget.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAG9D,2CAAqC;AACrC,8CAA4C;AAC5C,oDAA0D;AAE1D,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,IAA8B;QAEvF,MAAM,QAAQ,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,oBAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACzE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC;gBAC1D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,0BAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3F,CAAC;IAEH,CAAC;CACF;AArBD,4BAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/inline_fs.js":{"lineLengths":[13,62,26,62,69,45,46,16,34,15,141,28,150,50,119,9,25,96,178,50,119,9,5,1,28,37],"data":{"version":3,"file":"inline_fs.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/inline_fs.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qEAA8E;AAC9E,6CAA8C;AAE9C,8CAA4C;AAG5C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,IAA8B;;QACvF,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,iBAAiB,CAAC,0CAAE,aAAa,EAAE,CAAC;QACvF,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,IAAI,mCAAe,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,gDAAiC,CAAC,CAAC;YACvG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,0BAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChG,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,2CAA2C,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;YACpF,MAAM,UAAU,GAAG,IAAI,mCAAe,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,OAAO,CAAC,EAAE,gDAAiC,CAAC,CAAC;YAC3H,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,0BAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;CACF;AAdD,4BAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/parameter.js":{"lineLengths":[13,62,27,62,69,45,48,52,17,28,15,136,57,77,102,19,9,96,75,102,19,9,75,34,114,19,9,24,154,9,5,1,30,37],"data":{"version":3,"file":"parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/parameter.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA8D;AAC9D,6CAA8C;AAC9C,gDAA0C;AAE1C,oDAA0D;AAE1D,MAAa,SAAS;IACb,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QACtD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,0CAAE,aAAa,EAAE,CAAC;QAElF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,2BAA2B,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YACjE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtF,MAAM,OAAO,GAAG,8CAA8C,CAAC;YAC/D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACxB,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;CACF;AA1BD,8BA0BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/fieldsymbol.js":{"lineLengths":[13,62,29,62,69,48,65,19,28,15,136,75,31,111,19,9,21,160,9,5,1,34,39],"data":{"version":3,"file":"fieldsymbol.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/fieldsymbol.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA8D;AAC9D,gDAA0C;AAC1C,iEAA2D;AAI3D,MAAa,WAAW;IACf,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QACtD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,0CAAE,aAAa,EAAE,CAAC;QAElF,MAAM,MAAM,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,0BAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;CACF;AAdD,kCAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/tables.js":{"lineLengths":[13,62,24,62,69,65,48,14,28,19,133,38,29,9,38,35,34,9,60,115,20,151,141,59,155,13,18,122,13,19,9,36,154,5,1,24,34],"data":{"version":3,"file":"tables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/tables.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA8D;AAE9D,iEAA2D;AAC3D,gDAAyC;AAGzC,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QACtD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,0CAAE,aAAa,EAAE,CAAC;QAC/E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,oDAAoD;QACpD,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,0CAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAC1B,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YAE7G,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,uBAAS,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,uBAAS,CAAC,cAAc,EAAE,CAAC;gBACnG,2CAA2C;gBAC3C,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACxF,CAAC;YACD,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,0BAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjH,CAAC;CACF;AA9BD,wBA8BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/selectoption.js":{"lineLengths":[13,62,30,62,69,45,48,52,52,20,28,15,136,57,81,91,19,9,74,56,9,80,88,33,57,31,56,66,53,21,17,35,75,17,22,62,17,13,52,69,71,45,46,15,196,19,9,24,158,9,5,1,36,40],"data":{"version":3,"file":"selectoption.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/selectoption.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA8D;AAC9D,6CAA+G;AAC/G,gDAA0C;AAC1C,oDAA+C;AAE/C,oDAA0D;AAE1D,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QACtD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,0CAAE,aAAa,EAAE,CAAC;QAElF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,+BAA+B,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YACrE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,KAAI,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,KAAK,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACvB,IAAI,KAAK,YAAY,qBAAa,EAAE,CAAC;gBACnC,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAa,EAAE,CAAC;wBACpC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjB,KAAK,GAAG,IAAI,gBAAQ,CAAC,wBAAwB,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,IAAI,qBAAa,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,qBAAa,CAAC;gBAC7B,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,qBAAa,CAAC,CAAC,CAAC,EAAC;gBAC1C,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,qBAAa,CAAC,CAAC,CAAC,EAAC;gBAC5C,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC;gBAC1B,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC;aAC5B,CAAC,CAAC;YACH,KAAK,CAAC,KAAK,CAAC,aAAa,CACvB,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAY,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,CAAC;YAC1H,OAAO;QACT,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,aAAa,CACvB,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;CACF;AA/CD,oCA+CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/dynamic.js":{"lineLengths":[13,62,25,62,47,46,15,28,72,20,113,9,5,1,26,35],"data":{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/dynamic.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,+CAAyC;AACzC,8CAA4C;AAG5C,MAAa,OAAO;IACX,SAAS,CAAC,IAAoB,EAAE,KAAkB;QAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,0BAAa,CAAC,iBAAiB,CAAC,CAAC;QAC5E,CAAC;IAEH,CAAC;CACF;AATD,0BASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/interface_deferred.js":{"lineLengths":[13,62,35,62,25,28,15,136,46,5,1,46,46],"data":{"version":3,"file":"interface_deferred.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/interface_deferred.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAK9D,MAAa,iBAAiB;IACrB,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QACtD,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,0CAAE,aAAa,EAAE,CAAC;QAClF,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;CACF;AALD,8CAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/class_deferred.js":{"lineLengths":[13,62,31,62,21,28,15,132,46,5,1,38,42],"data":{"version":3,"file":"class_deferred.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/class_deferred.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAK9D,MAAa,aAAa;IACjB,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QACtD,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,0CAAE,aAAa,EAAE,CAAC;QAC9E,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;CACF;AALD,sCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call.js":{"lineLengths":[13,62,22,39,72,64,70,59,52,12,28,44,36,38,78,19,9,41,41,65,102,19,9,92,33,53,108,126,9,5,1,20,32],"data":{"version":3,"file":"call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/call.ts"],"names":[],"mappings":";;;AAAA,uCAA0D;AAC1D,wEAAiE;AACjE,gEAA0D;AAC1D,sEAA+D;AAC/D,2DAAqD;AAErD,oDAA0D;AAE1D,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAmB,CAAC;YAC5C,IAAI,mCAAe,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAmB,CAAC;QACnD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,oCAAoC,CAAC;YACrD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,4BAAY,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAEpE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,YAAY,sBAAc,EAAE,CAAC;YACnC,gGAAgG;YAChG,IAAI,iCAAc,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,oBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACrF,CAAC;IAEH,CAAC;CACF;AAzBD,oBAyBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_source.js":{"lineLengths":[13,62,30,62,39,39,45,46,58,69,63,49,49,53,53,39,46,52,50,20,28,23,74,52,39,34,87,9,59,36,110,36,9,64,57,54,102,172,92,69,106,76,13,9,50,110,27,9,37,45,40,22,13,57,61,82,110,80,17,71,68,110,80,17,13,68,67,52,13,71,70,71,158,130,50,39,33,21,17,46,123,60,114,72,56,89,147,124,17,90,105,110,80,17,34,35,103,93,22,133,37,17,13,126,85,51,17,98,13,113,66,58,13,9,105,57,102,72,9,41,54,102,72,9,23,5,42,37,59,66,48,45,80,111,68,138,55,13,53,68,107,76,13,145,68,9,132,122,9,115,89,9,105,60,51,9,25,5,1,36,41],"data":{"version":3,"file":"method_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/method_source.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/method_call_body.js":{"lineLengths":[13,62,32,62,59,37,59,22,36,83,25,92,9,77,20,86,9,50,73,54,9,5,1,40,44],"data":{"version":3,"file":"method_call_body.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/method_call_body.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,2DAAqD;AAGrD,qCAAgC;AAChC,2DAAoD;AAGpD,MAAa,cAAc;IAElB,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,MAAoC;QAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC3E,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,oCAAgB,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACrE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,mCAAe,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,0CAA0C;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CAEF;AAnBD,wCAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/class_implementation.js":{"lineLengths":[13,62,37,58,45,49,69,48,42,48,52,27,28,74,53,130,75,44,83,102,19,9,72,40,9,85,18,211,9,14,98,206,9,216,115,64,60,57,56,44,9,62,5,1,50,48],"data":{"version":3,"file":"class_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/class_implementation.ts"],"names":[],"mappings":";;;AACA,0DAAmD;AACnD,6CAAgE;AAChE,iDAAgD;AAChD,qEAA8D;AAC9D,gDAA2C;AAC3C,0CAAoC;AACpC,gDAAyC;AAEzC,oDAA0D;AAE1D,MAAa,mBAAmB;IACvB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,MAAM,GAAG,IAAI,iCAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE7C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAS,CAAC,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE5G,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,yBAAyB,GAAG,SAAS,GAAG,cAAc,CAAC;YACvE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9D,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7E,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,IAAI,mBAAU,CAAC,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAO,CAAC,QAAQ,EAAE,IAAI,2BAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9I,CAAC;aAAM,CAAC;YACN,sFAAsF;YACtF,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,IAAI,mBAAU,CAAC,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAO,CAAC,QAAQ,EAAE,IAAI,gBAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzI,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,IAAI,mBAAU,CAAC,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAO,CAAC,QAAQ,EAAE,IAAI,2BAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACrJ,MAAM,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,6DAA6D;QAE3G,MAAM,eAAe,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QACxD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9C,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC;CACF;AAtCD,kDAsCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/method_implementation.js":{"lineLengths":[13,62,38,62,58,48,46,52,28,28,74,48,93,106,75,44,83,102,19,9,98,45,81,102,19,9,54,52,104,79,9,92,138,71,65,92,25,13,69,37,25,13,124,9,5,1,52,49],"data":{"version":3,"file":"method_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/method_implementation.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/move.js":{"lineLengths":[13,62,22,62,50,50,60,48,52,12,28,71,39,138,35,35,103,38,40,29,17,58,13,9,69,107,39,56,102,19,9,21,80,36,9,47,104,53,106,23,13,9,107,49,102,19,9,5,1,20,32],"data":{"version":3,"file":"move.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/move.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAC7C,4DAAsD;AAGtD,gDAAyC;AACzC,oDAA0D;AAE1D,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEzE,IAAI,UAAU,GAA6B,SAAS,CAAC;QACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,2BAA2B,CAAC;YAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACtD,UAAU,GAAG,UAAU,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC5E,MAAM,OAAO,GAAG,oBAAoB,CAAC;gBACrC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;YACrF,MAAM,OAAO,GAAG,oBAAoB,CAAC;YACrC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;IACH,CAAC;CACF;AA3CD,oBA2CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/move_corresponding.js":{"lineLengths":[13,62,35,62,50,50,46,45,52,25,28,64,70,49,76,102,19,9,69,69,124,97,88,106,23,13,102,88,106,23,13,9,5,1,46,46],"data":{"version":3,"file":"move_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/move_corresponding.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAE7C,8CAAyC;AACzC,6CAA4C;AAC5C,oDAA0D;AAE1D,MAAa,iBAAiB;IACrB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,+CAA+C,CAAC;YAChE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEpD,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,iBAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,KAAK,EAAE,CAAC;YAC9F,IAAI,UAAU,YAAY,iBAAS,IAAI,UAAU,CAAC,YAAY,EAAE,KAAK,KAAK,EAAE,CAAC;gBAC3E,MAAM,OAAO,GAAG,uDAAuD,CAAC;gBACxE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;iBAAM,IAAI,UAAU,YAAY,iBAAS,IAAI,UAAU,CAAC,YAAY,EAAE,KAAK,KAAK,EAAE,CAAC;gBAClF,MAAM,OAAO,GAAG,uDAAuD,CAAC;gBACxE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA1BD,8CA0BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/catch.js":{"lineLengths":[13,62,23,62,69,65,45,50,46,52,13,28,19,32,76,44,59,62,73,126,13,83,68,138,13,18,68,91,23,13,39,78,106,23,13,33,9,69,152,114,141,67,102,191,54,123,13,97,186,54,123,13,29,97,189,54,123,13,9,26,59,9,5,1,22,33],"data":{"version":3,"file":"catch.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/catch.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/loop.js":{"lineLengths":[13,62,22,62,45,50,50,60,56,54,66,52,64,52,12,28,77,129,95,35,69,9,140,71,79,40,37,9,122,32,57,39,56,102,19,9,61,79,102,19,9,56,35,50,49,51,102,19,9,59,55,56,56,63,53,102,19,9,41,54,53,46,102,19,9,125,54,46,33,121,67,13,9,24,55,67,75,102,19,9,123,21,80,9,34,36,25,13,54,9,123,23,78,9,14,139,27,81,13,9,80,78,9,74,56,9,73,20,70,9,5,1,20,32],"data":{"version":3,"file":"loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/loop.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/loop_group_by.js":{"lineLengths":[13,62,29,62,45,59,47,41,37,19,28,70,74,25,109,13,18,58,13,9,72,95,9,87,90,79,13,9,5,1,34,41],"data":{"version":3,"file":"loop_group_by.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/loop_group_by.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,6CAA2C;AAC3C,2DAAqD;AACrD,+CAAyC;AACzC,yCAAoC;AACpC,qCAAgC;AAGhC,MAAa,WAAW;IACf,SAAS,CAAC,IAAoB,EAAE,KAAkB;QAEvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,gBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,IAAI,mBAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,gBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC7E,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC5E,IAAI,oCAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAtBD,kCAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/read_table.js":{"lineLengths":[13,62,27,62,45,50,60,50,54,86,48,52,17,28,57,71,79,40,37,9,105,39,68,102,19,9,107,59,102,19,9,33,51,43,9,89,39,106,9,67,26,82,120,67,106,23,13,9,65,25,80,101,70,112,23,13,9,62,34,77,25,13,67,33,141,81,107,27,17,13,9,78,21,54,61,13,78,74,69,25,81,13,27,73,13,25,77,107,57,110,27,17,13,9,92,60,97,84,106,23,13,9,87,24,53,56,55,62,68,106,23,13,155,47,42,27,29,17,70,90,110,27,17,13,9,5,1,30,38],"data":{"version":3,"file":"read_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/read_table.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/component_compare_simple.js":{"lineLengths":[13,62,40,62,39,52,48,55,37,30,37,35,45,54,74,101,17,66,43,17,65,93,128,85,114,31,21,17,22,78,110,27,17,13,9,5,1,56,52],"data":{"version":3,"file":"component_compare_simple.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/component_compare_simple.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,uCAA2C;AAE3C,oDAA0D;AAC1D,gDAAyC;AACzC,uDAAiD;AACjD,qCAAgC;AAEhC,MAAa,sBAAsB;IAE1B,SAAS,CAAC,IAAoB,EAAE,KAAkB,EAAE,OAAqB;QAC9E,IAAI,UAAU,GAA6B,SAAS,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,sBAAc,EAAE,CAAC;gBAChC,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,oBAAoB,EAAE,CAAC;oBACxD,UAAU,GAAG,IAAI,gCAAc,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,OAAO,EAAE,CAAC;oBAClD,UAAU,GAAG,SAAS,CAAC;gBACzB,CAAC;qBAAM,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,MAAM,EAAE,CAAC;oBACjD,MAAM,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;oBAChE,IAAI,UAAU,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;wBAC5F,MAAM,OAAO,GAAG,4CAA4C,CAAC;wBAC7D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;wBACrE,OAAO;oBACT,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,yCAAyC,CAAC;oBAC1D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CAEF;AA1BD,wDA0BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/select.js":{"lineLengths":[13,62,24,62,50,14,28,71,50,50,33,70,9,5,1,24,34],"data":{"version":3,"file":"select.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/select.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAAiE;AAIjE,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACtC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,eAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC;QAC7D,CAAC;IAEH,CAAC;CACF;AAXD,wBAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/select.js":{"lineLengths":[13,62,24,62,45,47,37,41,63,48,45,47,49,39,46,52,25,14,54,15,43,68,86,33,43,102,19,9,52,31,87,45,102,19,9,57,56,76,18,106,79,9,70,54,9,83,38,80,79,87,142,61,67,131,32,85,32,146,21,26,105,114,31,21,17,13,9,17,76,61,9,75,78,65,13,9,85,79,65,13,9,74,74,9,77,64,9,72,58,9,5,48,78,24,81,25,125,13,9,86,28,92,49,109,13,9,76,23,130,82,73,83,106,23,13,54,42,40,82,29,36,84,114,31,21,67,52,59,57,41,29,89,74,84,44,49,42,33,29,25,21,82,17,13,9,5,49,35,19,9,35,34,30,19,9,64,86,19,9,55,88,102,19,9,37,37,25,13,97,77,106,23,13,9,5,46,37,55,9,41,38,55,9,67,57,55,9,60,122,9,73,39,34,41,67,41,63,17,60,13,153,9,51,5,29,19,29,23,66,33,75,9,165,75,9,164,58,143,28,53,13,54,9,39,78,9,19,5,1,24,34],"data":{"version":3,"file":"select.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/select.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_from.js":{"lineLengths":[13,62,25,62,39,53,15,28,23,76,38,75,60,13,78,38,87,13,9,19,5,1,26,36],"data":{"version":3,"file":"sql_from.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/sql_from.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,uCAAkC;AAClC,qDAAoE;AAGpE,MAAa,OAAO;IAEX,SAAS,CAAC,IAAoC,EAAE,KAAkB;QACvE,MAAM,GAAG,GAA0B,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,IAAI,8BAAa,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAlBD,0BAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/database_table.js":{"lineLengths":[13,62,31,46,52,21,28,43,36,27,22,29,9,69,91,80,102,9,39,118,9,14,126,140,9,21,5,1,38,42],"data":{"version":3,"file":"database_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/database_table.ts"],"names":[],"mappings":";;;AAEA,8CAA4C;AAC5C,oDAA0D;AAI1D,MAAa,aAAa;IACjB,SAAS,CAAC,IAAoB,EAAE,KAAkB;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,UAAU;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACjF,MAAM,OAAO,GAAG,2BAA2B,GAAG,IAAI,GAAG,cAAc,CAAC;YACpE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,0BAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,EAAE,0BAAa,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrG,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAC,CAAC,CAAC;QAChI,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAtBD,sCAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_for_all_entries.js":{"lineLengths":[13,62,34,62,37,45,52,24,28,61,30,68,9,16,67,51,23,13,55,67,106,23,13,60,48,9,5,1,44,47],"data":{"version":3,"file":"sql_for_all_entries.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/sql_for_all_entries.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qCAAgC;AAChC,6CAAsD;AACtD,oDAA0D;AAE1D,MAAa,gBAAgB;IAEpB,SAAS,CAAC,IAAoB,EAAE,KAAkB;QACvD,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9C,IAAI,IAAI,YAAY,gBAAQ,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,YAAY,iBAAS,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,kCAAkC,CAAC;gBACnD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChD,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CAEF;AAvBD,4CAuBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_source.js":{"lineLengths":[13,62,27,62,37,17,28,70,61,9,77,61,9,25,5,1,30,38],"data":{"version":3,"file":"sql_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/sql_source.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAI9D,qCAAgC;AAEhC,MAAa,SAAS;IAEb,SAAS,CAAC,IAAoC,EAAE,KAAkB;QACvE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,OAAO,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CAEF;AAZD,8BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_compare.js":{"lineLengths":[13,62,28,62,39,45,39,37,37,45,18,36,19,23,18,121,75,19,9,80,54,9,76,50,62,50,26,17,13,74,9,67,20,57,9,140,47,64,77,29,57,65,55,13,62,63,55,13,62,63,55,13,64,63,55,13,64,62,69,82,13,62,60,69,82,13,33,72,13,9,5,40,33,96,56,58,13,9,25,5,1,32,39],"data":{"version":3,"file":"sql_compare.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/sql_compare.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,uCAA0D;AAC1D,6CAAyF;AAKzF,uCAAkC;AAClC,qCAAgC;AAChC,qCAA+B;AAC/B,6CAAuC;AAEvC,MAAa,UAAU;IAEd,SAAS,CAAC,IAAoC,EAAE,KAAkB,EAAE,MAA6B;;QAEtG,IAAI,UAAoC,CAAC;QACzC,IAAI,KAAgC,CAAC;QAErC,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,EAAE,0CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,OAAO,EAAE,CAAC;YAC/D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAoB,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACpC,IAAI,KAAK,YAAY,sBAAc,EAAE,CAAC;oBACpC,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC9B,MAAM;gBACR,CAAC;YACH,CAAC;YAED,UAAU,GAAG,IAAI,sBAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,cAAK,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC,0CAAE,YAAY,EAAE,CAAC;QACtF,IAAI,SAAS,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YAC3C,oDAAoD;YAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAEjE,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,UAAU,YAAY,mBAAW;mBAC9B,UAAU,YAAY,qBAAa,EAAE,CAAC;gBAC3C,OAAO,GAAG,4BAA4B,CAAC;YACzC,CAAC;iBAAM,IAAI,UAAU,YAAY,mBAAW;mBACrC,UAAU,YAAY,mBAAW,EAAE,CAAC;gBACzC,OAAO,GAAG,4BAA4B,CAAC;YACzC,CAAC;iBAAM,IAAI,UAAU,YAAY,mBAAW;mBACrC,UAAU,YAAY,mBAAW,EAAE,CAAC;gBACzC,OAAO,GAAG,4BAA4B,CAAC;YACzC,CAAC;iBAAM,IAAI,UAAU,YAAY,qBAAa;mBACvC,UAAU,YAAY,mBAAW,EAAE,CAAC;gBACzC,OAAO,GAAG,4BAA4B,CAAC;YACzC,CAAC;iBAAM,IAAI,UAAU,YAAY,qBAAa;mBACvC,UAAU,YAAY,qBAAa;mBACnC,UAAU,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;gBACvD,OAAO,GAAG,uDAAuD,CAAC;YACpE,CAAC;iBAAM,IAAI,UAAU,YAAY,mBAAW;mBACrC,UAAU,YAAY,mBAAW;mBACjC,UAAU,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;gBACvD,OAAO,GAAG,uDAAuD,CAAC;YACpE,CAAC;YACD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACnB,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,SAAiB,EAAE,MAA6B,EAAE,KAAmB;QACpF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/C,IAAI,IAAI,YAAY,qBAAa,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CAEF;AA3ED,gCA2EC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_in.js":{"lineLengths":[13,62,23,62,45,52,45,13,28,46,77,27,87,29,60,63,61,54,110,27,17,13,19,9,76,61,9,83,61,9,5,1,22,34],"data":{"version":3,"file":"sql_in.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/sql_in.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,6CAAmE;AACnE,oDAA0D;AAC1D,6CAAuC;AAEvC,MAAa,KAAK;IAET,SAAS,CAAC,IAAoC,EAAE,KAAkB;QAEvE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC1D,IAAI,MAAM;oBACN,CAAC,CAAC,MAAM,YAAY,gBAAQ,CAAC;oBAC7B,CAAC,CAAC,MAAM,YAAY,mBAAW,CAAC;oBAChC,CAAC,CAAC,MAAM,YAAY,iBAAS,CAAC,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAClC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,IAAI,sBAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzE,IAAI,sBAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IAEH,CAAC;CAEF;AA7BD,sBA6BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/sql_order_by.js":{"lineLengths":[13,62,28,62,39,18,28,67,18,58,9,5,1,32,40],"data":{"version":3,"file":"sql_order_by.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/sql_order_by.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAG9D,uCAAkC;AAElC,MAAa,UAAU;IAEd,SAAS,CAAC,IAAoC,EAAE,KAAkB;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CAEF;AATD,gCASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_internal.js":{"lineLengths":[13,62,32,62,56,50,50,54,45,60,48,52,22,28,23,64,16,67,9,54,56,55,59,42,60,102,19,9,56,67,49,9,74,35,67,9,108,36,57,56,55,62,60,102,19,9,74,133,151,27,82,13,18,87,13,9,66,112,55,106,23,13,111,99,55,106,23,13,9,64,130,82,25,114,13,18,66,13,9,73,31,25,13,66,9,5,1,40,43],"data":{"version":3,"file":"insert_internal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/insert_internal.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,wDAAkD;AAClD,kDAA6C;AAC7C,kDAA6C;AAC7C,sDAAiD;AAEjD,6CAAsH;AAEtH,4DAAsD;AACtD,gDAAyC;AACzC,oDAA0D;AAE1D,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,IAAI,UAAoC,CAAC;QACzC,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,CAAC;YACN,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,YAAY,iBAAS,CAAC;eAC/B,CAAC,CAAC,UAAU,YAAY,gBAAQ,CAAC;eACjC,CAAC,CAAC,UAAU,YAAY,eAAO,CAAC;eAChC,CAAC,CAAC,UAAU,YAAY,mBAAW,CAAC;eACpC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,+BAA+B,CAAC;YAChD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;aAAM,IAAI,UAAU,YAAY,iBAAS;eACnC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YACzD,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE3F,IAAI,UAAU,KAAK,SAAS;eACrB,CAAC,CAAC,UAAU,YAAY,iBAAS,CAAC;eAClC,CAAC,CAAC,UAAU,YAAY,gBAAQ,CAAC;eACjC,CAAC,CAAC,UAAU,YAAY,eAAO,CAAC;eAChC,CAAC,CAAC,UAAU,YAAY,mBAAW,CAAC,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,+BAA+B,CAAC;YAChD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC1D,MAAM,QAAQ,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5E,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,oBAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,IAAI,mBAAQ,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YACxD,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;gBACpF,MAAM,OAAO,GAAG,sBAAsB,CAAC;gBACvC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;iBAAM,IAAI,UAAU,YAAY,qBAAa,IAAI,UAAU,YAAY,kBAAU,EAAE,CAAC;gBACnF,mFAAmF;gBACnF,MAAM,OAAO,GAAG,sBAAsB,CAAC;gBACvC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;YACjE,MAAM,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,qBAAa,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;IAEH,CAAC;CACF;AA9ED,wCA8EC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/split.js":{"lineLengths":[13,62,23,62,45,60,50,50,48,52,13,28,88,170,75,79,25,78,13,18,80,32,66,71,71,67,116,31,21,66,61,21,17,102,78,110,27,17,13,9,73,54,9,5,1,22,33],"data":{"version":3,"file":"split.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/split.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,6CAA6F;AAC7F,4DAAsD;AACtD,kDAA6C;AAC7C,kDAA6C;AAE7C,gDAAyC;AACzC,oDAA0D;AAE1D,MAAa,KAAK;IACT,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;QAChF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,iBAAS,CAAC,kBAAU,CAAC,GAAG,EAAE,EAAE,EAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAY,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,CAAC,kBAAU,CAAC,GAAG,EAAE,CAAC;QAEhI,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,CAAC,UAAU,YAAY,iBAAS,CAAC;2BAC/B,CAAC,CAAC,UAAU,YAAY,mBAAW,CAAC;2BACpC,CAAC,CAAC,UAAU,YAAY,gBAAQ,CAAC,EAAE,CAAC;wBACzC,MAAM,OAAO,GAAG,0BAA0B,CAAC;wBAC3C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;wBACvE,OAAO;oBACT,CAAC;oBACD,IAAI,UAAU,YAAY,iBAAS,EAAE,CAAC;wBACpC,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;oBACvC,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;oBACtE,MAAM,OAAO,GAAG,yCAAyC,CAAC;oBAC1D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AArCD,sBAqCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/assign.js":{"lineLengths":[13,62,24,62,50,54,45,52,48,52,14,28,19,81,181,54,35,118,119,118,240,52,98,120,61,106,23,13,57,9,14,75,9,113,200,64,90,128,66,106,23,13,9,159,47,9,147,56,9,71,21,201,90,13,18,79,13,9,70,34,25,13,54,9,5,1,24,34],"data":{"version":3,"file":"assign.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/assign.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/convert.js":{"lineLengths":[13,62,25,62,60,45,50,50,15,28,54,73,54,9,65,119,139,25,96,13,18,67,13,9,65,119,139,25,96,13,18,67,13,9,67,122,142,25,102,13,18,68,13,9,5,1,26,35],"data":{"version":3,"file":"convert.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/convert.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,4DAAsD;AACtD,6CAAiE;AACjE,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,OAAO;IACX,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAE1D,8CAA8C;QAE1C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACxE,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,gBAAQ,EAAE,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACxE,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,gBAAQ,EAAE,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACzE,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,kBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAxCD,0BAwCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/describe.js":{"lineLengths":[13,62,26,62,60,45,50,50,60,46,16,28,73,54,9,77,109,9,67,122,142,25,99,13,18,68,13,9,65,119,139,25,102,13,18,67,13,9,69,125,145,25,99,13,18,69,13,9,77,137,157,25,99,13,18,73,13,9,5,1,28,36],"data":{"version":3,"file":"describe.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/describe.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/read_textpool.js":{"lineLengths":[13,62,30,62,50,50,20,28,73,54,9,79,54,9,5,1,36,41],"data":{"version":3,"file":"read_textpool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/read_textpool.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAE7C,kDAA6C;AAG7C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YACrE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,oCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/find.js":{"lineLengths":[13,62,22,62,60,45,50,50,12,28,73,54,9,64,67,51,68,67,53,52,66,68,68,135,47,77,49,13,18,154,13,9,64,33,56,65,13,9,61,67,66,9,62,67,66,9,64,69,67,9,55,77,84,29,17,50,29,17,116,29,102,17,22,62,17,13,9,5,25,31,73,21,74,9,14,57,9,5,1,20,32],"data":{"version":3,"file":"find.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/find.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/message.js":{"lineLengths":[13,62,25,62,60,45,50,50,66,15,28,60,120,21,94,9,25,58,9,73,54,9,80,54,9,80,69,9,5,1,26,35],"data":{"version":3,"file":"message.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/message.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,4DAAsD;AACtD,6CAA6C;AAC7C,kDAA6C;AAC7C,kDAA6C;AAE7C,kEAA4D;AAG5D,MAAa,OAAO;IACX,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEnE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,IAAI,8BAAa,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IAEH,CAAC;CACF;AAtBD,0BAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/message_source.js":{"lineLengths":[13,62,31,62,37,21,28,31,73,54,9,67,121,140,39,130,84,76,17,13,89,82,117,13,9,14,156,123,161,48,124,13,9,5,1,38,42],"data":{"version":3,"file":"message_source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/message_source.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qCAAgC;AAGhC,MAAa,aAAa;IACjB,SAAS,CAAC,IAAoB,EAAE,KAAkB;;QACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,EAAE,GAAG,MAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,0CAAE,YAAY,EAAE,CAAC;YAC/D,IAAI,MAAM,GAAG,MAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,aAAa,CAAC,0CAAE,YAAY,EAAE,CAAC;YAClF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,0CAAE,YAAY,EAAE,CAAC;gBACpE,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1D,CAAC;YACH,CAAC;YACD,IAAI,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,UAAU,CAAC,GAAG,CAAC,KAAI,MAAM,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClE,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,oBAAoB,CAAC,0CAAE,YAAY,EAAE,CAAC;YAClG,MAAM,aAAa,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC,0CAAE,YAAY,GAAG,WAAW,EAAE,CAAC;YACvG,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;gBAClC,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YAC9G,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA5BD,sCA4BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_time.js":{"lineLengths":[13,62,25,62,60,45,50,15,28,69,123,21,98,9,26,59,9,5,1,26,36],"data":{"version":3,"file":"get_time.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/get_time.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,4DAAsD;AACtD,6CAA6C;AAC7C,kDAA6C;AAI7C,MAAa,OAAO;IACX,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,kBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IAEH,CAAC;CACF;AAZD,0BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_parameter.js":{"lineLengths":[13,62,30,62,60,45,50,50,20,28,69,123,21,99,9,26,59,9,73,54,9,5,1,36,41],"data":{"version":3,"file":"get_parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/get_parameter.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,4DAAsD;AACtD,6CAAgD;AAChD,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,qBAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAhBD,oCAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/when_type.js":{"lineLengths":[13,62,26,62,45,60,50,52,16,28,15,137,38,29,9,29,45,66,97,51,9,39,64,91,19,9,14,58,9,113,123,21,74,9,26,59,9,5,1,28,37],"data":{"version":3,"file":"when_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/when_type.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,6CAAgE;AAChE,4DAAsD;AAGtD,kDAA6C;AAC7C,oDAA0D;AAE1D,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QACtD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,0CAAE,aAAa,EAAE,CAAC;QACnF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,GAA6B,SAAS,CAAC;QAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;YACvF,IAAI,GAAG,IAAI,gBAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;YACpD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,2BAAmB,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF;AA5BD,4BA4BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/if.js":{"lineLengths":[13,62,20,62,46,10,28,71,50,9,5,1,16,30],"data":{"version":3,"file":"if.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/if.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,8CAAyC;AAIzC,MAAa,EAAE;IACN,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,WAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AAND,gBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/else_if.js":{"lineLengths":[13,62,24,62,46,14,28,71,50,9,5,1,24,35],"data":{"version":3,"file":"else_if.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/else_if.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,8CAAyC;AAIzC,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,WAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AAND,wBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/append.js":{"lineLengths":[13,62,24,62,50,50,45,54,60,48,52,74,14,28,35,69,21,72,9,68,73,106,59,106,23,13,107,74,9,65,96,106,59,106,23,13,107,108,9,74,35,67,9,21,40,61,40,63,66,106,23,13,36,58,50,13,62,37,13,85,54,119,62,57,17,62,57,17,110,57,110,27,17,13,18,107,57,110,27,17,13,9,59,63,57,9,55,59,55,9,5,1,24,34],"data":{"version":3,"file":"append.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/append.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/selection_screen.js":{"lineLengths":[13,62,33,62,69,45,23,28,72,34,19,9,43,57,55,52,70,70,76,15,173,9,61,198,9,14,132,9,5,1,42,44],"data":{"version":3,"file":"selection_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/selection_screen.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA8E;AAC9E,6CAA+D;AAI/D,MAAa,eAAe;IACnB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,qBAAa,CAAC;gBAC7B,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,qBAAa,CAAC,EAAE,CAAC,EAAC;gBAC3C,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,qBAAa,CAAC,CAAC,CAAC,EAAC;gBAC3C,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,qBAAa,CAAC,GAAG,CAAC,EAAC;aAClD,CAAC,CAAC;YAEH,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,gEAAmC,CAAC,CAAC,CAAC;QAClH,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,qBAAa,CAAC,EAAE,CAAC,EAAE,gEAAmC,CAAC,CAAC,CAAC;QACnI,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,mCAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,qBAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;CACF;AAzBD,0CAyBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/ranges.js":{"lineLengths":[13,62,24,62,69,45,48,50,14,28,15,138,78,43,76,9,84,33,57,69,71,45,46,15,119,96,42,9,5,1,24,34],"data":{"version":3,"file":"ranges.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/ranges.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA8D;AAC9D,6CAAwF;AACxF,gDAA0C;AAG1C,kDAA4C;AAE5C,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QACtD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,0CAAE,aAAa,EAAE,CAAC;QAEpF,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,0BAAW,CAAC,yBAAyB,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,qBAAa,CAAC;gBAClC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,qBAAa,CAAC,CAAC,CAAC,EAAC;gBAC1C,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,qBAAa,CAAC,CAAC,CAAC,EAAC;gBAC5C,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC;gBAC1B,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC;aAC5B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,iBAAS,CAAC,SAAS,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAY,CAAC,OAAO,EAAC,CAAC,CAAC;YACzF,MAAM,EAAE,GAAG,IAAI,mCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAtBD,wBAsBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/write.js":{"lineLengths":[13,62,23,62,50,50,52,48,60,46,52,13,28,21,15,43,68,43,9,73,67,28,86,88,60,103,23,13,9,191,109,9,71,56,9,69,21,59,9,5,1,22,33],"data":{"version":3,"file":"write.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/write.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAE7C,oDAA+C;AAC/C,gDAAyC;AACzC,4DAAsD;AACtD,8CAA4C;AAC5C,oDAA0D;AAE1D,MAAa,KAAK;IACT,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAE1D,aAAa;;QAET,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,iBAAiB,EAAE,CAAC;YAC1D,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,MAAM;mBACT,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK;mBACrD,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC5D,MAAM,OAAO,GAAG,2BAA2B,CAAC;gBAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,0CAAE,qBAAqB,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAI,EAAE,EAAE,CAAC;YACrI,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,0BAAa,CAAC,iBAAiB,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IAEH,CAAC;CACF;AAnCD,sBAmCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/case.js":{"lineLengths":[13,62,22,62,50,12,28,23,73,54,9,5,1,20,32],"data":{"version":3,"file":"case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/case.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,eAAe;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAPD,oBAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/case_type.js":{"lineLengths":[13,62,26,62,50,16,28,23,73,54,9,5,1,28,37],"data":{"version":3,"file":"case_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/case_type.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,eAAe;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAPD,4BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/create_object.js":{"lineLengths":[13,62,30,62,50,50,52,46,45,39,58,48,52,20,28,29,30,59,66,47,40,57,23,122,49,92,110,27,17,13,78,165,13,18,66,106,23,13,9,23,73,54,9,25,70,68,33,30,56,29,17,64,79,110,27,17,72,58,59,80,94,110,27,17,101,75,110,27,17,72,53,90,86,114,31,21,73,45,91,86,114,31,21,91,34,21,114,94,114,31,21,17,13,9,74,56,9,51,5,43,27,33,168,44,58,13,19,9,115,113,137,188,178,151,37,25,13,70,78,150,137,137,145,38,81,106,23,13,134,86,106,23,13,43,9,53,76,102,19,9,5,1,36,41],"data":{"version":3,"file":"create_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/create_object.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAC7C,oDAA+C;AAC/C,8CAA4C;AAC5C,6CAA4H;AAC5H,uCAAiE;AAGjE,0DAAmD;AACnD,gDAAyC;AACzC,oDAA0D;AAE1D,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,IAAI,IAAI,GAAiC,SAAS,CAAC;QAEnD,sBAAsB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,SAAS,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,0BAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC7F,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,sCAAsC,CAAC;oBACxE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAClE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,0BAAa,CAAC,2BAA2B,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YACxI,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,cAAc,CAAC;gBAClD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;QAED,eAAe;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,KAAK,GAAG,KAAK,CAAC;gBACd,IAAI,KAAK,YAAY,gBAAQ,EAAE,CAAC;oBAC9B,SAAS;gBACX,CAAC;qBAAM,IAAI,KAAK,YAAY,mBAAW,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,uBAAuB,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;oBAC3D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;qBAAM,IAAI,CAAC,CAAC,KAAK,YAAY,2BAAmB,CAAC;uBAC3C,CAAC,CAAC,KAAK,YAAY,eAAO,CAAC;uBAC3B,CAAC,CAAC,KAAK,YAAY,gBAAQ,CAAC;uBAC5B,CAAC,CAAC,KAAK,YAAY,kCAA0B,CAAC,EAAE,CAAC;oBACtD,MAAM,OAAO,GAAG,sCAAsC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;oBAC1E,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;qBAAM,IAAI,KAAK,YAAY,kCAA0B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC7E,MAAM,OAAO,GAAG,sCAAsC,CAAC;oBACvD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;qBAAM,IAAI,KAAK,YAAY,2BAAmB,EAAE,CAAC;oBAChD,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;oBACjC,IAAI,EAAE,YAAY,2BAAmB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC5D,MAAM,OAAO,GAAG,6CAA6C,CAAC;wBAC9D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;wBACrE,OAAO;oBACT,CAAC;yBAAM,IAAI,KAAK,YAAY,2BAAmB;2BACxC,IAAI,KAAK,SAAS;2BAClB,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;wBACrE,MAAM,OAAO,GAAG,6CAA6C,CAAC;wBAC9D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;wBACrE,OAAO;oBACT,CAAC;yBAAM,IAAI,EAAE,YAAY,uBAAe,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC/D,IAAI,GAAG,EAAE,CAAC;oBACZ,CAAC;oBACD,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,YAAY,uBAAe,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;wBACpF,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,sCAAsC,CAAC;wBACtE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;wBACrE,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,kBAAkB,CAAC,IAAkC,EAAE,IAAmB,EAAE,KAAkB;;QACpG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,0CAAE,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9G,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;gBAC9B,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,iCAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACxF,MAAM,gBAAgB,GAAG,MAAA,SAAS,CAAC,MAAM,0CAAE,aAAa,EAAE,CAAC;QAE3D,MAAM,YAAY,GAAG,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,YAAY,EAAE,KAAI,EAAE,CAAC;QAC5D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEjH,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,0CAAE,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,KAAI,EAAE,EAAE,CAAC;YACxH,MAAM,IAAI,GAAG,MAAA,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,aAAa,CAAC,0CAAE,YAAY,GAAG,WAAW,EAAE,CAAC;YAC7F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEzD,MAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CAAC,WAAW,CAAC,eAAe,CAAC,MAAK,SAAS;mBACpF,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,MAAK,SAAS;mBACrE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,MAAK,SAAS,CAAC;YAE1E,MAAM,KAAK,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC;YAC1E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,0BAA0B,IAAI,kBAAkB,CAAC;gBACjE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;iBAAM,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC5G,MAAM,OAAO,GAAG,0BAA0B,IAAI,uBAAuB,CAAC;gBACtE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,0BAA0B,CAAC,oBAAoB,CAAC;YAChE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;IACH,CAAC;CACF;AArID,oCAqIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/do.js":{"lineLengths":[13,62,20,62,50,50,48,45,52,10,28,60,73,67,29,118,59,106,23,13,9,73,54,9,5,1,16,30],"data":{"version":3,"file":"do.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/do.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAE7C,kDAA6C;AAC7C,gDAAyC;AACzC,6CAA8C;AAC9C,oDAA0D;AAE1D,MAAa,EAAE;IACN,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAEpD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,OAAO;mBACV,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAW,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;gBAClF,MAAM,OAAO,GAAG,0BAA0B,CAAC;gBAC3C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAnBD,gBAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/concatenate.js":{"lineLengths":[13,62,29,62,50,50,45,60,48,52,19,28,74,76,68,123,21,27,99,13,18,98,13,9,26,72,165,39,61,106,23,13,9,24,77,71,140,71,110,27,17,13,9,80,67,165,39,61,106,23,13,9,5,1,34,39],"data":{"version":3,"file":"concatenate.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/concatenate.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_function.js":{"lineLengths":[13,62,30,62,50,50,60,46,46,52,20,28,57,72,115,20,113,9,69,82,115,77,87,106,23,13,9,23,70,54,9,77,54,9,70,54,9,80,54,9,5,1,36,41],"data":{"version":3,"file":"call_function.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/call_function.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAC7C,4DAAsD;AACtD,8CAA4C;AAE5C,8CAAyC;AACzC,oDAA0D;AAE1D,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,iDAAiD;QAEjD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,0BAAa,CAAC,iBAAiB,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,KAAK;eAC9C,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,YAAY,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC/D,MAAM,OAAO,GAAG,oBAAoB,YAAY,sBAAsB,CAAC;gBACvE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;QAED,eAAe;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAhCD,oCAgCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/clear.js":{"lineLengths":[13,62,23,62,50,50,13,28,73,54,9,73,54,9,5,1,22,33],"data":{"version":3,"file":"clear.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/clear.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,KAAK;IACT,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,sBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/replace.js":{"lineLengths":[13,62,25,62,50,50,15,28,73,54,9,73,54,9,5,1,26,35],"data":{"version":3,"file":"replace.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/replace.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,OAAO;IACX,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAGH,CAAC;CACF;AAbD,0BAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_bit.js":{"lineLengths":[13,62,24,62,50,50,45,60,48,52,14,28,33,73,65,9,97,54,102,19,9,73,112,25,94,13,18,58,13,9,5,1,24,35],"data":{"version":3,"file":"get_bit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/get_bit.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAE7C,6CAA8C;AAC9C,4DAAsD;AAEtD,gDAAyC;AACzC,oDAA0D;AAE1D,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,IAAI,QAAQ,GAA6B,SAAS,CAAC;QACnD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,QAAQ,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,QAAQ,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;YACzE,MAAM,OAAO,GAAG,yBAAyB,CAAC;YAC1C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAW,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAxBD,wBAwBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/raise.js":{"lineLengths":[13,62,23,62,39,50,46,45,66,58,58,72,52,13,28,15,35,74,19,137,96,36,62,73,129,72,123,13,83,68,141,57,13,18,68,94,23,13,39,57,13,9,61,141,67,51,30,13,67,87,123,13,42,106,103,23,13,9,35,55,9,42,76,20,98,9,76,61,9,73,54,9,80,54,9,80,69,9,117,136,35,126,80,72,13,9,85,78,113,9,5,1,22,33],"data":{"version":3,"file":"raise.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/raise.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/raise_with.js":{"lineLengths":[13,62,27,62,37,17,28,80,54,9,5,1,30,38],"data":{"version":3,"file":"raise_with.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/raise_with.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAC9D,qCAAgC;AAGhC,MAAa,SAAS;IACb,SAAS,CAAC,IAAoB,EAAE,KAAkB;QACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAND,8BAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/delete_internal.js":{"lineLengths":[13,62,32,62,50,50,72,66,45,22,28,15,73,54,9,35,69,21,33,115,47,133,27,114,17,13,37,76,62,57,17,13,9,83,87,9,80,81,9,5,1,40,43],"data":{"version":3,"file":"delete_internal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/delete_internal.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAC7C,wEAAkE;AAClE,kEAA4D;AAI5D,6CAA4C;AAG5C,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,UAAU,GAA6B,SAAS,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,GAA8B,SAAS,CAAC;YAChD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;gBACrG,+BAA+B;gBAC/B,IAAI,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,0CAAE,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACvE,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACnD,IAAI,UAAU,YAAY,iBAAS,EAAE,CAAC;oBACpC,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzE,IAAI,oCAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,IAAI,8BAAa,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACtD,CAAC;IAEH,CAAC;CACF;AAnCD,wCAmCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/receive.js":{"lineLengths":[13,62,25,62,50,50,15,28,63,23,70,54,9,70,54,9,5,1,26,35],"data":{"version":3,"file":"receive.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/receive.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,OAAO;IACX,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,uDAAuD;QAEvD,eAAe;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAdD,0BAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/when.js":{"lineLengths":[13,62,22,62,50,12,28,70,54,9,5,1,20,32],"data":{"version":3,"file":"when.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/when.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,oBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/create_data.js":{"lineLengths":[13,62,28,62,50,50,52,48,45,69,46,18,28,73,54,9,73,54,9,74,56,9,69,19,84,55,77,86,30,134,21,26,128,141,21,17,22,124,137,17,13,9,5,1,32,39],"data":{"version":3,"file":"create_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/create_data.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAC7C,oDAA+C;AAE/C,gDAA0C;AAC1C,6CAA8C;AAC9C,qEAA8D;AAC9D,8CAA4C;AAG5C,MAAa,UAAU;IACd,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,KAAK,YAAY,mBAAW,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;oBAClE,IAAI,GAAG,EAAE,CAAC;wBACR,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,0BAAa,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACnG,CAAC;yBAAM,CAAC;wBACN,MAAM,UAAU,GAAG,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBACpF,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,0BAAa,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC1G,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,IAAI,mCAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACpF,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,0BAAa,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAnCD,gCAmCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_transformation.js":{"lineLengths":[13,62,36,62,50,50,45,60,52,26,28,77,54,9,71,56,9,70,112,25,99,13,18,58,13,9,5,1,48,47],"data":{"version":3,"file":"call_transformation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/call_transformation.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAC7C,6CAA8C;AAC9C,4DAAsD;AACtD,oDAA+C;AAI/C,MAAa,kBAAkB;IACtB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,mBAAW,EAAE,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AArBD,gDAqBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_locale.js":{"lineLengths":[13,62,27,62,50,50,17,28,73,54,9,73,54,9,5,1,30,38],"data":{"version":3,"file":"get_locale.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/get_locale.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,SAAS;IACb,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,8BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_locale.js":{"lineLengths":[13,62,27,62,50,50,17,28,73,54,9,73,54,9,5,1,30,38],"data":{"version":3,"file":"set_locale.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/set_locale.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,SAAS;IACb,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,8BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/sort.js":{"lineLengths":[13,62,22,62,50,52,45,52,12,28,19,74,56,9,68,20,72,53,188,67,111,27,17,51,58,64,63,98,65,37,25,77,53,37,25,79,80,119,35,25,83,99,118,35,25,21,17,13,40,55,58,57,65,107,23,13,9,5,1,20,32],"data":{"version":3,"file":"sort.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/sort.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,oDAA+C;AAE/C,6CAA4G;AAC5G,oDAA0D;AAE1D,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,KAAK,YAAY,iBAAS,EAAE,CAAC;gBAC/B,IAAI,CAAA,MAAA,MAAA,KAAK,CAAC,UAAU,EAAE,0CAAE,UAAU,0CAAE,IAAI,MAAK,uBAAe,CAAC,MAAM,EAAE,CAAC;oBACpE,MAAM,OAAO,GAAG,8BAA8B,CAAC;oBAC/C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACtE,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,OAAO,YAAY,gBAAQ,CAAC;uBAC3B,CAAC,CAAC,OAAO,YAAY,mBAAW,CAAC;uBACjC,CAAC,CAAC,OAAO,YAAY,eAAO,CAAC,EAAE,CAAC;oBACrC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC5E,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACvC,SAAS;wBACX,CAAC;wBACD,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;wBACrD,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;4BAC3B,SAAS;wBACX,CAAC;6BAAM,IAAI,CAAC,CAAC,OAAO,YAAY,qBAAa,CAAC,EAAE,CAAC;4BAC/C,MAAM,OAAO,GAAG,mCAAmC,CAAC;4BACpD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;4BACtE,OAAO;wBACT,CAAC;6BAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;4BAC3D,MAAM,OAAO,GAAG,SAAS,KAAK,wCAAwC,CAAC;4BACvE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;4BACrE,OAAO;wBACT,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,KAAK,SAAS;mBACvB,CAAC,CAAC,KAAK,YAAY,gBAAQ,CAAC;mBAC5B,CAAC,CAAC,KAAK,YAAY,mBAAW,CAAC;mBAC/B,CAAC,CAAC,KAAK,YAAY,eAAO,CAAC,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,gCAAgC,CAAC;gBACjD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAjDD,oBAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/read_report.js":{"lineLengths":[13,62,28,62,50,50,18,28,73,54,9,73,54,9,5,1,32,39],"data":{"version":3,"file":"read_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/read_report.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,UAAU;IACd,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,gCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/authority_check.js":{"lineLengths":[13,62,32,62,50,22,28,73,54,9,5,1,40,43],"data":{"version":3,"file":"authority_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/authority_check.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,wCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_report.js":{"lineLengths":[13,62,30,62,50,20,28,73,54,9,5,1,36,41],"data":{"version":3,"file":"insert_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/insert_report.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,oCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_reference.js":{"lineLengths":[13,62,30,62,50,50,60,45,52,20,28,64,63,69,123,45,21,50,92,106,23,13,120,9,26,59,9,5,1,36,41],"data":{"version":3,"file":"get_reference.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/get_reference.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAE7C,4DAAsD;AACtD,6CAAyD;AACzD,oDAA0D;AAE1D,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxE,qCAAqC;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,YAAY,eAAO,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,2DAA2D,CAAC;gBAC5E,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,qBAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxF,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF;AAnBD,oCAmBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_database.js":{"lineLengths":[13,62,32,62,50,52,66,22,28,70,54,9,77,54,9,71,56,9,74,34,73,9,5,1,40,43],"data":{"version":3,"file":"insert_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/insert_database.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,oDAA+C;AAC/C,kEAA4D;AAI5D,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,8BAAa,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;IAEH,CAAC;CACF;AApBD,wCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/delete_database.js":{"lineLengths":[13,62,32,62,50,52,66,22,28,70,54,9,77,54,9,71,56,9,74,34,73,9,5,1,40,43],"data":{"version":3,"file":"delete_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/delete_database.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,oDAA+C;AAC/C,kEAA4D;AAI5D,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,8BAAa,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;IAEH,CAAC;CACF;AApBD,wCAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/import_dynpro.js":{"lineLengths":[13,62,30,62,50,50,20,28,73,54,9,73,54,9,5,1,36,41],"data":{"version":3,"file":"import_dynpro.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/import_dynpro.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,oCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/syntax_check.js":{"lineLengths":[13,62,29,62,50,50,19,28,73,54,9,73,54,9,5,1,34,40],"data":{"version":3,"file":"syntax_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/syntax_check.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,WAAW;IACf,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,kCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/import.js":{"lineLengths":[13,62,24,62,50,50,14,28,15,73,54,9,73,54,9,71,27,142,24,111,13,9,5,1,24,34],"data":{"version":3,"file":"import.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/import.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,0CAAE,iBAAiB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;YACpF,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AApBD,wBAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/export.js":{"lineLengths":[13,62,24,62,50,50,14,28,15,70,54,9,73,54,9,71,27,142,24,111,13,9,5,1,24,34],"data":{"version":3,"file":"export.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/export.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,0CAAE,iBAAiB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;YACpF,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AApBD,wBAoBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/scan.js":{"lineLengths":[13,62,22,62,50,50,12,28,73,54,9,73,54,9,5,1,20,32],"data":{"version":3,"file":"scan.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/scan.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,oBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/submit.js":{"lineLengths":[13,62,24,62,50,50,52,14,28,73,54,9,73,54,9,74,56,9,5,1,24,34],"data":{"version":3,"file":"submit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/submit.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAE7C,oDAA+C;AAG/C,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IAEH,CAAC;CACF;AAhBD,wBAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/open_dataset.js":{"lineLengths":[13,62,29,62,50,50,19,28,73,54,9,73,54,9,5,1,34,40],"data":{"version":3,"file":"open_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/open_dataset.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,WAAW;IACf,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,kCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/close_dataset.js":{"lineLengths":[13,62,30,62,50,20,28,73,54,9,5,1,36,41],"data":{"version":3,"file":"close_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/close_dataset.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,oCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_run_time.js":{"lineLengths":[13,62,28,62,60,45,50,18,28,69,123,21,95,9,26,59,9,5,1,32,40],"data":{"version":3,"file":"get_run_time.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/get_run_time.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,4DAAsD;AACtD,6CAA8C;AAC9C,kDAA6C;AAI7C,MAAa,UAAU;IACd,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IAEH,CAAC;CACF;AAbD,gCAaC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/update_database.js":{"lineLengths":[13,62,32,62,50,48,45,69,64,66,52,22,28,74,34,73,9,79,106,37,87,80,57,114,60,112,111,50,17,13,9,70,54,9,77,54,9,71,56,9,72,58,9,5,1,40,43],"data":{"version":3,"file":"update_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/update_database.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,gDAAyC;AACzC,6CAAgD;AAChD,qEAA8D;AAC9D,gEAA2D;AAC3D,kEAA4D;AAC5D,oDAA+C;AAI/C,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,8BAAa,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,EAAE,CAAC;QAC7C,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;YAC3B,2EAA2E;YAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,IAAI,KAAK,YAAY,qBAAa,EAAE,CAAC;gBACnC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACpF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC1C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/E,MAAM,EAAE,GAAG,IAAI,mCAAe,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,uBAAS,CAAC,OAAO,EAAE,CAAC;YAChD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;IAEH,CAAC;CACF;AAvCD,wCAuCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/add.js":{"lineLengths":[13,62,21,62,50,50,11,28,73,54,9,73,54,9,5,1,18,31],"data":{"version":3,"file":"add.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/add.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,GAAG;IACP,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,kBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/editor_call.js":{"lineLengths":[13,62,28,62,50,18,28,73,54,9,80,54,9,5,1,32,39],"data":{"version":3,"file":"editor_call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/editor_call.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,UAAU;IACd,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,gCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/subtract.js":{"lineLengths":[13,62,26,62,50,50,16,28,73,54,9,73,54,9,5,1,28,36],"data":{"version":3,"file":"subtract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/subtract.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,4BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/add_corresponding.js":{"lineLengths":[13,62,34,62,50,50,24,28,73,54,9,73,54,9,5,1,44,45],"data":{"version":3,"file":"add_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/add_corresponding.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,gBAAgB;IACpB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,4CAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/subtract_corresponding.js":{"lineLengths":[13,62,39,62,50,50,29,28,73,54,9,73,54,9,5,1,54,50],"data":{"version":3,"file":"subtract_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/subtract_corresponding.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,qBAAqB;IACzB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,sDAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/multiply.js":{"lineLengths":[13,62,26,62,50,50,16,28,73,54,9,73,54,9,5,1,28,36],"data":{"version":3,"file":"multiply.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/multiply.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,4BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/divide.js":{"lineLengths":[13,62,24,62,50,50,14,28,73,54,9,73,54,9,5,1,24,34],"data":{"version":3,"file":"divide.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/divide.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,wBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/condense.js":{"lineLengths":[13,62,26,62,50,16,28,73,54,9,5,1,28,36],"data":{"version":3,"file":"condense.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/condense.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,4BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/controls.js":{"lineLengths":[13,62,26,62,69,45,16,28,80,87,62,114,92,42,9,63,52,79,67,73,71,74,15,52,77,67,70,74,70,78,77,78,71,71,130,74,15,92,42,9,5,1,28,36],"data":{"version":3,"file":"controls.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/controls.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/while.js":{"lineLengths":[13,62,23,62,50,46,50,13,28,71,50,9,73,54,9,73,54,9,5,1,22,33],"data":{"version":3,"file":"while.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/while.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,8CAAyC;AACzC,kDAA6C;AAI7C,MAAa,KAAK;IACT,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,WAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAdD,sBAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/select_loop.js":{"lineLengths":[13,62,28,62,60,18,28,68,16,63,9,5,1,32,39],"data":{"version":3,"file":"select_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/select_loop.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,4DAA8E;AAI9E,MAAa,UAAU;IACd,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC;YACN,IAAI,wBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AAPD,gCAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/expressions/select_loop.js":{"lineLengths":[13,62,28,37,18,28,74,53,5,1,32,39],"data":{"version":3,"file":"select_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/expressions/select_loop.ts"],"names":[],"mappings":";;;AAEA,qCAAgC;AAEhC,MAAa,UAAU;IACd,SAAS,CAAC,IAAoB,EAAE,KAAkB;QACvD,kEAAkE;QAClE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AALD,gCAKC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/check.js":{"lineLengths":[13,62,23,62,46,13,28,71,50,9,5,1,22,33],"data":{"version":3,"file":"check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/check.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,8CAAyC;AAIzC,MAAa,KAAK;IACT,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,WAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AAND,sBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/log_point.js":{"lineLengths":[13,62,26,62,50,16,28,23,73,54,9,5,1,28,37],"data":{"version":3,"file":"log_point.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/log_point.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,eAAe;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAPD,4BAOC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/raise_event.js":{"lineLengths":[13,62,28,62,50,46,18,28,41,67,83,56,67,23,134,13,9,70,54,9,5,1,32,39],"data":{"version":3,"file":"raise_event.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/raise_event.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,8CAA4C;AAI5C,MAAa,UAAU;IACd,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAC1D,iCAAiC;QAE7B,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,0BAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3G,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAlBD,gCAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/form.js":{"lineLengths":[13,62,22,65,48,64,52,12,28,15,133,33,56,102,19,9,110,71,55,58,56,5,1,20,32],"data":{"version":3,"file":"form.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/form.ts"],"names":[],"mappings":";;;AACA,iEAA2D;AAC3D,gDAAyC;AACzC,gEAAwD;AAExD,oDAA0D;AAE1D,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QACtD,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,oBAAoB,CAAC,sBAAQ,CAAC,0CAAE,YAAY,EAAE,CAAC;QACjE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,2BAA2B,CAAC;YAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAExF,MAAM,IAAI,GAAG,IAAI,gCAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAfD,oBAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/assert.js":{"lineLengths":[13,62,24,62,46,14,28,71,50,9,5,1,24,34],"data":{"version":3,"file":"assert.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/assert.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,8CAAyC;AAIzC,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,WAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AAND,wBAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_parameter.js":{"lineLengths":[13,62,30,62,50,20,28,73,54,9,5,1,36,41],"data":{"version":3,"file":"set_parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/set_parameter.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,oCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/class_local_friends.js":{"lineLengths":[13,62,35,62,46,52,25,28,74,36,20,48,40,63,95,108,106,23,13,62,22,121,13,18,72,106,23,13,9,53,59,58,62,38,77,106,23,13,9,5,1,46,47],"data":{"version":3,"file":"class_local_friends.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/class_local_friends.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,8CAA4C;AAE5C,oDAA0D;AAE1D,MAAa,iBAAiB;IACrB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAE5B,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,MAAM;mBAC5C,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjF,MAAM,OAAO,GAAG,sBAAsB,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5F,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,GAAG,EAAE,CAAC;gBACR,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,0BAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9F,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC;gBACxD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QAEH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/C,8CAA8C;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,SAAS,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC;gBAC7D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAxCD,8CAwCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_badi.js":{"lineLengths":[13,62,25,62,50,50,52,15,28,70,54,9,73,54,9,74,56,9,5,1,26,36],"data":{"version":3,"file":"get_badi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/get_badi.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAC7C,oDAA+C;AAI/C,MAAa,OAAO;IACX,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IAEH,CAAC;CACF;AAhBD,0BAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/with.js":{"lineLengths":[13,62,22,62,50,60,12,28,70,54,9,74,63,9,5,1,20,32],"data":{"version":3,"file":"with.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/with.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,4DAAsD;AAItD,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IAEH,CAAC;CACF;AAZD,oBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/with_loop.js":{"lineLengths":[13,62,26,62,50,60,16,28,70,54,9,74,63,9,5,1,28,37],"data":{"version":3,"file":"with_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/with_loop.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,4DAAsD;AAItD,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IAEH,CAAC;CACF;AAZD,4BAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/system_call.js":{"lineLengths":[13,62,28,62,50,18,28,73,54,9,5,1,32,39],"data":{"version":3,"file":"system_call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/system_call.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,UAAU;IACd,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAND,gCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/collect.js":{"lineLengths":[13,62,25,62,50,54,50,15,28,69,21,59,9,69,21,59,9,67,17,70,9,5,1,26,35],"data":{"version":3,"file":"collect.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/collect.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,sDAAiD;AACjD,kDAA6C;AAI7C,MAAa,OAAO;IACX,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,mBAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AAjBD,0BAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/transfer.js":{"lineLengths":[13,62,26,62,50,50,16,28,78,59,9,69,21,59,9,5,1,28,36],"data":{"version":3,"file":"transfer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/transfer.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF;AAXD,4BAWC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/modify_database.js":{"lineLengths":[13,62,32,62,52,66,50,46,22,28,71,56,9,74,34,50,77,28,138,17,22,81,17,13,18,77,13,9,70,54,9,77,54,9,5,1,40,43],"data":{"version":3,"file":"modify_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/modify_database.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,oDAA+C;AAC/C,kEAA4D;AAE5D,kDAA6C;AAC7C,8CAA4C;AAG5C,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC7D,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,0BAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC3G,CAAC;qBAAM,CAAC;oBACN,IAAI,8BAAa,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,8BAAa,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AA3BD,wCA2BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/truncate_dataset.js":{"lineLengths":[13,62,33,62,50,23,28,73,54,9,5,1,42,44],"data":{"version":3,"file":"truncate_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/truncate_dataset.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,eAAe;IACnB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,0CAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_badi.js":{"lineLengths":[13,62,26,62,50,50,52,16,28,70,54,9,70,54,9,71,56,9,5,1,28,37],"data":{"version":3,"file":"call_badi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/call_badi.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAC7C,oDAA+C;AAI/C,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,IAAI,iBAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IAEH,CAAC;CACF;AAhBD,4BAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_kernel.js":{"lineLengths":[13,62,28,62,50,18,28,70,54,9,5,1,32,39],"data":{"version":3,"file":"call_kernel.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/call_kernel.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,UAAU;IACd,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,gCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/pack.js":{"lineLengths":[13,62,22,62,50,50,12,28,73,54,9,73,54,9,5,1,20,32],"data":{"version":3,"file":"pack.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/pack.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,oBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/unpack.js":{"lineLengths":[13,62,24,62,50,50,14,28,73,54,9,73,54,9,5,1,24,34],"data":{"version":3,"file":"unpack.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/unpack.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,wBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/format.js":{"lineLengths":[13,62,24,62,50,14,28,70,54,9,5,1,24,34],"data":{"version":3,"file":"format.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/format.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,wBAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_pf_status.js":{"lineLengths":[13,62,29,62,50,19,28,73,54,9,5,1,34,41],"data":{"version":3,"file":"set_pf_status.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/set_pf_status.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,WAAW;IACf,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAND,kCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_titlebar.js":{"lineLengths":[13,62,29,62,50,19,28,73,54,9,5,1,34,40],"data":{"version":3,"file":"set_titlebar.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/set_titlebar.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,WAAW;IACf,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAND,kCAMC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/call_transaction.js":{"lineLengths":[13,62,33,62,50,50,23,28,73,54,9,73,54,9,5,1,42,44],"data":{"version":3,"file":"call_transaction.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/call_transaction.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,eAAe;IACnB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AAZD,0CAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_handler.js":{"lineLengths":[13,62,28,62,50,64,18,28,73,54,9,79,67,9,5,1,32,39],"data":{"version":3,"file":"set_handler.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/set_handler.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAE7C,gEAA0D;AAG1D,MAAa,UAAU;IACd,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YACrE,IAAI,4BAAY,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IAEH,CAAC;CACF;AAZD,gCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/wait.js":{"lineLengths":[13,62,22,62,50,46,12,28,73,54,9,71,50,9,5,1,20,32],"data":{"version":3,"file":"wait.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/wait.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAE7C,8CAAyC;AAGzC,MAAa,IAAI;IACR,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,WAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IAEH,CAAC;CACF;AAZD,oBAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/delete_report.js":{"lineLengths":[13,62,30,62,50,20,28,73,54,9,5,1,36,41],"data":{"version":3,"file":"delete_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/delete_report.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,oCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/shift.js":{"lineLengths":[13,62,23,62,50,50,48,52,13,28,73,54,9,69,35,54,102,19,9,74,74,91,61,106,23,13,9,14,92,62,106,23,13,9,5,1,22,33],"data":{"version":3,"file":"shift.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/shift.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAE7C,kDAA6C;AAC7C,gDAAyC;AACzC,oDAA0D;AAE1D,MAAa,KAAK;IACT,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,yBAAyB,CAAC;YAC1C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAChE,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC/D,MAAM,OAAO,GAAG,4BAA4B,CAAC;gBAC7C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChE,MAAM,OAAO,GAAG,6BAA6B,CAAC;gBAC9C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AA9BD,sBA8BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/set_bit.js":{"lineLengths":[13,62,24,62,50,50,48,52,14,28,73,54,9,73,66,91,58,103,23,13,9,5,1,24,35],"data":{"version":3,"file":"set_bit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/set_bit.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAE7C,kDAA6C;AAC7C,gDAAyC;AACzC,oDAA0D;AAE1D,MAAa,MAAM;IACV,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,GAAG,IAAI,IAAI,uBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC/D,MAAM,OAAO,GAAG,yBAAyB,CAAC;gBAC1C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAfD,wBAeC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/modify_screen.js":{"lineLengths":[13,62,30,62,50,20,28,70,54,9,5,1,36,41],"data":{"version":3,"file":"modify_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/modify_screen.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,oCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/delete_cluster.js":{"lineLengths":[13,62,31,62,50,21,28,15,73,54,9,71,27,142,24,111,13,9,5,1,38,42],"data":{"version":3,"file":"delete_cluster.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/delete_cluster.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,aAAa;IACjB,SAAS,CAAC,IAAmB,EAAE,KAAkB;;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,0CAAE,iBAAiB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;YACpF,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAhBD,sCAgBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/unassign.js":{"lineLengths":[13,62,26,62,46,52,16,28,124,21,49,67,38,74,106,23,13,114,9,5,1,28,36],"data":{"version":3,"file":"unassign.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/unassign.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAG9D,8CAA4C;AAC5C,oDAA0D;AAE1D,MAAa,QAAQ;IACZ,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACzE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC;gBAC1D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,0BAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;CACF;AAdD,4BAcC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_textpool.js":{"lineLengths":[13,62,32,62,50,22,28,73,54,9,5,1,40,43],"data":{"version":3,"file":"insert_textpool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/insert_textpool.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,wCAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/get_cursor.js":{"lineLengths":[13,62,27,62,50,17,28,70,54,9,5,1,30,38],"data":{"version":3,"file":"get_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/get_cursor.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAI7C,MAAa,SAAS;IACb,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IAEH,CAAC;CACF;AARD,8BAQC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/loop_at_screen.js":{"lineLengths":[13,62,30,62,50,60,45,20,28,69,21,59,9,123,21,100,9,5,1,36,42],"data":{"version":3,"file":"loop_at_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/loop_at_screen.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAE7C,4DAAsD;AACtD,6CAA2C;AAG3C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,gBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF;AAZD,oCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/insert_field_group.js":{"lineLengths":[13,62,34,62,50,50,24,28,70,54,9,77,54,9,73,54,9,5,1,44,46],"data":{"version":3,"file":"insert_field_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/insert_field_group.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAI7C,MAAa,gBAAgB;IACpB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAZD,4CAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/read_entities.js":{"lineLengths":[13,62,30,62,50,50,60,45,20,28,73,54,9,73,112,25,110,13,18,58,13,9,5,1,36,41],"data":{"version":3,"file":"read_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/read_entities.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAE7C,4DAAsD;AACtD,6CAA2C;AAG3C,MAAa,YAAY;IAChB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,gBAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAjBD,oCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/modify_entities.js":{"lineLengths":[13,62,32,62,50,50,60,45,22,28,73,54,9,73,112,25,112,13,18,58,13,9,5,1,40,43],"data":{"version":3,"file":"modify_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/modify_entities.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAE7C,4DAAsD;AACtD,6CAA2C;AAG3C,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,gBAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/5_syntax/statements/commit_entities.js":{"lineLengths":[13,62,32,62,50,50,60,45,22,28,73,54,9,73,112,25,112,13,18,58,13,9,5,1,40,43],"data":{"version":3,"file":"commit_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/5_syntax/statements/commit_entities.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kDAA6C;AAC7C,kDAA6C;AAE7C,4DAAsD;AACtD,6CAA2C;AAG3C,MAAa,cAAc;IAClB,SAAS,CAAC,IAAmB,EAAE,KAAkB;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,wBAAU,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,gBAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IAEH,CAAC;CACF;AAjBD,wCAiBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/excludeHelper.js":{"lineLengths":[13,62,31,21,50,48,41,28,13,9,21,5,1,38,41],"data":{"version":3,"file":"excludeHelper.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/utils/excludeHelper.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAEjB,MAAM,CAAC,UAAU,CAAC,QAAgB,EAAE,eAAyB;QAClE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CAEF;AAZD,sCAYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddic_references.js":{"lineLengths":[13,62,32,22,19,32,32,5,26,24,32,34,9,5,26,34,19,9,37,52,38,56,45,9,65,54,9,57,32,44,67,56,13,89,78,13,81,9,5,16,19,42,46,40,126,28,97,17,13,9,40,49,35,92,48,9,5,36,15,105,5,20,15,52,38,106,34,25,9,14,22,9,5,24,48,23,55,41,48,58,65,109,87,21,17,13,9,19,5,1,40,43],"data":{"version":3,"file":"ddic_references.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddic_references.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules_runner.js":{"lineLengths":[13,62,29,51,55,57,45,57,19,22,23,5,29,25,63,36,68,25,13,28,9,21,5,30,35,35,26,61,51,75,90,148,34,158,59,62,13,9,154,35,173,48,87,13,38,56,9,152,34,184,39,42,46,52,108,13,9,95,28,46,91,69,17,13,61,35,77,13,9,42,5,27,15,27,79,83,48,55,54,97,37,17,13,9,73,73,47,122,43,25,13,81,55,46,29,17,54,94,37,17,13,9,19,5,1,34,40],"data":{"version":3,"file":"rules_runner.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules_runner.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/skip_logic.js":{"lineLengths":[13,62,27,39,57,17,22,23,30,5,15,56,55,45,51,24,9,56,47,42,66,47,81,28,13,9,63,45,54,24,9,60,53,52,24,9,58,45,49,24,9,61,49,53,24,9,60,49,52,24,9,21,5,31,35,15,114,41,25,9,39,68,28,13,9,21,5,36,33,19,25,9,62,21,24,9,14,25,9,5,32,33,19,25,9,62,21,24,9,14,25,9,5,37,15,38,27,54,47,29,17,33,105,27,43,17,13,9,56,5,34,15,28,52,25,105,9,86,24,9,90,24,9,54,24,9,21,5,37,71,24,9,83,24,9,46,19,44,22,77,99,32,17,13,9,21,5,1,30,38],"data":{"version":3,"file":"skip_logic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/skip_logic.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/include_graph.js":{"lineLengths":[13,62,30,64,66,40,58,42,36,58,42,63,57,30,19,39,53,24,9,5,15,1,13,19,27,24,5,23,35,5,30,40,76,25,13,9,25,5,26,40,70,25,13,9,25,5,31,65,5,23,23,37,38,48,13,9,31,52,38,32,13,9,19,5,1,20,22,23,25,33,21,5,17,27,5,34,23,37,22,9,55,38,37,13,9,19,5,25,23,38,57,28,13,9,19,5,35,13,27,51,47,52,66,92,86,49,71,25,81,115,37,25,67,50,52,193,56,29,25,59,197,52,25,30,71,25,21,17,13,9,34,5,26,46,37,71,65,42,77,21,203,44,17,13,9,5,19,51,49,49,27,42,53,49,46,23,17,13,55,49,27,42,53,49,38,23,17,13,52,56,42,50,49,38,23,17,13,60,54,42,55,44,37,23,17,49,27,42,53,49,38,23,17,13,9,5,1,36,41],"data":{"version":3,"file":"include_graph.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/utils/include_graph.ts"],"names":[],"mappings":";;;AAAA,gEAAwD;AACxD,kEAA6D;AAC7D,wCAAmE;AACnE,0DAAoD;AACpD,0CAAqC;AACrC,oCAA+B;AAI/B,0DAAmD;AACnD,0CAAqC;AAErC,+DAA+D;AAC/D,yDAAyD;AAEzD,SAAS,cAAc,CAAC,GAAc;IACpC,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,yBAAU,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAQD,MAAM,KAAK;IAIT;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAEM,SAAS,CAAC,MAAe;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAEM,WAAW,CAAC,WAAmB;QACpC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC9D,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,QAAgB;QAChC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxD,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,OAAO,CAAC,IAAa,EAAE,UAAkB;QAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAC,CAAC,CAAC;IACzD,CAAC;IAEM,OAAO,CAAC,QAAgB;QAC7B,MAAM,GAAG,GAAc,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAED,MAAa,YAAY;IAKvB,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,kBAAkB,CAAC,QAA4B;QACpD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,aAAa,CAAC,IAAW;QAC9B,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEH,+BAA+B;IAErB,KAAK;QACX,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;oBAClC,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;wBAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACpE,MAAM,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAAC,yBAAW,CAAC,CAAC;wBAChD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;4BACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;wBAC7C,CAAC;wBACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;wBACzD,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,oDAAoD;4BACzF,SAAS;wBACX,CAAC;wBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BACxB,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gCACtB,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,YAAY,EAAE,IAAI,4BAAY,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,mBAAQ,CAAC,KAAK,CAAC,CAAC;gCAC9H,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAC1B,CAAC;wBACH,CAAC;6BAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;4BACnC,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,wCAAwC,EAAE,IAAI,4BAAY,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,mBAAQ,CAAC,KAAK,CAAC,CAAC;4BACtI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1B,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;wBAC7C,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,kBAAkB;QACxB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC7C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBACvD,CAAC;oBACD,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,2BAA2B,EAAE,IAAI,4BAAY,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,mBAAQ,CAAC,KAAK,CAAC,CAAC;oBACzI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,YAAY,iBAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;wBACnB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;wBAC5B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;wBACxB,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE;qBAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,YAAY,kBAAQ,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;wBACnB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;wBAC5B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;wBACxB,OAAO,EAAE,KAAK;qBAAC,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,YAAY,eAAK,EAAE,CAAC;gBAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;wBACnB,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE;wBACzB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;wBACxB,OAAO,EAAE,KAAK;qBAAC,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,YAAY,uBAAa,EAAE,CAAC;gBACtC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;wBACnB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;wBAC9B,WAAW,EAAE,CAAC,CAAC,IAAI;wBACnB,OAAO,EAAE,IAAI;qBAAC,CAAC,CAAC;gBACpB,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;wBACnB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;wBAC5B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;wBACxB,OAAO,EAAE,KAAK;qBAAC,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CAEF;AAvID,oCAuIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_include.js":{"lineLengths":[13,62,57,61,58,58,37,69,1,44,20,19,43,5,19,16,33,36,58,34,25,38,37,44,10,5,17,25,5,21,25,5,21,23,64,20,5,14,58,22,9,21,48,61,9,19,5,1,36,41],"data":{"version":3,"file":"check_include.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/check_include.ts"],"names":[],"mappings":";;;AACA,6DAAqD;AACrD,0DAAmD;AACnD,0DAAoD;AACpD,qCAAuD;AAIvD,MAAa,gBAAiB,SAAQ,oCAAe;CACpD;AADD,4CACC;AAED,MAAa,YAAY;IAAzB;QAEU,SAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;IA0CxC,CAAC;IAvCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,gBAAgB;YACvB,gBAAgB,EAAE,2BAA2B;YAC7C,mBAAmB,EAAE;;;oCAGS;YAC9B,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,CAAC;SACvB,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAsB;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,GAAG,GAAY,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YACtC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AA5CD,oCA4CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/msag_references.js":{"lineLengths":[13,62,32,22,19,34,32,5,53,34,19,9,57,46,9,43,25,39,27,11,63,52,9,71,60,9,57,31,25,11,5,16,44,48,70,118,74,114,13,48,9,5,30,50,5,41,15,113,5,1,40,43],"data":{"version":3,"file":"msag_references.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/msag_references.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IAA3B;QACmB,oBAAe,GAAiG,EAAE,CAAC;QACnH,kBAAa,GAA2F,EAAE,CAAC;IA+C9H,CAAC;IA7CQ,QAAQ,CAAC,QAAgB,EAAE,KAAoB,EAAE,YAAoB,EAAE,MAAc;QAC1F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YAChC,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,YAAY;YAC1B,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7D,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC9C,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,GAAY;QACvB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChE,sGAAsG;gBAC9F,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,QAAgB;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAEM,aAAa,CAAC,YAAoB,EAAE,MAAc;;QACvD,OAAO,CAAA,MAAA,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,0CAAG,MAAM,CAAC,KAAI,EAAE,CAAC;IAC5D,CAAC;CACF;AAjDD,wCAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/macro_references.js":{"lineLengths":[13,62,33,23,19,30,29,5,36,59,48,9,111,19,9,78,5,41,59,62,54,13,9,25,5,23,58,47,9,48,5,37,23,59,30,9,19,5,40,23,54,60,64,30,13,9,19,5,21,42,41,5,44,54,60,64,71,70,32,51,43,26,21,17,13,9,25,5,1,42,44],"data":{"version":3,"file":"macro_references.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/macro_references.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/method_length_stats.js":{"lineLengths":[13,62,35,62,64,66,58,75,25,21,15,23,28,28,22,27,58,22,9,48,31,54,40,70,58,53,34,30,17,74,164,17,64,30,84,21,26,33,21,35,17,40,62,63,38,17,13,9,19,5,27,22,76,23,53,9,14,75,9,20,5,1,46,47],"data":{"version":3,"file":"method_length_stats.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/utils/method_length_stats.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,gEAAgE;AAEhE,kEAA4D;AAG5D,0DAAmD;AACnD,2EAA0E;AAW1E,MAAa,iBAAiB;IACrB,MAAM,CAAC,GAAG,CAAC,GAAY;;QAC5B,MAAM,GAAG,GAA0B,EAAE,CAAC;QACtC,IAAI,GAAG,GAAyB,SAAS,CAAC;QAC1C,IAAI,UAAU,GAAW,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,MAAM,GAAY,KAAK,CAAC;QAE5B,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YACtC,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,IAAI,IAAI,YAAY,UAAU,CAAC,oBAAoB,EAAE,CAAC;oBACpD,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACtC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM,GAAG,IAAI,CAAC;oBACd,KAAK,GAAG,CAAC,CAAC;gBACZ,CAAC;qBAAM,IAAI,IAAI,YAAY,UAAU,CAAC,mBAAmB,EAAE,CAAC;oBAC1D,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,0CAAE,YAAY,EAAE,KAAI,gBAAgB,CAAC;gBAClG,CAAC;qBAAM,IAAI,IAAI,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;oBAChD,IAAI,GAAG,EAAE,CAAC;wBACR,GAAG,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;oBAC5D,CAAC;yBAAM,CAAC;wBACN,SAAS;oBACX,CAAC;oBACD,MAAM,GAAG,KAAK,CAAC;gBACjB,CAAC;qBAAM,IAAI,MAAM,KAAK,IAAI;uBACnB,CAAC,CAAC,IAAI,YAAY,oBAAO,CAAC;uBAC1B,CAAC,CAAC,IAAI,YAAY,kBAAK,CAAC,EAAE,CAAC;oBAChC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,IAAmB;QACzC,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,wBAAU,CAAC,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnDD,8CAmDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/language_server.js":{"lineLengths":[13,62,32,55,39,35,47,33,69,45,37,43,45,49,45,53,41,64,43,47,37,97,26,52,73,22,22,23,5,122,28,77,5,113,19,63,20,39,9,25,5,118,28,96,5,118,32,90,33,22,9,90,39,37,22,9,14,21,101,34,19,9,5,126,31,74,5,121,27,67,5,114,20,60,5,118,25,69,5,125,32,26,18,5,122,28,104,5,118,24,72,5,115,35,70,5,120,32,88,5,120,38,79,5,121,40,83,5,44,21,22,37,38,38,38,32,44,34,66,5,43,89,5,37,83,5,38,84,5,38,83,33,36,9,41,33,37,9,72,51,35,5,1,40,43],"data":{"version":3,"file":"language_server.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/language_server.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/symbols.js":{"lineLengths":[13,62,25,28,55,45,64,15,22,23,5,15,70,33,22,9,23,46,44,19,5,32,42,41,121,5,22,43,39,112,5,56,24,39,23,25,60,21,10,22,5,43,24,39,23,42,60,21,10,22,5,23,23,66,92,29,9,19,5,25,23,66,32,73,94,29,9,70,32,82,94,29,9,19,5,48,23,39,44,32,51,67,29,17,64,52,26,17,13,36,25,13,123,94,29,9,19,5,33,33,22,9,23,32,85,9,35,19,5,1,26,35],"data":{"version":3,"file":"symbols.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/symbols.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/_lsp_utils.js":{"lineLengths":[13,62,26,41,72,58,42,55,16,39,49,33,29,9,48,62,55,56,86,36,17,13,9,25,5,32,156,5,30,75,5,44,16,42,64,10,5,33,69,33,29,9,98,55,72,36,24,37,92,37,36,18,13,9,25,5,46,30,45,49,48,54,56,82,44,17,13,18,74,40,31,17,13,9,25,5,1,28,38],"data":{"version":3,"file":"_lsp_utils.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/_lsp_utils.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/hover.js":{"lineLengths":[13,62,23,49,62,55,58,45,39,75,13,22,23,5,15,87,33,29,9,83,58,29,9,70,34,29,9,61,64,62,68,83,9,71,78,9,94,78,9,57,33,56,42,13,70,9,72,75,78,9,56,74,9,25,5,1,22,33],"data":{"version":3,"file":"hover.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/hover.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/_lookup.js":{"lineLengths":[13,62,27,28,55,62,64,52,45,71,60,56,62,41,75,17,37,19,50,18,51,82,9,51,17,54,9,157,40,29,9,76,70,74,20,68,34,35,42,35,14,9,80,70,74,20,72,34,35,42,35,14,9,65,84,74,101,88,9,82,88,76,75,90,9,28,136,35,97,82,13,9,73,92,78,36,74,13,18,35,13,37,97,79,13,133,9,123,109,119,116,71,83,32,97,46,44,54,47,26,21,17,13,9,70,30,37,40,58,17,73,13,39,43,35,89,69,43,17,73,48,17,13,20,34,39,47,47,35,14,9,67,146,34,24,40,33,120,89,22,18,13,9,32,61,9,25,5,48,31,84,34,68,9,44,66,9,57,47,9,52,100,9,47,85,9,54,43,9,67,97,9,61,85,9,21,5,44,31,22,27,58,9,49,148,67,37,71,13,37,126,13,37,126,13,75,9,79,56,9,91,202,43,67,13,62,9,27,36,9,75,61,9,19,5,42,37,37,9,76,38,52,9,48,5,40,21,53,52,35,33,40,47,13,9,52,35,33,40,47,13,9,50,34,32,39,47,13,9,44,16,59,9,48,31,53,39,13,9,19,5,31,43,27,44,9,86,5,43,23,53,65,28,13,9,41,21,62,9,19,5,33,16,36,52,10,5,47,39,34,29,9,84,81,70,29,9,145,38,29,9,72,29,9,49,77,83,29,9,86,285,23,9,14,289,23,9,5,38,70,29,9,79,33,29,9,49,43,73,79,29,9,30,5,36,65,19,9,78,33,29,9,49,43,73,79,29,9,58,18,41,9,25,5,1,30,35],"data":{"version":3,"file":"_lookup.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/_lookup.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;AAC5B,uDAAuD;AACvD,8DAA8D;AAC9D,gEAAgE;AAGhE,oDAAoD;AAEpD,6CAAmD;AACnD,uEAAgF;AAGhF,4DAAsE;AAEtE,wDAAkD;AAClD,8DAAuD;AAKvD,yCAA6C;AAC7C,2EAAqE;AAarE,MAAa,SAAS;IAEb,MAAM,CAAC,MAAM,CAAC,MAAmB,EAAE,GAAc,EAAE,GAAe;;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC;QACtE,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,EAAC,KAAK,EAAE,kBAAkB,GAAG,EAAE,EAAC,CAAC;QAC1C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,oBAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAC1E,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC5B,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACnC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,qBAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO;gBACL,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;gBACnD,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,SAAS;gBACzB,KAAK,EAAE,WAAW;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,qBAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO;gBACL,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;gBACvD,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,SAAS;gBACzB,KAAK,EAAE,WAAW;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC1E,MAAM,KAAK,GAAG,qBAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzF,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC;QAC5E,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1E,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC9E,MAAM,KAAK,GAAG,qBAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,sBAAsB,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAC/D,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC;QAC9E,CAAC;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAChI,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACnF,UAAU,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACpE,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAClF,MAAM,KAAK,GAAG,yBAAyB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;gBACtB,UAAU,GAAG,KAAK,GAAG,uBAAuB,GAAG,UAAU,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;YAED,IAAI,QAAQ,GAAiC,SAAS,CAAC;YACvD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,yCAAwB,KAAK,KAAK,EAAE,CAAC;gBAClE,QAAQ,GAAG,qBAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC;QACzH,CAAC;QAED,mHAAmH;QACnH,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,oBAAoB,EAAE,EAAE,GAAG,WAAW,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC;YACnG,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,CAAC,CAAC,oBAAoB,EAAE,0CAAE,MAAM,EAAE,KAAI,EAAE,EAAE,CAAC;gBACzD,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,CAAC,CAAC,aAAa,EAAE,0CAAE,MAAM,EAAE,KAAI,EAAE,EAAE,CAAC;oBAClD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;wBACjD,MAAM,KAAK,GAAG,qBAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;wBAC9C,OAAO;4BACL,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;4BACpE,UAAU,EAAE,KAAK;4BACjB,YAAY,EAAE,CAAC;4BACf,cAAc,EAAE,SAAS;4BACzB,KAAK,EAAE,WAAW;yBACnB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;oBACtB,UAAU,IAAI,uBAAuB,CAAC;gBACxC,CAAC;gBACD,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,UAAU,GAAiC,SAAS,CAAC;YACzD,IAAI,cAAc,GAAiC,SAAS,CAAC;YAE7D,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACrB,UAAU,GAAG,qBAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,UAAU,CAAC,GAAG,KAAK,kBAAO,CAAC,QAAQ,EAAE,CAAC;oBACxC,UAAU,GAAG,SAAS,CAAC;gBACzB,CAAC;gBACD,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,YAAY,sBAAc,EAAE,CAAC;oBAC/C,cAAc,GAAG,UAAU,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,UAAU;gBACjB,UAAU,EAAE,UAAU;gBACtB,cAAc,EAAE,cAAc;gBAC9B,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAC9B,KAAK,EAAE,WAAW;aACnB,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,sBAAS,EAAE,CAAC;YAC5C,MAAM,eAAe,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;YACtI,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO;oBACL,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE;wBACV,GAAG,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ;wBAC9B,KAAK,EAAE,qBAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;qBACpD;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;YACtB,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4CAA4C;IAEpC,MAAM,CAAC,QAAQ,CAAC,QAAyB;QAC/C,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxB,KAAK,IAAI,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC1D,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;YAC/C,KAAK,IAAI,yBAAyB,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC1C,KAAK,IAAI,8BAA8B,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,gBAAgB,EAAE,GAAG,KAAK,CAAC;QAC1F,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,KAAK,IAAI,oBAAoB,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;QAC3E,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;YAC5C,KAAK,IAAI,qBAAqB,CAAC;QACjC,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,KAAK,SAAS,EAAE,CAAC;YACzD,KAAK,IAAI,0BAA0B,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;QACvF,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;YACnD,KAAK,IAAI,oBAAoB,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;QAC3E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,GAAe,EAAE,KAA0B,EAAE,GAAc;;QACvF,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;QAChD,CAAC;QACD,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QAEzC,IAAI,GAAG,CAAC,aAAa,KAAK,0BAAa,CAAC,eAAe,KAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,MAAM,CAAA,EAAE,CAAC;YAC7E,IAAI,IAAI,GAAwD,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5G,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,GAAG,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,GAAG,MAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAuB,0CAAE,aAAa,EAAE,CAAC;YACzF,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,GAAG,MAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAA2B,0CAAE,aAAa,EAAE,CAAC;YAC7F,CAAC;YAED,GAAG,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,YAAY,mCAAe,EAAE,CAAC;YACnD,GAAG,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,GAAG,CAAC,aAAa,KAAK,0BAAa,CAAC,sBAAsB,EAAE,CAAC;YACtE,MAAM,UAAU,GAAG,IAAI,kBAAO,EAAE,CAAC,aAAa,CAAC,MAAA,MAAA,GAAG,CAAC,QAAQ,0CAAE,OAAO,EAAE,0CAAE,WAAW,EAAE,CAAC,CAAC;YACvF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,2CAA2C,CAAC;YACrD,CAAC;YACD,GAAG,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,GAAG,IAAI,gBAAgB,CAAC;QAC1B,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,GAAG,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,MAAc,EAAE,QAA6D;QACtG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,gCAAgC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,SAA4B;QAC1D,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAE7C,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,GAAG,IAAI,aAAa,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,GAAG,IAAI,aAAa,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,IAAI,YAAY,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,MAAM,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC;YACN,GAAG,IAAI,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,GAAG,IAAI,WAAW,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC;gBACvC,GAAG,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,CAAkB;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjB,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAChF,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,KAA0B,EAAE,KAAoB;QAC9E,MAAM,GAAG,GAAiB,EAAE,CAAC;QAE7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,IAAc;QAC1C,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACxC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,KAAkB,EAAE,KAAsC;;QAC5F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK,uBAAS,CAAC,eAAe;eACzD,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK,uBAAS,CAAC,SAAS,CAAC;eACpD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,0CAAE,aAAa,EAAE,CAAC;QAC3F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,yCAAyC;QACzC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;eAChE,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YACvE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK,uBAAS,CAAC,eAAe,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,MAAA,MAAA,MAAA,KAAK,CAAC,SAAS,EAAE,0CAAE,mBAAmB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,0CAAE,oBAAoB,EAAE,0CAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACvI,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAA,MAAA,MAAA,KAAK,CAAC,SAAS,EAAE,0CAAE,uBAAuB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,0CAAE,oBAAoB,EAAE,0CAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3I,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,KAAkB;QAClD,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,yCAAyC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;eAC5D,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YACnE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,KAAkB,EAAE,GAAc;QAC3D,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,yCAAyC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;eAC5D,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YACnE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAA2B,CAAC;QAC5E,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CAEF;AAxYD,8BAwYC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/diagnostics.js":{"lineLengths":[13,62,29,55,45,42,19,22,23,5,30,25,126,33,22,9,53,32,22,9,52,76,22,5,33,27,60,20,105,99,14,33,92,51,31,10,25,5,24,53,31,37,63,9,27,5,34,27,43,56,45,58,42,62,20,56,9,5,1,34,39],"data":{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/diagnostics.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AAEvD,6CAAsC;AAEtC,0CAAqC;AAErC,MAAa,WAAW;IAGtB,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,YAA4C;QAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAEjB,MAAM,IAAI,GAAG,qBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,0CAA0C;QACzG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,KAAY;QACtC,MAAM,SAAS,GAAuB;YACpC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC/C,KAAK,EAAE;gBACL,KAAK,EAAE,EAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAC;gBACtF,GAAG,EAAE,EAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAC;aACjF;YACD,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE;YACpB,eAAe,EAAE,EAAC,IAAI,EAAE,6BAA6B,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,EAAC;YAC7E,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,UAAU;SACnB,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,IAAI,CAAC,YAA4C;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAE7C,MAAM,WAAW,GAAyB,EAAE,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,QAAkB;QAC3C,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,mBAAQ,CAAC,KAAK;gBACjB,OAAO,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC;YAC1C,KAAK,mBAAQ,CAAC,OAAO;gBACnB,OAAO,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAC5C,KAAK,mBAAQ,CAAC,IAAI;gBAChB,OAAO,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC;YAChD;gBACE,OAAO,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAC5C,CAAC;IACH,CAAC;CAEF;AAjED,kCAiEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/help.js":{"lineLengths":[13,62,22,41,45,52,58,45,12,46,78,33,36,9,14,68,9,5,53,56,25,19,52,60,58,50,51,8,7,46,40,48,35,86,55,35,48,35,48,23,5,27,36,22,58,66,66,46,10,51,70,5,65,21,88,34,86,69,55,9,14,54,9,78,55,81,63,38,80,98,29,62,121,115,17,22,44,17,13,9,19,5,34,46,38,49,9,58,34,49,9,71,5,44,28,27,35,9,52,77,9,57,77,9,58,79,9,53,68,37,50,53,56,74,49,13,9,14,69,9,49,60,22,27,13,9,25,5,34,25,65,46,73,55,71,46,38,65,9,14,54,9,23,5,24,41,40,40,42,42,19,5,39,149,5,39,149,5,41,152,5,31,25,35,27,44,33,38,33,94,26,38,101,26,24,26,13,80,9,29,5,25,122,47,44,64,70,62,46,9,35,21,5,34,24,55,54,80,29,28,55,75,9,22,5,34,28,35,56,145,13,61,97,13,9,32,5,27,59,43,47,25,13,104,43,59,13,45,9,37,5,1,20,32],"data":{"version":3,"file":"help.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/help.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/dump_scope.js":{"lineLengths":[13,62,27,62,17,28,51,66,19,5,44,48,45,50,92,86,61,67,34,9,14,86,9,26,77,82,81,9,14,52,9,27,45,62,9,19,5,35,21,51,43,46,58,9,14,46,9,35,43,70,46,94,55,31,9,41,45,58,9,14,45,9,34,42,84,46,94,55,46,23,40,13,31,9,92,83,78,77,52,203,9,19,5,61,24,41,40,40,42,42,19,5,1,30,38],"data":{"version":3,"file":"dump_scope.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/dump_scope.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/pretty_printer/pretty_printer.js":{"lineLengths":[13,62,31,75,57,37,58,54,21,31,36,25,29,101,24,123,137,10,5,11,53,45,63,71,68,101,69,25,13,70,85,53,9,62,66,27,5,1,38,42],"data":{"version":3,"file":"pretty_printer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/pretty_printer/pretty_printer.ts"],"names":[],"mappings":";;;AAAA,2EAAqG;AACrG,yDAA2C;AAC3C,qCAA0C;AAG1C,0DAAoD;AAEpD,sDAAkE;AAElE,MAAa,aAAa;IAMxB,YAAmB,IAAc,EAAE,MAAsB;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,eAAe,GAAoB,MAAM,CAAC,UAAU,CAAC,IAAI,yBAAW,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;QAEhG,IAAI,CAAC,OAAO,GAAG;YACb,aAAa,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa;YAC7C,oBAAoB,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,oBAAoB;SAC5D,CAAC;IACJ,CAAC;IAEM,GAAG;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO;mBACjC,SAAS,CAAC,GAAG,EAAE,YAAY,yBAAY;mBACvC,SAAS,CAAC,GAAG,EAAE,YAAY,sBAAS;mBACpC,SAAS,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,YAAY,kCAAe;mBAC/D,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,0DAA0D;YAC1D,MAAM,OAAO,GAAG,IAAI,0BAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CAEF;AAzCD,sCAyCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/pretty_printer/fix_keyword_case.js":{"lineLengths":[13,62,25,41,51,56,49,15,39,60,90,41,29,5,24,54,58,42,58,29,17,92,25,13,58,42,43,97,82,17,13,63,36,13,18,82,13,9,33,5,27,33,5,28,59,53,83,111,5,29,52,45,118,45,5,1,26,44],"data":{"version":3,"file":"fix_keyword_case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/pretty_printer/fix_keyword_case.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/keyword_case.js":{"lineLengths":[13,62,82,36,45,41,75,51,40,61,62,64,37,34,58,48,21,30,40,40,75,68,19,28,44,46,37,59,49,43,46,119,49,47,33,5,1,42,12,23,26,35,32,25,5,30,36,47,55,52,97,53,24,9,52,29,113,39,28,13,91,28,13,119,42,28,13,48,109,28,13,9,52,57,76,33,28,13,80,34,28,13,42,28,13,9,46,51,76,33,28,13,84,34,28,13,42,28,13,9,21,5,1,49,19,28,42,5,19,16,32,34,106,142,104,47,48,10,5,17,25,5,21,25,38,46,9,44,46,9,55,80,9,5,26,26,47,31,75,56,80,26,13,9,48,29,55,57,25,13,67,36,81,29,17,57,68,41,17,55,35,49,26,17,39,13,9,22,5,22,25,32,43,58,52,29,37,92,9,14,83,9,56,37,45,47,41,65,58,17,22,58,17,13,18,54,13,9,35,148,5,72,25,21,41,51,38,58,45,68,74,29,17,49,48,93,140,29,17,63,93,29,17,87,38,67,70,64,29,17,94,69,17,13,58,49,91,68,17,13,63,63,13,18,89,13,9,19,5,27,137,25,9,57,53,9,62,53,9,21,5,1,34,40],"data":{"version":3,"file":"keyword_case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/keyword_case.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/edit_helper.js":{"lineLengths":[13,62,48,42,38,41,53,17,23,31,29,38,25,5,55,25,67,29,9,87,62,27,9,48,124,5,14,39,47,9,42,45,9,23,78,75,37,101,13,51,28,78,13,49,27,87,13,18,29,51,13,9,79,5,1,30,18,29,27,32,39,54,43,17,74,13,9,23,5,30,23,44,39,28,13,44,9,44,39,28,13,44,9,19,5,39,33,29,9,47,41,25,13,9,25,5,45,44,35,121,9,31,27,46,42,42,38,47,39,38,25,13,39,36,31,25,13,44,65,42,17,13,40,65,38,17,22,13,9,77,71,121,9,73,63,48,56,43,22,13,9,43,77,38,95,133,50,9,77,39,118,9,14,31,98,9,5,39,54,48,46,36,13,9,61,5,37,44,71,56,5,42,44,37,56,5,38,44,47,58,5,44,79,5,49,44,37,58,5,1,32,37,11,34,107,33,57,9,41,66,62,50,64,35,62,13,18,63,82,60,66,38,99,27,55,104,13,9,79,31,5,1,51,36,19,19,22,28,28,42,31,36,13,47,9,5,29,30,51,50,70,28,70,13,23,11,41,20,5,15,1,39],"data":{"version":3,"file":"edit_helper.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/edit_helper.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/pretty_printer/indent.js":{"lineLengths":[13,62,24,62,64,75,58,61,14,26,39,37,5,33,52,59,43,45,101,43,13,41,47,25,13,74,43,43,46,13,9,32,5,68,30,23,23,34,26,34,42,55,101,48,13,41,48,54,55,55,55,51,50,53,61,53,62,57,53,54,73,65,91,90,88,52,57,58,54,36,13,64,63,61,60,59,55,49,60,62,30,37,13,52,72,52,65,64,30,38,13,55,54,42,13,54,55,53,54,56,53,38,13,57,76,13,56,56,41,105,13,57,57,53,63,29,46,25,13,33,77,122,92,29,46,25,13,29,45,51,52,56,60,55,48,48,53,52,53,51,52,50,54,56,53,50,58,67,50,50,52,66,59,54,73,65,93,99,92,90,62,49,63,61,59,60,59,55,60,52,55,56,36,13,54,71,35,13,63,50,54,68,85,35,13,42,9,19,5,41,49,25,9,37,115,83,28,89,13,24,9,66,83,104,28,13,9,21,5,1,24,13,19,24,5,16,30,5,12,49,5,11,33,64,20,5,1,34],"data":{"version":3,"file":"indent.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/pretty_printer/indent.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/indentation.js":{"lineLengths":[13,62,55,36,45,40,61,53,62,64,37,34,42,58,48,68,19,28,46,37,78,35,104,53,42,49,43,5,1,42,49,19,28,42,5,19,16,31,33,51,104,46,16,20,9,0,25,19,10,11,47,18,24,9,0,25,21,12,11,10,5,17,25,5,21,25,5,26,19,31,25,48,46,9,45,56,51,43,26,13,87,26,13,9,28,134,98,65,10,82,23,55,66,73,25,13,44,56,73,80,32,29,17,91,33,29,17,41,29,17,13,50,67,80,32,29,17,95,33,29,17,41,29,17,13,71,44,151,88,129,32,47,26,17,13,9,19,5,1,34,39],"data":{"version":3,"file":"indentation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/indentation.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AAEtC,wCAAiC;AACjC,6DAAqD;AAErD,qDAAgD;AAChD,8DAA8D;AAC9D,gEAAgE;AAChE,qCAAgD;AAChD,kCAA6B;AAC7B,0CAAqC;AACrC,0DAAoD;AACpD,gDAA0C;AAG1C,MAAa,eAAgB,SAAQ,oCAAe;IAApD;;QACE,sCAAsC;QAC/B,qBAAgB,GAAY,IAAI,CAAC;QACxC,sEAAsE;QAC/D,kBAAa,GAAY,KAAK,CAAC;QACtC,gGAAgG;QACzF,oCAA+B,GAAY,KAAK,CAAC;QACjD,yBAAoB,GAAY,KAAK,CAAC;QACtC,gCAA2B,GAAY,KAAK,CAAC;QAC7C,0BAAqB,GAAY,KAAK,CAAC;IAChD,CAAC;CAAA;AAVD,0CAUC;AAED,MAAa,WAAY,SAAQ,qBAAQ;IAAzC;;QACU,SAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IAgHvC,CAAC;IA9GQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,aAAa;YACpB,gBAAgB,EAAE,oBAAoB;YACtC,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,EAAE,gBAAO,CAAC,UAAU,CAAC;YAChE,UAAU,EAAE;;;;;;;;UAQR;YACJ,WAAW,EAAE;;;;;;;;UAQT;SACL,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAqB;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,GAAY;;QAC3C,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,GAAG,KAAK,CAAC;QAEjB,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,uBAAuB;QACpC,CAAC;QAED,IAAI,GAAG,YAAY,eAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC3E,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAwB;YACtC,+BAA+B,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,+BAA+B;YAC3E,aAAa,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa;YACvC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB;SACrD,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,UAAU,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,GAAG,GAAY,EAAE,CAAC;QAExB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;YACtD,IAAI,QAAQ,YAAY,kCAAe,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAEhC,IAAI,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBAC1C,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,eAAe;uBACpD,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5D,IAAI,GAAG,IAAI,CAAC;oBACZ,SAAS;gBACX,CAAC;qBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC3E,IAAI,GAAG,KAAK,CAAC;oBACb,SAAS;gBACX,CAAC;qBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACzB,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACpC,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,SAAS;uBAC9C,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5D,IAAI,GAAG,IAAI,CAAC;oBACZ,SAAS;gBACX,CAAC;qBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,YAAY,EAAE,CAAC;oBAC/E,IAAI,GAAG,KAAK,CAAC;oBACb,SAAS;gBACX,CAAC;qBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACzB,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACzD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAG,wBAAU,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,mBAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9G,MAAM,OAAO,GAAG,gCAAgC,GAAG,QAAQ,GAAG,SAAS,CAAC;gBACxE,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACzG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,IAAI,GAAG,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;oBAC7B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAjHD,kCAiHC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/definition.js":{"lineLengths":[13,62,28,58,45,39,19,18,22,23,5,34,15,83,33,29,9,83,58,29,9,93,34,29,9,122,5,1,32,38],"data":{"version":3,"file":"definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/definition.ts"],"names":[],"mappings":";;;AAEA,0DAAmD;AACnD,6CAAsC;AACtC,uCAAoC;AAEpC,mBAAmB;AACnB,MAAa,UAAU;IAGrB,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,IAAI,CAAC,YAA4C,EAC5C,QAA0B;;QAEpC,MAAM,IAAI,GAAG,qBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,qBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,YAAY,EAAE,QAAQ,EAAC,CAAC,CAAC;QACtE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAA,mBAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,0CAAE,UAAU,CAAC;IAC5D,CAAC;CAEF;AA3BD,gCA2BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/rename.js":{"lineLengths":[13,62,45,55,45,58,39,71,41,45,55,45,15,24,62,56,70,52,57,14,22,23,5,27,90,33,29,9,83,58,29,9,74,35,29,9,71,48,42,51,39,9,73,131,75,9,124,78,9,128,82,9,125,73,9,25,5,20,51,36,29,9,31,40,111,44,111,37,51,35,49,20,33,9,5,8,28,15,50,78,31,51,115,96,9,25,5,26,19,50,78,31,51,115,96,9,101,18,69,159,96,9,25,5,1,24,34],"data":{"version":3,"file":"rename.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/rename.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/references.js":{"lineLengths":[13,62,28,58,45,52,39,62,18,22,23,5,21,87,33,22,9,83,58,22,9,70,93,22,9,72,178,22,9,68,67,5,48,85,79,21,70,49,149,56,9,56,23,9,48,57,47,62,17,125,13,9,74,40,46,9,14,23,9,5,27,26,35,109,39,31,27,11,5,38,15,23,77,61,50,45,36,83,30,13,50,47,37,83,30,13,56,99,41,17,13,9,45,60,9,19,5,1,32,38],"data":{"version":3,"file":"references.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/references.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/renamer.js":{"lineLengths":[13,62,25,77,57,63,51,63,71,49,59,65,15,22,23,5,70,52,36,62,34,62,9,33,61,9,41,70,22,5,68,40,78,54,32,56,9,69,68,48,9,37,65,5,22,19,23,24,77,24,77,24,66,24,64,24,73,24,85,24,79,20,78,9,5,18,27,24,34,36,36,10,74,55,72,35,61,13,71,33,13,18,66,13,9,39,54,51,49,9,35,22,5,19,65,33,74,9,39,35,58,72,13,52,85,27,56,9,91,37,5,27,34,57,36,63,13,81,37,38,9,5,1,26,35],"data":{"version":3,"file":"renamer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rename/renamer.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_data_element.js":{"lineLengths":[13,62,35,26,53,25,22,23,5,39,48,69,9,25,68,94,76,89,89,89,89,16,37,10,5,1,46,47],"data":{"version":3,"file":"rename_data_element.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rename/rename_data_element.ts"],"names":[],"mappings":";;;AAEA,0BAA+B;AAG/B,qDAA+C;AAE/C,MAAa,iBAAiB;IAG5B,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,GAAY,EAAE,OAAe,EAAE,OAAe;QAC9D,IAAI,CAAC,CAAC,GAAG,YAAY,eAAW,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,GAAgE,EAAE,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACtF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEjF,OAAO;YACL,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;CAEF;AA1BD,8CA0BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/renamer_helper.js":{"lineLengths":[13,62,31,77,29,55,65,61,50,21,22,23,5,44,31,74,9,22,48,57,47,62,17,124,13,9,95,66,5,53,27,69,31,68,25,13,218,193,9,23,5,53,27,69,27,31,78,124,25,13,60,37,25,13,88,49,9,23,5,53,27,69,31,36,25,13,60,37,25,13,87,9,23,5,53,27,69,31,36,25,13,60,37,25,13,87,9,23,5,53,27,69,31,36,25,13,60,37,25,13,88,9,23,5,57,27,40,32,22,9,41,82,38,38,47,50,29,128,204,13,9,23,5,37,24,63,60,41,119,74,101,9,20,5,28,41,27,100,31,194,198,9,23,5,38,15,21,77,56,98,73,96,41,17,13,9,45,65,9,19,5,1,38,42],"data":{"version":3,"file":"renamer_helper.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rename/renamer_helper.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_domain.js":{"lineLengths":[13,62,30,26,53,20,22,23,5,39,43,58,9,25,68,93,76,89,16,37,10,5,1,36,41],"data":{"version":3,"file":"rename_domain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rename/rename_domain.ts"],"names":[],"mappings":";;;AAEA,0BAA0B;AAG1B,qDAA+C;AAE/C,MAAa,YAAY;IAGvB,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,GAAY,EAAE,OAAe,EAAE,OAAe;QAC9D,IAAI,CAAC,CAAC,GAAG,YAAY,UAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,GAAgE,EAAE,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEjF,OAAO;YACL,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;CAEF;AAvBD,oCAuBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_global_class.js":{"lineLengths":[13,62,35,65,67,77,26,53,53,25,22,23,5,39,42,43,9,43,33,51,9,25,52,9,29,51,68,77,44,33,21,159,17,77,77,44,33,21,159,17,13,128,9,68,93,76,97,89,16,37,10,5,1,46,47],"data":{"version":3,"file":"rename_global_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rename/rename_global_class.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,mEAAmE;AACnE,6EAA0H;AAE1H,0BAAyB;AACzB,qDAA8C;AAE9C,qDAA+C;AAG/C,MAAa,iBAAiB;IAG5B,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,GAAY,EAAE,OAAe,EAAE,OAAe;QAC9D,IAAI,CAAC,CAAC,GAAG,YAAY,SAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,GAAgE,EAAE,CAAC;QAE9E,4CAA4C;QAC5C,CAAC;YACC,MAAM,KAAK,GAAe,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,eAAe,EAAE,CAAC;oBAClD,MAAM,GAAG,GAAG,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBACzD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,sCAAQ,CAAC,OAAO,CAAC,qBAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClG,CAAC;qBAAM,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,mBAAmB,EAAE,CAAC;oBAC7D,MAAM,GAAG,GAAG,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBACzD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,sCAAQ,CAAC,OAAO,CAAC,qBAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClG,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,8CAAgB,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACzF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEjF,OAAO;YACL,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;CAEF;AAnDD,8CAmDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_global_interface.js":{"lineLengths":[13,62,39,65,67,77,53,53,44,29,22,23,5,39,54,48,9,43,33,51,9,25,52,9,29,51,62,81,44,33,21,159,17,13,128,9,68,93,76,97,16,37,10,5,1,54,51],"data":{"version":3,"file":"rename_global_interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rename/rename_global_interface.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,mEAAmE;AACnE,6EAA0H;AAE1H,qDAA8C;AAE9C,qDAA+C;AAE/C,4CAAuC;AAEvC,MAAa,qBAAqB;IAGhC,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,GAAY,EAAE,OAAe,EAAE,OAAe;QAC9D,IAAI,CAAC,CAAC,GAAG,YAAY,qBAAS,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,GAAgE,EAAE,CAAC;QAE9E,4CAA4C;QAC5C,CAAC;YACC,MAAM,KAAK,GAAe,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBAC7D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,sCAAQ,CAAC,OAAO,CAAC,qBAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClG,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,8CAAgB,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEzF,OAAO;YACL,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;CAEF;AA5CD,sDA4CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_table.js":{"lineLengths":[13,62,29,26,53,19,22,23,5,39,42,56,9,25,68,93,94,76,89,89,89,16,37,10,5,1,34,40],"data":{"version":3,"file":"rename_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rename/rename_table.ts"],"names":[],"mappings":";;;AAEA,0BAAyB;AAGzB,qDAA+C;AAE/C,MAAa,WAAW;IAGtB,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,GAAY,EAAE,OAAe,EAAE,OAAe;QAC9D,IAAI,CAAC,CAAC,GAAG,YAAY,SAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,GAAgE,EAAE,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACtF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEjF,OAAO;YACL,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;CAEF;AA1BD,kCA0BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_table_type.js":{"lineLengths":[13,62,33,26,53,23,22,23,5,39,46,65,9,25,68,94,76,89,89,89,16,37,10,5,1,42,45],"data":{"version":3,"file":"rename_table_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rename/rename_table_type.ts"],"names":[],"mappings":";;;AAEA,0BAA6B;AAG7B,qDAA+C;AAE/C,MAAa,eAAe;IAG1B,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,GAAY,EAAE,OAAe,EAAE,OAAe;QAC9D,IAAI,CAAC,CAAC,GAAG,YAAY,aAAS,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,GAAgE,EAAE,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACtF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEjF,OAAO;YACL,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;CAEF;AAzBD,0CAyBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/objects/rename/rename_message_class.js":{"lineLengths":[13,62,36,77,26,53,26,22,23,5,39,49,71,9,25,68,91,76,50,111,66,41,29,17,47,49,69,33,114,209,17,13,9,16,37,10,5,1,48,48],"data":{"version":3,"file":"rename_message_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/objects/rename/rename_message_class.ts"],"names":[],"mappings":";;;AACA,6EAAiI;AACjI,0BAAgC;AAGhC,qDAA+C;AAE/C,MAAa,kBAAkB;IAG7B,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,GAAY,EAAE,OAAe,EAAE,OAAe;QAC9D,IAAI,CAAC,CAAC,GAAG,YAAY,gBAAY,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,OAAO,GAAgE,EAAE,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACnF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEpE,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;gBACjG,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBACrD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,MAAM,KAAK,GAAG,mCAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChE,OAAO,CAAC,IAAI,CAAC,8CAAgB,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,EAAE,CAAC,sCAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjI,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;CAEF;AAtCD,gDAsCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/highlight.js":{"lineLengths":[13,62,27,58,52,45,17,22,23,5,43,55,38,22,9,65,23,31,82,9,19,5,37,55,38,22,9,68,23,32,71,9,19,5,38,55,38,22,9,70,23,33,71,9,19,5,28,29,50,32,29,9,71,5,30,83,33,29,9,83,55,23,9,14,29,9,5,1,30,37],"data":{"version":3,"file":"highlight.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/highlight.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/code_actions.js":{"lineLengths":[13,62,29,55,47,42,35,19,22,23,5,18,61,60,26,32,23,33,42,36,55,43,17,22,41,17,61,30,58,62,82,42,59,23,42,17,13,70,61,30,55,62,82,42,72,23,42,17,13,9,32,32,52,30,13,9,19,5,26,26,31,25,33,37,25,13,42,36,25,13,28,73,9,16,37,50,24,30,50,10,5,23,95,89,49,47,56,54,38,5,1,34,40],"data":{"version":3,"file":"code_actions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/code_actions.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/_edit.js":{"lineLengths":[13,62,25,55,15,28,42,35,42,64,53,17,111,13,9,25,5,26,42,38,71,9,25,5,26,26,31,155,55,9,22,5,1,26,33],"data":{"version":3,"file":"_edit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/_edit.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AAGvD,MAAa,OAAO;IACX,MAAM,CAAC,QAAQ,CAAC,KAAc;QACnC,MAAM,SAAS,GAA0B,EAAC,OAAO,EAAE,EAAE,EAAC,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,SAAS,CAAC,OAAQ,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC/C,SAAS,CAAC,OAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACpC,CAAC;gBACD,SAAS,CAAC,OAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,IAAW;QAC/B,MAAM,SAAS,GAA0B,EAAC,OAAO,EAAE,EAAE,EAAC,CAAC;QACvD,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC5B,SAAS,CAAC,OAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,IAAiB;QACtC,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAChC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YAE5B,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAC,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AArCD,0BAqCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/implementation.js":{"lineLengths":[13,62,32,58,45,39,41,52,60,118,23,22,22,23,5,34,83,33,22,9,83,58,22,9,93,34,22,9,72,84,91,9,120,71,9,18,5,36,23,47,50,92,25,13,119,31,9,19,5,33,23,53,92,29,64,65,80,13,9,46,54,9,19,5,1,40,42],"data":{"version":3,"file":"implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/implementation.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/semantic.js":{"lineLengths":[13,62,38,55,42,58,51,41,62,45,34,45,28,22,23,42,5,35,114,117,26,16,56,31,10,5,25,59,51,100,62,99,61,57,94,56,13,9,5,122,32,89,33,32,9,108,102,26,47,93,25,13,78,22,13,78,25,13,46,48,46,67,68,44,17,71,70,72,78,82,83,72,71,72,75,67,73,43,17,70,71,76,74,80,66,17,69,67,17,63,44,17,48,29,56,61,50,41,39,19,13,9,51,5,26,23,33,33,33,41,33,13,18,44,13,50,49,13,18,54,13,31,69,61,30,35,9,19,5,1,52,37,36],"data":{"version":3,"file":"semantic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/semantic.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/flow/statement_flow.js":{"lineLengths":[13,62,31,36,57,57,59,45,21,19,25,5,17,19,23,62,32,147,29,89,37,28,9,66,34,153,29,89,39,28,9,40,5,24,17,15,123,5,26,30,43,34,46,9,14,52,59,30,26,17,13,9,34,32,9,49,34,33,5,37,65,36,60,25,9,39,35,55,84,66,60,49,35,71,48,67,25,30,70,25,21,77,66,21,100,63,37,21,75,46,65,25,30,70,25,37,21,77,66,37,21,17,71,76,59,17,13,9,47,21,5,35,65,30,25,9,39,29,44,80,69,43,40,56,29,72,74,45,29,17,60,73,51,48,60,37,13,63,110,32,56,75,49,46,60,13,18,54,13,9,48,47,46,49,48,47,67,153,45,42,50,52,9,50,66,70,44,42,57,71,72,79,67,56,53,66,13,35,9,51,67,45,36,70,52,42,29,17,67,39,17,56,73,51,47,60,13,40,56,13,9,55,67,45,36,74,52,42,29,17,67,39,17,56,73,51,47,60,13,40,56,13,9,14,75,9,21,5,1,38,42],"data":{"version":3,"file":"statement_flow.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/flow/statement_flow.ts"],"names":[],"mappings":";;;AAAA,oCAAsD;AACtD,yDAAyD;AACzD,yDAAyD;AACzD,2DAA2D;AAC3D,6CAAuC;AA0BvC,MAAa,aAAa;IAA1B;QACU,YAAO,GAAG,CAAC,CAAC;IA8NtB,CAAC;IA5NQ,KAAK,CAAC,IAAmB;;QAC9B,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,OAAO,IAAG,MAAA,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,0CAAE,YAAY,EAAE,CAAA,CAAC;YACvF,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAC,YAAY,EAAE,OAAO,EAAC,CAAC,CAAC;YAC3E,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,SAAS,IAAG,MAAA,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,0CAAE,YAAY,EAAE,CAAA,CAAC;YAC7F,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAC,YAAY,EAAE,OAAO,EAAC,CAAC,CAAC;YAC3E,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAEH,oBAAoB;IAEV,QAAQ,CAAC,CAAgB;;QAC/B,OAAO,CAAA,MAAA,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,0CAAE,WAAW,EAAE,KAAI,EAAE,CAAC;IACrE,CAAC;IAEO,SAAS,CAAC,SAAwB;QACxC,IAAI,KAAK,GAA8B,SAAS,CAAC;QACjD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;oBACzC,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI;YACrC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE;YACpB,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAEO,YAAY,CAAC,QAAoD,EAAE,OAAiB;QAC1F,MAAM,KAAK,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAE/B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,8BAA8B;gBACpE,IAAI,UAAU,YAAY,qBAAa,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBACxC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC7B,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,UAAU,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,KAAK,EAAE,CAAC;wBACjD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;4BACtB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;wBACzC,CAAC;6BAAM,CAAC;4BACN,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;wBAC5C,CAAC;oBACH,CAAC;yBAAM,IAAI,UAAU,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC;wBACzD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;oBAC5C,CAAC;yBAAM,IAAI,UAAU,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;wBAChF,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;wBACvC,OAAO,KAAK,CAAC;oBACf,CAAC;yBAAM,IAAI,UAAU,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,IAAI,EAAE,CAAC;wBACvD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;4BACpB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;wBACvC,CAAC;6BAAM,CAAC;4BACN,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;wBAC5C,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;yBAAM,IAAI,UAAU,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC;wBACzD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;wBAC1C,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;qBAAM,IAAG,UAAU,YAAY,qBAAa,EAAE,CAAC;oBAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBACxD,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,CAA4B,EAAE,OAAiB;QACvE,MAAM,KAAK,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,YAAY,UAAU,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAE,CAAC,CAAC;YACrE,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACzD,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/B,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,OAAO,GAAG,MAAM,CAAC;YAEjB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACzD,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACnC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAChC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5C,OAAO,GAAG,UAAU,CAAC;YACvB,CAAC;YAED,MAAM,GAAG,GAAG,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3D,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACjC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC9B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,IAAI;eACrC,IAAI,YAAY,UAAU,CAAC,KAAK;eAChC,IAAI,YAAY,UAAU,CAAC,IAAI;eAC/B,IAAI,YAAY,UAAU,CAAC,OAAO;eAClC,IAAI,YAAY,UAAU,CAAC,MAAM;eACjC,IAAI,YAAY,UAAU,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAG,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kCAAM,OAAO,KAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,IAAE,CAAC;YAE5G,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC9B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YACtC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,GAAG,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAG,CAAC,CAAC;YAEvD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC9B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAE7C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAG,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACvE,mDAAmD;gBAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;gBACxC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACrC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC;YACP,uBAAuB;QACnB,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAG,CAAC,CAAC;YACxD,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjC,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;gBACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,UAAU,EAAE,CAAC;oBACjD,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAExC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACzD,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACnC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAG,CAAC,CAAC;YACxD,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjC,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,MAAM,KAAK,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;gBACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,UAAU,EAAE,CAAC;oBACjD,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAExC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACzD,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACnC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CAEF;AA/ND,sCA+NC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/abap/flow/flow_graph.js":{"lineLengths":[13,62,27,17,26,24,33,44,40,5,16,30,5,14,28,5,23,45,34,9,36,5,26,45,19,9,36,57,36,9,5,17,24,53,61,40,13,9,20,5,36,23,43,67,25,13,30,33,13,9,19,5,17,30,43,28,26,9,40,5,16,50,5,45,24,38,24,9,42,64,27,5,14,42,5,19,23,43,51,9,28,5,21,27,5,17,27,13,22,31,43,30,21,3,5,23,30,43,32,32,13,9,40,5,23,30,43,34,30,13,9,40,5,89,14,46,47,25,13,51,51,59,55,42,45,17,42,45,17,42,46,43,21,17,13,66,42,45,17,13,9,20,5,1,30,38],"data":{"version":3,"file":"flow_graph.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/abap/flow/flow_graph.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/code_lens.js":{"lineLengths":[13,62,26,55,45,52,58,60,41,16,22,23,5,83,15,83,33,22,9,53,79,22,9,85,23,44,89,35,72,41,29,17,116,41,29,17,26,71,61,19,13,9,50,69,74,29,17,30,60,58,42,58,25,30,42,25,48,21,17,34,30,91,65,23,17,13,9,19,5,35,15,63,27,39,63,28,13,118,9,21,5,38,23,67,56,85,32,17,13,9,45,60,9,19,5,1,28,37],"data":{"version":3,"file":"code_lens.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/code_lens.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/inlay_hints.js":{"lineLengths":[13,62,28,55,45,52,58,60,71,41,18,22,23,5,60,83,33,22,9,53,79,22,9,85,23,46,62,39,38,80,68,17,73,66,17,42,29,17,26,33,45,53,38,39,86,19,13,9,19,5,34,23,52,78,28,13,9,45,56,9,19,5,1,32,39],"data":{"version":3,"file":"inlay_hints.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/inlay_hints.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AAEvD,6CAAsC;AACtC,oDAAoD;AACpD,0DAAmD;AAEnD,4DAAsE;AACtE,uEAAgE;AAChE,yCAA8C;AAM9C,MAAa,UAAU;IAGrB,YAAmB,GAAc;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,IAAI,CAAC,YAA4C,EAAE,WAA+B,EAAC,aAAa,EAAE,IAAI,EAAC;QAC5G,MAAM,IAAI,GAAG,qBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACtD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,oBAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAEpE,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAEzB,IAAI,KAAK,GAAuB,SAAS,CAAC;gBAC1C,IAAI,CAAC,CAAC,QAAQ,YAAY,mCAAe,EAAE,CAAC;oBAC1C,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;gBAClD,CAAC;qBAAM,IAAI,CAAC,CAAC,QAAQ,YAAY,uBAAe,EAAE,CAAC;oBACjD,KAAK,GAAG,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAChD,CAAC;gBAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC;oBACP,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,eAAe;oBACxB,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI;oBAChC,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE,IAAI;oBAClB,QAAQ,EAAE,qBAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACrD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,sBAAsB,CAAC,IAAyB;QACtD,MAAM,GAAG,GAAiB,EAAE,CAAC;QAE7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,aAAa,KAAK,0BAAa,CAAC,YAAY,EAAE,CAAC;gBACnD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAlED,gCAkEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/lsp/_interfaces.js":{"lineLengths":[13,62,39],"data":{"version":3,"file":"_interfaces.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/lsp/_interfaces.ts"],"names":[],"mappings":""},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/ddl_parser.js":{"lineLengths":[13,62,45,54,41,40,43,45,12,21,39,31,48,17,17,54,102,32,98,9,79,29,9,43,5,26,19,26,78,84,81,32,139,60,29,37,31,31,35,19,13,18,143,29,25,25,31,35,19,13,9,24,80,101,19,10,22,5,1,30,38],"data":{"version":3,"file":"ddl_parser.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/ddl_parser.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AACjD,yCAA6C;AAE7C,wCAA0C;AAC1C,2CAAqC;AACrC,6CAA6C;AAE7C,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,0BAAe,CAAA;AACjB,CAAC,EAHW,OAAO,uBAAP,OAAO,QAGlB;AAeD,MAAa,SAAS;IACb,KAAK,CAAC,IAAW;QACtB,MAAM,MAAM,GAAG,oBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,wBAAc,CAAC,CAAC;QAC5E,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,wBAAc,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,sBAAc,CAAC,EAAE,CAAC;YAC7D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAEO,cAAc,CAAC,IAAoB;;QACzC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACtE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5E,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,CAAA,MAAA,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,0CAAE,YAAY,EAAE,KAAI,EAAE,CAAC;YAC/E,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,IAAI;oBACV,GAAG,EAAE,KAAK;oBACV,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAA,MAAA,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,0CAAE,YAAY,EAAE,KAAI,EAAE,CAAC;gBAC/E,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI;oBACJ,GAAG,EAAE,KAAK;oBACV,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAqB;YAC/B,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAE,CAAC,YAAY,EAAE;YACpE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;YACxF,MAAM;SACP,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA/CD,8BA+CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/ddl_lexer.js":{"lineLengths":[13,62,26,51,42,16,22,25,67,32,36,53,13,40,9,25,32,27,25,13,39,54,32,13,18,30,13,9,89,5,1,28,37],"data":{"version":3,"file":"ddl_lexer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/ddl_lexer.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAGlD,0CAAqC;AAErC,MAAa,QAAQ;IACZ,MAAM,CAAC,GAAG,CAAC,IAAW;QAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,SAAS,CAAC,2BAA2B;YACvC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAU,CAAC,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AA3BD,4BA2BC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/index.js":{"lineLengths":[13,97,33,53,88,68,5,39,29,33,17,4,72,126,2,62,48,45,56,50,52,46,45,33],"data":{"version":3,"file":"index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/expressions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,6CAA2B;AAC3B,wDAAsC;AACtC,kDAAgC;AAChC,oDAAkC;AAClC,8CAA4B;AAC5B,6CAA2B"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_include.js":{"lineLengths":[13,62,28,57,41,45,19,68,5,1,32,39],"data":{"version":3,"file":"ddl_include.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/expressions/ddl_include.ts"],"names":[],"mappings":";;;AAAA,yDAA8D;AAE9D,yCAAmC;AAEnC,MAAa,UAAW,SAAQ,kBAAU;IACjC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,SAAS,EAAE,kBAAO,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;CACF;AAJD,gCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_name.js":{"lineLengths":[13,62,25,57,42,19,43,5,1,26,36],"data":{"version":3,"file":"ddl_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/expressions/ddl_name.ts"],"names":[],"mappings":";;;AAAA,yDAAgE;AAGhE,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,OAAO,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC;IACxB,CAAC;CACF;AAJD,0BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_structure_field.js":{"lineLengths":[13,62,35,57,41,41,52,19,82,5,1,46,47],"data":{"version":3,"file":"ddl_structure_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/expressions/ddl_structure_field.ts"],"names":[],"mappings":";;;AAAA,yDAA8D;AAE9D,yCAAmC;AACnC,yCAAmC;AAEnC,MAAa,iBAAkB,SAAQ,kBAAU;IACxC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,kBAAO,EAAE,GAAG,EAAE,kBAAO,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;CACF;AAJD,8CAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_type.js":{"lineLengths":[13,62,25,57,42,19,62,5,1,26,36],"data":{"version":3,"file":"ddl_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/expressions/ddl_type.ts"],"names":[],"mappings":";;;AAAA,yDAAgE;AAGhE,MAAa,OAAQ,SAAQ,kBAAU;IAC9B,WAAW;QAChB,OAAO,IAAA,aAAK,EAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;CACF;AAJD,0BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_structure.js":{"lineLengths":[13,62,30,57,63,41,47,47,19,194,5,1,36,41],"data":{"version":3,"file":"ddl_structure.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/expressions/ddl_structure.ts"],"names":[],"mappings":";;;AAAA,yDAAiF;AAEjF,+DAAwD;AACxD,yCAAmC;AACnC,+CAAyC;AAEzC,MAAa,YAAa,SAAQ,kBAAU;IACnC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,kBAAkB,EAAE,kBAAO,EAAE,GAAG,EAAE,IAAA,gBAAQ,EAAC,IAAA,eAAO,EAAC,uCAAiB,EAAE,wBAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtG,CAAC;CACF;AAJD,oCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_table_field.js":{"lineLengths":[13,62,31,57,41,41,48,19,145,5,1,38,43],"data":{"version":3,"file":"ddl_table_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/expressions/ddl_table_field.ts"],"names":[],"mappings":";;;AAAA,yDAAuE;AAEvE,yCAAmC;AACnC,yCAAmC;AAEnC,MAAa,aAAc,SAAQ,kBAAU;IACpC,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE,kBAAO,EAAE,GAAG,EAAE,kBAAO,EAAE,IAAA,eAAO,EAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC;CACF;AAJD,sCAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/ddl/expressions/ddl_table.js":{"lineLengths":[13,62,26,57,47,41,55,43,19,182,5,1,28,37],"data":{"version":3,"file":"ddl_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/ddl/expressions/ddl_table.ts"],"names":[],"mappings":";;;AAAA,yDAAiF;AAEjF,+CAAyC;AACzC,yCAAmC;AACnC,uDAAgD;AAEhD,MAAa,QAAS,SAAQ,kBAAU;IAC/B,WAAW;QAChB,OAAO,IAAA,WAAG,EAAC,cAAc,EAAE,kBAAO,EAAE,GAAG,EAAE,IAAA,gBAAQ,EAAC,IAAA,eAAO,EAAC,+BAAa,EAAE,wBAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9F,CAAC;CACF;AAJD,4BAIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/cyclomatic_complexity_stats.js":{"lineLengths":[13,62,43,64,62,62,58,33,21,23,23,58,22,9,48,142,30,60,41,57,59,60,56,59,58,64,59,61,59,61,35,21,17,248,26,25,54,49,26,19,13,9,19,5,1,62,55],"data":{"version":3,"file":"cyclomatic_complexity_stats.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/utils/cyclomatic_complexity_stats.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,8DAA8D;AAC9D,8DAA8D;AAI9D,0DAAmD;AAWnD,MAAa,yBAAyB;IAE7B,MAAM,CAAC,GAAG,CAAC,GAAY;;QAC5B,MAAM,GAAG,GAAkC,EAAE,CAAC;QAE9C,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAI,EAAE,EAAE,CAAC;gBAChF,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC;oBAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBACrB,IAAI,IAAI,YAAY,UAAU,CAAC,MAAM;2BAC9B,IAAI,YAAY,UAAU,CAAC,KAAK;2BAChC,IAAI,YAAY,UAAU,CAAC,MAAM;2BACjC,IAAI,YAAY,UAAU,CAAC,EAAE;2BAC7B,IAAI,YAAY,UAAU,CAAC,KAAK;2BAChC,IAAI,YAAY,UAAU,CAAC,IAAI;2BAC/B,IAAI,YAAY,UAAU,CAAC,UAAU;2BACrC,IAAI,YAAY,UAAU,CAAC,KAAK;2BAChC,IAAI,YAAY,UAAU,CAAC,OAAO;2BAClC,IAAI,YAAY,UAAU,CAAC,KAAK;2BAChC,IAAI,YAAY,UAAU,CAAC,IAAI,EAAE,CAAC;wBACvC,KAAK,IAAI,CAAC,CAAC;oBACb,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,GAAG,MAAA,MAAA,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,oBAAoB,CAAC,0CAAE,oBAAoB,CACvF,WAAW,CAAC,UAAU,CAAC,0CAAE,aAAa,GAAG,MAAM,EAAE,CAAC;gBAEpD,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI;oBACJ,GAAG,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE;oBACjC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;oBAC5B,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AA5CD,8DA4CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/align_pseudo_comments.js":{"lineLengths":[13,62,71,45,61,37,36,75,42,48,76,1,58,57,19,28,50,5,19,16,41,43,83,104,48,96,10,5,17,25,5,21,25,5,21,26,36,55,69,64,25,13,66,64,72,25,13,49,25,13,36,37,52,13,62,82,36,43,130,17,22,112,105,17,83,130,13,9,22,5,1,50,49],"data":{"version":3,"file":"align_pseudo_comments.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/align_pseudo_comments.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/align_type_expressions.js":{"lineLengths":[13,62,73,45,61,40,34,37,36,42,64,62,62,48,77,19,28,46,37,5,1,60,58,19,28,51,5,19,16,42,44,69,34,38,0,43,0,67,94,104,25,20,20,23,18,0,14,13,13,16,20,15,26,20,23,23,18,0,14,13,13,19,20,15,10,5,17,25,5,21,25,5,26,26,41,33,42,9,47,45,56,43,26,13,87,26,13,9,52,54,22,5,33,26,31,33,41,32,26,13,26,9,33,46,25,13,32,44,110,13,18,125,13,73,124,31,9,22,5,30,26,69,34,30,73,27,37,49,59,29,58,98,19,86,13,78,22,51,59,29,58,100,19,85,13,61,9,22,5,28,26,72,32,64,25,13,30,27,63,33,48,29,58,72,19,86,13,61,9,22,5,1,52,50],"data":{"version":3,"file":"align_type_expressions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/align_type_expressions.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/allowed_object_naming.js":{"lineLengths":[13,62,71,36,37,61,57,76,1,58,27,19,50,5,19,16,41,43,107,73,10,5,22,20,5,17,25,5,21,25,5,14,47,35,25,46,48,9,78,62,9,53,59,45,13,9,51,41,9,33,116,9,18,5,1,50,49],"data":{"version":3,"file":"allowed_object_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/allowed_object_naming.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAE/B,qCAAuD;AACvD,6DAAqD;AAGrD,MAAM,UAAU,GAAG,qCAAqC,CAAC;AAEzD,MAAa,uBAAwB,SAAQ,oCAAe;CAC3D;AADD,0DACC;AAED,MAAa,mBAAmB;IAAhC;QACU,SAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;IA+C/C,CAAC;IA7CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,uBAAuB;YAC5B,KAAK,EAAE,uBAAuB;YAC9B,gBAAgB,EAAE,4EAA4E;YAC9F,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,EAAE,gBAAO,CAAC,UAAU,CAAC;SAC3C,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA6B;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACpC,OAAO,GAAG,yBAAyB,CAAC;QACtC,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,OAAO,GAAG,uCAAuC,CAAC;QACpD,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC7C,OAAO,GAAG,kBAAkB,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,OAAO,GAAG,kBAAkB,CAAC;QAC/B,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,aAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CAEF;AAhDD,kDAgDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/allowed_object_types.js":{"lineLengths":[13,62,69,37,36,61,42,75,19,28,67,28,10,26,5,1,56,26,19,49,5,19,16,40,48,75,115,48,10,5,22,20,5,32,60,5,17,25,5,21,25,5,14,49,60,22,9,41,46,59,157,27,9,18,5,1,48,48],"data":{"version":3,"file":"allowed_object_types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/allowed_object_types.ts"],"names":[],"mappings":";;;AAAA,qCAAuD;AACvD,oCAA+B;AAE/B,6DAAqD;AACrD,0CAAqC;AAGrC,MAAa,sBAAuB,SAAQ,oCAAe;IAA3D;;QACE;;UAEE;QACK,YAAO,GAAa,EAAE,CAAC;IAChC,CAAC;CAAA;AALD,wDAKC;AAED,MAAa,kBAAkB;IAA/B;QAEU,SAAI,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAkD9C,CAAC;IAhDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,4BAA4B;YACnC,gBAAgB,EAAE,4CAA4C;YAC9D,mBAAmB,EAAE,iFAAiF;YACtG,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,UAAkB;QACvC,OAAO,cAAc,GAAG,UAAU,GAAG,cAAc,CAAC;IACtD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA4B;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC;QACzC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAC5B,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EACjB,QAAQ,EACR,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAC/B,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEtB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CAEF;AApDD,gDAoDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/ambiguous_statement.js":{"lineLengths":[13,62,69,36,62,45,61,54,40,37,75,1,56,56,19,28,49,5,19,16,39,52,114,53,0,54,48,45,22,47,26,23,10,5,18,59,5,17,25,5,21,25,5,21,26,77,22,9,55,30,71,86,13,76,86,13,76,86,13,76,86,13,24,136,35,13,9,22,5,30,49,47,21,79,35,5,1,48,47],"data":{"version":3,"file":"ambiguous_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/ambiguous_statement.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/avoid_use.js":{"lineLengths":[13,62,49,62,36,45,61,66,37,40,48,75,65,19,28,47,34,49,27,30,28,118,31,45,26,79,30,64,34,39,35,41,37,5,1,36,46,19,28,39,5,19,16,29,53,69,133,0,87,0,31,0,59,0,119,0,14,77,10,5,31,43,5,17,25,5,21,25,5,21,15,26,35,48,53,48,50,36,32,77,35,13,91,61,110,68,118,17,13,88,38,36,13,86,39,13,145,45,13,149,47,13,87,47,165,29,17,38,13,111,36,13,80,46,130,13,26,155,13,36,83,85,100,182,106,34,51,165,33,21,44,142,17,13,9,22,5,46,53,50,50,69,66,88,93,78,24,5,1,28,37],"data":{"version":3,"file":"avoid_use.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/avoid_use.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,kEAAyE;AACzE,qCAAgD;AAEhD,wCAAmC;AAEnC,gDAAiD;AACjD,2EAAmE;AAEnE,MAAa,YAAa,SAAQ,oCAAe;IAAjD;;QACE,uCAAuC;QAChC,iBAAY,GAAa,KAAK,CAAC;QACtC,yCAAyC;QAClC,WAAM,GAAY,IAAI,CAAC;QAC9B,sBAAsB;QACf,YAAO,GAAY,IAAI,CAAC;QAC/B,8GAA8G;QACvG,eAAU,GAAY,IAAI,CAAC;QAClC,qCAAqC;QAC9B,UAAK,GAAY,IAAI,CAAC;QAC7B,uEAAuE;QAChE,cAAS,GAAY,IAAI,CAAC;QACjC,wDAAwD;QACjD,kBAAa,GAAY,IAAI,CAAC;QACrC,+BAA+B;QACxB,mBAAc,GAAY,IAAI,CAAC;QACtC,iCAAiC;QAC1B,qBAAgB,GAAY,IAAI,CAAC;IAC1C,CAAC;CAAA;AAnBD,oCAmBC;AAED,MAAa,QAAS,SAAQ,qBAAQ;IAAtC;;QAEU,SAAI,GAAG,IAAI,YAAY,EAAE,CAAC;IAkHpC,CAAC;IAhHQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,iCAAiC;YACxC,gBAAgB,EAAE,sCAAsC;YACxD,mBAAmB,EAAE;;;;;;;;;;aAUd;YACP,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,SAAiB;QACtC,OAAO,eAAe,GAAG,SAAS,CAAC;IACrC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAkB;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAI,cAAc,GAAY,KAAK,CAAC;QAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;YAEtC,IAAI,OAAO,GAAuB,SAAS,CAAC;YAC5C,IAAI,GAAG,GAAsB,SAAS,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC/D,OAAO,GAAG,QAAQ,CAAC;YACrB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC/E,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;oBAC5F,OAAO,GAAG,qCAAqC,CAAC;oBAChD,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBACpG,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,YAAY,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5E,cAAc,GAAG,IAAI,CAAC;gBACtB,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC1E,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,YAAY,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrI,OAAO,GAAG,kBAAkB,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,YAAY,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzI,OAAO,GAAG,oBAAoB,CAAC;YACjC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC3E,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,aAAY,oBAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACzF,SAAS;gBACX,CAAC;gBACD,OAAO,GAAG,WAAW,CAAC;YACxB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,YAAY,UAAU,CAAC,MAAM,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;gBACnG,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,YAAY,UAAU,CAAC,KAAK,EAAE,CAAC;gBACpE,OAAO,GAAG,mBAAmB,CAAC;gBAC9B,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAU,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACtG,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACrI,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;mBACjB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,IAAI,iBAAO,CAAC,QAAQ;uBACtD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,KAAK,CAAC;mBACpD,CAAC,SAAS,YAAY,UAAU,CAAC,IAAI,IAAI,SAAS,YAAY,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtF,MAAM,EAAE,GAAG,MAAA,aAAa,CAAC,mBAAmB,CAAC,uBAAS,CAAC,0CAAE,oBAAoB,CAAC,0BAAY,CAAC,CAAC;gBAC5F,MAAM,KAAK,GAAG,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBACnD,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;oBAChB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,aAAY,oBAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACrF,SAAS;oBACX,CAAC;oBACD,OAAO,GAAG,aAAa,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,IAAc,EAAE,aAA4B;QACtE,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QAE1C,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;QAE1D,MAAM,SAAS,GAAG,wBAAU,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,wBAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,wBAAU,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAExD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AApHD,4BAoHC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/begin_end_names.js":{"lineLengths":[13,62,59,36,45,61,62,64,62,75,37,48,70,1,46,51,19,28,44,5,19,16,35,43,123,100,45,21,38,46,21,20,10,5,17,25,5,21,25,5,21,26,42,34,22,9,104,39,22,9,106,121,119,113,118,107,22,5,34,26,66,108,38,103,13,38,25,13,48,106,36,101,13,36,25,13,45,79,120,61,123,35,13,49,81,118,35,13,9,22,5,1,38,43],"data":{"version":3,"file":"begin_end_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/begin_end_names.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/begin_single_include.js":{"lineLengths":[13,62,69,36,45,61,62,62,37,75,1,56,56,19,28,49,5,19,16,40,51,116,48,48,21,21,0,18,23,16,0,21,23,21,44,20,26,18,10,5,17,25,5,21,25,5,21,26,41,33,22,9,67,47,25,13,63,48,65,118,35,13,9,66,47,25,13,63,48,65,118,35,13,9,69,47,25,13,63,48,68,118,35,13,9,22,5,1,48,48],"data":{"version":3,"file":"begin_single_include.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/begin_single_include.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/call_transaction_authority_check.js":{"lineLengths":[13,62,91,61,45,37,62,36,40,86,1,78,67,19,28,60,58,5,19,16,52,54,99,78,104,50,30,48,34,9,10,5,18,60,5,17,25,5,21,25,5,26,65,58,98,22,9,26,39,22,9,54,45,166,114,13,9,22,5,1,70,60],"data":{"version":3,"file":"call_transaction_authority_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/call_transaction_authority_check.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AACrD,6CAAsC;AACtC,qCAAgD;AAChD,8DAA8D;AAE9D,oCAA+B;AAE/B,wCAAmC;AAEnC,MAAa,iCAAkC,SAAQ,oCAAe;CACrE;AADD,8EACC;AACD,MAAa,6BAA8B,SAAQ,qBAAQ;IAA3D;;QAEU,SAAI,GAAG,IAAI,iCAAiC,EAAE,CAAC;QACtC,oBAAe,GAAG,iBAAO,CAAC,QAAQ,CAAC;IAkDtD,CAAC;IAhDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kCAAkC;YACvC,KAAK,EAAE,kCAAkC;YACzC,gBAAgB,EAAE,oEAAoE;YACtF,mBAAmB,EAAE,4CAA4C;YACjE,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,CAAC;YAChE,UAAU,EAAE,yBAAyB;YACrC,WAAW,EAAE;;;QAGX;SACH,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAuC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,GAAe;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;QACzD,kDAAkD;QAClD,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI,cAAc,KAAK,iBAAO,CAAC,KAAK,EAAE,CAAC;YAC9E,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,SAAS,YAAY,UAAU,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,qCAAqC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACxJ,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AArDD,sEAqDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cds_comment_style.js":{"lineLengths":[13,62,63,36,37,61,40,48,51,72,1,50,23,19,46,5,19,16,37,39,65,66,0,51,0,93,48,47,48,10,5,17,25,5,21,25,5,22,20,5,17,26,90,96,49,37,30,13,58,37,83,156,17,13,9,22,5,1,42,45],"data":{"version":3,"file":"cds_comment_style.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/cds_comment_style.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,qCAAuD;AAGvD,6DAAqD;AACrD,wCAAgE;AAChE,gDAA0C;AAC1C,mDAA+C;AAE/C,MAAa,mBAAoB,SAAQ,oCAAe;CACvD;AADD,kDACC;AAED,MAAa,eAAe;IAA5B;QACU,SAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAkD3C,CAAC;IAhDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,mBAAmB;YACxB,KAAK,EAAE,mBAAmB;YAC1B,gBAAgB,EAAE,kCAAkC;YACpD,mBAAmB,EAAE;;;;4FAIiE;YACtF,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE,sBAAsB;YAClC,WAAW,EAAE,sBAAsB;SACpC,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAyB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,MAAe;QACxB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,MAAM,IAAI,MAAM,YAAY,wBAAc,CAAC;YACjE,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,MAAM,IAAI,MAAM,YAAY,8BAAoB,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACrC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,MAAM,GAAG,oBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,gBAAO,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxD,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,uCAAuC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClI,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAnDD,0CAmDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cds_legacy_view.js":{"lineLengths":[13,62,59,36,37,40,61,40,70,1,46,21,19,44,5,19,16,35,37,58,47,79,0,114,0,13,73,10,5,17,25,5,21,25,5,21,23,20,5,12,26,70,79,22,9,37,22,9,52,37,37,42,13,69,48,27,132,17,13,9,22,5,1,38,43],"data":{"version":3,"file":"cds_legacy_view.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/cds_legacy_view.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,qCAAuD;AAGvD,wCAAmC;AACnC,6DAAqD;AACrD,wCAA0C;AAE1C,MAAa,iBAAkB,SAAQ,oCAAe;CACrD;AADD,8CACC;AAED,MAAa,aAAa;IAA1B;QACU,SAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;IA2DzC,CAAC;IAxDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,iBAAiB;YACxB,gBAAgB,EAAE,2BAA2B;YAC7C,mCAAmC;YACnC,mBAAmB,EAAE;;;;YAIf;YACN,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,MAAM,CAAC;SAC3C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAuB;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,CAAU;QACnB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,GAAG,iBAAO,CAAC,IAAI;eAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,KAAK,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,YAAY,wBAAc,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAC,CAAC,eAAe;YAC5B,CAAC;YACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;gBACvD,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;gBAChC,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA5DD,sCA4DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cds_parser_error.js":{"lineLengths":[13,62,61,36,37,61,40,71,1,48,22,19,45,5,19,16,36,38,44,71,44,10,5,17,25,5,21,25,5,22,20,5,17,26,90,96,53,49,44,129,13,9,22,5,1,40,44],"data":{"version":3,"file":"cds_parser_error.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/cds_parser_error.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,qCAAuD;AAGvD,6DAAqD;AACrD,wCAAgE;AAEhE,MAAa,kBAAmB,SAAQ,oCAAe;CACtD;AADD,gDACC;AAED,MAAa,cAAc;IAA3B;QACU,SAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAuC1C,CAAC;IArCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,kBAAkB;YACzB,gBAAgB,EAAE,aAAa;YAC/B,mBAAmB,EAAE,qCAAqC;YAC1D,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,CAAC;SACvB,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAwB;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,MAAe;QACxB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,MAAM,IAAI,MAAM,YAAY,wBAAc,CAAC;YACjE,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,MAAM,IAAI,MAAM,YAAY,8BAAoB,CAAC,EAAE,CAAC;YAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACrC,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3G,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAxCD,wCAwCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/chain_mainly_declarations.js":{"lineLengths":[13,62,79,36,45,61,62,37,48,80,19,28,56,32,51,26,50,25,53,28,54,29,51,26,50,25,50,25,53,28,51,26,50,25,5,1,66,61,19,28,54,5,19,16,45,47,143,34,42,0,91,2,75,44,44,10,5,17,25,5,21,25,5,21,15,26,46,38,22,9,24,72,51,38,25,13,50,46,61,69,67,61,66,64,60,63,68,66,63,64,67,70,62,61,64,67,59,64,62,68,66,63,61,61,64,66,59,64,66,25,13,89,25,13,87,25,13,93,25,13,95,25,13,89,25,13,87,25,13,87,25,13,93,25,13,89,25,13,87,25,13,24,60,102,13,77,56,142,71,9,22,5,53,61,59,58,56,60,58,56,54,60,58,56,54,29,9,55,52,18,36,45,9,14,60,9,106,36,63,9,19,5,1,58,53],"data":{"version":3,"file":"chain_mainly_declarations.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/chain_mainly_declarations.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/change_if_to_case.js":{"lineLengths":[13,62,61,36,64,62,62,45,61,37,71,19,28,68,28,11,28,5,1,48,52,19,28,45,5,19,16,37,39,80,47,161,0,69,77,54,31,32,8,48,13,22,10,10,5,17,25,5,21,25,5,21,15,26,41,33,26,9,73,29,69,44,25,13,84,25,13,133,73,156,13,37,25,13,46,33,52,134,13,9,22,5,20,31,26,32,34,25,13,61,29,13,90,29,13,78,161,57,33,17,53,33,17,177,178,45,13,9,34,25,9,23,48,35,9,54,35,9,55,36,9,54,36,9,14,25,9,62,46,35,29,13,9,33,56,29,13,9,20,5,1,40,45],"data":{"version":3,"file":"change_if_to_case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/change_if_to_case.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_abstract.js":{"lineLengths":[13,62,59,36,45,61,37,70,1,46,14,23,56,70,70,34,51,19,28,44,5,19,16,34,56,67,38,48,95,48,10,5,37,28,44,75,44,76,20,26,9,5,17,25,5,21,25,5,21,26,71,47,83,189,17,25,13,55,52,191,17,13,9,22,5,1,38,42],"data":{"version":3,"file":"check_abstract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/check_abstract.ts"],"names":[],"mappings":";;;AACA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAEhD,MAAa,iBAAkB,SAAQ,oCAAe;CACrD;AADD,8CACC;AAED,IAAK,SAIJ;AAJD,WAAK,SAAS;IACZ,oDAAoD;IACpD,iEAAgB,CAAA;IAChB,iEAAgB,CAAA;AAClB,CAAC,EAJI,SAAS,KAAT,SAAS,QAIb;AAED,MAAa,aAAc,SAAQ,qBAAQ;IAA3C;;QAEU,SAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;IA2DzC,CAAC;IAzDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,oCAAoC;YAC3C,gBAAgB,EAAE;;+CAEuB;YACzC,mBAAmB,EAAE,6DAA6D;YAClF,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,SAAoB,EAAE,IAAY;QACvD,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,SAAS,CAAC,gBAAgB;gBAC7B,OAAO,4CAA4C,GAAG,IAAI,CAAC;YAC7D,KAAK,SAAS,CAAC,gBAAgB;gBAC7B,OAAO,6CAA6C,GAAG,IAAI,CAAC;YAC9D;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAuB;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC7D,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;oBACjE,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,YAAY,CAC5B,QAAQ,CAAC,UAAU,EACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,EAC9D,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,YAAY,CAC5B,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,EAC/D,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA7DD,sCA6DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_comments.js":{"lineLengths":[13,62,59,36,75,61,45,37,70,19,28,54,36,5,1,46,14,23,56,34,51,19,28,44,5,19,16,34,36,31,35,34,78,0,119,77,57,59,10,5,31,28,118,31,9,5,17,25,5,21,25,5,21,26,39,48,22,9,31,47,32,75,36,13,9,48,58,44,126,73,78,29,17,158,13,9,22,5,1,38,42],"data":{"version":3,"file":"check_comments.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/check_comments.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_ddic.js":{"lineLengths":[13,62,51,37,36,38,61,42,47,71,66,1,38,17,19,40,5,19,16,30,32,47,161,44,10,5,21,23,20,5,17,25,5,21,25,5,14,30,46,44,43,42,61,48,67,50,44,9,14,22,9,38,5,23,23,51,59,104,129,9,58,44,52,128,13,9,54,61,9,33,19,5,1,30,38],"data":{"version":3,"file":"check_ddic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/check_ddic.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_subrc.js":{"lineLengths":[13,62,53,62,64,36,61,45,37,75,48,67,19,28,32,35,33,32,35,35,35,30,27,25,5,1,40,48,19,28,41,5,19,16,31,36,47,96,0,72,0,113,0,65,0,76,75,41,33,10,5,17,25,5,21,25,5,31,16,42,110,10,5,21,26,48,41,40,53,44,34,93,25,13,43,68,61,93,125,13,51,71,61,97,125,13,49,63,86,58,63,70,74,29,17,59,143,13,48,63,96,100,98,58,63,59,143,13,51,71,58,63,59,143,13,51,71,58,63,59,143,13,51,71,58,63,59,143,13,46,66,61,59,143,13,43,63,59,61,59,143,13,41,61,59,61,59,143,13,9,22,5,20,31,51,84,99,83,28,13,9,21,5,23,63,81,5,36,61,44,66,66,25,13,64,71,25,13,18,51,13,9,21,5,34,19,33,34,64,73,247,99,104,9,61,44,66,66,77,32,17,13,64,71,25,13,18,60,32,17,62,32,17,51,76,13,9,21,5,1,32,39],"data":{"version":3,"file":"check_subrc.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/check_subrc.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_syntax.js":{"lineLengths":[13,62,55,52,61,58,36,37,42,66,68,1,42,19,19,42,5,19,16,48,34,77,44,10,5,17,25,5,21,23,20,5,21,25,5,14,58,22,9,76,72,30,66,46,45,51,56,15,9,22,5,1,34,40],"data":{"version":3,"file":"check_syntax.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/check_syntax.ts"],"names":[],"mappings":";;;AACA,oDAAoD;AACpD,6DAAqD;AAErD,0DAAmD;AACnD,oCAA+B;AAC/B,qCAAuD;AACvD,0CAAqC;AACrC,kEAA8D;AAE9D,MAAa,eAAgB,SAAQ,oCAAe;CACnD;AADD,0CACC;AAED,MAAa,WAAW;IAAxB;QAEU,SAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IA4CvC,CAAC;IA1CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,8BAAc;YACnB,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,8CAA8C;YAChE,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,CAAC;SACvB,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,IAAqB;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;QAE/D,gEAAgE;QAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;eACf,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,mBAAQ,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAY,EAAE,KAAa,EAAE,EAAE;gBAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAS,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA9CD,kCA8CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_text_elements.js":{"lineLengths":[13,62,67,36,61,64,58,58,74,1,54,25,19,48,5,19,16,39,41,75,10,5,17,25,5,21,25,5,21,23,64,20,5,14,58,22,9,26,48,45,37,25,13,22,37,119,92,41,80,41,60,40,95,45,17,22,43,17,13,42,65,100,61,51,110,125,21,17,22,58,100,60,61,43,56,58,21,46,110,125,21,55,56,152,21,17,13,9,22,5,1,46,47],"data":{"version":3,"file":"check_text_elements.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/check_text_elements.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/check_transformation_exists.js":{"lineLengths":[13,62,83,36,45,61,64,66,37,82,1,70,63,19,28,56,5,19,16,47,49,77,44,10,5,26,59,5,17,25,5,21,25,5,21,26,42,34,22,9,47,69,96,51,29,17,59,42,60,72,118,39,17,13,9,22,5,1,62,55],"data":{"version":3,"file":"check_transformation_exists.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/check_transformation_exists.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,gEAAmE;AACnE,kEAAqE;AACrE,qCAAiC;AAGjC,MAAa,6BAA8B,SAAQ,oCAAe;CACjE;AADD,sEACC;AAED,MAAa,yBAA0B,SAAQ,qBAAQ;IAAvD;;QACU,SAAI,GAAG,IAAI,6BAA6B,EAAE,CAAC;IAkDrD,CAAC;IAhDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,6BAA6B;YAClC,KAAK,EAAE,6BAA6B;YACpC,gBAAgB,EAAE,8CAA8C;YAChE,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,CAAC;SACvB,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,OAAO,mBAAmB,GAAG,IAAI,GAAG,cAAc,CAAC;IACrD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAmC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,+BAAkB,EAAE,CAAC;gBAC1C,MAAM,cAAc,GAAG,CAAC,CAAC,mBAAmB,CAAC,iCAAmB,CAAC,CAAC;gBAClE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI;uBACrC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACtD,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC1F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAnDD,8DAmDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/class_attribute_names.js":{"lineLengths":[13,62,71,36,63,60,45,94,37,34,78,19,28,46,37,35,32,32,38,52,33,54,34,54,28,5,1,58,57,19,28,50,5,19,16,41,45,109,73,10,5,38,53,90,89,5,17,25,5,21,25,5,26,24,50,47,9,28,47,71,59,85,25,13,64,9,51,78,63,29,17,67,13,9,50,22,5,27,33,22,9,21,31,30,70,87,26,68,86,26,70,88,26,24,26,13,9,19,5,31,23,48,36,82,140,28,9,19,5,1,50,49],"data":{"version":3,"file":"class_attribute_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/class_attribute_names.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/_naming_rule_config.js":{"lineLengths":[13,62,34,61,69,19,28,133,38,44,30,105,33,5,1,44,47],"data":{"version":3,"file":"_naming_rule_config.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/_naming_rule_config.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AAKrD,MAAsB,gBAAiB,SAAQ,oCAAe;IAA9D;;QACE,6HAA6H;QACtH,gBAAW,GAAiB,UAAU,CAAC;QAE9C,oCAAoC;QAC7B,gBAAW,GAAc,EAAE,CAAC;QAEnC,iGAAiG;QAC1F,mBAAc,GAAc,EAAE,CAAC;IACxC,CAAC;CAAA;AATD,4CASC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/name_validator.js":{"lineLengths":[13,62,31,21,48,88,25,9,60,54,29,13,9,73,42,40,5,1,38,42],"data":{"version":3,"file":"name_validator.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/utils/name_validator.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAEjB,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe,EAAE,MAAwB;QAChF,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;YAClD,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAChC,CAAC;CAEF;AAlBD,sCAkBC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/classic_exceptions_overlap.js":{"lineLengths":[13,62,81,36,45,61,64,37,81,1,68,62,19,28,55,5,19,16,46,62,68,111,48,50,12,48,48,29,32,51,12,48,48,29,32,10,5,17,25,5,21,25,5,21,15,26,42,34,38,9,88,34,83,152,41,29,17,36,65,141,39,26,17,30,13,9,22,5,1,60,54],"data":{"version":3,"file":"classic_exceptions_overlap.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/classic_exceptions_overlap.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,gEAAgE;AAChE,qCAAgD;AAGhD,MAAa,4BAA6B,SAAQ,oCAAe;CAChE;AADD,oEACC;AAED,MAAa,wBAAyB,SAAQ,qBAAQ;IAAtD;;QACU,SAAI,GAAG,IAAI,4BAA4B,EAAE,CAAC;IA4DpD,CAAC;IA1DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,4BAA4B;YACjC,KAAK,EAAE,0CAA0C;YACjD,gBAAgB,EAAE,qCAAqC;YACvD,mBAAmB,EAAE,6EAA6E;YAClG,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE;;;;;+BAKa;YACzB,WAAW,EAAE;;;;;+BAKY;SAC1B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAkC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC,CAAC,eAAe;QAC5B,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC9E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,GAAG,MAAA,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,0CAAE,YAAY,GAAG,WAAW,EAAE,CAAC;gBAC1F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClB,MAAM,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAAC;oBAC7C,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACjH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,MAAM;gBACR,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA7DD,4DA6DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cloud_types.js":{"lineLengths":[13,62,53,37,36,40,38,61,42,67,1,40,18,19,41,5,19,16,31,39,117,73,10,5,32,71,5,17,25,5,21,25,5,21,23,20,5,25,64,60,75,54,52,53,61,57,66,56,53,66,58,43,58,59,49,52,49,44,50,51,51,49,44,52,47,48,50,49,53,45,54,53,52,55,43,47,53,5,14,103,22,9,55,156,23,5,1,32,39],"data":{"version":3,"file":"cloud_types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/cloud_types.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/colon_missing_space.js":{"lineLengths":[13,62,67,36,45,61,42,48,37,74,1,54,55,19,28,48,5,19,16,39,41,94,104,46,48,10,5,18,47,5,17,25,5,21,25,5,21,26,40,49,36,38,46,60,67,47,88,78,138,35,13,9,22,5,1,46,47],"data":{"version":3,"file":"colon_missing_space.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/colon_missing_space.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,0CAAqC;AACrC,gDAA0C;AAC1C,qCAAgD;AAGhD,MAAa,qBAAsB,SAAQ,oCAAe;CACzD;AADD,sDACC;AAED,MAAa,iBAAkB,SAAQ,qBAAQ;IAA/C;;QAEU,SAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;IA8C7C,CAAC;IA5CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,qBAAqB;YAC1B,KAAK,EAAE,qBAAqB;YAC5B,gBAAgB,EAAE,+DAA+D;YACjF,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,EAAE,gBAAO,CAAC,UAAU,CAAC;YAChE,UAAU,EAAE,qBAAqB;YACjC,WAAW,EAAE,sBAAsB;SACpC,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,+BAA+B,CAAC;IACzC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA2B;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG;mBACnB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS;mBAC3B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE;mBACzC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC7D,MAAM,GAAG,GAAG,wBAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAClH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAhDD,8CAgDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/commented_code.js":{"lineLengths":[13,62,59,36,42,45,61,75,40,64,53,37,48,54,70,19,28,48,39,5,1,46,51,19,28,44,5,19,16,34,41,69,139,44,104,49,10,5,18,32,5,17,25,5,21,25,5,26,24,39,22,31,33,47,46,34,65,17,62,76,13,57,93,26,13,9,33,89,9,22,5,46,71,66,22,9,82,85,56,42,22,9,38,53,50,60,57,63,25,13,59,58,64,41,22,13,9,33,22,9,81,136,23,5,25,42,87,5,1,38,42],"data":{"version":3,"file":"commented_code.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/commented_code.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/constant_classes.js":{"lineLengths":[13,62,63,36,61,37,26,73,72,19,28,75,26,5,1,50,23,19,46,5,19,16,36,47,125,155,48,10,5,21,23,20,5,17,25,5,21,25,5,14,21,32,51,116,31,26,13,157,38,220,58,13,71,46,26,13,64,23,67,112,26,13,57,65,30,52,71,260,13,65,48,51,53,77,81,55,84,150,21,51,29,17,119,136,52,17,68,110,50,17,61,158,52,17,13,46,66,216,49,17,13,80,246,13,26,9,18,5,40,116,5,1,42,44],"data":{"version":3,"file":"constant_classes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/constant_classes.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/constructor_visibility_public.js":{"lineLengths":[13,62,87,36,61,37,40,70,84,1,74,35,19,58,5,19,16,49,60,122,34,36,0,136,95,77,10,5,18,57,5,17,25,5,22,20,5,21,25,5,14,26,48,22,9,45,32,22,9,43,59,74,139,35,13,9,22,5,1,66,57],"data":{"version":3,"file":"constructor_visibility_public.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/constructor_visibility_public.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AACrD,qCAAwC;AAExC,wCAAiC;AACjC,sEAAiE;AAGjE,MAAa,+BAAgC,SAAQ,oCAAe;CACnE;AADD,0EACC;AAED,MAAa,2BAA2B;IAAxC;QACU,SAAI,GAAG,IAAI,+BAA+B,EAAE,CAAC;IAuDvD,CAAC;IArDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,+BAA+B;YACpC,KAAK,EAAE,wCAAwC;YAC/C,gBAAgB,EAAE,2FAA2F;YAC7G,mBAAmB,EACzB;;;;8FAI8F;YACxF,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,yCAAyC,CAAC;IACnD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,IAAqC;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,CAAC,CAAC,GAAG,YAAY,eAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACrC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa;mBACxC,MAAM,CAAC,UAAU,KAAK,uBAAU,CAAC,MAAM,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,aAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAxDD,kEAwDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/contains_tab.js":{"lineLengths":[13,62,55,36,42,45,61,37,48,68,19,28,54,24,5,1,42,49,19,28,42,5,19,16,32,39,84,34,42,93,133,49,50,10,5,18,46,5,17,45,33,9,25,5,21,25,5,21,26,48,33,50,30,34,77,32,17,74,13,11,22,5,48,74,80,125,135,5,1,34,40],"data":{"version":3,"file":"contains_tab.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/contains_tab.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,0CAAqC;AACrC,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAChD,gDAA0C;AAG1C,MAAa,eAAgB,SAAQ,oCAAe;IAApD;;QACE,8CAA8C;QACvC,WAAM,GAAW,CAAC,CAAC;IAC5B,CAAC;CAAA;AAHD,0CAGC;AAED,MAAa,WAAY,SAAQ,qBAAQ;IAAzC;;QAEU,SAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IAsDvC,CAAC;IApDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,mBAAmB;YAC1B,gBAAgB,EAAE,qDAAqD;YACvE,mBAAmB,EAAE;;4FAEiE;YACtF,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,EAAE,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YACpF,UAAU,EAAE,wBAAwB;YACpC,WAAW,EAAE,wBAAwB;SACtC,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAqB;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,OAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,CAAC;oBACzD,SAAS,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,MAAc,EAAE,SAAiB,EAAE,IAAc;QACjF,MAAM,WAAW,GAAG,IAAI,mBAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,mBAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,wBAAU,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACvG,OAAO,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzH,CAAC;CACF;AAxDD,kCAwDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cyclic_oo.js":{"lineLengths":[13,62,49,36,61,40,52,60,56,58,65,19,28,70,28,10,23,50,37,37,36,5,1,36,16,19,39,24,5,19,16,29,31,59,69,0,66,0,46,10,5,17,25,5,21,25,43,32,9,5,21,15,23,24,62,45,25,13,53,52,25,13,57,25,13,160,25,13,70,40,25,13,58,9,62,45,25,13,53,62,25,13,57,25,13,70,40,25,13,58,9,20,5,14,89,22,9,39,31,22,9,28,39,76,19,88,105,9,18,5,33,42,48,29,9,46,31,25,13,69,35,66,28,46,17,13,9,25,5,28,15,52,40,77,78,25,13,50,70,77,25,13,86,85,53,42,17,58,74,101,60,33,21,48,17,13,9,45,37,9,5,1,28,37],"data":{"version":3,"file":"cyclic_oo.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/cyclic_oo.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/cyclomatic_complexity.js":{"lineLengths":[13,62,73,61,36,37,86,77,19,28,22,5,1,60,28,19,51,5,19,16,41,43,81,48,10,5,17,25,5,21,25,42,63,9,5,22,20,5,14,26,87,32,42,96,123,35,13,9,22,5,1,52,49],"data":{"version":3,"file":"cyclomatic_complexity.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/cyclomatic_complexity.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AACrD,oCAA+B;AAC/B,qCAAuD;AAGvD,sFAA+E;AAE/E,MAAa,wBAAyB,SAAQ,oCAAe;IAA7D;;QACS,QAAG,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAFD,4DAEC;AAED,MAAa,oBAAoB;IAAjC;QAEU,SAAI,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAyChD,CAAC;IAvCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,uBAAuB;YAC5B,KAAK,EAAE,uBAAuB;YAC9B,gBAAgB,EAAE,kDAAkD;YACpE,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA8B;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,wBAAwB,EAAE,CAAC,GAAG,CAAC;QACrD,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAG,uDAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,qCAAqC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBAChF,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA3CD,oDA2CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/dangerous_statement.js":{"lineLengths":[13,62,69,62,64,36,45,61,37,75,19,28,44,28,35,31,34,31,36,33,35,35,39,33,35,33,33,85,31,5,1,56,56,19,28,49,5,19,16,39,41,73,94,59,75,10,5,31,60,5,17,25,5,21,25,5,21,26,59,50,36,79,37,13,90,40,13,90,40,13,94,42,13,98,44,13,98,44,13,106,48,13,94,42,13,98,44,13,94,42,13,94,42,13,26,150,13,39,61,30,154,17,13,9,22,5,35,46,58,53,57,61,61,64,79,86,37,13,9,25,5,1,48,47],"data":{"version":3,"file":"dangerous_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/dangerous_statement.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/db_operation_in_loop.js":{"lineLengths":[13,62,67,62,62,45,61,36,37,74,1,54,55,19,28,48,5,19,16,40,48,68,78,10,5,17,25,5,21,25,5,21,26,41,33,26,9,62,61,64,32,34,38,64,13,38,68,13,38,72,13,38,72,13,38,72,13,38,72,13,24,61,121,13,9,22,5,1,46,48],"data":{"version":3,"file":"db_operation_in_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/db_operation_in_loop.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,8DAA8D;AAC9D,6CAAsC;AACtC,6DAAqD;AACrD,oCAA+B;AAC/B,qCAAgD;AAIhD,MAAa,qBAAsB,SAAQ,oCAAe;CACzD;AADD,sDACC;AAED,MAAa,iBAAkB,SAAQ,qBAAQ;IAA/C;;QAEU,SAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;IA6D7C,CAAC;IA3DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,4BAA4B;YACnC,gBAAgB,EAAE,qCAAqC;YACvD,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,WAAW,CAAC;SAChD,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA2B;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAExD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,KAAK,GAA8B,SAAS,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,4BAA4B,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA/DD,8CA+DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/definitions_top.js":{"lineLengths":[13,62,61,36,75,62,62,45,61,37,48,41,71,1,48,26,17,21,16,17,52,19,28,45,5,19,16,35,57,117,78,75,34,16,18,10,35,18,16,10,10,5,18,55,5,17,25,5,21,25,5,21,15,26,46,38,22,9,104,39,22,9,123,35,34,31,35,119,45,24,35,13,9,22,5,22,19,35,33,42,32,53,58,29,17,68,29,17,58,29,17,74,29,17,13,50,50,54,58,60,42,62,40,184,71,41,69,193,186,43,58,65,96,109,77,25,21,63,150,17,22,60,17,13,55,50,53,57,109,55,64,42,69,114,44,66,70,46,25,134,21,17,22,60,17,13,94,35,33,13,97,35,33,13,86,34,13,58,49,28,33,17,13,25,9,25,5,35,46,43,79,79,94,58,5,1,40,43],"data":{"version":3,"file":"definitions_top.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/definitions_top.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/description_empty.js":{"lineLengths":[13,62,65,36,40,61,42,63,73,1,52,24,19,47,5,19,16,37,53,78,10,5,26,46,5,17,25,5,21,25,5,22,20,5,14,26,83,53,36,37,61,13,49,92,13,26,63,137,35,13,9,22,5,1,44,45],"data":{"version":3,"file":"description_empty.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/description_empty.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAG/B,wCAA4C;AAE5C,6DAAqD;AACrD,0CAAqC;AAErC,+DAA+D;AAE/D,MAAa,oBAAqB,SAAQ,oCAAe;CACxD;AADD,oDACC;AAED,MAAa,gBAAgB;IAA7B;QAEU,SAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IA+C5C,CAAC;IA7CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,mBAAmB;YACxB,KAAK,EAAE,iCAAiC;YACxC,gBAAgB,EAAE,+CAA+C;SAClE,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,OAAO,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA0B;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,GAAG,YAAY,eAAK,IAAI,GAAG,YAAY,mBAAS,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,OAAO,GAAuB,SAAS,CAAC;YAC5C,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,4BAA4B,CAAC,CAAE;YAC/E,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAjDD,4CAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/double_space.js":{"lineLengths":[13,62,55,36,45,61,51,41,75,64,42,48,37,68,19,28,52,29,57,64,61,31,60,29,67,31,5,1,42,49,19,28,42,5,19,16,32,34,99,104,44,44,10,5,18,37,5,17,25,5,21,25,51,72,9,5,21,24,47,43,61,63,63,60,69,68,13,61,9,59,22,5,27,26,34,44,22,9,47,39,38,25,13,88,25,13,41,44,56,30,17,59,29,17,58,110,88,103,157,17,22,13,9,22,5,25,26,29,40,37,25,25,13,52,47,54,51,61,96,84,99,95,157,17,13,50,47,57,92,61,114,84,99,95,157,17,13,21,9,22,5,40,24,34,53,27,13,9,19,5,28,26,29,70,49,22,9,44,37,25,25,13,60,54,32,32,88,42,25,25,13,78,84,126,96,99,153,30,13,21,9,18,5,1,34,40],"data":{"version":3,"file":"double_space.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/double_space.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/downport.js":{"lineLengths":[13,62,49,28,62,64,62,61,36,37,75,41,48,42,58,58,40,42,52,60,71,47,38,51,58,40,56,62,64,33,47,26,65,1,36,36,24,16,27,5,1,18,23,25,5,52,28,61,35,42,25,13,53,11,37,100,36,30,13,18,67,13,9,19,5,31,19,29,31,70,9,57,183,29,49,45,18,41,40,17,13,9,54,81,45,41,40,17,13,9,25,5,40,15,51,102,25,9,109,81,22,27,13,9,25,5,32,43,125,128,40,9,35,29,9,86,5,1,16,19,39,5,19,16,28,40,55,135,100,92,0,14,83,88,41,18,18,20,20,20,31,31,103,20,36,31,35,32,44,93,93,81,29,45,56,65,32,0,121,0,83,73,10,5,17,25,5,21,25,5,21,26,61,91,31,9,20,5,34,37,22,9,47,39,71,9,55,5,28,52,59,70,58,17,13,52,28,13,9,21,5,17,15,23,25,61,91,23,9,66,23,9,83,87,23,9,36,42,23,9,62,72,137,36,26,13,59,34,26,13,62,9,54,39,78,41,25,13,58,60,65,82,55,18,83,104,18,84,95,45,25,13,43,89,13,40,60,45,47,112,74,43,25,100,36,44,25,21,31,58,46,34,25,30,36,25,21,17,13,54,76,64,51,64,89,36,44,25,21,17,13,77,64,51,81,32,40,21,17,13,9,19,5,24,97,19,64,62,56,75,77,71,49,51,43,59,50,17,22,44,17,13,9,29,5,103,62,91,29,9,62,10,67,20,23,9,10,80,20,25,9,57,20,25,9,63,20,25,9,50,20,25,9,73,20,25,9,58,20,25,9,61,20,25,9,57,20,25,9,69,20,25,9,66,20,25,9,64,20,25,9,65,20,25,9,76,20,25,9,76,20,25,9,73,20,25,9,74,20,25,9,77,20,25,9,71,20,25,9,70,20,25,9,66,20,25,9,30,31,74,76,38,57,59,73,34,13,18,33,13,9,33,70,24,29,13,9,34,71,24,29,13,9,74,20,25,9,74,20,25,9,67,20,25,9,67,20,25,9,65,20,25,9,65,20,25,9,65,20,25,9,55,20,25,9,62,20,25,9,66,20,25,9,60,20,25,9,63,20,25,9,71,20,25,9,79,20,25,9,61,20,25,9,64,20,25,9,78,20,25,9,76,20,25,9,72,20,25,9,72,20,25,9,70,20,25,9,64,20,25,9,66,20,25,9,25,5,46,22,55,59,29,9,54,61,65,65,65,68,29,9,28,35,77,36,26,13,18,63,13,10,84,68,75,82,47,57,62,48,125,78,123,194,155,75,154,17,22,46,17,13,9,127,62,45,34,17,13,9,32,143,9,78,45,38,65,25,13,55,108,64,100,96,66,104,99,65,146,13,9,25,5,61,27,59,29,9,62,29,9,77,126,29,9,227,38,29,9,76,33,29,9,222,111,152,248,61,172,56,149,5,58,59,29,9,112,29,9,112,84,20,25,9,79,20,25,9,25,5,59,15,59,29,9,62,29,9,71,35,29,9,105,33,29,9,134,107,63,137,5,65,27,59,29,9,179,35,29,9,82,39,29,9,75,35,29,9,147,38,29,9,85,75,38,79,9,38,29,9,33,78,152,34,92,9,52,64,9,75,53,9,72,74,61,9,130,49,54,143,78,13,9,14,37,51,121,13,54,55,9,100,17,149,63,147,5,63,23,59,29,9,175,35,29,9,85,82,39,29,9,75,35,154,9,145,38,29,9,77,38,29,9,34,81,45,42,51,37,37,13,118,9,111,152,110,60,81,17,38,146,17,9,149,63,147,5,101,51,55,29,9,67,31,29,9,111,67,87,149,63,150,5,48,19,58,29,9,64,38,29,9,65,70,35,25,13,160,25,13,162,25,13,115,89,52,86,97,141,67,153,9,25,5,56,57,29,9,44,62,39,73,39,33,13,115,89,52,197,74,151,67,157,9,25,5,50,60,29,9,62,107,115,89,52,158,151,67,145,9,25,5,54,58,29,9,64,107,115,89,52,158,151,67,147,9,25,5,56,65,29,9,44,62,39,73,39,33,13,115,89,52,197,74,151,67,157,9,25,5,60,59,29,9,92,97,48,25,13,61,88,89,25,13,25,39,59,47,55,17,53,26,17,44,13,43,25,13,67,115,116,89,52,87,131,48,40,63,40,31,63,20,17,148,67,58,80,13,149,9,25,5,37,27,25,62,91,25,13,95,37,44,17,22,77,17,13,81,37,13,108,25,13,65,43,25,13,48,9,25,5,39,106,19,56,29,9,68,177,29,9,77,38,29,9,55,141,85,68,54,105,133,5,46,23,63,29,9,68,177,29,9,68,177,29,9,159,85,50,48,157,123,63,133,5,50,23,55,29,9,68,177,29,9,22,68,35,29,9,53,29,9,134,29,9,71,29,9,71,29,9,75,78,35,51,82,89,74,13,18,33,13,9,14,119,23,71,68,37,17,13,41,9,141,85,48,46,139,156,63,133,5,41,60,70,42,33,13,74,44,33,13,114,144,9,25,5,47,10,103,4,47,28,26,44,44,44,44,48,49,41,43,43,43,43,28,10,39,56,29,9,27,31,58,25,75,43,77,49,71,13,53,78,44,13,9,14,75,34,33,13,67,207,13,18,116,13,75,171,13,18,124,13,46,9,175,150,112,112,85,70,43,51,31,82,61,61,65,9,76,81,31,83,9,22,32,106,20,9,64,105,133,5,34,59,29,9,71,73,36,25,13,20,44,76,25,13,59,38,25,13,89,140,9,25,5,60,63,29,9,30,90,63,76,67,74,42,34,13,43,22,13,9,34,29,9,111,72,103,145,63,154,5,48,19,52,46,98,29,9,69,35,29,9,169,176,102,58,55,89,160,9,230,100,114,58,55,89,158,9,25,5,50,19,52,46,88,29,9,69,35,29,9,159,35,54,29,9,22,73,115,88,17,49,6,64,9,14,49,81,56,59,121,41,78,93,56,152,125,21,17,13,9,54,51,85,146,5,60,63,55,29,9,73,34,29,9,146,171,30,165,144,134,30,156,183,47,113,33,60,85,50,89,13,9,63,27,39,39,85,74,139,122,27,97,13,128,27,97,13,18,39,37,17,46,71,47,13,114,9,65,28,16,40,67,43,56,61,62,9,111,109,116,55,37,90,54,144,43,61,9,110,20,43,97,9,102,9,43,85,44,40,50,84,13,54,67,13,18,55,13,9,32,89,9,106,77,23,8,47,134,140,67,66,25,13,70,132,94,54,33,21,157,99,163,70,17,13,9,141,5,49,59,29,9,30,79,66,73,26,13,9,34,29,9,111,72,103,145,63,134,5,41,19,59,29,9,57,29,9,51,29,9,259,114,41,78,70,29,9,27,57,83,38,33,13,56,9,14,56,41,60,45,9,21,51,40,22,13,36,9,73,144,136,148,5,53,59,29,9,57,29,9,81,112,29,9,83,106,29,9,119,82,103,165,63,154,5,45,59,29,9,52,49,29,9,69,35,29,9,69,35,29,9,75,34,19,9,77,38,19,9,78,110,19,9,94,44,19,9,78,19,9,85,55,57,117,9,30,54,49,85,142,5,94,62,31,64,29,9,141,42,29,9,57,29,9,125,135,35,50,41,22,142,142,127,38,50,13,72,9,54,63,58,85,134,5,57,15,59,29,9,55,29,9,69,35,29,9,89,44,29,9,79,34,29,9,109,39,58,63,112,85,40,72,48,40,70,40,31,63,20,29,56,119,32,29,9,85,153,5,42,23,59,29,9,60,29,9,44,40,40,29,9,47,26,30,21,33,22,21,33,22,22,33,22,22,33,22,23,34,22,20,33,9,131,35,19,9,211,40,19,9,121,136,5,79,57,19,59,29,9,91,55,43,70,73,25,13,96,231,34,33,34,65,26,35,66,26,24,37,13,89,209,115,57,45,25,36,25,45,107,149,67,139,9,25,5,54,59,29,9,60,29,9,72,29,9,44,64,30,29,9,111,69,69,103,137,63,139,5,50,39,48,55,29,9,142,39,29,9,57,83,29,9,64,85,257,25,172,88,30,117,145,13,107,159,67,149,9,255,23,176,99,107,155,67,147,9,25,5,59,47,22,21,137,93,161,58,31,43,92,9,236,50,44,9,40,79,91,46,87,95,17,13,9,145,26,36,9,84,170,50,56,93,188,119,65,105,111,84,13,77,71,73,65,118,67,66,23,64,13,18,54,13,44,9,53,126,47,122,39,25,95,33,31,17,41,13,29,50,13,76,21,55,13,61,36,13,62,37,13,70,25,53,45,69,17,22,56,17,13,29,78,35,13,35,54,48,13,58,128,28,80,13,28,9,53,58,163,117,28,80,13,28,9,64,16,73,9,29,5,51,15,59,29,9,79,49,65,25,13,78,43,25,13,145,43,25,13,61,37,44,13,18,38,13,105,103,89,26,52,146,85,61,107,134,67,130,9,25,5,51,27,59,29,9,79,49,65,25,13,61,37,57,74,180,147,17,41,29,17,13,18,38,13,105,89,26,26,78,43,25,13,247,50,175,13,52,36,31,55,85,70,39,17,103,34,34,17,103,35,54,17,101,35,17,103,34,63,17,44,45,17,22,95,17,13,68,107,134,67,130,9,25,5,51,19,59,29,9,79,49,65,25,13,63,37,25,13,105,89,26,26,78,43,25,13,77,26,83,13,31,101,53,39,37,17,121,106,106,17,133,135,24,64,91,21,26,72,21,17,22,70,17,13,25,150,94,40,51,13,81,37,25,13,49,48,54,29,17,71,62,17,65,49,17,22,35,17,13,38,68,63,22,28,59,107,127,67,130,9,25,5,58,15,59,29,9,80,37,49,72,25,13,92,158,25,13,105,89,61,37,115,147,17,41,29,17,13,18,38,13,58,89,178,28,107,134,67,137,9,25,5,50,23,59,29,9,80,37,49,64,25,13,76,61,37,115,147,17,41,29,17,13,18,38,13,105,87,26,122,23,87,13,25,43,30,26,37,146,106,146,99,13,116,69,42,37,37,21,89,17,101,92,44,55,40,17,104,71,119,92,21,17,101,81,17,106,37,100,77,50,45,45,29,111,25,73,102,112,40,25,81,112,40,25,60,139,45,45,29,49,108,29,25,37,21,17,13,215,89,106,48,33,31,123,112,44,21,61,52,21,26,50,21,17,35,133,230,17,22,181,17,23,97,60,81,49,50,53,17,13,29,55,42,13,58,89,22,28,107,134,67,129,9,25,5,56,15,21,88,40,34,25,13,56,114,37,25,13,91,99,13,50,38,73,29,92,17,25,13,185,69,69,25,77,13,9,19,5,58,80,85,135,40,5,51,15,73,33,29,9,48,57,29,53,9,103,33,29,9,33,104,75,29,70,79,38,22,13,9,37,29,9,72,47,9,14,118,9,5,47,19,56,57,29,9,81,147,42,25,13,44,26,90,150,13,18,110,41,29,17,54,42,29,17,71,152,17,31,137,13,61,73,107,135,67,142,9,25,5,44,59,19,83,141,42,25,13,44,106,37,25,13,50,38,25,13,119,25,13,124,25,13,57,113,43,73,48,13,30,25,13,57,73,107,135,67,134,9,25,5,49,19,59,29,9,79,70,25,13,70,37,25,13,112,61,37,57,74,180,147,17,41,29,17,13,18,38,13,84,95,54,68,107,129,67,135,9,25,5,66,22,25,27,45,49,67,32,45,51,42,25,30,55,25,30,32,38,30,32,51,40,30,28,64,17,13,59,41,13,58,72,13,61,86,13,60,108,13,18,90,13,9,22,49,39,56,9,36,23,20,5,49,15,59,29,9,79,70,25,13,53,36,25,13,132,37,25,13,112,63,84,63,55,23,107,128,67,135,9,25,5,21,49,15,59,29,9,77,112,69,130,63,74,47,73,107,141,67,135,9,25,5,48,77,33,49,27,24,9,25,85,66,100,50,9,22,57,60,27,35,28,13,9,5,87,33,76,27,24,9,49,104,28,13,9,21,5,47,113,104,85,70,52,39,87,80,35,30,21,17,102,122,29,17,104,94,148,123,13,9,25,5,43,15,74,164,25,13,9,25,5,62,59,29,9,80,78,38,25,13,62,90,47,25,13,34,117,108,92,105,37,26,17,13,54,89,37,88,117,64,13,153,9,25,5,46,23,63,29,9,161,35,29,9,142,135,67,29,9,71,103,147,63,149,5,48,113,63,26,80,86,33,22,13,9,30,29,9,104,88,25,13,60,38,52,78,47,29,17,107,41,29,17,58,68,63,93,133,13,9,25,5,63,19,113,104,88,25,13,60,66,52,78,47,29,17,35,219,99,33,21,103,48,21,89,45,21,56,17,161,119,93,76,68,99,62,32,63,64,67,66,49,33,21,17,88,68,63,141,71,135,13,9,25,5,35,50,140,73,54,56,17,13,9,25,5,55,59,29,9,69,28,49,21,73,73,124,99,22,24,65,87,99,41,142,17,13,9,82,74,38,33,13,110,78,37,33,13,67,89,64,43,28,88,90,61,138,13,18,111,147,65,13,9,18,157,9,14,29,9,5,53,23,145,196,81,25,91,9,29,136,25,70,164,37,112,84,98,94,42,21,17,70,56,17,152,32,72,17,46,52,17,46,62,17,22,48,17,13,9,54,20,5,33,23,35,121,25,30,13,45,23,97,13,18,33,13,9,5,1,28,36],"data":{"version":3,"file":"downport.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/downport.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/dynpro_checks.js":{"lineLengths":[13,62,57,36,37,61,40,42,69,1,44,20,19,43,5,19,16,33,35,54,81,44,10,5,22,20,5,17,25,5,21,25,5,14,23,50,22,9,38,33,22,9,48,48,66,106,152,17,13,9,19,5,1,36,41],"data":{"version":3,"file":"dynpro_checks.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/dynpro_checks.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAE/B,qCAAuD;AACvD,6DAAqD;AAErD,wCAAmC;AACnC,0CAAqC;AAErC,MAAa,gBAAiB,SAAQ,oCAAe;CACpD;AADD,4CACC;AAED,MAAa,YAAY;IAAzB;QACU,SAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAgDxC,CAAC;IA9CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,eAAe;YACtB,gBAAgB,EAAE,uBAAuB;YACzC,mBAAmB,EAAE,+CAA+C;YACpE,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,CAAC;SACvB,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAsB;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,GAAG,GAAY,EAAE,CAAC;QAExB,IAAI,CAAC,CAAC,GAAG,YAAY,iBAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAChD,MAAM,OAAO,GAAG,UAAU,MAAM,CAAC,MAAM,WAAW,KAAK,CAAC,IAAI,yBAAyB,CAAC;oBACtF,GAAG,CAAC,IAAI,CAAC,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAjDD,oCAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/easy_to_find_messages.js":{"lineLengths":[13,62,69,36,37,61,42,52,58,75,1,56,26,19,49,5,19,16,41,43,59,89,0,65,0,30,0,97,48,10,5,17,25,5,21,25,5,21,54,48,45,59,57,13,9,20,5,17,26,42,32,55,115,41,92,67,141,39,17,45,92,67,141,39,17,13,9,22,5,1,48,49],"data":{"version":3,"file":"easy_to_find_messages.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/easy_to_find_messages.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,qCAAuD;AAGvD,6DAAqD;AAErD,0CAAqC;AAErC,oDAAoD;AACpD,0DAAmD;AAEnD,MAAa,sBAAuB,SAAQ,oCAAe;CAC1D;AADD,wDACC;AAED,MAAa,kBAAkB;IAA/B;QACU,SAAI,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAgE9C,CAAC;IA7DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,uBAAuB;YAC5B,KAAK,EAAE,uBAAuB;YAC9B,gBAAgB,EAAE,4BAA4B;YAC9C,mBAAmB,EAAE;;;;;;gGAMqE;YAC1F,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA4B;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAE9C,wCAAwC;QACxC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACnC,IAAI,GAAG,YAAY,yBAAU,EAAE,CAAC;gBAC9B,IAAI,oBAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,MAAe;QACxB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAsB,CAAC;YACpC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,GAAG,WAAW,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC;oBACxE,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,WAAW,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC;oBACxE,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAjED,gDAiEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/empty_line_in_statement.js":{"lineLengths":[13,62,73,36,45,61,51,75,48,37,42,77,19,28,63,34,5,1,60,58,19,28,51,5,19,16,43,52,83,142,0,44,133,42,40,10,5,18,48,5,17,25,5,21,25,5,21,26,41,33,22,9,47,55,63,90,13,9,33,43,74,25,13,46,38,13,57,127,129,35,13,74,37,13,114,37,13,18,38,13,9,22,5,1,52,51],"data":{"version":3,"file":"empty_line_in_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/empty_line_in_statement.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/empty_statement.js":{"lineLengths":[13,62,61,36,75,45,61,48,42,37,71,1,48,52,19,28,45,5,19,16,35,44,97,75,48,48,10,5,17,25,5,21,25,5,21,26,48,56,39,58,50,100,142,35,13,54,9,22,5,1,40,43],"data":{"version":3,"file":"empty_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/empty_statement.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,2EAAiE;AACjE,6CAAsC;AACtC,6DAAqD;AACrD,gDAA0C;AAC1C,0CAAqC;AACrC,qCAAgD;AAGhD,MAAa,kBAAmB,SAAQ,oCAAe;CACtD;AADD,gDACC;AAED,MAAa,cAAe,SAAQ,qBAAQ;IAA5C;;QAEU,SAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;IA0C1C,CAAC;IAxCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,wBAAwB;YAC/B,gBAAgB,EAAE,kEAAkE;YACpF,IAAI,EAAE,CAAC,gBAAO,CAAC,QAAQ,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC5C,UAAU,EAAE,uBAAuB;YACnC,WAAW,EAAE,sBAAsB;SACpC,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAwB;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,IAAI,WAAW,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAErC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,GAAG,EAAE,YAAY,kBAAK,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,wBAAU,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEtE,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACtH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,WAAW,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;QAC5C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA5CD,wCA4CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/empty_structure.js":{"lineLengths":[13,62,61,36,62,45,61,37,75,71,19,28,43,25,66,37,41,23,44,26,43,25,46,27,41,23,41,23,42,24,43,25,47,5,1,48,52,19,28,45,5,19,16,35,39,84,125,77,38,6,0,11,8,72,8,35,10,5,26,48,5,17,25,5,21,25,5,21,26,41,33,22,9,48,45,66,52,13,9,30,46,82,9,45,81,9,47,83,9,43,79,9,43,79,84,83,9,37,47,48,156,35,13,9,44,74,36,70,43,52,160,39,17,13,9,45,75,39,54,65,93,70,119,33,21,55,163,39,17,13,9,43,72,73,76,36,70,43,52,160,39,17,13,9,45,75,36,51,52,82,122,39,17,13,9,22,5,1,40,43],"data":{"version":3,"file":"empty_structure.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/empty_structure.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/exit_or_check.js":{"lineLengths":[13,62,55,36,62,45,61,37,48,68,19,28,31,32,5,1,42,49,19,28,42,5,19,16,33,54,91,47,124,90,86,104,10,5,17,25,5,21,25,5,21,26,25,55,40,46,50,57,55,50,38,13,54,53,54,53,28,13,111,72,60,95,85,158,131,35,13,109,71,109,131,35,13,9,22,5,1,34,41],"data":{"version":3,"file":"exit_or_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/exit_or_check.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,8DAA8D;AAC9D,6CAAsC;AAEtC,6DAAqD;AACrD,qCAAgD;AAEhD,gDAA0C;AAE1C,MAAa,eAAgB,SAAQ,oCAAe;IAApD;;QACS,cAAS,GAAY,KAAK,CAAC;QAC3B,eAAU,GAAY,KAAK,CAAC;IACrC,CAAC;CAAA;AAHD,0CAGC;AAED,MAAa,WAAY,SAAQ,qBAAQ;IAAzC;;QAEU,SAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IA4DvC,CAAC;IA1DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,kCAAkC;YACzC,gBAAgB,EAAE;8CACsB;YACxC,mBAAmB,EAAE;;qFAE0D;YAC/E,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,CAAC;SACjE,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAqB;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAoB,EAAE,CAAC;QAElC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,GAAG,YAAY,UAAU,CAAC,IAAI;mBAC3B,GAAG,YAAY,UAAU,CAAC,KAAK;mBAC/B,GAAG,YAAY,UAAU,CAAC,YAAY;mBACtC,GAAG,YAAY,UAAU,CAAC,UAAU;mBACpC,GAAG,YAAY,UAAU,CAAC,EAAE,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,GAAG,YAAY,UAAU,CAAC,OAAO;mBACrC,GAAG,YAAY,UAAU,CAAC,QAAQ;mBAClC,GAAG,YAAY,UAAU,CAAC,SAAS;mBACnC,GAAG,YAAY,UAAU,CAAC,KAAK,EAAE,CAAC;gBACvC,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,GAAG,YAAY,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnG,MAAM,OAAO,GAAG,uCAAuC,CAAC;gBACxD,IAAI,YAAY,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;gBAC5C,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/E,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,qBAAqB,CAAC;gBACrE,MAAM,GAAG,GAAG,wBAAU,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;gBAChI,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC3G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,GAAG,YAAY,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjG,MAAM,OAAO,GAAG,sCAAsC,CAAC;gBACvD,MAAM,GAAG,GAAG,wBAAU,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC/E,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC3G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA9DD,kCA8DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/expand_macros.js":{"lineLengths":[13,62,57,36,45,61,37,48,75,58,69,1,44,50,19,28,43,5,19,16,33,35,78,121,0,76,39,16,18,9,42,100,10,5,17,25,5,21,25,5,21,26,44,48,53,48,50,65,25,13,29,61,42,99,70,33,21,41,40,21,57,17,22,26,17,13,43,32,13,87,100,67,130,46,18,9,22,5,1,36,41],"data":{"version":3,"file":"expand_macros.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/expand_macros.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/exporting.js":{"lineLengths":[13,62,51,36,37,45,61,66,48,66,1,38,47,19,28,40,5,19,16,29,46,83,62,53,138,44,104,10,5,18,54,5,26,24,39,22,9,55,124,42,70,61,33,21,64,17,71,64,17,13,9,22,5,17,25,5,21,25,5,23,75,30,22,9,71,22,9,43,66,38,54,54,55,56,45,106,133,27,9,18,5,1,30,37],"data":{"version":3,"file":"exporting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/exporting.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/forbidden_identifier.js":{"lineLengths":[13,62,71,45,61,36,41,37,76,19,28,64,28,10,24,5,1,58,57,19,28,50,5,19,16,40,42,84,105,128,48,10,5,17,25,5,21,25,44,33,9,5,21,43,22,9,21,47,53,9,19,5,26,21,45,54,60,13,54,25,13,18,57,13,9,19,5,24,35,23,42,43,32,72,114,13,9,19,5,1,50,48],"data":{"version":3,"file":"forbidden_identifier.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/forbidden_identifier.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/forbidden_pseudo_and_pragma.js":{"lineLengths":[13,62,81,62,64,36,45,61,48,37,75,81,19,28,32,33,32,26,49,43,5,1,68,62,19,28,55,5,19,16,47,58,79,75,48,42,10,5,17,21,33,59,9,45,34,9,46,35,9,25,5,21,25,5,51,94,21,25,26,44,51,69,69,76,36,33,21,87,37,33,21,17,63,63,76,36,33,21,91,37,33,21,17,36,29,17,44,93,28,82,55,126,17,13,9,21,43,51,69,69,76,36,33,21,87,37,33,21,17,63,63,76,36,33,21,91,37,33,21,17,36,29,17,65,29,17,79,82,63,126,17,13,9,22,5,1,60,55],"data":{"version":3,"file":"forbidden_pseudo_and_pragma.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/forbidden_pseudo_and_pragma.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/forbidden_void_type.js":{"lineLengths":[13,62,67,61,36,58,52,61,62,47,60,74,19,28,82,28,10,24,5,1,54,25,19,48,5,19,16,39,42,69,46,87,84,10,5,17,25,5,21,25,44,33,9,5,21,23,20,5,14,90,22,9,95,5,19,20,23,21,48,77,56,94,100,109,188,17,76,89,68,145,17,13,9,45,47,9,19,5,27,52,80,9,59,25,9,38,42,5,27,33,25,9,42,43,41,33,28,13,9,21,5,1,46,47],"data":{"version":3,"file":"forbidden_void_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/forbidden_void_type.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/form_tables_obsolete.js":{"lineLengths":[13,62,69,36,40,61,45,64,37,75,1,56,56,19,28,49,5,19,16,40,52,71,114,48,10,5,18,53,5,17,25,5,21,25,5,26,23,41,67,23,9,77,47,124,28,9,19,5,1,48,48],"data":{"version":3,"file":"form_tables_obsolete.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/form_tables_obsolete.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,wCAAiC;AACjC,6DAAqD;AACrD,6CAAsC;AACtC,gEAAgE;AAEhE,qCAAgD;AAGhD,MAAa,sBAAuB,SAAQ,oCAAe;CAC1D;AADD,wDACC;AAED,MAAa,kBAAmB,SAAQ,qBAAQ;IAAhD;;QAEU,SAAI,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAyC9C,CAAC;IAvCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,gCAAgC;YACvC,gBAAgB,EAAE,wCAAwC;YAC1D,mBAAmB,EAAE,gFAAgF;YACrG,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA4B;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,GAAe;QAC9C,MAAM,GAAG,GAAY,EAAE,CAAC;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,GAAG,YAAY,eAAK,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,GAAG,CAAC;QACb,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AA3CD,gDA2CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/fully_type_constants.js":{"lineLengths":[13,62,68,61,45,36,62,66,37,74,19,28,75,30,5,1,54,56,19,28,48,5,19,16,40,42,95,51,68,48,10,5,26,56,5,17,25,5,21,25,5,21,19,26,50,58,91,43,115,151,42,146,17,42,77,17,135,13,9,22,5,19,115,5,1,48,48],"data":{"version":3,"file":"fully_type_constants.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/fully_type_constants.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AACrD,6CAAsC;AACtC,oCAA+B;AAC/B,8DAA8D;AAE9D,kEAAsG;AACtG,qCAAgD;AAGhD,MAAa,qBAAsB,SAAQ,oCAAe;IAA1D;;QACE,mEAAmE;QAC5D,cAAS,GAAY,IAAI,CAAC;IACnC,CAAC;CAAA;AAHD,sDAGC;AAED,MAAa,kBAAmB,SAAQ,qBAAQ;IAAhD;;QACU,SAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAyD7C,CAAC;IAvDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,sBAAsB;YAC7B,gBAAgB,EAAE,gEAAgE;YAClF,UAAU,EAAE,0BAA0B;YACtC,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,OAAO,cAAc,IAAI,sBAAsB,CAAC;IAClD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA2B;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,QAAQ;mBACvC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,IAAI,CAAC,CAAC;mBACxE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBAEnG,IAAI,KAAK,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,iCAAmB,CAAC,0CAAE,aAAa,EAAE,CAAC;gBAC3E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,KAAK,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,4BAAc,CAAC,0CAAE,aAAa,EAAE,CAAC;gBACpE,CAAC;gBACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC3D,CAAC;gBAED,MAAM,CAAC,IAAI,CACT,aAAK,CAAC,OAAO,CACX,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EACzB,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,OAAO,CAAC,IAAmB;QACjC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,uBAAS,CAAC,CAAC,CAAC;IACjF,CAAC;CACF;AA1DD,gDA0DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/fully_type_itabs.js":{"lineLengths":[13,62,61,61,45,36,62,64,37,71,1,48,52,19,28,45,5,19,16,36,48,69,54,40,81,48,10,5,17,25,5,21,25,5,21,26,55,64,25,13,76,35,25,13,59,51,53,144,13,102,52,144,13,9,22,5,1,40,44],"data":{"version":3,"file":"fully_type_itabs.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/fully_type_itabs.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AACrD,6CAAsC;AACtC,oCAA+B;AAC/B,8DAA8D;AAC9D,gEAAgE;AAChE,qCAAgD;AAGhD,MAAa,kBAAmB,SAAQ,oCAAe;CACtD;AADD,gDACC;AAED,MAAa,cAAe,SAAQ,qBAAQ;IAA5C;;QACU,SAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;IA4D1C,CAAC;IA1DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,4BAA4B;YACnC,gBAAgB,EAAE,sCAAsC;YACxD,UAAU,EAAE;uCACqB;YACjC,WAAW,EAAE,uDAAuD;YACpE,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAwB;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,SAAS;YACX,CAAC;YAED,MAAM,EAAE,GAAG,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAChE,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;YAE/C,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,oBAAoB,CAAC;gBACrC,MAAM,CAAC,IAAI,CACT,aAAK,CAAC,UAAU,CACd,IAAI,EACJ,EAAE,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAC7B,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC1F,MAAM,OAAO,GAAG,mBAAmB,CAAC;gBACpC,MAAM,CAAC,IAAI,CACT,aAAK,CAAC,UAAU,CACd,IAAI,EACJ,EAAE,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAC7B,OAAO,EACP,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA7DD,wCA6DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/function_module_recommendations.js":{"lineLengths":[13,62,91,26,66,45,61,37,86,19,28,89,62,28,11,32,102,79,79,74,87,77,114,78,76,67,79,78,112,66,66,79,73,76,79,105,73,88,93,81,77,89,89,73,81,10,5,1,78,67,19,28,60,5,19,16,51,53,83,78,48,10,5,17,25,5,21,25,5,21,15,26,41,26,9,64,153,49,56,43,44,25,13,55,62,155,29,128,13,9,22,5,23,141,5,1,70,59],"data":{"version":3,"file":"function_module_recommendations.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/function_module_recommendations.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/functional_writing.js":{"lineLengths":[13,62,67,36,45,62,64,61,40,37,34,48,74,19,28,77,37,5,1,54,55,19,28,48,5,19,16,38,44,102,140,44,104,58,47,11,27,11,33,12,22,25,47,36,11,27,11,33,12,22,27,10,5,18,63,5,17,25,5,21,25,5,26,19,26,30,39,22,9,35,45,50,9,47,54,72,29,52,48,33,13,69,34,13,88,141,29,17,177,44,29,17,78,13,9,22,5,49,56,115,125,5,30,49,85,118,85,31,25,97,86,49,64,13,18,62,57,66,13,9,14,61,35,9,47,5,1,46,46],"data":{"version":3,"file":"functional_writing.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/functional_writing.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/global_class.js":{"lineLengths":[13,62,55,36,45,38,61,37,68,1,42,49,19,28,42,5,19,16,32,41,65,71,0,34,0,38,0,43,0,48,44,10,5,17,25,5,21,25,5,26,26,73,114,157,35,13,135,169,35,13,73,147,35,13,9,71,57,47,93,167,35,13,9,71,57,51,93,171,35,13,9,71,112,153,35,13,9,22,5,1,34,40],"data":{"version":3,"file":"global_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/global_class.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/identical_conditions.js":{"lineLengths":[13,62,71,64,62,62,36,61,45,37,41,18,19,22,22,5,13,40,5,26,83,5,1,76,1,58,57,19,28,50,5,19,16,40,42,81,0,58,48,60,6,9,11,18,10,48,6,9,11,11,10,10,5,17,25,5,21,25,5,21,24,46,38,22,9,69,60,9,71,62,9,73,62,9,22,5,20,29,44,26,45,54,35,13,39,58,13,67,26,13,9,58,24,65,129,27,9,18,5,27,15,44,58,30,65,9,97,16,31,9,71,149,20,35,13,9,58,24,65,114,27,9,18,5,29,44,60,30,67,9,69,61,34,25,13,71,35,13,9,58,24,65,114,27,9,18,5,1,50,48],"data":{"version":3,"file":"identical_conditions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/identical_conditions.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,8DAA8D;AAC9D,8DAA8D;AAC9D,oCAA+B;AAC/B,6DAAqD;AACrD,6CAAsC;AACtC,qCAAgD;AAChD,yCAA4D;AAG5D,MAAM,UAAU;IAGd;QAFiB,QAAG,GAAa,EAAE,CAAC;QAGlC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAEM,IAAI,CAAC,CAAiB;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAClC,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF;AAGD,MAAa,uBAAwB,SAAQ,oCAAe;CAC3D;AADD,0DACC;AAED,MAAa,mBAAoB,SAAQ,qBAAQ;IAAjD;;QACU,SAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAwI/C,CAAC;IAtIQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,sBAAsB;YAC7B,gBAAgB,EAAE;;yDAEiC;YACnD,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE;;;;;SAKT;YACH,WAAW,EAAE;;;;;SAKV;SACJ,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA6B;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,IAAI,MAAM,GAAY,EAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEH,gBAAgB;IAEN,WAAW,CAAC,IAAc,EAAE,IAAoB;QACtD,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,sBAAc,EAAE,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gBAC3B,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,CAAC;iBAAM,IAAI,QAAQ,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,wBAAwB,GAAG,SAAS,CAAC;YACrD,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7G,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,SAAS,CAAC,IAAc,EAAE,IAAmB;;QACnD,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAEpC,MAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,GAAG,MAAA,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,0CAAE,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3F,IAAI,CAAC,EAAE,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,wBAAwB,GAAG,SAAS,CAAC;YACrD,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9F,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,WAAW,CAAC,IAAc,EAAE,IAAmB;QACrD,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAEpC,MAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,wBAAwB,GAAG,SAAS,CAAC;YACrD,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9F,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAzID,kDAyIC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/identical_contents.js":{"lineLengths":[13,62,67,62,36,61,45,37,41,75,74,1,54,55,19,28,48,5,19,16,38,40,116,34,56,0,31,48,38,14,16,5,14,16,8,39,14,5,14,6,16,10,5,17,25,5,21,25,5,21,24,46,38,22,9,55,66,52,13,9,78,60,9,22,5,20,27,15,46,22,9,65,58,22,9,151,61,22,9,9,51,55,94,26,13,75,53,133,31,13,9,9,49,53,91,26,13,73,53,133,31,13,9,18,5,21,33,25,9,57,49,9,14,60,9,5,1,46,46],"data":{"version":3,"file":"identical_contents.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/identical_contents.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,oCAA+B;AAC/B,6DAAqD;AACrD,6CAAsC;AACtC,qCAAgD;AAChD,yCAA2D;AAE3D,2EAAmE;AAEnE,MAAa,qBAAsB,SAAQ,oCAAe;CACzD;AADD,sDACC;AAED,MAAa,iBAAkB,SAAQ,qBAAQ;IAA/C;;QACU,SAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;IA6G7C,CAAC;IA3GQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,oBAAoB;YAC3B,gBAAgB,EAAE,qFAAqF;YACvG,mBAAmB,EAAE;;;8BAGG;YACxB,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE;;;;;;OAMX;YACD,WAAW,EAAE;;;;;eAKJ;SACV,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA2B;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,IAAI,MAAM,GAAY,EAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBACvC,OAAO,EAAE,CAAC,CAAC,yBAAyB;YACtC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACpE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEH,gBAAgB;IAEN,SAAS,CAAC,IAAc,EAAE,IAAmB;;QACnD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,0CAAE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjG,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,CAAC;YACC,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChF,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC/D,MAAM,OAAO,GAAG,oBAAoB,CAAC;gBACrC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7G,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,CAAC;YACC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7E,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,MAAM,CAAC,YAAY,EAAE,KAAK,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,oBAAoB,CAAC;gBACrC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7G,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,SAAS,CAAC,IAA+C;QAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,IAAI,YAAY,qBAAa,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CAEF;AA9GD,8CA8GC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/identical_descriptions.js":{"lineLengths":[13,62,75,36,61,40,78,1,62,29,19,52,5,19,16,42,44,93,50,0,44,0,24,0,54,21,10,5,17,25,5,21,25,5,21,15,31,54,43,38,25,13,37,44,116,70,29,17,60,49,17,73,62,17,71,13,9,20,5,12,15,26,33,40,112,66,30,13,94,35,69,128,13,9,51,57,9,22,5,32,15,32,45,103,46,25,13,48,116,127,13,35,9,18,5,1,54,50],"data":{"version":3,"file":"identical_descriptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/identical_descriptions.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/identical_form_names.js":{"lineLengths":[13,62,69,36,37,61,58,75,1,56,78,26,19,49,5,19,16,40,42,64,44,10,5,17,25,5,21,25,5,22,20,5,14,58,22,9,23,25,48,70,53,47,77,131,36,17,22,37,17,13,9,19,5,1,48,48],"data":{"version":3,"file":"identical_form_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/identical_form_names.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,qCAAuD;AAGvD,6DAAqD;AACrD,0DAAmD;AAEnD,MAAa,sBAAuB,SAAQ,oCAAe;CAC1D;AADD,wDACC;AAED,8EAA8E;AAE9E,MAAa,kBAAkB;IAA/B;QAEU,SAAI,GAAG,IAAI,sBAAsB,EAAE,CAAC;IA+C9C,CAAC;IA7CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,sBAAsB;YAC7B,gBAAgB,EAAE,iCAAiC;YACnD,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,CAAC;SACvB,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA4B;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,0BAA0B,GAAG,IAAI,GAAG,IAAI,CAAC;oBACzD,MAAM,KAAK,GAAG,aAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAjDD,gDAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/if_in_if.js":{"lineLengths":[13,62,45,36,62,62,45,61,37,48,63,1,32,44,19,28,37,5,19,16,28,30,76,34,83,0,100,0,42,97,39,16,7,8,6,0,14,5,5,16,7,8,8,63,5,6,0,14,5,18,5,6,0,14,14,5,14,18,9,10,10,104,10,5,17,25,5,21,25,5,26,19,26,39,22,9,41,33,22,9,26,61,76,35,68,72,25,13,66,37,25,13,75,37,25,13,73,39,25,13,40,48,79,84,25,13,69,32,53,55,66,146,151,61,181,87,69,53,33,17,13,44,119,31,9,22,5,1,24,36],"data":{"version":3,"file":"if_in_if.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/if_in_if.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/implement_methods.js":{"lineLengths":[13,62,65,36,45,61,40,62,64,37,48,94,73,1,52,54,19,28,47,5,19,16,37,39,113,109,71,10,5,17,25,5,21,25,5,26,21,48,22,9,80,22,9,23,78,101,84,89,9,19,5,37,45,47,74,37,28,13,9,25,5,36,52,69,36,27,13,9,25,5,27,23,39,146,41,42,168,36,17,25,13,37,90,126,32,13,43,71,57,132,32,13,9,19,5,32,19,79,33,29,9,151,156,67,91,37,36,15,13,9,25,5,37,52,33,79,118,25,9,20,5,31,15,29,54,33,35,57,80,28,33,26,17,13,9,14,129,9,20,5,49,32,49,56,11,42,68,71,42,70,19,13,9,23,5,21,54,69,26,33,9,56,21,46,67,30,37,13,9,25,5,32,23,53,80,109,62,13,53,30,13,62,90,29,17,65,121,31,92,140,40,21,26,134,40,21,17,13,9,19,5,33,33,25,9,56,93,34,38,46,75,107,26,17,13,9,70,60,23,154,13,9,34,45,62,41,29,17,68,26,31,17,13,9,35,5,40,39,111,54,103,28,32,17,13,9,21,5,1,44,45],"data":{"version":3,"file":"implement_methods.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/implement_methods.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/in_statement_indentation.js":{"lineLengths":[13,62,77,36,45,40,61,62,37,34,75,48,42,79,19,28,62,33,46,37,5,1,64,60,19,28,53,5,19,16,44,46,94,100,6,114,56,33,12,18,10,8,34,14,18,12,8,104,10,5,18,46,5,17,25,5,21,25,5,26,23,47,45,56,43,26,13,87,26,13,9,47,101,25,13,41,38,25,13,49,50,33,45,51,52,56,60,48,48,51,50,50,53,50,50,50,52,69,64,13,37,47,29,17,44,156,133,36,26,17,13,9,19,5,1,56,52],"data":{"version":3,"file":"in_statement_indentation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/in_statement_indentation.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/inline_data_old_versions.js":{"lineLengths":[13,62,75,36,45,40,66,61,37,78,1,62,59,19,28,52,5,19,16,44,47,131,73,10,5,17,25,5,21,25,5,21,26,75,79,22,9,55,79,86,53,42,29,17,57,29,17,49,29,17,49,29,17,99,122,35,13,9,22,5,1,54,52],"data":{"version":3,"file":"inline_data_old_versions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/inline_data_old_versions.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,wCAAmC;AACnC,kEAAwD;AACxD,6DAAqD;AACrD,qCAAiC;AAGjC,MAAa,yBAA0B,SAAQ,oCAAe;CAC7D;AADD,8DACC;AAED,MAAa,qBAAsB,SAAQ,qBAAQ;IAAnD;;QACU,SAAI,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAoDjD,CAAC;IAlDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,0BAA0B;YAC/B,KAAK,EAAE,2BAA2B;YAClC,gBAAgB,EAAE,oGAAoG;YACtH,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,EAAE,gBAAO,CAAC,UAAU,CAAC;SAC3C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA+B;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,IAAI,iBAAO,CAAC,QAAQ;eAClD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,KAAK,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACnD,mEAAmE;YAC7D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,oBAAM,CAAC,EAAE,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvC,SAAS;gBACX,CAAC;gBACD,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,8BAA8B,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;gBACnF,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AArDD,sDAqDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/intf_referencing_clas.js":{"lineLengths":[13,62,71,36,61,40,52,60,34,76,19,28,77,28,10,24,5,1,58,27,19,50,5,19,16,41,43,71,69,46,45,36,10,5,17,44,33,9,25,5,21,25,5,21,23,20,5,14,52,22,9,95,5,20,20,19,21,45,47,52,86,93,99,86,83,29,17,105,29,17,135,13,9,45,47,9,19,5,1,50,49],"data":{"version":3,"file":"intf_referencing_clas.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/intf_referencing_clas.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/invalid_table_index.js":{"lineLengths":[13,62,67,36,64,45,61,37,48,64,74,1,54,55,19,28,48,5,19,16,39,41,98,75,50,51,51,51,10,5,17,25,5,21,25,5,21,35,26,41,33,42,9,83,31,310,38,25,13,41,60,84,123,35,13,9,74,304,38,25,13,41,60,84,123,35,13,9,22,5,1,46,47],"data":{"version":3,"file":"invalid_table_index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/invalid_table_index.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/keep_single_parameter_on_one_line.js":{"lineLengths":[13,62,99,36,61,45,64,37,90,19,28,45,26,5,1,86,71,19,28,64,5,19,16,53,56,72,144,106,47,45,10,5,17,25,5,21,25,5,26,24,39,22,9,41,33,22,9,47,45,72,47,57,50,53,25,13,80,60,13,9,22,5,43,32,69,29,5,39,77,77,28,13,9,21,5,29,68,68,98,28,13,9,21,5,32,76,48,49,32,17,13,9,21,5,20,81,82,57,65,30,17,13,64,121,9,18,5,85,28,23,40,31,56,13,52,9,22,5,20,40,38,68,5,28,44,5,26,57,84,54,33,17,13,24,9,72,19,51,9,75,20,49,29,13,87,72,28,13,87,72,28,13,9,21,5,1,78,61],"data":{"version":3,"file":"keep_single_parameter_on_one_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/keep_single_parameter_on_one_line.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/line_break_multiple_parameters.js":{"lineLengths":[13,62,87,36,45,61,64,37,48,58,84,19,28,55,23,5,1,74,65,19,28,58,5,19,16,50,52,63,135,75,85,133,10,5,17,25,5,21,25,5,26,26,39,22,9,47,79,97,51,17,83,45,29,17,45,61,50,65,43,33,21,58,79,168,165,21,39,17,13,9,22,5,1,66,58],"data":{"version":3,"file":"line_break_multiple_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/line_break_multiple_parameters.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/line_break_style.js":{"lineLengths":[13,62,61,36,61,37,71,1,48,22,19,45,5,19,16,36,76,68,0,33,77,10,5,22,20,5,17,25,5,21,25,5,14,26,44,55,47,55,58,72,124,43,59,21,17,13,9,22,5,1,40,44],"data":{"version":3,"file":"line_break_style.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/line_break_style.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AAErD,qCAAuD;AAGvD,MAAa,kBAAmB,SAAQ,oCAAe;CACtD;AADD,gDACC;AAED,MAAa,cAAc;IAA3B;QACU,SAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;IA6C1C,CAAC;IA3CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,wDAAwD;YAC/D,gBAAgB,EAAE;;gCAEQ;YAC1B,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAwB;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;wBACpC,MAAM,OAAO,GAAG,+BAA+B,CAAC;wBAChD,MAAM,KAAK,GAAG,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC5F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnB,MAAM,CAAC,4BAA4B;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA9CD,wCA8CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/line_length.js":{"lineLengths":[13,62,53,36,45,61,37,67,19,28,77,26,5,1,40,48,19,28,41,5,19,16,31,33,85,136,44,77,10,5,17,25,5,21,25,5,21,26,44,34,40,69,58,45,116,122,13,53,105,122,13,9,22,5,1,32,39],"data":{"version":3,"file":"line_length.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/line_length.ts"],"names":[],"mappings":";;;AACA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,qCAAiC;AAEjC,MAAa,cAAe,SAAQ,oCAAe;IAAnD;;QACE,qEAAqE;QAC9D,WAAM,GAAW,GAAG,CAAC;IAC9B,CAAC;CAAA;AAHD,wCAGC;AAED,MAAa,UAAW,SAAQ,qBAAQ;IAAxC;;QAEU,SAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IAwCtC,CAAC;IAtCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,aAAa;YACpB,gBAAgB,EAAE,sDAAsD;YACxE,mBAAmB,EAAE;2CACgB;YACrC,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAoB;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,oCAAoC;QACpC,MAAM,aAAa,GAAW,GAAG,CAAC;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,kCAAkC,aAAa,wBAAwB,GAAG,CAAC,MAAM,EAAE,CAAC;gBACpG,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,6BAA6B,IAAI,CAAC,IAAI,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,CAAC;gBACzF,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA1CD,gCA0CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/line_only_punc.js":{"lineLengths":[13,62,57,36,42,45,61,40,37,48,34,69,19,28,77,37,5,1,44,50,19,28,43,5,19,16,34,54,75,129,44,104,49,49,10,5,18,64,5,17,25,5,21,25,5,26,26,47,45,56,43,26,13,87,26,13,9,39,55,47,43,111,72,47,48,86,106,50,17,31,49,32,17,93,82,102,139,35,13,9,22,5,1,36,42],"data":{"version":3,"file":"line_only_punc.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/line_only_punc.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/local_class_naming.js":{"lineLengths":[13,62,65,36,45,63,60,37,34,75,19,28,48,32,52,36,53,32,5,1,52,54,19,28,47,5,19,16,38,52,106,73,10,5,38,53,83,82,5,17,25,5,21,25,5,26,26,50,47,9,47,71,36,25,13,44,30,40,42,13,55,47,13,18,43,13,66,25,13,52,91,163,13,9,22,5,1,44,46],"data":{"version":3,"file":"local_class_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/local_class_naming.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/local_testclass_consistency.js":{"lineLengths":[13,62,83,36,45,61,40,37,40,82,1,70,63,19,28,56,5,19,16,47,49,127,44,10,5,17,25,5,21,25,5,26,15,26,75,51,22,9,48,22,9,64,99,100,124,35,13,9,65,51,138,43,21,88,114,35,13,9,22,5,1,62,55],"data":{"version":3,"file":"local_testclass_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/local_testclass_consistency.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,wCAAiC;AAEjC,qCAAgD;AAEhD,wCAAmC;AAEnC,MAAa,6BAA8B,SAAQ,oCAAe;CACjE;AADD,sEACC;AAED,MAAa,yBAA0B,SAAQ,qBAAQ;IAAvD;;QAEU,SAAI,GAAG,IAAI,6BAA6B,EAAE,CAAC;IAqDrD,CAAC;IAnDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,6BAA6B;YAClC,KAAK,EAAE,6BAA6B;YACpC,gBAAgB,EAAE,gGAAgG;YAClH,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,CAAC;SACvB,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAmC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,GAAY;;QAC3C,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,IAAI,EAAE,CAAC;YACvD,uCAAuC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,YAAY,eAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACrF,MAAM,OAAO,GAAG,0BAA0B,GAAG,CAAC,CAAC,IAAI,GAAG,6BAA6B,CAAC;gBACpF,MAAM,KAAK,GAAG,aAAK,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,IAAI;eAClD,GAAG,CAAC,gBAAgB,EAAE,KAAK,SAAS;eACpC,CAAA,MAAA,GAAG,CAAC,MAAM,EAAE,0CAAE,QAAQ,CAAC,sCAAsC,CAAC,MAAK,KAAK,EAAE,CAAC;YAChF,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;YAC/B,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,OAAO,GAAG,uDAAuD,CAAC;gBACxE,MAAM,KAAK,GAAG,aAAK,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAvDD,8DAuDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/local_variable_names.js":{"lineLengths":[13,62,69,36,45,62,62,64,63,60,37,77,19,28,51,38,51,42,49,38,5,1,56,56,19,28,49,5,19,16,40,55,31,100,31,73,34,11,10,35,14,10,10,5,38,53,86,85,5,17,25,5,21,25,5,21,23,50,47,9,41,33,22,9,47,69,54,9,71,54,9,79,54,9,19,5,34,21,30,73,53,68,49,13,78,24,52,86,13,9,22,81,75,24,52,86,13,9,54,76,45,39,72,123,24,52,86,13,9,88,83,24,52,84,13,9,31,87,89,24,52,84,13,9,75,43,58,73,49,13,83,24,52,90,13,9,19,5,38,23,48,36,82,64,114,28,9,19,5,1,48,48],"data":{"version":3,"file":"local_variable_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/local_variable_names.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/macro_naming.js":{"lineLengths":[13,62,55,36,45,62,64,61,37,40,68,19,28,55,31,5,1,42,49,19,28,42,5,19,16,32,46,86,84,73,42,20,44,20,10,5,17,25,5,21,25,5,26,26,61,48,22,9,50,61,25,13,74,37,25,13,47,49,25,13,18,128,118,35,13,9,22,5,1,34,40],"data":{"version":3,"file":"macro_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/macro_naming.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,8DAA8D;AAC9D,gEAAgE;AAChE,6DAAqD;AACrD,qCAAgD;AAGhD,wCAAoC;AAEpC,MAAa,eAAgB,SAAQ,oCAAe;IAApD;;QACE,+CAA+C;QACxC,YAAO,GAAW,OAAO,CAAC;IACnC,CAAC;CAAA;AAHD,0CAGC;AAED,MAAa,WAAY,SAAQ,qBAAQ;IAAzC;;QAEU,SAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IA0DvC,CAAC;IAxDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,0BAA0B;YACjC,gBAAgB,EAAE,uDAAuD;YACzE,mBAAmB,EAAE,kDAAkD;YACvE,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC1C,UAAU,EAAE;mBACC;YACb,WAAW,EAAE;mBACA;SACd,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAqB;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,GAAe;QAC9C,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAErD,IAAI,GAAG,YAAY,kBAAQ,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAExC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/C,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAEnC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBACnC,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,oCAAoC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;gBAChH,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QAEH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA5DD,kCA4DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/main_file_contents.js":{"lineLengths":[13,62,65,36,61,38,58,62,64,42,75,40,73,1,52,24,19,47,5,19,16,38,40,71,77,0,60,43,2,10,5,29,67,5,17,25,5,21,25,5,21,23,20,5,14,55,79,22,9,43,33,22,9,41,33,22,9,42,40,46,26,52,88,34,52,13,81,64,63,180,31,13,75,37,52,180,31,13,85,51,176,31,13,9,51,26,52,88,34,52,13,87,63,175,31,13,48,80,51,168,31,13,9,18,5,1,44,46],"data":{"version":3,"file":"main_file_contents.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/main_file_contents.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AAGrD,sCAAsC;AACtC,0DAAmD;AAEnD,8DAA8D;AAC9D,gEAAgE;AAChE,0CAAqC;AACrC,2EAAmE;AACnE,wCAAmC;AAEnC,MAAa,oBAAqB,SAAQ,oCAAe;CACxD;AADD,oDACC;AAED,MAAa,gBAAgB;IAA7B;QACU,SAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAgG5C,CAAC;IA7FQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,oBAAoB;YAC3B,gBAAgB,EAAE,wCAAwC;YAC1D,mBAAmB,EAAE;;;;CAI1B;SACI,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,OAAe;QACpC,OAAO,yCAAyC,GAAG,OAAO,CAAC;IAC7D,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA0B;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC;eACzB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,KAAK,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,GAAG,YAAY,OAAO,CAAC,OAAO;eAC3B,GAAG,CAAC,SAAS,EAAE,KAAK,KAAK;eACzB,GAAG,CAAC,YAAY,EAAE,KAAK,KAAK,EAAE,CAAC;YACpC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;YACxC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBAC7D,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;gBAClB,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,MAAM;mBAC9D,KAAK,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,0CAA0C,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5J,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CACzB,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,gDAAgD,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClI,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,4CAA4C,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxJ,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;YACxC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBAC7D,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;gBAClB,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzE,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,qCAAqC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvJ,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,oCAAoC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChJ,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAjGD,4CAiGC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/many_parentheses.js":{"lineLengths":[13,62,63,64,62,36,45,61,37,41,48,72,1,50,53,19,28,46,5,19,16,36,42,103,75,25,30,6,45,6,2,26,26,6,41,6,2,10,5,17,25,5,21,25,5,21,26,46,38,22,9,110,53,9,115,26,59,67,13,18,76,13,36,25,13,53,63,51,53,66,66,61,66,17,133,128,35,13,9,71,54,9,73,54,9,22,5,24,26,68,33,22,9,46,62,22,9,43,78,129,27,9,18,5,26,26,41,51,48,37,63,66,144,31,9,22,5,25,26,28,26,45,29,49,57,13,56,113,73,30,17,65,38,74,17,38,30,17,49,37,94,17,13,36,37,13,85,26,13,9,76,60,129,31,9,22,5,26,28,44,35,49,63,40,41,17,50,35,17,13,9,26,5,1,42,44],"data":{"version":3,"file":"many_parentheses.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/many_parentheses.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/max_one_method_parameter_per_line.js":{"lineLengths":[13,62,89,64,62,36,45,61,37,85,1,76,66,19,28,59,5,19,16,53,66,83,77,25,24,11,56,26,24,11,39,25,10,5,17,25,5,21,25,5,21,15,26,149,33,84,41,29,29,17,105,154,39,17,25,13,9,22,5,1,68,61],"data":{"version":3,"file":"max_one_method_parameter_per_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/max_one_method_parameter_per_line.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,8DAA8D;AAC9D,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAIhD,MAAa,gCAAiC,SAAQ,oCAAe;CACpE;AADD,4EACC;AAED,MAAa,4BAA6B,SAAQ,qBAAQ;IAA1D;;QACU,SAAI,GAAG,IAAI,gCAAgC,EAAE,CAAC;IAmDxD,CAAC;IAjDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,mCAAmC;YACxC,KAAK,EAAE,8CAA8C;YACrD,gBAAgB,EAAE,oDAAoD;YACtE,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9C,UAAU,EAAE;;;uDAGqC;YACjD,WAAW,EAAE;;;;wBAIK;SACnB,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAsC;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAI,EAAE,EAAE,CAAC;YAC3F,IAAI,IAAI,GAA+B,SAAS,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,GAAG,CAAC,CAAC;oBACT,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;oBACvF,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9H,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBAED,IAAI,GAAG,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AApDD,oEAoDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/max_one_statement.js":{"lineLengths":[13,62,63,36,75,45,61,48,37,58,72,1,50,53,19,28,46,5,19,16,37,48,88,124,0,48,0,104,44,104,48,50,10,5,18,56,5,17,25,5,21,25,5,21,26,21,25,55,51,63,68,34,25,13,45,68,25,13,37,97,79,134,35,31,13,23,9,22,5,1,42,45],"data":{"version":3,"file":"max_one_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/max_one_statement.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,2EAA8E;AAC9E,6CAAsC;AACtC,6DAAqD;AACrD,gDAA0C;AAC1C,qCAAgD;AAChD,0DAAoD;AAGpD,MAAa,mBAAoB,SAAQ,oCAAe;CACvD;AADD,kDACC;AAED,MAAa,eAAgB,SAAQ,qBAAQ;IAA7C;;QAEU,SAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;IA8D3C,CAAC;IA5DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,mBAAmB;YACxB,KAAK,EAAE,4BAA4B;YACnC,gBAAgB,EAAE,yDAAyD;YAC3E,mBAAmB,EACzB;;;;;2CAK2C;YACrC,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,EAAE,gBAAO,CAAC,UAAU,CAAC;YAChE,UAAU,EAAE,uBAAuB;YACnC,WAAW,EAAE,wBAAwB;SACtC,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,wCAAwC,CAAC;IAClD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAyB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,GAAW,CAAC,CAAC;QACrB,IAAI,QAAQ,GAAW,CAAC,CAAC;QACzB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO;mBAC/B,SAAS,CAAC,GAAG,EAAE,YAAY,sBAAS;mBACpC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,YAAY,kCAAe,EAAE,CAAC;gBACnC,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC;gBACnF,MAAM,GAAG,GAAG,wBAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC9G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,QAAQ,GAAG,GAAG,CAAC;YACjB,CAAC;YACD,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAhED,0CAgEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/message_exists.js":{"lineLengths":[13,62,63,64,62,36,61,34,37,41,58,52,70,19,28,38,5,1,46,25,19,44,5,19,16,34,42,95,44,10,5,17,25,5,21,25,5,21,54,23,48,45,59,57,13,9,20,5,14,26,55,52,50,42,30,17,64,55,13,9,22,5,36,32,26,55,66,25,13,87,29,64,28,39,17,13,9,22,5,28,43,36,58,75,71,107,9,25,5,23,26,82,55,111,47,90,99,82,49,104,103,137,29,37,25,66,49,132,133,37,25,74,68,73,54,111,137,29,25,21,17,13,9,22,5,26,80,24,54,9,22,30,59,112,33,25,13,37,67,28,17,22,26,17,13,9,21,5,1,46,42],"data":{"version":3,"file":"message_exists.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/message_exists.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/method_implemented_twice.js":{"lineLengths":[13,62,77,45,61,36,37,79,1,64,60,19,28,53,5,19,16,44,46,93,73,10,5,17,25,5,21,25,5,21,26,75,29,47,55,48,39,17,22,71,135,17,13,9,71,29,47,50,48,39,17,22,67,146,17,13,9,71,29,43,50,48,39,17,22,71,134,17,13,9,22,5,1,56,52],"data":{"version":3,"file":"method_implemented_twice.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/method_implemented_twice.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/method_length.js":{"lineLengths":[13,62,57,36,38,70,37,61,66,69,19,28,56,30,46,35,60,39,37,31,5,1,44,14,23,60,64,34,20,19,43,5,19,16,33,40,71,121,0,58,77,10,5,45,28,41,39,13,43,120,13,22,26,13,9,5,17,25,5,21,25,5,22,20,5,14,15,48,43,113,22,9,77,63,28,35,75,55,9,47,5,30,24,26,32,54,68,25,13,69,41,29,17,169,35,25,13,49,103,123,35,13,9,22,5,24,86,86,5,1,36,41],"data":{"version":3,"file":"method_length.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/method_length.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/utils/form_length_stats.js":{"lineLengths":[13,62,33,62,66,58,75,23,21,23,28,22,22,25,58,22,9,48,54,40,54,58,47,32,30,17,62,30,82,21,26,33,21,33,17,38,62,63,38,17,13,9,19,5,27,22,74,23,53,9,14,71,9,20,5,1,42,45],"data":{"version":3,"file":"form_length_stats.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/utils/form_length_stats.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,kEAA0D;AAG1D,0DAAmD;AACnD,2EAA0E;AAG1E,MAAa,eAAe;IACnB,MAAM,CAAC,GAAG,CAAC,GAAY;QAC5B,MAAM,GAAG,GAA0B,EAAE,CAAC;QACtC,IAAI,GAAG,GAAyB,SAAS,CAAC;QAC1C,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,GAAY,KAAK,CAAC;QAE1B,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,IAAI,IAAI,YAAY,UAAU,CAAC,IAAI,EAAE,CAAC;oBACpC,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACtC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,GAAG,IAAI,CAAC;oBACZ,KAAK,GAAG,CAAC,CAAC;gBACZ,CAAC;qBAAM,IAAI,IAAI,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC9C,IAAI,GAAG,EAAE,CAAC;wBACR,GAAG,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;oBAC1D,CAAC;yBAAM,CAAC;wBACN,SAAS;oBACX,CAAC;oBACD,IAAI,GAAG,KAAK,CAAC;gBACf,CAAC;qBAAM,IAAI,IAAI,KAAK,IAAI;uBACjB,CAAC,CAAC,IAAI,YAAY,oBAAO,CAAC;uBAC1B,CAAC,CAAC,IAAI,YAAY,kBAAK,CAAC,EAAE,CAAC;oBAChC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,IAAmB;QACzC,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,sBAAQ,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAhDD,0CAgDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/method_overwrites_builtin.js":{"lineLengths":[13,62,79,26,56,45,61,37,80,1,66,61,19,28,54,5,19,16,45,61,89,128,0,103,0,36,102,46,17,20,9,0,25,17,12,11,10,5,17,25,5,21,25,5,21,26,25,71,55,9,49,39,67,101,104,13,9,22,5,1,58,53],"data":{"version":3,"file":"method_overwrites_builtin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/method_overwrites_builtin.ts"],"names":[],"mappings":";;;AAAA,0BAAmC;AAEnC,wDAAkD;AAClD,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAEhD,MAAa,2BAA4B,SAAQ,oCAAe;CAC/D;AADD,kEACC;AAED,MAAa,uBAAwB,SAAQ,qBAAQ;IAArD;;QAEU,SAAI,GAAG,IAAI,2BAA2B,EAAE,CAAC;IAmDnD,CAAC;IAjDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,2BAA2B;YAChC,KAAK,EAAE,yCAAyC;YAChD,gBAAgB,EAAE,0DAA0D;YAC5E,mBAAmB,EAAE;;;;mCAIQ;YAC7B,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,EAAE,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9D,UAAU,EAAE;;;;;;;;UAQR;SACL,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAiC;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAI,OAAO,GAA2B,EAAE,CAAC;QAEzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC7D,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,kBAAO,EAAE,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,gBAAgB,MAAM,CAAC,IAAI,yCAAyC,CAAC;gBACrF,MAAM,CAAC,IAAI,CAAC,SAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AArDD,0DAqDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/method_parameter_names.js":{"lineLengths":[13,62,73,36,37,58,63,60,94,34,79,19,28,64,37,51,35,51,35,50,34,51,35,5,1,60,28,19,51,5,19,16,42,57,110,73,10,5,38,53,88,87,5,17,25,5,21,25,5,21,23,20,5,14,21,50,47,9,58,22,9,47,48,74,51,63,17,13,70,79,29,17,51,48,33,21,63,17,13,9,19,5,25,21,44,34,81,82,26,81,82,26,80,81,26,81,82,26,24,26,13,9,19,5,37,23,48,32,82,64,124,28,9,19,5,1,52,50],"data":{"version":3,"file":"method_parameter_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/method_parameter_names.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/mix_returning.js":{"lineLengths":[13,62,57,36,45,62,64,61,37,69,1,44,50,19,28,43,5,19,16,33,52,120,47,172,77,46,17,11,12,28,47,11,10,5,18,91,5,17,25,5,21,25,5,21,23,41,33,22,9,73,75,25,13,71,76,50,128,32,13,9,19,5,1,36,41],"data":{"version":3,"file":"mix_returning.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/mix_returning.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,8DAA8D;AAC9D,gEAAgE;AAChE,6DAAqD;AACrD,qCAAgD;AAGhD,MAAa,gBAAiB,SAAQ,oCAAe;CACpD;AADD,4CACC;AAED,MAAa,YAAa,SAAQ,qBAAQ;IAA1C;;QAEU,SAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAsDxC,CAAC;IApDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,gCAAgC;YACvC,gBAAgB,EAAE,yFAAyF;YAC3G,mCAAmC;YACnC,mBAAmB,EAAE,0IAA0I;YAC/J,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9C,UAAU,EAAE;;;;;;UAMR;SACL,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,2EAA2E,CAAC;IACrF,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAsB;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC7D,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,mBAAmB,CAAC,WAAW,CAAC,kBAAkB,CAAC;mBACpD,GAAG,CAAC,mBAAmB,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAxDD,oCAwDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/modify_only_own_db_tables.js":{"lineLengths":[13,62,75,62,64,36,61,37,58,52,78,19,28,34,51,33,5,1,62,29,19,52,5,19,16,45,47,58,78,46,10,5,17,25,5,21,25,5,21,23,20,5,14,15,58,22,9,34,26,48,46,38,26,13,71,51,34,58,61,61,64,91,54,33,21,142,70,153,25,33,21,78,56,128,54,96,25,79,90,121,37,153,25,117,37,153,25,21,17,13,9,22,5,1,54,53],"data":{"version":3,"file":"modify_only_own_db_tables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/modify_only_own_db_tables.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/msag_consistency.js":{"lineLengths":[13,62,63,36,61,40,42,72,19,28,42,38,5,1,50,23,19,46,5,19,16,36,44,83,130,10,5,28,50,5,17,25,5,21,25,5,22,20,5,14,26,55,22,9,34,50,84,55,116,63,134,35,13,46,82,63,134,35,13,44,35,63,63,134,35,13,18,33,13,62,71,43,94,67,138,39,17,61,48,79,109,71,142,43,30,21,17,13,9,22,5,1,42,44],"data":{"version":3,"file":"msag_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/msag_consistency.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AAErD,wCAAwC;AAGxC,0CAAqC;AAErC,MAAa,mBAAoB,SAAQ,oCAAe;IAAxD;;QACE,kCAAkC;QAC3B,sBAAiB,GAAG,IAAI,CAAC;IAClC,CAAC;CAAA;AAHD,kDAGC;AAED,MAAa,eAAe;IAA5B;QACU,SAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAsF3C,CAAC;IApFQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,wBAAwB;YAC/B,gBAAgB,EAAE,oDAAoD;YACtE,mBAAmB,EAAE,gGAAgG;SACtH,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAc;QACnC,OAAO,yBAAyB,GAAG,MAAM,CAAC;IAC5C,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAyB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,CAAC,CAAC,GAAG,YAAY,sBAAY,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9C,wEAAwE;YAClE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,2CAA2C,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACpG,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,8BAA8B,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAClE,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,2BAA2B,GAAG,GAAG,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBACvD,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,uCAAuC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAE;oBAC3E,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,MAAM,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC5B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;wBACzD,MAAM,IAAI,GAAG,wBAAwB,WAAW,eAAe,OAAO,CAAC,SAAS,EAAE,EAAE,CAAE;wBACtF,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC9G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvFD,0CAuFC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/names_no_dash.js":{"lineLengths":[13,62,55,62,64,45,61,36,51,66,37,68,1,42,104,49,19,28,42,5,19,16,33,54,98,73,47,47,10,5,18,56,5,17,25,5,21,25,5,26,26,42,34,26,9,67,74,78,55,92,136,43,30,21,17,13,79,76,55,92,136,43,30,21,17,13,82,76,55,92,136,43,30,21,17,13,9,82,45,37,143,35,13,9,22,5,1,34,41],"data":{"version":3,"file":"names_no_dash.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/names_no_dash.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/nesting.js":{"lineLengths":[13,62,47,36,62,45,61,37,64,19,28,44,23,5,1,34,45,19,28,38,5,19,16,27,41,85,129,44,77,10,5,25,52,5,17,25,5,21,25,5,21,26,22,55,41,45,50,51,50,56,48,52,34,13,53,53,54,53,55,51,55,34,13,42,65,159,35,51,13,9,22,5,1,26,35],"data":{"version":3,"file":"nesting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/nesting.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,8DAA8D;AAC9D,6CAAsC;AACtC,6DAAqD;AACrD,qCAAiC;AAGjC,MAAa,WAAY,SAAQ,oCAAe;IAAhD;;QACE,oCAAoC;QAC7B,UAAK,GAAW,CAAC,CAAC;IAC3B,CAAC;CAAA;AAHD,kCAGC;AAED,MAAa,OAAQ,SAAQ,qBAAQ;IAArC;;QAEU,SAAI,GAAG,IAAI,WAAW,EAAE,CAAC;IAmEnC,CAAC;IAjEQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,qBAAqB;YAC5B,gBAAgB,EAAE,sDAAsD;YACxE,mBAAmB,EAAE;2CACgB;YACrC,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,GAAW;QAChC,OAAO,8BAA8B,GAAG,GAAG,CAAC;IAC9C,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAiB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,KAAK,GAAW,CAAC,CAAC;QAEtB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;YAE7B,IAAI,IAAI,YAAY,UAAU,CAAC,EAAE;mBAC5B,IAAI,YAAY,UAAU,CAAC,IAAI;mBAC/B,IAAI,YAAY,UAAU,CAAC,KAAK;mBAChC,IAAI,YAAY,UAAU,CAAC,IAAI;mBAC/B,IAAI,YAAY,UAAU,CAAC,UAAU;mBACrC,IAAI,YAAY,UAAU,CAAC,EAAE;mBAC7B,IAAI,YAAY,UAAU,CAAC,GAAG,EAAE,CAAC;gBACpC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,YAAY,UAAU,CAAC,KAAK;mBACtC,IAAI,YAAY,UAAU,CAAC,OAAO;mBAClC,IAAI,YAAY,UAAU,CAAC,QAAQ;mBACnC,IAAI,YAAY,UAAU,CAAC,OAAO;mBAClC,IAAI,YAAY,UAAU,CAAC,SAAS;mBACpC,IAAI,YAAY,UAAU,CAAC,KAAK;mBAChC,IAAI,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YACpB,CAAC;YAED,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAC5B,IAAI,EACJ,GAAG,EACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAC/C,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,MAAM,CAAC,4BAA4B;YACrC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AArED,0BAqEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/newline_between_methods.js":{"lineLengths":[13,62,98,36,61,45,57,62,37,17,26,36,34,63,78,19,28,75,23,11,102,10,85,11,39,5,1,62,59,19,28,52,5,19,16,43,46,84,77,10,5,18,34,114,145,31,9,5,17,25,5,21,25,5,21,15,26,39,43,22,9,55,56,171,25,13,28,127,26,26,13,87,88,35,135,13,9,22,5,28,102,25,9,14,24,9,5,1,54,51],"data":{"version":3,"file":"newline_between_methods.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/newline_between_methods.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sequential_blank.js":{"lineLengths":[13,62,63,36,42,45,61,37,48,72,19,28,89,60,11,23,5,1,50,53,19,28,46,5,38,34,5,19,16,36,44,123,104,10,5,18,47,5,17,25,5,21,25,5,21,26,39,23,47,63,25,13,18,27,13,45,37,119,35,17,68,98,80,112,89,140,35,13,9,22,5,1,42,44],"data":{"version":3,"file":"sequential_blank.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/sequential_blank.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,0CAAqC;AACrC,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAChD,gDAA0C;AAG1C,MAAa,mBAAoB,SAAQ,oCAAe;IAAxD;;QACE;;WAEG;QACI,UAAK,GAAW,CAAC,CAAC;IAC3B,CAAC;CAAA;AALD,kDAKC;AAED,MAAa,eAAgB,SAAQ,qBAAQ;IAA7C;;QAKU,SAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAqD3C,CAAC;IAxDQ,MAAM,CAAC,mBAAmB,CAAC,IAAY;QAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAGM,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,wBAAwB;YAC/B,gBAAgB,EAAE,4FAA4F;YAC9G,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,EAAE,gBAAO,CAAC,UAAU,CAAC;SACjE,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,+BAA+B,CAAC;IACzC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAyB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC,CAAC;YACb,CAAC;YAED,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,OAAM,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAC,CAAC;oBACnG,EAAE,YAAY,CAAC;gBACjB,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,mBAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzC,kFAAkF;gBAClF,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,IAAI,mBAAQ,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrF,MAAM,GAAG,GAAG,wBAAU,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC3D,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACpH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA1DD,0CA0DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_aliases.js":{"lineLengths":[13,62,51,36,61,45,62,37,66,1,38,47,19,28,40,5,19,16,30,32,67,85,48,10,5,17,25,5,21,25,5,21,26,45,29,50,59,66,29,17,120,28,13,9,22,5,1,30,38],"data":{"version":3,"file":"no_aliases.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/no_aliases.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AACrD,6CAAsC;AACtC,8DAA8D;AAC9D,qCAAgD;AAIhD,MAAa,aAAc,SAAQ,oCAAe;CACjD;AADD,sCACC;AAED,MAAa,SAAU,SAAQ,qBAAQ;IAAvC;;QACU,SAAI,GAAG,IAAI,aAAa,EAAE,CAAC;IAsCrC,CAAC;IApCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,YAAY;YACnB,gBAAgB,EAAE,oCAAoC;YACtD,mBAAmB,EAAE,mDAAmD;YACxE,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAmB;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,OAAO,GAAG,oBAAoB,CAAC;QACrC,IAAI,IAAI,GAA8B,SAAS,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAChD,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChG,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAvCD,8BAuCC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_chained_assignment.js":{"lineLengths":[13,62,71,64,62,36,45,61,37,76,1,58,57,19,28,50,5,19,16,41,43,76,127,77,46,38,14,10,5,17,25,5,21,25,5,21,26,47,56,25,13,74,56,98,35,13,9,22,5,1,50,49],"data":{"version":3,"file":"no_chained_assignment.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/no_chained_assignment.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,8DAA8D;AAC9D,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAGhD,MAAa,uBAAwB,SAAQ,oCAAe;CAC3D;AADD,0DACC;AAED,MAAa,mBAAoB,SAAQ,qBAAQ;IAAjD;;QAEU,SAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAyC/C,CAAC;IAvCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,uBAAuB;YAC5B,KAAK,EAAE,uBAAuB;YAC9B,gBAAgB,EAAE,6CAA6C;YAC/D,mBAAmB,EAAE,6FAA6F;YAClH,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9C,UAAU,EAAE,qBAAqB;YACjC,WAAW,EAAE;aACN;SACR,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA6B;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,IAAI,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC5D,MAAM,OAAO,GAAG,uBAAuB,CAAC;gBACxC,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC1E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA3CD,kDA2CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_external_form_calls.js":{"lineLengths":[13,62,71,62,64,45,61,36,37,76,1,58,57,19,28,50,5,19,16,42,44,59,52,0,19,48,10,5,17,25,5,21,25,5,21,26,41,33,42,9,69,104,57,117,13,9,22,5,1,50,50],"data":{"version":3,"file":"no_external_form_calls.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/no_external_form_calls.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,gEAAgE;AAChE,6CAAsC;AACtC,6DAAqD;AACrD,oCAA+B;AAC/B,qCAAgD;AAGhD,MAAa,uBAAwB,SAAQ,oCAAe;CAC3D;AADD,0DACC;AAED,MAAa,mBAAoB,SAAQ,qBAAQ;IAAjD;;QAEU,SAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAwC/C,CAAC;IAtCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,wBAAwB;YAC7B,KAAK,EAAE,wBAAwB;YAC/B,gBAAgB,EAAE,4BAA4B;YAC9C,UAAU,EAAE;;kBAEA;YACZ,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA6B;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,CAAC,eAAe;QAChC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1F,MAAM,OAAO,GAAG,wBAAwB,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA1CD,kDA0CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_inline_in_optional_branches.js":{"lineLengths":[13,62,85,36,45,61,62,64,37,40,83,1,72,64,19,28,57,5,19,16,50,63,74,143,0,29,23,13,14,32,11,21,0,33,21,77,10,5,17,25,5,21,25,5,21,26,58,46,49,56,22,9,42,34,38,9,28,54,56,57,56,60,54,57,10,37,73,25,76,142,35,13,9,22,5,1,64,58],"data":{"version":3,"file":"no_inline_in_optional_branches.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/no_inline_in_optional_branches.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,8DAA8D;AAC9D,gEAAgE;AAChE,qCAAgD;AAEhD,wCAAmC;AAEnC,MAAa,8BAA+B,SAAQ,oCAAe;CAClE;AADD,wEACC;AAED,MAAa,0BAA2B,SAAQ,qBAAQ;IAAxD;;QACU,SAAI,GAAG,IAAI,8BAA8B,EAAE,CAAC;IAmEtD,CAAC;IAjEQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,gCAAgC;YACrC,KAAK,EAAE,2CAA2C;YAClD,gBAAgB,EAAE,2CAA2C;YAC7D,mBAAmB,EAAE;;;;;;;;;;;oBAWP;YACd,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAoC;QACnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,OAAO,KAAK,iBAAO,CAAC,IAAI;eACrB,OAAO,KAAK,iBAAO,CAAC,IAAI;eACxB,OAAO,KAAK,iBAAO,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC,CAAC,eAAe;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG;YACjB,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3C,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC;YAC5C,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3C,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC/C,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC;SAAC,CAAC;QAEjD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,2CAA2C,CAAC;gBAC5D,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACtH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AApED,gEAoEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_prefixes.js":{"lineLengths":[13,62,53,36,61,45,64,62,37,67,19,28,108,32,64,31,79,41,68,39,56,28,94,45,41,48,52,62,48,51,52,5,1,40,43,48,19,28,41,5,19,16,31,33,60,34,97,91,0,120,0,88,77,46,44,10,5,17,25,5,21,25,5,21,23,40,46,38,33,22,9,62,87,9,68,93,9,78,103,9,72,97,9,64,89,9,86,111,9,19,5,37,23,245,87,77,127,69,143,32,13,9,80,85,127,69,143,32,13,9,19,5,40,23,132,88,127,69,143,32,13,9,19,5,45,23,79,85,127,69,143,32,13,9,78,85,127,69,143,32,13,9,19,5,42,23,136,88,127,69,143,32,13,9,19,5,38,23,358,93,127,69,143,32,13,9,19,5,49,19,23,79,124,135,247,150,29,17,108,76,142,36,17,13,9,19,5,1,32,39],"data":{"version":3,"file":"no_prefixes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/no_prefixes.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_public_attributes.js":{"lineLengths":[13,62,69,36,61,45,70,94,34,37,75,19,28,75,35,60,39,5,1,56,56,19,28,49,5,19,16,40,42,102,41,156,77,10,5,26,79,5,17,25,5,21,25,5,26,25,60,46,5,33,28,78,79,26,5,38,28,47,76,50,25,13,125,9,26,5,39,28,84,129,9,26,5,31,26,40,68,25,13,87,25,13,59,71,25,13,146,31,9,22,5,1,48,48],"data":{"version":3,"file":"no_public_attributes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/no_public_attributes.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/no_yoda_conditions.js":{"lineLengths":[13,62,65,64,36,45,61,37,73,19,28,67,35,5,1,52,54,19,28,47,5,19,16,38,40,73,79,0,70,48,42,8,43,8,10,5,17,25,5,21,25,5,21,19,26,141,157,38,36,36,36,36,36,36,36,39,25,13,72,39,25,13,51,100,72,67,140,39,17,25,13,25,39,61,63,190,68,63,136,35,13,9,22,5,22,15,44,25,9,123,5,24,15,44,25,9,125,5,25,74,5,1,44,46],"data":{"version":3,"file":"no_yoda_conditions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/no_yoda_conditions.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAIhD,MAAa,oBAAqB,SAAQ,oCAAe;IAAzD;;QACE,2DAA2D;QACpD,kBAAa,GAAY,KAAK,CAAC;IACxC,CAAC;CAAA;AAHD,oDAGC;AAED,MAAa,gBAAiB,SAAQ,qBAAQ;IAA9C;;QAEU,SAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IA+F5C,CAAC;IA7FQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,oBAAoB;YAC3B,gBAAgB,EAAE,0CAA0C;YAC5D,mBAAmB,EAAE;;qEAE0C;YAC/D,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE;OACX;YACD,WAAW,EAAE;OACZ;SACF,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA0B;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,KAAI,EAAE,EAAE,CAAC;YACnF,MAAM,QAAQ,GAAG,MAAA,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,eAAe,CAAC,0CAAE,YAAY,GAAG,WAAW,EAAE,CAAC;YACnG,IAAI,QAAQ,KAAK,SAAS;mBACnB,QAAQ,KAAK,IAAI;mBACjB,QAAQ,KAAK,IAAI;mBACjB,QAAQ,KAAK,IAAI;mBACjB,QAAQ,KAAK,IAAI;mBACjB,QAAQ,KAAK,IAAI;mBACjB,QAAQ,KAAK,IAAI;mBACjB,QAAQ,KAAK,IAAI;mBACjB,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;oBAClF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACpD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAChH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBACD,SAAS;YACX,CAAC;YAEL,aAAa;YACb,2BAA2B;YAC3B,iDAAiD;YACjD,mDAAmD;YAE/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAC3F,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;gBACpF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACpD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,IAAoB;;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAA,MAAA,IAAI,CAAC,aAAa,EAAE,0CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,QAAQ,CAAC;IACrE,CAAC;IAEO,YAAY,CAAC,IAAoB;;QACvC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAA,MAAA,IAAI,CAAC,aAAa,EAAE,0CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,UAAU,CAAC;IACvE,CAAC;IAEO,aAAa,CAAC,IAAoB;QACxC,OAAO,IAAI,CAAC,qCAAqC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC;CAEF;AAjGD,4CAiGC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/nrob_consistency.js":{"lineLengths":[13,62,63,37,36,38,61,72,1,50,23,19,46,5,19,16,36,46,69,82,0,91,48,10,5,17,25,5,21,25,5,21,23,20,5,14,52,22,9,26,39,31,22,9,44,54,116,9,39,18,63,60,62,116,9,18,5,1,42,44],"data":{"version":3,"file":"nrob_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/nrob_consistency.ts"],"names":[],"mappings":";;;AAAA,qCAAuD;AACvD,oCAA+B;AAC/B,sCAAsC;AAGtC,6DAAqD;AAErD,MAAa,mBAAoB,SAAQ,oCAAe;CACvD;AADD,kDACC;AAED,MAAa,eAAe;IAA5B;QAEU,SAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAqD3C,CAAC;IAnDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,0BAA0B;YACjC,gBAAgB,EAAE,sCAAsC;YACxD,mBAAmB,EAAE;;0FAE+D;YACpF,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAyB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAC/B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,yBAAyB,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,MAAM;eACH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,SAAS;eAChD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CAEF;AAvDD,0CAuDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/object_naming.js":{"lineLengths":[13,62,57,36,63,37,60,71,19,28,55,31,59,27,59,25,57,25,53,25,58,25,55,25,49,25,56,25,54,25,54,26,63,25,60,25,47,25,57,25,52,25,53,25,49,25,56,25,53,25,63,25,66,25,51,25,58,25,63,25,54,25,64,25,59,25,57,25,56,25,59,25,57,25,5,1,44,20,19,43,5,19,16,33,47,100,44,10,5,38,53,78,77,5,17,67,42,9,25,5,21,25,5,22,20,5,14,32,50,47,9,53,40,21,41,36,22,9,47,91,66,9,22,116,9,18,5,1,36,41],"data":{"version":3,"file":"object_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/object_naming.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,+DAAuD;AAGvD,qCAAuD;AACvD,4DAAsD;AAEtD,MAAa,gBAAiB,SAAQ,sCAAgB;IAAtD;;QACE,+CAA+C;QACxC,SAAI,GAAY,UAAU,CAAC;QAClC,mDAAmD;QAC5C,SAAI,GAAY,MAAM,CAAC;QAC9B,mDAAmD;QAC5C,SAAI,GAAY,IAAI,CAAC;QAC5B,iDAAiD;QAC1C,SAAI,GAAY,IAAI,CAAC;QAC5B,6CAA6C;QACtC,SAAI,GAAY,IAAI,CAAC;QAC5B,kDAAkD;QAC3C,SAAI,GAAY,IAAI,CAAC;QAC5B,+CAA+C;QACxC,SAAI,GAAY,IAAI,CAAC;QAC5B,yCAAyC;QAClC,SAAI,GAAY,IAAI,CAAC;QAC5B,gDAAgD;QACzC,SAAI,GAAY,IAAI,CAAC;QAC5B,8CAA8C;QACvC,SAAI,GAAY,IAAI,CAAC;QAC5B,8CAA8C;QACvC,SAAI,GAAY,KAAK,CAAC;QAC7B,uDAAuD;QAChD,SAAI,GAAY,IAAI,CAAC;QAC5B,oDAAoD;QAC7C,SAAI,GAAY,IAAI,CAAC;QAC5B,uCAAuC;QAChC,SAAI,GAAY,IAAI,CAAC;QAC5B,iDAAiD;QAC1C,SAAI,GAAY,IAAI,CAAC;QAC5B,4CAA4C;QACrC,SAAI,GAAY,IAAI,CAAC;QAC5B,6CAA6C;QACtC,SAAI,GAAY,IAAI,CAAC;QAC5B,yCAAyC;QAClC,SAAI,GAAY,IAAI,CAAC;QAC5B,gDAAgD;QACzC,SAAI,GAAY,IAAI,CAAC;QAC5B,6CAA6C;QACtC,SAAI,GAAY,IAAI,CAAC;QAC5B,uDAAuD;QAChD,SAAI,GAAY,IAAI,CAAC;QAC5B,0DAA0D;QACnD,SAAI,GAAY,IAAI,CAAC;QAC5B,2CAA2C;QACpC,SAAI,GAAY,IAAI,CAAC;QAC5B,kDAAkD;QAC3C,SAAI,GAAY,IAAI,CAAC;QAC5B,uDAAuD;QAChD,SAAI,GAAY,IAAI,CAAC;QAC5B,8CAA8C;QACvC,SAAI,GAAY,IAAI,CAAC;QAC5B,wDAAwD;QACjD,SAAI,GAAY,IAAI,CAAC;QAC5B,mDAAmD;QAC5C,SAAI,GAAY,IAAI,CAAC;QAC5B,iDAAiD;QAC1C,SAAI,GAAY,IAAI,CAAC;QAC5B,gDAAgD;QACzC,SAAI,GAAY,IAAI,CAAC;QAC5B,mDAAmD;QAC5C,SAAI,GAAY,IAAI,CAAC;QAC5B,iDAAiD;QAC1C,SAAI,GAAY,IAAI,CAAC;IAC9B,CAAC;CAAA;AAjED,4CAiEC;AAED,MAAa,YAAY;IAAzB;QACU,SAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;IA8DxC,CAAC;IA5DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,2BAA2B;YAClC,gBAAgB,EAAE,qEAAqE;YACvF,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,CAAC;SACvB,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,QAAgB,EAAE,MAAc;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;YAC3C,qCAAqC,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;YAClE,qCAAqC,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;IACrE,CAAC;IAEM,SAAS;QACd,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAsB;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,OAAO,GAAuB,SAAS,CAAC;QAE5C,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,aAAa;QACb,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEvC,IAAI,8BAAa,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,aAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA/DD,oCA+DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/obsolete_statement.js":{"lineLengths":[13,62,67,62,64,36,45,61,42,37,40,48,41,66,74,19,28,42,28,42,28,38,24,43,29,43,29,41,27,39,25,48,30,42,27,44,32,42,35,53,41,36,30,39,25,35,30,32,27,39,34,30,25,45,38,38,31,39,32,43,29,53,39,42,26,56,31,41,36,40,35,44,39,5,1,54,55,19,28,48,5,19,16,38,41,81,104,34,120,0,101,0,105,0,97,0,101,0,121,0,109,0,112,0,94,0,86,0,87,0,81,0,77,0,81,0,103,34,0,100,0,97,0,123,0,81,0,47,0,139,38,0,20,0,21,0,20,0,19,8,10,5,17,25,5,21,25,5,21,23,26,48,29,64,43,38,72,75,67,77,127,121,77,73,68,79,62,84,139,105,64,133,39,17,42,13,86,149,35,13,85,144,35,13,67,135,35,13,77,54,67,97,163,39,17,13,71,55,36,44,72,70,111,121,17,159,35,13,43,93,90,85,89,161,71,142,39,17,13,70,88,77,32,99,150,43,21,17,13,35,56,57,60,63,74,32,139,43,21,17,95,165,32,139,43,21,17,13,86,88,101,32,149,43,21,17,13,90,73,28,156,39,17,13,120,84,160,35,13,79,68,48,171,39,17,13,74,68,50,162,39,17,13,71,71,124,166,39,17,13,95,76,30,156,39,17,13,76,68,54,142,39,17,13,87,134,35,13,81,70,142,39,17,13,84,52,59,63,63,63,67,68,59,139,39,17,13,77,90,156,151,43,21,17,22,98,100,96,80,82,60,64,173,51,29,25,67,63,175,51,29,25,21,17,13,9,22,5,44,54,59,33,13,103,9,59,57,40,71,60,102,108,13,18,64,64,89,130,13,9,55,55,57,60,60,33,54,95,13,64,95,13,126,9,60,53,57,60,60,33,59,95,13,62,95,13,126,9,56,57,33,13,57,60,60,68,36,33,13,18,34,13,77,126,9,71,60,34,70,71,13,18,71,13,49,104,93,9,25,5,1,46,46],"data":{"version":3,"file":"obsolete_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/obsolete_statement.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/omit_parameter_name.js":{"lineLengths":[13,62,67,36,61,37,64,58,52,60,71,48,56,74,1,54,25,19,48,5,19,16,39,41,82,34,118,0,103,75,47,40,10,5,21,23,20,5,17,25,5,21,25,5,14,19,26,86,22,9,82,48,45,37,25,13,78,74,29,17,64,80,71,29,17,76,41,29,17,82,42,29,17,106,40,29,17,52,38,29,17,151,107,80,161,30,98,149,21,26,147,21,17,13,9,22,5,23,53,75,34,29,9,53,78,91,25,13,70,69,38,17,86,54,17,13,9,25,5,1,46,47],"data":{"version":3,"file":"omit_parameter_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/omit_parameter_name.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/omit_preceding_zeros.js":{"lineLengths":[13,62,69,45,61,36,64,37,64,48,75,1,56,56,19,28,49,5,19,16,40,42,76,75,38,37,10,5,17,25,5,21,25,5,21,15,26,47,47,72,47,43,60,114,33,21,59,119,134,39,17,13,83,140,89,76,59,119,134,39,17,13,9,22,5,1,48,48],"data":{"version":3,"file":"omit_preceding_zeros.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/omit_preceding_zeros.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/omit_receiving.js":{"lineLengths":[13,62,59,36,61,37,64,45,70,1,46,51,19,28,44,5,19,16,34,36,47,119,77,25,18,17,37,34,43,37,17,43,26,31,35,32,41,40,10,5,17,25,5,21,25,5,21,15,26,149,75,34,25,13,59,34,25,13,61,35,25,13,125,9,22,5,1,38,42],"data":{"version":3,"file":"omit_receiving.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/omit_receiving.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AACrD,qCAAgD;AAChD,gEAAgE;AAChE,6CAAsC;AAGtC,MAAa,iBAAkB,SAAQ,oCAAe;CACrD;AADD,8CACC;AAED,MAAa,aAAc,SAAQ,qBAAQ;IAA3C;;QACU,SAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;IA2DzC,CAAC;IAzDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,gBAAgB;YACvB,gBAAgB,EAAE,gBAAgB;YAClC,mBAAmB,EAAE,qFAAqF;YAC1G,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9C,UAAU,EAAE;;;;;;;;0CAQwB;YACpC,WAAW,EAAE;;;;;uCAKoB;SAClC,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAuB;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC,KAAI,EAAE,EAAE,CAAC;YAC3F,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA5DD,sCA4DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/parser_702_chaining.js":{"lineLengths":[13,62,67,64,36,45,61,37,40,74,1,54,55,19,28,48,5,19,16,39,56,121,41,46,73,10,5,17,25,5,21,25,5,21,26,72,78,22,9,41,33,22,9,83,78,35,25,13,39,89,46,29,17,91,42,29,17,60,62,67,87,152,39,17,13,9,22,5,1,46,47],"data":{"version":3,"file":"parser_702_chaining.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/parser_702_chaining.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAEhD,wCAAmC;AAEnC,MAAa,qBAAsB,SAAQ,oCAAe;CACzD;AADD,sDACC;AAED,MAAa,iBAAkB,SAAQ,qBAAQ;IAA/C;;QACU,SAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;IA8D7C,CAAC;IA5DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,qBAAqB;YAC1B,KAAK,EAAE,oCAAoC;YAC3C,gBAAgB,EACtB;;6CAE6C;YACvC,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,EAAE,gBAAO,CAAC,UAAU,CAAC;SAC3C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA2B;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,IAAI;eAC/C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;YACzE,MAAM,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBACzE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC3E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC;uBACrC,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC;uBACvC,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjD,MAAM,OAAO,GAAG,kDAAkD,CAAC;oBACnE,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5H,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA/DD,8CA+DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/parser_error.js":{"lineLengths":[13,62,55,36,75,61,76,37,40,58,68,1,42,19,19,42,5,19,16,32,34,76,0,54,73,10,5,21,23,20,5,17,25,5,21,25,5,14,26,47,55,52,63,77,33,21,97,81,145,43,21,26,62,161,134,43,21,17,83,67,64,74,138,47,25,21,17,13,9,22,5,1,34,40],"data":{"version":3,"file":"parser_error.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/parser_error.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/parser_missing_space.js":{"lineLengths":[13,62,69,64,36,42,45,41,61,37,36,75,1,56,56,19,28,49,5,19,16,40,49,127,80,102,45,47,10,5,17,25,5,21,25,5,21,26,50,55,57,26,100,32,121,35,13,9,22,5,29,57,80,79,31,69,17,28,32,33,51,40,13,58,42,13,59,43,13,65,49,13,68,52,13,59,43,13,65,49,13,61,45,13,67,51,13,22,27,13,9,25,5,24,44,51,67,44,60,61,41,73,91,62,17,41,72,84,59,17,13,9,25,5,26,44,9,71,73,50,76,41,13,9,25,5,24,44,51,64,44,60,61,41,73,91,62,17,41,72,84,59,17,13,9,25,5,33,44,51,73,44,60,61,41,73,91,62,17,41,72,84,59,17,13,9,25,5,30,45,55,40,41,45,53,65,40,13,9,25,5,28,19,42,51,40,55,107,108,60,27,72,84,62,17,60,27,73,96,59,17,13,9,25,5,21,45,55,40,41,45,53,65,40,13,9,25,5,23,45,34,29,9,55,51,45,50,73,33,9,25,5,32,44,9,54,55,50,71,41,13,9,9,71,73,50,76,41,13,9,25,5,1,48,48],"data":{"version":3,"file":"parser_missing_space.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/parser_missing_space.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/pragma_style.js":{"lineLengths":[13,62,55,36,45,61,37,49,68,19,28,59,5,1,42,49,19,28,42,5,19,16,32,34,65,48,109,55,56,10,5,17,25,5,21,25,44,68,9,5,21,26,47,46,25,13,45,49,44,57,17,100,71,118,39,62,17,123,57,118,39,17,128,57,118,39,17,13,9,22,5,1,34,40],"data":{"version":3,"file":"pragma_style.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/pragma_style.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_corresponding.js":{"lineLengths":[13,62,71,36,61,45,62,37,40,76,1,58,57,19,28,50,5,19,16,40,67,100,156,102,57,57,10,5,17,25,5,21,25,5,21,26,77,26,9,86,50,66,53,120,13,9,22,5,1,50,48],"data":{"version":3,"file":"prefer_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/prefer_corresponding.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AACrD,6CAAsC;AACtC,8DAA8D;AAC9D,qCAAgD;AAEhD,wCAAmC;AAEnC,MAAa,uBAAwB,SAAQ,oCAAe;CAC3D;AADD,0DACC;AAED,MAAa,mBAAoB,SAAQ,qBAAQ;IAAjD;;QACU,SAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAyC/C,CAAC;IAvCQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,+CAA+C;YACtD,gBAAgB,EAAE,qEAAqE;YACvF,mBAAmB,EACjB,0HAA0H;YAC5H,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,MAAM,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9D,UAAU,EAAE,gCAAgC;YAC5C,WAAW,EAAE,+BAA+B;SAC7C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA6B;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,GAAG,iBAAO,CAAC,QAAQ,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,6DAA6D,CAAC;QAC9E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,iBAAiB;mBAC/C,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA1CD,kDA0CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_inline.js":{"lineLengths":[13,62,57,62,61,36,37,40,58,52,62,60,48,69,1,44,20,19,43,5,19,16,33,48,72,46,0,51,0,40,0,53,0,46,0,31,0,109,131,41,8,32,63,40,84,10,5,17,25,5,21,23,20,5,21,25,5,14,39,22,9,142,22,9,63,22,9,66,36,22,9,72,23,33,51,9,19,5,31,29,19,23,41,34,42,66,96,104,25,13,65,25,13,68,25,13,65,38,25,13,77,56,37,25,13,167,25,13,73,86,119,46,25,13,80,58,60,64,60,176,180,25,13,98,120,94,25,13,32,36,87,50,107,134,65,13,67,119,9,19,5,28,29,71,33,29,9,43,62,25,13,9,25,5,39,86,23,52,76,131,33,13,9,34,52,80,132,25,13,29,75,22,13,9,35,52,81,132,25,13,29,76,22,13,9,38,30,9,44,29,9,102,75,131,29,9,90,30,9,25,5,41,51,90,24,9,14,25,9,5,31,71,79,26,9,21,45,58,9,19,5,1,36,41],"data":{"version":3,"file":"prefer_inline.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/prefer_inline.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_is_not.js":{"lineLengths":[13,62,55,36,45,64,61,48,37,42,68,1,42,49,19,28,42,5,19,16,33,45,56,34,92,0,44,104,53,23,18,25,52,27,21,29,10,5,17,25,5,21,25,5,21,26,47,72,82,29,17,123,29,17,58,49,134,13,9,22,5,21,22,81,89,134,87,9,161,89,134,87,9,71,109,9,72,108,9,71,108,9,71,108,9,72,109,9,72,109,9,14,19,9,80,114,129,78,24,5,1,34,41],"data":{"version":3,"file":"prefer_is_not.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/prefer_is_not.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_pragmas.js":{"lineLengths":[13,62,59,36,45,61,37,75,70,19,28,22,13,39,35,14,13,37,33,14,13,37,34,14,13,41,37,14,10,5,1,46,51,19,28,44,5,19,16,34,58,69,138,77,56,54,10,5,17,25,5,21,25,5,21,26,40,55,69,25,13,66,51,25,13,47,66,68,136,17,13,9,22,5,1,38,42],"data":{"version":3,"file":"prefer_pragmas.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/prefer_pragmas.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAEhD,2EAAmE;AAEnE,MAAa,iBAAkB,SAAQ,oCAAe;IAAtD;;QACS,UAAK,GAAuC;YACjD;gBACE,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,UAAU;aACnB;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ;aACjB;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,SAAS;aAClB;YACD;gBACE,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,YAAY;aACrB;SACF,CAAC;IACJ,CAAC;CAAA;AAnBD,8CAmBC;AAED,MAAa,aAAc,SAAQ,qBAAQ;IAA3C;;QACU,SAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAgDzC,CAAC;IA9CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,sCAAsC;YAC7C,gBAAgB,EAAE,sCAAsC;YACxD,mBAAmB,EAAE,wGAAwG;YAC7H,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9C,UAAU,EAAE,+BAA+B;YAC3C,WAAW,EAAE,4BAA4B;SAC1C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAuB;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,CAAC,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAChD,MAAM,OAAO,GAAG,iBAAiB,KAAK,CAAC,MAAM,EAAE,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9G,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAjDD,sCAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_raise_exception_new.js":{"lineLengths":[13,62,79,36,45,61,48,37,26,80,1,66,61,19,28,54,5,19,16,46,72,83,34,119,0,17,129,92,65,11,27,10,5,17,25,5,21,25,5,21,67,22,9,26,55,66,70,50,29,17,65,89,107,134,17,13,9,22,5,44,49,35,28,70,135,9,14,134,9,108,71,5,1,58,54],"data":{"version":3,"file":"prefer_raise_exception_new.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/prefer_raise_exception_new.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_returning_to_exporting.js":{"lineLengths":[13,62,85,36,45,62,64,61,37,83,1,72,64,19,28,57,5,19,16,49,51,98,132,44,77,46,17,41,11,10,5,17,25,5,21,25,5,21,23,41,33,22,9,73,73,25,13,86,42,25,13,86,42,25,13,84,38,25,13,66,43,52,44,48,52,47,51,55,54,44,50,49,44,49,55,57,48,44,55,25,13,52,138,28,9,19,5,1,64,57],"data":{"version":3,"file":"prefer_returning_to_exporting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/prefer_returning_to_exporting.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefer_xsdbool.js":{"lineLengths":[13,62,59,36,45,64,61,37,40,48,70,1,46,51,19,28,44,5,19,16,34,47,58,85,0,107,129,54,57,10,5,17,25,5,21,25,5,21,15,26,142,22,9,140,81,25,13,44,56,86,118,9,22,5,1,38,42],"data":{"version":3,"file":"prefer_xsdbool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/prefer_xsdbool.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,gEAAgE;AAChE,6DAAqD;AACrD,qCAAgD;AAChD,wCAAmC;AACnC,gDAA0C;AAG1C,MAAa,iBAAkB,SAAQ,oCAAe;CACrD;AADD,8CACC;AAED,MAAa,aAAc,SAAQ,qBAAQ;IAA3C;;QAEU,SAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;IA6CzC,CAAC;IA3CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,2BAA2B;YAClC,gBAAgB,EAAE,2BAA2B;YAC7C,mBAAmB,EAAE;;0GAE+E;YACpG,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,MAAM,EAAE,gBAAO,CAAC,QAAQ,EAAE,gBAAO,CAAC,UAAU,CAAC;YAChF,UAAU,EAAE,6BAA6B;YACzC,WAAW,EAAE,+BAA+B;SAC7C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAuB;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,GAAG,iBAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,KAAK,EAAE,CAAC;YAChH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAI,EAAE,EAAE,CAAC;YAClF,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;gBACnE,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;YAEhC,MAAM,OAAO,GAAG,2BAA2B,CAAC;YAC5C,MAAM,GAAG,GAAG,wBAAU,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACpG,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA/CD,sCA+CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/preferred_compare_operator.js":{"lineLengths":[13,62,81,64,36,45,61,48,37,81,19,28,46,71,5,1,68,62,19,28,55,41,5,19,16,46,48,70,75,39,8,39,8,10,5,30,69,5,17,25,5,21,25,5,21,28,26,42,34,22,9,119,37,44,71,84,59,13,9,22,5,20,46,48,49,49,49,48,48,49,48,49,49,48,48,49,9,5,30,15,60,121,104,31,120,119,25,9,14,114,25,9,5,1,60,54],"data":{"version":3,"file":"preferred_compare_operator.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/preferred_compare_operator.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,gDAA0C;AAE1C,qCAAgD;AAGhD,MAAa,4BAA6B,SAAQ,oCAAe;IAAjE;;QACE,sCAAsC;QAC/B,iBAAY,GAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;CAAA;AAHD,oEAGC;AAED,MAAa,wBAAyB,SAAQ,qBAAQ;IAAtD;;QAEU,SAAI,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAEjC,oBAAe,GAAwB,IAAI,GAAG,EAAkB,CAAC;IAkFpF,CAAC;IAhFQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,4BAA4B;YACjC,KAAK,EAAE,4BAA4B;YACnC,gBAAgB,EAAE,uCAAuC;YACzD,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,CAAC;YAC5C,UAAU,EAAE;OACX;YACD,WAAW,EAAE;OACZ;SACF,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,QAAgB;QACrC,OAAO,qBAAqB,GAAG,QAAQ,GAAG,kBAAkB,CAAC;IAC/D,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAkC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC/G,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;YAChC,2DAA2D;YAC3D,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAErC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAoB,EAAE,IAAc;;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,eAAe,0CAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,gGAAgG;QAChG,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,wBAAU,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC9F,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACnG,OAAO,KAAK,CAAC;QACf,CAAC;aACI,CAAC;YACJ,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9F,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CAEF;AAtFD,4DAsFC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/prefix_is_current_class.js":{"lineLengths":[13,62,73,36,45,62,61,66,42,48,37,77,19,28,11,83,11,40,5,1,60,58,19,28,51,5,19,16,43,45,122,47,176,104,10,5,17,25,5,21,25,5,21,74,5,27,15,42,34,22,9,26,75,162,37,25,13,45,75,62,54,63,45,33,21,102,90,87,178,17,13,9,22,5,24,42,34,22,9,26,91,88,32,42,116,50,56,87,52,82,35,121,94,200,21,17,63,48,73,77,35,102,94,162,21,17,13,9,22,5,1,52,51],"data":{"version":3,"file":"prefix_is_current_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/prefix_is_current_class.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/reduce_procedural_code.js":{"lineLengths":[13,62,73,61,45,37,62,36,75,77,19,28,32,5,1,60,58,19,28,51,5,19,16,42,44,84,108,0,120,0,41,77,34,21,17,16,24,8,21,17,16,24,8,10,35,40,10,10,5,17,25,5,21,25,5,21,26,48,55,26,9,32,22,55,117,36,26,13,122,80,109,128,39,17,36,13,71,25,13,45,34,13,9,22,5,1,52,50],"data":{"version":3,"file":"reduce_procedural_code.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/reduce_procedural_code.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AACrD,6CAAsC;AACtC,qCAAgD;AAChD,8DAA8D;AAE9D,oCAA+B;AAE/B,2EAAmE;AAEnE,MAAa,wBAAyB,SAAQ,oCAAe;IAA7D;;QACS,kBAAa,GAAW,EAAE,CAAC;IACpC,CAAC;CAAA;AAFD,4DAEC;AACD,MAAa,oBAAqB,SAAQ,qBAAQ;IAAlD;;QAEU,SAAI,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAsEhD,CAAC;IApEQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,wBAAwB;YAC7B,KAAK,EAAE,wBAAwB;YAC/B,gBAAgB,EAAE,qDAAqD;YACvE,mBAAmB,EAAE;;;;wCAIa;YAClC,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9C,UAAU,EAAE;;;;;;;;;;;SAWT;YACH,WAAW,EAAE;;SAEV;SACJ,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA8B;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,SAAS,EAAE,CAAC;YACtC,2CAA2C;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,GAA8B,SAAS,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,cAAc,EAAE,CAAC;gBACvG,OAAO,GAAG,SAAS,CAAC;gBACpB,KAAK,GAAG,CAAC,CAAC;YACZ,CAAC;iBAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC9G,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC9D,MAAM,OAAO,GAAG,8BAA8B,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;oBACzF,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACpG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;iBAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;iBAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAxED,oDAwEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/reduce_string_templates.js":{"lineLengths":[13,62,75,64,36,45,61,37,78,1,62,59,19,28,52,5,19,16,43,45,60,48,65,40,10,5,17,25,5,21,25,5,27,26,46,38,22,9,90,93,84,100,168,21,88,33,21,96,114,189,25,21,17,13,9,80,50,40,25,13,82,25,13,69,25,13,74,25,13,50,35,25,13,65,55,50,65,139,13,9,22,5,1,54,51],"data":{"version":3,"file":"reduce_string_templates.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/reduce_string_templates.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AAErD,qCAAgD;AAGhD,MAAa,yBAA0B,SAAQ,oCAAe;CAC7D;AADD,8DACC;AAED,MAAa,qBAAsB,SAAQ,qBAAQ;IAAnD;;QAEU,SAAI,GAAG,IAAI,yBAAyB,EAAE,CAAC;IA6EjD,CAAC;IA3EQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,yBAAyB;YAC9B,KAAK,EAAE,yBAAyB;YAChC,gBAAgB,EAAE,6BAA6B;YAC/C,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE,wCAAwC;YACpD,WAAW,EAAE,cAAc;SAC5B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA+B;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,IAAa;QAC5C,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;YAChF,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC/E,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC9E,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,iCAAiC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC1I,CAAC;oBAED,IAAI,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,CAAC;wBAClE,SAAS;oBACX,CAAC;oBAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1E,KAAK,MAAM,cAAc,IAAI,QAAQ,CAAC,qBAAqB,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;4BACxF,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAE,EAAE,0CAA0C,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC3J,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;gBACtE,SAAS;YACX,CAAC;iBAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9D,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,gCAAgC,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA/ED,sDA+EC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/release_idoc.js":{"lineLengths":[13,62,55,36,61,38,42,68,1,42,19,19,42,5,19,16,32,34,90,10,5,18,67,5,17,25,5,21,25,5,22,20,5,14,38,33,22,9,43,74,26,13,9,50,22,9,69,59,143,27,9,14,22,9,5,1,34,40],"data":{"version":3,"file":"release_idoc.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/release_idoc.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AAGrD,sCAAsC;AACtC,0CAAqC;AAGrC,MAAa,eAAgB,SAAQ,oCAAe;CACnD;AADD,0CACC;AAED,MAAa,WAAW;IAAxB;QACU,SAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IAiDvC,CAAC;IA/CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,2DAA2D;SAC9E,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,mDAAmD,CAAC;IAC7D,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAqB;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QAErB,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,GAAG,YAAY,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC5D,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3H,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAlDD,kCAkDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/remove_descriptions.js":{"lineLengths":[13,62,69,36,53,38,61,42,34,44,75,19,28,46,38,45,35,5,1,56,26,19,49,5,19,16,39,41,104,0,60,0,44,21,10,5,17,25,5,21,25,5,21,23,20,5,14,101,47,43,20,17,47,13,24,26,13,36,26,13,80,26,13,125,26,13,40,9,52,44,9,18,5,18,25,33,32,22,9,38,33,22,9,40,5,21,33,32,22,9,38,33,22,9,40,5,25,135,93,22,9,75,33,22,9,68,23,71,66,52,25,13,59,120,28,39,9,19,5,1,48,47],"data":{"version":3,"file":"remove_descriptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/remove_descriptions.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/rfc_error_handling.js":{"lineLengths":[13,62,65,36,45,61,62,64,37,73,1,52,54,19,28,47,5,19,16,38,40,48,125,116,45,23,46,20,12,41,41,29,32,10,5,18,131,5,17,25,5,21,25,5,21,26,50,47,67,25,13,69,25,13,87,37,128,35,25,13,82,29,43,71,13,51,61,59,128,35,25,13,9,22,5,1,44,46],"data":{"version":3,"file":"rfc_error_handling.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/rfc_error_handling.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,8DAA8D;AAC9D,gEAAgE;AAChE,qCAAgD;AAGhD,MAAa,oBAAqB,SAAQ,oCAAe;CACxD;AADD,oDACC;AAED,MAAa,gBAAiB,SAAQ,qBAAQ;IAA9C;;QACU,SAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAwE5C,CAAC;IAtEQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,gBAAgB,EAAE,8FAA8F;YAChH,mBAAmB,EAAE,kFAAkF;YACvG,UAAU,EAAE;sBACI;YAChB,WAAW,EAAE;;;;;;+BAMY;SAC1B,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,mHAAmH,CAAC;IAC7H,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA0B;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAEnC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;YAC3E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACtE,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC;mBAChC,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC;mBAC1C,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAzED,4CAyEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/select_add_order_by.js":{"lineLengths":[13,62,65,64,62,61,36,37,52,58,47,73,19,28,39,5,1,52,24,19,47,5,19,16,39,41,60,34,105,0,36,0,62,48,66,88,10,5,17,25,5,21,23,20,5,21,25,5,14,19,26,86,22,9,82,48,45,37,30,13,70,75,38,62,58,29,17,160,29,17,32,72,160,29,17,73,29,17,70,29,17,125,75,29,17,124,13,9,22,5,48,19,158,21,60,78,158,50,118,82,42,33,17,29,13,49,121,128,28,13,9,21,5,1,44,47],"data":{"version":3,"file":"select_add_order_by.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/select_add_order_by.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,8DAA8D;AAC9D,6DAAqD;AACrD,oCAA+B;AAC/B,qCAAuD;AACvD,oDAAoD;AAEpD,0DAAmD;AAEnD,+CAA8E;AAM9E,MAAa,oBAAqB,SAAQ,oCAAe;IAAzD;;QACS,sBAAiB,GAAY,KAAK,CAAC;IAC5C,CAAC;CAAA;AAFD,oDAEC;AAED,MAAa,gBAAgB;IAA7B;QAEU,SAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAuG5C,CAAC;IArGQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,qBAAqB;YAC1B,KAAK,EAAE,qBAAqB;YAC5B,gBAAgB,EAAE,6BAA6B;YAC/C,mBAAmB,EAAE;;;;;6DAKkC;YACvD,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE,yCAAyC;YACrD,WAAW,EAAE,8DAA8D;SAC5E,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,IAA0B;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,GAAY;;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,oBAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAEjE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC9C,IAAI,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACxC,SAAS;gBACX,CAAC;qBAAM,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,EAAE,0CAAE,iBAAiB,MAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAChG,SAAS;gBACX,CAAC;gBAED,gBAAgB;gBAChB,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,0CAAE,GAAG,EAAE,aAAY,WAAW,CAAC,cAAc,EAAE,CAAC;oBAC9F,SAAS;gBACX,CAAC;qBAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzD,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;oBACpD,SAAS;gBACX,CAAC;qBAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACvH,uDAAuD;oBAC7C,SAAS;gBACX,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,sBAAsB,CAAC,CAAgB,EAAE,SAA0B,EAAE,IAAc;;QACzF,MAAM,MAAM,GAAG,MAAA,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,YAAY,CAAC,0CAAE,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxG,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAClE,IAAI,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,CAAC,KAAK,CAAC,0CAAE,OAAO,EAAE,CAAC;YAEvD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,IAAI,YAAY,qBAAa,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,GAAG,EAAE,CAAC;gBAChG,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;gBAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;YAED,IAAI,IAAI,YAAY,iBAAS;mBACtB,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,EAAE,MAAK,uBAAe,CAAC,MAAM;uBACjD,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,EAAE,MAAK,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAEF;AAzGD,4CAyGC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/select_performance.js":{"lineLengths":[13,62,67,64,62,62,61,36,37,58,52,71,27,74,19,28,32,30,31,31,116,22,11,52,5,1,54,25,19,48,5,19,16,38,40,77,104,0,72,78,57,66,12,71,54,10,5,21,23,20,5,17,59,61,9,25,5,21,25,5,14,58,22,9,26,48,45,37,30,13,38,82,80,111,33,21,61,126,17,13,39,90,74,79,42,66,64,77,33,21,78,84,33,21,85,35,82,33,21,60,133,17,13,9,22,5,45,72,35,64,78,103,58,96,67,53,13,9,25,5,1,46,46],"data":{"version":3,"file":"select_performance.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/select_performance.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/select_single_full_key.js":{"lineLengths":[13,62,71,36,61,37,26,48,76,19,28,32,5,1,58,27,19,50,5,19,16,42,73,84,96,0,52,43,46,10,5,21,23,20,5,17,38,25,34,14,9,50,41,9,25,5,21,25,5,31,16,47,115,10,5,14,19,47,22,9,64,39,22,9,26,61,48,52,57,40,66,29,17,74,29,17,89,29,17,91,50,29,17,47,99,93,64,153,21,29,17,114,63,42,29,17,54,76,38,41,42,77,33,21,33,17,153,61,173,182,79,46,25,21,17,35,55,146,17,13,9,22,5,46,77,96,5,1,50,50],"data":{"version":3,"file":"select_single_full_key.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/select_single_full_key.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/selection_screen_naming.js":{"lineLengths":[13,62,75,45,36,63,64,60,66,37,80,19,28,58,34,62,37,63,39,5,1,62,59,19,28,52,5,19,16,43,57,120,73,10,5,38,53,92,91,5,17,25,5,21,25,5,21,26,50,47,9,43,41,42,84,42,9,90,40,9,92,41,9,50,89,93,100,70,87,133,230,17,13,9,22,5,39,25,58,42,9,66,45,9,69,46,9,23,5,40,63,72,9,71,72,9,74,75,9,14,29,9,5,1,54,51],"data":{"version":3,"file":"selection_screen_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/selection_screen_naming.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/short_case.js":{"lineLengths":[13,62,51,36,45,62,64,62,61,37,66,19,28,80,67,11,24,53,28,10,24,5,1,38,47,19,28,40,5,19,16,30,32,114,78,48,57,49,10,5,18,114,5,17,25,5,21,25,5,21,26,42,34,22,9,67,66,137,25,13,85,70,29,17,140,35,13,9,22,5,1,30,38],"data":{"version":3,"file":"short_case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/short_case.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,8DAA8D;AAC9D,gEAAgE;AAChE,8DAA8D;AAC9D,6DAAqD;AACrD,qCAAgD;AAGhD,MAAa,aAAc,SAAQ,oCAAe;IAAlD;;QACE;;WAEG;QACI,WAAM,GAAW,CAAC,CAAC;QAC1B;;UAEE;QACK,UAAK,GAAa,EAAE,CAAC;IAC9B,CAAC;CAAA;AATD,sCASC;AAED,MAAa,SAAU,SAAQ,qBAAQ;IAAvC;;QACU,SAAI,GAAG,IAAI,aAAa,EAAE,CAAC;IAmDrC,CAAC;IAjDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,YAAY;YACnB,gBAAgB,EAAE,mFAAmF;YACrG,mBAAmB,EAAE,4CAA4C;YACjE,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE,gCAAgC;YAC5C,WAAW,EAAE,uBAAuB;SACrC,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,sDAAsD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC;IAC5G,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAmB;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3H,SAAS;YACX,CAAC;YAED,IAAI,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvE,IAAI,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpD,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AApDD,8BAoDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sicf_consistency.js":{"lineLengths":[13,62,63,36,61,40,42,72,19,28,49,28,11,28,5,1,50,23,19,46,5,19,16,36,38,68,71,39,52,10,5,17,25,5,21,25,48,37,9,5,21,23,20,5,14,26,53,22,9,46,37,22,9,35,55,37,114,29,17,106,47,72,162,39,17,25,13,50,36,61,158,35,25,13,60,110,91,158,35,25,13,9,22,5,31,27,33,43,41,63,37,22,13,55,41,22,13,50,48,9,19,5,1,42,44],"data":{"version":3,"file":"sicf_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/sicf_consistency.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AAErD,wCAA6C;AAG7C,0CAAqC;AAGrC,MAAa,mBAAoB,SAAQ,oCAAe;IAAxD;;QACE;;WAEG;QACI,cAAS,GAAc,EAAE,CAAC;IACnC,CAAC;CAAA;AALD,kDAKC;AAED,MAAa,eAAe;IAA5B;QAEU,SAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAmG3C,CAAC;IAjGQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,kBAAkB;YACzB,gBAAgB,EAAE,qCAAqC;YACvD,mBAAmB,EACzB;;mDAEmD;SAC9C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAyB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,CAAC,CAAC,GAAG,YAAY,oBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAsB,CAAC;YAChE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAChG,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,kBAAkB,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;gBAC1F,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,gBAAgB,GAAG,CAAC,GAAG,YAAY,CAAC;oBACpD,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3H,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,wBAAwB,GAAG,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3H,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChG,MAAM,OAAO,GAAG,gBAAgB,GAAG,CAAC,GAAG,mCAAmC,CAAC;gBAC3E,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3H,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEH,2BAA2B;IAEjB,gBAAgB,CAAC,GAAwB;QAC/C,IAAI,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;QAEzB,IAAI,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC;QACnC,OAAO,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAsB,CAAC;YACxE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM;YACR,CAAC;YACD,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACtC,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC;QACtC,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AArGD,0CAqGC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/slow_parameter_passing.js":{"lineLengths":[13,62,73,61,36,37,58,52,62,60,77,1,60,28,19,51,5,19,16,42,44,110,90,49,46,17,49,9,25,13,14,12,11,47,17,42,9,25,13,14,12,11,10,5,17,25,5,21,25,5,21,23,20,5,14,26,58,22,9,85,50,34,42,56,53,85,25,13,35,35,104,29,17,80,29,17,62,42,101,124,17,13,9,22,5,34,19,23,52,81,113,114,48,13,9,19,5,27,23,76,27,9,14,49,53,13,9,19,5,1,52,50],"data":{"version":3,"file":"slow_parameter_passing.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/slow_parameter_passing.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/smim_consistency.js":{"lineLengths":[13,62,63,36,61,40,42,72,1,50,23,19,46,5,19,16,36,44,55,56,10,5,17,25,5,21,25,5,21,23,20,5,14,26,53,22,9,51,61,64,59,133,31,9,22,5,16,43,25,36,5,22,63,30,69,28,13,9,21,5,1,42,44],"data":{"version":3,"file":"smim_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/smim_consistency.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AAErD,wCAAsC;AAGtC,0CAAqC;AAErC,MAAa,mBAAoB,SAAQ,oCAAe;CACvD;AADD,kDACC;AAED,MAAa,eAAe;IAA5B;QACU,SAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;IA0D3C,CAAC;IAvDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,wBAAwB;YAC/B,gBAAgB,EAAE,wBAAwB;YAC1C,mBAAmB,EAAE,sBAAsB;SAC5C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAyB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,CAAC,CAAC,GAAG,YAAY,oBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,kBAAkB,IAAI,aAAa,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,IAAI,CAAC,IAAY;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,UAAU,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,IAAkB,CAAC;YAChC,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA3DD,0CA2DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/space_before_colon.js":{"lineLengths":[13,62,65,42,48,36,45,61,37,73,1,52,54,19,28,47,5,19,16,38,40,106,78,104,50,50,10,5,18,43,5,17,25,5,21,25,5,21,26,39,47,50,128,35,13,43,51,75,94,95,83,175,35,13,25,9,22,5,1,44,46],"data":{"version":3,"file":"space_before_colon.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/space_before_colon.ts"],"names":[],"mappings":";;;AAAA,0CAAqC;AAErC,gDAA0C;AAC1C,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAEhD,MAAa,oBAAqB,SAAQ,oCAAe;CACxD;AADD,oDACC;AAED,MAAa,gBAAiB,SAAQ,qBAAQ;IAA9C;;QAEU,SAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAoD5C,CAAC;IAlDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,oBAAoB;YAC3B,gBAAgB,EAAE,2EAA2E;YAC7F,mBAAmB,EAAE,4CAA4C;YACjE,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,CAAC;YAChE,UAAU,EAAE,yBAAyB;YACrC,WAAW,EAAE,wBAAwB;SACtC,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA0B;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG;mBAC1B,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE;mBAChC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7D,MAAM,KAAK,GAAG,IAAI,mBAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpE,MAAM,GAAG,GAAG,wBAAU,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,EACpB,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,EAC5B,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACnG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAtDD,4CAsDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/space_before_dot.js":{"lineLengths":[13,62,61,36,45,61,62,40,51,42,48,37,34,71,19,28,43,37,5,1,48,52,19,28,45,5,19,16,36,38,94,34,82,89,133,38,38,10,5,18,52,5,17,25,5,21,25,5,26,26,29,25,48,47,22,9,47,47,50,76,83,45,65,17,60,114,30,17,13,85,91,49,69,17,13,9,43,40,25,13,127,101,98,83,138,35,13,21,9,22,5,1,40,44],"data":{"version":3,"file":"space_before_dot.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/space_before_dot.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sql_escape_host_variables.js":{"lineLengths":[13,62,77,62,64,36,45,61,40,37,48,79,1,64,60,19,28,53,5,19,16,45,47,72,137,125,78,81,10,5,17,25,5,21,25,5,26,26,35,49,22,9,74,79,22,9,47,60,63,55,59,63,66,114,52,181,194,68,77,177,147,43,30,21,17,78,65,48,33,21,64,73,173,139,39,26,17,13,9,22,5,1,56,53],"data":{"version":3,"file":"sql_escape_host_variables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/sql_escape_host_variables.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sql_value_conversion.js":{"lineLengths":[13,62,69,36,61,40,52,58,75,1,56,26,19,49,5,19,16,40,51,80,34,28,28,28,28,55,57,21,10,5,17,25,5,21,25,5,21,23,20,5,14,96,22,9,45,103,22,5,20,23,55,79,37,25,13,121,9,45,42,9,19,5,1,48,48],"data":{"version":3,"file":"sql_value_conversion.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/sql_value_conversion.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAI/B,6DAAqD;AACrD,wCAAqC;AACrC,oDAAoD;AACpD,0DAAmD;AAGnD,MAAa,sBAAuB,SAAQ,oCAAe;CAC1D;AADD,wDACC;AAED,MAAa,kBAAkB;IAA/B;QACU,SAAI,GAAG,IAAI,sBAAsB,EAAE,CAAC;IA+D9C,CAAC;IA5DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,+BAA+B;YACtC,gBAAgB,EAAE,iDAAiD;YACnE,mBAAmB,EAAE;;;;;;wDAM6B;YAClD,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA4B;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QAErB,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,IAAI,GAAG,YAAY,mBAAS,EAAE,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,qCAAqC;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,oBAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAEtF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,QAAQ,CAAC,IAAyB;QACxC,MAAM,GAAG,GAAY,EAAE,CAAC;QAExB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvG,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAhED,gDAgEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/start_at_tab.js":{"lineLengths":[13,62,53,36,75,64,45,61,37,67,1,40,48,19,28,41,5,19,16,32,34,74,65,93,106,36,38,10,5,18,49,5,17,25,5,21,25,5,21,26,27,33,38,55,66,25,13,73,30,13,71,31,13,30,25,13,45,79,25,13,96,97,129,35,43,65,17,13,27,9,22,5,1,32,40],"data":{"version":3,"file":"start_at_tab.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/start_at_tab.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAE/B,2EAAmE;AACnE,gEAAmE;AACnE,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAGhD,MAAa,cAAe,SAAQ,oCAAe;CAClD;AADD,wCACC;AAED,MAAa,UAAW,SAAQ,qBAAQ;IAAxC;;QAEU,SAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IA+DtC,CAAC;IA7DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,2CAA2C;YAC7D,mBAAmB,EAAE;4FACiE;YACtF,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAClE,UAAU,EAAE,WAAW;YACvB,WAAW,EAAE,YAAY;SAC1B,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAoB;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,QAAQ,GAAyB,SAAS,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE9B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;iBAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,sBAAS,EAAE,CAAC;gBAChD,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;iBAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBAC9C,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjE,SAAS;YACX,CAAC;YACP,oFAAoF;YAC9E,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBACnF,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBACzB,OAAO,MAAM,CAAC,CAAC,8BAA8B;gBAC/C,CAAC;YACH,CAAC;YACD,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAjED,gCAiEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/static_call_via_instance.js":{"lineLengths":[13,62,75,28,36,45,61,37,52,60,41,78,19,28,43,46,5,1,62,59,19,28,52,5,19,16,44,55,73,156,48,10,5,17,25,5,21,25,5,26,26,113,22,9,141,40,53,36,42,25,13,39,48,48,79,101,26,17,13,9,22,5,37,23,52,122,25,13,99,48,13,9,49,63,9,19,5,1,54,52],"data":{"version":3,"file":"static_call_via_instance.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/static_call_via_instance.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/strict_sql.js":{"lineLengths":[13,62,51,62,64,36,45,61,40,37,48,66,1,38,47,19,28,40,5,19,16,30,32,43,112,0,90,0,48,0,28,71,113,114,10,5,17,25,5,21,25,5,26,26,35,49,22,9,70,79,22,9,47,52,62,72,121,124,130,119,121,64,29,17,102,29,17,135,48,84,48,17,111,71,76,135,35,13,9,22,5,1,30,38],"data":{"version":3,"file":"strict_sql.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/strict_sql.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/superclass_final.js":{"lineLengths":[13,62,63,36,45,38,61,37,72,1,50,53,19,28,46,5,19,16,36,39,104,44,10,5,18,46,5,17,25,5,21,25,5,26,26,73,50,36,25,13,35,92,36,13,34,30,53,70,46,30,21,17,13,38,61,27,54,17,13,38,72,133,35,25,13,41,143,35,13,9,22,5,1,42,44],"data":{"version":3,"file":"superclass_final.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/superclass_final.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,sCAAsC;AACtC,6DAAqD;AAGrD,qCAAiC;AAIjC,MAAa,mBAAoB,SAAQ,oCAAe;CACvD;AADD,kDACC;AAED,MAAa,eAAgB,SAAQ,qBAAQ;IAA7C;;QACU,SAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAgE3C,CAAC;IA9DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,mBAAmB;YAC1B,gBAAgB,EAAE,yEAAyE;YAC3F,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,CAAC;SACvB,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAyB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,GAAe;QAC9C,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC;YACtC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,IAAI,GAAG,YAAY,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC9E,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC;YACD,IAAI,KAAK,GAAoC,SAAS,CAAC;YACvD,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;oBACnC,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;oBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAU,CAAC;gBACtD,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,gBAAgB,GAAG,GAAG,GAAG,cAAc,CAAC;gBACxD,MAAM,KAAK,GAAG,aAAK,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,aAAK,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAjED,0CAiEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/superfluous_value.js":{"lineLengths":[13,62,65,36,45,61,64,62,37,40,73,1,52,54,19,28,47,5,19,16,37,39,67,123,48,91,81,10,5,17,25,5,21,25,5,21,19,26,74,79,22,9,42,34,38,9,67,169,25,13,70,39,25,13,144,31,25,13,76,37,25,13,50,63,118,35,13,9,22,5,1,44,45],"data":{"version":3,"file":"superfluous_value.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/superfluous_value.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,gEAAgE;AAChE,8DAA8D;AAC9D,qCAAgD;AAChD,wCAAmC;AAGnC,MAAa,oBAAqB,SAAQ,oCAAe;CACxD;AADD,oDACC;AAED,MAAa,gBAAiB,SAAQ,qBAAQ;IAA9C;;QACU,SAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAiE5C,CAAC;IA/DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,mBAAmB;YACxB,KAAK,EAAE,mBAAmB;YAC1B,gBAAgB,EAAE,oCAAoC;YACtD,mBAAmB,EAAE,yFAAyF;YAC9G,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE,kEAAkE;YAC9E,WAAW,EAAE,uDAAuD;SACrE,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA0B;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,GAAG,iBAAO,CAAC,QAAQ;eACjD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,KAAK,iBAAO,CAAC,KAAK,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC,CAAC,eAAe;QAC5B,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,IAAI,CAAA,MAAA,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,0CAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,MAAK,SAAS,EAAE,CAAC;gBAC3G,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,eAAe,CAAC,0CAAE,YAAY,EAAE,CAAC;YACtF,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAChE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,8BAA8B,CAAC;gBAC/C,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAlED,4CAkEC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/sy_modification.js":{"lineLengths":[13,62,61,36,64,45,61,37,71,1,48,52,19,28,45,5,19,16,35,47,64,114,0,45,48,38,10,10,5,17,25,5,21,25,5,26,15,26,39,22,9,140,50,67,80,75,29,17,59,139,35,13,9,22,5,1,40,43],"data":{"version":3,"file":"sy_modification.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/sy_modification.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,gEAAgE;AAChE,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAIhD,MAAa,kBAAmB,SAAQ,oCAAe;CACtD;AADD,gDACC;AAED,MAAa,cAAe,SAAQ,qBAAQ;IAA5C;;QAEU,SAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAiD1C,CAAC;IA/CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,2BAA2B;YAClC,gBAAgB,EAAE,iCAAiC;YACnD,mBAAmB,EAAE;;4CAEiB;YACtC,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE;SACT;SACJ,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAwB;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,GAAe;;QAC9C,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAI,EAAE,EAAE,CAAC;YAClF,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,UAAU,CAAC,GAAG,EAAE,YAAY,WAAW,CAAC,WAAW;mBAChD,UAAU,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;gBAElE,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzD,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,0BAA0B,CAAC;gBAC3C,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAnDD,wCAmDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/tabl_enhancement_category.js":{"lineLengths":[13,62,79,36,61,40,42,80,1,66,31,19,54,5,19,16,45,59,106,95,0,74,21,10,5,26,69,5,17,25,5,21,25,5,22,20,5,14,48,22,9,91,59,160,27,9,18,5,1,58,53],"data":{"version":3,"file":"tabl_enhancement_category.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/tabl_enhancement_category.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AAErD,wCAAsD;AAGtD,0CAAqC;AAErC,MAAa,2BAA4B,SAAQ,oCAAe;CAC/D;AADD,kEACC;AAED,MAAa,uBAAuB;IAApC;QACU,SAAI,GAAG,IAAI,2BAA2B,EAAE,CAAC;IAgDnD,CAAC;IA9CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,2BAA2B;YAChC,KAAK,EAAE,uCAAuC;YAC9C,gBAAgB,EAAE,2EAA2E;YAC7F,mBAAmB,EAAE;;yEAE8C;YACnE,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,OAAO,8CAA8C,GAAG,IAAI,CAAC;IAC/D,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAiC;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,CAAC,CAAC,GAAG,YAAY,eAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,GAAG,CAAC,sBAAsB,EAAE,KAAK,6BAAmB,CAAC,aAAa,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAC5B,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EACjB,QAAQ,EACR,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAClC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAjDD,0DAiDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/tables_declared_locally.js":{"lineLengths":[13,62,75,36,62,62,45,61,37,78,1,62,59,19,28,52,5,19,16,43,55,83,109,48,34,14,10,40,10,5,17,25,5,21,25,5,21,26,46,38,26,9,106,37,76,34,57,132,35,13,9,22,5,1,54,51],"data":{"version":3,"file":"tables_declared_locally.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/tables_declared_locally.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,8DAA8D;AAC9D,8DAA8D;AAC9D,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAGhD,MAAa,yBAA0B,SAAQ,oCAAe;CAC7D;AADD,8DACC;AAED,MAAa,qBAAsB,SAAQ,qBAAQ;IAAnD;;QACU,SAAI,GAAG,IAAI,yBAAyB,EAAE,CAAC;IA8CjD,CAAC;IA5CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,yBAAyB;YAC9B,KAAK,EAAE,mCAAmC;YAC1C,gBAAgB,EAAE,oDAAoD;YACtE,mBAAmB,EAAE,2EAA2E;YAChG,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE;;SAET;YACH,WAAW,EAAE,cAAc;SAC5B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA+B;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QAClG,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,wBAAwB,CAAC;gBACzC,MAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAGD,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA/CD,sDA+CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/try_without_catch.js":{"lineLengths":[13,62,63,36,45,64,61,37,72,1,50,53,19,28,46,5,19,16,37,39,88,64,48,10,5,18,79,5,17,25,5,21,25,5,21,26,41,33,22,9,63,32,71,65,55,140,35,13,9,22,5,1,42,45],"data":{"version":3,"file":"try_without_catch.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/try_without_catch.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,gEAAoE;AACpE,6DAAqD;AACrD,qCAAgD;AAGhD,MAAa,mBAAoB,SAAQ,oCAAe;CACvD;AADD,kDACC;AAED,MAAa,eAAgB,SAAQ,qBAAQ;IAA7C;;QACU,SAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;IA6C3C,CAAC;IA3CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,mBAAmB;YACxB,KAAK,EAAE,mBAAmB;YAC1B,gBAAgB,EAAE,yDAAyD;YAC3E,UAAU,EAAE,uCAAuC;YACnD,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;SAC3B,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,+DAA+D,CAAC;IACzE,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAyB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAG,CAAC,CAAC;QAE1C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,CAAC,CAAC,oBAAoB,CAAC,oBAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,kBAAK,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA9CD,0CA8CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/type_form_parameters.js":{"lineLengths":[13,62,69,36,40,61,45,64,37,75,1,56,56,19,28,49,5,19,16,40,42,67,48,44,10,57,10,10,5,35,71,5,17,25,5,21,25,5,26,23,41,67,23,9,81,89,56,146,32,13,9,19,5,1,48,48],"data":{"version":3,"file":"type_form_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/type_form_parameters.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,wCAAiC;AACjC,6DAAqD;AACrD,6CAAsC;AACtC,gEAAgE;AAEhE,qCAAgD;AAGhD,MAAa,sBAAuB,SAAQ,oCAAe;CAC1D;AADD,wDACC;AAED,MAAa,kBAAmB,SAAQ,qBAAQ;IAAhD;;QAEU,SAAI,GAAG,IAAI,sBAAsB,EAAE,CAAC;IA8C9C,CAAC;IA5CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,sBAAsB;YAC7B,gBAAgB,EAAE,oCAAoC;YACtD,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE;SACT;YACH,WAAW,EAAE;SACV;SACJ,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,aAAqB;QAC1C,OAAO,gCAAgC,GAAG,aAAa,GAAG,IAAI,CAAC;IACjE,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA4B;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,GAAe;QAC9C,MAAM,GAAG,GAAY,EAAE,CAAC;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,GAAG,YAAY,eAAK,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,GAAG,CAAC;QACb,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YACvE,IAAI,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1H,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CAEF;AAhDD,gDAgDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/types_naming.js":{"lineLengths":[13,62,55,36,45,62,64,61,37,40,68,19,28,54,33,5,1,42,49,19,28,42,5,19,16,32,46,86,63,73,44,48,10,5,17,25,5,21,25,5,26,26,61,24,48,22,9,50,33,73,81,13,63,68,36,85,17,38,13,61,66,38,25,13,18,25,13,37,25,13,47,49,25,13,18,123,118,35,13,9,22,5,1,34,40],"data":{"version":3,"file":"types_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/types_naming.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/uncaught_exception.js":{"lineLengths":[13,62,67,36,45,61,62,64,62,37,41,40,34,52,60,41,74,19,28,35,35,5,1,54,55,19,28,48,25,5,19,16,38,40,69,97,44,10,5,17,25,5,21,30,36,20,5,21,25,5,26,78,22,9,75,22,9,41,33,22,9,38,68,44,22,9,25,32,45,35,9,27,5,23,35,28,53,53,46,9,49,48,66,79,44,142,43,17,39,143,43,17,145,43,17,23,13,18,50,43,17,13,9,54,65,50,13,59,61,13,54,33,80,142,69,17,13,57,61,13,55,37,62,65,158,17,69,254,77,17,42,13,57,68,13,18,50,13,9,5,36,26,44,142,36,9,5,34,51,46,86,107,78,55,52,68,61,46,17,13,9,5,28,40,19,9,75,70,34,25,13,78,52,13,9,5,34,25,106,28,107,61,92,68,33,22,13,9,32,81,9,126,5,20,62,24,9,62,84,24,9,79,24,9,62,85,24,9,80,24,9,76,65,68,5,28,19,35,47,48,50,25,13,139,74,25,13,143,9,5,30,15,34,48,70,79,147,17,13,9,5,1,46,46],"data":{"version":3,"file":"uncaught_exception.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/uncaught_exception.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unknown_types.js":{"lineLengths":[13,62,57,52,61,58,36,50,37,71,62,60,47,69,1,44,20,19,43,5,19,16,33,35,94,44,10,5,21,23,20,5,17,25,5,21,25,5,14,58,22,9,82,56,44,5,25,28,32,36,29,43,61,32,26,17,13,32,25,13,38,9,28,5,20,15,23,40,46,163,60,118,13,76,76,73,64,118,13,9,89,39,38,46,73,28,91,122,17,13,41,39,47,73,28,87,122,17,13,9,44,43,50,24,67,116,13,9,44,43,50,24,67,116,13,9,45,42,9,19,5,27,15,118,57,64,28,44,17,13,9,49,48,64,28,44,17,13,9,25,5,27,53,35,9,60,51,134,28,33,17,13,9,56,59,9,25,5,1,36,41],"data":{"version":3,"file":"unknown_types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unknown_types.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unnecessary_chaining.js":{"lineLengths":[13,62,71,36,45,61,37,48,75,76,1,58,57,19,28,50,5,19,16,40,42,86,36,75,38,38,10,5,17,25,5,21,25,5,21,26,48,53,51,38,25,13,22,50,137,20,50,13,18,50,137,20,50,13,112,112,81,25,13,86,25,13,101,51,119,31,9,22,5,1,50,48],"data":{"version":3,"file":"unnecessary_chaining.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unnecessary_chaining.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unnecessary_pragma.js":{"lineLengths":[13,62,67,36,62,64,45,61,75,37,48,74,19,28,62,80,39,5,1,54,55,19,28,48,5,19,16,38,40,67,59,0,27,0,23,0,36,0,42,48,29,7,43,30,7,62,55,17,8,30,7,30,11,7,43,44,17,6,0,29,26,26,20,10,5,17,25,5,21,25,5,21,26,30,37,48,53,44,52,63,34,13,74,69,78,44,17,13,67,72,41,13,71,25,13,92,85,126,35,34,13,18,81,13,91,23,13,18,64,13,62,45,80,13,9,22,5,32,93,30,22,9,83,89,71,70,117,9,18,5,39,94,30,22,9,109,43,77,70,117,9,18,5,34,92,30,22,9,79,65,60,65,65,70,60,60,62,65,64,69,64,69,76,65,83,81,70,117,9,18,5,40,49,62,28,13,9,16,57,70,78,24,9,21,5,1,46,46],"data":{"version":3,"file":"unnecessary_pragma.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unnecessary_pragma.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unnecessary_return.js":{"lineLengths":[13,62,67,36,45,61,37,62,48,75,74,19,28,61,32,5,1,54,55,19,28,48,5,19,16,38,40,68,71,75,37,16,9,8,0,9,11,11,8,10,38,16,10,10,5,17,25,5,21,25,5,21,26,46,38,22,9,45,48,33,53,39,40,68,54,68,37,25,13,62,35,13,58,57,65,25,13,43,66,78,29,17,81,132,13,114,47,32,62,60,85,136,13,9,22,5,1,46,46],"data":{"version":3,"file":"unnecessary_return.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unnecessary_return.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,qCAAgD;AAEhD,8DAA8D;AAC9D,gDAA0C;AAC1C,2EAAmE;AAEnE,MAAa,qBAAsB,SAAQ,oCAAe;IAA1D;;QACE,qDAAqD;QAC9C,eAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;CAAA;AAHD,sDAGC;AAED,MAAa,iBAAkB,SAAQ,qBAAQ;IAA/C;;QACU,SAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAyF7C,CAAC;IAvFQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,oBAAoB;YAC3B,gBAAgB,EAAE,qCAAqC;YACvD,mBAAmB,EAAE,qCAAqC;YAC1D,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,CAAC;YAC5C,UAAU,EAAE;;;;;;;;;SAST;YACH,WAAW,EAAE;;SAEV;SACJ,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAA2B;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,oBAAoB,CAAC;QAErC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,YAAY,UAAU,CAAC,oBAAoB;mBACjD,QAAQ,YAAY,UAAU,CAAC,IAAI;mBACnC,QAAQ,YAAY,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBACtD,gBAAgB,GAAG,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,CAAC,QAAQ,YAAY,oBAAO,CAAC,EAAE,CAAC;gBACnC,gBAAgB,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,CAAC,CAAC,QAAQ,YAAY,UAAU,CAAC,SAAS;mBACvC,QAAQ,YAAY,UAAU,CAAC,OAAO;mBACtC,QAAQ,YAAY,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;oBAC5D,SAAS;gBACX,CAAC;gBAED,MAAM,GAAG,GAAG,wBAAU,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9G,CAAC;YAED,sGAAsG;YACtG,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,IAAI,QAAQ;mBACb,QAAQ,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,MAAM;mBAC3C,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,wBAAU,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA1FD,8CA0FC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unreachable_code.js":{"lineLengths":[13,62,63,36,45,61,75,62,64,37,72,1,50,53,19,28,46,5,19,16,36,38,61,48,50,51,10,5,18,34,5,17,25,5,21,25,5,21,26,25,50,58,66,62,25,13,41,28,25,13,52,29,25,13,32,131,35,29,13,9,22,5,15,26,36,107,24,9,111,44,57,29,13,24,9,47,47,43,47,24,9,21,5,20,41,43,46,45,48,48,46,50,44,48,56,50,46,47,44,46,43,49,47,44,48,24,9,21,5,1,42,44],"data":{"version":3,"file":"unreachable_code.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unreachable_code.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unsecure_fae.js":{"lineLengths":[13,62,55,64,36,61,37,58,52,68,1,42,19,19,42,5,19,16,32,34,56,109,80,10,5,17,25,5,21,23,20,5,21,25,5,14,15,26,58,26,9,75,45,26,9,45,19,151,48,47,121,13,9,22,5,1,34,40],"data":{"version":3,"file":"unsecure_fae.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unsecure_fae.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,oCAA+B;AAC/B,6DAAqD;AAErD,qCAAuD;AAEvD,0DAAmD;AACnD,oDAAoD;AAEpD,MAAa,eAAgB,SAAQ,oCAAe;CACnD;AADD,0CACC;AAED,MAAa,WAAW;IAAxB;QAEU,SAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IAgDvC,CAAC;IA9CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,yBAAyB;YAC3C,mBAAmB,EAAE,2EAA2E;YAChG,IAAI,EAAE,CAAC,gBAAO,CAAC,YAAY,EAAE,gBAAO,CAAC,WAAW,CAAC;SAClD,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS,CAAC,IAAqB;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,GAAY;;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,oBAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1D,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YACnC,OAAO;YACP,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,CAAC,CAAC,YAAY,EAAE,0CAAE,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAI,EAAE,EAAE,CAAC;gBACzF,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,cAAc,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AAlDD,kCAkDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_ddic.js":{"lineLengths":[13,62,53,36,38,61,67,1,40,18,19,41,5,19,16,31,33,65,85,21,10,5,21,23,20,5,17,25,5,21,25,5,14,41,47,42,43,52,35,9,18,5,16,39,50,45,38,95,105,9,18,5,1,32,39],"data":{"version":3,"file":"unused_ddic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unused_ddic.ts"],"names":[],"mappings":";;;AACA,oCAA+B;AAC/B,sCAAsC;AAGtC,6DAAqD;AAErD,MAAa,cAAe,SAAQ,oCAAe;CAClD;AADD,wCACC;AAED,MAAa,UAAU;IAAvB;QAEU,SAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IAkDtC,CAAC;IAhDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,aAAa;YACpB,gBAAgB,EAAE,kCAAkC;YACpD,mBAAmB,EAAE,mDAAmD;YACxE,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAoB;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,GAAG,YAAY,OAAO,CAAC,MAAM;eAC1B,GAAG,YAAY,OAAO,CAAC,SAAS;eAChC,GAAG,YAAY,OAAO,CAAC,IAAI;eAC3B,GAAG,YAAY,OAAO,CAAC,KAAK;eAC5B,GAAG,YAAY,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,GAAY;QACxB,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,4BAA4B,CAAC;YACnF,OAAO,CAAC,aAAK,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CAEF;AApDD,gCAoDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_macros.js":{"lineLengths":[13,62,57,36,61,37,58,48,69,19,28,49,28,11,28,5,1,44,20,19,43,5,19,16,33,35,80,46,40,16,20,41,16,18,0,10,10,5,17,25,5,21,25,48,37,9,5,21,23,20,5,14,15,26,58,22,9,57,48,92,92,168,86,94,95,131,17,13,9,22,5,1,36,41],"data":{"version":3,"file":"unused_macros.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unused_macros.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AAErD,qCAAuD;AAEvD,0DAAmD;AACnD,gDAA0C;AAE1C,MAAa,gBAAiB,SAAQ,oCAAe;IAArD;;QACE;;WAEG;QACI,cAAS,GAAc,EAAE,CAAC;IACnC,CAAC;CAAA;AALD,4CAKC;AAED,MAAa,YAAY;IAAzB;QACU,SAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;IA6DxC,CAAC;IA1DQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,eAAe;YACtB,gBAAgB,EAAE,iDAAiD;YACnE,IAAI,EAAE,CAAC,gBAAO,CAAC,QAAQ,CAAC;YACxB,UAAU,EAAE;;mBAEC;YACb,WAAW,EAAE;;;;SAIV;SACJ,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAsB;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC9E,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;gBAE5E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,MAAK,KAAK,EAAE,CAAC;oBACtG,MAAM,OAAO,GAAG,2BAA2B,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;oBAElE,MAAM,GAAG,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;oBAC1E,MAAM,GAAG,GAAG,wBAAU,CAAC,WAAW,CAAC,IAAI,EAAE,GAAI,CAAC,KAAK,EAAE,GAAI,CAAC,GAAG,CAAC,CAAC;oBAC/D,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA9DD,oCA8DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_methods.js":{"lineLengths":[13,62,59,36,61,52,58,62,40,60,70,48,75,70,1,46,16,19,23,23,5,14,27,5,24,52,53,39,23,13,9,5,24,36,69,28,13,9,21,5,17,32,5,11,25,5,1,54,54,21,19,44,5,19,16,34,36,58,71,0,79,0,6,21,72,41,16,28,10,2,21,31,39,10,5,17,25,5,21,25,5,21,23,20,5,14,58,22,9,89,22,9,80,22,9,48,59,70,56,17,13,9,60,69,39,22,9,33,48,70,51,52,57,60,33,21,54,65,74,71,81,33,21,72,79,33,21,77,85,45,21,17,13,9,49,41,26,40,75,37,25,13,100,42,25,13,93,25,13,64,25,13,81,119,9,22,5,41,38,25,9,33,25,9,25,47,75,88,13,34,28,13,9,21,5,33,19,37,48,54,19,9,40,32,19,9,48,44,197,75,57,47,47,13,9,5,20,77,33,9,45,29,9,5,21,52,95,51,13,9,5,1,38,42],"data":{"version":3,"file":"unused_methods.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unused_methods.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_types.js":{"lineLengths":[13,62,55,36,61,37,52,58,62,48,60,75,16,19,27,5,14,40,31,23,13,9,31,5,24,56,46,43,23,13,9,5,11,29,5,13,36,5,1,68,19,28,49,28,11,28,5,1,42,19,19,42,5,19,16,32,34,67,113,46,31,39,10,5,17,25,5,21,25,48,37,9,5,21,23,20,5,14,58,22,9,48,59,70,56,17,13,9,68,69,39,22,9,39,60,61,42,80,9,48,28,25,13,62,47,62,17,75,67,13,46,62,13,9,33,23,46,68,64,37,25,13,89,42,25,13,93,25,13,64,25,13,55,110,9,19,5,41,38,25,9,33,25,9,25,47,75,88,13,34,28,13,9,21,5,32,30,77,43,9,45,39,9,5,31,23,27,47,39,47,75,29,17,44,53,83,29,17,71,64,17,47,13,9,52,93,57,13,9,19,5,31,74,29,9,73,5,1,34,40],"data":{"version":3,"file":"unused_types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unused_types.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6DAAqD;AAErD,qCAAuD;AAEvD,oDAAoD;AACpD,0DAAmD;AACnD,8DAAuD;AAGvD,gDAAiD;AACjD,4DAA0D;AAI1D,2EAA4E;AAE5E,MAAM,QAAQ;IAAd;QACmB,aAAQ,GAAsB,EAAE,CAAC;IA2BpD,CAAC;IAzBQ,IAAI,CAAC,EAAmB;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAEM,cAAc,CAAC,EAAc;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;CACF;AAED,MAAa,eAAgB,SAAQ,oCAAe;IAApD;;QACE;;WAEG;QACI,cAAS,GAAc,EAAE,CAAC;IACnC,CAAC;CAAA;AALD,0CAKC;AAED,MAAa,WAAW;IAAxB;QACU,SAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IA0KvC,CAAC;IAtKQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,oCAAoC;YACtD,mBAAmB,EAAE,+EAA+E;YACpG,IAAI,EAAE,CAAC,gBAAO,CAAC,QAAQ,CAAC;YACxB,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,WAAW;SAC3B,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAqB;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,GAAc;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7C,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;oBACvC,OAAO,EAAE,CAAC,CAAC,yBAAyB;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC,CAAC,yDAAyD;QACtE,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;iBAAM,IAAI,CAAC,YAAY,yBAAU,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,SAAS,CAAC,gCAAgC;gBAC5C,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC,CAAC,mCAAmC;YAChD,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC;YAExD,MAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACpD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,wBAAU,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/E,SAAS;YACX,CAAC;iBACI,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBAClD,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,aAAK,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,kBAAkB,CAAC,SAAoC,EAAE,IAAc;QAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACrC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBAChD,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEH,4BAA4B;IAElB,QAAQ,CAAC,IAAyB,EAAE,GAAe,EAAE,GAAY;QAEvE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK,uBAAS,CAAC,OAAO,EAAE,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;IAEH,CAAC;IAEO,SAAS,CAAC,IAAyB,EAAE,GAAe,EAAE,GAAY;QACxE,MAAM,GAAG,GAAY,EAAE,CAAC;QAExB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;oBACzD,SAAS;gBACX,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS;uBACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;uBAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBACjE,SAAS;gBACX,CAAC;qBAAM,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvD,SAAS,CAAC,kCAAkC;gBAC9C,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,aAAa,KAAK,0BAAa,CAAC,aAAa,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAClE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,QAAQ,CAAC,IAAc,EAAE,SAAwB;QACvD,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,wBAAU,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;CACF;AA3KD,kCA2KC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/unused_variables.js":{"lineLengths":[13,62,63,36,61,37,52,58,62,40,48,62,75,60,72,19,28,49,28,10,28,52,34,5,1,50,16,19,27,5,25,40,34,23,13,9,42,5,24,31,19,9,56,49,41,51,47,17,23,13,9,5,11,29,5,13,36,5,1,23,19,46,5,19,16,36,38,74,57,0,70,0,81,0,61,46,31,39,46,24,24,19,56,24,24,19,10,5,17,25,5,21,25,48,37,9,5,21,23,20,5,14,58,22,9,89,22,9,48,59,70,56,17,13,9,68,69,39,48,9,39,46,37,42,81,9,32,48,28,25,13,62,47,62,17,75,60,50,89,17,13,9,37,5,25,52,80,84,82,57,13,9,45,34,9,5,30,49,56,19,9,45,39,9,56,45,38,50,39,53,83,29,17,118,29,17,38,39,100,94,103,29,17,95,65,13,9,5,22,23,46,48,63,25,13,106,25,13,55,157,25,13,69,25,13,40,79,49,113,9,19,5,43,38,25,9,60,33,25,9,25,47,75,88,13,34,28,13,9,21,5,22,61,33,29,9,56,61,29,9,67,37,29,9,89,25,5,22,60,33,29,9,85,38,29,9,62,77,9,25,5,1,42,44],"data":{"version":3,"file":"unused_variables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/unused_variables.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/use_bool_expression.js":{"lineLengths":[13,62,67,36,62,64,62,45,61,40,37,48,80,116,74,1,54,55,19,28,48,5,19,16,39,44,107,141,129,44,27,5,26,6,0,72,77,0,37,10,5,17,25,5,21,25,5,21,47,26,41,58,110,22,9,64,73,25,13,140,68,25,13,47,68,25,13,224,68,25,13,47,68,25,13,145,105,73,13,147,40,43,75,25,13,161,161,75,81,93,108,59,100,59,54,68,46,206,42,26,95,127,13,9,91,76,62,70,57,76,50,55,171,17,13,9,22,5,1,46,47],"data":{"version":3,"file":"use_bool_expression.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/use_bool_expression.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/use_class_based_exceptions.js":{"lineLengths":[13,62,79,61,45,37,62,64,36,80,1,66,61,19,28,54,5,19,16,46,48,99,131,77,39,19,14,24,15,40,19,11,19,15,10,5,18,44,5,17,25,5,21,25,5,21,15,26,141,74,107,13,9,22,5,1,58,54],"data":{"version":3,"file":"use_class_based_exceptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/use_class_based_exceptions.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AACrD,6CAAsC;AACtC,qCAAgD;AAChD,8DAA8D;AAC9D,gEAAgE;AAEhE,oCAA+B;AAE/B,MAAa,2BAA4B,SAAQ,oCAAe;CAC/D;AADD,kEACC;AACD,MAAa,uBAAwB,SAAQ,qBAAQ;IAArD;;QAEU,SAAI,GAAG,IAAI,2BAA2B,EAAE,CAAC;IA6CnD,CAAC;IA3CQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,4BAA4B;YACjC,KAAK,EAAE,4BAA4B;YACnC,gBAAgB,EAAE,oEAAoE;YACtF,mBAAmB,EAAE,iGAAiG;YACtH,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9C,UAAU,EAAE;;;;cAIJ;YACR,WAAW,EAAE;;;;cAIL;SACT,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,4BAA4B,CAAC;IACtC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAiC;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc;;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAI,EAAE,EAAE,CAAC;YACnF,IAAI,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AA/CD,0DA+CC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/use_line_exists.js":{"lineLengths":[13,62,59,36,62,64,45,61,40,37,75,70,1,46,51,19,28,44,5,19,16,35,37,69,34,112,0,66,102,87,16,8,66,8,10,5,17,25,5,21,25,5,26,26,39,22,9,55,50,22,9,89,22,9,48,53,44,69,25,13,66,67,62,59,61,135,13,9,22,5,27,36,61,44,66,25,13,77,75,72,36,21,17,13,25,9,21,5,84,34,53,44,42,22,13,71,25,13,84,28,13,9,21,5,1,38,43],"data":{"version":3,"file":"use_line_exists.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/use_line_exists.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,8DAA8D;AAC9D,gEAAgE;AAChE,6CAAsC;AACtC,6DAAqD;AACrD,wCAAmC;AACnC,qCAAgD;AAEhD,2EAAmE;AAInE,MAAa,iBAAkB,SAAQ,oCAAe;CACrD;AADD,8CACC;AAED,MAAa,aAAc,SAAQ,qBAAQ;IAA3C;;QACU,SAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;IA+FzC,CAAC;IA7FQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,iBAAiB;YACxB,gBAAgB,EAAE,sCAAsC;YACxD,mBAAmB,EAAE;;;iEAGsC;YAC3D,IAAI,EAAE,CAAC,gBAAO,CAAC,MAAM,EAAE,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,UAAU,CAAC;YAC9D,UAAU,EAAE;;OAEX;YACD,WAAW,EAAE;OACZ;SACF,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAuB;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAc,EAAE,GAAe;QAC9C,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,IAAI,KAAK,iBAAO,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,IAAI,GAAG,iBAAO,CAAC,QAAQ,IAAI,IAAI,KAAK,iBAAO,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,IAAI;mBAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,KAAK;mBAC3C,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,IAAI;mBACxC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEH,uBAAuB;IAEb,WAAW,CAAC,KAAa,EAAE,UAAoC;QACrE,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzD,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE,CAAC;wBAClD,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gFAAgF;IACxE,SAAS,CAAC,KAAa,EAAE,UAAoC;QACnE,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;iBAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;iBAAM,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAEF;AAhGD,sCAgGC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/use_new.js":{"lineLengths":[13,62,45,36,62,64,45,61,66,40,37,48,63,1,32,44,19,28,37,5,19,16,27,29,80,130,0,89,0,33,45,43,129,10,5,18,53,5,17,25,5,21,25,5,26,15,26,39,22,9,142,22,9,55,69,75,29,17,97,29,17,67,29,17,155,64,29,17,59,151,35,13,9,22,5,31,19,136,35,29,9,86,72,145,33,23,9,61,109,5,1,24,35],"data":{"version":3,"file":"use_new.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/use_new.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/when_others_last.js":{"lineLengths":[13,62,61,36,45,61,62,62,37,71,1,48,52,19,28,45,5,19,16,36,38,100,48,34,14,9,10,35,9,14,10,10,5,18,76,5,21,26,42,34,22,9,63,32,68,58,142,43,70,70,139,43,21,17,13,9,22,5,17,25,5,21,25,5,1,40,44],"data":{"version":3,"file":"when_others_last.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/when_others_last.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,6CAAsC;AACtC,6DAAqD;AACrD,8DAA8D;AAC9D,8DAA8D;AAC9D,qCAAgD;AAGhD,MAAa,kBAAmB,SAAQ,oCAAe;CACtD;AADD,gDACC;AAED,MAAa,cAAe,SAAQ,qBAAQ;IAA5C;;QAEU,SAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAyD1C,CAAC;IAvDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,kBAAkB;YACzB,gBAAgB,EAAE,qEAAqE;YACvF,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,CAAC;YAC1B,UAAU,EAAE;;;SAGT;YACH,WAAW,EAAE;;;SAGV;SACJ,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,4DAA4D,CAAC;IACtE,CAAC;IAEM,SAAS,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC9H,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,UAAU,CAAC,UAAU,EAAE,CAAC;wBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;wBAC9C,MAAM,KAAK,GAAG,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC3G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAwB;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CAEF;AA3DD,wCA2DC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/whitespace_end.js":{"lineLengths":[13,62,59,36,42,61,48,37,40,70,1,46,21,19,44,5,19,16,34,47,89,72,104,47,42,10,5,18,50,5,17,25,5,21,25,5,22,20,5,14,26,44,90,25,13,43,51,71,57,82,83,87,142,39,17,13,9,22,5,1,38,42],"data":{"version":3,"file":"whitespace_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/whitespace_end.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAC/B,0CAAqC;AACrC,6DAAqD;AACrD,gDAA0C;AAC1C,qCAAuD;AAGvD,wCAA+C;AAE/C,MAAa,iBAAkB,SAAQ,oCAAe;CACrD;AADD,8CACC;AAED,MAAa,aAAa;IAA1B;QAEU,SAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAsDzC,CAAC;IApDQ,WAAW;QAChB,OAAO;YACL,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,2BAA2B;YAClC,gBAAgB,EAAE,0DAA0D;YAC5E,mBAAmB,EAAE,sCAAsC;YAC3D,IAAI,EAAE,CAAC,gBAAO,CAAC,UAAU,EAAE,gBAAO,CAAC,QAAQ,EAAE,gBAAO,CAAC,UAAU,CAAC;YAChE,UAAU,EAAE,sBAAsB;YAClC,WAAW,EAAE,gBAAgB;SAC9B,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,IAAuB;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClC,IAAI,GAAG,YAAY,oBAAU,IAAI,GAAG,YAAY,iBAAO,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,KAAK,GAAG,IAAI,mBAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,KAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBACpD,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACpD,MAAM,GAAG,GAAG,wBAAU,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;oBACrD,MAAM,KAAK,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAClH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAxDD,sCAwDC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/src/rules/xml_consistency.js":{"lineLengths":[13,62,61,36,37,38,61,53,71,1,48,22,19,45,5,19,16,35,37,111,69,10,5,17,25,5,21,25,5,22,20,5,14,19,26,38,33,26,9,33,18,69,31,138,13,9,57,43,46,37,127,13,80,126,13,60,139,13,165,152,13,9,47,46,37,127,13,80,126,13,60,139,13,176,156,13,9,22,5,1,40,43],"data":{"version":3,"file":"xml_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/src/rules/xml_consistency.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/get_abap.js":{"lineLengths":[13,62,40,62,30,19,39,53,24,9,5,15,1,36],"data":{"version":3,"file":"get_abap.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/get_abap.ts"],"names":[],"mappings":";;AAGA,wCAQC;AAVD,8DAAuD;AAEvD,SAAgB,cAAc,CAAC,GAAc;IAC3C,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,yBAAU,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/abap_parser.js":{"lineLengths":[13,62,31,60,82,47,61,34,32,55,91,9,5,1,31,59,25,72,50,19,22,20,21,11,0,33,18,11,14,15,73,14,12,20,8,107,54,65,32,7,58,25,68,12,10,18,0,12,0,12,11,12,107,54,65,32,7,39,25,98,107,54,65,32,7,76,22,21,23,19,82,107,54,65,77,7,42,22,18,22,28,34,13,28,84,107,54,65,77,7,49,22,28,17,33,9,0,32,8,11,84,80,7,3,39],"data":{"version":3,"file":"abap_parser.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/abap_parser.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/ast.js":{"lineLengths":[13,62,31,37,52,15,41,81,73,83,2,54,29,67,65,82,11,7,3,31],"data":{"version":3,"file":"ast.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/ast.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,qCAAuC;AAEvC,oDAAoD;AAEpD,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,0DAA0D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1E,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,4DAA4D,EAAE,GAAG,EAAE,CAAC,EAAC;CAC7E,CAAC;AAEF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/builtin.js":{"lineLengths":[13,62,31,35,27,51,69,60,89,7,3,35],"data":{"version":3,"file":"builtin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/builtin.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,mCAAkC;AAElC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,MAAM,GAAG,IAAI,aAAO,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACvD,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,MAAO,CAAC,aAAa,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/combi_size.js":{"lineLengths":[13,62,36,31,59,56,71,49,63,22,22,22,24,17,31,22,29,80,5,18,1,17,42,1,20,46,50,49,62,71,71,88,66,77,90,55,77,85,83,85,73,63,67,2,37,34,66,47,66,11,7,3,38],"data":{"version":3,"file":"combi_size.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/combi_size.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/combi.js":{"lineLengths":[13,62,36,31,59,56,58,63,61,22,22,22,22,22,24,24,24,22,30,32,15,60,61,50,54,60,73,74,70,67,69,69,70,67,74,79,79,74,74,65,78,74,79,75,78,74,79,75,58,55,58,62,59,63,59,62,66,63,67,87,79,80,80,79,79,79,79,79,83,87,91,54,57,59,77,64,64,55,72,77,69,73,78,73,80,89,89,70,78,74,74,79,66,89,85,63,65,55,56,58,80,74,67,68,84,85,103,2,36,29,26,108,57,47,30,39,50,33,17,13,56,44,73,13,11,7,3,33],"data":{"version":3,"file":"combi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/combi.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/concat_tokens.js":{"lineLengths":[13,62,31,37,33,19,23,25,25,6,29,24,65,56,55,11,7,3,41],"data":{"version":3,"file":"concat_tokens.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/concat_tokens.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,qCAAuC;AAEvC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,KAAK,GAAG;QACZ,cAAc;QACd,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE;YACZ,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/cross_object_macros.js":{"lineLengths":[13,62,31,61,35,39,31,129,18,19,9,0,31,16,13,12,12,100,88,21,73,83,54,7,3,47],"data":{"version":3,"file":"cross_object_macros.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/cross_object_macros.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAuD;AACvD,mCAAmC;AAEnC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAEnC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,qBAAqB,EAAE;;;;;;;;;UAS9C,CAAC,CAAC;QACR,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,CAAC;QAE9E,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE;mBAClC,CAAC,CAAC;QAEjB,MAAM,GAAG,GAAG,IAAI,cAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,cAAc,CAAC,CAAC;QAE3E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/field_sub.js":{"lineLengths":[13,62,36,31,62,74,38,48,15,57,61,55,56,61,2,45,29,50,84,59,115,70,11,7,3,37],"data":{"version":3,"file":"field_sub.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/expressions/field_sub.ts"],"names":[],"mappings":";;AAAA,oCAAoC;AACpC,+BAA4B;AAC5B,8DAA8D;AAC9D,0EAA0E;AAC1E,sCAAoC;AACpC,gDAA2C;AAE3C,MAAM,KAAK,GAAG;IACZ,EAAC,CAAC,EAAE,KAAK,EAAwB,CAAC,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAO,CAAC,EAAE,IAAI,EAAC;IAC7E,EAAC,CAAC,EAAE,SAAS,EAAoB,CAAC,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAO,CAAC,EAAE,IAAI,EAAC;IAC7E,EAAC,CAAC,EAAE,GAAG,EAA0B,CAAC,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAO,CAAC,EAAE,IAAI,EAAC;IAC7E,EAAC,CAAC,EAAE,GAAG,EAA0B,CAAC,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAO,CAAC,EAAE,KAAK,EAAC;IAC9E,EAAC,CAAC,EAAE,QAAQ,EAAqB,CAAC,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAO,CAAC,EAAE,KAAK,EAAC;CAC/E,CAAC;AAEF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAE1C,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE;YACxE,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,eAAM,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9F,IAAA,aAAM,EAAC,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/reuse.js":{"lineLengths":[13,62,36,31,62,74,38,48,60,15,64,70,74,80,74,65,61,61,67,69,66,68,61,90,83,65,68,71,68,67,63,82,80,74,55,56,54,56,60,54,57,58,55,56,53,53,53,59,62,61,61,64,62,65,57,62,57,56,72,61,67,67,71,71,75,72,64,2,60,29,50,84,59,115,70,11,7,3,33],"data":{"version":3,"file":"reuse.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/expressions/reuse.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/source.js":{"lineLengths":[13,62,36,31,62,74,38,48,15,76,75,81,81,58,62,73,79,134,18,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,47,18,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,47,117,111,111,111,111,111,107,83,93,18,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,47,66,89,87,94,92,94,92,99,97,95,93,100,98,100,98,105,103,94,92,100,98,100,98,95,93,99,97,94,92,94,92,94,92,94,92,94,92,94,92,94,92,94,92,89,87,64,2,43,29,50,84,59,115,70,11,7,3,34],"data":{"version":3,"file":"source.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/expressions/source.ts"],"names":[],"mappings":";;AAAA,oCAAoC;AACpC,+BAA4B;AAC5B,8DAA8D;AAC9D,0EAA0E;AAC1E,sCAAoC;AACpC,gDAA2C;AAE3C,MAAM,KAAK,GAAG;IACZ,EAAC,CAAC,EAAE,0BAA0B,EAAU,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAW,CAAC,EAAE,IAAI,EAAC;IACtF,EAAC,CAAC,EAAE,yBAAyB,EAAW,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAW,CAAC,EAAE,IAAI,EAAC;IACtF,EAAC,CAAC,EAAE,+BAA+B,EAAK,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAW,CAAC,EAAE,IAAI,EAAC;IACtF,EAAC,CAAC,EAAE,+BAA+B,EAAK,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAW,CAAC,EAAE,IAAI,EAAC;IACtF,EAAC,CAAC,EAAE,QAAQ,EAA4B,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAW,CAAC,EAAE,IAAI,EAAC;IACtF,EAAC,CAAC,EAAE,YAAY,EAAwB,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAW,CAAC,EAAE,IAAI,EAAC;IACtF,EAAC,CAAC,EAAE,uBAAuB,EAAa,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAW,CAAC,EAAE,IAAI,EAAC;IACtF,EAAC,CAAC,EAAE,6BAA6B,EAAO,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAW,CAAC,EAAE,IAAI,EAAC;IACtF,EAAC,CAAC,EAAE,oFAAoF,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC;IAC/H,EAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA0CA,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC;IAC3C,EAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkCA,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC;IAC3C,EAAC,CAAC,EAAE;;;;;;;;oDAQ8C,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC;IACzF,EAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCA,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC;IAC3C,EAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA6CiB,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC;CAC7D,CAAC;AAEF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAE1C,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE;YACxE,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,eAAM,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9F,IAAA,aAAM,EAAC,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/sql_from.js":{"lineLengths":[13,62,31,62,38,48,76,44,23,38,24,28,24,28,22,34,31,40,53,132,33,58,7,3,36],"data":{"version":3,"file":"sql_from.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/expressions/sql_from.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,8DAA8D;AAC9D,sCAAoC;AACpC,gDAA2C;AAC3C,4EAAmE;AAEnE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACf,MAAM,IAAI,GAAG;;;;;;;;uCAQsB,CAAC;QACpC,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,qBAAO,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,eAAM,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QACzG,yBAAyB;QACrB,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/expressions/string_template.js":{"lineLengths":[13,62,31,62,74,38,48,15,69,67,97,135,72,72,2,51,29,50,84,59,115,70,11,7,3,43],"data":{"version":3,"file":"string_template.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/expressions/string_template.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,8DAA8D;AAC9D,0EAA0E;AAC1E,sCAAoC;AACpC,gDAA2C;AAE3C,MAAM,KAAK,GAAG;IACZ,EAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,KAAK,EAAC;IAC9D,EAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC;IAC5D,EAAC,CAAC,EAAE,uCAAuC,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC;IAC1F,EAAC,CAAC,EAAE,6EAA6E,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC;IAChI,EAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,KAAK,EAAC;IACjE,EAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,KAAK,EAAC;CAClE,CAAC;AAEF,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAE1C,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE;YACxE,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,eAAM,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9F,IAAA,aAAM,EAAC,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/find_global_definitions.js":{"lineLengths":[13,62,31,61,35,112,41,62,22,26,49,15,81,76,41,97,46,7,39,22,47,17,60,62,62,0,10,28,32,25,26,9,0,30,11,81,76,71,7,50,22,66,17,24,15,47,15,42,9,0,39,11,36,6,30,21,33,28,70,23,78,64,10,76,71,7,3,51],"data":{"version":3,"file":"find_global_definitions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/find_global_definitions.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAuD;AACvD,mCAAmC;AACnC,gHAAyG;AAIzG,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IAErC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,IAAI,GAAG;;;cAGH,CAAC;QAEX,MAAM,KAAK,GAAG,CAAC,IAAI,wBAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;QAE3D,MAAM,GAAG,GAAG,MAAM,IAAI,cAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,+CAAqB,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAgB,CAAC,CAAC;QAC5E,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;UAeP,CAAC;QAEP,MAAM,KAAK,GAAG,CAAC,IAAI,wBAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;QAE3D,MAAM,GAAG,GAAG,MAAM,IAAI,cAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9D,IAAI,+CAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG;;;;;;;;;;;UAWP,CAAC;QAEP,MAAM,GAAG,GAAG;;;;;;qEAMqD,CAAC;QAElE,MAAM,KAAK,GAAG;YACZ,IAAI,wBAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC;YACnD,IAAI,wBAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;SACtC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,cAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9D,IAAI,+CAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/flow/flow_graph.js":{"lineLengths":[13,62,31,66,29,29,52,36,90,76,72,76,76,70,38,67,13,20,31,43,30,15,4,39,64,7,3,38],"data":{"version":3,"file":"flow_graph.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/flow/flow_graph.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,kEAA4D;AAE5D,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IAEzB,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,KAAK,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,IAAA,aAAM,EAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACpE,IAAA,aAAM,EAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAExD,IAAA,aAAM,EAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpD,IAAA,aAAM,EAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,IAAA,aAAM,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAElD,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC9B,IAAA,aAAM,EAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;;;;;;;EAOrC,CAAC,CAAC;QAEA,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/flow/statement_flow.js":{"lineLengths":[13,62,31,74,64,52,32,11,42,114,27,79,114,37,39,81,53,60,1,34,29,38,43,85,26,7,34,22,18,20,43,85,27,26,7,26,22,17,18,12,43,84,20,22,26,7,32,22,17,18,9,15,12,43,83,24,22,23,25,25,7,40,22,17,18,21,15,9,15,12,43,85,24,27,27,22,23,22,25,25,7,29,22,18,16,20,43,85,27,23,27,26,7,30,22,18,17,20,43,85,28,24,28,26,7,30,22,18,11,20,43,85,28,27,7,38,22,17,13,20,12,43,85,20,24,25,7,26,22,17,20,10,15,43,84,23,22,22,29,7,28,22,25,20,14,43,86,22,24,29,7,43,22,25,19,15,18,12,14,43,84,22,24,23,24,22,29,7,42,22,17,11,18,12,43,83,20,22,25,7,47,22,17,13,18,12,43,85,20,24,25,7,40,22,13,20,43,86,27,7,50,22,25,15,13,12,14,43,82,23,23,23,24,25,7,54,22,25,15,17,12,14,43,82,23,27,23,29,27,7,52,22,25,15,15,12,14,43,82,23,25,23,24,27,7,32,22,17,16,12,43,84,20,22,27,7,35,22,20,16,15,43,87,23,25,30,7,41,22,33,16,16,43,92,28,30,35,7,39,22,12,9,18,9,14,14,12,10,43,85,25,31,24,26,23,25,22,31,25,7,43,22,12,9,18,9,14,10,43,85,25,22,24,26,23,25,25,7,39,22,4,12,10,13,10,9,43,86,23,25,26,22,26,25,7,39,22,4,9,43,83,24,7,39,22,4,13,9,43,83,25,21,26,7,38,22,25,11,22,12,16,43,85,26,23,24,29,7,42,22,25,15,22,12,16,43,89,26,29,23,27,7,41,22,21,43,85,27,26,7,3,42],"data":{"version":3,"file":"statement_flow.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/flow/statement_flow.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/lexer/count.js":{"lineLengths":[13,62,36,31,38,32,19,46,44,47,47,52,60,53,53,58,62,60,64,48,42,47,47,51,52,67,63,66,45,45,49,53,41,51,45,53,39,42,38,37,43,46,67,61,49,48,56,50,55,48,50,57,40,49,49,63,43,47,46,36,37,38,52,47,43,46,49,45,44,44,43,50,47,49,62,65,64,63,44,42,52,51,51,46,44,48,45,41,41,51,84,82,6,29,93,62,69,11,78,62,37,68,68,13,11,7,3,33],"data":{"version":3,"file":"count.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/lexer/count.ts"],"names":[],"mappings":";;AAAA,oCAAoC;AACpC,+BAA4B;AAC5B,sCAAoC;AAEpC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,KAAK,GAAG;QACZ,EAAC,IAAI,EAAE,gBAAgB,EAAuB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,cAAc,EAAyB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iBAAiB,EAAsB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iBAAiB,EAAsB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,sBAAsB,EAAiB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,8BAA8B,EAAS,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,uBAAuB,EAAgB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,uBAAuB,EAAgB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,4BAA4B,EAAW,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,gCAAgC,EAAO,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,8BAA8B,EAAS,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,kCAAkC,EAAK,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,kBAAkB,EAAqB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,YAAY,EAA2B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iBAAiB,EAAsB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iBAAiB,EAAsB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,qBAAqB,EAAkB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,sBAAsB,EAAiB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iCAAiC,EAAM,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,oCAAoC,EAAG,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,eAAe,EAAwB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,eAAe,EAAwB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,mBAAmB,EAAoB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,uBAAuB,EAAgB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,WAAW,EAA4B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,qBAAqB,EAAkB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,eAAe,EAAwB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,uBAAuB,EAAgB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,SAAS,EAA8B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,YAAY,EAA2B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,QAAQ,EAA+B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,OAAO,EAAgC,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,aAAa,EAA0B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,gBAAgB,EAAuB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,+BAA+B,EAAQ,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,mBAAmB,EAAoB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,kBAAkB,EAAqB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,0BAA0B,EAAa,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,oBAAoB,EAAmB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,yBAAyB,EAAc,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,kBAAkB,EAAqB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,oBAAoB,EAAmB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,2BAA2B,EAAY,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,UAAU,EAA6B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,mBAAmB,EAAoB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,mBAAmB,EAAoB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iCAAiC,EAAM,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,aAAa,EAA0B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iBAAiB,EAAsB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,gBAAgB,EAAuB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,MAAM,EAAiC,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,OAAO,EAAgC,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,QAAQ,EAA+B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,sBAAsB,EAAiB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iBAAiB,EAAsB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,aAAa,EAA0B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,gBAAgB,EAAuB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,mBAAmB,EAAoB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,eAAe,EAAwB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,cAAc,EAAyB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,cAAc,EAAyB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,aAAa,EAA0B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,oBAAoB,EAAmB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iBAAiB,EAAsB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,mBAAmB,EAAoB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,gCAAgC,EAAO,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,mCAAmC,EAAI,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,kCAAkC,EAAK,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,iCAAiC,EAAM,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,cAAc,EAAyB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,YAAY,EAA2B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,sBAAsB,EAAiB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,qBAAqB,EAAkB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,qBAAqB,EAAkB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,gBAAgB,EAAuB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,cAAc,EAAyB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,kBAAkB,EAAqB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,eAAe,EAAwB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,WAAW,EAA4B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,WAAW,EAA4B,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,qBAAqB,EAAkB,MAAM,EAAE,CAAC,EAAC;QACxD,EAAC,IAAI,EAAE,sDAAsD,EAAE,MAAM,EAAE,CAAC,EAAC;QACzE,EAAC,IAAI,EAAE,oDAAoD,EAAI,MAAM,EAAE,CAAC,EAAC;KAC1E,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE;YACjF,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,uCAAuC,EAAE,GAAG,EAAE;YAClE,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAA,aAAM,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAA,aAAM,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/lexer/lexer.js":{"lineLengths":[13,62,31,61,38,25,34,59,54,80,7,54,52,54,7,28,68,54,7,38,67,54,7,33,60,54,85,83,7,33,63,54,85,83,7,40,59,54,89,7,42,59,54,87,7,43,48,8,11,54,113,7,3,33],"data":{"version":3,"file":"lexer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/lexer/lexer.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/lexer/type.js":{"lineLengths":[13,62,31,59,59,64,15,45,48,51,51,56,55,59,44,46,2,31,29,74,111,59,91,11,7,3,32],"data":{"version":3,"file":"type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/lexer/type.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,2DAAsD;AACtD,2DAA2D;AAC3D,gEAA0D;AAE1D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAC;IACtC,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAC;IACzC,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAC;IAC5C,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,EAAC;IAC5C,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,mBAAmB,EAAC;IACjD,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,iBAAiB,EAAC;IAChD,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,oBAAoB,EAAC;IACpD,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAC;IACrC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAC;CACxC,CAAC;AAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,IAAI,aAAK,EAAE,CAAC,GAAG,CAAC,IAAI,wBAAU,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/macros.js":{"lineLengths":[13,62,31,83,69,47,56,61,26,30,22,11,15,18,0,14,8,18,0,4,9,110,114,66,7,37,22,14,11,18,14,110,114,65,7,30,22,11,10,10,10,18,0,9,27,6,10,110,114,114,7,38,22,11,10,10,10,18,0,11,4,18,0,9,27,6,10,110,114,114,7,50,22,11,11,18,0,11,10,18,0,9,27,8,10,110,114,90,54,77,7,52,22,15,11,11,18,0,11,30,18,0,6,110,114,90,54,7,3,34],"data":{"version":3,"file":"macros.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/macros.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/nesting.js":{"lineLengths":[13,62,31,61,49,15,5,17,31,15,6,5,17,34,31,15,6,5,16,33,32,21,15,6,5,18,29,32,23,15,6,5,19,48,32,32,28,24,15,6,5,27,29,32,26,30,32,23,15,6,5,18,29,29,32,23,15,6,5,19,29,31,36,26,27,15,6,5,16,31,32,21,15,6,5,19,36,32,24,15,6,5,18,29,34,27,33,23,6,5,18,33,34,23,34,21,15,6,5,19,33,34,23,34,24,29,15,6,5,17,33,34,24,29,15,6,5,29,36,35,23,6,5,31,38,35,23,6,5,28,35,35,23,6,5,31,36,36,33,35,23,6,5,20,34,36,35,15,6,5,18,44,36,25,15,6,5,28,35,45,34,58,23,6,5,32,39,32,46,26,15,6,5,34,39,36,44,44,27,15,6,5,28,35,32,46,26,15,6,5,29,67,44,33,46,15,6,5,29,35,47,37,35,15,6,5,36,45,36,59,27,30,15,6,5,17,24,42,48,35,24,15,6,5,31,24,42,48,35,48,35,24,15,6,5,20,34,40,23,15,6,5,33,42,53,15,6,2,37,29,82,23,129,46,205,11,7,3,35],"data":{"version":3,"file":"nesting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/nesting.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/nodes/structure_node.js":{"lineLengths":[13,62,31,51,72,72,34,43,80,82,73,58,20,89,9,7,47,80,69,73,54,7,3,42],"data":{"version":3,"file":"structure_node.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/nodes/structure_node.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,mDAAqE;AACrE,wEAAwE;AACxE,wEAAwE;AAExE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAE9B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,qBAAa,CAAC,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;QAChE,GAAG,CAAC,QAAQ,CAAC,IAAI,qBAAa,CAAC,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAEjE,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,IAAA,aAAM,EAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,qBAAa,CAAC,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;QAChE,GAAG,CAAC,QAAQ,CAAC,IAAI,qBAAa,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAEjE,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/qualified_name.js":{"lineLengths":[13,62,31,61,35,34,31,25,65,83,64,14,10,29,30,27,25,25,25,25,24,26,30,30,30,30,24,11,15,12,12,77,65,83,64,14,10,27,30,29,23,33,24,11,15,12,12,77,66,83,64,14,10,30,30,27,26,30,24,11,15,12,12,79,77,17,32,9,0,32,0,11,79,65,61,56,135,58,60,56,55,68,81,76,9,7,3,42],"data":{"version":3,"file":"qualified_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/qualified_name.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAE5B,6DAAuD;AACvD,mCAA0D;AAG1D,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,KAAK,GAAY,EAAE,CAAC;QAE1B,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;WAsBX,CAAC;QACR,KAAK,CAAC,IAAI,CAAC,IAAI,wBAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG;;;;;;;;;;;;;;WAcX,CAAC;QACR,KAAK,CAAC,IAAI,CAAC,IAAI,wBAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAG;;;;;;;;;;;;;;WAcZ,CAAC;QACR,KAAK,CAAC,IAAI,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG;;;;;;;UAOP,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,IAAI,wBAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAG,IAAI,cAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QACnD,IAAA,aAAM,EAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAU,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,iBAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,cAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACnH,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,KAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,GAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,IAAA,aAAM,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAA,aAAM,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,IAAA,aAAM,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statement_parser.js":{"lineLengths":[13,62,31,37,82,83,71,47,56,61,36,30,34,25,37,108,125,58,103,7,42,32,41,108,125,58,103,7,65,34,25,61,58,87,85,7,65,37,25,25,61,58,85,87,85,7,63,35,25,61,58,87,85,7,41,35,61,58,85,77,7,39,43,61,58,85,74,7,43,48,61,58,84,74,84,74,7,28,61,86,58,94,7,60,46,61,58,85,85,74,7,37,34,61,58,87,7,36,42,61,58,85,7,3,44],"data":{"version":3,"file":"statement_parser.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statement_parser.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/add_corresponding.js":{"lineLengths":[13,62,38,72,15,36,2,85,45],"data":{"version":3,"file":"add_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/add_corresponding.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+BAA+B;CAChC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/add.js":{"lineLengths":[13,62,38,72,15,23,25,27,49,61,2,58,31],"data":{"version":3,"file":"add.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/add.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;IAClB,oBAAoB;IACpB,sBAAsB;IACtB,4CAA4C;IAC5C,wDAAwD;CACzD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/aliases.js":{"lineLengths":[13,62,38,72,15,48,2,66,35],"data":{"version":3,"file":"aliases.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/aliases.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2CAA2C;CAC5C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/append.js":{"lineLengths":[13,62,38,72,50,15,23,30,59,49,64,54,51,55,26,81,60,42,77,86,39,53,30,45,63,73,59,96,54,40,58,54,52,60,40,70,92,46,48,63,60,57,2,64,18,80,108,120,90,67,29,98,2,70,20,86,125,2,74,22,79,97,2,59,15,78,2,51,34],"data":{"version":3,"file":"append.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/append.ts"],"names":[],"mappings":";;AAAA,sCAAyH;AACzH,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,kBAAkB;IAClB,yBAAyB;IACzB,sDAAsD;IACtD,4CAA4C;IAC5C,2DAA2D;IAC3D,iDAAiD;IACjD,8CAA8C;IAC9C,kDAAkD;IAClD,qBAAqB;IACrB,4EAA4E;IAC5E,uDAAuD;IACvD,qCAAqC;IACrC,wEAAwE;IACxE,iFAAiF;IACjF,kCAAkC;IAClC,gDAAgD;IAChD,yBAAyB;IACzB,wCAAwC;IACxC,0DAA0D;IAC1D,oEAAoE;IACpE,sDAAsD;IACtD,2FAA2F;IAC3F,iDAAiD;IACjD,mCAAmC;IACnC,qDAAqD;IACrD,iDAAiD;IACjD,+CAA+C;IAC/C,uDAAuD;IACvD,mCAAmC;IACnC,iEAAiE;IACjE,uFAAuF;IACvF,yCAAyC;IACzC,2CAA2C;IAC3C,0DAA0D;IAC1D,uDAAuD;IACvD,oDAAoD;CACrD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AAElD,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;IAC/D,EAAC,IAAI,EAAE,4DAA4D,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;IAC3F,EAAC,IAAI,EAAE,wEAAwE,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;IACvG,EAAC,IAAI,EAAE,4EAA4E;YACjF,qDAAqD;YACrD,eAAe;YACf,kDAAkD,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CAC7E,CAAC;AAEF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,UAAU,GAAG;IACjB,EAAC,IAAI,EAAE,0CAA0C,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IACrE,EAAC,IAAI,EAAE,iFAAiF,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;CAC7G,CAAC;AAEF,IAAA,2BAAkB,EAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,YAAY,GAAG;IACnB,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IAC9D,EAAC,IAAI,EAAE,qDAAqD,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;CACjF,CAAC;AAEF,IAAA,6BAAoB,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAE7C,MAAM,KAAK,GAAG;IACZ,mCAAmC,EAAE,qCAAqC;CAC3E,CAAC;AACF,IAAA,4BAAmB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/assert.js":{"lineLengths":[13,62,38,72,50,15,37,30,62,56,58,71,49,2,64,20,64,68,2,74,34],"data":{"version":3,"file":"assert.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/assert.ts"],"names":[],"mappings":";;AAAA,sCAA4D;AAC5D,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,gCAAgC;IAChC,yBAAyB;IACzB,yDAAyD;IACzD,mDAAmD;IACnD,qDAAqD;IACrD,kEAAkE;IAClE,4CAA4C;CAC7C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AAElD,MAAM,UAAU,GAAG;IACjB,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IAC/C,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CACpD,CAAC;AAEF,IAAA,2BAAkB,EAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/assign_local_copy.js":{"lineLengths":[13,62,38,72,15,60,49,52,56,2,84,45],"data":{"version":3,"file":"assign_local_copy.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/assign_local_copy.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uDAAuD;IACvD,4CAA4C;IAC5C,+CAA+C;IAC/C,mDAAmD;CACpD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/assign.js":{"lineLengths":[13,62,38,72,50,15,73,45,49,44,39,64,35,48,39,70,113,37,70,56,40,38,74,41,37,89,100,46,41,97,76,58,35,43,64,35,41,71,47,2,64,18,93,136,108,124,2,70,34],"data":{"version":3,"file":"assign.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/assign.ts"],"names":[],"mappings":";;AAAA,sCAA0D;AAC1D,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,oEAAoE;IACpE,wCAAwC;IACxC,4CAA4C;IAC5C,uCAAuC;IACvC,kCAAkC;IAClC,2DAA2D;IAC3D,8BAA8B;IAC9B,2CAA2C;IAC3C,kCAAkC;IAClC,iEAAiE;IACjE,4GAA4G;IAC5G,gCAAgC;IAChC,iEAAiE;IACjE,mDAAmD;IACnD,mCAAmC;IACnC,iCAAiC;IACjC,qEAAqE;IACrE,oCAAoC;IACpC,gCAAgC;IAChC,oFAAoF;IACpF,+FAA+F;IAC/F,yCAAyC;IACzC,oCAAoC;IACpC,4FAA4F;IAC5F,uEAAuE;IACvE,qDAAqD;IACvD,+BAA+B;IAC7B,sCAAsC;IACtC,2DAA2D;IAC3D,8BAA8B;IAC9B,oCAAoC;IACpC,kEAAkE;IAClE,0CAA0C;CAC3C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AAElD,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,6CAA6C,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;IAC5E,EAAC,IAAI,EAAE,wFAAwF,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;IACvH,EAAC,IAAI,EAAE,4DAA4D,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;IAC3F,EAAC,IAAI,EAAE,4EAA4E,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CAC5G,CAAC;AAEF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_first.js":{"lineLengths":[13,62,38,72,15,16,2,67,36],"data":{"version":3,"file":"at_first.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/at_first.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,WAAW;CACZ,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_last.js":{"lineLengths":[13,62,38,72,15,15,2,65,35],"data":{"version":3,"file":"at_last.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/at_last.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,UAAU;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_line_selection.js":{"lineLengths":[13,62,38,72,15,25,2,84,45],"data":{"version":3,"file":"at_line_selection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/at_line_selection.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oBAAoB;CACrB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_selection_screen.js":{"lineLengths":[13,62,38,72,15,27,34,43,59,53,39,55,42,53,55,41,38,38,2,88,47],"data":{"version":3,"file":"at_selection_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/at_selection_screen.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sBAAsB;IACtB,6BAA6B;IAC7B,sCAAsC;IACtC,sDAAsD;IACtD,gDAAgD;IAChD,kCAAkC;IAClC,kDAAkD;IAClD,qCAAqC;IACrC,gDAAgD;IAChD,kDAAkD;IAClD,oCAAoC;IACpC,iCAAiC;IACjC,iCAAiC;CAClC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at_user_command.js":{"lineLengths":[13,62,38,72,15,23,2,80,43],"data":{"version":3,"file":"at_user_command.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/at_user_command.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/at.js":{"lineLengths":[13,62,38,72,15,20,23,29,32,20,23,16,27,25,2,56,30],"data":{"version":3,"file":"at.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/at.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,eAAe;IACf,kBAAkB;IAClB,wBAAwB;IACxB,2BAA2B;IAC3B,eAAe;IACf,kBAAkB;IAClB,WAAW;IACX,sBAAsB;IACtB,oBAAoB;CACrB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/authority_check.js":{"lineLengths":[13,62,38,72,15,62,79,87,83,2,81,43],"data":{"version":3,"file":"authority_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/authority_check.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yDAAyD;IACzD,0EAA0E;IAC1E,kFAAkF;IAClF,8EAA8E;CAC/E,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/break_id.js":{"lineLengths":[13,62,38,72,15,26,2,73,36],"data":{"version":3,"file":"break_id.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/break_id.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;CACtB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/break.js":{"lineLengths":[13,62,38,72,15,19,49,22,22,25,29,2,68,33],"data":{"version":3,"file":"break.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/break.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,cAAc;IACd,4CAA4C;IAC5C,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,wBAAwB;CACzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_badi.js":{"lineLengths":[13,62,38,72,15,75,2,69,37],"data":{"version":3,"file":"call_badi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_badi.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sEAAsE;CACvE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_database.js":{"lineLengths":[13,62,38,72,15,42,35,33,84,2,77,41],"data":{"version":3,"file":"call_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_database.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oCAAoC;QACpC,yBAAyB;QACzB,wBAAwB;IAExB,+EAA+E;CAChF,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_dialog.js":{"lineLengths":[13,62,38,72,15,52,75,31,25,34,25,30,30,25,35,33,2,73,39],"data":{"version":3,"file":"call_dialog.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_dialog.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+CAA+C;IAC/C,sEAAsE;IAEtE,yBAAyB;QACzB,eAAe;QACf,wBAAwB;QACxB,eAAe;QACf,qBAAqB;IAErB,wBAAwB;QACxB,eAAe;QACf,yBAAyB;QACzB,wBAAwB;CAEzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_function.js":{"lineLengths":[13,62,38,72,38,15,37,62,41,25,49,22,50,50,47,47,26,39,39,37,48,39,25,30,48,25,57,57,53,55,54,51,58,52,22,59,26,45,45,45,45,45,45,45,45,43,49,24,52,26,36,67,34,24,34,24,33,25,25,49,33,38,24,31,49,38,24,31,33,24,30,25,21,33,33,24,31,42,36,26,49,48,26,44,44,44,44,64,64,44,42,53,25,39,22,49,38,41,31,29,31,33,36,40,25,40,39,38,26,32,41,25,49,22,50,26,46,37,33,38,44,45,33,48,44,48,6,35,24,40,56,56,19,6,36,24,50,48,24,48,21,49,25,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,43,6,35,23,27,25,4,50,23,43,24,48,4,34,23,32,20,33,24,41,39,6,36,25,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,29,31,51,27,27,46,41,44,73,25,50,49,26,59,59,43,41,56,25,25,76,57,11,33,32,38,53,6,43,14,57,14,28,30,32,28,55,2,77,22,56,11,70,86,2,59,41],"data":{"version":3,"file":"call_function.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_function.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_kernel.js":{"lineLengths":[13,62,38,72,15,26,92,65,2,73,39],"data":{"version":3,"file":"call_kernel.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_kernel.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;IACrB,uFAAuF;IACvF,4DAA4D;CAC7D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_ole.js":{"lineLengths":[13,62,38,72,15,38,59,61,60,83,77,80,63,32,2,73,36],"data":{"version":3,"file":"call_ole.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_ole.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iCAAiC;IACjC,sDAAsD;IACtD,wDAAwD;IACxD,uDAAuD;IACvD,8EAA8E;IAC9E,wEAAwE;IACxE,2EAA2E;IAC3E,0DAA0D;IAC1D,2BAA2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_screen.js":{"lineLengths":[13,62,38,72,15,24,41,80,2,73,39],"data":{"version":3,"file":"call_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_screen.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,mBAAmB;IACnB,oCAAoC;IACpC,2EAA2E;CAC5E,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_selection_screen.js":{"lineLengths":[13,62,38,72,15,34,66,50,68,2,92,49],"data":{"version":3,"file":"call_selection_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_selection_screen.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,6BAA6B;IAC7B,6DAA6D;IAC7D,6CAA6C;IAC7C,+DAA+D;CAChE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,uBAAuB,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_transaction.js":{"lineLengths":[13,62,38,72,15,30,52,73,81,82,64,83,110,67,92,92,2,83,44],"data":{"version":3,"file":"call_transaction.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_transaction.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yBAAyB;IACzB,+CAA+C;IAC/C,oEAAoE;IACpE,4EAA4E;IAC5E,6EAA6E;IAC7E,2DAA2D;IAC3D,8EAA8E;IAC9E,yGAAyG;IACzG,8DAA8D;IAC9D,uFAAuF;IACvF,uFAAuF;CACxF,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call_transformation.js":{"lineLengths":[13,62,38,72,15,32,37,31,32,59,33,35,32,32,31,32,59,37,30,32,34,37,33,32,33,39,32,32,32,31,32,34,32,31,36,33,31,32,33,32,30,32,38,50,31,35,37,41,48,50,55,52,28,33,35,40,36,34,34,23,20,21,24,27,66,19,8,20,2,89,15,34,27,8,15,31,22,2,64,47],"data":{"version":3,"file":"call_transformation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call_transformation.ts"],"names":[],"mappings":";;AAAA,sCAA6D;AAC7D,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;IAEtB,0BAA0B;QAC1B,iDAAiD;QACjD,uBAAuB;QACvB,0BAA0B;IAE1B,0BAA0B;QAC1B,sBAAsB;QACtB,sBAAsB;IAEtB,0BAA0B;QAC1B,iDAAiD;QACjD,2BAA2B;QAC3B,qBAAqB;IAErB,0BAA0B;QAC1B,wBAAwB;QACxB,4BAA4B;IAE5B,2BAA2B;QAC3B,sBAAsB;QACtB,uBAAuB;QACvB,8BAA8B;IAE9B,0BAA0B;QAC1B,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;IAEtB,0BAA0B;QAC1B,wBAAwB;QACxB,sBAAsB;QACtB,sBAAsB;IAEtB,8BAA8B;QAC9B,uBAAuB;QACvB,sBAAsB;IAEtB,0BAA0B;QAC1B,uBAAuB;QACvB,sBAAsB;QACtB,qBAAqB;IAErB,0BAA0B;QAC1B,4BAA4B;QAC5B,wCAAwC;QACxC,sBAAsB;IAEtB,6BAA6B;QAC7B,2BAA2B;QAC3B,+BAA+B;QAC/B,sCAAsC;QACtC,wCAAwC;QACxC,6CAA6C;QAC7C,0CAA0C;QAC1C,mBAAmB;IAEnB,2BAA2B;QAC3B,yBAAyB;QACzB,8BAA8B;QAC9B,0BAA0B;QAC1B,yBAAyB;IAEzB;;;;uBAIqB;IAErB;;;;mBAIiB;CAClB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAG3E,MAAM,KAAK,GAAG;IACZ,6BAA6B;IAC7B;;;;qBAImB;CACpB,CAAC;AACF,IAAA,4BAAmB,EAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/call.js":{"lineLengths":[13,62,38,72,38,15,28,29,32,28,26,77,41,68,58,34,37,36,70,55,88,70,62,69,89,37,77,131,62,36,33,25,40,33,25,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,40,54,25,39,55,14,52,9,18,9,22,10,18,80,52,40,2,60,20,68,2,70,32],"data":{"version":3,"file":"call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/call.ts"],"names":[],"mappings":";;AAAA,sCAA4D;AAC5D,wEAAwE;AACxE,sCAAqC;AAErC,MAAM,KAAK,GAAG;IACZ,uBAAuB;IACvB,wBAAwB;IACxB,2BAA2B;IAC3B,uBAAuB;IACvB,qBAAqB;IACrB,wEAAwE;IACxE,oCAAoC;IACpC,+DAA+D;IAC/D,qDAAqD;IACrD,6BAA6B;IAC7B,gCAAgC;IAChC,+BAA+B;IAC/B,iEAAiE;IACjE,kDAAkD;IAClD,mFAAmF;IACnF,iEAAiE;IACjE,yDAAyD;IACzD,gEAAgE;IAChE,oFAAoF;IACpF,gCAAgC;IAChC,wEAAwE;IACxE,6HAA6H;QAC3H,qDAAqD;IACvD,+BAA+B;IAE/B,2BAA2B;QAC3B,eAAe;QACf,+BAA+B;IAE/B,2BAA2B;QAC3B,eAAe;QACf,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,+BAA+B;IAE/B,gDAAgD;QAChD,eAAe;QACf,6BAA6B;QAC7B,8CAA8C;IAE9C,SAAS;IAET;;;;;;iBAMe;IAEf,2EAA2E;IAC3E,+CAA+C;IAC/C,mCAAmC;CACpC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAE9C,MAAM,UAAU,GAAG;IACjB,EAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,aAAO,CAAC,IAAI,EAAC;CACxD,CAAC;AAEF,IAAA,2BAAkB,EAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/case_type.js":{"lineLengths":[13,62,38,72,15,30,34,2,69,37],"data":{"version":3,"file":"case_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/case_type.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yBAAyB;IACzB,6BAA6B;CAC9B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/case.js":{"lineLengths":[13,62,38,72,15,19,2,60,32],"data":{"version":3,"file":"case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/case.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,cAAc;CACf,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/catch_system_exceptions.js":{"lineLengths":[13,62,38,72,15,58,69,2,96,51],"data":{"version":3,"file":"catch_system_exceptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/catch_system_exceptions.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qDAAqD;IACrD,gEAAgE;CACjE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,yBAAyB,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/catch.js":{"lineLengths":[13,62,38,72,15,20,54,45,48,2,62,33],"data":{"version":3,"file":"catch.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/catch.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,eAAe;IACf,iDAAiD;IACjD,wCAAwC;IACxC,2CAA2C;CAC5C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/check.js":{"lineLengths":[13,62,38,72,15,30,22,2,62,33],"data":{"version":3,"file":"check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/check.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yBAAyB;IACzB,iBAAiB;CAClB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_data_begin.js":{"lineLengths":[13,62,38,72,15,42,2,82,44],"data":{"version":3,"file":"class_data_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/class_data_begin.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qCAAqC;CACtC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_data.js":{"lineLengths":[13,62,38,72,15,70,38,58,2,71,38],"data":{"version":3,"file":"class_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/class_data.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iEAAiE;IACjE,iCAAiC;IACjC,qDAAqD;CACtD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_deferred.js":{"lineLengths":[13,62,38,72,15,41,48,46,2,76,42],"data":{"version":3,"file":"class_deferred.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/class_deferred.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oCAAoC;IACpC,2CAA2C;IAC3C,yCAAyC;CAC1C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_definition_load.js":{"lineLengths":[13,62,38,72,15,43,2,92,49],"data":{"version":3,"file":"class_definition_load.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/class_definition_load.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sCAAsC;CACvC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,uBAAuB,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_definition.js":{"lineLengths":[13,62,38,72,15,41,47,86,87,87,88,111,82,86,75,74,80,113,81,113,96,74,80,2,83,44],"data":{"version":3,"file":"class_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/class_definition.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oCAAoC;IACpC,0CAA0C;IAE1C,iFAAiF;IACjF,kFAAkF;IAClF,kFAAkF;IAClF,mFAAmF;IACnF,0GAA0G;IAE1G,6EAA6E;IAC7E,iFAAiF;IACjF,sEAAsE;IACtE,qEAAqE;IACrE,2EAA2E;IAE3E,4GAA4G;IAE5G,4EAA4E;IAC5E,4GAA4G;IAE5G,2FAA2F;IAC3F,qEAAqE;IAErE,2EAA2E;CAC5E,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_implementation.js":{"lineLengths":[13,62,38,72,15,35,2,76,48],"data":{"version":3,"file":"class_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/class_implementation.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,8BAA8B;CAC/B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/class_local_friends.js":{"lineLengths":[13,62,38,72,15,77,63,62,2,80,47],"data":{"version":3,"file":"class_local_friends.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/class_local_friends.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wEAAwE;IACxE,0DAA0D;IAC1D,yDAAyD;CAC1D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/cleanup.js":{"lineLengths":[13,62,38,72,15,25,15,2,66,35],"data":{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/cleanup.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oBAAoB;IACpB,UAAU;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/clear.js":{"lineLengths":[13,62,38,72,15,20,31,34,31,62,25,30,28,45,19,2,62,33],"data":{"version":3,"file":"clear.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/clear.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,eAAe;IACf,0BAA0B;IAC1B,6BAA6B;IAC7B,0BAA0B;IAC1B,yDAAyD;IACzD,oBAAoB;IACpB,yBAAyB;IACzB,uBAAuB;IACvB,wCAAwC;IACxC,cAAc;CACf,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/close_cursor.js":{"lineLengths":[13,62,38,72,15,24,31,31,2,75,40],"data":{"version":3,"file":"close_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/close_cursor.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,mBAAmB;IACnB,0BAA0B;IAC1B,0BAA0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/close_dataset.js":{"lineLengths":[13,62,38,72,15,42,33,32,2,69,41],"data":{"version":3,"file":"close_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/close_dataset.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qCAAqC;IACrC,4BAA4B;IAC5B,2BAA2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/collect.js":{"lineLengths":[13,62,38,72,15,36,21,62,2,66,35],"data":{"version":3,"file":"collect.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/collect.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+BAA+B;IAC/B,gBAAgB;IAChB,yDAAyD;CAC1D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/commit_entities.js":{"lineLengths":[13,62,38,72,15,20,23,32,37,42,23,20,22,21,28,2,81,43],"data":{"version":3,"file":"commit_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/commit_entities.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ;;;oCAGkC;IAElC,qCAAqC;IAErC,kBAAkB;IAElB;;;2BAGyB;CAC1B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/commit.js":{"lineLengths":[13,62,38,72,15,19,28,35,32,2,64,34],"data":{"version":3,"file":"commit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/commit.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,cAAc;IACd,uBAAuB;IACvB,8BAA8B;IAC9B,2BAA2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/communication.js":{"lineLengths":[13,62,38,72,15,48,35,46,37,60,91,33,121,2,78,41],"data":{"version":3,"file":"communication.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/communication.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2CAA2C;IAC3C,8BAA8B;IAC9B,yCAAyC;IACzC,gCAAgC;IAChC,uDAAuD;IACvD,sFAAsF;IACtF,4BAA4B;IAC5B,oHAAoH;CACrH,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/compute.js":{"lineLengths":[13,62,38,72,15,33,2,66,35],"data":{"version":3,"file":"compute.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/compute.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4BAA4B;CAC7B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/concatenate.js":{"lineLengths":[13,62,38,72,15,43,63,68,62,60,82,84,83,63,80,81,2,74,15,24,90,74,86,2,56,39],"data":{"version":3,"file":"concatenate.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/concatenate.ts"],"names":[],"mappings":";;AAAA,sCAA6D;AAC7D,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sCAAsC;IACtC,0DAA0D;IAC1D,+DAA+D;IAC/D,yDAAyD;IACzD,uDAAuD;IACvD,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,0DAA0D;IAC1D,2EAA2E;IAC3E,4EAA4E;CAC7E,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;AAE5D,MAAM,KAAK,GAAG;IACZ,mBAAmB;IACnB,oEAAoE,EAAE,gBAAgB;IACtF,2CAA2C,EAAE,yBAAyB;IACtE,4DAA4D,EAAE,oBAAoB;CACnF,CAAC;AACF,IAAA,4BAAmB,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/condense.js":{"lineLengths":[13,62,38,72,15,23,37,2,68,36],"data":{"version":3,"file":"condense.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/condense.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;IAClB,gCAAgC;CACjC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/constant_begin.js":{"lineLengths":[13,62,38,72,15,30,34,43,2,79,42],"data":{"version":3,"file":"constant_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/constant_begin.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yBAAyB;IACzB,6BAA6B;IAC7B,sCAAsC;CACvC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/constant_end.js":{"lineLengths":[13,62,38,72,15,28,32,2,75,40],"data":{"version":3,"file":"constant_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/constant_end.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uBAAuB;IACvB,2BAA2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/constants.js":{"lineLengths":[13,62,38,72,15,49,55,51,50,49,56,50,50,50,57,71,53,71,42,60,2,68,37],"data":{"version":3,"file":"constants.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/constants.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4CAA4C;IAC5C,kDAAkD;IAClD,8CAA8C;IAC9C,6CAA6C;IAC7C,4CAA4C;IAC5C,mDAAmD;IACnD,6CAA6C;IAC7C,6CAA6C;IAC7C,6CAA6C;IAC7C,oDAAoD;IACpD,kEAAkE;IAClE,gDAAgD;IAChD,kEAAkE;IAClE,qCAAqC;IACrC,uDAAuD;CACxD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/contexts.js":{"lineLengths":[13,62,38,72,15,20,2,68,36],"data":{"version":3,"file":"contexts.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/contexts.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,eAAe;CAChB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/continue.js":{"lineLengths":[13,62,38,72,15,16,2,68,36],"data":{"version":3,"file":"continue.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/continue.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,WAAW;CACZ,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/controls.js":{"lineLengths":[13,62,38,72,15,54,37,2,68,36],"data":{"version":3,"file":"controls.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/controls.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iDAAiD;IACjD,gCAAgC;CACjC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/convert_text.js":{"lineLengths":[13,62,38,72,15,58,2,75,40],"data":{"version":3,"file":"convert_text.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/convert_text.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qDAAqD;CACtD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/convert.js":{"lineLengths":[13,62,38,72,15,96,94,73,79,70,84,71,55,110,53,2,66,35],"data":{"version":3,"file":"convert.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/convert.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2FAA2F;IAC3F,yFAAyF;IACzF,oEAAoE;IAEpE,0EAA0E;IAC1E,iEAAiE;IAEjE,+EAA+E;IAC/E,kEAAkE;IAClE,kDAAkD;IAClD,yGAAyG;IAEzG,gDAAgD;CACjD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/create_data.js":{"lineLengths":[13,62,38,72,15,52,49,66,60,88,48,50,50,71,24,45,53,52,82,81,58,62,85,79,86,84,69,53,75,2,73,39],"data":{"version":3,"file":"create_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/create_data.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+CAA+C;IAC/C,4CAA4C;IAC5C,6DAA6D;IAC7D,uDAAuD;IACvD,mFAAmF;IACnF,2CAA2C;IAC3C,6CAA6C;IAC7C,6CAA6C;IAC7C,kEAAkE;IAClE,mBAAmB;IACnB,wCAAwC;IACxC,gDAAgD;IAChD,+CAA+C;IAC/C,6EAA6E;IAC7E,4EAA4E;IAC5E,qDAAqD;IACrD,yDAAyD;IACzD,gFAAgF;IAChF,0EAA0E;IAC1E,iFAAiF;IACjF,+EAA+E;IAC/E,gEAAgE;IAChE,gDAAgD;IAChD,sEAAsE;CACvE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/create_object.js":{"lineLengths":[13,62,38,72,15,28,66,66,91,103,72,49,94,41,32,35,2,77,41],"data":{"version":3,"file":"create_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/create_object.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uBAAuB;IACvB,6DAA6D;IAC7D,6DAA6D;IAC7D,sFAAsF;IACtF,kGAAkG;IAClG,mEAAmE;IACnE,4CAA4C;IAC5C,yFAAyF;IACzF;;kCAEgC;CACjC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/create_ole.js":{"lineLengths":[13,62,38,72,15,43,2,74,38],"data":{"version":3,"file":"create_ole.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/create_ole.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sCAAsC;CACvC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/data_begin.js":{"lineLengths":[13,62,38,72,15,25,35,38,37,30,29,2,71,38],"data":{"version":3,"file":"data_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/data_begin.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oBAAoB;IACpB,8BAA8B;IAC9B,iCAAiC;IACjC,gCAAgC;IAChC,yBAAyB;IACzB,wBAAwB;CACzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/data_end.js":{"lineLengths":[13,62,38,72,15,23,31,38,35,28,27,2,67,36],"data":{"version":3,"file":"data_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/data_end.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;IAClB,0BAA0B;IAC1B,iCAAiC;IACjC,8BAA8B;IAC9B,uBAAuB;IACvB,sBAAsB;CACvB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/data.js":{"lineLengths":[13,62,38,72,15,26,36,31,41,35,43,33,39,40,57,57,32,27,29,37,42,17,22,48,39,52,58,36,71,33,76,44,54,37,54,91,27,51,56,50,80,65,26,35,48,58,57,26,27,84,70,43,53,53,53,53,53,53,47,47,47,48,36,36,45,45,44,44,53,53,17,17,20,68,35,35,40,58,34,80,77,95,29,30,42,43,29,46,56,36,83,34,59,48,101,49,54,63,58,52,61,56,2,60,15,79,2,49,32],"data":{"version":3,"file":"data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/data.ts"],"names":[],"mappings":";;AAAA,sCAA6D;AAC7D,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;IACrB,+BAA+B;IAC/B,0BAA0B;IAC1B,oCAAoC;IACpC,8BAA8B;IAC9B,sCAAsC;IACtC,4BAA4B;IAC5B,kCAAkC;IAClC,mCAAmC;IACnC,oDAAoD;IACpD,oDAAoD;IACpD,2BAA2B;IAC3B,sBAAsB;IACtB,wBAAwB;IACxB,gCAAgC;IAChC,qCAAqC;IACrC,YAAY;IACZ,iBAAiB;IACjB,2CAA2C;IAC3C,kCAAkC;IAClC,+CAA+C;IAC/C,qDAAqD;IACrD,+BAA+B;IAC/B,kEAAkE;IAClE,4BAA4B;IAC5B,uEAAuE;IACvE,uCAAuC;IACvC,iDAAiD;IACjD,gCAAgC;IAChC,iDAAiD;IACjD,sFAAsF;IACtF,sBAAsB;IACtB,8CAA8C;IAC9C,mDAAmD;IACnD,4CAA4C;QAC1C,sEAAsE;QACtE,wDAAwD;IAC1D,qBAAqB;IACrB,8BAA8B;IAC9B,2CAA2C;IAC3C,qDAAqD;IACrD,oDAAoD;IACpD,qBAAqB;IACrB,sBAAsB;IACtB,+EAA+E;IAC/E,iEAAiE;IACjE,sCAAsC;IACtC,gDAAgD;IAChD,gDAAgD;IAChD,gDAAgD;IAChD,gDAAgD;IAChD,gDAAgD;IAChD,gDAAgD;IAChD,0CAA0C;IAC1C,0CAA0C;IAC1C,0CAA0C;IAC1C,2CAA2C;IAC3C,+BAA+B;IAC/B,+BAA+B;IAC/B,wCAAwC;IACxC,wCAAwC;IACxC,uCAAuC;IACvC,uCAAuC;IACvC,gDAAgD;IAChD,gDAAgD;IAChD,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,+DAA+D;IAC/D,8BAA8B;IAC9B,8BAA8B;IAC9B,mCAAmC;IACnC,qDAAqD;IACrD,6BAA6B;IAC7B,2EAA2E;IAC3E,wEAAwE;IACxE,2BAA2B,EAAE,8DAA8D;IAC3F,wBAAwB;IACxB,yBAAyB;IACzB,qCAAqC;IACrC,sCAAsC;IACtC,wBAAwB;IACxB,yCAAyC;IACzC,mDAAmD;IACnD,+BAA+B;IAC/B,8EAA8E;IAC9E,6BAA6B;IAC7B,sDAAsD;IACtD,2CAA2C;IAC3C,gGAAgG;IAChG,4CAA4C;IAC5C,iDAAiD;IACjD,0DAA0D;IAC1D,qDAAqD;IACrD,+CAA+C;IAC/C,wDAAwD;IACxD,mDAAmD;CACpD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAE9C,MAAM,KAAK,GAAG;IACZ,0DAA0D,EAAE,eAAe;CAC5E,CAAC;AACF,IAAA,4BAAmB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/define.js":{"lineLengths":[13,62,38,72,15,18,22,22,21,22,22,22,26,22,28,2,64,34],"data":{"version":3,"file":"define.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/define.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,uBAAuB;CACxB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_cluster.js":{"lineLengths":[13,62,38,72,15,68,59,53,2,85,42],"data":{"version":3,"file":"delete_cluster.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/delete_cluster.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+DAA+D;IAC/D,sDAAsD;IACtD,gDAAgD;CACjD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,sBAAsB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_database.js":{"lineLengths":[13,62,38,72,15,73,60,52,67,40,36,54,89,45,45,62,55,54,41,2,72,43],"data":{"version":3,"file":"delete_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/delete_database.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oEAAoE;IACpE,uDAAuD;IACvD,+CAA+C;IAC/C,8DAA8D;IAC9D,mCAAmC;IACnC,+BAA+B;IAC/B,iDAAiD;IACjD,oFAAoF;IACpF,wCAAwC;IACxC,wCAAwC;IACxC,yDAAyD;IACzD,kDAAkD;IAClD,iDAAiD;IACjD,oCAAoC;CACrC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_dataset.js":{"lineLengths":[13,62,38,72,15,32,2,79,42],"data":{"version":3,"file":"delete_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/delete_dataset.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2BAA2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_dynpro.js":{"lineLengths":[13,62,38,72,15,28,2,77,41],"data":{"version":3,"file":"delete_dynpro.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/delete_dynpro.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uBAAuB;CACxB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_internal.js":{"lineLengths":[13,62,38,72,15,38,64,42,74,69,51,48,41,57,34,69,71,72,59,80,49,58,62,50,53,71,35,67,82,94,2,72,15,52,46,2,51,43],"data":{"version":3,"file":"delete_internal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/delete_internal.ts"],"names":[],"mappings":";;AAAA,sCAA6D;AAC7D,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iCAAiC;IACjC,2DAA2D;IAC3D,qCAAqC;IACrC,qEAAqE;IACrE,gEAAgE;IAChE,8CAA8C;IAC9C,2CAA2C;IAC3C,oCAAoC;IACpC,oDAAoD;IACpD,6BAA6B;IAC7B,gEAAgE;IAChE,kEAAkE;IAClE,mEAAmE;IACnE,sDAAsD;IACtD,2EAA2E;IAC3E,4CAA4C;IAC5C,qDAAqD;IACrD,yDAAyD;IACzD,6CAA6C;IAC/C,iDAAiD;IACjD,mEAAmE;IACjE,8BAA8B;IAC9B,8DAA8D;IAC9D,6EAA6E;IAC/E,0FAA0F;CACzF,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;AAE1D,MAAM,KAAK,GAAG;IACZ,+CAA+C;IAC/C,yCAAyC;CAC1C,CAAC;AACF,IAAA,4BAAmB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_memory.js":{"lineLengths":[13,62,38,72,15,38,51,67,2,82,41],"data":{"version":3,"file":"delete_memory.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/delete_memory.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iCAAiC;IACjC,8CAA8C;IAC9C,8DAA8D;CAC/D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,oBAAoB,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_report.js":{"lineLengths":[13,62,38,72,15,29,33,41,2,77,41],"data":{"version":3,"file":"delete_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/delete_report.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wBAAwB;IACxB,4BAA4B;IAC5B,oCAAoC;CACrC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/delete_textpool.js":{"lineLengths":[13,62,38,72,15,35,69,44,2,81,43],"data":{"version":3,"file":"delete_textpool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/delete_textpool.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,8BAA8B;IAC9B,gEAAgE;IAChE,uCAAuC;CACxC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/demand.js":{"lineLengths":[13,62,38,72,15,41,61,2,64,34],"data":{"version":3,"file":"demand.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/demand.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oCAAoC;IACpC,wDAAwD;CACzD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/describe.js":{"lineLengths":[13,62,38,72,15,44,73,37,77,52,69,45,49,71,65,38,83,47,55,46,56,43,42,29,48,45,63,86,51,53,2,68,15,39,2,53,36],"data":{"version":3,"file":"describe.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/describe.ts"],"names":[],"mappings":";;AAAA,sCAA6D;AAC7D,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uCAAuC;IACvC,oEAAoE;IACpE,gCAAgC;IAChC,uEAAuE;QACrE,2CAA2C;IAC7C,gEAAgE;IAChE,wCAAwC;IACxC,4CAA4C;IAC5C,kEAAkE;IAClE,4DAA4D;IAC5D,iCAAiC;IACjC,8EAA8E;IAC9E,0CAA0C;IAC1C,kDAAkD;IAClD,yCAAyC;IACzC,mDAAmD;IACnD,sCAAsC;IACtC,qCAAqC;IACrC,wBAAwB;IACxB,2CAA2C;IAC3C,wCAAwC;IACxC,0DAA0D;IAC1D,iFAAiF;IACjF,8CAA8C;IAC9C,gDAAgD;CACjD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEtD,MAAM,KAAK,GAAG;IACZ,kCAAkC;CACnC,CAAC;AAEF,IAAA,4BAAmB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/detail.js":{"lineLengths":[13,62,38,72,15,14,2,64,34],"data":{"version":3,"file":"detail.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/detail.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,SAAS;CACV,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/do.js":{"lineLengths":[13,62,38,72,15,20,19,51,51,40,10,85,77,2,56,30],"data":{"version":3,"file":"do.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/do.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,eAAe;IACf,cAAc;IACd,8CAA8C;IAC9C,8CAA8C;IAC9C,mCAAmC;IACnC,KAAK;IACL,gFAAgF;IAChF,wEAAwE;CACzE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/editor_call.js":{"lineLengths":[13,62,38,72,15,61,37,59,2,73,15,59,2,56,39],"data":{"version":3,"file":"editor_call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/editor_call.ts"],"names":[],"mappings":";;AAAA,sCAA6D;AAC7D,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wDAAwD;IACxD,gCAAgC;IAChC,sDAAsD;CACvD,CAAC;AACF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;AAE3D,MAAM,KAAK,GAAG;IACZ,sDAAsD;CACvD,CAAC;AACF,IAAA,4BAAmB,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/end_enhancement.js":{"lineLengths":[13,62,38,72,15,22,2,80,43],"data":{"version":3,"file":"end_enhancement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/end_enhancement.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iBAAiB;CAClB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/end_of_page.js":{"lineLengths":[13,62,38,72,15,19,2,72,39],"data":{"version":3,"file":"end_of_page.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/end_of_page.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,cAAc;CACf,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/endexec.js":{"lineLengths":[13,62,38,72,15,15,2,66,35],"data":{"version":3,"file":"endexec.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/endexec.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,UAAU;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/endon.js":{"lineLengths":[13,62,38,72,15,13,2,62,33],"data":{"version":3,"file":"endon.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/endon.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,QAAQ;CACT,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/endprovide.js":{"lineLengths":[13,62,38,72,15,18,2,72,38],"data":{"version":3,"file":"endprovide.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/endprovide.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,aAAa;CACd,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/enhancement_point.js":{"lineLengths":[13,62,38,72,15,42,49,44,56,2,85,45],"data":{"version":3,"file":"enhancement_point.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/enhancement_point.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qCAAqC;IACrC,4CAA4C;IAC5C,uCAAuC;IACvC,mDAAmD;CACpD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/enhancement_section.js":{"lineLengths":[13,62,38,72,15,46,45,57,2,89,47],"data":{"version":3,"file":"enhancement_section.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/enhancement_section.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yCAAyC;IACzC,wCAAwC;IACxC,oDAAoD;CACrD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/enhancement.js":{"lineLengths":[13,62,38,72,15,29,31,2,74,39],"data":{"version":3,"file":"enhancement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/enhancement.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wBAAwB;IACxB,0BAA0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/events.js":{"lineLengths":[13,62,38,72,15,21,59,59,79,2,64,34],"data":{"version":3,"file":"events.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/events.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,gBAAgB;IAChB,sDAAsD;IACtD,sDAAsD;IACtD,0EAA0E;CAC3E,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/exec_sql.js":{"lineLengths":[13,62,38,72,15,16,32,2,67,36],"data":{"version":3,"file":"exec_sql.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/exec_sql.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,WAAW;IACX,2BAA2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/exit.js":{"lineLengths":[13,62,38,72,15,12,27,21,2,60,32],"data":{"version":3,"file":"exit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/exit.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,OAAO;IACP,sBAAsB;IACtB,gBAAgB;CACjB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/export_dynpro.js":{"lineLengths":[13,62,38,72,15,36,2,77,41],"data":{"version":3,"file":"export_dynpro.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/export_dynpro.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+BAA+B;CAChC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/export.js":{"lineLengths":[13,62,38,72,15,37,70,62,55,55,53,80,60,86,48,61,71,90,71,106,55,50,72,75,87,32,26,26,39,43,65,48,28,39,2,64,34],"data":{"version":3,"file":"export.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/export.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,gCAAgC;IAChC,iEAAiE;IACjE,yDAAyD;IACzD,kDAAkD;IAClD,kDAAkD;IAClD,gDAAgD;IAChD,2EAA2E;IAC3E,uDAAuD;IACvD,iFAAiF;IACjF,2CAA2C;IAC3C,wDAAwD;IACxD,kEAAkE;IAClE,qFAAqF;IACrF,kEAAkE;IAClE,qGAAqG;IACrG,kDAAkD;IAClD,6CAA6C;IAC7C,mEAAmE;IACrE,uEAAuE;IACrE,kFAAkF;IAElF;;;sCAGoC;IAEpC,sCAAsC;IACtC,4DAA4D;IAC5D,2CAA2C;IAC3C,uBAAuB;IACvB,kCAAkC;CACnC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/extract.js":{"lineLengths":[13,62,38,72,15,22,15,2,66,35],"data":{"version":3,"file":"extract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/extract.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iBAAiB;IACjB,UAAU;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/fetch_next_cursor.js":{"lineLengths":[13,62,38,72,15,76,44,90,95,72,61,101,71,2,77,45],"data":{"version":3,"file":"fetch_next_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/fetch_next_cursor.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uEAAuE;IACvE,uCAAuC;IACvC,qFAAqF;IACrF,0FAA0F;IAC1F,mEAAmE;IACnE,wDAAwD;IACxD,4DAA4D,EAAE,mCAAmC;IACjG,kEAAkE;CACnE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/field_group.js":{"lineLengths":[13,62,38,72,15,25,2,73,39],"data":{"version":3,"file":"field_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/field_group.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oBAAoB;CACrB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/fields.js":{"lineLengths":[13,62,38,72,15,23,2,64,34],"data":{"version":3,"file":"fields.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/fields.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/fieldsymbol.js":{"lineLengths":[13,62,38,72,15,38,40,27,57,2,75,39],"data":{"version":3,"file":"fieldsymbol.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/fieldsymbol.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iCAAiC;IACjC,mCAAmC;IACnC,sBAAsB;IACtB,oDAAoD;CACrD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/file_enum.js":{"lineLengths":[13,62,38,72,15,46,2,76,37],"data":{"version":3,"file":"file_enum.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/file_enum.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yCAAyC;CAC1C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/find.js":{"lineLengths":[13,62,38,72,15,60,66,73,81,51,99,85,71,93,76,94,76,60,52,80,59,59,101,86,100,49,82,109,2,60,32],"data":{"version":3,"file":"find.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/find.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uDAAuD;IACvD,6DAA6D;IAC7D,oEAAoE;IACpE,4EAA4E;IAC5E,8CAA8C;IAC9C,8FAA8F;IAC9F,gFAAgF;IAChF,kEAAkE;IAClE,wFAAwF;IACxF,uEAAuE;IACvE,yFAAyF;IACzF,uEAAuE;IACvE,uDAAuD;IACvD,+CAA+C;IAC/C,2EAA2E;IAC3E,sDAAsD;IACtD,sDAAsD;IACtD,gGAAgG;IAChG,iFAAiF;IACjF,+FAA+F;IAC/F,4CAA4C;IAC5C,6EAA6E;IAC7E,wGAAwG;CACzG,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/form_definition.js":{"lineLengths":[13,62,38,72,15,30,44,2,81,43],"data":{"version":3,"file":"form_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/form_definition.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yBAAyB;IACzB,uCAAuC;CACxC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/form.js":{"lineLengths":[13,62,38,72,15,78,62,56,34,24,50,38,39,53,50,85,46,50,39,21,20,21,18,19,17,31,27,28,28,28,28,28,28,28,28,28,28,28,28,28,26,27,23,23,23,23,23,23,23,23,23,23,23,23,23,21,25,39,39,39,39,39,39,39,39,39,39,37,27,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,37,28,33,33,33,33,33,33,33,33,21,28,28,28,28,28,28,28,28,28,26,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,30,49,53,53,52,53,52,32,42,39,57,2,60,32],"data":{"version":3,"file":"form.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/form.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wEAAwE;QACtE,qDAAqD;IACvD,mDAAmD;IACnD,6BAA6B;IAC7B,mBAAmB;IACnB,6CAA6C;IAC7C,iCAAiC;IACjC,kCAAkC;IAClC,gDAAgD;IAChD,6CAA6C;IAC7C,gFAAgF;IAChF,yCAAyC;IACzC,6CAA6C;IAC/C,mCAAmC;IACjC,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,YAAY;IACZ,0BAA0B;IAE1B,qBAAqB;QACrB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;IAEjB,qBAAqB;QACrB,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,aAAa;QACb,YAAY;IAEZ,mBAAmB;QACnB,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,4BAA4B;IAE5B,qBAAqB;QACrB,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,4BAA4B;IAE5B,sBAAsB;QACtB,uBAAuB;QACvB,uBAAuB;QACvB,uBAAuB;QACvB,uBAAuB;QACvB,uBAAuB;QACvB,uBAAuB;QACvB,uBAAuB;QACvB,uBAAuB;QACvB,WAAW;QACX,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;IAEjB,kBAAkB;QAClB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;IAErB,4CAA4C;IAC5C,gDAAgD;IAChD,gDAAgD;IAChD,+CAA+C;IAC/C,gDAAgD;IAChD,+CAA+C;IAC/C,2BAA2B;IAC3B,qCAAqC;IACrC,kCAAkC;IAClC,oDAAoD;CACrD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/format.js":{"lineLengths":[13,62,38,72,15,22,38,37,46,25,74,52,25,30,34,26,30,53,22,32,2,64,34],"data":{"version":3,"file":"format.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/format.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iBAAiB;IACjB,iCAAiC;IACjC,gCAAgC;IAChC,yCAAyC;IACzC,oBAAoB;IACpB,qEAAqE;IACrE,+CAA+C;IAC/C,oBAAoB;IACpB,yBAAyB;IACzB,6BAA6B;IAC7B,qBAAqB;IACrB,yBAAyB;IACzB,gDAAgD;IAChD,iBAAiB;IACjB,2BAA2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/free_memory.js":{"lineLengths":[13,62,38,72,15,35,44,19,2,73,39],"data":{"version":3,"file":"free_memory.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/free_memory.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,8BAA8B;IAC9B,uCAAuC;IACvC,cAAc;CACf,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/free_object.js":{"lineLengths":[13,62,38,72,15,26,2,73,39],"data":{"version":3,"file":"free_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/free_object.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;CACtB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/free.js":{"lineLengths":[13,62,38,72,15,19,2,60,32],"data":{"version":3,"file":"free.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/free.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,cAAc;CACf,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/function_pool.js":{"lineLengths":[13,62,38,72,15,43,57,67,2,77,41],"data":{"version":3,"file":"function_pool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/function_pool.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sCAAsC;IACtC,oDAAoD;IACpD,8DAA8D;CAC/D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/generate_dynpro.js":{"lineLengths":[13,62,38,72,15,77,120,2,81,43],"data":{"version":3,"file":"generate_dynpro.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/generate_dynpro.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wEAAwE;IACxE,mHAAmH;CACpH,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/generate_report.js":{"lineLengths":[13,62,38,72,15,31,33,40,34,34,28,26,33,34,34,31,31,31,55,70,30,22,22,16,25,32,30,25,23,22,22,25,24,35,30,28,26,26,23,25,23,24,31,2,81,43],"data":{"version":3,"file":"generate_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/generate_report.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0BAA0B;IAE1B,2BAA2B;QAC3B,8BAA8B;QAC9B,wBAAwB;QACxB,wBAAwB;QACxB,kBAAkB;QAClB,iBAAiB;IAEjB,2BAA2B;QAC3B,wBAAwB;QACxB,wBAAwB;QACxB,qBAAqB;QACrB,qBAAqB;QACrB,sBAAsB;IAEtB,kDAAkD;IAElD,iEAAiE;IAEjE;;;;;+BAK6B;IAE7B;;;;;;;kCAOgC;IAEhC;;;;;;;;8BAQ4B;CAC7B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/generate_subroutine.js":{"lineLengths":[13,62,38,72,15,44,30,31,28,44,30,33,30,30,30,54,44,28,34,34,44,33,31,36,33,35,31,29,38,36,39,36,38,36,39,34,35,2,89,47],"data":{"version":3,"file":"generate_subroutine.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/generate_subroutine.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sCAAsC;QACtC,oBAAoB;QACpB,qBAAqB;QACrB,mBAAmB;IAEnB,sCAAsC;QACtC,oBAAoB;QACpB,uBAAuB;QACvB,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;IAErB,iDAAiD;IAEjD,sCAAsC;QACtC,kBAAkB;QAClB,wBAAwB;QACxB,yBAAyB;IAEzB,sCAAsC;QACtC,uBAAuB;QACvB,qBAAqB;QACrB,0BAA0B;QAC1B,uBAAuB;QACvB,yBAAyB;QACzB,sBAAsB;IAEtB,uBAAuB;QACvB,4BAA4B;QAC5B,0BAA0B;QAC1B,6BAA6B;QAC7B,0BAA0B;QAC1B,4BAA4B;QAC5B,0BAA0B;QAC1B,6BAA6B;QAC7B,wBAAwB;QACxB,0BAA0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_badi.js":{"lineLengths":[13,62,38,72,15,26,44,34,38,62,2,67,36],"data":{"version":3,"file":"get_badi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_badi.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;IACrB,uCAAuC;IACvC,6BAA6B;IAC7B,iCAAiC;IACjC,yDAAyD;CAC1D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_bit.js":{"lineLengths":[13,62,38,72,15,40,2,65,35],"data":{"version":3,"file":"get_bit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_bit.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,mCAAmC;CACpC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_cursor.js":{"lineLengths":[13,62,38,72,15,33,25,29,33,59,45,75,2,71,38],"data":{"version":3,"file":"get_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_cursor.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4BAA4B;IAC5B,oBAAoB;IACpB,wBAAwB;IACxB,4BAA4B;IAC5B,sDAAsD;IACtD,wCAAwC;IACxC,sEAAsE;CACvE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_dataset.js":{"lineLengths":[13,62,38,72,15,47,50,2,73,39],"data":{"version":3,"file":"get_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_dataset.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0CAA0C;IAC1C,6CAA6C;CAC9C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_locale.js":{"lineLengths":[13,62,38,72,15,59,2,71,38],"data":{"version":3,"file":"get_locale.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_locale.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sDAAsD;CACvD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_parameter.js":{"lineLengths":[13,62,38,72,15,49,47,2,77,41],"data":{"version":3,"file":"get_parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_parameter.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4CAA4C;IAC5C,0CAA0C;CAC3C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_permissions.js":{"lineLengths":[13,62,38,72,15,57,17,23,23,30,2,81,43],"data":{"version":3,"file":"get_permissions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_permissions.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ;;;;6BAI2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_pf_status.js":{"lineLengths":[13,62,38,72,15,29,64,2,76,41],"data":{"version":3,"file":"get_pf_status.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_pf_status.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wBAAwB;IACxB,2DAA2D;CAC5D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_property.js":{"lineLengths":[13,62,38,72,15,52,55,72,2,75,40],"data":{"version":3,"file":"get_property.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_property.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+CAA+C;IAC/C,kDAAkD;IAClD,mEAAmE;CACpE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_reference.js":{"lineLengths":[13,62,38,72,15,53,2,77,41],"data":{"version":3,"file":"get_reference.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_reference.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,gDAAgD;CACjD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_run_time.js":{"lineLengths":[13,62,38,72,15,32,2,74,40],"data":{"version":3,"file":"get_run_time.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_run_time.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2BAA2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get_time.js":{"lineLengths":[13,62,38,72,15,41,16,30,2,67,36],"data":{"version":3,"file":"get_time.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get_time.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oCAAoC;IACpC,WAAW;IACX,yBAAyB;CAC1B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/get.js":{"lineLengths":[13,62,38,72,15,18,23,39,36,2,58,31],"data":{"version":3,"file":"get.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/get.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,aAAa;IACb,kBAAkB;IAClB,kCAAkC;IAClC,+BAA+B;CAChC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/hide.js":{"lineLengths":[13,62,38,72,15,21,20,2,60,32],"data":{"version":3,"file":"hide.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/hide.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,gBAAgB;IAChB,eAAe;CAChB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/if.js":{"lineLengths":[13,62,38,72,38,15,20,34,34,32,19,30,39,24,19,27,39,24,30,34,36,78,43,39,32,55,41,35,37,28,26,32,38,38,49,33,57,24,28,21,48,61,65,37,26,27,35,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,32,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,28,91,65,20,30,65,26,28,57,25,25,67,2,56,20,67,2,66,30],"data":{"version":3,"file":"if.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/if.ts"],"names":[],"mappings":";;AAAA,sCAA4D;AAC5D,wEAAwE;AACxE,sCAAqC;AAErC,MAAM,KAAK,GAAG;IACZ,eAAe;IACf,6BAA6B;IAC7B,6BAA6B;IAC7B,2BAA2B;IAC3B,cAAc;IACd,yBAAyB;IACzB,kCAAkC;IAClC,mBAAmB;IACnB,cAAc;IACd,sBAAsB;IACtB,kCAAkC;IAClC,mBAAmB;IACnB,yBAAyB;IACzB,6BAA6B;IAC7B,+BAA+B;IAC/B,yEAAyE;IACzE,sCAAsC;IACtC,kCAAkC;IACpC,4BAA4B;IAC1B,kDAAkD;IAClD,oCAAoC;IACpC,8BAA8B;IAC9B,gCAAgC;IAChC,uBAAuB;IACvB,qBAAqB;IACrB,2BAA2B;IAC3B,iCAAiC;IACjC,iCAAiC;IACjC,4CAA4C;IAC5C,4BAA4B;IAC5B,oDAAoD;IACpD,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;IAChB,2CAA2C;IAC3C,wDAAwD;IACxD,4DAA4D;IAC5D,gCAAgC;IAChC,qBAAqB;IACrB,sBAAsB;IAEtB,6BAA6B;QAC7B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,uBAAuB;IAEvB,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,mBAAmB;IAEnB,qFAAqF;QACnF,wDAAwD;IAC1D,eAAe;IACf,yBAAyB;IACzB,4DAA4D;IAC5D,qBAAqB;IACrB,uBAAuB;IACvB,cAAc,EAAE,qCAAqC;IACrD,oBAAoB;IACpB,oBAAoB;IACpB,8DAA8D;CAC/D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;AAG1C,MAAM,UAAU,GAAG;IACjB,EAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,aAAO,CAAC,IAAI,EAAC;CACvD,CAAC;AAEF,IAAA,2BAAkB,EAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/import_dynpro.js":{"lineLengths":[13,62,38,72,15,55,2,77,41],"data":{"version":3,"file":"import_dynpro.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/import_dynpro.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kDAAkD;CACnD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/import_nametab.js":{"lineLengths":[13,62,38,72,15,49,2,79,42],"data":{"version":3,"file":"import_nametab.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/import_nametab.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4CAA4C;CAC7C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/import.js":{"lineLengths":[13,62,38,72,38,15,46,80,57,55,75,77,64,63,50,68,61,87,58,42,43,60,64,93,101,79,72,87,59,61,2,64,20,97,2,74,34],"data":{"version":3,"file":"import.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/import.ts"],"names":[],"mappings":";;AAAA,sCAA4D;AAC5D,wEAAwE;AACxE,sCAAqC;AAErC,MAAM,KAAK,GAAG;IACZ,yCAAyC;IACzC,2EAA2E;IAC3E,oDAAoD;IACpD,kDAAkD;IAClD,qEAAqE;QACnE,oEAAoE;IACtE,2DAA2D;IAC3D,0DAA0D;IAC1D,6CAA6C;IAC7C,+DAA+D;IAC/D,wDAAwD;IACxD,kFAAkF;IAClF,oDAAoD;QACpD,gCAAgC;QAChC,kCAAkC;IAClC,uDAAuD;IACvD,2DAA2D;IAC3D,wFAAwF;IACxF,gGAAgG;IAChG,0EAA0E;IAC1E,mEAAmE;IACnE,kFAAkF;IAClF,sDAAsD;IACtD,wDAAwD;CACzD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AAElD,MAAM,UAAU,GAAG;IACjB,EAAC,IAAI,EAAE,wDAAwD,EAAE,GAAG,EAAE,aAAO,CAAC,KAAK,EAAC;CACrF,CAAC;AAEF,IAAA,2BAAkB,EAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/include_type.js":{"lineLengths":[13,62,38,72,15,27,30,40,54,2,75,40],"data":{"version":3,"file":"include_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/include_type.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sBAAsB;IACtB,yBAAyB;IACzB,mCAAmC;IACnC,iDAAiD;CAClD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/include.js":{"lineLengths":[13,62,38,72,15,52,24,23,76,35,2,66,35],"data":{"version":3,"file":"include.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/include.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+CAA+C;IAC/C,mBAAmB;IACnB,kBAAkB;IAClB,qBAAqB,EAAE,iDAAiD;IACxE,8BAA8B;CAC/B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/infotypes.js":{"lineLengths":[13,62,38,72,15,22,33,31,2,70,37],"data":{"version":3,"file":"infotypes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/infotypes.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iBAAiB;IACjB,4BAA4B;IAC5B,0BAA0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/initialization.js":{"lineLengths":[13,62,38,72,15,22,2,80,42],"data":{"version":3,"file":"initialization.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/initialization.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iBAAiB;CAClB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_database.js":{"lineLengths":[13,62,38,72,15,40,19,40,36,60,65,41,63,58,70,74,41,88,42,52,37,2,72,43],"data":{"version":3,"file":"insert_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/insert_database.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,mCAAmC;IACnC,cAAc;IACd,mCAAmC;IACnC,+BAA+B;IAC/B,uDAAuD;IACvD,4DAA4D;IAC5D,oCAAoC;IACpC,0DAA0D;IAC1D,qDAAqD;IACrD,iEAAiE;IACjE,qEAAqE;IACrE,oCAAoC;IACpC,mFAAmF;IACnF,qCAAqC;IACrC,+CAA+C;IAC/C,gCAAgC;CACjC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_field_group.js":{"lineLengths":[13,62,38,72,15,70,2,86,46],"data":{"version":3,"file":"insert_field_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/insert_field_group.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iCAAiC,EAAE,+BAA+B;CACnE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,oBAAoB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_internal.js":{"lineLengths":[13,62,38,72,50,15,55,67,78,42,43,54,38,80,58,53,75,71,71,30,20,42,44,85,36,63,50,50,27,26,41,41,85,2,72,16,52,68,67,61,39,48,2,52,18,122,113,2,87,12,88,2,83,22,109,2,68,43],"data":{"version":3,"file":"insert_internal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/insert_internal.ts"],"names":[],"mappings":";;AAAA,sCAAyH;AACzH,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,kDAAkD;IAClD,8DAA8D;IAC9D,yEAAyE;IACzE,qCAAqC;IACrC,sCAAsC;IACtC,iDAAiD;IACjD,iCAAiC;IACjC,2EAA2E;IAC3E,qDAAqD;IACrD,gDAAgD;IAChD,sEAAsE;IACtE,kEAAkE;IAClE,kEAAkE;IAClE,yBAAyB;IACzB;;;;mCAIiC;IACjC,0DAA0D;IAC1D,6CAA6C;IAC7C,6CAA6C;IAC7C,sBAAsB;IACtB,qBAAqB;IACrB,oCAAoC;IACpC,oCAAoC;IACpC,iDAAiD,EAAE,8BAA8B;CAClF,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;AAE1D,MAAM,MAAM,GAAG;IACb,+CAA+C;IAC/C,+DAA+D;IAC/D,8DAA8D;IAC9D,wDAAwD;IAC1D,mCAAmC;IACjC,2CAA2C;CAC5C,CAAC;AACF,IAAA,4BAAmB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEtC,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,0EAA0E,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;IACzG,EAAC,IAAI,EAAE,iEAAiE,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CACjG,CAAC;AAEF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;AAEzE,MAAM,EAAE,GAAG;IACT,EAAC,IAAI,EAAE,4CAA4C,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;CACxE,CAAC;AAEF,IAAA,2BAAkB,EAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;AAErE,MAAM,YAAY,GAAG;IACnB,EAAC,IAAI,EAAE,iEAAiE,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;CAC7F,CAAC;AAEF,IAAA,6BAAoB,EAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_report.js":{"lineLengths":[13,62,38,72,38,15,91,47,75,79,67,92,57,63,53,2,77,22,88,2,59,41],"data":{"version":3,"file":"insert_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/insert_report.ts"],"names":[],"mappings":";;AAAA,sCAA8D;AAC9D,wEAAwE;AACxE,sCAAqC;AAErC,MAAM,KAAK,GAAG;IACZ,sFAAsF;IACtF,0CAA0C;IAC1C,sEAAsE;IACtE,0EAA0E;IAC1E,8DAA8D;IAC9D,uFAAuF;IACvF,oDAAoD;IACpD,0DAA0D;IAC1D,gDAAgD;CACjD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;AAE/D,MAAM,YAAY,GAAG;IACnB,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,aAAO,CAAC,IAAI,EAAC;CAC5E,CAAC;AAEF,IAAA,6BAAoB,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/insert_textpool.js":{"lineLengths":[13,62,38,72,15,84,62,39,2,81,43],"data":{"version":3,"file":"insert_textpool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/insert_textpool.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+EAA+E;IAC/E,yDAAyD;IACzD,kCAAkC;CACnC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/interface_def.js":{"lineLengths":[13,62,38,72,50,15,55,48,47,63,63,54,44,2,74,18,91,2,80,41],"data":{"version":3,"file":"interface_def.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/interface_def.ts"],"names":[],"mappings":";;AAAA,sCAA0D;AAC1D,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,kDAAkD;IAClD,2CAA2C;IAC3C,0CAA0C;IAC1C,0DAA0D;IAC1D,0DAA0D;IAC1D,iDAAiD;IACjD,uCAAuC;CACxC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;AAE5D,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,2CAA2C,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CAC3E,CAAC;AAEF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/interface_deferred.js":{"lineLengths":[13,62,38,72,15,39,44,2,87,46],"data":{"version":3,"file":"interface_deferred.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/interface_deferred.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kCAAkC;IAClC,uCAAuC;CACxC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,oBAAoB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/interface.js":{"lineLengths":[13,62,38,72,15,30,38,2,70,37],"data":{"version":3,"file":"interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/interface.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yBAAyB;IACzB,iCAAiC;CAClC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/leave.js":{"lineLengths":[13,62,38,72,15,28,13,30,20,29,36,37,55,32,21,59,52,2,62,33],"data":{"version":3,"file":"leave.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/leave.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uBAAuB;IACvB,QAAQ;IACR,yBAAyB;IACzB,eAAe;IACf,wBAAwB;IACxB,+BAA+B;IAC/B,gCAAgC;IAChC,kDAAkD;IAClD,2BAA2B;IAC3B,gBAAgB;IAChB,sDAAsD;IACtD,+CAA+C;CAChD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/load_of_program.js":{"lineLengths":[13,62,38,72,15,23,2,80,43],"data":{"version":3,"file":"load_of_program.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/load_of_program.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/load_report.js":{"lineLengths":[13,62,38,72,15,52,2,73,39],"data":{"version":3,"file":"load_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/load_report.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+CAA+C;CAChD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/local.js":{"lineLengths":[13,62,38,72,15,17,19,21,2,62,33],"data":{"version":3,"file":"local.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/local.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,YAAY;IACZ,cAAc;IACd,gBAAgB;CACjB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/log_point.js":{"lineLengths":[13,62,38,72,15,41,45,27,56,59,45,2,69,37],"data":{"version":3,"file":"log_point.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/log_point.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oCAAoC;IACpC,wCAAwC;IACxC,sBAAsB;IACtB,mDAAmD;IACnD,sDAAsD;IACtD,wCAAwC;CACzC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/loop_at_screen.js":{"lineLengths":[13,62,38,72,50,15,22,38,2,78,22,62,2,67,42],"data":{"version":3,"file":"loop_at_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/loop_at_screen.ts"],"names":[],"mappings":";;AAAA,sCAA8D;AAC9D,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,iBAAiB;IACjB,iCAAiC;CAClC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;AAEhE,MAAM,YAAY,GAAG;IACnB,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;CAC9C,CAAC;AAEF,IAAA,6BAAoB,EAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/loop.js":{"lineLengths":[13,62,38,72,50,15,19,28,44,56,46,62,63,61,60,43,86,46,56,12,47,39,70,75,92,71,91,105,96,137,75,93,42,41,54,44,33,36,13,38,66,2,60,18,104,115,100,2,66,20,71,2,75,32],"data":{"version":3,"file":"loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/loop.ts"],"names":[],"mappings":";;AAAA,sCAA8E;AAC9E,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,cAAc;IACd,uBAAuB;IACvB,uCAAuC;IACvC,mDAAmD;IACnD,yCAAyC;IACzC,yDAAyD;IACzD,0DAA0D;IAC1D,wDAAwD;IACxD,uDAAuD;IACvD,sCAAsC;IACtC,iFAAiF;IACjF,yCAAyC;IACzC,mDAAmD;IACnD,OAAO;IACP,0CAA0C;IAC1C,kCAAkC;IAClC,iEAAiE;IACjE,sEAAsE;IACtE,uFAAuF;IACvF,kEAAkE;IAClE,sFAAsF;IACtF,oGAAoG;IACpG,2FAA2F;IAC3F,oIAAoI;IACpI,sEAAsE;IACtE,wFAAwF;IACxF,qCAAqC;IACrC,oCAAoC;IACpC;;;;;qCAKmC;IACnC,6DAA6D;CAC9D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAE9C,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,wDAAwD,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;IACvF,EAAC,IAAI,EAAE,mEAAmE,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;IAClG,EAAC,IAAI,EAAE,oDAAoD,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CACpF,CAAC;AAEF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAEpD,MAAM,UAAU,GAAG;IACjB,EAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;CACvD,CAAC;AAEF,IAAA,2BAAkB,EAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/message.js":{"lineLengths":[13,62,38,72,50,15,32,52,48,89,106,104,45,51,38,39,48,58,39,39,110,69,52,44,37,39,35,67,67,67,67,67,45,31,57,45,45,2,66,24,69,117,93,107,35,20,24,86,51,2,80,26,69,118,87,94,88,72,87,2,64,35],"data":{"version":3,"file":"message.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/message.ts"],"names":[],"mappings":";;AAAA,sCAAkF;AAClF,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,2BAA2B;IAC3B,+CAA+C;IAC/C,2CAA2C;IAC3C,oFAAoF;IACpF,oGAAoG;QAClG,+FAA+F;IACjG,wCAAwC;IACxC,8CAA8C;IAC9C,iCAAiC;IACjC,kCAAkC;IAClC,2CAA2C;IAC3C,qDAAqD;IACrD,kCAAkC;IAClC,kCAAkC;IAClC,yGAAyG;IACzG,gEAAgE;IAChE,+CAA+C;IAC/C,uCAAuC;IACvC,gCAAgC;IAChC,kCAAkC;IAClC,8BAA8B;IAC9B,8DAA8D;IAC9D,8DAA8D;IAC9D,8DAA8D;IAC9D,8DAA8D;IAC9D,8DAA8D;IAC9D,wCAAwC;IACxC,0BAA0B;IAC1B,oDAAoD;IACpD,wCAAwC;IACxC,wCAAwC;CACzC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AAEpD,MAAM,cAAc,GAAG;IACrB,EAAC,IAAI,EAAE,yBAAyB,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IACpD,EAAC,IAAI,EAAE,wEAAwE,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;IACpG,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;IAC5E,EAAC,IAAI,EAAE,8DAA8D,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;IAC1F,EAAC,IAAI,EAAE;;;;kBAIS,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;CACtC,CAAC;AAEF,IAAA,2BAAkB,EAAC,cAAc,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AAElE,MAAM,gBAAgB,GAAG;IACvB,EAAC,IAAI,EAAE,yBAAyB,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IACpD,EAAC,IAAI,EAAE,0EAA0E,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IACrG,EAAC,IAAI,EAAE,0CAA0C,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;IACtE,EAAC,IAAI,EAAE,iDAAiD,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;IAC7E,EAAC,IAAI,EAAE,2CAA2C,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;IACvE,EAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;IACvD,EAAC,IAAI,EAAE,0CAA0C,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC;CACvE,CAAC;AAEF,IAAA,6BAAoB,EAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/method_def.js":{"lineLengths":[13,62,38,72,50,15,67,95,96,98,85,81,61,36,30,51,65,74,52,88,78,54,79,90,69,73,65,63,74,54,57,84,125,104,60,91,53,59,36,50,38,29,25,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,45,57,74,68,76,59,45,52,68,48,58,36,13,27,36,30,13,30,52,66,35,18,42,79,24,78,77,89,106,80,36,41,73,71,48,38,76,76,68,70,65,71,115,42,36,36,39,93,75,62,63,85,121,2,68,18,81,2,74,15,68,2,54,38],"data":{"version":3,"file":"method_def.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/method_def.ts"],"names":[],"mappings":";;AAAA,sCAA+E;AAC/E,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,8DAA8D;IAC9D,0FAA0F;IAC1F,2FAA2F;IAC3F,6FAA6F;IAC7F,gFAAgF;IAChF,4EAA4E;IAC5E,wDAAwD;IACxD,+BAA+B;IAC/B,yBAAyB;IACzB,8CAA8C;IAC9C,4DAA4D;IAC5D,qEAAqE;IACrE,+CAA+C;IAC/C,mFAAmF;IACnF,yEAAyE;IACzE,iDAAiD;IACjD,0EAA0E;IAC1E,qFAAqF;IACrF,gEAAgE;IAChE,oEAAoE;IACpE,4DAA4D;IAC5D,0DAA0D;IAC1D,qEAAqE;IACrE,iDAAiD;IACjD,oDAAoD;IACpD,+EAA+E;IAC/E,wHAAwH;IACxH,mGAAmG;IACnG,uDAAuD;IACvD,sFAAsF;IACtF,gDAAgD;IAChD,sDAAsD;IACtD,+BAA+B;IAC/B,6CAA6C;IAC7C,iCAAiC;IACjC,uBAAuB;QACvB,eAAe;QACf,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,oCAAoC;IACpC,oDAAoD;IACpD,qEAAqE;IACrE,+DAA+D;IAC/D,uEAAuE;IACvE,sDAAsD;IACtD,wCAAwC;IACxC,+CAA+C;IAC/C,+DAA+D;IAC/D,2CAA2C;IAC3C,qDAAqD;IAErD;;;;;;6BAM2B;IAC3B,+CAA+C;IAC/C,6DAA6D;IAC7D;;yCAEuC;IACvC,0EAA0E;IAC1E,mBAAmB;IACnB,yEAAyE;IAEzE,wEAAwE;IACxE,oFAAoF;IACpF,qGAAqG;IACrG,2EAA2E;IAE3E;;;;;qCAKmC;IAEnC,uEAAuE;IACvE,uEAAuE;IACvE,+DAA+D;IAC/D,iEAAiE;IACjE,4DAA4D;IAC5D,kEAAkE;IAClE,8GAA8G;IAE9G;;;sCAGoC;IAEpC,wFAAwF;IACxF,sEAAsE;IACtE,yDAAyD;IACzD,0DAA0D;IAC1D,gFAAgF;IAChF,oHAAoH;CACrH,CAAC;AACF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;AAGtD,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CACjE,CAAC;AACF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;AAE5D,MAAM,KAAK,GAAG;IACZ,+DAA+D;CAChE,CAAC;AACF,IAAA,4BAAmB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/method.js":{"lineLengths":[13,62,38,72,15,22,50,52,53,51,70,86,101,86,101,23,2,78,34],"data":{"version":3,"file":"method.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/method.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iBAAiB;IACjB,6CAA6C;IAC7C,+CAA+C;IAC/C,gDAAgD;IAChD,8CAA8C;IAC9C,iEAAiE;IACjE,iFAAiF;IACjF,gGAAgG;IAChG,iFAAiF;IACjF,gGAAgG;IAChG,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_database.js":{"lineLengths":[13,62,38,72,15,34,36,42,37,63,57,42,48,2,81,43],"data":{"version":3,"file":"modify_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/modify_database.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,6BAA6B;IAC7B,+BAA+B;IAC/B,qCAAqC;IACrC,gCAAgC;IAChC,0DAA0D;IAC1D,oDAAoD;IACpD,qCAAqC;IACrC,2CAA2C;CAC5C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_entities.js":{"lineLengths":[13,62,38,72,15,33,12,51,21,28,27,12,45,28,35,27,12,61,21,25,24,27,14,27,15,23,30,27,30,23,30,41,14,25,23,26,46,14,71,71,73,23,32,14,64,25,23,29,2,81,43],"data":{"version":3,"file":"modify_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/modify_entities.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ;;;;2BAIyB;IAEzB;;;;kCAIgC;IAEhC;;;;;uBAKqB;IAErB;;;;;6BAK2B;IAE3B;;;6BAG2B;IAE3B;;;;yBAIuB;IAEvB;;;;;sBAKoB;IAEpB;;;;;4BAK0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_internal.js":{"lineLengths":[13,62,38,72,15,48,38,23,39,59,59,55,75,70,81,53,67,57,41,63,63,60,65,89,106,40,85,82,2,72,43],"data":{"version":3,"file":"modify_internal.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/modify_internal.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2CAA2C;IAC3C,iCAAiC;IACjC,kBAAkB;IAClB,kCAAkC;IAClC,sDAAsD;IACtD,sDAAsD;IACtD,kDAAkD;IAClD,sEAAsE;IACtE,iEAAiE;IACjE,4EAA4E;IAC5E,gDAAgD;IAChD,8DAA8D;IAC9D,oDAAoD;IACpD,oCAAoC;IACpC,0DAA0D;IAC1D,0DAA0D;IAC1D,uDAAuD;IACvD,4DAA4D;IAC5D,oFAAoF;IACpF,qGAAqG;IACrG,mCAAmC;IACnC,gFAAgF;IAClF,8EAA8E;CAC7E,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_line.js":{"lineLengths":[13,62,38,72,15,61,55,26,21,45,53,99,105,64,57,87,64,56,75,57,53,51,53,75,2,73,39],"data":{"version":3,"file":"modify_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/modify_line.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wDAAwD;IACxD,kDAAkD;IAClD,qBAAqB;IACrB,gBAAgB;IAChB,wCAAwC;IACxC,gDAAgD;IAChD,8FAA8F;IAC9F,oGAAoG;IACpG,2DAA2D;IAC3D,oDAAoD;IACpD,kFAAkF;IAClF,2DAA2D;IAC3D,mDAAmD;IACnD,sEAAsE;IACtE,oDAAoD;IACpD,gDAAgD;IAChD,8CAA8C;IAC9C,gDAAgD;IAChD,sEAAsE;CACvE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/modify_screen.js":{"lineLengths":[13,62,38,72,15,21,29,2,77,41],"data":{"version":3,"file":"modify_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/modify_screen.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,gBAAgB;IAChB,wBAAwB;CACzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/module.js":{"lineLengths":[13,62,38,72,15,38,30,21,2,64,34],"data":{"version":3,"file":"module.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/module.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iCAAiC;IACjC,yBAAyB;IACzB,gBAAgB;CACjB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/move_corresponding.js":{"lineLengths":[13,62,38,72,50,15,49,63,58,47,2,87,18,136,2,93,46],"data":{"version":3,"file":"move_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/move_corresponding.ts"],"names":[],"mappings":";;AAAA,sCAA0D;AAC1D,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,4CAA4C;IAC5C,0DAA0D;IAC1D,qDAAqD;IACrD,0CAA0C;CAC3C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,oBAAoB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAEzE,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,wFAAwF,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CACxH,CAAC;AAEF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,oBAAoB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/move.js":{"lineLengths":[13,62,28,38,72,50,15,24,33,24,24,18,28,39,47,61,63,39,46,30,38,27,33,30,40,44,31,30,45,26,57,25,27,29,79,67,26,36,41,42,57,33,42,41,26,22,16,16,20,20,22,63,67,70,70,70,49,72,78,78,78,78,78,78,78,78,78,78,78,78,78,73,83,36,36,26,50,29,50,29,37,26,26,57,57,43,53,59,79,34,56,47,29,67,49,39,67,59,23,61,72,62,88,88,71,60,73,78,60,47,83,29,26,23,26,31,47,36,85,91,105,113,6,52,62,39,27,10,5,89,98,106,108,106,108,106,108,108,100,106,108,106,108,106,116,6,23,64,64,61,63,68,70,64,64,65,75,23,66,66,63,61,63,63,65,63,62,70,63,66,62,63,63,66,63,63,67,68,23,66,66,63,93,93,93,65,93,93,70,72,66,93,93,93,66,93,93,67,77,26,26,53,53,58,127,125,58,37,54,119,118,33,76,81,40,58,77,39,42,67,59,12,12,39,42,22,34,25,30,21,25,36,34,36,27,57,84,52,54,63,39,64,43,34,10,66,57,64,17,36,56,42,35,54,54,39,39,39,77,32,0,13,46,44,43,51,33,44,60,35,42,49,131,33,48,91,91,16,31,29,27,27,27,48,33,33,34,34,35,39,126,22,2,60,18,76,145,153,82,82,86,91,112,98,132,115,141,111,123,75,85,113,82,132,122,102,103,81,102,90,80,41,43,84,32,53,53,53,53,53,88,32,58,25,62,47,56,58,25,62,137,124,135,133,96,105,120,142,94,71,133,126,108,118,88,95,42,94,63,42,81,63,42,79,63,42,88,63,111,72,113,113,117,47,34,58,60,86,69,49,84,51,35,53,39,39,75,52,27,40,40,26,63,79,34,48,69,58,58,58,58,63,61,38,82,30,42,27,56,2,66,12,89,2,62,22,62,58,2,57,32],"data":{"version":3,"file":"move.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/move.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/new_line.js":{"lineLengths":[13,62,38,72,15,16,26,29,2,67,36],"data":{"version":3,"file":"new_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/new_line.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,WAAW;IACX,qBAAqB;IACrB,wBAAwB;CACzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/new_page.js":{"lineLengths":[13,62,38,72,15,35,36,27,26,30,29,53,93,65,16,85,27,35,34,37,31,33,29,29,23,27,36,37,32,43,23,18,24,43,47,47,47,53,55,54,54,47,48,53,23,2,67,36],"data":{"version":3,"file":"new_page.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/new_page.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,8BAA8B;IAC9B,+BAA+B;IAC/B,sBAAsB;IACtB,qBAAqB;IACrB,yBAAyB;IACzB,wBAAwB;IACxB,gDAAgD;IAChD,wFAAwF;IACxF,4DAA4D;IAC5D,WAAW;IACX,gFAAgF;IAEhF,qBAAqB;QACrB,yBAAyB;QACzB,wBAAwB;QACxB,2BAA2B;QAC3B,qBAAqB;QACrB,uBAAuB;QACvB,mBAAmB;QACnB,mBAAmB;QACnB,cAAc;IAEd,qBAAqB;QACrB,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;QACtB,iCAAiC;QACjC,cAAc;IAEd,YAAY;QACZ,cAAc;QACd,iCAAiC;QACjC,qCAAqC;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,2CAA2C;QAC3C,6CAA6C;QAC7C,4CAA4C;QAC5C,4CAA4C;QAC5C,qCAAqC;QACrC,sCAAsC;QACtC,2CAA2C;QAC3C,cAAc;CACf,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/nodes.js":{"lineLengths":[13,62,38,72,15,18,2,62,33],"data":{"version":3,"file":"nodes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/nodes.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,aAAa;CACd,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/on_change.js":{"lineLengths":[13,62,38,72,15,36,51,2,69,37],"data":{"version":3,"file":"on_change.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/on_change.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+BAA+B;IAC/B,8CAA8C;CAC/C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/open_cursor.js":{"lineLengths":[13,62,38,72,15,98,51,66,134,115,2,73,39],"data":{"version":3,"file":"open_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/open_cursor.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,6FAA6F;IAC7F,8CAA8C;IAC9C,6DAA6D;IAC7D,iIAAiI;IACjI,8GAA8G;CAC/G,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/open_dataset.js":{"lineLengths":[13,62,38,72,15,59,71,50,70,84,102,56,58,88,69,72,65,69,77,76,101,87,40,68,42,49,86,91,83,95,89,83,92,83,95,83,79,77,2,67,40],"data":{"version":3,"file":"open_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/open_dataset.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sDAAsD;IACtD,kEAAkE;IAClE,6CAA6C;IAC7C,iEAAiE;IACjE,+EAA+E;IAC/E,iGAAiG;IACjG,mDAAmD;IACnD,qDAAqD;IACrD,mFAAmF;IACnF,gEAAgE;IAChE,mEAAmE;IACnE,4DAA4D;IAC5D,gEAAgE;IAChE,wEAAwE;IACxE,uEAAuE;IACvE,gGAAgG;IAChG,iFAAiF;QACjF,+BAA+B;IAC/B,8DAA8D;QAC9D,gCAAgC;QAChC,wCAAwC;IACxC,iFAAiF;IACjF,qFAAqF;QACrF,0EAA0E;IAC1E,0FAA0F;IAC1F,mFAAmF;QACnF,0EAA0E;IAC1E,sFAAsF;QACtF,0EAA0E;IAC1E,yFAAyF;QACzF,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;CACzE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/overlay.js":{"lineLengths":[13,62,38,72,15,48,37,2,66,35],"data":{"version":3,"file":"overlay.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/overlay.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2CAA2C;IAC3C,gCAAgC;CACjC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/pack.js":{"lineLengths":[13,62,38,72,15,23,2,60,32],"data":{"version":3,"file":"pack.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/pack.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/parameter.js":{"lineLengths":[13,62,38,72,15,63,65,62,59,65,60,99,47,62,54,45,67,77,65,50,50,54,56,86,53,39,44,59,48,85,51,52,67,36,50,72,72,54,108,2,70,37],"data":{"version":3,"file":"parameter.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/parameter.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0DAA0D;IAC1D,4DAA4D;IAC5D,yDAAyD;IACzD,sDAAsD;IACtD,4DAA4D;IAC5D,uDAAuD;IACvD,8FAA8F;IAC9F,0CAA0C;IAC1C,yDAAyD;IACzD,iDAAiD;IACjD,wCAAwC;IACxC,8DAA8D;IAC9D,wEAAwE;IACxE,4DAA4D;IAC5D,6CAA6C;IAC7C,6CAA6C;IAC7C,iDAAiD;IACjD,mDAAmD;IACnD,iFAAiF;IACjF,gDAAgD;IAChD,kCAAkC;IAClC,uCAAuC;IACvC,sDAAsD;IACtD,2CAA2C;IAC3C,gFAAgF;IAChF,8CAA8C;IAC9C,+CAA+C;IAC/C,8DAA8D;IAC9D,+BAA+B;IAC/B,6CAA6C;IAC7C,mEAAmE;IACnE,mEAAmE;IACnE,iDAAiD;IACjD,uGAAuG;CACxG,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/perform.js":{"lineLengths":[13,62,38,72,15,58,57,40,47,36,71,40,19,28,30,67,44,31,44,54,62,20,21,2,66,35],"data":{"version":3,"file":"perform.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/perform.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qDAAqD;IACrD,oDAAoD;IACpD,mCAAmC;IACnC,0CAA0C;IAC1C,+BAA+B;IAC/B,kEAAkE;IAClE,mCAAmC;IACnC,cAAc;IACd,uBAAuB;IACvB,yBAAyB;IACzB,8DAA8D;IAC9D,uCAAuC;IACvC,0BAA0B;IAC1B,uCAAuC;IACvC,iDAAiD;IACjD,yDAAyD;IACzD,eAAe;IACf,gBAAgB;CACjB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/position.js":{"lineLengths":[13,62,38,72,15,23,2,68,36],"data":{"version":3,"file":"position.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/position.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/print_control.js":{"lineLengths":[13,62,38,72,15,40,37,2,77,41],"data":{"version":3,"file":"print_control.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/print_control.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,mCAAmC;IACnC,gCAAgC;CACjC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/program.js":{"lineLengths":[13,62,38,72,15,23,51,76,34,15,2,66,35],"data":{"version":3,"file":"program.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/program.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;IAClB,8CAA8C;IAC9C,uEAAuE;IACvE,6BAA6B;IAC7B,UAAU;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/provide.js":{"lineLengths":[13,62,38,72,15,27,86,39,27,79,23,79,37,71,49,61,126,63,98,85,15,85,85,42,2,66,35],"data":{"version":3,"file":"provide.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/provide.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;QACnB,4EAA4E;QAC5E,8BAA8B;IAEhC,qBAAqB;QACnB,qEAAqE;QACrE,aAAa;QACb,qEAAqE;QACrE,4BAA4B;IAE9B,kEAAkE;IAElE,4CAA4C;IAC5C,wDAAwD;IAExD,yHAAyH;IAEzH,0DAA0D;IAE1D;;;;;yCAKuC;CAExC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/put.js":{"lineLengths":[13,62,38,72,15,15,2,58,31],"data":{"version":3,"file":"put.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/put.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,UAAU;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/raise_entity_event.js":{"lineLengths":[13,62,38,72,15,55,2,79,46],"data":{"version":3,"file":"raise_entity_event.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/raise_entity_event.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kDAAkD;CACnD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/raise_event.js":{"lineLengths":[13,62,38,72,15,27,79,2,73,39],"data":{"version":3,"file":"raise_event.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/raise_event.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sBAAsB;IACtB,0EAA0E;CAC3E,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/raise.js":{"lineLengths":[13,62,38,72,50,15,37,31,49,70,55,77,92,99,54,38,86,85,55,74,17,74,82,91,56,30,36,2,62,18,81,104,116,108,125,92,80,2,68,15,51,88,2,50,33],"data":{"version":3,"file":"raise.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/raise.ts"],"names":[],"mappings":";;AAAA,sCAA+E;AAC/E,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,gCAAgC;IAChC,0BAA0B;IAC1B,4CAA4C;IAC5C,iEAAiE;IACjE,kDAAkD;IAClD,uEAAuE;QACrE,mFAAmF;IACrF,8FAA8F;IAC9F,iDAAiD;IACjD,iCAAiC;IACjC,iFAAiF;IACjF,gFAAgF;IAChF,kDAAkD;IAClD,qEAAqE;IACrE,YAAY;IACZ,qEAAqE;IACrE,6EAA6E;IAC7E,sFAAsF;IACtF;;mCAEiC;CAClC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AAGhD,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,mEAAmE;YACxE,4DAA4D,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IAClF,EAAC,IAAI,EAAE,wEAAwE,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IACnG,EAAC,IAAI,EAAE,gEAAgE,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IAC3F,EAAC,IAAI,EAAE,iFAAiF,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IAC5G,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;IAC3E,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;CAChE,CAAC;AAEF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AAGtD,MAAM,KAAK,GAAG;IACZ,8CAA8C;IAChD,oFAAoF;CACnF,CAAC;AACF,IAAA,4BAAmB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/ranges.js":{"lineLengths":[13,62,38,72,15,49,40,51,2,64,34],"data":{"version":3,"file":"ranges.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/ranges.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4CAA4C;IAC5C,mCAAmC;IACnC,8CAA8C;CAC/C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_dataset.js":{"lineLengths":[13,62,38,72,15,59,91,91,2,75,40],"data":{"version":3,"file":"read_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/read_dataset.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sDAAsD;IACtD,sFAAsF;IACtF,sFAAsF;CACvF,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_entities.js":{"lineLengths":[13,62,38,72,15,42,14,49,23,39,15,24,34,20,23,30,39,26,24,36,19,19,23,30,44,15,21,33,24,30,44,14,17,25,20,58,28,30,14,20,31,23,29,30,14,46,23,26,33,2,77,41],"data":{"version":3,"file":"read_entities.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/read_entities.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ;;;sBAGoB;IAEpB;;;;;;6BAM2B;IAE3B;;;;;;;6BAO2B;IAE3B;;;;;6BAK2B;IAE3B;;;;;;2BAMyB;IAEzB;;;;;4BAK0B;IAE1B;;;;;gCAK8B;CAC/B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_line.js":{"lineLengths":[13,62,38,72,15,49,60,43,26,27,93,41,45,2,69,37],"data":{"version":3,"file":"read_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/read_line.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4CAA4C;IAC5C,uDAAuD;IACvD,sCAAsC;IACtC,qBAAqB;IACrB,sBAAsB;IACtB,wFAAwF;IACxF,oCAAoC;IACpC,wCAAwC;CACzC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_report.js":{"lineLengths":[13,62,38,72,15,55,46,57,77,2,73,39],"data":{"version":3,"file":"read_report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/read_report.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kDAAkD;IAClD,yCAAyC;IACzC,oDAAoD;IACpD,wEAAwE;CACzE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_table.js":{"lineLengths":[13,62,72,38,50,15,78,70,62,58,56,64,88,95,96,105,69,89,69,108,75,88,90,114,71,90,40,58,85,44,78,99,71,82,79,75,61,71,65,59,27,47,38,30,33,36,76,70,91,2,71,18,132,2,77,38],"data":{"version":3,"file":"read_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/read_table.ts"],"names":[],"mappings":";;AAAA,wEAAwE;AACxE,sCAA0D;AAC1D,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,yEAAyE;IACzE,iEAAiE;IACjE,yDAAyD;IACzD,qDAAqD;IACrD,mDAAmD;IACnD,2DAA2D;IAC3D,mFAAmF;IACnF,0FAA0F;IAC1F,2FAA2F;IAC3F,oGAAoG;IACpG,gEAAgE;IAChE,oFAAoF;IACpF,gEAAgE;IAChE,uGAAuG;IACvG,sEAAsE;IACtE,mFAAmF;IACnF,qFAAqF;IACrF,6GAA6G;IAC7G,kEAAkE;IAClE,qFAAqF;IACrF,mCAAmC;IACnC,qDAAqD;IACrD,gFAAgF;IAChF,uCAAuC;IACvC,yEAAyE;IACzE,8FAA8F;IAC9F,kEAAkE;IAClE,6EAA6E;IAC7E,0EAA0E;IAC1E,sEAAsE;IACtE,wDAAwD;IACxD,kEAAkE;IAClE,4DAA4D;IAC5D,sDAAsD;IAEtD,qBAAqB;QACrB,qCAAqC;QACrC,4BAA4B;QAC5B,oBAAoB;QACpB,uBAAuB;QACvB,2BAA2B;IAE3B,uEAAuE;IACvE,iEAAiE;IACjE,sFAAsF;CAEvF,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;AAGzD,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,oFAAoF,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CACpH,CAAC;AAEF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/read_textpool.js":{"lineLengths":[13,62,38,72,15,62,41,68,2,77,41],"data":{"version":3,"file":"read_textpool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/read_textpool.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yDAAyD;IACzD,oCAAoC;IACpC,+DAA+D;CAChE,CAAC;AACF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/receive.js":{"lineLengths":[13,62,38,72,15,49,24,37,25,37,37,35,49,28,22,28,49,24,30,30,26,26,45,28,25,33,2,66,35],"data":{"version":3,"file":"receive.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/receive.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2CAA2C;QAC3C,cAAc;QACd,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,2BAA2B;QAC3B,0BAA0B;IAE1B,2CAA2C;QAC3C,kBAAkB;QAClB,YAAY;QACZ,mBAAmB;IAEnB,2CAA2C;QAC3C,cAAc;QACd,oBAAoB;QACpB,oBAAoB;QACpB,gBAAgB;QAChB,iBAAiB;IAEjB,uCAAuC;QACvC,kBAAkB;QAClB,eAAe;QACf,wBAAwB;CAEzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/refresh_control.js":{"lineLengths":[13,62,38,72,15,47,2,81,43],"data":{"version":3,"file":"refresh_control.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/refresh_control.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0CAA0C;CAC3C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/refresh.js":{"lineLengths":[13,62,38,72,15,19,23,41,2,66,35],"data":{"version":3,"file":"refresh.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/refresh.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,cAAc;IACd,kBAAkB;IAClB,oCAAoC;CACrC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/reject.js":{"lineLengths":[13,62,38,72,15,14,21,2,64,34],"data":{"version":3,"file":"reject.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/reject.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,SAAS;IACT,gBAAgB;CACjB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/replace.js":{"lineLengths":[13,62,38,72,15,79,64,38,51,58,59,54,59,81,65,64,82,78,87,69,79,49,88,69,59,134,141,60,56,71,63,60,45,41,40,2,66,35],"data":{"version":3,"file":"replace.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/replace.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0EAA0E;IAC1E,2DAA2D;IAC3D,iCAAiC;IACjC,8CAA8C;IAC9C,qDAAqD;IACrD,sDAAsD;IACtD,iDAAiD;IACjD,sDAAsD;IACtD,4EAA4E;IAC5E,4DAA4D;IAC5D,2DAA2D;IAC3D,6EAA6E;IAC7E,yEAAyE;IACzE,kFAAkF;IAClF,gEAAgE;IAChE,0EAA0E;IAC1E,4CAA4C;IAC5C,mFAAmF;IACnF,gEAAgE;IAChE,sDAAsD;IACtD,iIAAiI;IACjI,wIAAwI;IACxI,uDAAuD;IACvD,mDAAmD;IACnD,kEAAkE;IAClE,0DAA0D;IAC1D,uDAAuD;IACvD,wCAAwC;IACxC,oCAAoC;IACpC,mCAAmC;CACpC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/report.js":{"lineLengths":[13,62,38,72,15,37,14,38,75,77,23,36,23,23,90,81,52,29,31,22,2,64,34],"data":{"version":3,"file":"report.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/report.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,gCAAgC;IAChC,SAAS;IACT,iCAAiC;IACjC,sEAAsE;IACtE,wEAAwE;IACxE,kBAAkB;IAClB,+BAA+B;IAC/B,kBAAkB;IAClB,kBAAkB;IAClB,qFAAqF;IACrF,4EAA4E;IAC5E,+CAA+C;IAC/C,wBAAwB;IACxB,0BAA0B;IAC1B,iBAAiB;CAClB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/reserve.js":{"lineLengths":[13,62,38,72,15,24,2,66,35],"data":{"version":3,"file":"reserve.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/reserve.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,mBAAmB;CACpB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/resume.js":{"lineLengths":[13,62,38,72,15,14,2,64,34],"data":{"version":3,"file":"resume.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/resume.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,SAAS;CACV,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/rollback.js":{"lineLengths":[13,62,38,72,15,21,36,35,2,73,36],"data":{"version":3,"file":"rollback.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/rollback.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,gBAAgB;IAChB,+BAA+B;IAC/B,8BAA8B;CAC/B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/scan.js":{"lineLengths":[13,62,38,72,15,98,34,46,50,46,50,29,27,34,46,50,46,50,29,29,36,36,38,42,40,29,29,27,74,83,33,39,43,41,38,37,29,27,33,38,42,38,54,49,36,29,29,27,33,38,42,40,40,39,39,29,27,33,47,51,48,46,29,33,27,27,33,47,43,44,44,44,41,41,27,33,26,24,38,40,34,37,45,29,30,33,45,50,45,47,46,44,29,29,29,39,33,33,45,47,46,50,29,42,42,42,52,47,50,53,36,33,40,44,29,29,38,30,39,43,47,43,42,39,39,41,32,27,38,45,47,46,29,29,31,38,43,47,43,47,49,41,41,43,44,44,37,2,60,32],"data":{"version":3,"file":"scan.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/scan.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,6FAA6F;IAE7F,4BAA4B;QAC5B,oCAAoC;QACpC,wCAAwC;QACxC,oCAAoC;QACpC,wCAAwC;QACxC,mBAAmB;QACnB,kBAAkB;IAElB,4BAA4B;QAC5B,oCAAoC;QACpC,wCAAwC;QACxC,oCAAoC;QACpC,wCAAwC;QACxC,mBAAmB;QACnB,mBAAmB;QACnB,2BAA2B;IAE3B,8BAA8B;QAC9B,4BAA4B;QAC5B,gCAAgC;QAChC,8BAA8B;QAC9B,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;IAElB,qEAAqE;IAErE,8EAA8E;IAE9E,2BAA2B;QAC3B,6BAA6B;QAC7B,iCAAiC;QACjC,+BAA+B;QAC/B,4BAA4B;QAC5B,2BAA2B;QAC3B,mBAAmB;QACnB,kBAAkB;IAElB,2BAA2B;QAC3B,4BAA4B;QAC5B,gCAAgC;QAChC,4BAA4B;QAC5B,4CAA4C;QAC5C,uCAAuC;QACvC,0BAA0B;QAC1B,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;IAElB,2BAA2B;QAC3B,4BAA4B;QAC5B,gCAAgC;QAChC,8BAA8B;QAC9B,8BAA8B;QAC9B,6BAA6B;QAC7B,6BAA6B;QAC7B,mBAAmB;QACnB,kBAAkB;IAElB,2BAA2B;QAC3B,qCAAqC;QACrC,yCAAyC;QACzC,sCAAsC;QACtC,oCAAoC;QACpC,mBAAmB;QACnB,uBAAuB;QACvB,iBAAiB;QACjB,kBAAkB;IAElB,2BAA2B;QAC3B,qCAAqC;QACrC,iCAAiC;QACjC,kCAAkC;QAClC,kCAAkC;QAClC,kCAAkC;QAClC,+BAA+B;QAC/B,+BAA+B;QAC/B,kBAAkB;IAElB,2BAA2B;QAC3B,gBAAgB;QAChB,cAAc;QACd,4BAA4B;QAC5B,+BAA+B;IAE/B,4BAA4B;QAC5B,2BAA2B;QAC3B,mCAAmC;QACnC,mBAAmB;QACnB,qBAAqB;IAErB,2BAA2B;QAC3B,mCAAmC;QACnC,wCAAwC;QACxC,mCAAmC;QACnC,qCAAqC;QACrC,oCAAoC;QACpC,kCAAkC;QAClC,mBAAmB;QACnB,mBAAmB;QACnB,mBAAmB;QACnB,6BAA6B;QAC7B,wBAAwB;IAExB,2BAA2B;QAC3B,mCAAmC;QACnC,qCAAqC;QACrC,oCAAoC;QACpC,wCAAwC;QACxC,mBAAmB;QACnB,gCAAgC;QAChC,gCAAgC;QAChC,gCAAgC;QAChC,0CAA0C;QAC1C,qCAAqC;QACrC,wCAAwC;QACxC,2CAA2C;QAC3C,2BAA2B;IAE3B,2BAA2B;QAC3B,8BAA8B;QAC9B,kCAAkC;QAClC,mBAAmB;QACnB,mBAAmB;QACnB,4BAA4B;QAC5B,qBAAqB;IAErB,iCAAiC;QACjC,iCAAiC;QACjC,qCAAqC;QACrC,iCAAiC;QACjC,gCAAgC;QAChC,6BAA6B;QAC7B,6BAA6B;QAC7B,+BAA+B;QAC/B,sBAAsB;QACtB,kBAAkB;IAElB,gCAAgC;QAChC,mCAAmC;QACnC,qCAAqC;QACrC,oCAAoC;QACpC,mBAAmB;QACnB,mBAAmB;QACnB,qBAAqB;QACrB,4BAA4B;QAC5B,iCAAiC;QACjC,qCAAqC;QACrC,iCAAiC;QACjC,qCAAqC;QACrC,uCAAuC;QACvC,+BAA+B;QAC/B,+BAA+B;QAC/B,iCAAiC;QACjC,kCAAkC;QAClC,kCAAkC;QAClC,4BAA4B;CAE7B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/scroll_list.js":{"lineLengths":[13,62,38,72,15,61,65,45,33,28,27,48,53,2,73,39],"data":{"version":3,"file":"scroll_list.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/scroll_list.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wDAAwD;IACxD,4DAA4D;IAC5D,wCAAwC;IACxC,4BAA4B;IAC5B,uBAAuB;IACvB,sBAAsB;IACtB,2CAA2C;IAC3C,gDAAgD;CACjD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/search.js":{"lineLengths":[13,62,38,72,15,44,39,65,52,60,41,2,64,34],"data":{"version":3,"file":"search.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/search.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uCAAuC;IACvC,kCAAkC;IAClC,4DAA4D;IAC5D,+CAA+C;IAC/C,uDAAuD;IACvD,oCAAoC;CACrC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/select_loop.js":{"lineLengths":[13,62,38,72,15,30,49,86,107,122,115,129,70,96,136,100,97,87,69,130,77,38,94,85,137,30,63,43,44,42,30,63,43,44,42,5,23,12,21,15,13,16,14,19,70,79,85,88,99,80,88,87,25,6,38,38,17,13,10,25,25,46,31,40,19,23,83,82,93,71,19,18,28,56,29,36,21,40,32,32,77,28,26,24,27,45,56,15,20,36,36,29,26,26,2,73,39],"data":{"version":3,"file":"select_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/select_loop.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yBAAyB;IACzB,4CAA4C;IAC5C,iFAAiF;IACjF,sGAAsG;IACtG,qHAAqH;IACrH,8GAA8G;IAC9G,4HAA4H;IAC5H,iEAAiE;IACjE,2FAA2F;IAC3F,mIAAmI;IACnI,+FAA+F;IAC/F,4FAA4F;IAC5F,kFAAkF;IAClF,gEAAgE;IAChE,6HAA6H;IAC7H,uEAAuE;QACvE,4BAA4B;QAC5B,qFAAqF;IACrF,gFAAgF;IAClF,qIAAqI;IAEnI,wBAAwB;QACxB,qDAAqD;QACrD,iCAAiC;QACjC,kCAAkC;QAClC,iCAAiC;IAEjC,wBAAwB;QACxB,qDAAqD;QACrD,iCAAiC;QACjC,kCAAkC;QAClC,iCAAiC;IAEjC;;;;;;;;kBAQgB;IAEhB,iEAAiE;IAEjE,0EAA0E;IAC1E,gFAAgF;IAChF,mFAAmF;IACnF,8FAA8F;IAC9F,2EAA2E;IAC3E,mFAAmF;IACnF,kFAAkF;IAElF;;;;;;;wBAOsB;IAEtB;;;;;sBAKoB;IAEpB,8EAA8E;IAC9E,6EAA6E;IAC7E,wFAAwF;IAExF;;;2BAGyB;IAEzB;;;oBAGkB;IAElB;;;;;;;;;uDASqD;IAErD;;;;;;yBAMuB;CACxB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/select.js":{"lineLengths":[13,62,38,72,50,15,82,104,120,91,127,120,55,115,109,111,66,63,99,53,114,83,59,118,67,114,54,63,85,71,82,62,86,76,87,69,92,139,65,89,105,81,62,126,132,111,49,53,62,34,43,49,39,61,63,34,41,37,53,33,42,33,35,30,39,57,36,54,53,29,32,37,36,55,36,68,70,57,65,52,114,102,113,125,35,44,25,32,38,41,39,11,6,30,55,34,40,50,44,38,27,4,57,36,54,36,36,47,30,36,41,34,39,38,59,27,46,42,94,101,115,80,73,102,66,112,115,102,65,76,124,80,69,70,81,22,44,29,56,70,22,44,29,56,54,49,79,88,66,85,13,33,29,44,1,46,64,108,74,129,63,43,19,19,50,82,31,53,30,31,26,15,38,37,16,23,15,38,38,4,5,124,18,24,28,24,28,22,34,31,38,23,14,122,17,24,25,25,25,25,24,28,24,28,22,34,31,38,23,26,60,14,49,117,102,74,59,76,69,91,107,22,17,46,46,33,77,88,77,77,45,12,15,30,92,83,32,25,44,46,53,48,57,34,37,19,19,50,31,36,54,58,59,66,30,10,28,33,25,9,38,17,59,33,60,18,21,36,31,21,25,48,22,6,47,20,42,56,40,40,56,50,65,68,11,55,23,33,21,61,45,104,66,70,54,38,15,76,31,28,25,34,11,55,72,23,75,18,27,50,76,129,74,39,54,51,26,27,37,49,36,38,30,36,36,36,38,36,36,36,36,36,36,36,22,33,35,72,99,31,53,29,86,2,64,18,112,107,31,10,15,23,14,7,59,2,70,22,42,13,89,46,28,11,21,50,21,32,33,56,2,59,34],"data":{"version":3,"file":"select.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/select.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/selectionscreen.js":{"lineLengths":[13,62,38,72,15,68,67,45,38,36,39,31,30,70,82,29,42,65,77,73,70,36,41,42,54,57,40,64,53,63,78,59,48,74,67,77,69,37,60,66,53,49,55,58,46,83,65,95,77,72,66,69,89,89,2,83,43],"data":{"version":3,"file":"selectionscreen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/selectionscreen.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+DAA+D;IAC/D,8DAA8D;IAC9D,wCAAwC;IACxC,iCAAiC;IACjC,+BAA+B;IAC/B,kCAAkC;IAClC,0BAA0B;IAC1B,yBAAyB;IACzB,iEAAiE;IACjE,6EAA6E;IAC7E,wBAAwB;IACxB,qCAAqC;IACrC,4DAA4D;IAC5D,wEAAwE;IACxE,oEAAoE;IACpE,iEAAiE;IACjE,+BAA+B;IAC/B,oCAAoC;IACpC,qCAAqC;IACrC,iDAAiD;IACjD,oDAAoD;IACpD,mCAAmC;IACnC,2DAA2D;IAC3D,gDAAgD;IAChD,0DAA0D;IAC1D,yEAAyE;IACzE,sDAAsD;IACtD,2CAA2C;IAC3C,qEAAqE;IACrE,8DAA8D;IAC9D,wEAAwE;IACxE,gEAAgE;IAChE,gCAAgC;IAChC,uDAAuD;IACvD,6DAA6D;IAC7D,gDAAgD;IAChD,4CAA4C;IAC5C,kDAAkD;IAClD,qDAAqD;IACrD,yCAAyC;IACzC,8EAA8E;IAC9E,4DAA4D;IAC5D,0FAA0F;IAC1F,wEAAwE;IACxE,mEAAmE;IACnE,6DAA6D;IAC7D,gEAAgE;IAChE,oFAAoF;IACpF,oFAAoF;CACrF,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/selectoption.js":{"lineLengths":[13,62,38,72,15,34,47,58,56,54,67,58,67,70,70,69,67,41,45,57,64,61,56,50,73,57,61,75,49,58,46,2,78,40],"data":{"version":3,"file":"selectoption.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/selectoption.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,6BAA6B;IAC7B,0CAA0C;IAC1C,qDAAqD;IACrD,mDAAmD;IACnD,iDAAiD;IACjD,8DAA8D;IAC9D,qDAAqD;IACrD,8DAA8D;IAC9D,iEAAiE;IACjE,iEAAiE;IACjE,gEAAgE;IAChE,8DAA8D;IAC9D,oCAAoC;IACpC,wCAAwC;IACxC,oDAAoD;IACpD,2DAA2D;IAC3D,wDAAwD;IACxD,mDAAmD;IACnD,6CAA6C;IAC7C,oEAAoE;IACpE,oDAAoD;IACpD,wDAAwD;IACxD,sEAAsE;IACtE,4CAA4C;IAC5C,qDAAqD;IACrD,yCAAyC;CAC1C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_bit.js":{"lineLengths":[13,62,38,72,15,47,51,2,65,35],"data":{"version":3,"file":"set_bit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_bit.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0CAA0C;IAC1C,8CAA8C;CAC/C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_blank.js":{"lineLengths":[13,62,38,72,15,26,27,2,69,37],"data":{"version":3,"file":"set_blank.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_blank.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;IACrB,sBAAsB;CACvB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_country.js":{"lineLengths":[13,62,38,72,15,24,2,73,39],"data":{"version":3,"file":"set_country.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_country.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,mBAAmB;CACpB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_cursor.js":{"lineLengths":[13,62,38,72,15,31,38,32,40,50,48,2,71,38],"data":{"version":3,"file":"set_cursor.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_cursor.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0BAA0B;IAC1B,iCAAiC;IACjC,2BAA2B;IAC3B,mCAAmC;IACnC,6CAA6C;IAC7C,2CAA2C;CAC5C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_dataset.js":{"lineLengths":[13,62,38,72,15,41,51,2,73,39],"data":{"version":3,"file":"set_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_dataset.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oCAAoC;IACpC,8CAA8C;CAC/C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_extended_check.js":{"lineLengths":[13,62,38,72,15,30,29,2,86,46],"data":{"version":3,"file":"set_extended_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_extended_check.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yBAAyB;IACzB,wBAAwB;CACzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,oBAAoB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_handler.js":{"lineLengths":[13,62,38,72,15,51,69,55,56,26,41,56,50,2,73,39],"data":{"version":3,"file":"set_handler.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_handler.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,8CAA8C;IAC9C,gEAAgE;IAChE,kDAAkD;IAClD,mDAAmD;IACnD,qBAAqB;IACrB,oCAAoC;IACpC,mDAAmD;IACnD,6CAA6C;CAC9C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_language.js":{"lineLengths":[13,62,38,72,15,29,2,75,40],"data":{"version":3,"file":"set_language.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_language.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wBAAwB;CACzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_left.js":{"lineLengths":[13,62,38,72,15,32,43,2,67,36],"data":{"version":3,"file":"set_left.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_left.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2BAA2B;IAC3B,sCAAsC;CACvC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_locale.js":{"lineLengths":[13,62,38,72,15,46,32,70,2,71,38],"data":{"version":3,"file":"set_locale.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_locale.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yCAAyC;IACzC,2BAA2B;IAC3B,iEAAiE;CAClE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_locks.js":{"lineLengths":[13,62,38,72,15,21,14,15,23,30,2,69,37],"data":{"version":3,"file":"set_locks.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_locks.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ;;;;6BAI2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_margin.js":{"lineLengths":[13,62,38,72,15,22,21,21,2,71,38],"data":{"version":3,"file":"set_margin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_margin.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_pf_status.js":{"lineLengths":[13,62,38,72,15,35,54,62,55,66,2,76,41],"data":{"version":3,"file":"set_pf_status.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_pf_status.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,8BAA8B;IAC9B,iDAAiD;IACjD,yDAAyD;IACzD,kDAAkD;IAClD,6DAA6D;CAC9D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_property.js":{"lineLengths":[13,62,38,72,15,59,51,76,83,2,75,40],"data":{"version":3,"file":"set_property.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_property.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sDAAsD;IACtD,8CAA8C;IAC9C,uEAAuE;IACvE,8EAA8E;CAC/E,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_run_time.js":{"lineLengths":[13,62,38,72,15,41,42,32,33,2,74,40],"data":{"version":3,"file":"set_run_time.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_run_time.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,oCAAoC;IACpC,qCAAqC;IACrC,2BAA2B;IAC3B,4BAA4B;CAC7B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_screen.js":{"lineLengths":[13,62,38,72,15,23,2,71,38],"data":{"version":3,"file":"set_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_screen.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_titlebar.js":{"lineLengths":[13,62,38,72,15,28,47,45,67,2,75,40],"data":{"version":3,"file":"set_titlebar.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_titlebar.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uBAAuB;IACvB,0CAA0C;IAC1C,wCAAwC;IACxC,8DAA8D;CAC/D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_update_task.js":{"lineLengths":[13,62,38,72,15,29,2,80,43],"data":{"version":3,"file":"set_update_task.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_update_task.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wBAAwB;CACzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/set_user_command.js":{"lineLengths":[13,62,38,72,15,31,2,82,44],"data":{"version":3,"file":"set_user_command.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/set_user_command.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0BAA0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/shift.js":{"lineLengths":[13,62,38,72,15,28,46,26,55,57,100,54,38,36,38,55,35,32,2,62,33],"data":{"version":3,"file":"shift.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/shift.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uBAAuB;IACvB,yCAAyC;IACzC,qBAAqB;IACrB,kDAAkD;IAClD,oDAAoD;IACpD,+FAA+F;IAC/F,iDAAiD;IACjD,iCAAiC;IACjC,+BAA+B;IAC/B,iCAAiC;IACjC,kDAAkD;IAClD,8BAA8B;IAC9B,2BAA2B;CAC5B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/skip.js":{"lineLengths":[13,62,38,72,15,12,23,14,2,60,32],"data":{"version":3,"file":"skip.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/skip.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,OAAO;IACP,kBAAkB;IAClB,SAAS;CACV,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/sort_dataset.js":{"lineLengths":[13,62,38,72,15,23,12,2,75,40],"data":{"version":3,"file":"sort_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/sort_dataset.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;IAClB,OAAO;CACR,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/sort.js":{"lineLengths":[13,62,38,72,15,46,36,33,28,45,46,60,46,28,36,46,21,22,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,37,25,35,30,20,52,2,60,32],"data":{"version":3,"file":"sort.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/sort.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yCAAyC;IACzC,+BAA+B;IAC/B,4BAA4B;IAC5B,uBAAuB;IACvB,wCAAwC;IACxC,yCAAyC;IACzC,uDAAuD;IACvD,yCAAyC;IACzC,uBAAuB;IACvB,+BAA+B;IAC/B,yCAAyC;IACzC,gBAAgB;IAEhB,gBAAgB;QAChB,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,2BAA2B;QAC3B,eAAe;QACf,0BAA0B;IAE1B,yBAAyB;IACzB,eAAe;IACjB,gDAAgD;CAC/C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/split.js":{"lineLengths":[13,62,38,72,15,56,74,71,52,2,62,33],"data":{"version":3,"file":"split.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/split.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,mDAAmD;IACnD,qEAAqE;IACrE,kEAAkE;IAClE,+CAA+C;CAChD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/start_of_selection.js":{"lineLengths":[13,62,38,72,15,26,2,86,46],"data":{"version":3,"file":"start_of_selection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/start_of_selection.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;CACtB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,oBAAoB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/static_begin.js":{"lineLengths":[13,62,38,72,15,28,37,2,75,40],"data":{"version":3,"file":"static_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/static_begin.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uBAAuB;IACvB,gCAAgC;CACjC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/static_end.js":{"lineLengths":[13,62,38,72,15,26,2,71,38],"data":{"version":3,"file":"static_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/static_end.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;CACtB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/static.js":{"lineLengths":[13,62,38,72,15,26,101,35,25,55,35,25,40,37,40,30,2,64,34],"data":{"version":3,"file":"static.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/static.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,qBAAqB;IACrB,gGAAgG;IAChG,8BAA8B;IAC9B,oBAAoB;IACpB,kDAAkD;IAClD,8BAA8B;IAC9B,oBAAoB;IACpB,mCAAmC;IACnC,gCAAgC;IAChC,mCAAmC;IACnC,yBAAyB;CAC1B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/stop.js":{"lineLengths":[13,62,38,72,15,12,2,60,32],"data":{"version":3,"file":"stop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/stop.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,OAAO;CACR,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/submit.js":{"lineLengths":[13,62,38,72,15,82,67,65,55,107,81,76,55,88,70,66,92,70,66,91,137,132,105,117,90,65,73,31,22,34,41,30,4,32,37,33,24,40,40,53,50,44,56,45,47,49,24,83,91,99,54,11,18,18,49,19,17,6,2,64,34],"data":{"version":3,"file":"submit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/submit.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,6EAA6E;IAC7E,8DAA8D;IAC9D,4DAA4D;IAC5D,kDAAkD;IAClD,sGAAsG;IACtG,4EAA4E;IAC5E,uEAAuE;IACvE,kDAAkD;IAClD,kFAAkF;QAChF,6DAA6D;IAC/D,6DAA6D;IAC7D,uFAAuF;IACvF,iEAAiE;IACjE,6DAA6D;IAC7D,sFAAsF;IACtF,oIAAoI;IACpI,+HAA+H;IAC/H,oGAAoG;IACpG,gHAAgH;IAChH,qFAAqF;IACrF,4DAA4D;IAC5D,oEAAoE;IAEpE;;;;;IAKA;IAEA,0BAA0B;QAC1B,2BAA2B;QAC3B,wBAAwB;IAExB,kBAAkB;QAClB,8BAA8B;QAC9B,8BAA8B;QAC9B,2CAA2C;QAC3C,wCAAwC;QACxC,kCAAkC;QAClC,8CAA8C;QAC9C,mCAAmC;QACnC,qCAAqC;QACrC,uCAAuC;QACvC,eAAe;IAEf,8EAA8E;IAE9E,sFAAsF;IACtF,8FAA8F;IAC9F,iDAAiD;IAEjD;;;;;;MAME;CACH,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/subtract_corresponding.js":{"lineLengths":[13,62,38,72,15,43,2,95,50],"data":{"version":3,"file":"subtract_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/subtract_corresponding.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sCAAsC;CACvC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,wBAAwB,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/subtract.js":{"lineLengths":[13,62,38,72,15,29,2,68,36],"data":{"version":3,"file":"subtract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/subtract.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wBAAwB;CACzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/sum.js":{"lineLengths":[13,62,38,72,15,11,2,58,31],"data":{"version":3,"file":"sum.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/sum.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,MAAM;CACP,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/summary.js":{"lineLengths":[13,62,38,72,15,15,2,66,35],"data":{"version":3,"file":"summary.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/summary.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,UAAU;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/supply.js":{"lineLengths":[13,62,38,72,15,39,2,64,34],"data":{"version":3,"file":"supply.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/supply.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kCAAkC;CACnC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/suppress_dialog.js":{"lineLengths":[13,62,38,72,15,23,2,81,43],"data":{"version":3,"file":"suppress_dialog.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/suppress_dialog.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/syntax_check.js":{"lineLengths":[13,62,38,72,15,97,37,34,31,33,31,34,40,36,34,37,44,39,26,37,37,37,37,39,36,36,38,32,33,30,30,28,30,30,32,28,26,38,34,31,33,31,35,36,44,36,34,32,40,40,38,86,101,89,42,24,24,24,31,28,26,39,33,30,30,33,35,40,38,38,33,35,35,37,36,48,48,46,35,40,37,37,40,40,43,37,34,54,28,29,27,26,27,29,30,28,25,25,25,27,30,36,24,21,21,21,25,2,75,40],"data":{"version":3,"file":"syntax_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/syntax_check.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4FAA4F;IAE5F,+BAA+B;QAC/B,wBAAwB;QACxB,qBAAqB;QACrB,uBAAuB;QACvB,qBAAqB;QACrB,wBAAwB;QACxB,8BAA8B;QAC9B,0BAA0B;QAC1B,wBAAwB;QACxB,2BAA2B;QAC3B,kCAAkC;QAClC,8BAA8B;IAE9B,oBAAoB;QACpB,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,2BAA2B;QAC3B,6BAA6B;QAC7B,0BAA0B;QAC1B,0BAA0B;QAC1B,4BAA4B;QAC5B,uBAAuB;IAEvB,2BAA2B;QAC3B,oBAAoB;QACpB,oBAAoB;QACpB,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;QACtB,kBAAkB;QAClB,iBAAiB;IAEjB,gCAAgC;QAChC,wBAAwB;QACxB,qBAAqB;QACrB,uBAAuB;QACvB,qBAAqB;QACrB,yBAAyB;QACzB,0BAA0B;QAC1B,kCAAkC;QAClC,0BAA0B;QAC1B,wBAAwB;QACxB,sBAAsB;QACtB,8BAA8B;QAC9B,8BAA8B;QAC9B,6BAA6B;IAE7B,iFAAiF;IAEjF,gGAAgG;IAEhG,oFAAoF;IAEpF,oCAAoC;QACpC,cAAc;QACd,cAAc;QACd,cAAc;QACd,qBAAqB;QACrB,kBAAkB;QAClB,iBAAiB;IAEjB,iCAAiC;QACjC,uBAAuB;QACvB,oBAAoB;QACpB,oBAAoB;QACpB,wBAAwB;IAExB,6BAA6B;QAC7B,8BAA8B;QAC9B,4BAA4B;QAC5B,4BAA4B;QAC5B,uBAAuB;QACvB,yBAAyB;QACzB,yBAAyB;QACzB,2BAA2B;QAC3B,0BAA0B;QAC1B,sCAAsC;QACtC,sCAAsC;QACtC,qCAAqC;IAErC,6BAA6B;QAC7B,8BAA8B;QAC9B,2BAA2B;QAC3B,2BAA2B;QAC3B,8BAA8B;QAC9B,8BAA8B;QAC9B,iCAAiC;QACjC,2BAA2B;QAC3B,yBAAyB;IAEzB,iDAAiD;IAEjD;;;;;;;;;;;;6BAY2B;IAE3B;;;;;wBAKsB;CAEvB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/system_call.js":{"lineLengths":[13,62,38,72,15,48,45,20,5,30,12,9,13,19,2,73,39],"data":{"version":3,"file":"system_call.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/system_call.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,2CAA2C;IAC3C,wCAAwC;IACxC;;;;;;kBAMgB;CACjB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/test_injection.js":{"lineLengths":[13,62,38,72,15,31,2,79,42],"data":{"version":3,"file":"test_injection.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/test_injection.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0BAA0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/test_seam.js":{"lineLengths":[13,62,38,72,15,21,25,2,69,37],"data":{"version":3,"file":"test_seam.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/test_seam.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,gBAAgB;IAChB,oBAAoB;CACrB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/top_of_page.js":{"lineLengths":[13,62,38,72,15,19,41,2,72,39],"data":{"version":3,"file":"top_of_page.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/top_of_page.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,cAAc;IACd,oCAAoC;CACrC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/transfer.js":{"lineLengths":[13,62,38,72,15,49,49,39,50,2,68,36],"data":{"version":3,"file":"transfer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/transfer.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4CAA4C;IAC5C,4CAA4C;IAC5C,kCAAkC;IAClC,6CAA6C;CAC9C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/translate.js":{"lineLengths":[13,62,38,72,15,39,38,2,70,37],"data":{"version":3,"file":"translate.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/translate.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kCAAkC;IAClC,iCAAiC;CAClC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/truncate_dataset.js":{"lineLengths":[13,62,38,72,15,55,2,83,44],"data":{"version":3,"file":"truncate_dataset.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/truncate_dataset.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kDAAkD;CACnD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_begin.js":{"lineLengths":[13,62,38,72,15,31,31,2,71,38],"data":{"version":3,"file":"type_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/type_begin.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0BAA0B;IAC1B,0BAA0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_end.js":{"lineLengths":[13,62,38,72,15,29,29,2,67,36],"data":{"version":3,"file":"type_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/type_end.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,wBAAwB;IACxB,wBAAwB;CACzB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_enum_begin.js":{"lineLengths":[13,62,38,72,15,65,2,80,43],"data":{"version":3,"file":"type_enum_begin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/type_enum_begin.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,4DAA4D;CAC7D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_enum_end.js":{"lineLengths":[13,62,38,72,15,46,2,76,41],"data":{"version":3,"file":"type_enum_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/type_enum_end.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,yCAAyC;CAC1C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_enum.js":{"lineLengths":[13,62,38,72,15,34,27,2,69,37],"data":{"version":3,"file":"type_enum.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/type_enum.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,6BAA6B;IAC7B,sBAAsB;CACvB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_mesh.js":{"lineLengths":[13,62,38,72,15,76,2,69,37],"data":{"version":3,"file":"type_mesh.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/type_mesh.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uEAAuE;CACxE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type_pools.js":{"lineLengths":[13,62,38,72,15,23,2,71,38],"data":{"version":3,"file":"type_pools.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/type_pools.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/type.js":{"lineLengths":[13,62,38,72,50,15,37,19,81,85,75,95,26,29,44,44,84,77,63,67,32,86,87,32,53,17,31,28,53,21,53,53,51,64,88,85,54,2,60,18,108,2,66,15,48,75,64,2,50,32],"data":{"version":3,"file":"type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/type.ts"],"names":[],"mappings":";;AAAA,sCAA+E;AAC/E,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,gCAAgC;IAChC,cAAc;IACd,4EAA4E;IAC5E,gFAAgF;IAChF,sEAAsE;IACtE,0FAA0F;IAC1F,qBAAqB;IACrB,wBAAwB;IACxB,uCAAuC;IACvC,uCAAuC;IACvC,+EAA+E;IAC/E,wEAAwE;IACxE,0DAA0D;IAC1D,6DAA6D;QAC7D,sBAAsB;QACtB,6EAA6E;IAC7E,kFAAkF;IAClF,2BAA2B;IAC3B,gDAAgD;IAChD;;;;oBAIkB;IAClB,gDAAgD;IAChD,gDAAgD;IAChD,8CAA8C;IAC9C,2DAA2D;IAC3D,mFAAmF;IACnF,gFAAgF;IAChF,iDAAiD;CAClD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAE9C,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,4DAA4D,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CAC5F,CAAC;AAEF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAEpD,MAAM,KAAK,GAAG;IACZ,2CAA2C;IAC3C,sEAAsE;IACtE,2DAA2D;CAC5D,CAAC;AACF,IAAA,4BAAmB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/uline.js":{"lineLengths":[13,62,38,72,15,13,18,19,20,18,30,24,22,25,17,29,30,31,2,62,33],"data":{"version":3,"file":"uline.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/uline.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,QAAQ;IACR,aAAa;IACb,cAAc;IACd,eAAe;IACf,aAAa;IACb,yBAAyB;IACzB,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,YAAY;IACZ,wBAAwB;IACxB,yBAAyB;IACzB,0BAA0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/unassign.js":{"lineLengths":[13,62,38,72,15,23,24,2,68,36],"data":{"version":3,"file":"unassign.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/unassign.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kBAAkB;IAClB,mBAAmB;CACpB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/unpack.js":{"lineLengths":[13,62,38,72,15,31,2,64,34],"data":{"version":3,"file":"unpack.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/unpack.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,0BAA0B;CAC3B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/update_database.js":{"lineLengths":[13,62,38,72,15,36,31,19,36,40,56,55,91,68,34,83,91,59,60,75,2,72,43],"data":{"version":3,"file":"update_database.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/update_database.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,+BAA+B;IAC/B,0BAA0B;IAC1B,cAAc;IACd,+BAA+B;IAC/B,mCAAmC;IACnC,mDAAmD;IACnD,kDAAkD;IAClD,sFAAsF;IACtF,+DAA+D;IAC/D,6BAA6B;IAC7B,8EAA8E;IAC9E,sFAAsF;IACtF,sDAAsD;IACtD,uDAAuD;IACvD,sEAAsE;CACvE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/wait.js":{"lineLengths":[13,62,38,72,50,15,28,29,45,77,73,100,2,60,18,126,2,66,20,130,2,70,22,126,2,57,32],"data":{"version":3,"file":"wait.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/wait.ts"],"names":[],"mappings":";;AAAA,sCAAoG;AACpG,wEAAwE;AACxE,kDAA6C;AAE7C,MAAM,KAAK,GAAG;IACZ,uBAAuB;IACvB,wBAAwB;IACxB,wCAAwC;IACxC,wEAAwE;IACxE,oEAAoE;IACpE,+FAA+F;CAChG,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAE9C,MAAM,QAAQ,GAAG;IACf,EAAC,IAAI,EAAE,kFAAkF,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;CAC9G,CAAC;AACF,IAAA,yBAAgB,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAEpD,MAAM,UAAU,GAAG;IACjB,EAAC,IAAI,EAAE,kFAAkF,EAAE,GAAG,EAAE,iBAAO,CAAC,QAAQ,EAAC;CAClH,CAAC;AACF,IAAA,2BAAkB,EAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAExD,MAAM,YAAY,GAAG;IACnB,EAAC,IAAI,EAAE,kFAAkF,EAAE,GAAG,EAAE,iBAAO,CAAC,IAAI,EAAC;CAC9G,CAAC;AACF,IAAA,6BAAoB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/when_others.js":{"lineLengths":[13,62,38,72,15,19,2,73,39],"data":{"version":3,"file":"when_others.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/when_others.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,cAAc;CACf,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/when_type.js":{"lineLengths":[13,62,38,72,15,39,33,26,2,69,37],"data":{"version":3,"file":"when_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/when_type.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,kCAAkC;IAClC,4BAA4B;IAC5B,qBAAqB;CACtB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/when.js":{"lineLengths":[13,62,38,72,15,16,16,23,2,60,32],"data":{"version":3,"file":"when.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/when.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,WAAW;IACX,WAAW;IACX,kBAAkB;CACnB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/while.js":{"lineLengths":[13,62,38,72,15,43,35,62,34,2,62,33],"data":{"version":3,"file":"while.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/while.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,sCAAsC;IACtC,8BAA8B;IAC9B,yDAAyD;IACzD,6BAA6B;CAC9B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/window.js":{"lineLengths":[13,62,38,72,15,44,30,2,64,34],"data":{"version":3,"file":"window.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/window.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,uCAAuC;IACvC,yBAAyB;CAC1B,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/with.js":{"lineLengths":[13,62,38,72,15,63,74,2,60,32],"data":{"version":3,"file":"with.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/with.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ;yEACuE;CACxE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/statements/write.js":{"lineLengths":[13,62,38,72,15,22,23,31,58,50,67,44,64,26,62,27,29,29,37,30,26,49,44,39,55,43,63,25,24,31,15,44,43,77,32,45,40,48,37,28,24,34,48,51,35,61,28,60,49,68,33,41,59,33,62,37,80,44,40,52,42,22,24,25,25,55,64,91,48,48,55,55,37,34,52,39,25,61,18,24,2,62,33],"data":{"version":3,"file":"write.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/statements/write.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,wEAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;IAC1B,qDAAqD;IACrD,6CAA6C;IAC7C,8DAA8D;IAC9D,uCAAuC;IACvC,2DAA2D;IAC3D,qBAAqB;IACrB,yDAAyD;IACzD,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;IACxB,gCAAgC;IAChC,yBAAyB;IACzB,qBAAqB;IACrB,4CAA4C;IAC5C,uCAAuC;IACvC,kCAAkC;IAClC,kDAAkD;IAClD,sCAAsC;IACtC,0DAA0D;IAC1D,oBAAoB;IACpB,mBAAmB;IACnB,0BAA0B;IAC1B,UAAU;IACV,uCAAuC;IACvC,sCAAsC;IACtC,wEAAwE;IACxE,2BAA2B;IAC3B,wCAAwC;IACxC,mCAAmC;IACnC,2CAA2C;IAC3C,gCAAgC;IAChC,uBAAuB;IACvB,mBAAmB;IACnB,6BAA6B;IAC7B,2CAA2C;IAC3C,8CAA8C;IAC9C,8BAA8B;IAC9B,wDAAwD;IACxD,uBAAuB;IACvB,uDAAuD;IACvD,4CAA4C;IAC5C,+DAA+D;IAC/D,4BAA4B;IAC5B,oCAAoC;IACpC,sDAAsD;IACtD,4BAA4B;IAC5B,yDAAyD;IACzD,gCAAgC;IAChC,2EAA2E;IAC3E,uCAAuC;IACvC,mCAAmC;IACnC,+CAA+C;IAC/C,qCAAqC;IACrC,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,kDAAkD;IAClD,2DAA2D;IAC3D,sFAAsF;IACtF,2CAA2C;IAC3C,2CAA2C;IAC3C,kDAAkD;IAClD,kDAAkD;IAClD,gCAAgC;IAChC,6BAA6B;IAC7B,+CAA+C;IAC/C,kCAAkC;IAClC,oBAAoB;IACpB,wDAAwD;IACxD,aAAa;IACb,mBAAmB;CACpB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structure_errors.js":{"lineLengths":[13,62,69,31,37,49,61,15,104,115,114,121,2,60,26,31,30,14,117,54,71,68,20,11,7,3,16,50,55,77,60,60,69,76,76,46,57,53,105,2,58,27,26,100,33,62,13,18,62,77,13,11,7,3,47,34,75,76,26,37,68,66,13,9,49,7,3,44],"data":{"version":3,"file":"structure_errors.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structure_errors.ts"],"names":[],"mappings":";;AAAA,qEAAqE;AACrE,+BAA4B;AAE5B,qCAAoC;AACpC,iDAA4C;AAC5C,6DAAuD;AAEvD,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,UAAU,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAC;IACjG,EAAC,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,UAAU,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAC;IAC5G,EAAC,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,UAAU,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAC;IAC3G,EAAC,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,UAAU,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAC;CACnH,CAAC;AAEF,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,KAAK,CAAC,OAAO,CAAC,CAAC,CAA6E,EAAE,EAAE;QAC9F,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;YACzB,kBAAkB;YAClB;;;;;oBAKQ;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAGH,MAAM,MAAM,GAAG;IACb,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAC;IAC3C,EAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAC;IAChD,EAAC,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,qBAAqB,EAAC;IACtE,EAAC,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,EAAC;IACrD,EAAC,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,EAAC;IACrD,EAAC,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,gBAAgB,EAAC;IAC9D,EAAC,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,gBAAgB,EAAC;IACrE,EAAC,IAAI,EAAE,kDAAkD,EAAE,KAAK,EAAE,EAAE,EAAC;IACrE,EAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE,EAAC;IACvC,EAAC,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,EAAE,EAAC;IAClD,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAC;IAC9C,EAAC,IAAI,EAAE,8DAA8D,EAAE,KAAK,EAAE,mBAAmB,EAAC;CACnG,CAAC;AAEF,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAgC,EAAE,EAAE;QAClD,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;YACd,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,WAAW,CAAC,CAAC;YAC1E,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;gBACnB,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACzD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,0BAA0B,EAAE,CAAC;gBACtD,KAAK,GAAG,IAAI,CAAC,CAAC,oCAAoC;YACpD,CAAC;QACH,CAAC;QACD,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/_combi.js":{"lineLengths":[13,62,31,77,72,72,51,75,64,52,55,11,20,5,21,43,5,20,43,5,1,30,34,50,74,52,20,7,1,45,52,28,39,73,61,63,56,68,92,7,32,39,71,61,63,55,7,28,39,96,61,63,56,68,7,27,39,43,61,63,55,7,3,39,71,28,39,73,61,63,56,68,7,32,39,71,61,63,56,68,7,28,39,96,61,63,56,68,7,27,39,43,61,63,56,68,7,3,40,73,29,39,74,61,63,56,68,7,33,39,72,61,63,56,68,7,30,39,97,61,63,56,68,7,30,39,118,61,63,56,68,7,28,39,44,61,63,56,68,7,3,39,105,28,39,94,61,63,56,68,7,32,39,71,61,63,55,68,7,29,39,115,61,63,56,68,7,27,39,43,61,63,55,68,7,3,39,105,29,39,73,61,63,56,68,7,32,39,73,61,63,55,68,7,29,39,94,61,63,56,68,7,3,49,54,28,39,73,61,63,56,68,7,31,39,84,61,63,55,68,7,3,44,148,33,39,119,61,63,56,7,36,39,84,61,63,55,7,3,45,18,22,107,9,5,63,32,39,96,61,63,56,68,85,85,7,3,34],"data":{"version":3,"file":"_combi.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/_combi.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/any.js":{"lineLengths":[13,62,38,74,15,17,38,42,55,41,47,42,8,19,38,75,40,2,59,31],"data":{"version":3,"file":"any.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/any.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA8D;AAE9D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,EAAE,EAAC;IACV,EAAC,IAAI,EAAE,uBAAuB,EAAC;IAC/B,EAAC,IAAI,EAAE,2BAA2B,EAAC;IACnC,EAAC,IAAI,EAAE,wCAAwC,EAAC;IAChD,EAAC,IAAI,EAAE;;;;;;;qCAO4B,EAAC;CACrC,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,gBAAG,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/case.js":{"lineLengths":[13,62,38,74,15,35,43,48,56,69,51,54,2,60,32],"data":{"version":3,"file":"case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/case.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA+D;AAE/D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,oBAAoB,EAAC;IAC5B,EAAC,IAAI,EAAE,4BAA4B,EAAC;IACpC,EAAC,IAAI,EAAE,iCAAiC,EAAC;IACzC,EAAC,IAAI,EAAE,yCAAyC,EAAC;IACjD,EAAC,IAAI,EAAE,sDAAsD,EAAC;IAC9D,EAAC,IAAI,EAAE,oCAAoC,EAAC;IAC5C,EAAC,IAAI,EAAE,uCAAuC,EAAC;CAChD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,iBAAI,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/catch_system_exceptions.js":{"lineLengths":[13,62,38,74,15,60,2,77,51],"data":{"version":3,"file":"catch_system_exceptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/catch_system_exceptions.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAgF;AAEhF,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,6CAA6C,EAAC;CACtD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,kCAAqB,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/class_data.js":{"lineLengths":[13,62,38,74,15,90,2,65,38],"data":{"version":3,"file":"class_data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/class_data.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAoE;AAEpE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,2EAA2E,EAAC;CACpF,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,sBAAS,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/class_definition.js":{"lineLengths":[13,62,38,74,15,49,95,96,98,48,27,26,17,42,21,17,42,27,17,38,17,28,13,2,71,44],"data":{"version":3,"file":"class_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/class_definition.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA0E;AAE1E,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,kCAAkC,EAAC;IAC1C,EAAC,IAAI,EAAE,gFAAgF,EAAC;IACxF,EAAC,IAAI,EAAE,iFAAiF,EAAC;IACzF,EAAC,IAAI,EAAE,mFAAmF,EAAC;IAC3F,EAAC,IAAI,EAAE;;;cAGK,EAAC;IACb,EAAC,IAAI,EAAE;;cAEK,EAAC;IACb,EAAC,IAAI,EAAE;;cAEK,EAAC;IACb,EAAC,IAAI,EAAE;;;UAGC,EAAC;CACV,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,4BAAe,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/class_global.js":{"lineLengths":[13,62,38,74,15,86,102,105,103,107,119,136,67,35,38,36,38,27,50,35,30,26,2,67,40],"data":{"version":3,"file":"class_global.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/class_global.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAsE;AAEtE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,uEAAuE,EAAC;IAC/E,EAAC,IAAI,EAAE,uFAAuF,EAAC;IAC/F,EAAC,IAAI,EAAE,0FAA0F,EAAC;IAClG,EAAC,IAAI,EAAE,wFAAwF,EAAC;IAChG,EAAC,IAAI,EAAE,4FAA4F,EAAC;IACpG,EAAC,IAAI,EAAE,wGAAwG,EAAC;IAChH,EAAC,IAAI,EAAE,yHAAyH,EAAC;IAEjI,EAAC,IAAI,EAAE,qDAAqD;YAC5D,qBAAqB;YACrB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB;YACxB,aAAa;YACb,oCAAoC;YACpC,qBAAqB;YACrB,gBAAgB;YAChB,WAAW,EAAC;CACb,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,wBAAW,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/class_implementation.js":{"lineLengths":[13,62,38,74,15,53,76,87,94,13,43,28,33,22,26,0,40,42,85,34,0,12,13,2,75,48],"data":{"version":3,"file":"class_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/class_implementation.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA8E;AAE9E,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,sCAAsC,EAAC;IAC9C,EAAC,IAAI,EAAE,6DAA6D,EAAC;IACrE,EAAC,IAAI,EAAE,wEAAwE,EAAC;IAChF,EAAC,IAAI,EAAE,+EAA+E,EAAC;IACvF,EAAC,IAAI,EAAE;;;;;;;;;;;;;UAaC,EAAC;CACV,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,gCAAmB,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/constants.js":{"lineLengths":[13,62,38,74,15,13,23,14,25,2,65,37],"data":{"version":3,"file":"constants.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/constants.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAoE;AAEpE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE;;;sBAGa,EAAC;CACtB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,sBAAS,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/data.js":{"lineLengths":[13,62,38,74,15,84,13,35,28,58,31,13,39,18,41,13,34,23,17,31,13,39,42,43,13,39,29,43,13,39,8,23,21,21,30,13,36,21,30,13,36,27,30,13,36,16,20,30,13,20,18,48,2,60,32],"data":{"version":3,"file":"data.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/data.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA+D;AAE/D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,qEAAqE,EAAC;IAE7E,EAAC,IAAI,EAAE;;;;4BAImB,EAAC;IAE3B,EAAC,IAAI,EAAE;;;sCAG6B,EAAC;IAErC,EAAC,IAAI,EAAE;;;;4BAImB,EAAC;IAE3B,EAAC,IAAI,EAAE;;;wCAG+B,EAAC;IAEvC,EAAC,IAAI,EAAE;;;wCAG+B,EAAC;IAEvC,EAAC,IAAI,EAAE;;;;;;2BAMkB,EAAC;IAE1B,EAAC,IAAI,EAAE;;;2BAGkB,EAAC;IAE1B,EAAC,IAAI,EAAE;;;2BAGkB,EAAC;IAE1B,EAAC,IAAI,EAAE;;;;2BAIkB,EAAC;IAE1B,EAAC,IAAI,EAAE;;;6CAGoC,EAAC;CAE7C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,iBAAI,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/define.js":{"lineLengths":[13,62,38,74,15,50,61,2,62,34],"data":{"version":3,"file":"define.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/define.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAiE;AAEjE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,mCAAmC,EAAC;IAC3C,EAAC,IAAI,EAAE,8CAA8C,EAAC;CACvD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,mBAAM,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/do.js":{"lineLengths":[13,62,38,74,15,35,46,66,50,67,2,58,30],"data":{"version":3,"file":"do.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/do.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA6D;AAE7D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,oBAAoB,EAAC;IAC5B,EAAC,IAAI,EAAE,+BAA+B,EAAC;IACvC,EAAC,IAAI,EAAE,mDAAmD,EAAC;IAC3D,EAAC,IAAI,EAAE,mCAAmC,EAAC;IAC3C,EAAC,IAAI,EAAE,oDAAoD,EAAC;CAC7D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,eAAE,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/exec_sql.js":{"lineLengths":[13,62,38,74,15,37,22,77,16,22,14,12,2,63,36],"data":{"version":3,"file":"exec_sql.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/exec_sql.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAkE;AAElE,MAAM,KAAK,GAAG;IACd,iCAAiC;IAC/B,EAAC,IAAI,EAAE;;aAEI,EAAC;IACZ,EAAC,IAAI,EAAE;;SAEA,EAAC;CACT,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,oBAAO,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/form.js":{"lineLengths":[13,62,38,74,15,35,46,69,72,49,47,14,2,60,46,34,44,20,20,43,0,13,4,41,35,9,29,34,7,3,32],"data":{"version":3,"file":"form.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/form.ts"],"names":[],"mappings":";;AAAA,sCAA+C;AAC/C,0EAA+D;AAE/D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,oBAAoB,EAAC;IAC5B,EAAC,IAAI,EAAE,+BAA+B,EAAC;IACzC,iEAAiE;IACjE,oEAAoE;IAClE,EAAC,IAAI,EAAE,kCAAkC,EAAC;IAC1C,EAAC,IAAI,EAAE;WACE,EAAC;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,iBAAI,EAAE,CAAC,CAAC;AAEjC,8CAA8C;AAE9C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAE9B,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACpC,IAAI,IAAI,GAAG;;;;;GAKZ,CAAC;QAEA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,IAAI,IAAI,cAAc,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,YAAY,CAAC;QACrB,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/if.js":{"lineLengths":[13,62,38,74,15,37,50,43,55,61,73,57,2,58,30],"data":{"version":3,"file":"if.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/if.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA6D;AAE7D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,sBAAsB,EAAC;IAC9B,EAAC,IAAI,EAAE,mCAAmC,EAAC;IAC3C,EAAC,IAAI,EAAE,4BAA4B,EAAC;IACpC,EAAC,IAAI,EAAE,wCAAwC,EAAC;IAChD,EAAC,IAAI,EAAE,8CAA8C,EAAC;IACtD,EAAC,IAAI,EAAE,0DAA0D,EAAC;IAClE,EAAC,IAAI,EAAE,0CAA0C,EAAC;CACnD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,eAAE,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/interface_global.js":{"lineLengths":[13,62,38,74,15,29,27,19,38,22,14,14,14,14,13,14,19,2,71,44],"data":{"version":3,"file":"interface_global.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/interface_global.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA0E;AAE1E,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE;;gBAEO,EAAC;IACf,EAAC,IAAI,EAAE;;;;;;;;gBAQO,EAAC;CAChB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,4BAAe,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/interface.js":{"lineLengths":[13,62,38,74,15,13,24,17,13,24,20,17,13,24,20,29,17,2,65,37],"data":{"version":3,"file":"interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/interface.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAoE;AAEpE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE;;cAEK,EAAC;IACb,EAAC,IAAI,EAAE;;;cAGK,EAAC;IACb,EAAC,IAAI,EAAE;;;;cAIK,EAAC;CACd,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,sBAAS,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/loop_at_screen.js":{"lineLengths":[13,62,38,74,15,41,52,2,68,42],"data":{"version":3,"file":"loop_at_screen.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/loop_at_screen.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAuE;AAEvE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,0BAA0B,EAAC;IAClC,EAAC,IAAI,EAAE,qCAAqC,EAAC;CAC9C,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,yBAAY,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/loop.js":{"lineLengths":[13,62,38,74,15,48,59,2,60,32],"data":{"version":3,"file":"loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/loop.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA+D;AAE/D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,iCAAiC,EAAC;IACzC,EAAC,IAAI,EAAE,4CAA4C,EAAC;CACrD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,iBAAI,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/method.js":{"lineLengths":[13,62,38,74,15,32,31,21,26,15,14,2,62,34],"data":{"version":3,"file":"method.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/method.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAiE;AAEjE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE;;;;;WAKE,EAAC;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,mBAAM,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/select.js":{"lineLengths":[13,62,38,74,15,66,2,62,34],"data":{"version":3,"file":"select.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/select.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAiE;AAEjE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,mDAAmD,EAAC;CAC5D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,mBAAM,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/try.js":{"lineLengths":[13,62,38,74,15,29,43,57,52,38,65,2,59,31],"data":{"version":3,"file":"try.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/try.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA8D;AAE9D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAC;IACtB,EAAC,IAAI,EAAE,4BAA4B,EAAC;IACpC,EAAC,IAAI,EAAE,0CAA0C,EAAC;IAClD,EAAC,IAAI,EAAE,qCAAqC,EAAC;IAC7C,EAAC,IAAI,EAAE,uBAAuB,EAAC;IAC/B,EAAC,IAAI,EAAE,kDAAkD,EAAC;CAC3D,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,gBAAG,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/type_enum.js":{"lineLengths":[13,62,38,74,15,76,45,38,58,71,2,64,37],"data":{"version":3,"file":"type_enum.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/type_enum.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAmE;AAEnE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,8DAA8D;YACrE,+BAA+B;YAC/B,wBAAwB;YACxB,2CAA2C,EAAC;IAC5C,EAAC,IAAI,EAAE,wDAAwD,EAAC;CACjE,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,qBAAQ,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/types.js":{"lineLengths":[13,62,38,74,15,96,24,37,49,40,55,38,34,44,15,18,36,11,15,18,25,2,61,33],"data":{"version":3,"file":"types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/types.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAgE;AAEhE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,iFAAiF,EAAC;IACzF,EAAC,IAAI,EAAE,UAAU;YACf,uBAAuB;YACvB,mCAAmC;YACnC,0BAA0B;YAC1B,yCAAyC;YACzC,wBAAwB;YACxB,mBAAmB,EAAC;IACtB,EAAC,IAAI,EAAE;;eAEM,EAAC;IAEd,EAAC,IAAI,EAAE;;;;sBAIa,EAAC;CAEtB,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,kBAAK,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/when_type.js":{"lineLengths":[13,62,38,74,15,92,38,39,37,14,2,64,37],"data":{"version":3,"file":"when_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/when_type.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAmE;AAEnE,MAAM,KAAK,GAAG;IACd,wFAAwF;IACtF,EAAC,IAAI,EAAE;;;WAGE,EAAC;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,qBAAQ,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/while.js":{"lineLengths":[13,62,38,74,15,43,54,2,61,33],"data":{"version":3,"file":"while.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/while.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAAgE;AAEhE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,4BAA4B,EAAC;IACpC,EAAC,IAAI,EAAE,uCAAuC,EAAC;CAChD,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,kBAAK,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/structures/with.js":{"lineLengths":[13,62,38,74,15,27,10,12,15,17,5,25,19,45,14,2,60,32],"data":{"version":3,"file":"with.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/structures/with.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,0EAA+D;AAE/D,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE;;;;;;;;;WASE,EAAC;CACX,CAAC;AAEF,IAAA,sBAAa,EAAC,KAAK,EAAE,IAAI,iBAAI,EAAE,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/basic_types.js":{"lineLengths":[13,62,31,55,52,62,52,64,34,41,104,37,125,78,1,35,60,80,1,38,60,83,37,31,1,34,60,79,37,28,1,2,83,46,70,60,44,1,2,37,40,25,37,52,60,7,24,46,46,27,7,23,64,46,38,67,7,27,22,24,17,17,46,49,58,63,83,7,37,22,27,28,25,27,26,28,26,47,49,58,63,81,65,83,7,36,46,46,57,79,7,45,22,27,28,33,27,51,57,76,7,35,75,54,57,76,7,42,15,80,109,67,25,77,7,35,52,46,38,68,7,3,39],"data":{"version":3,"file":"basic_types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/syntax/basic_types.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/basic_variables.js":{"lineLengths":[13,62,31,55,52,62,52,64,57,38,41,68,1,32,42,41,80,5,16,38,37,39,125,82,1,38,60,83,37,31,1,35,60,80,1,33,60,78,1,34,60,79,37,28,1,36,60,81,1,46,60,83,38,58,1,50,29,62,99,1,61,40,62,99,1,37,31,25,37,56,60,7,34,45,56,33,7,29,40,56,39,7,22,33,56,39,7,29,40,56,34,7,35,46,56,63,85,7,29,40,56,63,82,7,29,40,56,63,82,7,29,40,56,63,85,7,29,40,56,63,81,7,39,62,56,50,7,50,67,56,52,7,49,63,51,56,48,7,38,46,56,52,7,39,49,56,39,7,42,51,56,39,7,42,51,56,39,7,33,50,56,39,7,29,56,42,56,39,7,37,43,56,39,7,31,63,56,48,71,7,32,58,56,48,72,7,40,44,33,56,34,7,39,22,27,28,25,60,50,42,74,29,48,58,65,7,31,22,31,13,35,13,42,55,57,87,7,40,22,45,55,57,79,7,34,22,22,17,39,54,57,87,7,37,22,41,15,38,17,61,84,76,57,87,7,32,48,56,39,7,35,22,38,83,64,14,10,30,30,29,23,33,11,15,12,12,44,78,71,33,7,43,22,23,17,17,56,55,58,63,7,48,22,14,19,38,19,56,55,58,63,7,56,22,14,19,21,40,19,19,56,55,58,63,7,51,22,9,19,21,24,19,19,56,55,58,63,7,28,48,56,31,7,42,22,34,37,59,31,7,37,22,21,61,59,141,7,33,22,39,37,59,141,7,25,22,18,25,59,141,7,46,53,59,138,7,36,51,58,141,7,33,71,58,141,7,28,57,10,59,141,7,38,89,10,61,141,7,55,47,17,25,9,35,59,141,7,59,40,23,13,35,59,141,7,54,85,66,138,7,39,69,61,138,7,61,59,60,141,7,55,47,17,21,9,32,59,141,7,51,22,87,39,56,139,7,38,22,25,9,29,9,45,61,63,83,7,38,22,18,42,58,63,83,58,74,7,40,22,25,61,23,29,49,59,63,141,7,29,83,64,63,141,7,25,41,56,63,143,7,24,47,15,16,25,22,16,37,56,63,141,7,40,46,27,24,25,27,31,25,13,52,56,63,141,7,29,67,63,63,138,7,37,22,22,44,56,63,139,54,68,7,31,61,61,63,139,7,43,22,43,46,58,63,141,7,39,22,27,17,21,9,31,9,0,51,17,23,9,29,9,0,29,56,63,141,7,49,22,25,17,20,22,9,29,9,0,29,56,63,141,7,39,22,29,19,27,11,33,11,0,53,19,28,11,31,11,0,31,56,63,141,7,45,22,32,17,25,9,36,9,0,58,9,31,9,0,51,17,26,9,29,9,0,29,56,63,141,7,34,22,6,31,21,29,53,66,63,143,7,40,22,54,38,20,60,63,143,7,40,22,26,17,44,9,30,9,35,47,60,63,141,7,50,22,34,47,60,63,138,7,36,22,27,29,18,15,56,63,149,7,32,22,34,29,25,9,29,11,56,63,149,7,62,15,22,45,51,62,63,98,66,141,7,62,15,22,40,60,65,63,98,66,130,7,27,22,22,56,63,98,68,23,54,56,7,27,22,31,56,63,98,68,23,54,56,7,27,22,42,56,63,98,68,23,54,56,7,31,22,29,56,63,98,69,7,46,22,34,56,63,98,84,105,7,44,22,32,56,63,98,71,105,7,26,22,29,56,63,98,66,7,26,47,56,63,98,66,7,37,69,62,63,98,67,7,40,78,64,63,98,66,7,40,41,59,63,141,7,35,22,27,11,31,11,38,63,63,98,77,7,33,86,62,63,98,66,7,33,22,4,44,9,61,63,98,66,7,60,22,37,42,64,63,98,66,7,63,53,56,63,98,66,7,34,78,29,12,56,63,98,68,7,46,22,58,39,12,58,63,98,68,7,56,51,60,63,98,68,7,49,44,60,63,98,69,7,52,40,33,13,27,56,63,98,71,7,30,63,59,56,63,98,66,7,32,22,18,26,13,37,50,57,81,7,32,62,55,57,77,7,34,66,57,57,77,7,45,22,63,52,53,57,78,7,63,69,53,57,76,7,39,75,54,57,76,7,43,22,25,17,27,26,25,59,9,29,16,12,9,0,19,41,50,57,79,7,51,22,23,27,22,21,60,54,53,57,79,7,35,22,23,13,14,38,50,57,81,7,42,22,39,21,59,63,143,7,45,22,60,20,59,63,143,7,52,22,44,35,70,62,63,140,7,45,22,24,26,22,46,81,62,63,143,7,37,60,59,63,141,7,41,48,56,61,63,139,7,38,22,24,26,22,22,43,56,63,143,7,54,22,24,19,15,60,60,61,63,143,7,36,22,24,78,58,64,141,58,64,141,7,23,22,30,38,57,63,143,7,22,74,57,63,140,7,24,91,57,63,140,7,24,83,56,63,140,7,39,22,59,47,61,63,141,7,35,22,27,60,61,63,140,7,37,22,114,63,63,140,7,39,62,63,63,140,7,38,69,59,63,143,7,56,22,27,77,62,63,140,7,34,22,25,17,51,9,0,29,13,12,9,0,19,46,56,63,141,7,43,66,56,63,139,7,55,66,56,63,139,42,63,7,27,22,25,9,29,9,32,20,38,10,59,63,149,7,48,22,21,49,6,56,63,139,7,25,40,85,66,16,12,36,32,33,26,26,13,18,13,37,36,33,32,33,27,30,32,26,26,14,19,17,14,14,37,57,91,71,33,7,24,43,91,79,125,7,34,44,91,80,125,7,29,50,91,71,30,7,50,22,53,37,6,57,63,141,7,30,51,56,63,140,7,32,53,56,63,143,7,37,22,31,77,59,63,139,7,39,22,62,38,77,57,63,139,7,42,57,14,56,143,7,57,41,37,23,57,138,7,39,50,20,22,56,139,7,51,22,37,29,27,60,139,7,64,57,37,29,63,139,7,39,22,23,29,21,0,19,20,19,57,143,42,68,7,40,22,29,25,27,55,56,98,67,24,61,7,48,22,23,27,21,52,59,98,67,24,61,7,53,22,24,25,22,48,24,56,98,68,7,52,22,18,42,13,57,62,98,71,7,53,22,23,20,21,28,25,56,98,69,7,42,62,14,56,139,7,45,22,39,48,14,58,137,7,40,63,56,143,7,38,22,20,23,26,56,98,67,64,7,44,37,56,98,71,58,7,30,22,68,27,62,56,98,67,7,32,43,56,63,86,7,35,46,56,63,85,7,28,59,66,63,88,7,28,59,66,63,88,7,27,22,38,83,64,14,10,41,30,28,24,29,30,22,24,30,11,15,12,12,63,89,71,120,7,35,132,9,66,67,145,9,9,66,67,145,9,9,63,67,144,9,7,32,22,31,38,60,63,87,7,34,22,23,19,22,55,11,27,15,14,11,0,21,42,56,63,85,7,24,22,38,58,63,140,7,23,22,37,58,63,139,7,27,22,30,56,63,137,7,77,15,83,56,63,139,42,64,150,7,39,15,22,21,21,30,19,62,56,63,139,42,64,151,7,38,27,36,26,36,82,83,73,57,78,7,26,58,58,63,142,7,66,27,34,47,83,71,57,81,83,7,36,19,22,16,63,56,63,139,42,64,128,150,7,38,15,22,24,22,17,17,37,22,60,56,63,139,42,64,144,54,111,70,87,66,82,7,34,50,39,36,24,65,63,98,97,7,51,22,23,26,23,58,63,98,52,7,35,22,29,31,31,27,70,62,63,96,89,7,33,22,29,31,31,27,68,62,63,96,87,7,24,50,63,63,83,7,31,39,17,34,63,63,83,7,29,39,17,33,63,63,83,7,29,39,17,33,63,63,83,7,29,39,17,33,63,63,83,7,27,60,63,87,121,7,24,43,54,63,85,7,3,43],"data":{"version":3,"file":"basic_variables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/syntax/basic_variables.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/fugr_import_export.js":{"lineLengths":[13,62,31,37,74,61,59,89,70,20,29,19,41,41,20,20,16,38,39,19,19,39,25,20,20,19,19,39,25,20,20,26,19,39,27,20,19,39,27,20,27,17,21,21,18,18,38,76,24,17,29,17,29,76,0,18,90,67,67,66,63,0,67,67,67,58,58,58,53,69,64,81,0,71,47,57,69,69,65,11,55,7,3,46],"data":{"version":3,"file":"fugr_import_export.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/syntax/fugr_import_export.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,qCAAkC;AAElC,QAAQ,CAAC,wDAAwD,EAAE,GAAG,EAAE;IAEtE,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,GAAG,GACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuCW,CAAC;QAEd,MAAM,IAAI,GAAG;;;;;;;;;iBASA,CAAC;QAEd,MAAM,KAAK,GAAG;;;;;;;;;;;;;;+DAc6C,CAAC;QAE5D,MAAM,KAAK,GAAG;;sEAEoD,CAAC;QAEnE,MAAM,MAAM,GAAG,IAAA,iBAAQ,EAAC;YACtB,EAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,EAAC;YAC1C,EAAC,QAAQ,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAC;YACtD,EAAC,QAAQ,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAC;YACtD,EAAC,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAC;SAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/syntax.js":{"lineLengths":[13,62,28,31,52,62,48,45,50,64,61,17,41,26,56,5,18,40,5,25,54,5,63,16,60,48,52,70,13,9,74,5,15,1,28,42,32,78,26,5,20,1,25,76,56,20,1,29,76,56,20,1,69,73,56,62,1,60,46,18,40,85,66,16,12,29,32,33,40,28,13,12,29,28,24,28,28,13,18,13,30,36,33,32,27,33,27,30,27,32,26,26,14,13,30,36,33,32,33,27,30,32,26,26,14,19,17,14,14,52,39,40,55,72,7,39,53,40,55,7,33,69,40,55,7,35,75,40,55,7,42,54,53,43,37,40,55,7,46,69,40,55,7,71,22,18,38,40,55,7,32,72,57,40,55,7,44,15,58,40,119,7,60,37,40,55,86,7,47,51,40,55,7,36,60,40,55,7,37,50,40,55,7,35,58,40,55,7,33,51,40,55,7,41,51,40,55,7,36,65,40,55,7,36,46,49,61,40,55,7,34,36,40,30,25,40,55,7,38,47,56,23,40,55,7,42,40,29,26,31,30,25,40,55,69,7,39,36,27,30,25,40,55,7,41,46,28,25,40,55,7,33,54,48,40,55,7,53,59,26,40,55,7,53,22,32,13,12,13,12,11,40,55,7,59,54,35,63,26,59,33,32,30,26,33,75,75,11,55,7,63,54,35,26,22,32,17,12,17,12,11,33,75,75,11,55,73,73,7,40,47,33,31,46,35,44,26,59,42,30,26,33,75,75,11,55,7,53,79,27,49,26,40,55,7,49,53,27,48,27,70,27,49,26,40,55,7,37,45,20,16,42,24,65,40,55,7,63,50,47,40,55,7,55,57,66,40,55,7,55,70,40,55,7,66,73,40,55,7,69,75,40,55,7,67,105,40,55,7,81,43,73,40,55,7,49,22,25,17,38,29,9,29,13,26,12,9,6,40,55,7,44,55,42,40,40,40,72,40,55,7,58,55,42,40,40,40,58,76,40,55,7,42,82,35,36,27,50,33,30,24,38,55,7,49,82,35,36,27,50,38,32,30,24,38,55,7,50,82,35,36,27,50,33,35,30,24,38,55,72,7,47,82,35,36,27,50,33,34,35,30,24,38,55,7,43,82,35,60,27,50,33,35,30,24,38,55,7,58,22,55,17,9,32,15,17,12,11,38,55,7,34,82,35,41,36,27,50,33,35,30,24,38,55,7,33,82,35,56,36,27,50,33,35,30,24,38,55,7,43,82,35,49,56,47,36,27,50,33,39,30,24,38,55,7,43,82,35,36,36,62,27,50,33,41,59,30,31,30,24,38,55,7,45,82,35,50,47,48,36,27,50,33,39,30,24,38,55,7,40,22,61,24,24,24,15,38,21,23,18,21,18,17,38,55,7,27,82,36,41,36,36,27,50,33,35,30,33,39,30,24,38,55,7,42,82,38,36,36,41,38,27,50,33,35,30,24,38,55,7,46,82,35,45,27,50,46,32,30,26,55,57,28,33,65,64,11,55,7,39,108,27,50,26,38,55,7,54,21,54,26,29,15,37,17,108,35,36,27,50,33,35,30,26,33,65,62,11,55,7,61,108,36,41,36,27,50,33,41,35,30,26,38,55,7,74,59,60,27,33,100,11,55,75,7,33,68,107,86,32,40,31,71,71,32,32,28,67,52,31,31,64,49,37,32,32,29,33,33,30,25,60,43,27,33,75,100,11,55,7,49,108,35,51,27,50,35,38,30,26,74,35,65,27,49,33,28,24,33,65,62,11,55,7,61,109,35,51,27,50,35,38,30,26,103,27,50,24,76,35,65,27,50,33,28,24,33,65,65,64,11,55,7,79,82,35,45,34,27,50,31,44,30,26,56,45,28,33,65,65,11,55,7,36,43,45,40,55,7,41,49,40,55,7,24,22,23,30,21,95,88,40,55,7,45,22,35,19,26,33,24,40,55,7,50,47,23,16,36,21,34,23,15,35,19,23,18,17,40,55,7,41,66,35,42,70,47,27,47,40,32,30,24,38,55,7,42,44,57,55,7,70,56,57,28,82,35,45,62,27,50,35,32,30,26,33,65,65,11,55,7,65,56,42,36,28,82,35,45,54,27,50,47,32,30,26,33,65,65,11,55,7,39,72,37,52,40,55,7,34,22,45,46,27,36,40,55,7,59,86,51,33,32,40,55,7,45,83,93,52,68,53,33,33,40,55,7,47,38,40,55,7,59,59,40,55,7,47,22,58,46,18,14,40,55,7,32,23,27,22,23,16,18,33,62,61,70,11,55,69,7,79,23,27,22,23,40,15,38,17,33,62,61,70,11,55,7,40,34,19,14,62,28,66,16,14,31,20,20,22,26,15,12,12,17,42,26,13,13,17,14,14,48,30,62,30,68,18,16,33,24,23,22,22,24,30,28,17,19,16,16,26,25,25,27,63,30,68,18,16,33,24,23,22,22,24,24,30,28,17,19,16,16,63,87,68,18,29,17,42,42,42,18,18,14,39,39,15,19,19,16,16,49,19,18,18,33,79,77,79,77,80,78,65,80,11,55,7,71,22,36,13,38,15,40,55,7,48,22,59,35,21,24,40,55,7,41,36,40,55,7,37,22,13,12,18,40,55,7,47,22,15,20,14,15,20,16,40,55,7,42,50,40,55,7,39,50,40,55,7,47,52,40,55,7,55,52,65,40,55,7,39,56,31,40,55,7,50,22,33,27,40,55,70,7,41,44,40,55,7,49,54,53,43,30,40,55,7,50,42,40,55,7,78,62,76,23,40,55,7,43,22,27,17,35,9,31,9,0,51,17,16,9,29,13,16,12,11,40,55,7,40,43,40,55,73,7,41,22,29,13,33,13,22,40,55,69,7,37,22,29,21,27,13,33,17,16,13,22,40,55,7,52,22,17,13,21,40,55,7,38,22,28,17,18,9,32,15,12,9,0,19,34,20,18,40,55,7,45,22,25,17,68,21,9,29,17,12,17,12,9,0,19,36,40,55,7,46,22,20,20,15,27,19,70,11,31,19,14,11,0,21,38,40,55,7,46,22,25,17,18,9,29,14,12,9,49,9,29,9,19,31,17,40,55,7,40,22,24,59,13,37,40,55,7,40,22,28,17,28,9,32,24,12,9,25,17,12,21,26,17,47,9,29,30,12,24,47,12,11,40,55,7,44,22,27,9,31,9,52,17,12,18,9,29,21,26,12,11,40,55,7,76,22,27,9,31,9,52,17,12,18,9,29,21,35,12,11,40,55,7,51,22,25,17,16,9,29,12,12,9,25,17,12,10,9,29,13,27,39,25,28,0,24,12,11,40,55,7,51,22,25,17,12,10,9,29,13,27,26,25,28,0,31,12,11,40,55,121,7,46,22,25,17,12,10,9,29,13,37,28,12,11,40,55,7,34,22,25,17,12,10,9,29,13,12,9,0,19,27,40,55,7,52,49,40,55,7,55,78,40,55,7,35,22,42,33,40,55,7,35,22,35,40,55,7,35,22,35,40,55,7,36,22,27,11,31,11,34,22,40,55,7,44,22,25,17,21,9,29,9,49,9,29,9,32,27,2,40,55,7,46,22,33,17,46,65,9,37,13,12,9,0,67,9,39,9,0,27,18,16,47,9,31,13,44,37,12,11,40,55,7,41,22,18,31,13,0,19,23,40,55,7,44,22,45,25,13,33,12,31,41,40,55,7,34,22,31,17,22,30,9,35,13,12,9,0,19,18,49,40,55,7,56,22,25,17,19,9,29,16,12,9,0,19,34,20,39,40,55,89,7,48,22,25,17,19,9,29,16,12,9,0,19,34,20,26,40,55,103,7,44,22,25,17,19,9,29,16,12,9,0,19,34,18,20,28,40,55,95,7,27,22,33,22,25,16,10,4,40,81,7,31,22,21,17,25,9,25,9,0,19,38,27,36,24,10,4,40,55,7,49,22,18,18,13,25,17,24,9,29,9,0,29,31,40,55,7,40,37,14,68,55,7,27,78,23,30,12,68,55,7,32,45,14,14,31,28,40,55,7,66,45,14,14,31,33,40,55,7,33,56,55,40,55,7,33,56,57,40,55,7,34,22,24,19,22,43,52,10,40,55,7,52,22,20,48,10,40,55,7,83,62,40,55,74,7,55,22,22,10,8,40,55,69,7,32,39,40,55,7,39,22,38,43,40,55,74,7,48,22,23,20,21,39,49,40,55,76,7,48,22,23,20,21,39,57,40,55,76,7,31,22,27,11,31,11,0,52,46,40,55,7,47,22,39,45,53,40,55,7,40,22,23,53,21,32,24,40,55,7,29,22,37,22,40,55,7,38,22,25,17,27,9,29,9,0,20,40,55,7,32,42,40,55,7,52,22,20,14,13,0,17,23,32,13,0,17,20,29,13,0,28,14,40,55,7,36,22,18,14,13,13,0,11,34,17,26,10,40,55,78,7,30,47,40,55,7,62,15,22,17,31,13,0,17,20,29,13,0,20,40,119,7,40,22,29,25,27,53,14,2,40,55,7,48,22,52,14,2,40,55,7,40,21,42,87,68,18,14,30,34,35,28,28,15,20,15,31,35,35,34,35,29,32,34,28,28,16,21,19,16,14,6,42,33,56,62,11,55,7,40,22,29,24,29,33,58,62,11,55,7,35,22,63,51,42,30,14,33,58,62,11,55,7,62,22,20,20,18,0,35,17,23,0,21,2,40,55,7,42,22,26,20,40,55,7,61,22,20,24,18,35,16,10,40,55,7,33,39,40,55,7,56,22,32,31,35,40,55,7,51,22,29,39,6,40,55,73,7,47,22,15,11,14,10,40,55,75,7,45,22,19,14,8,40,55,75,7,27,22,35,37,40,55,75,7,24,22,35,36,40,55,75,7,43,22,41,42,40,55,75,7,44,59,40,55,75,7,42,22,23,15,26,40,55,75,7,33,40,40,55,75,7,42,22,23,12,34,40,55,75,7,45,22,30,12,16,44,40,55,75,7,54,22,30,12,16,48,40,55,75,7,33,22,43,25,46,40,55,75,7,39,22,43,38,18,14,40,55,77,7,40,65,40,55,75,7,38,22,8,37,13,40,55,75,7,41,56,40,55,75,7,49,22,43,49,6,40,55,77,7,38,22,43,44,6,40,55,75,7,41,22,49,74,12,6,40,55,75,7,32,22,15,21,12,6,40,55,75,7,39,69,40,55,75,7,44,69,40,55,75,7,56,22,30,29,13,27,40,55,75,7,34,57,40,55,75,7,40,22,21,37,40,55,75,7,48,53,40,55,75,7,32,50,40,55,75,7,34,22,70,14,6,40,55,75,7,43,65,40,55,75,7,41,15,22,24,31,22,44,53,27,31,0,34,40,126,7,58,22,43,53,6,40,55,77,7,40,22,41,44,14,10,6,40,55,75,7,45,15,22,36,21,6,40,118,7,37,22,31,22,6,40,55,7,36,22,32,13,6,40,55,7,41,15,68,40,119,7,43,22,66,17,6,40,55,7,49,22,68,20,40,55,7,31,22,62,43,75,6,40,55,7,35,41,40,55,7,39,22,23,25,21,0,20,40,55,7,33,15,22,37,65,29,31,32,40,40,126,7,51,22,38,35,40,55,7,60,81,33,58,62,11,55,7,33,22,43,53,40,55,7,34,22,28,18,19,83,40,55,7,45,22,47,78,27,40,55,7,30,22,41,47,12,40,55,7,47,65,40,55,7,36,22,53,28,6,40,55,7,30,22,61,39,0,21,6,40,55,7,55,22,25,65,22,40,55,7,53,22,24,27,22,0,40,0,29,18,10,40,55,7,47,22,24,31,22,0,49,0,46,0,13,19,10,40,55,7,52,22,28,17,15,40,55,7,46,15,22,18,29,0,14,18,12,40,118,7,39,22,24,36,22,0,57,0,51,0,12,16,10,40,55,7,43,22,20,23,37,33,14,14,40,55,7,39,22,41,12,40,55,7,40,22,24,22,22,22,12,11,18,17,40,55,7,48,22,25,17,20,9,29,9,32,37,40,55,7,32,15,22,6,55,10,11,9,53,0,30,27,40,118,7,47,22,28,39,40,55,7,65,22,28,20,40,55,7,43,22,26,17,9,34,29,22,9,30,9,0,40,40,55,7,49,22,26,17,9,34,29,22,9,30,9,0,46,40,55,7,29,22,43,37,42,48,40,55,7,40,22,23,26,21,46,0,51,25,10,40,55,7,46,22,27,19,44,11,31,18,36,46,14,13,40,55,7,44,22,25,17,42,9,29,16,41,34,24,46,12,11,40,55,7,63,22,22,36,40,55,7,30,22,20,31,36,40,55,7,41,22,21,17,52,9,0,25,13,12,9,0,19,23,31,40,55,7,58,22,21,9,25,9,0,21,17,54,9,0,25,21,12,9,0,19,28,24,40,55,7,34,22,40,28,33,40,28,6,40,55,7,51,22,21,17,23,24,21,9,25,9,19,45,40,55,7,55,22,18,23,24,21,13,19,49,40,55,7,39,22,28,26,40,55,7,45,66,40,55,7,40,15,22,27,11,31,11,0,11,28,34,42,26,0,34,24,30,12,40,119,7,48,64,40,55,7,60,55,40,55,7,33,22,40,31,40,55,7,41,22,6,21,33,24,33,22,19,0,27,0,46,40,55,7,63,22,30,82,40,55,7,35,22,22,34,15,0,29,19,27,54,11,0,33,11,0,11,37,30,12,40,55,7,32,22,20,17,13,0,27,17,25,40,9,0,31,26,12,9,0,9,35,19,10,40,55,7,32,22,19,17,13,0,28,17,68,9,0,32,17,12,9,0,9,36,10,40,55,7,57,50,27,19,42,55,7,77,50,27,19,40,55,7,56,22,27,35,40,55,7,51,22,23,27,21,41,36,0,12,18,10,40,55,7,52,57,40,55,7,43,55,68,55,7,47,15,22,43,15,17,12,68,119,7,35,22,32,46,68,55,7,60,44,40,55,7,45,22,37,30,40,55,7,49,22,28,22,10,40,55,7,56,22,18,19,13,0,18,21,13,0,31,17,23,24,9,0,35,21,21,12,11,40,55,7,56,22,53,28,25,48,13,23,14,12,40,55,7,36,54,40,55,7,41,71,40,55,7,50,22,26,28,29,95,40,55,7,53,22,27,28,33,46,40,43,40,55,7,52,15,22,33,17,10,27,36,30,64,19,9,0,37,16,25,17,34,53,31,12,11,40,126,7,57,22,31,28,40,55,70,7,57,22,42,40,55,70,7,57,22,31,34,40,55,70,7,57,22,57,40,55,70,7,57,22,35,16,28,12,29,37,40,55,7,37,22,17,17,22,73,20,40,55,7,53,22,55,27,58,60,40,55,7,60,22,25,18,20,9,29,9,0,49,18,20,9,29,11,40,55,7,59,22,17,19,40,55,7,59,22,18,20,40,55,7,69,22,18,49,27,47,49,27,47,24,40,55,7,48,48,62,30,68,18,16,31,24,23,22,22,24,30,28,17,19,16,16,45,25,63,30,68,18,16,31,24,23,22,22,24,24,30,28,17,19,16,16,63,87,68,18,26,17,41,41,18,18,14,39,38,15,19,19,16,16,49,25,16,20,14,33,75,73,76,74,63,78,11,55,7,47,48,62,30,68,18,16,31,24,23,22,22,24,30,28,17,19,16,16,47,21,21,63,30,68,18,16,31,24,23,22,22,24,24,30,28,17,19,16,16,63,87,68,18,26,17,41,41,41,18,19,16,16,45,62,30,68,18,16,31,22,22,24,28,17,14,14,19,42,28,15,15,19,16,16,39,12,21,33,75,73,76,74,63,75,73,63,11,55,7,49,40,40,55,73,7,41,22,45,59,73,15,40,55,7,45,22,17,12,22,40,55,7,37,39,40,55,7,50,50,40,55,73,7,29,38,40,55,7,42,46,40,55,7,52,22,23,25,21,59,84,23,40,55,7,32,74,17,18,9,29,15,21,12,12,11,44,33,62,67,73,11,55,7,77,52,62,30,68,18,16,35,24,23,22,22,24,30,28,17,19,16,16,49,29,63,30,68,18,16,35,24,23,22,22,24,24,30,28,17,19,16,16,63,87,68,18,26,17,45,45,18,18,14,39,38,17,17,40,37,18,18,15,19,19,16,16,49,72,20,10,31,72,0,22,0,14,33,83,81,84,82,67,82,11,55,7,66,22,45,16,40,55,7,50,66,52,40,55,7,52,50,30,57,40,55,7,38,22,40,27,40,55,7,40,22,47,26,53,40,55,7,41,22,36,11,31,11,34,38,40,55,7,41,22,36,11,31,11,34,25,40,55,7,41,22,36,11,31,11,34,22,40,55,7,41,22,36,11,31,11,34,28,40,55,7,21,22,18,17,40,55,7,31,43,24,40,55,7,24,31,17,12,40,55,7,53,56,31,41,73,55,7,53,49,45,73,55,7,75,49,38,41,73,55,7,30,15,22,20,31,18,26,32,32,23,24,17,21,40,119,7,30,15,22,20,31,18,26,32,32,23,24,18,40,119,7,50,22,21,22,22,23,40,55,7,41,15,43,62,26,64,14,12,27,18,18,20,24,13,10,10,15,38,24,11,11,15,12,12,48,62,26,64,14,12,27,20,19,18,18,20,26,24,13,15,12,12,26,23,23,25,63,26,64,14,12,27,20,19,18,18,20,20,26,24,13,15,12,12,63,83,64,14,22,13,37,37,37,14,15,12,12,45,16,33,75,73,75,73,76,74,63,64,11,119,7,71,15,22,21,18,29,9,25,9,0,41,18,29,9,25,11,40,119,7,53,22,48,64,0,92,22,58,13,43,15,22,39,24,14,28,33,27,14,71,13,36,15,33,65,76,11,55,7,46,89,40,55,7,40,22,31,58,14,40,55,7,64,70,40,55,7,41,15,45,21,21,0,47,20,10,40,119,7,51,15,22,19,56,39,33,59,61,11,118,7,40,15,22,70,48,36,39,54,44,50,74,40,119,7,58,15,22,28,13,46,16,18,40,119,7,57,15,99,40,119,7,76,62,40,55,7,96,15,22,79,48,40,41,119,7,44,15,22,33,20,22,0,49,19,10,40,119,7,51,15,22,28,65,40,119,7,31,15,22,34,40,119,7,34,15,22,21,17,15,9,25,12,32,12,11,40,119,7,30,15,22,19,19,17,51,0,28,20,10,40,119,7,53,15,22,14,27,13,0,14,17,13,0,21,17,19,19,9,25,11,40,119,7,56,15,22,23,27,13,0,17,26,13,0,34,17,28,9,29,9,0,48,17,22,9,28,11,40,119,7,56,15,22,23,27,13,0,19,26,13,0,17,22,13,0,34,17,24,9,29,9,0,48,17,22,9,28,9,6,40,119,7,56,15,22,23,18,13,0,24,26,13,0,17,26,27,13,0,24,17,22,9,28,11,40,119,7,43,15,22,27,65,24,40,119,7,43,22,53,14,40,54,78,7,43,22,32,16,40,54,78,7,38,15,22,53,12,40,118,7,51,15,22,29,33,19,14,40,118,7,54,15,22,32,33,19,14,40,118,7,52,22,6,18,20,16,28,24,25,40,54,7,54,15,22,26,7,20,26,26,18,0,20,40,118,7,58,22,24,22,28,28,20,18,40,54,7,62,15,22,24,24,13,15,40,118,7,49,15,22,10,25,22,22,23,30,21,40,118,7,36,15,22,21,22,11,24,15,40,118,7,35,15,22,35,30,18,19,20,40,118,7,46,15,22,35,30,18,19,22,40,118,7,51,22,35,30,18,19,20,40,54,7,44,15,22,23,22,21,34,27,34,49,26,40,118,7,45,15,22,23,16,40,118,7,39,15,22,26,16,17,15,24,31,27,40,118,7,51,15,22,35,32,23,24,19,40,118,7,40,15,22,32,24,31,22,18,40,118,7,65,15,22,24,8,23,13,13,21,0,10,8,46,15,40,118,7,49,15,22,24,33,33,33,22,0,58,0,47,66,44,25,21,10,40,118,7,52,15,22,24,36,36,22,0,58,0,47,69,38,76,10,10,40,118,7,54,15,22,21,17,16,9,25,13,62,35,12,11,40,118,7,53,15,47,14,13,40,15,47,20,46,15,33,62,62,11,119,7,56,15,47,12,21,45,19,15,47,20,42,15,33,62,62,11,119,7,67,22,15,14,13,0,15,14,13,0,21,17,16,9,0,25,13,30,16,56,12,11,40,55,93,7,72,15,22,21,17,49,16,9,0,25,21,11,12,13,29,21,15,19,12,11,40,118,7,67,22,21,17,16,9,0,25,13,29,21,15,19,12,11,40,55,72,7,78,22,21,17,16,9,0,25,13,32,30,15,19,12,11,40,55,72,7,68,22,21,17,45,16,9,0,25,13,32,30,15,19,12,11,40,55,72,7,74,22,21,17,45,16,9,0,25,13,32,31,12,11,40,55,69,7,64,15,22,21,17,45,9,25,21,12,9,0,41,17,16,9,25,13,29,21,15,16,12,11,40,118,7,74,15,22,21,17,45,9,25,21,12,9,0,41,17,45,16,9,25,21,36,12,13,29,30,15,16,12,11,40,118,7,51,22,21,17,25,16,17,16,9,0,25,13,19,12,13,11,12,11,40,55,69,7,57,22,21,17,37,16,9,0,25,13,11,12,13,11,12,11,40,55,69,7,60,22,21,17,16,37,9,0,25,14,11,12,0,13,12,12,11,40,55,69,7,62,15,22,21,17,16,16,26,26,9,0,25,14,11,12,0,13,20,9,23,27,12,11,40,118,7,68,15,22,25,17,46,9,0,29,13,13,12,11,40,147,7,59,15,22,42,77,55,40,160,7,55,15,22,42,77,78,40,118,7,52,15,22,57,27,58,40,143,7,44,15,22,62,77,40,118,7,53,15,22,23,20,16,42,24,66,40,150,7,52,15,22,37,61,40,151,7,64,15,22,29,50,40,137,7,40,15,22,30,50,40,118,7,26,15,22,21,40,118,7,59,15,22,23,16,16,16,31,20,70,16,16,8,40,118,7,51,15,22,25,17,16,9,29,13,46,22,12,11,40,118,7,44,15,22,28,17,49,9,32,14,45,12,11,40,118,7,54,15,22,25,17,28,26,26,16,43,9,0,29,13,51,12,0,13,11,12,11,40,137,7,83,15,22,28,17,53,76,9,0,32,21,12,0,23,25,12,11,40,129,7,31,15,22,45,66,40,54,142,7,60,15,22,27,11,31,11,0,31,34,40,54,136,7,43,42,40,55,74,7,51,48,40,55,72,7,52,15,22,6,18,15,15,15,13,16,43,40,119,7,78,15,22,25,17,26,18,30,31,9,0,29,17,19,14,12,11,40,94,60,59,7,41,15,22,25,17,25,41,9,0,29,17,12,11,40,119,7,31,15,22,25,17,25,20,9,0,29,17,25,12,11,40,119,7,55,15,22,25,18,25,26,9,0,29,17,22,12,11,40,119,7,47,15,22,25,18,21,25,9,0,29,11,40,94,60,54,7,55,15,22,24,22,22,64,65,25,40,119,7,76,15,22,14,27,13,0,21,17,19,22,9,0,25,13,21,12,11,40,119,7,45,15,22,24,7,24,31,40,119,7,86,15,22,14,21,13,0,21,17,19,22,9,0,25,13,21,12,11,40,94,60,57,7,57,15,22,18,31,42,15,40,119,7,36,15,22,39,8,65,31,27,38,8,65,31,27,38,23,23,40,119,7,42,15,22,25,17,44,9,0,29,13,43,12,11,40,119,7,54,15,22,24,9,28,9,0,24,9,28,11,40,128,7,65,15,22,58,30,36,40,125,7,32,15,22,53,18,36,40,119,7,44,61,83,64,14,10,29,30,31,24,25,24,11,16,11,36,31,34,25,26,27,38,12,11,34,31,25,28,30,24,12,17,15,12,12,61,83,64,14,10,29,30,31,25,24,11,16,11,34,31,25,28,30,24,12,17,15,12,12,22,23,25,20,43,22,15,33,61,61,59,11,55,7,41,15,22,32,43,40,119,7,57,15,22,16,35,15,0,23,19,21,11,27,11,0,25,40,119,7,43,61,83,64,14,10,29,30,31,22,25,26,24,11,10,29,26,22,26,26,11,16,11,33,25,31,31,25,27,12,11,37,25,31,25,28,25,30,24,24,12,11,39,31,25,28,30,24,24,12,17,15,12,12,61,83,64,14,10,29,30,31,22,25,26,24,11,10,29,26,22,26,26,11,16,11,33,25,31,31,25,27,12,11,37,25,31,25,28,25,30,24,24,12,11,39,31,25,28,30,24,24,12,17,15,12,12,22,24,44,13,58,37,33,61,61,60,11,55,7,39,15,22,34,30,42,40,119,7,52,15,22,14,26,13,0,21,17,19,34,9,25,9,0,43,17,16,9,27,13,17,12,11,40,119,7,34,15,22,20,17,13,0,14,39,13,0,21,17,40,9,25,9,0,47,40,119,7,40,15,68,40,119,7,69,43,17,46,9,25,17,60,19,12,11,40,55,80,7,53,15,22,21,30,19,62,60,40,40,119,7,71,22,51,12,40,84,7,50,15,22,20,16,40,119,7,50,15,22,33,23,40,119,7,46,15,22,32,19,40,119,7,48,15,22,22,18,18,40,119,7,35,15,22,21,17,43,9,25,13,14,12,11,40,119,7,46,15,22,15,18,13,0,21,17,61,9,25,13,12,9,0,19,29,40,119,7,51,15,22,60,16,40,119,7,49,22,20,25,40,80,7,73,22,62,30,43,53,32,8,24,40,91,7,47,22,28,62,30,43,53,32,8,6,40,95,7,43,22,69,12,40,79,7,65,15,22,59,34,40,118,7,65,15,22,59,34,40,118,7,65,15,22,21,17,49,9,0,25,14,12,9,0,19,48,29,40,118,7,48,22,24,11,0,28,11,0,24,19,60,11,0,28,19,14,11,0,21,31,28,40,54,80,7,39,15,22,24,11,0,28,11,0,45,19,60,11,0,28,19,14,11,0,21,31,28,40,118,7,48,15,22,17,15,0,24,19,22,60,11,0,28,19,14,11,0,21,31,28,40,118,7,63,15,22,17,15,0,24,19,22,66,11,0,28,19,14,11,0,21,31,30,40,118,7,32,15,22,28,11,0,32,11,0,21,49,40,37,40,118,7,35,15,22,24,17,37,15,38,9,0,28,35,48,35,12,11,63,9,29,11,33,61,61,11,55,118,7,52,15,22,30,30,14,40,118,7,32,15,22,24,11,28,11,0,45,11,28,11,0,21,31,31,19,40,118,7,48,15,22,29,85,13,0,19,57,51,55,40,118,7,41,15,22,24,17,37,15,38,9,0,28,35,46,49,12,11,63,9,29,11,90,9,38,11,104,9,42,11,33,61,62,74,79,11,55,118,7,37,15,22,30,11,34,11,21,42,27,40,118,7,30,15,22,35,0,21,17,78,54,9,0,25,21,24,12,9,0,26,15,40,118,7,82,22,24,17,37,15,38,9,0,28,35,38,12,11,63,9,29,11,33,61,62,11,55,75,76,7,39,15,22,50,49,50,38,32,40,40,118,7,45,15,22,30,26,14,25,26,19,40,118,7,34,15,40,40,118,7,37,15,46,113,29,40,118,7,66,22,21,17,27,15,32,9,0,25,19,30,15,26,12,11,40,54,75,7,36,22,6,26,11,40,54,75,7,66,22,25,33,19,44,40,54,78,7,35,15,22,25,29,19,44,40,118,7,37,15,22,58,21,74,40,118,7,41,15,22,26,26,26,24,27,20,40,118,7,39,15,22,58,40,44,29,28,10,40,118,7,31,15,22,58,40,44,29,28,49,24,10,10,40,118,7,45,15,22,31,41,19,33,34,40,118,7,40,15,22,26,25,24,24,16,40,118,7,51,15,22,26,17,22,14,28,9,30,14,11,12,9,0,19,7,21,26,27,19,49,40,118,7,56,22,23,31,13,34,40,54,78,7,77,15,22,52,52,34,68,152,7,50,15,22,65,18,54,68,119,7,36,15,22,32,24,68,118,7,51,15,22,21,17,56,29,45,27,9,0,25,21,12,9,0,19,35,40,122,7,52,15,22,30,46,40,140,7,44,15,22,31,36,32,37,29,76,32,39,40,137,7,49,15,22,38,20,20,27,40,118,7,44,15,22,35,26,33,77,31,42,44,48,58,21,40,118,7,41,15,22,37,27,23,35,82,39,41,45,42,40,24,10,10,40,118,7,44,15,22,37,27,23,35,82,39,56,47,57,57,26,10,10,40,118,7,57,15,22,37,22,35,82,38,79,26,35,40,118,7,35,15,22,37,22,35,83,42,42,41,44,43,47,31,42,60,40,118,7,45,15,22,28,72,14,22,40,118,7,44,15,22,51,16,59,61,40,118,7,34,15,22,19,22,17,64,55,77,10,40,118,7,49,15,22,59,49,50,22,40,118,7,39,15,22,19,22,22,17,64,64,0,26,42,49,22,26,25,30,13,18,40,118,7,38,15,22,19,32,17,0,19,49,49,17,0,18,0,20,22,20,24,40,118,7,58,19,22,14,14,13,0,21,17,19,9,25,17,12,9,0,19,26,28,31,40,122,137,7,59,19,22,53,14,10,40,122,127,7,39,15,22,44,14,10,40,118,7,70,15,97,22,46,24,37,24,64,28,29,43,40,118,7,51,15,22,26,0,43,16,26,34,25,29,0,33,40,118,7,47,15,63,22,27,36,25,65,34,52,58,14,14,40,118,7,48,15,22,21,17,24,9,25,21,26,12,11,40,118,7,39,15,22,35,27,23,40,118,7,31,15,22,19,23,17,59,62,10,40,118,7,45,15,22,24,13,40,118,7,44,15,22,59,49,10,40,118,7,52,15,22,19,23,59,83,64,14,10,27,30,31,22,24,26,24,11,10,27,26,22,26,26,11,16,11,33,25,31,31,25,27,12,11,31,25,31,31,25,27,12,11,31,31,31,27,12,17,15,12,12,33,57,61,11,118,7,69,15,22,21,17,22,26,9,25,13,16,12,11,40,115,7,20,15,22,30,9,34,9,57,9,32,9,0,19,22,40,118,7,42,15,22,12,0,21,18,59,83,64,14,10,29,30,31,24,24,24,11,16,11,34,31,25,28,30,24,12,11,37,31,38,25,81,27,12,17,15,12,12,33,59,58,11,118,7,44,15,22,30,17,46,9,0,5,45,27,0,68,40,118,7,47,15,22,23,21,21,21,33,106,22,10,40,118,7,32,15,22,32,27,52,34,40,118,7,49,15,22,34,17,27,15,33,29,40,9,0,38,19,12,9,0,19,44,39,40,118,7,48,15,22,17,23,22,13,0,30,17,22,49,47,0,20,35,9,0,34,22,12,0,21,40,15,21,12,11,40,118,7,41,15,22,21,17,16,9,25,13,20,12,11,40,118,7,51,15,22,31,33,60,118,7,31,15,22,23,26,21,58,21,25,18,16,38,40,118,7,41,15,22,33,40,94,60,63,7,41,15,22,21,17,23,31,21,9,25,9,0,19,32,31,45,25,40,118,7,26,15,22,19,30,17,59,30,70,10,40,118,7,57,15,22,29,30,30,27,74,77,40,118,7,57,15,22,8,30,23,23,28,61,49,52,40,118,7,48,22,19,25,17,52,48,10,40,54,70,7,49,22,23,18,23,21,60,40,54,104,7,45,22,14,23,13,0,19,62,77,40,54,71,7,47,15,22,20,22,18,60,71,40,118,7,60,15,22,58,67,40,118,7,48,15,22,14,23,13,0,14,17,27,13,0,60,0,74,40,118,7,37,15,22,14,24,13,58,46,40,118,7,40,22,14,24,13,58,47,40,71,7,28,15,22,33,21,102,54,23,33,63,8,40,118,7,31,15,22,45,37,39,34,38,40,118,7,65,15,67,40,120,7,45,15,48,40,120,7,33,15,86,40,118,7,46,15,22,28,30,27,26,99,33,40,118,7,76,15,53,69,118,7,73,15,71,69,118,7,49,15,22,14,13,25,20,40,156,7,66,15,64,69,122,7,51,15,22,29,32,36,69,118,7,49,15,22,14,13,29,55,69,118,7,81,15,22,33,33,0,21,17,45,9,0,25,13,30,17,12,11,69,127,7,77,15,22,33,33,0,21,17,45,9,0,25,13,30,23,12,11,69,127,7,45,15,22,33,0,21,17,45,9,0,25,13,17,12,11,69,118,7,52,15,22,31,0,21,17,44,9,0,25,13,17,12,11,69,118,7,68,15,22,31,0,21,17,44,9,0,25,13,17,12,11,69,127,7,42,15,22,21,17,37,9,0,25,13,17,12,11,69,118,7,56,15,22,21,17,51,9,0,25,13,17,12,11,69,118,7,40,15,22,21,17,23,30,21,62,60,44,9,0,25,13,23,12,11,69,131,7,45,15,22,19,26,17,53,0,26,34,35,24,60,0,14,69,131,7,49,15,22,19,26,17,18,0,26,34,35,24,25,0,14,69,131,7,55,15,22,61,23,23,15,38,19,42,28,18,17,55,28,33,65,64,11,156,7,44,15,22,21,34,34,33,19,0,21,34,19,0,14,16,69,118,7,38,15,22,21,17,24,39,38,22,0,24,39,22,0,16,40,9,0,25,13,24,17,12,13,12,11,69,127,7,53,15,22,21,17,16,38,9,0,25,13,32,17,12,13,12,11,69,127,7,55,15,22,21,17,24,40,22,0,24,40,22,0,16,40,9,0,25,13,24,17,12,13,12,11,69,118,7,63,15,22,21,17,24,40,22,0,24,30,22,0,16,40,9,0,25,13,24,17,12,13,12,11,69,127,7,34,15,22,21,17,37,9,25,13,15,12,11,69,118,7,34,15,22,26,31,32,24,0,30,31,28,0,47,55,0,26,69,118,7,35,15,22,19,27,17,55,15,23,69,118,7,40,15,22,21,17,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,34,51,51,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,40,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,29,50,9,0,25,17,18,12,11,69,118,7,26,15,39,74,118,7,50,15,22,56,37,19,10,40,118,7,49,15,22,21,17,24,36,32,22,58,0,24,36,32,22,58,0,41,9,0,25,16,22,18,12,11,40,118,7,59,15,22,26,17,16,9,30,13,12,9,0,19,36,24,37,40,142,7,65,15,22,26,17,58,9,30,13,12,9,0,19,36,24,37,40,131,7,47,15,22,26,18,40,118,7,51,15,22,22,18,40,118,7,53,15,22,21,17,45,9,25,13,20,12,11,40,118,7,52,15,22,21,17,29,46,9,0,25,13,12,9,0,19,27,21,23,22,40,118,7,46,15,22,21,17,29,46,9,0,25,13,12,9,0,19,27,21,23,22,40,118,7,48,15,22,21,17,29,46,9,0,25,13,12,9,0,19,27,20,40,149,7,39,15,22,21,17,42,9,0,25,13,31,16,12,11,40,149,7,36,15,22,21,17,42,9,0,25,13,17,12,11,40,118,7,48,15,22,21,17,42,9,0,25,13,17,12,11,40,118,7,33,15,22,29,32,40,118,7,33,15,22,29,32,40,118,7,57,15,22,26,29,40,118,7,54,15,22,26,31,40,118,7,37,15,22,14,17,6,8,40,118,7,33,15,22,23,19,45,11,0,27,15,14,11,0,21,22,21,40,149,7,38,15,22,21,17,48,9,0,25,13,12,9,0,19,20,19,40,149,7,32,15,22,21,10,14,40,118,7,46,15,22,19,40,40,122,7,46,15,22,19,22,40,122,7,43,15,22,22,16,22,40,127,7,48,15,22,21,16,23,40,127,7,50,15,22,21,17,45,9,25,13,16,12,11,40,118,7,54,15,22,21,17,49,9,25,13,12,9,0,19,29,40,127,7,67,15,22,21,17,49,9,25,13,12,9,0,19,21,40,127,7,79,15,22,21,17,49,9,25,13,12,9,0,19,23,27,40,127,7,43,22,22,13,40,54,7,37,15,22,21,17,41,9,25,13,12,9,0,19,16,18,40,127,7,38,15,22,21,17,41,9,25,13,12,9,0,19,22,19,40,127,7,42,15,22,26,26,50,23,40,118,7,41,15,22,21,17,38,9,25,17,20,12,11,40,118,7,49,15,22,21,17,37,58,23,35,21,57,9,0,25,17,12,17,12,9,0,19,42,40,118,7,54,15,22,51,24,10,40,122,7,57,15,22,51,47,10,40,151,7,57,15,22,21,17,37,9,0,25,13,20,19,12,11,40,118,7,55,15,22,16,16,16,40,118,7,26,15,22,19,49,40,118,7,35,15,22,21,17,37,9,0,25,13,19,12,11,40,118,7,45,22,25,20,40,55,7,42,22,25,14,40,55,7,57,22,52,0,21,17,42,9,0,25,13,20,12,11,40,54,102,7,48,22,21,17,33,42,9,0,25,13,27,16,12,11,40,54,102,7,48,22,21,17,37,9,0,25,13,27,16,12,11,40,54,102,7,42,22,33,75,51,40,54,7,40,22,28,28,51,40,54,7,32,22,21,17,29,0,42,46,9,0,25,13,24,12,13,12,11,40,54,7,50,22,21,17,37,9,0,25,13,17,12,11,40,54,7,52,22,21,17,37,9,0,25,13,28,25,12,11,40,54,7,73,15,22,21,17,37,9,0,25,13,28,18,12,11,40,127,7,52,15,22,21,17,51,9,0,25,13,12,9,0,19,26,19,40,127,7,49,15,39,40,62,129,7,47,15,22,51,26,13,40,131,7,56,15,22,19,23,17,52,17,53,40,122,7,52,15,22,21,17,50,9,0,25,11,40,120,7,43,15,22,26,28,25,26,40,120,7,54,22,21,17,42,9,25,13,14,12,11,40,54,102,7,48,22,21,17,42,9,25,13,55,15,12,11,40,54,102,7,43,22,14,40,13,0,19,31,33,40,54,7,39,22,22,17,42,9,0,26,9,0,19,31,34,40,54,7,69,22,22,19,20,46,40,54,82,7,47,22,19,30,31,17,58,23,40,54,72,7,61,22,15,19,18,15,40,54,73,7,61,22,15,19,31,15,40,54,73,7,61,22,15,18,19,15,40,54,73,7,61,22,15,31,19,15,40,54,73,7,28,15,22,17,15,18,15,40,54,119,7,31,15,22,21,17,16,9,0,25,13,21,20,12,11,40,54,119,7,58,43,17,46,9,25,17,19,12,11,40,55,80,7,56,76,16,28,40,55,80,7,64,43,17,40,9,0,25,13,20,15,12,11,40,55,80,7,42,15,22,52,52,39,40,55,119,7,26,15,22,21,17,40,9,0,25,13,13,12,11,40,55,119,7,37,15,22,36,32,27,35,32,34,85,43,54,74,40,119,7,67,22,55,17,31,9,32,11,38,82,7,67,22,55,17,21,9,32,11,38,82,7,41,15,22,28,22,26,69,47,40,119,7,58,43,17,28,38,38,26,16,50,9,0,25,13,30,22,12,0,14,12,11,40,55,84,7,56,43,17,37,50,20,9,0,25,17,12,0,17,25,35,23,21,12,11,40,55,80,7,52,43,17,41,37,9,0,25,13,20,15,12,11,40,55,80,7,47,43,17,40,38,9,0,25,13,15,12,11,40,55,7,41,43,37,40,55,80,7,32,43,41,16,40,55,7,47,43,17,46,9,0,25,13,30,27,41,12,11,40,55,80,7,64,15,22,34,34,89,16,40,119,7,47,15,22,6,27,31,27,29,29,25,0,29,29,29,38,29,0,36,45,39,0,12,40,119,7,42,15,22,27,12,40,119,7,53,43,19,23,17,26,11,27,15,29,18,14,13,40,55,80,7,54,43,17,43,9,0,25,13,12,9,0,19,21,21,19,20,40,55,80,7,55,43,17,16,9,25,13,12,9,0,19,16,40,55,77,7,58,54,30,59,40,55,97,7,38,15,54,55,40,55,119,7,38,41,15,13,18,40,55,84,7,38,41,25,13,18,40,55,84,7,56,36,22,15,40,55,108,7,30,41,29,12,54,20,28,13,57,0,34,28,32,25,40,55,78,7,47,43,17,51,9,25,21,12,9,0,19,26,50,44,40,55,80,7,37,43,17,51,9,25,21,12,9,0,19,26,50,25,40,55,80,7,50,43,17,23,9,0,25,20,12,9,0,41,17,23,9,0,25,20,12,11,40,55,82,7,71,43,18,23,9,0,25,20,12,9,0,41,17,23,9,0,25,20,12,11,40,55,7,95,43,17,23,9,0,25,20,12,9,0,41,18,23,9,0,25,20,12,11,40,55,82,7,38,22,66,58,19,17,4,44,11,54,6,25,73,44,22,18,73,9,48,40,55,7,75,36,14,13,0,21,17,19,28,9,25,13,12,9,0,41,17,16,9,25,13,12,11,40,55,82,7,77,36,31,13,0,21,17,19,28,9,25,9,0,41,17,16,9,25,13,12,11,40,55,82,7,40,43,17,36,9,25,27,12,9,0,41,17,36,9,25,27,12,11,40,55,7,46,41,15,12,35,32,17,25,40,55,7,38,22,51,16,40,55,7,37,22,55,57,40,55,7,44,22,21,31,19,19,63,40,40,55,7,37,22,23,33,33,21,0,21,17,48,9,0,25,13,12,9,0,19,23,20,40,55,7,60,22,19,20,17,28,32,28,40,73,7,50,15,22,21,17,23,32,21,40,9,0,25,13,29,15,12,11,40,147,7,71,15,22,23,17,40,171,7,71,15,22,23,17,40,171,7,70,15,22,21,16,40,171,7,70,15,22,21,16,40,171,7,53,15,22,21,17,15,32,33,9,0,25,13,12,9,0,19,26,21,40,173,7,50,15,22,14,13,0,19,27,19,40,154,7,32,15,22,22,9,0,26,9,0,19,31,39,40,118,7,35,15,22,22,17,38,9,0,26,9,0,19,31,46,40,118,7,47,15,22,19,25,42,40,137,7,54,15,22,27,27,16,35,40,137,7,57,15,22,21,17,45,53,9,0,25,21,12,13,12,9,0,19,26,49,40,118,7,60,15,22,25,51,27,36,40,118,7,60,15,22,25,51,27,36,40,118,7,65,15,22,29,51,27,30,40,118,7,32,15,22,39,69,40,118,7,35,15,22,25,73,40,126,7,55,15,22,21,17,22,9,0,25,13,12,9,0,19,27,37,40,140,7,56,15,22,21,17,37,9,0,25,13,22,12,11,40,170,7,51,22,21,17,40,9,0,25,13,29,15,12,11,40,54,102,7,52,15,22,21,17,40,9,0,25,13,24,24,23,12,11,40,118,7,63,22,57,21,21,54,40,97,7,39,15,22,57,21,21,48,40,118,7,39,15,22,60,43,45,40,118,7,62,15,22,69,40,155,7,44,15,49,40,146,7,39,15,43,17,39,9,0,25,13,28,33,12,11,40,118,7,41,15,43,17,39,9,0,25,13,23,24,36,21,24,33,12,11,40,118,7,47,15,43,17,40,9,0,25,13,23,24,36,21,23,17,12,11,40,118,7,36,15,43,17,40,9,0,25,13,20,12,11,40,118,7,38,15,43,17,40,9,0,25,13,33,27,12,11,40,118,7,33,15,22,42,51,34,40,118,7,40,15,22,21,17,40,9,0,25,13,28,28,33,33,26,65,35,12,11,40,118,7,39,15,22,21,17,44,9,0,25,17,36,41,12,11,40,118,7,35,15,22,31,21,34,40,118,7,40,15,22,31,42,40,118,7,41,22,28,14,40,91,7,55,22,21,17,43,9,0,25,13,45,12,11,40,123,7,64,22,28,24,24,26,34,20,24,40,84,7,51,22,28,24,24,26,71,0,20,21,36,54,40,84,7,47,22,28,24,24,26,72,0,20,21,36,0,33,40,84,7,45,22,19,19,17,28,40,86,7,34,15,22,32,26,26,27,72,36,57,40,118,7,40,15,22,55,33,40,118,7,49,15,22,19,31,17,16,26,16,40,118,7,38,15,22,19,31,17,53,27,26,0,19,19,0,40,40,118,7,54,15,22,19,20,17,58,21,58,40,118,7,47,15,22,20,31,31,18,28,19,19,14,15,40,118,7,33,15,22,21,17,38,9,25,13,39,25,36,12,11,40,118,7,54,22,28,45,40,95,7,54,22,28,45,40,95,7,64,22,28,45,40,95,7,54,22,28,44,40,95,7,54,22,28,45,40,95,7,48,15,22,19,21,17,61,57,41,41,39,40,118,7,39,22,21,17,42,9,0,25,13,12,9,0,19,41,40,92,7,39,22,31,25,40,102,7,33,22,28,13,8,40,90,7,32,22,63,41,40,86,7,53,22,19,23,17,18,0,15,12,17,40,92,7,38,22,59,25,58,40,108,7,41,22,19,28,35,17,21,42,67,40,108,7,47,22,24,19,22,36,40,95,7,57,22,21,17,41,9,0,25,13,33,33,12,11,40,95,7,38,15,22,21,17,41,9,0,25,13,33,38,24,33,12,11,40,118,7,32,15,22,55,74,40,118,7,37,15,22,67,28,76,40,118,7,41,15,22,14,13,0,21,17,19,9,25,9,0,70,27,25,72,40,118,7,41,15,22,32,25,21,25,40,118,7,33,15,22,21,17,43,9,0,25,13,12,9,0,19,40,61,40,118,7,37,15,22,25,25,40,140,7,37,15,22,28,41,40,128,7,43,15,22,55,56,0,21,17,39,9,0,25,13,23,16,12,11,40,147,7,48,15,22,9,14,8,0,9,28,10,40,118,7,44,22,16,0,18,22,16,0,12,40,54,7,60,62,78,3,34],"data":{"version":3,"file":"syntax.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/syntax/syntax.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/modify.js":{"lineLengths":[13,62,31,37,37,29,22,38,83,64,14,10,27,30,31,26,26,24,11,10,27,26,22,26,26,11,16,11,33,25,31,25,28,25,30,24,24,12,17,15,12,12,34,14,47,58,58,11,55,7,3,34],"data":{"version":3,"file":"modify.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/syntax/modify.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,qCAAkC;AAElC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAEjC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAmCN,CAAC;QAER,MAAM,IAAI,GAAG;aACJ,CAAC;QAEV,MAAM,MAAM,GAAG,IAAA,iBAAQ,EAAC;YACtB,EAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAC;YAC3C,EAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAC;SAAC,CAAC,CAAC;QACjD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/syntax/spaghetti_scope.js":{"lineLengths":[13,62,31,52,62,52,72,45,64,37,19,55,44,48,66,9,5,62,1,27,62,64,20,1,35,32,37,43,62,7,40,38,15,18,14,26,18,16,43,89,144,121,89,147,89,144,132,102,119,7,46,47,15,20,9,29,11,10,10,9,26,15,25,9,30,16,10,10,11,43,90,146,126,7,74,22,41,52,14,43,57,67,60,62,62,64,7,59,22,34,14,43,56,140,112,117,86,141,117,86,138,117,7,58,22,21,17,44,45,9,25,13,12,13,12,9,0,10,27,32,10,43,60,53,7,3,43],"data":{"version":3,"file":"spaghetti_scope.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/syntax/spaghetti_scope.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/class_definition.js":{"lineLengths":[13,62,31,52,80,45,57,62,64,19,56,66,45,99,1,43,35,73,27,47,24,119,29,56,100,7,35,79,27,47,24,119,29,56,57,7,40,79,27,47,24,119,29,56,69,7,51,79,35,41,27,47,24,119,29,56,69,78,77,7,39,66,35,42,70,47,27,47,40,30,24,119,29,56,79,73,56,64,89,76,7,30,66,35,44,70,27,47,39,30,24,119,29,56,41,55,73,96,89,7,32,66,35,40,27,47,31,30,24,119,29,56,79,64,56,89,58,7,44,22,25,17,30,31,31,28,0,71,0,28,37,33,26,0,16,33,9,29,13,12,11,119,29,56,79,64,56,61,57,89,93,7,45,61,17,14,30,33,33,28,9,29,11,119,29,56,113,58,85,58,60,7,36,22,25,17,15,32,14,32,25,9,29,13,12,11,119,29,56,79,64,56,67,7,3,44],"data":{"version":3,"file":"class_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/types/class_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/form_definition.js":{"lineLengths":[13,62,31,52,45,62,64,36,27,109,55,94,30,18,5,33,1,41,40,43,52,7,41,45,38,52,7,27,66,38,52,7,41,56,38,52,52,54,65,51,53,64,7,56,60,38,52,52,54,64,7,3,43],"data":{"version":3,"file":"form_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/types/form_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/interface_definition.js":{"lineLengths":[13,62,31,52,80,45,62,64,19,56,66,45,103,1,69,32,55,36,28,122,30,57,69,56,62,89,7,36,132,29,52,7,3,69,32,55,57,28,122,30,69,56,82,92,7,33,55,67,28,122,30,69,56,61,62,24,71,9,7,3,62,32,55,36,28,122,29,59,56,66,97,7,3,48],"data":{"version":3,"file":"interface_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/types/interface_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/message.js":{"lineLengths":[13,62,31,61,34,48,60,66,7,48,66,66,7,48,64,66,7,57,67,66,7,3,35],"data":{"version":3,"file":"message.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/types/message.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAwD;AAExD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAE9B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAA,aAAM,EAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,GAAG,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACjD,IAAA,aAAM,EAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/method_parameters.js":{"lineLengths":[13,62,31,52,45,62,64,19,56,66,45,99,1,44,49,15,42,17,22,15,31,54,9,24,14,17,12,11,114,30,57,66,56,47,80,159,91,7,3,45],"data":{"version":3,"file":"method_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/types/method_parameters.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,oDAA+C;AAE/C,6CAA8C;AAE9C,8DAA8D;AAE9D,gEAA0D;AAE1D,SAAS,GAAG,CAAC,GAAc;IACzB,MAAM,IAAI,GAAG,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC,CAAC,CAAU,CAAC;IAC7C,MAAM,CAAC,GAAG,IAAI,oBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC;IACzC,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;;QACzC,MAAM,IAAI,GAAG;;;;;;;;;;;UAWP,CAAC;QAEP,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACjF,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAK,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,GAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAA,aAAM,EAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAA,aAAM,EAAC,MAAA,UAAU,CAAC,mBAAmB,CAAC,aAAa,CAAC,0CAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7F,IAAA,aAAM,EAAC,UAAU,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/types/types.js":{"lineLengths":[13,62,31,52,45,62,64,19,11,56,66,108,17,1,32,73,27,36,29,13,23,31,32,21,27,115,31,58,51,57,80,57,252,261,7,3,33],"data":{"version":3,"file":"types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/types/types.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,oDAA+C;AAE/C,6CAA8C;AAC9C,8DAA8D;AAE9D,gEAA0D;AAG1D,SAAS,GAAG,CAAC,GAAc;;IACzB,MAAM,IAAI,GAAG,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC,CAAC,CAAU,CAAC;IAC7C,MAAM,CAAC,GAAG,IAAI,oBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;IACrD,MAAM,KAAK,GAAG,MAAA,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,0CAAE,aAAa,EAAE,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;;QACjE,MAAM,IAAI,GAAG;;;;;;;0BAOS,CAAC;QAEvB,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAClF,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,KAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAA+B,CAAC;QAC1D,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAErC,IAAA,aAAM,EAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,CAAC,QAAQ,CAAC,0CAAE,gBAAgB,EAAE,0CAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjG,IAAA,aAAM,EAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,CAAC,QAAQ,CAAC,0CAAE,gBAAgB,EAAE,0CAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/abap/unknown.js":{"lineLengths":[13,62,31,82,37,38,19,24,16,15,21,38,72,69,6,29,56,65,63,49,100,13,11,7,3,35],"data":{"version":3,"file":"unknown.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/abap/unknown.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,kFAA0E;AAC1E,qCAAuC;AAEvC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,KAAK,GAAG;QACZ,eAAe;QACf,OAAO;QACP,MAAM;QACN,YAAY;QACZ,6BAA6B;QAC7B,+DAA+D;QAC/D,wCAAwC,EAAE,mBAAmB;KAC9D,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,sBAAsB,EAAE,GAAG,EAAE;YAC5C,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,CAAC;YAEvC,IAAA,aAAM,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAA,aAAM,EAAC,SAAS,CAAC,GAAG,EAAE,YAAY,oBAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/artifacts_objects.js":{"lineLengths":[13,62,31,64,44,68,58,39,22,89,66,7,32,83,73,82,70,7,22,84,70,7,3,45],"data":{"version":3,"file":"artifacts_objects.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/artifacts_objects.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,gEAA0D;AAC1D,4CAAqC;AACrC,oEAA6D;AAC7D,0DAAoD;AAEpD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAEnC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACd,MAAM,GAAG,GAAG,oCAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,eAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,GAAG,GAAG,oCAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,GAAG,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;QACnD,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,+BAAa,CAAC,CAAC;QAC5C,IAAA,aAAM,EAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACd,MAAM,GAAG,GAAG,oCAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/cds/cds_lexer.js":{"lineLengths":[13,62,35,31,55,29,25,73,9,3,69,54,55,61,59,7,25,71,1,9,3,69,54,55,61,59,7,25,42,0,50,1,9,3,69,54,55,62,60,7,37,53,0,50,1,9,3,69,54,55,62,60,7,36,53,5,8,0,50,1,9,3,69,54,55,62,60,7,45,53,0,50,1,9,3,69,54,55,62,60,7,35,51,69,54,54,61,7,35,51,69,54,54,61,7,35,51,69,54,54,61,7,3,37],"data":{"version":3,"file":"cds_lexer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/cds/cds_lexer.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/cds/cds_parser.js":{"lineLengths":[13,62,35,31,55,57,48,30,23,53,52,19,3,69,54,55,64,76,7,35,53,52,19,4,69,64,76,7,28,53,56,26,14,8,69,64,76,7,34,64,41,41,27,25,22,1,8,9,10,4,69,64,76,7,36,53,56,26,27,14,8,69,64,76,7,25,53,58,28,15,8,69,64,76,7,54,53,41,52,20,7,4,69,64,76,7,48,53,47,52,20,7,4,69,64,76,7,37,53,52,52,19,4,69,64,76,7,29,53,50,125,1,52,19,4,69,64,76,7,42,64,50,1,19,4,69,64,76,7,42,71,1,33,19,4,69,64,76,7,41,63,50,1,19,4,69,64,76,7,22,71,1,32,4,69,64,76,7,23,71,1,19,23,69,64,76,7,32,71,1,30,3,69,64,76,7,41,91,50,1,30,3,69,64,76,7,47,69,50,1,30,3,69,64,76,7,27,21,50,1,31,109,3,69,64,76,7,30,56,50,1,30,3,69,64,76,7,33,21,35,5,38,7,69,64,76,7,36,21,92,35,5,38,7,69,64,76,7,31,21,32,50,32,25,15,17,3,69,64,76,7,73,21,32,50,6,32,32,32,10,12,1,2,69,64,76,7,37,21,32,50,6,35,10,12,1,2,69,64,76,7,37,21,32,50,6,35,10,12,1,2,69,64,76,7,37,21,32,50,6,35,10,12,1,2,69,64,76,7,46,21,29,43,24,1,13,12,1,2,69,64,76,7,38,21,28,1,16,16,1,2,69,64,76,7,41,21,31,1,28,3,69,64,76,7,27,21,47,10,3,69,64,76,7,28,21,47,25,3,69,64,76,7,44,21,22,27,29,9,3,70,64,76,7,42,21,22,31,29,9,3,70,64,55,7,28,21,31,41,68,13,11,10,3,69,64,59,7,29,21,58,21,24,3,69,64,59,7,29,21,59,21,24,3,69,64,59,7,29,21,34,1,35,21,37,30,3,69,64,59,7,40,21,102,1,11,12,14,0,21,11,1,2,69,64,59,7,35,21,27,27,50,53,53,38,3,21,21,21,21,3,2,69,64,59,7,42,21,34,1,32,78,32,3,69,64,59,7,26,21,31,1,31,3,69,64,76,7,34,21,21,33,0,1,14,14,0,10,30,25,71,86,39,0,30,25,71,86,39,23,0,10,30,25,71,86,39,0,30,25,71,86,39,23,0,13,3,69,64,76,7,38,21,45,13,42,7,3,69,64,76,7,35,21,44,1,27,33,1,84,2,69,64,76,7,38,21,29,1,25,21,3,69,64,76,7,66,21,29,43,34,1,13,12,3,69,64,76,7,31,21,49,1,17,39,46,3,69,64,76,7,21,21,47,29,3,69,64,76,7,23,21,43,54,23,29,23,3,69,64,76,7,52,21,22,27,11,20,2,70,64,76,7,48,21,21,13,22,20,60,18,20,17,17,2,72,64,76,7,3,38],"data":{"version":3,"file":"cds_parser.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/cds/cds_parser.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/config.js":{"lineLengths":[13,62,31,42,44,27,12,17,33,46,49,46,10,25,17,44,37,32,29,10,21,6,1,26,55,34,29,26,30,14,27,92,14,11,65,70,7,60,37,65,63,57,7,62,34,31,31,27,77,14,11,65,70,7,65,34,31,35,30,11,58,66,68,53,70,7,94,37,52,65,70,7,93,37,51,65,70,7,69,37,21,53,65,81,7,3,34],"data":{"version":3,"file":"config.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/config.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/ddic_references.js":{"lineLengths":[13,62,31,60,44,16,50,1,35,29,26,50,66,70,7,33,26,51,51,47,67,71,7,3,43],"data":{"version":3,"file":"ddic_references.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/ddic_references.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAE5B,4DAAsD;AACtD,4CAAsC;AAEtC,SAAS,GAAG;IACV,OAAO,IAAI,gCAAc,EAAE,CAAC;AAC9B,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAE/B,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,gBAAM,CAAC,OAAO,CAAC,CAAC;QAChC,IAAA,aAAM,EAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,gBAAM,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,gBAAM,CAAC,OAAO,CAAC,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/ddl/tabl.js":{"lineLengths":[13,62,31,61,55,57,36,32,45,21,7,78,54,54,7,33,45,21,7,78,64,106,129,109,117,116,7,33,49,51,27,27,5,79,64,107,129,109,7,33,55,51,41,31,42,25,34,25,3,83,64,111,125,109,7,36,50,51,23,17,17,3,84,64,105,109,7,3,32],"data":{"version":3,"file":"tabl.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/ddl/tabl.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/edit_helper.js":{"lineLengths":[13,62,31,52,46,46,58,56,11,42,66,64,56,53,102,50,100,15,1,31,33,15,46,66,5,5,5,5,5,8,60,33,127,23,127,78,55,104,56,56,56,7,49,15,46,79,60,103,104,78,55,104,47,9,12,7,47,66,48,7,68,67,48,7,65,79,65,7,64,79,65,7,77,44,17,23,45,20,7,76,44,17,23,45,20,7,78,44,17,17,23,45,17,20,7,79,44,47,45,32,7,60,44,10,10,16,45,10,0,13,7,60,44,10,15,16,45,10,10,13,7,60,44,10,15,16,45,10,10,13,7,52,44,9,10,15,45,9,0,12,7,3,39],"data":{"version":3,"file":"edit_helper.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/edit_helper.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/_apply_edit.js":{"lineLengths":[13,62,36,55,61,52,26,22,23,5,17,27,84,9,54,19,9,47,49,34,13,48,36,13,48,78,13,48,78,13,18,68,13,9,25,5,21,66,32,59,9,38,37,58,82,13,50,128,9,98,5,25,58,32,59,9,33,84,5,1,48,39],"data":{"version":3,"file":"_apply_edit.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/_apply_edit.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/code_lens.js":{"lineLengths":[13,62,31,49,61,55,38,60,99,78,24,20,42,40,33,21,19,20,31,43,33,45,21,20,25,22,17,34,30,72,68,76,53,7,25,92,81,77,76,53,7,35,19,61,21,17,47,9,25,9,0,19,17,71,76,53,176,7,3,37],"data":{"version":3,"file":"code_lens.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/code_lens.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AACvD,uDAAiD;AAEjD,MAAM,QAAQ,GAAW,oBAAoB,CAAC;AAE9C,MAAM,GAAG,GACT,8CAA8C;IAC9C,6FAA6F;IAC7F,wEAAwE;IACxE,kBAAkB;IAClB,cAAc;IACd,oCAAoC;IACpC,kCAAkC;IAClC,2BAA2B;IAC3B,eAAe;IACf,aAAa;IACb,cAAc;IACd,yBAAyB;IACzB,qCAAqC;IACrC,2BAA2B;IAC3B,uCAAuC;IACvC,eAAe;IACf,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,YAAY,CAAC;AAEb,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAE9B,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,oBAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACtD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,oBAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACtD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;;QAC3B,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE;;;;;;;;;eAS3B,CAAC,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,oBAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACtD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,OAAO,0CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/definition.js":{"lineLengths":[13,62,55,31,49,57,61,35,27,87,68,118,52,7,33,106,68,118,56,61,7,39,77,32,29,22,77,59,23,30,26,15,36,23,32,18,18,90,123,56,69,61,7,36,72,27,24,72,16,19,84,120,56,66,7,46,72,15,14,25,23,69,120,56,66,7,65,89,68,118,52,7,63,112,29,68,118,52,7,58,40,32,13,32,76,68,120,57,120,57,7,55,40,13,31,76,68,120,57,7,31,36,18,0,9,76,68,125,63,7,11,36,31,3,38],"data":{"version":3,"file":"definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/diagnostics.js":{"lineLengths":[13,62,31,49,59,61,35,36,38,87,73,121,7,46,87,59,121,7,61,83,102,17,16,9,40,13,20,17,12,12,65,50,57,69,121,7,50,69,91,81,122,7,40,110,82,81,98,33,80,9,7,3,39],"data":{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/diagnostics.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/formatting.js":{"lineLengths":[13,62,31,49,61,35,35,24,41,72,73,77,40,11,58,7,35,41,79,73,86,77,40,11,58,65,7,37,41,79,73,77,40,11,53,7,44,87,41,69,73,77,40,11,53,7,3,38],"data":{"version":3,"file":"formatting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/formatting.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/help.js":{"lineLengths":[13,62,31,49,45,55,61,29,38,77,68,22,37,101,142,69,9,97,138,66,7,23,22,41,9,45,9,6,80,68,103,57,7,3,32],"data":{"version":3,"file":"help.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/help.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6CAAwC;AACxC,uDAAuD;AACvD,6DAAuD;AAEvD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IAEzB,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,GAAG,WAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,4FAA4F,CAAC,CAAC;YACtH,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,GAAG,WAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,4FAA4F,CAAC,CAAC;QACtH,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACf,MAAM,IAAI,GAAG;;;;;KAKZ,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjD,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/highlight.js":{"lineLengths":[13,62,31,49,55,61,36,34,30,72,68,96,53,7,35,80,68,96,53,7,29,94,68,90,53,7,30,92,68,91,53,7,3,37],"data":{"version":3,"file":"highlight.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/highlight.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,uDAAkD;AAClD,6DAAuD;AAEvD,MAAM,QAAQ,GAAW,kBAAkB,CAAC;AAE5C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAE9B,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,qBAAS,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,qBAAS,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,qBAAS,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACpE,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,qBAAS,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACrE,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/hover.js":{"lineLengths":[13,62,55,31,49,47,61,43,12,50,55,6,1,30,18,40,85,66,16,12,29,32,33,40,28,13,12,29,28,24,28,28,13,18,13,30,36,33,32,27,33,27,30,27,32,26,26,14,13,30,36,33,32,33,27,30,32,26,26,14,19,17,14,14,30,87,68,77,54,7,33,106,68,77,58,63,7,38,94,68,78,58,70,7,33,113,68,77,58,63,7,24,88,68,78,58,61,7,25,95,68,78,58,62,7,33,86,68,77,58,70,7,25,87,68,77,54,7,50,106,68,77,54,7,51,63,17,20,15,26,9,0,45,18,12,11,76,68,78,58,63,7,32,109,68,78,58,108,109,104,104,105,103,7,39,59,17,48,9,41,9,37,76,68,78,58,120,7,54,49,17,22,9,31,13,12,9,0,19,22,76,68,78,58,110,7,41,56,17,22,9,31,13,12,11,79,68,78,58,110,7,45,53,16,17,83,68,78,58,114,7,51,36,13,11,74,68,77,58,114,7,48,39,11,74,68,77,58,116,7,38,38,12,74,68,77,58,114,7,45,40,33,15,74,68,78,58,110,7,37,47,9,29,9,29,17,74,68,78,58,109,108,7,66,45,87,74,68,78,58,109,7,50,58,85,34,44,74,68,78,58,109,114,7,41,31,26,17,19,64,23,37,10,74,68,78,58,109,108,7,45,97,41,33,22,31,36,74,68,78,58,109,111,7,36,21,42,87,68,18,14,34,34,33,27,37,15,19,16,16,34,22,73,74,77,25,85,78,130,82,70,118,7,46,47,15,12,9,29,11,10,11,74,68,78,58,107,7,34,61,73,74,77,85,66,131,7,44,60,74,71,86,66,134,140,7,58,47,17,22,47,34,9,29,14,12,9,0,19,21,74,71,87,66,129,128,128,7,69,40,43,13,29,15,74,71,85,66,128,7,35,36,13,25,17,19,9,29,11,74,71,86,66,128,7,39,49,9,31,9,25,17,34,9,29,13,12,11,74,71,25,86,66,134,7,50,58,74,71,25,86,66,129,7,43,122,9,45,11,93,71,25,86,66,129,7,30,49,9,31,9,0,51,9,29,11,82,71,25,86,66,134,7,43,47,9,29,9,0,28,33,88,71,25,78,58,108,7,32,50,9,32,9,44,9,29,11,84,71,25,78,58,111,7,34,42,13,13,0,27,17,25,48,9,31,18,12,11,84,71,25,78,58,110,7,56,41,14,13,0,26,17,24,9,30,22,20,12,11,81,71,25,79,58,109,7,43,41,18,13,0,26,17,24,16,9,30,13,21,23,12,11,80,71,25,80,59,122,80,59,122,7,30,41,18,13,0,26,17,24,33,9,30,11,80,71,25,79,59,122,7,37,41,14,13,0,27,17,24,9,31,22,12,9,0,52,17,38,9,30,22,12,11,80,71,25,80,59,120,122,7,61,48,17,14,26,9,30,11,24,22,12,11,83,71,25,79,59,120,122,79,59,120,122,7,40,41,21,13,0,26,17,24,33,9,30,0,11,86,71,25,79,59,120,122,7,52,47,24,13,0,31,17,30,9,35,9,0,44,0,49,8,87,71,25,80,59,123,128,7,77,54,80,15,83,68,78,58,126,7,38,60,28,31,57,73,68,77,58,134,7,41,41,14,13,0,27,17,24,9,31,22,12,9,0,19,33,20,25,75,68,79,58,107,138,7,64,41,14,13,0,27,17,24,33,9,31,22,12,9,0,9,33,20,14,10,75,68,78,58,107,138,7,52,70,43,9,25,9,9,6,14,9,10,75,68,78,58,107,7,54,47,17,17,9,29,14,12,11,75,68,78,58,122,7,57,47,17,38,9,29,14,16,12,9,19,14,9,31,20,29,10,75,68,79,58,107,7,51,47,17,37,9,29,13,12,9,9,34,21,23,40,8,19,16,75,68,79,58,109,123,7,44,36,15,16,19,17,75,68,78,58,107,7,51,36,22,17,75,68,78,58,107,7,48,51,75,68,78,58,107,7,44,58,75,68,78,58,107,7,46,41,27,29,14,75,68,78,58,107,7,40,66,75,68,78,58,107,7,40,88,54,75,68,78,58,107,7,40,47,17,29,36,27,9,29,11,75,68,78,58,107,7,36,67,73,74,77,86,66,130,7,42,49,18,13,0,20,30,13,0,27,17,25,9,31,34,12,11,75,68,79,58,107,7,64,37,13,0,15,18,15,75,68,78,58,107,106,7,47,50,17,41,9,26,14,12,11,75,68,78,58,114,106,7,59,69,75,68,78,58,114,106,7,67,71,75,68,78,58,114,107,7,43,55,75,68,78,58,114,110,7,57,43,17,38,52,20,9,0,25,36,11,12,11,75,68,78,58,114,106,7,57,78,16,17,54,21,17,60,9,25,13,17,12,11,75,68,79,58,115,7,59,43,20,14,32,75,68,77,58,109,7,59,43,53,14,32,75,68,77,58,109,7,66,56,43,15,75,68,78,58,139,7,48,59,22,35,82,98,75,68,78,58,106,7,84,22,14,20,13,0,21,17,19,9,25,17,12,9,0,19,27,20,75,68,80,59,118,80,59,118,7,50,45,16,21,14,53,65,26,64,14,12,29,20,19,18,18,20,26,24,13,15,12,12,50,23,66,26,64,14,12,29,20,19,18,18,20,20,26,24,13,15,12,12,59,83,64,14,22,13,39,39,14,14,10,37,35,11,15,15,12,12,23,77,82,80,83,81,61,73,70,83,59,110,83,59,123,7,40,47,75,68,77,58,106,7,47,48,75,68,77,58,106,7,34,28,28,29,26,24,50,22,46,75,68,77,58,110,7,52,44,20,17,18,15,29,75,68,77,58,113,7,59,43,17,10,23,23,30,21,21,9,25,9,19,37,75,68,78,58,119,7,39,73,26,22,75,68,77,58,111,7,40,47,31,15,60,83,64,14,10,35,30,25,25,25,25,31,33,37,37,37,30,29,23,33,11,15,12,12,76,80,79,79,58,150,128,7,70,43,17,16,42,9,25,13,28,76,12,13,11,12,11,75,68,78,58,111,107,7,32,47,9,29,9,31,74,68,77,58,110,7,52,67,74,68,78,58,105,7,52,67,74,68,78,58,105,7,82,36,73,74,77,85,66,130,7,32,30,18,74,71,85,66,133,7,52,53,16,17,83,68,78,58,104,7,57,53,15,15,31,17,83,68,78,58,111,7,34,36,16,20,83,68,78,58,111,7,34,36,16,18,0,9,83,68,77,58,111,7,3,33],"data":{"version":3,"file":"hover.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/hover.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/implementation.js":{"lineLengths":[13,62,55,31,49,65,61,39,27,89,68,126,51,7,36,72,27,24,72,16,19,84,128,51,69,7,45,47,17,17,9,29,14,12,11,75,68,127,51,64,7,46,72,15,14,25,23,69,129,52,7,3,42],"data":{"version":3,"file":"implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/implementation.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/inlay_hints.js":{"lineLengths":[13,62,31,49,61,59,40,36,30,72,68,80,53,7,21,61,21,9,25,9,19,27,20,71,80,53,7,22,61,18,25,71,80,53,7,30,61,19,20,17,50,36,71,80,53,7,32,61,58,61,34,68,71,80,53,7,31,61,19,21,17,18,18,34,71,80,53,7,35,61,23,24,25,0,23,24,67,22,21,0,71,71,80,53,87,7,45,61,21,17,27,24,25,0,27,28,71,26,25,9,25,9,0,76,71,80,53,92,7,3,39],"data":{"version":3,"file":"inlay_hints.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/inlay_hints.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AACvD,2DAAqD;AAErD,MAAM,QAAQ,GAAW,sBAAsB,CAAC;AAEhD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAEhC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE;;;;;;;kBAOxB,CAAC,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACd,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE;;uBAEnB,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE;;;;;kCAKR,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE;;;;kEAIwB,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE;;;;;;gCAMV,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE;;;;;;;;;;;qEAW2B,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;0EAgBgC,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/references.js":{"lineLengths":[13,62,55,31,49,57,61,43,12,50,55,6,1,35,30,90,16,60,31,93,53,7,75,90,16,60,31,93,53,7,44,90,16,13,13,60,31,93,53,7,36,87,17,16,20,60,31,93,53,7,46,96,19,43,11,31,18,14,11,21,35,60,31,94,53,7,40,96,11,31,11,34,60,31,94,53,7,44,89,15,34,60,31,94,53,7,48,101,29,60,31,93,53,7,80,89,33,13,27,65,60,31,94,53,7,65,36,18,0,9,76,60,31,94,53,7,3,38],"data":{"version":3,"file":"references.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/references.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/rename_global_class.js":{"lineLengths":[13,62,31,49,49,47,55,47,61,53,36,77,60,31,48,45,54,51,11,55,7,45,124,15,38,18,60,31,48,42,54,51,11,52,45,54,52,11,59,70,7,3,52,36,77,60,31,48,38,54,52,29,11,55,7,37,124,9,32,12,60,31,48,42,54,53,85,11,75,7,58,91,49,9,32,12,111,83,64,14,14,33,20,36,20,28,20,24,15,15,12,13,73,31,64,34,56,54,53,28,11,59,64,61,41,59,74,111,40,78,7,58,91,49,9,32,12,111,83,64,14,14,33,20,36,20,28,20,24,15,15,12,13,46,26,25,20,64,38,56,54,53,28,11,59,64,61,83,42,67,40,90,73,7,3,47],"data":{"version":3,"file":"rename_global_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/rename_global_class.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/rename_method.js":{"lineLengths":[13,62,31,49,49,55,61,47,38,37,19,43,17,22,9,0,25,13,12,11,76,60,31,56,54,53,30,11,59,64,31,47,17,26,9,0,25,17,12,11,185,7,3,41],"data":{"version":3,"file":"rename_method.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/rename_method.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,iDAA4C;AAC5C,uDAAuD;AACvD,6DAAuD;AACvD,+CAAiD;AAEjD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAElC,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;;QAC7B,MAAM,IAAI,GAAG;;;;;;;;UAQP,CAAC;QACP,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACpC,YAAY,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC;YACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;YACxC,OAAO,EAAE,SAAS;SAAC,CAAC,CAAC;QACvB,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,gCAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG;;;;;;;;UAQX,CAAC;QACP,IAAA,aAAM,EAAC,MAAA,MAAA,GAAG,CAAC,cAAc,EAAE,0CAAE,QAAQ,GAAG,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/rename_variable.js":{"lineLengths":[13,62,31,49,49,55,61,47,40,36,88,60,31,48,45,54,51,11,55,7,28,93,60,31,48,45,54,51,11,59,114,7,30,19,38,12,76,60,31,56,54,52,26,11,59,64,31,42,12,185,7,40,19,43,17,21,32,9,0,25,13,14,12,11,76,60,31,56,54,53,30,11,59,64,31,47,17,21,36,9,0,25,13,18,12,11,185,7,59,92,17,21,33,9,0,25,13,14,12,12,60,31,48,45,54,52,11,59,111,7,3,43],"data":{"version":3,"file":"rename_variable.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/rename_variable.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,iDAA4C;AAC5C,uDAAuD;AACvD,6DAAuD;AACvD,+CAAiD;AAEjD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAEpC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YAClC,YAAY,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC;YACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;SAAC,CAAC,CAAC;QAC5C,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YAClC,YAAY,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC;YACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;SAAC,CAAC,CAAC;QAE5C,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;;QACtB,MAAM,IAAI,GAAG;WACN,CAAC;QACR,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACpC,YAAY,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC;YACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,EAAE,KAAK;SAAC,CAAC,CAAC;QACnB,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,gCAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG;WACV,CAAC;QACR,IAAA,aAAM,EAAC,MAAA,MAAA,GAAG,CAAC,cAAc,EAAE,0CAAE,QAAQ,GAAG,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;;QAChC,MAAM,IAAI,GAAG;;;;;;;;;;UAUP,CAAC;QACP,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACpC,YAAY,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC;YACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;YACxC,OAAO,EAAE,SAAS;SAAC,CAAC,CAAC;QACvB,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,gCAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG;;;;;;;;;;UAUX,CAAC;QACP,IAAA,aAAM,EAAC,MAAA,MAAA,GAAG,CAAC,cAAc,EAAE,0CAAE,QAAQ,GAAG,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE;;;;;;;;;;UAU1C,CAAC,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YAClC,YAAY,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC;YACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;SAAC,CAAC,CAAC;QAE7C,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/semantic.js":{"lineLengths":[13,62,31,49,61,53,36,46,23,78,68,198,106,7,3,36],"data":{"version":3,"file":"semantic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/semantic.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AACvD,qDAA4D;AAE5D,MAAM,QAAQ,GAAW,kBAAkB,CAAC;AAE5C,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAE1C,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACf,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,gBAAgB,GAAG,IAAI,+BAAoB,CAAC,GAAG,CAAC,CAAC,mBAAmB,CACxE,EAAC,YAAY,EAAE,EAAC,GAAG,EAAE,QAAQ,EAAC,EAAE,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,EAAE,GAAG,EAAE,EAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAC,EAAC,CAAC,CAAC;QAClG,IAAA,aAAM,EAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/statement_flow.js":{"lineLengths":[13,62,31,49,61,35,39,29,22,53,21,24,24,13,36,21,20,16,21,17,17,22,14,16,13,6,80,60,31,99,57,7,3,42],"data":{"version":3,"file":"statement_flow.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/statement_flow.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AACvD,mCAAyC;AAEzC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAEnC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;KAiBZ,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,oBAAc,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC;QACnF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/lsp/symbols.js":{"lineLengths":[13,62,31,49,51,61,32,48,85,60,31,76,55,7,40,42,46,27,50,26,77,60,31,40,54,76,55,67,7,44,118,60,31,76,55,67,7,57,143,60,31,76,55,67,72,67,72,7,39,131,60,31,64,76,55,63,7,67,72,32,13,16,12,12,60,31,76,55,67,72,67,72,78,7,3,35],"data":{"version":3,"file":"symbols.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/lsp/symbols.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/msag_references.js":{"lineLengths":[13,62,31,60,32,55,16,50,1,35,29,26,73,79,7,29,26,79,35,53,76,80,7,3,43],"data":{"version":3,"file":"msag_references.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/msag_references.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAE5B,4DAAsD;AACtD,gCAAgC;AAChC,uDAAsD;AAEtD,SAAS,GAAG;IACV,OAAO,IAAI,gCAAc,EAAE,CAAC;AAC9B,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAE/B,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;QAClB,IAAA,aAAM,EAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,mBAAU,CAAC,IAAI,cAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,SAAS,CAAC;QAC3B,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAA,aAAM,EAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/authorization_check_field.js":{"lineLengths":[13,62,31,49,61,35,28,59,83,64,14,10,31,29,11,15,12,12,106,31,42,46,56,49,7,3,53],"data":{"version":3,"file":"authorization_check_field.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/authorization_check_field.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;;;WAUL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QACzE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAA8B,CAAC;QAE9D,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/class.js":{"lineLengths":[13,62,31,49,61,47,52,54,42,77,59,77,33,19,56,66,45,99,1,47,37,126,29,52,7,28,116,29,52,7,3,43,22,74,27,48,24,120,41,63,7,3,49,32,71,15,37,17,112,27,54,24,56,75,70,19,29,56,70,7,32,86,27,54,24,126,29,56,68,7,36,36,126,29,52,7,3,56,32,80,35,38,36,38,27,54,35,30,24,126,29,56,79,71,59,65,93,7,36,136,29,52,7,61,62,35,59,27,50,35,30,24,122,29,56,79,71,59,50,73,7,3,49,42,76,35,38,36,38,27,50,24,122,29,56,41,66,76,108,64,7,38,22,53,21,14,34,19,32,24,22,13,36,15,122,29,56,41,57,67,80,108,7,40,22,53,19,12,26,23,24,55,13,36,15,122,29,56,41,57,67,81,82,7,40,76,35,38,36,44,27,50,24,122,29,56,41,57,64,64,74,106,66,7,37,71,21,24,22,19,94,69,13,36,15,110,35,7,32,76,35,59,27,50,24,122,29,56,41,57,67,41,60,80,7,52,76,35,38,36,44,41,42,27,50,24,122,29,56,41,66,7,65,36,132,29,52,7,3,47,23,46,10,70,40,29,57,26,75,10,68,107,86,32,32,56,42,38,52,45,38,46,38,42,58,33,33,30,25,83,20,60,86,7,3,50,24,46,68,107,86,32,32,56,42,38,52,45,38,46,38,42,58,33,33,30,25,83,20,60,72,7,24,46,68,107,86,32,32,56,42,38,45,38,46,38,42,58,33,33,30,25,83,20,60,63,7,3,54,24,71,21,32,13,36,15,122,29,56,55,52,68,86,7,38,71,21,28,25,19,13,36,15,122,29,56,55,52,67,7,57,71,21,34,28,28,25,0,75,15,38,17,122,29,56,55,52,73,88,74,88,43,82,7,53,22,35,17,61,9,32,11,122,29,56,50,52,68,7,55,22,35,17,55,9,32,11,122,29,56,50,52,68,7,3,33],"data":{"version":3,"file":"class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/class.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/data_definition.js":{"lineLengths":[13,62,31,49,61,54,50,37,21,38,83,64,14,9,36,30,32,32,10,15,12,12,24,43,41,41,33,25,22,1,8,9,10,3,56,72,78,11,31,42,57,78,41,73,52,72,9,7,34,24,43,41,41,33,25,22,1,14,15,16,3,56,78,11,31,42,57,41,73,52,72,9,7,63,24,43,41,41,33,25,22,100,1,14,15,17,8,3,56,78,11,31,42,57,41,73,52,72,9,7,43,24,43,39,51,21,39,93,39,100,26,23,3,56,78,11,31,42,57,44,109,124,112,113,41,73,52,52,62,76,80,9,74,7,32,24,42,0,39,1,15,34,19,3,56,71,11,31,42,57,72,7,44,24,41,1,15,34,19,3,56,73,11,31,42,57,74,7,59,24,49,1,17,39,45,3,56,73,11,31,42,57,28,7,41,24,43,54,23,29,23,3,56,75,11,31,42,57,43,70,7,42,24,31,41,68,13,11,10,3,56,77,11,31,42,57,43,70,7,3,43],"data":{"version":3,"file":"data_definition.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/data_definition.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/data_element.js":{"lineLengths":[13,62,31,49,61,54,48,37,21,38,83,64,14,10,30,29,23,33,28,11,15,12,12,107,31,42,41,73,70,7,31,21,38,83,64,14,10,37,28,23,33,11,15,12,12,114,31,42,41,67,7,36,29,107,31,42,41,71,7,47,34,107,31,42,41,71,7,43,25,38,83,64,14,10,30,30,28,30,24,11,15,12,12,25,38,83,64,14,10,28,30,29,23,33,28,25,11,15,12,12,46,77,77,31,42,41,73,70,65,7,75,25,38,83,64,14,10,30,30,40,30,24,11,15,12,12,46,77,31,42,41,68,7,30,25,38,83,64,14,10,30,30,30,29,11,15,12,12,46,77,31,42,41,70,7,30,25,38,83,64,14,10,30,28,23,31,33,11,15,12,12,46,77,31,42,41,70,7,28,25,42,87,68,18,14,52,34,29,29,29,29,29,31,35,35,35,34,33,27,35,37,15,19,16,16,46,95,31,42,41,77,7,3,40],"data":{"version":3,"file":"data_element.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/data_element.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/domain.js":{"lineLengths":[13,62,31,49,61,57,42,37,21,38,83,64,14,10,30,30,29,23,33,28,32,11,15,12,12,109,31,42,41,76,74,7,36,29,109,31,42,41,74,7,47,34,109,31,42,41,74,7,38,21,38,83,64,14,10,30,30,29,28,32,11,15,12,12,109,31,42,41,73,71,7,46,21,38,83,64,14,10,30,30,28,23,33,40,11,15,12,12,109,31,42,41,73,7,40,59,87,68,18,14,40,34,33,27,37,26,38,32,15,18,15,41,30,35,39,31,16,15,41,30,35,38,30,16,15,41,30,35,39,31,16,15,41,30,35,39,31,16,19,19,16,14,6,109,31,42,61,55,54,55,55,7,36,59,87,68,18,14,40,34,33,27,37,26,38,32,15,18,15,41,30,35,39,31,16,19,19,16,14,6,109,31,42,61,55,7,42,59,87,68,18,14,40,34,33,27,37,26,38,32,15,18,19,19,16,14,6,109,31,42,61,54,7,57,59,83,64,14,10,32,30,29,23,33,22,25,11,14,11,26,31,31,27,12,11,26,31,31,31,29,12,15,15,12,12,111,31,42,45,54,57,7,3,34],"data":{"version":3,"file":"domain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/domain.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/enhancement_implementation.js":{"lineLengths":[13,62,31,49,61,57,28,59,83,64,14,23,37,41,16,18,14,48,28,15,19,17,19,20,47,31,56,21,29,25,24,23,21,20,9,10,13,57,28,32,33,14,14,17,58,23,30,33,25,27,50,18,15,11,10,13,57,28,32,33,14,14,17,58,23,30,33,25,27,31,18,15,11,10,13,14,24,26,31,56,28,15,14,24,26,31,56,28,15,14,15,12,12,107,31,42,74,84,7,3,54],"data":{"version":3,"file":"enhancement_implementation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/enhancement_implementation.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAqFL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAgC,CAAC;QAEhE,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACtD,IAAA,aAAM,EAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/enhancement_spot.js":{"lineLengths":[13,62,31,49,61,52,36,21,38,83,64,14,24,37,14,19,49,53,35,53,76,20,15,9,10,13,57,28,32,33,14,14,17,58,23,30,33,25,27,31,18,15,11,10,13,57,28,32,33,14,14,17,58,23,30,33,25,27,35,18,15,11,10,13,14,24,26,38,56,28,15,14,24,26,38,56,28,15,14,15,12,12,114,31,42,57,49,53,76,75,7,3,44],"data":{"version":3,"file":"enhancement_spot.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/enhancement_spot.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAEhD,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA0EL,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC;QACjF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAsB,CAAC;QACtD,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzC,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/extension_index.js":{"lineLengths":[13,62,31,49,61,51,28,21,38,83,64,14,9,11,26,31,27,31,32,26,27,12,13,12,27,32,31,28,34,13,14,10,15,12,12,110,31,42,67,65,7,3,43],"data":{"version":3,"file":"extension_index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/extension_index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAE/C,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;WA2BL,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAqB,CAAC;QACrD,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/function_group.js":{"lineLengths":[13,62,31,49,61,42,49,64,103,82,28,36,27,67,67,28,28,24,63,48,27,27,60,45,33,28,28,34,27,60,35,40,28,35,25,29,29,26,21,40,124,31,60,42,55,85,74,7,41,124,31,60,44,56,78,78,7,45,46,90,129,31,60,48,56,32,76,7,62,59,87,68,18,26,17,43,43,18,18,14,41,39,15,19,19,16,16,46,76,105,16,16,106,25,31,60,51,57,7,3,42],"data":{"version":3,"file":"function_group.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/function_group.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/icf_service.js":{"lineLengths":[13,62,31,49,61,42,28,59,83,64,14,34,15,39,26,41,16,12,39,28,38,13,21,16,40,28,23,42,17,22,15,12,12,142,31,42,47,61,56,65,34,56,65,7,3,39],"data":{"version":3,"file":"icf_service.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/icf_service.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;WAyBL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7G,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAiB,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,QAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/interface.js":{"lineLengths":[13,62,31,49,61,42,54,38,59,83,64,14,15,39,20,39,26,20,24,16,15,12,12,46,78,31,60,77,7,3,37],"data":{"version":3,"file":"interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/interface.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAEvD,0CAA2C;AAE3C,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,GAAG,GAAG;;;;;;;;;;;;;;WAcL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC,CAAC,CAAc,CAAC;QACjD,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/lock_object.js":{"lineLengths":[13,62,31,49,61,35,28,59,83,64,14,10,41,30,24,39,25,11,16,11,42,40,26,46,25,12,17,16,11,42,26,33,40,33,25,25,12,11,42,26,33,40,33,25,25,29,12,17,15,12,12,118,31,42,43,56,61,7,3,39],"data":{"version":3,"file":"lock_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/lock_object.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA2CL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,CAAC;QACrF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAiB,CAAC;QAEjD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/maintenance_and_transport_object.js":{"lineLengths":[13,62,31,49,61,35,28,59,83,64,14,9,45,30,22,29,30,10,9,26,45,30,30,10,9,10,46,31,40,19,31,11,10,9,11,40,34,12,11,40,34,19,24,26,23,19,12,10,15,12,12,119,31,42,72,78,63,7,3,60],"data":{"version":3,"file":"maintenance_and_transport_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/maintenance_and_transport_object.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA2CL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAoC,CAAC;QAEpE,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACpD,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1D,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/message_class.js":{"lineLengths":[13,62,31,49,61,44,28,68,107,86,32,28,50,48,41,29,27,28,39,51,41,53,29,28,33,30,25,115,31,42,69,44,56,68,79,7,34,68,107,86,32,28,50,48,41,29,27,28,39,51,41,29,28,33,30,25,115,31,42,69,44,56,68,66,7,3,41],"data":{"version":3,"file":"message_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/message_class.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GACP,8CAA8C;YAC9C,6FAA6F;YAC7F,wEAAwE;YACxE,kBAAkB;YAClB,cAAc;YACd,oCAAoC;YACpC,kCAAkC;YAClC,2BAA2B;YAC3B,eAAe;YACf,aAAa;YACb,cAAc;YACd,yBAAyB;YACzB,qCAAqC;YACrC,2BAA2B;YAC3B,uCAAuC;YACvC,eAAe;YACf,cAAc;YACd,mBAAmB;YACnB,gBAAgB;YAChB,YAAY,CAAC;QAEf,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QAClF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAmB,CAAC;QACnD,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAA,aAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,GAAG,GACP,8CAA8C;YAC9C,6FAA6F;YAC7F,wEAAwE;YACxE,kBAAkB;YAClB,cAAc;YACd,oCAAoC;YACpC,kCAAkC;YAClC,2BAA2B;YAC3B,eAAe;YACf,aAAa;YACb,cAAc;YACd,yBAAyB;YACzB,qCAAqC;YACrC,2BAA2B;YAC3B,eAAe;YACf,cAAc;YACd,mBAAmB;YACnB,gBAAgB;YAChB,YAAY,CAAC;QAEf,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QAClF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAmB,CAAC;QACnD,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAA,aAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/mime_object.js":{"lineLengths":[13,62,31,49,61,30,28,59,83,64,14,43,26,15,12,12,134,31,42,57,84,65,7,3,39],"data":{"version":3,"file":"mime_object.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/mime_object.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAE1B,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;WAQL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC,CAAC;QACrG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAiB,CAAC;QACjD,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAChE,IAAA,aAAM,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/number_range.js":{"lineLengths":[13,62,31,49,61,48,29,59,83,64,14,15,26,26,33,16,9,20,26,19,29,10,15,12,12,107,31,42,67,63,62,7,3,40],"data":{"version":3,"file":"number_range.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/number_range.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAE5C,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;WAiBL,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAkB,CAAC;QAClD,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/oauth2_profile.js":{"lineLengths":[13,62,31,49,61,35,28,59,83,64,14,12,12,45,25,13,14,18,46,26,36,19,18,46,26,36,19,15,17,34,36,35,34,36,35,18,13,15,12,12,123,31,42,41,59,54,66,66,7,3,42],"data":{"version":3,"file":"oauth2_profile.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/oauth2_profile.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAgCL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1F,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAoB,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,MAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,IAAA,aAAM,EAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/program.js":{"lineLengths":[13,62,31,49,61,42,38,26,36,111,68,107,85,30,27,39,35,33,35,41,39,28,31,29,25,75,31,60,61,7,27,36,111,68,107,85,30,27,57,34,36,40,28,31,29,25,75,31,60,60,7,50,36,111,31,60,61,7,37,36,111,59,83,64,14,12,24,18,20,20,24,13,10,10,15,19,33,24,11,10,15,19,33,24,11,10,15,35,24,11,11,15,12,12,75,31,60,38,66,67,67,61,7,45,36,111,31,75,31,60,40,24,7,3,35],"data":{"version":3,"file":"program.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/program.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_data_element.js":{"lineLengths":[13,62,64,31,65,52,39,54,59,83,64,14,10,29,30,25,25,25,25,28,30,34,34,34,30,29,23,33,11,15,12,12,56,63,19,65,61,41,73,95,9,7,66,59,83,64,14,10,50,30,25,25,25,25,28,30,34,34,34,30,29,23,33,11,15,12,12,56,84,19,102,61,41,89,111,9,7,44,59,83,64,14,10,32,30,25,25,25,25,28,30,34,34,34,30,29,23,33,11,15,12,12,47,48,48,23,25,56,66,78,19,65,68,61,41,53,99,13,73,82,44,44,19,22,13,18,83,13,9,7,44,59,83,64,14,10,29,30,25,25,25,25,28,30,34,34,34,30,29,23,33,11,15,12,12,60,83,64,14,10,28,30,31,33,24,11,16,11,46,30,31,27,12,17,15,12,12,56,63,65,19,65,65,61,41,53,99,13,60,86,13,18,83,13,9,7,44,59,83,64,14,10,29,30,25,25,25,25,28,30,34,34,34,30,29,23,33,11,15,12,12,60,83,64,14,10,50,30,27,24,29,23,30,22,24,41,11,15,12,12,56,63,65,19,65,65,61,41,53,99,13,60,84,13,18,83,13,9,7,53,59,83,64,14,10,32,30,25,25,25,25,28,30,34,34,34,30,29,23,33,11,15,12,12,47,25,17,52,27,52,27,9,29,11,56,66,78,19,65,68,61,41,53,99,13,73,82,25,17,48,23,48,23,9,29,12,13,18,83,13,9,7,48,65,83,64,14,10,32,30,25,25,25,25,28,30,34,34,34,30,29,23,33,11,15,12,12,65,83,64,14,10,32,30,25,25,25,25,28,30,34,34,34,30,29,23,33,11,15,12,12,66,27,31,15,56,72,72,87,19,65,51,49,49,61,41,53,99,13,58,99,13,82,101,23,27,16,13,18,83,13,9,7,42,59,83,64,14,10,32,30,25,25,25,25,28,30,34,34,34,30,29,23,33,11,15,12,12,60,83,64,14,10,33,32,11,15,12,12,56,66,66,19,65,68,61,41,56,99,13,58,25,13,18,83,13,9,7,3,47],"data":{"version":3,"file":"rename_data_element.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/rename/rename_data_element.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_domain.js":{"lineLengths":[13,62,64,31,65,52,33,54,59,83,64,14,10,27,30,29,23,33,28,11,15,12,12,56,63,19,65,61,41,73,93,9,7,3,41],"data":{"version":3,"file":"rename_domain.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/rename/rename_domain.ts"],"names":[],"mappings":";;AAAA,gEAA0D;AAC1D,+BAA4B;AAC5B,iEAA4D;AAC5D,oDAA+C;AAE/C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAE7B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG;;;;;;;;;;;;;;WAcL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClC,IAAI,wBAAU,CAAC,eAAe,EAAE,GAAG,CAAC;SACrC,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,iBAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAE/C,IAAA,aAAM,EAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/B,IAAA,aAAM,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACjD,IAAA,aAAM,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_global_class.js":{"lineLengths":[13,62,64,31,65,52,39,55,83,64,14,14,30,20,36,20,28,20,24,15,15,12,12,58,74,9,29,11,56,68,66,19,71,61,41,57,85,9,28,11,66,13,61,100,13,18,83,13,9,7,42,74,9,29,11,53,56,68,65,19,71,61,41,57,85,9,28,11,66,13,60,88,13,18,83,13,9,7,49,75,17,22,9,29,13,12,11,75,17,22,9,29,13,20,12,11,56,69,69,19,71,61,41,57,25,13,63,77,13,18,83,13,9,7,37,74,9,29,11,51,17,56,68,65,19,71,61,41,57,85,9,28,11,66,13,60,105,13,18,83,13,9,7,42,74,9,29,11,60,83,64,14,10,40,31,24,11,16,11,35,33,31,29,26,27,25,12,11,36,33,31,29,26,27,25,12,17,15,12,12,56,68,64,19,71,61,41,57,85,9,28,11,66,13,59,89,13,18,83,13,9,7,51,54,17,35,9,29,11,61,56,68,65,19,71,61,41,57,25,13,60,96,13,18,83,13,9,7,3,47],"data":{"version":3,"file":"rename_global_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/rename/rename_global_class.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_global_interface.js":{"lineLengths":[13,62,64,31,65,52,43,55,83,64,14,15,39,20,39,26,20,24,16,15,12,12,22,56,15,56,77,75,19,89,61,41,66,67,15,66,13,70,109,13,18,83,13,9,7,47,56,21,15,74,15,30,9,29,37,67,12,11,56,77,77,19,89,61,41,66,25,13,72,86,15,29,9,29,36,65,12,11,66,13,18,83,13,9,7,45,56,31,15,74,15,13,55,9,29,13,12,11,56,77,68,19,89,61,41,66,25,13,63,87,13,18,83,13,9,7,49,49,13,15,74,17,25,16,9,29,13,30,12,11,56,70,68,19,75,61,41,59,25,13,63,87,13,18,83,13,9,7,37,56,15,56,77,75,19,87,61,41,64,65,15,66,13,68,107,13,18,83,13,9,7,47,48,21,25,19,15,75,17,50,9,30,13,12,11,56,69,69,19,88,61,41,58,25,13,64,79,13,18,83,13,9,89,7,38,48,15,75,17,16,9,30,13,34,37,12,11,56,69,69,19,88,61,41,58,25,13,64,75,13,18,83,13,9,89,7,3,51],"data":{"version":3,"file":"rename_global_interface.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/rename/rename_global_interface.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_message_class.js":{"lineLengths":[13,62,64,31,65,52,31,55,83,64,14,10,32,30,23,11,9,10,21,33,23,29,11,10,15,12,12,54,56,72,19,74,61,41,73,89,9,7,38,52,56,72,68,19,60,74,54,84,117,7,3,48],"data":{"version":3,"file":"rename_message_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/rename/rename_message_class.ts"],"names":[],"mappings":";;AAAA,gEAA0D;AAC1D,+BAA4B;AAC5B,iEAA4D;AAC5D,oDAA+C;AAE/C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAE3B,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;WAmBH,CAAC;IAEV,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC;SAC9C,CAAC,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,iBAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/B,IAAA,aAAM,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACjD,IAAA,aAAM,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAG,8BAA8B,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC;YAC7C,IAAI,wBAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC;SAC1C,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,kCAAkC;QAEpD,IAAI,iBAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_table_type.js":{"lineLengths":[13,62,64,31,65,52,31,54,59,83,64,14,10,41,30,28,24,29,30,22,24,30,11,15,12,12,56,75,19,77,61,41,73,95,9,7,3,45],"data":{"version":3,"file":"rename_table_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/rename/rename_table_type.ts"],"names":[],"mappings":";;AAAA,gEAA0D;AAC1D,+BAA4B;AAC5B,iEAA4D;AAC5D,oDAA+C;AAE/C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAE3B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;WAiBL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClC,IAAI,wBAAU,CAAC,2BAA2B,EAAE,GAAG,CAAC;SACjD,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,iBAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAE3D,IAAA,aAAM,EAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/B,IAAA,aAAM,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACjD,IAAA,aAAM,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/rename/rename_table.js":{"lineLengths":[13,62,64,31,65,52,31,55,83,64,14,10,39,30,31,22,28,26,24,11,10,39,26,22,26,26,11,16,11,33,25,31,31,25,27,12,11,35,25,33,31,25,27,12,11,32,33,31,27,12,17,15,12,12,59,83,64,14,10,46,30,31,48,24,11,16,11,35,33,35,31,31,27,12,11,37,42,31,27,12,11,38,42,31,27,12,11,36,34,31,27,12,11,35,31,25,28,30,24,24,48,12,11,36,30,31,27,12,11,37,35,31,27,12,11,37,35,31,27,12,11,37,35,31,27,12,11,43,54,31,27,12,11,38,30,31,23,31,27,12,11,37,42,31,27,12,11,40,30,31,23,31,27,12,11,37,30,31,23,31,27,12,11,40,30,31,23,31,27,12,11,42,30,31,23,31,27,12,11,38,30,31,27,12,11,37,43,31,27,12,11,40,43,31,27,12,11,42,43,31,27,12,11,39,43,31,27,12,11,42,43,31,27,12,11,34,35,31,27,12,11,36,34,31,27,12,17,16,11,35,49,29,35,37,28,30,30,12,11,35,39,35,38,28,32,30,12,11,35,42,35,37,28,31,30,12,17,16,11,35,35,12,17,15,12,12,54,56,75,19,77,61,41,73,93,9,7,43,47,39,56,75,78,19,65,77,61,41,53,77,97,13,73,82,27,13,18,83,13,9,7,35,56,86,19,102,61,41,91,100,9,7,3,40],"data":{"version":3,"file":"rename_table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/rename/rename_table.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/table_type.js":{"lineLengths":[13,62,31,49,61,52,54,41,38,22,38,83,64,14,10,40,30,35,24,29,30,22,24,33,44,11,15,12,12,118,31,42,41,67,38,68,7,50,22,38,83,64,14,10,30,30,29,23,30,22,24,32,29,11,15,12,12,108,31,42,41,67,38,70,7,61,22,38,83,64,14,10,30,30,29,30,22,24,32,29,11,15,12,12,108,31,42,41,67,38,67,7,59,22,38,83,64,14,10,30,33,24,28,30,22,24,24,11,15,12,12,50,13,36,15,56,65,71,11,31,42,41,67,38,76,7,77,22,42,87,68,18,14,41,34,33,34,26,28,37,33,15,19,16,16,56,72,11,31,42,41,67,38,70,7,39,60,83,64,14,10,36,30,29,24,28,30,22,24,27,24,11,15,12,12,56,71,11,31,42,41,67,38,85,7,37,60,83,64,14,10,37,30,27,24,28,30,22,24,29,24,11,15,12,12,56,72,11,31,42,41,67,38,72,7,55,60,83,64,14,10,30,30,28,24,29,30,22,24,33,25,11,10,11,31,37,30,34,32,12,11,10,11,31,37,31,31,19,49,12,11,15,12,12,60,83,64,14,10,28,30,31,25,24,11,16,11,34,31,25,28,30,24,24,12,11,34,31,25,28,30,24,24,12,17,15,12,12,56,65,65,11,31,42,41,67,98,62,57,66,73,66,87,7,39,60,83,64,14,10,39,30,33,24,29,30,22,24,55,11,15,12,12,56,72,11,31,42,41,67,38,65,7,45,60,83,64,14,10,30,30,27,24,29,30,22,24,33,25,11,10,11,31,30,34,32,12,11,31,30,34,32,12,11,15,12,12,60,83,64,14,10,27,30,31,24,24,11,16,11,34,31,25,28,30,24,24,12,11,34,31,25,28,30,24,24,12,11,34,31,25,28,30,24,24,12,17,15,12,12,56,65,64,11,31,42,41,67,97,60,110,132,115,98,57,7,58,60,83,64,14,10,32,30,29,23,30,22,24,38,29,11,15,12,12,56,67,11,31,42,41,61,7,65,60,83,64,14,10,34,30,28,24,29,30,22,24,25,11,15,12,12,60,83,64,14,10,28,30,31,25,24,11,16,11,34,31,25,28,30,24,24,12,17,15,12,12,56,69,65,11,31,41,40,61,7,63,60,83,64,14,10,34,30,28,24,29,30,22,24,25,11,15,12,12,60,83,64,14,10,28,30,31,25,24,11,16,11,34,31,25,28,30,24,24,12,17,15,12,12,56,69,65,11,31,41,40,61,7,77,15,60,83,64,14,10,28,30,31,25,24,11,16,11,34,31,25,28,30,24,24,12,17,15,12,12,60,83,64,14,10,34,30,28,24,29,30,22,24,33,25,11,10,11,35,30,34,32,12,11,15,12,12,56,69,65,11,31,41,40,133,7,3,38],"data":{"version":3,"file":"table_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/table_type.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/table.js":{"lineLengths":[13,62,31,49,61,47,54,45,35,36,65,103,82,28,24,53,44,45,36,42,40,38,25,24,53,40,36,40,40,25,30,25,54,47,44,39,45,45,39,41,26,25,54,49,44,39,47,45,39,41,26,25,54,50,45,44,45,39,42,44,38,30,25,54,46,44,47,45,41,26,31,29,26,21,56,83,64,14,10,31,30,31,41,26,24,11,10,31,26,22,26,26,11,16,11,32,25,31,25,28,25,30,24,24,12,11,33,25,31,25,28,25,30,24,24,12,11,36,31,25,28,30,24,12,17,15,12,12,70,119,31,42,72,43,57,33,9,70,98,114,7,58,68,107,86,32,28,46,48,49,45,49,47,48,29,33,30,25,107,31,42,112,7,45,21,42,87,68,18,14,34,34,35,28,33,28,15,20,15,35,38,35,34,35,29,32,34,28,28,16,15,35,40,34,35,41,29,16,21,19,16,16,58,42,64,112,31,42,40,72,25,68,7,38,119,31,42,41,73,26,68,7,40,28,38,83,64,14,10,34,30,31,32,24,11,16,11,35,33,31,30,31,25,28,30,24,12,17,15,12,12,28,38,83,64,14,10,34,30,31,32,24,11,16,11,35,31,31,30,31,25,28,30,24,12,11,35,33,30,37,31,30,25,27,12,17,15,12,12,46,86,86,31,42,41,73,26,48,58,65,87,7,49,28,38,83,64,14,10,34,30,31,32,24,11,16,11,35,34,30,45,31,30,25,27,12,17,15,12,12,22,38,83,64,14,10,44,30,29,30,22,24,27,29,11,15,12,12,46,86,88,31,42,41,73,26,48,58,66,83,7,46,28,38,83,64,14,10,34,30,31,32,24,11,16,11,35,34,30,40,31,29,26,27,25,12,17,15,12,12,120,31,42,41,73,26,48,58,82,7,54,59,85,66,16,12,34,32,33,26,29,26,13,18,13,35,38,33,32,33,35,27,30,29,14,13,35,38,33,32,33,27,30,32,26,26,37,33,14,19,17,14,14,111,31,42,41,68,7,40,33,38,83,64,14,10,40,30,25,25,25,25,27,29,33,33,33,30,28,23,33,11,15,12,12,35,38,83,64,14,10,40,30,31,45,24,11,16,11,41,34,30,41,31,27,12,17,15,12,12,31,38,83,64,14,10,36,30,31,22,24,33,26,24,11,10,36,26,22,26,26,11,16,11,37,36,31,30,25,31,45,25,25,46,27,12,17,15,12,12,56,82,86,90,11,31,42,41,73,26,86,7,36,60,83,64,14,10,27,30,31,24,31,24,11,16,11,34,31,25,28,30,24,24,12,11,38,31,36,25,26,27,12,11,38,31,36,25,28,27,12,17,15,12,12,64,83,64,14,10,31,30,31,25,25,24,11,16,11,34,31,25,28,30,24,24,12,17,15,12,12,64,83,64,14,10,31,30,31,25,27,24,11,16,11,34,31,25,28,30,24,24,12,17,15,12,12,56,64,72,72,11,31,42,41,73,26,68,7,53,59,83,64,14,10,30,30,31,26,24,11,16,11,33,32,31,29,26,27,25,12,17,15,12,12,109,31,42,43,57,33,9,50,58,100,7,33,60,87,68,18,14,46,34,35,28,47,28,15,20,15,40,35,54,29,38,31,40,16,15,38,35,35,31,16,21,19,16,16,60,87,68,18,14,49,34,35,37,15,20,15,38,35,35,31,16,15,38,35,35,31,16,21,19,16,16,46,88,91,31,42,43,57,33,9,50,58,68,7,48,60,87,68,18,14,36,34,35,28,29,30,28,15,14,36,30,26,30,30,15,20,15,40,29,35,41,29,29,30,31,16,15,36,29,35,35,29,31,16,21,19,16,16,60,87,68,18,14,36,34,35,29,28,15,20,15,36,35,35,31,16,21,19,16,16,46,78,78,31,42,42,54,55,55,7,59,111,45,52,67,31,42,43,73,114,7,3,33],"data":{"version":3,"file":"table.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/table.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/transaction.js":{"lineLengths":[13,62,31,49,61,42,28,59,83,64,14,9,38,38,23,23,10,10,38,26,24,26,11,10,20,38,44,11,15,12,12,121,31,42,88,82,7,3,39],"data":{"version":3,"file":"transaction.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/transaction.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;WAuBL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC,CAAC;QACxF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAkB,CAAC;QAElD,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACpE,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/view.js":{"lineLengths":[13,62,31,49,61,78,35,28,59,89,70,20,16,45,32,36,30,34,36,34,34,17,22,17,46,35,32,41,18,23,22,17,46,32,37,39,35,39,31,37,41,18,17,46,32,37,40,35,40,31,41,45,37,42,40,18,17,46,32,37,42,35,42,31,41,45,18,17,46,32,37,41,35,41,42,46,18,23,21,18,18,116,31,42,70,46,87,33,70,7,57,62,83,64,14,10,29,30,31,22,26,26,24,11,10,29,26,22,26,26,11,16,11,33,25,31,31,25,27,12,11,34,31,25,28,30,24,24,12,11,34,31,25,28,30,24,24,12,11,34,31,25,28,30,24,24,12,17,15,12,12,61,83,64,14,10,30,26,30,24,29,25,28,28,11,16,11,31,30,26,36,12,17,16,11,34,30,34,25,12,11,33,30,33,25,12,11,35,37,21,12,11,34,30,34,21,12,11,35,37,21,12,11,34,30,34,21,12,17,15,12,12,69,83,64,14,10,38,26,30,24,28,28,28,28,11,16,11,39,30,26,36,12,17,16,11,34,30,34,12,17,15,12,12,69,83,64,14,10,38,26,30,24,28,28,28,28,11,16,11,39,30,26,36,12,17,16,11,34,30,34,12,17,15,12,12,56,68,66,82,82,11,31,42,46,87,33,70,7,34,15,21,38,83,64,14,10,40,26,30,24,39,30,28,28,11,16,11,41,40,26,46,12,11,41,40,26,12,17,16,11,33,40,33,25,12,11,37,40,37,25,12,11,38,40,38,25,46,31,12,11,32,40,32,25,31,23,12,17,16,11,41,34,32,28,34,31,23,12,17,15,12,12,117,31,42,57,109,7,3,32],"data":{"version":3,"file":"view.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/view.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/objects/web_mime.js":{"lineLengths":[13,62,31,49,61,30,28,59,83,64,14,34,45,11,15,31,23,16,15,26,29,16,15,26,35,16,12,15,12,12,120,31,42,57,92,7,3,36],"data":{"version":3,"file":"web_mime.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/objects/web_mime.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAGvD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAE1B,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;WAsBL,CAAC;QAER,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC;QACvF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAc,CAAC;QAC9C,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/pretty_printer/pretty_printer.js":{"lineLengths":[13,62,31,76,49,60,43,45,42,61,60,28,104,27,65,1,55,19,60,60,62,64,80,65,72,34,10,18,39,10,18,13,6,29,47,50,57,56,86,64,11,7,3,47,19,62,60,84,104,6,29,47,50,57,56,86,64,11,7,3,56,19,50,49,64,76,6,29,47,50,57,34,74,68,11,7,3,53,19,9,86,42,10,9,88,42,45,10,6,29,47,50,57,34,86,68,11,7,3,36,58,59,58,59,19,9,47,50,36,10,9,47,50,36,10,40,9,50,53,36,10,9,50,53,36,10,9,45,48,36,10,9,45,48,36,10,9,45,48,36,10,6,29,47,50,57,56,59,87,47,63,11,7,3,55,19,9,57,60,10,6,29,47,50,57,56,56,87,47,63,11,7,3,60,19,9,86,32,10,9,98,35,52,10,9,91,35,52,10,9,20,52,34,31,28,49,30,29,29,28,52,30,29,29,28,25,65,52,10,6,29,47,50,57,34,86,68,11,7,3,39,42,50,53,52,53,57,83,43,60,7,3,42,50,50,53,52,48,52,83,43,60,7,3,42],"data":{"version":3,"file":"pretty_printer.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/pretty_printer/pretty_printer.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,4EAAsE;AACtE,iDAA4C;AAC5C,4DAAuD;AACvD,2CAAkE;AAClE,6CAAwC;AACxC,0CAA2C;AAE3C,6DAAuD;AAEvD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,GAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3E,KAAK,UAAU,KAAK,CAAC,IAAY;IAC/B,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,OAAO,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;AAC/C,CAAC;AAED,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,MAAM,KAAK,GAAG;QACZ,EAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAC;QACjD,EAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAC;QACjD,EAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAC;QACnD,EAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAC;QACrD,EAAC,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,wBAAwB,EAAC;QACrE,EAAC,KAAK,EAAE,+CAA+C;YACrD,QAAQ,EAAE,+CAA+C,EAAC;QAC5D,EAAC,KAAK,EAAE;;;UAGF,EAAE,QAAQ,EAAE;;;UAGZ,EAAC;KACR,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YACzD,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,MAAM,KAAK,GAAG;QACZ,EAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAC;QACnD,EAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAC;QACjD,EAAC,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,0BAA0B,EAAC;QACzE,EAAC,KAAK,EAAE,mCAAmC,EAAE,QAAQ,EAAE,qCAAqC,EAAC;KAC9F,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YACzD,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,MAAM,KAAK,GAAG;QACZ,EAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAC;QACvC,EAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAC;QACtC,EAAC,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC;QACrD,EAAC,KAAK,EAAE,mCAAmC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;KAClE,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACrD,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,MAAM,KAAK,GAAG;QACZ;YACE,KAAK,EAAE,kEAAkE;YACzE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9B;QACD;YACE,KAAK,EAAE,oEAAoE;YAC3E,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7B,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC;SAC/B;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACjE,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,eAAe,GAAG,IAAI,uBAAe,EAAE,CAAC;IAC9C,eAAe,CAAC,KAAK,GAAG,wBAAgB,CAAC,KAAK,CAAC;IAE/C,MAAM,eAAe,GAAG,IAAI,uBAAe,EAAE,CAAC;IAC9C,eAAe,CAAC,KAAK,GAAG,wBAAgB,CAAC,KAAK,CAAC;IAE/C,MAAM,KAAK,GAAG;QACZ;YACE,KAAK,EAAE,2BAA2B;YAClC,QAAQ,EAAE,2BAA2B;YACrC,MAAM,EAAE,eAAe;SACxB;QACD;YACE,KAAK,EAAE,2BAA2B;YAClC,QAAQ,EAAE,2BAA2B;YACrC,MAAM,EAAE,eAAe;SACxB;QACD,gCAAgC;QAChC;YACE,KAAK,EAAE,8BAA8B;YACrC,QAAQ,EAAE,8BAA8B;YACxC,MAAM,EAAE,eAAe;SACxB;QACD;YACE,KAAK,EAAE,8BAA8B;YACrC,QAAQ,EAAE,8BAA8B;YACxC,MAAM,EAAE,eAAe;SACxB;QACD;YACE,KAAK,EAAE,yBAAyB;YAChC,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EAAE,eAAe;SACxB;QACD;YACE,KAAK,EAAE,yBAAyB;YAChC,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EAAE,eAAe;SACxB;QACD;YACE,KAAK,EAAE,yBAAyB;YAChC,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EAAE,eAAe;SACxB;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,EAAS,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;YACnC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAGH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,MAAM,KAAK,GAAG;QACZ;YACE,KAAK,EAAE,qCAAqC;YAC5C,QAAQ,EAAE,qCAAqC;SAChD;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,EAAS,CAAC;YAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAE5C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;YACnC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,MAAM,KAAK,GAAG;QACZ;YACE,KAAK,EAAE,kEAAkE;YACzE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACpB;QACD;YACE,KAAK,EAAE,8EAA8E;YACrF,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACtB,OAAO,EAAE,EAAC,oBAAoB,EAAE,IAAI,EAAC;SACtC;QACD;YACE,KAAK,EAAE,uEAAuE;YAC9E,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACtB,OAAO,EAAE,EAAC,oBAAoB,EAAE,IAAI,EAAC;SACtC;QACD;YACE,KAAK,EAAE;gBACL,mCAAmC;gBACnC,iBAAiB;gBACjB,cAAc;gBACd,WAAW;gBACX,gCAAgC;gBAChC,aAAa;gBACb,YAAY;gBACZ,YAAY;gBACZ,WAAW;gBACX,mCAAmC;gBACnC,aAAa;gBACb,YAAY;gBACZ,YAAY;gBACZ,WAAW;aACZ,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,EAAC,oBAAoB,EAAE,IAAI,EAAC;SACtC;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACjE,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1C,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,EAAS,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;QACnC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1C,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,EAAS,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;QACnC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/registry.js":{"lineLengths":[13,62,46,31,41,44,42,58,98,28,39,95,60,31,75,52,71,75,7,47,85,60,31,56,7,50,78,60,31,56,64,7,43,81,61,31,101,61,85,32,31,101,61,114,7,47,131,61,76,95,7,32,109,61,75,7,60,135,61,76,95,7,73,140,61,76,95,7,58,141,61,76,96,7,46,95,51,100,7,46,87,65,102,106,7,36,88,101,76,88,102,35,88,102,142,35,88,77,7,38,124,65,69,102,37,45,54,7,75,88,65,69,69,7,79,82,65,96,7,64,48,40,15,85,65,46,30,7,70,87,65,27,76,76,7,52,160,60,31,61,42,108,119,7,57,108,61,76,80,7,52,126,61,76,84,7,53,34,33,37,12,114,40,63,7,3,42,43,84,65,45,54,72,79,7,77,83,65,45,54,66,7,56,91,69,81,45,54,7,42,87,65,66,81,7,42,85,65,66,81,7,40,81,81,81,66,21,48,36,9,55,7,38,85,65,66,46,59,34,66,7,46,81,81,81,66,7,62,52,67,51,37,31,66,80,93,7,3,32,31,22,21,37,50,53,50,14,29,21,48,41,36,33,14,25,10,57,5,71,83,65,45,54,72,79,7,103,37,55,83,69,43,65,39,54,7,70,59,56,92,69,43,65,39,54,7,74,34,37,11,87,55,69,69,40,65,69,50,65,69,7,70,34,37,11,87,42,71,69,7,73,34,33,43,14,11,87,71,69,7,63,34,37,11,87,71,69,7,40,81,81,81,66,21,60,36,9,55,17,35,60,36,9,50,96,7,62,15,51,88,38,66,88,32,66,108,110,103,7,38,51,88,38,90,7,53,51,85,80,18,9,31,12,32,25,66,65,73,138,133,7,3,36],"data":{"version":3,"file":"registry.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/registry.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/_utils.js":{"lineLengths":[13,62,48,28,28,34,46,44,64,31,49,61,55,35,31,49,37,50,1,34,42,17,30,5,30,78,26,5,36,1,51,29,17,32,5,68,37,59,26,33,88,36,129,79,70,45,47,48,120,25,30,120,25,23,17,14,37,41,13,18,36,13,11,7,1,54,29,17,32,5,74,37,59,26,33,52,66,15,11,7,1,91,109,39,23,5,16,64,75,42,72,49,16,66,60,28,33,86,5,54,59,1,101,109,39,23,5,16,64,28,79,48,42,76,53,5,16,66,60,28,33,86,5,54,59,1,61,29,68,37,26,33,40,129,45,79,78,15,11,7,1,34],"data":{"version":3,"file":"_utils.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/_utils.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/7bit_ascii.js":{"lineLengths":[13,62,60,37,15,40,40,25,27,37,39,37,2,59,38],"data":{"version":3,"file":"7bit_ascii.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/7bit_ascii.ts"],"names":[],"mappings":";;AAAA,4DAAyD;AACzD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAC;IAClB,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAC;IACpB,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAChC,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;CAC/B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,2BAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/abapdoc.js":{"lineLengths":[13,62,37,53,28,38,5,15,12,36,29,24,24,24,64,24,64,32,24,64,64,31,6,36,5,15,12,36,29,22,22,22,62,62,29,6,38,5,15,12,36,29,24,64,64,31,6,66,5,15,12,36,29,72,24,72,31,6,56,5,15,12,29,22,63,63,35,6,42,5,15,12,29,22,23,63,23,63,35,6,52,5,15,12,22,22,63,63,35,6,48,5,15,12,29,29,24,64,64,32,24,64,64,31,6,5,24,36,29,24,38,22,31,6,5,24,36,29,24,37,31,6,5,40,57,9,30,23,6,5,15,25,53,9,30,23,6,5,15,25,55,6,74,11,30,23,6,5,15,25,51,2,70,71,0,11,30,23,6,5,15,25,51,2,64,62,11,30,23,6,5,15,25,51,2,66,11,30,23,6,5,15,25,55,2,78,11,30,23,6,61,5,15,48,21,16,29,29,23,6,61,5,15,11,48,21,16,17,29,29,23,6,61,5,15,48,21,16,17,29,17,29,23,6,61,5,15,11,48,21,16,17,29,17,29,23,6,2,90,31,49,5,23,35,29,24,68,68,32,24,64,64,31,6,59,5,23,42,29,22,22,62,22,62,29,6,2,53,35,118,40,5,68,15,48,21,16,29,29,23,6,5,75,15,48,21,16,17,29,17,29,23,6,2,60,50,143,40,5,61,15,48,21,16,29,29,23,6,5,67,15,48,21,16,17,29,17,29,23,6,2,60,50,47,143,35],"data":{"version":3,"file":"abapdoc.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/abapdoc.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/align_parameters.js":{"lineLengths":[13,62,31,61,49,43,37,57,121,1,33,104,27,47,58,1,42,56,56,54,7,44,44,11,11,20,46,54,7,35,22,22,11,11,20,26,22,11,17,20,39,7,35,22,22,11,23,20,26,22,11,17,20,39,7,77,79,46,54,7,44,44,11,17,20,46,54,7,64,44,11,19,22,46,54,7,52,47,46,54,7,45,34,46,54,7,55,36,46,54,7,61,42,46,54,7,55,37,18,46,54,7,37,37,38,46,54,7,65,47,18,46,54,7,48,29,23,28,46,54,7,65,50,21,46,54,7,48,29,26,31,46,54,7,52,62,46,54,7,42,48,18,46,54,7,49,29,16,15,20,46,54,7,60,55,16,46,54,7,42,47,13,16,46,54,7,38,36,15,22,46,54,7,36,36,15,18,46,54,7,45,48,46,54,7,45,66,46,54,7,45,87,46,54,7,46,66,21,18,46,54,7,46,66,23,22,46,54,7,44,68,34,28,46,54,7,44,68,34,38,46,54,7,42,51,23,32,46,54,7,42,51,24,29,46,54,7,34,34,23,34,46,54,7,34,34,26,33,46,54,7,58,43,11,34,33,12,25,25,25,25,28,46,54,7,43,22,27,24,24,21,28,46,54,7,60,22,27,20,24,21,28,46,54,7,59,22,27,24,24,19,28,46,54,7,3,44],"data":{"version":3,"file":"align_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/align_parameters.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAuD;AACvD,iDAA4C;AAC5C,2CAAgD;AAEhD,qCAA2C;AAE3C,SAAS,OAAO,CAAC,KAAa,EAAE,QAAgB,EAAE,aAAa,GAAG,IAAI;IACpE,IAAA,0BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,uBAAe,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AACjG,CAAC;AAGD,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,uBAAe,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAEtC,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG;;;mBAGE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG;;;;mBAIE,CAAC;QAChB,MAAM,QAAQ,GAAG;;;;mBAIF,CAAC;QAChB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG;;;;mBAIE,CAAC;QAChB,MAAM,QAAQ,GAAG;;;;mBAIF,CAAC;QAChB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAI,GAAG,yDAAyD,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG;;;mBAGE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG;;;qBAGI,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,IAAI,GAAG,yBAAyB,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG,oBAAoB,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG;iBACA,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,IAAI,GAAG;qCACoB,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,IAAI,GAAG;iBACA,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG;;2BAEU,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,IAAI,GAAG;oBACG,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG;;8BAEa,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,IAAI,GAAG,wCAAwC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAG;iBACA,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAG;;;mBAGE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAG;eACF,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAG;;eAEF,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,IAAI,GAAG;;qBAEI,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG;;iBAEA,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,0BAA0B,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,4CAA4C,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,iEAAiE,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG;;iBAEA,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG;;qBAEI,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG;;2BAEU,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG;;qCAEoB,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAG;;+BAEc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAG;;4BAEW,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAI,GAAG;;iCAEgB,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAI,GAAG;;gCAEe,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG;;;;;;;;;2BASU,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,IAAI,GAAG;;;;;2BAKU,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAG;;;;;2BAKU,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,GAAG;;;;;2BAKU,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/align_pseudo_comments.js":{"lineLengths":[13,62,31,61,49,43,37,57,125,1,33,104,27,51,58,1,47,56,56,54,7,27,112,54,7,27,115,54,7,27,115,54,7,47,46,96,33,7,48,108,96,33,7,28,76,54,7,32,132,54,7,42,41,16,18,20,64,36,71,10,8,9,54,7,34,41,58,30,74,54,7,3,49],"data":{"version":3,"file":"align_pseudo_comments.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/align_pseudo_comments.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/align_type_expressions.js":{"lineLengths":[13,62,31,61,49,43,37,57,126,1,33,104,27,52,58,1,48,56,56,54,7,50,23,20,20,23,20,26,20,23,23,20,33,7,39,41,20,23,23,21,54,7,43,41,14,13,13,16,20,16,54,7,47,41,14,13,13,19,20,16,54,7,51,41,14,87,16,54,7,54,41,14,13,13,16,13,24,16,54,7,47,41,14,13,13,23,13,24,16,54,7,41,41,10,29,28,37,32,54,7,49,41,8,28,37,66,67,30,54,7,50,23,20,23,26,20,26,20,23,23,20,33,7,3,50],"data":{"version":3,"file":"align_type_expressions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/align_type_expressions.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/allowed_object_naming.js":{"lineLengths":[13,62,31,61,49,43,37,94,27,51,42,1,47,44,95,54,7,34,57,54,7,34,57,54,7,44,59,54,7,40,64,54,7,40,67,54,7,41,93,54,7,32,101,54,7,34,85,54,7,34,62,54,7,34,62,54,7,34,57,54,7,34,61,54,7,34,85,54,7,34,68,54,7,34,59,54,7,34,61,54,7,34,57,54,7,34,57,54,7,59,72,54,7,43,61,54,7,47,62,54,7,32,15,126,118,7,41,60,54,7,39,54,54,7,46,60,54,7,55,61,54,7,48,70,54,7,3,49],"data":{"version":3,"file":"allowed_object_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/allowed_object_naming.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAuD;AACvD,iDAA4C;AAC5C,2CAAoD;AAGpD,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,2BAAmB,EAAE,CAAC;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzC,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAE3C,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,qDAAqD,CAAC,CAAC;QACvF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,yBAAyB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,mDAAmD,CAAC,CAAC;QACrF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,2DAA2D,CAAC,CAAC;QAC7F,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,2CAA2C,CAAC,CAAC;QAC7E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,2CAA2C,CAAC,CAAC;QAC7E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,0BAA0B,CAAC,CAAC;QAC5D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,8BAA8B,CAAC,CAAC;QAChE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oFAAoF,CAAC,CAAC;QACtH,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACpD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACpD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,4BAA4B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/ambiguous_statement.js":{"lineLengths":[13,62,77,37,15,37,38,45,46,51,60,45,51,46,47,2,72,47],"data":{"version":3,"file":"ambiguous_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/ambiguous_statement.ts"],"names":[],"mappings":";;AAAA,6EAAuE;AACvE,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAC;IACvC,EAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5C,EAAC,IAAI,EAAE,qCAAqC,EAAE,GAAG,EAAE,CAAC,EAAC;IACrD,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5C,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAC;IACvC,EAAC,IAAI,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,EAAC;CACzC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,wCAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/avoid_use.js":{"lineLengths":[13,62,57,37,15,40,37,37,14,53,40,41,40,47,18,87,96,98,85,101,84,82,12,37,36,44,21,65,69,69,56,69,63,36,57,78,2,52,15,78,86,86,2,55,37],"data":{"version":3,"file":"avoid_use.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/avoid_use.ts"],"names":[],"mappings":";;AAAA,yDAAmD;AACnD,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,UAAU;IACV,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE;;;oCAG2B,EAAE,GAAG,EAAE,CAAC,EAAC;IAE3C,cAAc;IACd,EAAC,IAAI,EAAE,gEAAgE,EAAE,GAAG,EAAE,CAAC,EAAC;IAChF,EAAC,IAAI,EAAE,yEAAyE,EAAE,GAAG,EAAE,CAAC,EAAC;IACzF,EAAC,IAAI,EAAE,2EAA2E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3F,EAAC,IAAI,EAAE,8DAA8D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9E,EAAC,IAAI,EAAE,8EAA8E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9F,EAAC,IAAI,EAAE,6DAA6D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7E,EAAC,IAAI,EAAE,2DAA2D,EAAE,GAAG,EAAE,CAAC,EAAC;IAE3E,QAAQ;IACR,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7B,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IAErC,iBAAiB;IACjB,EAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IAC1D,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IAC9D,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IAC9D,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAC;IAEjD,EAAC,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9D,EAAC,IAAI,EAAE;yBACgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhC,EAAC,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,CAAC,EAAC;IAClD,EAAC,IAAI,EAAE,uDAAuD,EAAE,GAAG,EAAE,CAAC,EAAC;CACxE,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,oBAAQ,CAAC,CAAC;AAE1B,MAAM,KAAK,GAAG;IACZ,EAAC,KAAK,EAAE,+BAA+B,EAAE,MAAM,EAAE,qBAAqB,EAAC;IACvE,EAAC,KAAK,EAAE,mCAAmC,EAAE,MAAM,EAAE,yBAAyB,EAAC;IAC/E,EAAC,KAAK,EAAE,mCAAmC,EAAE,MAAM,EAAE,yBAAyB,EAAC;CAChF,CAAC;AAEF,IAAA,oBAAW,EAAC,KAAK,EAAE,oBAAQ,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/begin_end_names.js":{"lineLengths":[13,62,69,37,15,37,38,37,98,108,73,73,34,19,58,25,34,19,58,25,76,76,74,74,73,73,98,97,13,33,21,41,13,33,21,37,70,13,21,21,28,19,29,13,18,26,65,28,13,28,62,76,2,63,18,5,67,68,6,5,66,67,6,31,5,92,93,6,31,5,95,93,6,2,69,43],"data":{"version":3,"file":"begin_end_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/begin_end_names.ts"],"names":[],"mappings":";;AAAA,qEAA8D;AAC9D,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAE9B,EAAC,IAAI,EAAE,2EAA2E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3F,EAAC,IAAI,EAAE,qFAAqF,EAAE,GAAG,EAAE,CAAC,EAAC;IAErG,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAElE,EAAC,IAAI,EAAE;;;cAGK,EAAE,GAAG,EAAE,CAAC,EAAC;IACrB,EAAC,IAAI,EAAE;;;cAGK,EAAE,GAAG,EAAE,CAAC,EAAC;IAErB,EAAC,IAAI,EAAE,qDAAqD,EAAE,GAAG,EAAE,CAAC,EAAC;IACrE,EAAC,IAAI,EAAE,qDAAqD,EAAE,GAAG,EAAE,CAAC,EAAC;IAErE,EAAC,IAAI,EAAE,mDAAmD,EAAE,GAAG,EAAE,CAAC,EAAC;IACnE,EAAC,IAAI,EAAE,mDAAmD,EAAE,GAAG,EAAE,CAAC,EAAC;IAEnE,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAElE,EAAC,IAAI,EAAE,2EAA2E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3F,EAAC,IAAI,EAAE,0EAA0E,EAAE,GAAG,EAAE,CAAC,EAAC;IAE1F,EAAC,IAAI,EAAE;;;8BAGqB,EAAE,GAAG,EAAE,CAAC,EAAC;IAErC,EAAC,IAAI,EAAE;;;0BAGiB,EAAE,GAAG,EAAE,CAAC,EAAC;IAEjC,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,EAAC,EAAE,aAAa;IAEhE,EAAC,IAAI,EAAE;;;;;kBAKS,EAAE,GAAG,EAAE,CAAC,EAAC;IAEzB,EAAC,IAAI,EAAE;;;;iBAIQ,EAAE,GAAG,EAAE,CAAC,EAAC;IAExB,EAAC,IAAI,EAAE;;;2BAGkB,EAAE,GAAG,EAAE,CAAC,EAAC,EAAE,qCAAqC;CAE1E,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,+BAAa,CAAC,CAAC;AAE/B,MAAM,QAAQ,GAAG;IACf;QACE,KAAK,EAAE,mDAAmD;QAC1D,MAAM,EAAE,mDAAmD;KAC5D;IACD;QACE,KAAK,EAAE,kDAAkD;QACzD,MAAM,EAAE,kDAAkD;KAC3D;IACD,2BAA2B;IAC3B;QACE,KAAK,EAAE,4EAA4E;QACnF,MAAM,EAAE,4EAA4E;KACrF;IACD,2BAA2B;IAC3B;QACE,KAAK,EAAE,+EAA+E;QACtF,MAAM,EAAE,4EAA4E;KACrF;CACF,CAAC;AAEF,IAAA,oBAAW,EAAC,QAAQ,EAAE,+BAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/call_transaction_authority_check.js":{"lineLengths":[13,62,103,37,35,31,15,70,73,71,2,96,42,52,97,27,88,58,1,82,61,110,54,7,55,114,54,7,55,113,54,7,86,110,54,7,3,60],"data":{"version":3,"file":"call_transaction_authority_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/call_transaction_authority_check.ts"],"names":[],"mappings":";;AAAA,uGAA+F;AAC/F,qCAAkC;AAClC,mCAAuE;AACvE,+BAA4B;AAE5B,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,+CAA+C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/D,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,CAAC,EAAC;CACjE,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,gEAA6B,CAAC,CAAC;AAG/C,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAAiB;IACvD,MAAM,MAAM,GAAG,YAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,cAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,gBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,gEAA6B,EAAE,CAAC;IACjD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC9E,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gDAAgD,EAAE,aAAO,CAAC,IAAI,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gDAAgD,EAAE,aAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,+CAA+C,EAAE,aAAO,CAAC,QAAQ,CAAC,CAAC;QACnG,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,+CAA+C,EAAE,aAAO,CAAC,KAAK,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cds_comment_style.js":{"lineLengths":[13,62,61,49,31,43,33,108,27,47,58,1,43,35,53,52,19,3,45,54,7,38,53,52,40,3,45,54,7,38,53,52,40,3,45,54,7,3,45],"data":{"version":3,"file":"cds_comment_style.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/cds_comment_style.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAE5B,2CAAgD;AAEhD,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,uBAAe,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IAEvC,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,GAAG,GAAG;;;EAGd,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,GAAG,GAAG;;;EAGd,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,GAAG,GAAG;;;EAGd,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cds_legacy_view.js":{"lineLengths":[13,62,61,49,31,69,33,108,27,55,58,1,41,30,53,52,19,3,45,54,7,34,53,59,19,3,45,54,7,29,35,45,54,7,3,43],"data":{"version":3,"file":"cds_legacy_view.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/cds_legacy_view.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAE5B,qEAA8D;AAE9D,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,+BAAa,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IAErC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,GAAG,GAAG;;;EAGd,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,GAAG,GAAG;;;EAGd,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,GAAG,cAAc,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cds_parser_error.js":{"lineLengths":[13,62,61,49,31,43,33,108,27,46,58,1,42,32,53,52,19,3,45,54,7,29,35,45,54,7,3,44],"data":{"version":3,"file":"cds_parser_error.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/cds_parser_error.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAE5B,2CAA+C;AAE/C,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,sBAAc,EAAE,CAAC;IAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAEtC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACxB,MAAM,GAAG,GAAG;;;EAGd,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,GAAG,cAAc,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/chain_mainly_declarations.js":{"lineLengths":[13,62,43,37,15,37,37,37,38,44,90,35,77,38,17,11,49,10,21,41,19,55,10,11,9,65,2,63,19,40,39,2,58,21,76,15,24,6,8,26,11,15,77,2,75,53],"data":{"version":3,"file":"chain_mainly_declarations.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/chain_mainly_declarations.ts"],"names":[],"mappings":";;AAAA,2CAAqF;AACrF,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE,mEAAmE,EAAE,GAAG,EAAE,CAAC,EAAC;IACnF,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5B,EAAC,IAAI,EAAE,sDAAsD,EAAE,GAAG,EAAE,CAAC,EAAC;IACtE,EAAC,IAAI,EAAE;;;;;UAKC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjB,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE;;;;;sDAK6C,EAAE,GAAG,EAAE,CAAC,EAAC;CAC9D,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,+BAAuB,CAAC,CAAC;AAEzC,MAAM,SAAS,GAAG;IAChB,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAC;CACjC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,mCAA2B,EAAE,CAAC;AAClD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;AAErB,IAAA,iBAAQ,EAAC,SAAS,EAAE,+BAAuB,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,KAAK,GAAG;IACZ,EAAC,KAAK,EAAE;;OAEH;QACL,MAAM,EAAE;;YAEE,EAAC;IACX,EAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,8BAA8B,EAAC;CACvE,CAAC;AAEF,IAAA,oBAAW,EAAC,KAAK,EAAE,+BAAuB,EAAE,OAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/change_if_to_case.js":{"lineLengths":[13,62,31,61,49,43,33,104,27,46,58,1,43,56,56,54,7,43,41,34,13,54,7,35,41,34,38,39,40,9,13,54,7,49,41,34,38,39,40,13,54,7,37,41,34,38,40,40,13,54,7,36,41,34,38,39,40,13,54,7,49,41,34,38,32,40,13,54,7,52,41,27,37,7,11,54,7,62,41,27,37,7,11,54,7,62,41,27,38,7,11,54,7,51,41,20,1,24,1,9,54,7,51,41,21,1,24,1,9,54,7,51,41,22,1,24,1,9,54,7,3,45],"data":{"version":3,"file":"change_if_to_case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/change_if_to_case.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAuD;AACvD,iDAA4C;AAC5C,2CAA+C;AAG/C,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,sBAAc,EAAE,CAAC;IAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IAEvC,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;WAEzB,CAAC,CAAC;QACT,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;;;WAMzB,CAAC,CAAC;QACT,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;;WAKzB,CAAC,CAAC;QACT,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;;WAKzB,CAAC,CAAC;QACT,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;;WAKzB,CAAC,CAAC;QACT,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;;WAKzB,CAAC,CAAC;QACT,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;SAI3B,CAAC,CAAC;QACP,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;SAI3B,CAAC,CAAC;QACP,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;SAI3B,CAAC,CAAC;QACP,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;;OAK7B,CAAC,CAAC;QACL,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;;OAK7B,CAAC,CAAC;QACL,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;;OAK7B,CAAC,CAAC;QACL,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_abstract.js":{"lineLengths":[13,62,37,67,15,62,47,27,20,39,28,31,38,27,47,31,38,27,22,41,30,49,31,38,27,22,30,24,31,40,53,27,22,30,31,44,27,22,30,31,47,27,22,30,31,65,25,20,28,29,2,62,42],"data":{"version":3,"file":"check_abstract.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/check_abstract.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,mEAA6D;AAE7D,MAAM,KAAK,GAAG;IACZ,0DAA0D;IAC1D,EAAC,IAAI,EAAE;;;;;oBAKW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;;;oBAMW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;;oBAKW,EAAE,GAAG,EAAE,CAAC,EAAC;IAE3B,oCAAoC;IACpC,EAAC,IAAI,EAAE;;;;oBAIW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;oBAIW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;oBAIW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;kBAIS,EAAE,GAAG,EAAE,CAAC,EAAC;CAC1B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,8BAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_comments.js":{"lineLengths":[13,62,67,37,67,41,72,45,19,38,35,20,18,18,22,18,18,18,55,75,30,22,22,22,22,22,19,33,34,32,32,57,31,43,41,47,45,21,17,20,15,2,28,5,27,56,34,23,6,5,27,61,39,23,6,5,27,68,34,23,6,5,27,73,39,23,6,5,27,56,34,23,6,5,27,61,39,23,6,5,27,57,34,23,6,5,27,62,39,23,6,5,27,65,34,24,6,5,27,70,39,23,6,5,27,59,34,23,6,5,27,64,39,23,6,5,27,47,34,23,6,5,27,52,39,23,6,5,57,59,34,23,6,5,86,41,55,66,34,23,6,2,93,42],"data":{"version":3,"file":"check_comments.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/check_comments.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_ddic.js":{"lineLengths":[13,62,31,59,49,61,37,41,42,21,38,83,64,14,10,30,29,23,33,11,15,12,12,107,31,94,54,7,29,26,107,31,94,54,7,57,21,38,83,64,14,10,30,23,24,11,15,12,12,107,31,94,54,91,7,45,15,21,40,85,66,16,12,29,32,33,34,26,13,18,13,33,32,33,31,28,29,27,14,19,17,14,14,106,31,94,118,7,45,15,21,38,83,64,14,10,34,30,39,25,25,25,25,26,28,32,32,32,30,28,24,24,11,15,12,12,56,15,110,86,31,94,118,7,44,15,59,83,64,14,10,31,29,11,15,12,12,106,31,94,122,7,44,15,59,83,64,14,10,31,30,31,25,24,11,16,11,31,33,31,23,31,27,12,17,15,12,12,110,31,94,122,7,66,15,59,83,64,14,10,31,30,31,25,24,11,16,11,31,32,31,23,31,27,12,17,15,12,12,110,58,31,94,122,7,3,38],"data":{"version":3,"file":"check_ddic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/check_ddic.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,2DAAqD;AACrD,iDAA4C;AAC5C,6DAAuD;AACvD,qCAA4C;AAE5C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IAErC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,GAAG,GAAG;;;;;;;;;;;;;WAaL,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,GAAG,GAAG;;;;;;;;;;;;WAYL,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;QACrC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;aAyBH,CAAC;QACV,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QACzE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;QACrC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;WAyBL,CAAC;QACR,MAAM,IAAI,GAAG;cACH,CAAC;QACX,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,GAAG,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;;QACpC,MAAM,GAAG,GAAG;;;;;;;;;;WAUL,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QACzE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;;QACpC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;WAuBL,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;;QAC1D,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;WAuBL,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,GAAG,CAAC,SAAS,CAAC,IAAA,2BAAkB,GAAE,CAAC,CAAC;QACpC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,sBAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_include.js":{"lineLengths":[13,62,31,43,49,61,32,42,31,80,5,27,20,61,41,47,5,18,1,40,36,100,55,7,33,47,88,55,7,29,39,68,73,78,11,55,7,67,39,68,78,11,55,7,43,56,88,55,7,32,39,68,72,11,55,7,38,59,83,64,14,22,13,49,49,14,14,10,45,34,11,15,15,12,12,39,90,31,35,90,37,70,11,55,7,50,59,83,64,14,22,13,45,45,14,14,10,40,34,11,15,15,12,12,39,82,33,37,82,39,66,11,55,7,47,39,83,76,75,11,55,7,53,78,17,18,9,29,15,17,12,11,85,55,7,41,78,17,18,9,29,15,21,12,11,39,56,69,73,11,55,7,45,15,45,39,52,69,73,11,119,7,3,41],"data":{"version":3,"file":"check_include.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/check_include.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_subrc.js":{"lineLengths":[13,62,61,37,15,37,37,77,13,54,18,20,13,64,22,22,75,13,64,22,22,50,13,50,51,17,18,13,31,33,33,29,13,29,33,33,29,13,13,48,24,54,34,6,17,18,13,92,49,13,68,36,18,13,21,20,31,32,13,24,8,26,13,18,35,77,118,78,69,51,13,31,32,20,37,13,31,18,20,51,13,34,18,20,13,35,18,20,13,46,18,20,13,61,18,20,82,56,13,32,54,41,39,20,13,19,47,14,0,17,16,18,60,13,16,29,32,2,56,39],"data":{"version":3,"file":"check_subrc.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/check_subrc.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,sDAAsD,EAAE,GAAG,EAAE,CAAC,EAAC;IACtE,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;;gEAIuD,EAAE,GAAG,EAAE,CAAC,EAAC;IACvE,EAAC,IAAI,EAAE;;;;uCAI8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;IACd,EAAC,IAAI,EAAE;;;;kBAIS,EAAE,GAAG,EAAE,CAAC,EAAC;IACzB,EAAC,IAAI,EAAE;;;;kBAIS,EAAE,GAAG,EAAE,CAAC,EAAC;IAEzB,EAAC,IAAI,EAAE;;;;;;;;OAQF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;sCAE6B,EAAE,GAAG,EAAE,CAAC,EAAC;IAE7C,EAAC,IAAI,EAAE;;;OAGF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;qBAIY,EAAE,GAAG,EAAE,CAAC,EAAC;IAE5B,EAAC,IAAI,EAAE;;;;;;wBAMe,EAAE,GAAG,EAAE,CAAC,EAAC;IAE/B,EAAC,IAAI,EAAE,sDAAsD,EAAE,GAAG,EAAE,CAAC,EAAC;IACtE,EAAC,IAAI,EAAE,+FAA+F,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/G,EAAC,IAAI,EAAE,uDAAuD,EAAE,GAAG,EAAE,CAAC,EAAC;IACvE,EAAC,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhE,+CAA+C;IAC7C,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAElB,iCAAiC;IAC/B,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAElB,+CAA+C;IAC7C,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE,2DAA2D,EAAE,GAAG,EAAE,CAAC,EAAC;IAE7E,oDAAoD;IAClD,EAAC,IAAI,EAAE;;;;;SAKA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;;;;OAOF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,wDAAwD;IACtD,EAAC,IAAI,EAAE;;;qBAGY,EAAE,GAAG,EAAE,CAAC,EAAC;CAC7B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,wBAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_syntax.js":{"lineLengths":[13,62,61,49,31,43,35,83,51,20,41,5,96,27,43,17,31,5,58,1,38,56,22,34,17,16,9,31,13,14,12,11,46,54,83,7,61,22,34,17,16,9,31,13,14,12,11,51,44,52,54,82,7,3,40],"data":{"version":3,"file":"check_syntax.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/check_syntax.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAE5B,2CAA6D;AAC7D,mCAAmC;AAEnC,mFAAmF;AAEnF,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,MAAwB,EAAE,QAAiB;IACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,qBAAqB,CAAC;IACnC,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC/B,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAElC,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAQ,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,IAAI,GAAG,IAAI,uBAAe,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,cAAQ,CAAC,IAAI,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAQ,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_text_elements.js":{"lineLengths":[13,62,61,49,31,43,25,27,85,1,45,56,83,64,14,14,48,20,42,20,28,20,24,15,10,10,15,19,56,24,11,10,15,19,28,24,11,10,15,19,38,24,11,11,15,12,12,56,83,64,14,12,24,18,20,20,24,13,10,10,15,19,33,24,11,10,15,19,33,24,11,10,15,19,51,24,11,10,15,35,24,11,11,15,12,12,36,36,46,77,76,38,54,7,53,32,39,35,63,61,20,74,42,9,6,36,39,46,77,76,38,54,7,36,39,46,77,76,38,54,7,48,39,46,77,76,38,54,7,36,43,46,77,76,38,54,7,36,51,46,77,76,38,54,7,36,52,46,77,76,38,54,7,36,52,46,77,76,38,54,7,36,61,46,77,76,38,54,7,37,22,62,34,6,46,77,76,38,54,7,37,22,61,6,46,77,76,38,54,7,37,22,61,6,46,77,76,38,54,7,37,22,67,19,27,11,0,49,23,64,14,13,46,95,94,38,54,7,3,47],"data":{"version":3,"file":"check_text_elements.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/check_text_elements.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/check_transformation_exists.js":{"lineLengths":[13,62,31,43,49,61,32,42,31,80,5,27,20,41,97,5,18,1,54,36,100,55,7,50,38,28,24,28,82,55,7,33,38,29,24,28,82,55,7,41,38,31,24,28,82,55,7,33,38,28,24,28,39,53,64,11,55,7,3,55],"data":{"version":3,"file":"check_transformation_exists.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/check_transformation_exists.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,2CAA0D;AAC1D,iDAA4C;AAE5C,6DAAuD;AAEvD,KAAK,UAAU,QAAQ,CAAC,KAA6C;IACnE,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,IAAI,MAAM,GAAY,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,iCAAyB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAC,CAAC,CAAC,CAAC;QAC1F,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,QAAQ,GAAG;;;2BAGM,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,QAAQ,GAAG;;;2BAGM,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,QAAQ,GAAG;;;2BAGM,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,QAAQ,GAAG;;;2BAGM,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;YAC5B,EAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAC;YACtC,EAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAC;SAAC,CAAC,CAAC;QACvD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/class_attribute_names.js":{"lineLengths":[13,62,61,49,31,81,51,20,41,5,96,27,67,17,31,5,58,1,57,39,42,46,54,7,46,22,33,17,30,50,32,38,9,30,11,46,54,7,3,47,58,67,22,35,17,20,9,44,77,51,40,80,41,80,33,39,80,7,67,22,35,17,23,9,44,77,51,40,80,41,80,33,39,80,7,65,22,35,17,26,9,44,77,50,40,80,41,80,39,80,7,67,22,35,17,35,9,44,77,36,40,80,41,80,39,80,7,67,22,35,17,33,9,44,77,36,40,80,41,80,39,80,7,56,22,28,17,33,9,44,77,36,40,80,41,80,39,80,7,58,22,28,17,33,9,44,77,35,36,40,80,41,80,39,80,7,71,22,28,17,33,9,44,77,35,30,40,80,26,41,80,39,80,7,39,22,49,31,40,23,58,77,51,40,73,73,88,41,80,39,74,74,89,7,3,60,44,63,22,18,21,15,77,34,40,40,36,93,41,93,39,93,7,67,22,18,21,15,77,35,39,40,93,41,93,39,93,7,70,22,18,21,15,77,35,40,40,36,93,41,93,39,93,7,66,22,18,24,15,77,35,40,40,93,41,93,39,93,7,68,22,18,36,15,77,35,40,40,35,93,41,93,39,93,7,72,22,18,34,15,77,35,40,40,35,93,41,93,39,93,7,63,22,15,25,19,32,31,15,77,34,40,40,36,93,41,93,39,93,7,3,49],"data":{"version":3,"file":"class_attribute_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/class_attribute_names.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/classic_exceptions_overlap.js":{"lineLengths":[13,62,61,49,31,43,43,96,27,56,58,1,52,36,36,67,54,7,29,22,25,14,48,48,29,32,67,54,7,29,22,25,14,48,48,29,32,67,54,7,40,22,19,16,28,31,67,54,7,47,22,8,16,28,33,67,54,7,3,54],"data":{"version":3,"file":"classic_exceptions_overlap.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/classic_exceptions_overlap.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAC5B,2CAAyD;AAGzD,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAgB;IACtD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,gCAAwB,EAAE,CAAC;IAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAEhD,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG;;;;;;+BAMc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG;;;;;;+BAMc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG;;;;8BAIa,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG;;;;gCAIe,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/colon_missing_space.js":{"lineLengths":[13,62,77,37,15,42,44,45,43,42,2,71,47],"data":{"version":3,"file":"colon_missing_space.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/colon_missing_space.ts"],"names":[],"mappings":";;AAAA,6EAAsE;AACtE,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;CACpC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,uCAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/commented_code.js":{"lineLengths":[13,62,67,37,15,37,42,44,45,28,27,28,32,33,13,6,55,1,56,41,20,35,19,59,5,60,44,24,39,12,27,16,62,8,63,47,27,42,12,47,15,63,9,64,49,29,44,28,0,58,58,0,10,0,58,58,0,58,58,0,12,2,62,18,5,29,19,6,5,31,31,17,31,6,2,68,42],"data":{"version":3,"file":"commented_code.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/commented_code.ts"],"names":[],"mappings":";;AAAA,mEAA6D;AAC7D,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAC;IACrB,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAC;IACpB,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAC;IACrB,EAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAC;IACzB,EAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE;;;;;;;wBAOe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EACH;;;;;;4BAMwB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI;QACH,mBAAmB;QACjB;;;;;;+BAMyB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI;QACH,uCAAuC;QACnC;;;;;;iCAMyB,EAAE,GAAG,EAAE,CAAC,EAAC;IAExC,EAAC,IAAI,EAAE;;;;;;;;;;;;;CAaR,EAAE,GAAG,EAAE,CAAC,EAAC;CACT,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,8BAAa,CAAC,CAAC;AAE/B,MAAM,QAAQ,GAAG;IACf;QACE,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,EAAE;KACX;IACD;QACE,KAAK,EAAE;8BACmB;QAC1B,MAAM,EAAE;8BACkB;KAC3B;CACF,CAAC;AAEF,IAAA,oBAAW,EAAC,QAAQ,EAAE,8BAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/constant_classes.js":{"lineLengths":[13,62,49,43,31,61,42,56,87,68,18,14,40,34,33,27,37,26,38,32,15,18,15,41,30,35,39,31,16,15,41,30,35,38,30,16,15,41,30,35,39,31,16,15,41,30,35,39,31,16,19,19,16,14,6,48,22,61,21,0,13,43,15,116,57,26,89,10,87,31,51,31,70,55,7,56,22,61,21,52,13,43,15,116,57,26,89,10,87,31,51,31,70,55,7,49,22,61,21,52,51,52,52,13,43,15,116,57,26,89,10,87,31,51,31,70,55,7,50,22,61,21,52,51,52,52,52,13,43,15,116,57,26,89,10,87,31,51,31,70,55,7,55,22,61,21,52,50,24,52,22,52,13,43,15,116,57,26,89,10,87,31,51,31,70,55,7,60,22,61,21,53,52,53,53,13,43,15,116,57,26,89,10,87,31,51,31,70,55,7,54,22,61,21,67,53,52,53,53,13,43,15,116,57,26,127,10,87,31,51,31,70,55,7,57,22,61,21,66,53,52,53,53,13,43,15,116,57,26,127,10,87,31,51,31,70,55,7,54,22,61,21,53,52,53,53,13,43,15,116,57,26,127,10,87,31,51,31,70,55,7,62,22,61,21,60,52,53,53,13,43,15,116,57,26,88,10,87,31,51,31,70,55,7,77,22,61,21,60,52,60,60,13,43,15,116,57,26,88,10,87,31,51,31,70,55,7,57,116,57,26,88,10,31,51,31,70,55,7,3,44],"data":{"version":3,"file":"constant_classes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/constant_classes.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/constructor_visibility_public.js":{"lineLengths":[13,62,49,43,31,61,55,58,22,72,22,28,13,54,25,16,15,132,31,63,70,55,7,58,22,72,21,28,13,54,25,16,15,132,31,63,70,55,7,45,22,25,18,25,9,0,29,21,12,11,111,31,63,70,55,7,3,57],"data":{"version":3,"file":"constructor_visibility_public.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/constructor_visibility_public.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,2CAA4D;AAC5D,+BAA4B;AAC5B,6DAAuD;AAEvD,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG;;;;;;;;cAQH,CAAC;QAEX,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC,CAAC;QACnG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,mCAA2B,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAE/D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG;;;;;;;;cAQH,CAAC;QAEX,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC,CAAC;QACnG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,mCAA2B,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAE/D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QAEP,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,mCAA2B,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAE/D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/contains_tab.js":{"lineLengths":[13,62,63,37,15,55,42,40,38,2,58,18,51,89,63,63,2,64,40],"data":{"version":3,"file":"contains_tab.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/contains_tab.ts"],"names":[],"mappings":";;AAAA,+DAAyD;AACzD,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;IAChD,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;CAChC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAE7B,MAAM,QAAQ,GAAG;IACf,EAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAC;IAC5C,EAAC,KAAK,EAAE,gCAAgC,EAAE,MAAM,EAAE,+BAA+B,EAAC;IAClF,EAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB,EAAC;IACxD,EAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB,EAAC;CACzD,CAAC;AACF,IAAA,oBAAW,EAAC,QAAQ,EAAE,0BAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cyclic_oo.js":{"lineLengths":[13,62,31,49,61,43,33,58,27,76,1,35,30,36,96,54,7,30,22,19,22,19,95,54,7,38,22,19,25,32,19,22,19,25,32,19,40,65,65,11,54,7,36,22,19,25,19,22,19,25,19,40,65,65,11,54,7,3,37],"data":{"version":3,"file":"cyclic_oo.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/cyclic_oo.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAEvD,2CAAyC;AAGzC,KAAK,UAAU,SAAS,CAAC,KAAc;IACrC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,OAAO,IAAI,gBAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACnE,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAE/B,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,CAAC,IAAI,wBAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG;;;kBAGC,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACzE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,IAAI,GAAG;;;;kBAIC,CAAC;QACf,MAAM,IAAI,GAAG;;;;kBAIC,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;YAC7B,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC;YACtC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC;SACvC,CAAC,CAAC;QACH,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG;;;kBAGC,CAAC;QACf,MAAM,IAAI,GAAG;;;kBAGC,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;YAC7B,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC;YACtC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC;SACvC,CAAC,CAAC;QACH,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/cyclomatic_complexity.js":{"lineLengths":[13,62,31,49,61,81,32,104,27,104,1,47,29,36,45,54,7,35,20,25,21,23,13,29,22,39,36,14,9,23,16,15,45,54,7,3,49],"data":{"version":3,"file":"cyclomatic_complexity.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/cyclomatic_complexity.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AAEvD,iFAA2E;AAE3E,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,OAAO,IAAI,4CAAoB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AAC/E,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAE3C,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,IAAI,IAAI,GAAG;;;;;;qBAMM,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,GAAG,IAAI,GAAG;aACP,CAAC;QACV,CAAC;QACD,IAAI,GAAG,IAAI,GAAG;;cAEJ,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/dangerous_statement.js":{"lineLengths":[13,62,43,37,15,40,34,44,37,41,71,128,120,89,93,86,80,71,111,2,58,47],"data":{"version":3,"file":"dangerous_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/dangerous_statement.ts"],"names":[],"mappings":";;AAAA,2CAAmD;AACnD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhE,EAAC,IAAI,EAAE,yGAAyG,EAAE,GAAG,EAAE,CAAC,EAAC;IACzH,EAAC,IAAI,EAAE,iGAAiG,EAAE,GAAG,EAAE,CAAC,EAAC;IACjH,EAAC,IAAI,EAAE,kEAAkE,EAAE,GAAG,EAAE,CAAC,EAAC;IAClF,EAAC,IAAI,EAAE,sEAAsE,EAAE,GAAG,EAAE,CAAC,EAAC;IACtF,EAAC,IAAI,EAAE,+DAA+D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/E,EAAC,IAAI,EAAE,yDAAyD,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3E,mEAAmE;IACjE,EAAC,IAAI,EAAE,wFAAwF,EAAE,GAAG,EAAE,CAAC,EAAC;CACzG,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/db_operation_in_loop.js":{"lineLengths":[13,62,43,37,15,40,37,24,46,20,25,33,23,2,57,48],"data":{"version":3,"file":"db_operation_in_loop.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/db_operation_in_loop.ts"],"names":[],"mappings":";;AAAA,2CAAkD;AAClD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE;;SAEA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;YAEG,EAAE,GAAG,EAAE,CAAC,EAAC;CACpB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,yBAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/definitions_top.js":{"lineLengths":[13,62,69,37,57,130,1,15,5,15,12,24,15,17,10,15,6,5,15,12,24,15,21,13,13,10,15,6,5,15,12,24,17,15,10,15,6,5,15,9,25,21,18,10,15,6,5,15,9,24,20,19,10,15,6,5,15,9,36,25,29,31,10,15,6,5,15,9,32,25,27,30,10,15,6,5,15,9,14,18,10,15,6,5,15,9,6,14,10,15,6,5,15,9,21,12,20,11,10,15,6,5,15,10,9,19,38,10,10,15,6,5,15,10,11,36,8,10,15,6,5,15,9,17,21,10,15,19,6,5,15,9,14,24,21,22,24,21,22,10,15,19,6,5,15,12,24,21,17,10,15,6,5,15,12,24,14,21,17,10,15,6,5,15,9,14,0,37,0,31,19,8,10,15,6,5,15,9,14,0,16,10,15,6,2,64,54,35,47,17,16,9,29,13,12,20,12,11,51,17,16,9,29,13,20,12,14,12,11,32,7,35,22,9,22,16,23,10,26,9,22,23,16,12,10,32,7,35,22,9,20,25,25,13,12,10,26,9,24,20,24,13,12,10,39,7,35,22,9,8,28,37,26,14,31,10,26,9,8,28,37,26,31,14,0,10,39,7,50,22,9,14,24,21,22,10,26,9,21,16,19,14,12,10,39,7,3,43],"data":{"version":3,"file":"definitions_top.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/definitions_top.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/description_empty.js":{"lineLengths":[13,62,49,43,31,61,50,55,85,66,16,16,34,22,22,30,22,26,17,17,14,14,22,111,96,55,7,3,49,55,85,66,16,16,34,22,38,22,30,22,26,17,17,14,14,22,111,96,55,7,3,61,55,85,66,16,16,38,22,38,22,30,22,26,17,17,14,14,22,115,96,55,7,3,45],"data":{"version":3,"file":"description_empty.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/description_empty.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,2CAAiD;AACjD,+BAA4B;AAC5B,6DAAuD;AAEvD,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,MAAM,GAAG,GAAG;;;;;;;;;;;;;;aAcD,CAAC;IAEZ,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACd,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,wBAAgB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QACjF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;aAeD,CAAC;IAEZ,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACd,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,wBAAgB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QACjF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;aAeD,CAAC;IAEZ,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACd,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,IAAI,wBAAgB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QACjF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/double_space.js":{"lineLengths":[13,62,37,43,15,37,40,39,38,40,84,37,38,38,39,42,55,43,41,45,37,41,88,51,87,105,52,36,12,30,30,30,43,79,79,83,89,52,13,11,11,28,41,13,22,22,34,13,18,18,30,71,73,69,2,51,20,36,2,47,34,66,15,18,65,26,58,27,58,20,64,2,54,40],"data":{"version":3,"file":"double_space.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/double_space.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/downport.js":{"lineLengths":[13,62,28,31,61,49,43,45,37,47,31,52,34,62,19,1,92,124,1,67,129,27,40,58,1,34,36,56,54,7,44,54,54,7,54,79,11,18,11,26,54,7,54,49,70,54,7,54,49,73,54,7,52,41,65,35,54,7,47,31,62,51,10,10,35,62,46,37,10,10,32,7,49,31,62,33,10,10,35,62,32,27,10,10,32,7,56,59,54,7,67,39,46,32,7,79,39,46,32,7,65,69,76,32,7,44,45,59,32,7,40,87,7,48,47,17,47,9,29,11,12,9,0,9,25,43,10,51,17,47,9,29,11,12,9,0,9,25,33,35,34,10,32,7,49,38,54,32,7,54,47,46,54,7,65,22,31,13,35,13,39,46,54,73,7,66,22,27,17,50,9,31,21,12,9,0,9,37,35,10,26,27,17,50,9,31,21,12,9,0,9,37,61,10,32,7,65,22,27,17,50,9,31,21,12,9,0,9,37,27,10,26,27,17,50,9,31,21,12,9,0,9,37,46,10,32,7,72,22,56,0,31,21,54,13,0,35,15,16,13,0,13,34,14,26,56,0,31,21,54,13,0,35,15,16,13,0,13,24,28,14,32,7,79,22,31,21,60,54,13,0,35,15,16,13,0,13,34,14,26,31,21,60,54,13,0,35,15,16,13,0,13,35,28,14,32,7,59,22,31,21,67,13,0,35,15,16,13,0,13,37,14,26,31,21,67,13,0,35,15,16,13,0,13,40,31,14,32,7,48,22,55,20,44,26,55,20,20,38,32,7,43,73,79,32,7,55,73,79,32,7,55,28,19,23,56,19,32,19,23,58,19,32,7,51,78,84,32,7,37,22,31,13,35,13,13,34,34,34,14,26,31,13,35,13,13,34,34,39,19,18,14,32,7,40,22,27,52,26,27,62,46,32,7,58,22,62,51,12,26,62,46,37,12,32,7,36,22,20,44,26,20,28,17,29,32,7,30,22,31,20,23,28,26,31,20,23,22,18,18,32,7,38,22,26,17,15,49,9,30,13,12,9,9,38,38,10,26,26,17,15,49,9,30,13,12,9,9,38,34,36,28,10,32,7,46,22,26,17,33,26,31,21,51,9,30,13,12,9,9,33,10,26,26,17,33,26,31,21,51,9,30,13,12,9,9,41,27,10,32,7,43,22,26,17,59,55,9,30,13,12,9,9,21,39,10,10,26,26,17,59,55,9,30,13,12,9,9,21,33,28,10,10,32,7,38,22,9,26,24,25,24,63,23,48,10,26,9,26,24,25,24,63,23,26,14,18,19,22,10,32,7,50,22,45,46,14,26,45,34,34,40,14,32,7,44,22,49,41,26,49,41,35,32,7,56,22,26,13,18,17,68,43,26,26,13,18,17,68,43,37,32,7,31,22,26,27,26,26,44,32,7,40,22,26,18,27,18,12,26,26,18,44,18,12,32,7,49,22,21,17,17,17,37,44,9,0,25,21,12,9,0,19,33,54,26,21,17,17,17,37,44,9,0,25,21,12,9,0,19,33,71,32,7,38,22,26,18,29,26,26,18,46,32,7,47,22,27,58,85,45,26,27,203,32,7,48,22,24,22,22,22,61,21,65,26,24,22,22,22,61,21,23,12,30,15,16,30,15,16,30,14,32,7,61,22,60,21,65,26,60,21,23,12,30,15,16,30,15,16,30,14,32,7,78,22,25,31,26,25,20,12,30,14,30,14,32,7,61,22,51,38,26,51,19,12,26,26,20,32,7,38,22,23,20,21,32,22,21,26,23,20,21,23,12,21,14,21,27,32,7,47,22,23,20,21,32,19,18,21,26,23,20,21,23,12,21,14,21,14,21,27,32,7,60,41,37,45,13,54,7,64,31,21,42,10,35,21,23,14,23,22,10,106,83,64,14,10,27,30,31,24,24,11,16,11,31,31,31,27,12,17,15,12,13,106,83,64,14,10,29,30,27,24,29,30,22,24,24,11,15,12,13,46,7,55,22,25,25,26,25,25,19,32,7,50,31,46,10,35,40,27,19,46,19,19,51,8,33,10,32,7,59,31,81,10,35,26,33,33,24,75,10,32,7,52,31,60,10,35,24,33,33,21,62,54,10,32,7,57,31,49,10,35,62,43,10,32,7,52,31,26,33,33,24,75,10,35,26,33,33,24,73,10,32,7,55,31,47,10,35,26,41,10,32,7,51,47,38,51,22,32,32,7,56,47,30,51,28,24,32,7,56,47,29,51,28,23,32,7,44,59,49,43,11,23,11,19,15,32,7,45,44,24,47,48,24,23,44,11,18,11,19,29,32,7,30,40,49,44,18,13,12,5,12,6,16,32,7,45,22,20,17,25,25,15,26,20,20,15,14,19,14,7,14,8,18,32,7,30,49,15,28,30,49,15,39,21,8,12,21,32,7,44,49,15,30,30,49,15,54,21,8,12,21,32,7,65,49,17,20,68,29,32,53,53,17,20,68,29,32,27,12,44,30,8,21,32,7,48,47,17,19,29,19,33,34,17,9,0,29,17,12,17,12,14,37,12,11,51,17,19,29,19,33,34,17,9,0,29,17,12,17,12,14,22,16,32,12,11,32,7,52,22,31,21,49,13,35,15,26,31,21,28,13,35,15,32,7,53,22,62,26,41,21,20,31,45,24,32,7,71,22,60,26,41,21,20,31,45,24,32,7,50,22,52,26,41,21,20,33,45,24,32,7,56,22,61,26,41,21,20,38,38,38,38,33,45,35,33,33,24,32,7,56,22,29,31,45,30,43,46,26,29,41,27,31,38,38,38,38,34,45,35,52,52,52,52,24,32,7,50,22,9,68,34,10,26,9,68,40,18,32,10,32,7,53,22,23,87,26,23,23,20,18,5,16,6,37,32,7,46,60,63,32,7,54,40,24,53,44,24,23,13,16,5,14,6,23,32,7,37,22,20,25,37,6,51,29,26,25,28,20,24,32,23,32,7,28,8,16,32,7,38,22,60,21,58,26,60,21,23,12,14,6,25,17,16,19,34,12,9,14,32,7,47,22,60,28,41,51,30,3,41,51,30,8,53,26,60,23,12,137,137,23,32,7,32,22,20,15,53,26,20,20,32,7,32,22,20,15,53,26,20,20,32,7,32,22,20,15,53,26,20,20,32,7,32,22,20,15,53,26,20,20,32,7,33,22,25,16,53,26,25,21,32,7,37,31,57,48,20,8,10,35,57,27,70,19,15,20,8,10,32,7,57,31,27,49,20,8,10,35,27,27,71,19,15,20,8,10,32,7,68,31,27,96,20,8,10,35,27,27,73,19,60,20,8,10,32,7,44,31,57,33,20,8,10,35,57,27,52,19,15,20,8,10,32,7,36,31,57,51,20,8,10,35,57,27,70,19,15,20,8,10,32,7,36,22,26,30,20,14,27,27,19,26,26,30,25,18,15,22,16,21,16,20,10,19,32,7,54,22,24,20,22,57,27,26,24,20,22,57,28,25,17,43,17,17,49,6,18,32,7,42,22,72,26,27,66,32,7,51,22,24,32,35,22,23,44,21,72,26,24,32,35,22,23,44,21,27,66,32,7,45,91,47,63,32,7,47,22,21,17,27,15,32,9,0,25,19,30,15,38,12,11,26,21,17,27,15,32,9,0,25,19,27,18,30,15,28,12,11,32,7,47,22,21,17,27,15,31,15,32,9,0,25,19,24,30,15,37,15,25,12,11,26,21,17,27,15,31,15,32,9,0,25,19,24,27,18,30,15,27,15,25,12,11,32,7,57,22,25,62,26,25,40,48,32,7,34,22,76,26,33,70,32,7,53,22,32,50,26,32,44,44,32,7,50,43,54,15,32,7,48,42,54,14,32,7,42,22,78,14,26,28,72,14,32,7,48,22,28,72,14,26,28,71,14,32,7,51,22,28,79,14,26,28,77,14,32,7,48,22,41,11,44,44,30,26,22,30,30,30,19,59,41,11,44,44,24,32,7,47,22,26,37,26,26,15,24,32,7,48,22,4,39,9,26,4,41,33,9,32,7,70,22,33,62,26,33,40,27,19,60,19,19,51,8,38,32,7,63,31,35,10,76,90,88,81,27,27,30,20,88,79,78,7,56,22,31,56,12,26,31,29,78,21,17,12,32,7,41,22,27,28,19,38,42,23,19,26,27,28,19,27,16,18,10,29,21,30,23,16,16,13,14,19,19,32,7,52,22,39,21,20,26,39,21,44,29,21,46,21,21,53,10,18,32,7,34,22,33,56,12,26,33,35,12,32,7,40,22,62,30,26,62,26,16,34,34,21,32,7,45,22,62,34,26,62,26,16,34,34,34,21,32,7,47,22,25,77,16,26,25,27,17,18,10,29,21,20,23,17,16,13,14,16,16,32,7,47,22,25,74,16,26,25,27,17,18,10,29,21,20,23,14,16,13,14,16,16,32,7,40,22,62,66,56,26,62,66,26,14,37,32,10,20,32,7,46,22,62,66,20,26,32,24,26,62,66,26,16,37,21,13,29,21,20,23,42,22,13,8,22,32,7,45,22,25,23,23,28,32,26,25,23,24,11,13,25,13,24,10,18,32,7,48,22,62,66,20,26,32,21,26,26,62,66,26,16,37,21,13,29,21,20,23,23,15,44,22,13,8,22,32,7,39,22,20,59,59,49,26,20,59,59,23,14,49,17,32,7,58,22,23,29,32,21,65,51,26,23,29,32,21,65,48,25,17,64,17,17,49,6,30,32,7,61,22,21,31,24,38,26,21,28,25,24,38,32,7,59,22,23,79,26,23,43,73,32,7,46,22,23,43,73,26,23,43,38,18,20,9,19,10,32,32,7,47,22,21,20,16,27,25,26,21,20,14,16,8,27,19,18,21,14,14,11,12,19,32,7,45,22,23,23,23,21,20,94,26,23,23,23,21,20,27,64,25,32,7,41,22,32,19,19,23,49,34,19,18,12,35,66,38,26,32,19,19,23,49,34,19,18,12,46,73,29,8,8,10,17,32,7,42,22,21,17,55,9,0,25,13,14,10,12,11,26,21,17,55,9,0,25,13,29,10,12,11,32,7,54,22,20,43,26,20,22,16,16,9,18,10,18,32,7,59,22,10,34,31,31,32,8,57,29,60,29,60,26,10,34,31,31,32,8,57,29,60,29,40,29,21,87,21,21,53,10,24,32,7,57,22,24,23,31,32,32,26,24,23,21,14,6,25,17,16,19,14,12,9,12,17,32,7,47,22,20,61,19,41,13,15,26,20,61,25,14,16,12,27,19,15,21,34,31,14,11,19,32,7,55,22,63,21,27,24,17,26,63,27,16,18,10,29,21,16,23,45,33,16,13,21,32,7,34,58,85,34,44,62,85,34,30,12,36,32,7,39,22,56,21,42,26,56,21,25,14,17,28,19,32,7,44,22,78,26,44,72,32,7,35,22,25,17,48,9,29,11,33,23,12,11,26,25,17,48,9,29,11,33,35,17,15,12,11,32,7,51,88,54,54,14,32,7,39,22,6,67,35,26,67,26,41,38,72,60,38,32,7,57,22,56,16,17,56,26,33,30,50,51,30,32,7,48,22,25,76,26,25,74,32,7,36,22,38,33,36,51,16,20,25,37,17,26,38,33,36,51,16,50,22,41,5,16,6,21,32,7,60,22,14,40,35,38,13,0,56,16,20,25,37,17,26,14,40,35,38,13,0,56,16,55,22,41,5,16,6,21,32,7,77,22,21,17,28,31,35,26,39,9,25,13,34,51,12,11,26,21,17,28,31,35,26,39,9,25,13,34,33,16,24,22,17,12,11,32,7,78,22,14,20,13,21,17,55,9,25,13,24,17,12,11,26,14,20,13,21,17,55,9,25,13,29,18,17,12,11,32,7,54,22,36,34,69,26,36,34,59,32,32,7,53,57,60,36,23,32,7,49,22,20,27,27,18,20,26,18,56,104,26,20,27,27,18,20,26,18,56,20,12,21,22,68,32,7,42,22,23,26,21,34,23,70,26,23,26,21,34,23,39,64,32,7,50,22,21,17,46,9,25,13,22,12,11,26,21,17,46,9,25,13,31,16,17,12,11,32,7,50,22,19,18,29,25,8,21,19,26,19,18,16,17,14,6,25,17,16,19,20,13,12,9,14,17,32,7,39,22,22,16,37,15,29,30,26,22,23,20,29,15,14,6,25,17,22,19,21,12,9,12,15,32,7,44,22,54,17,25,41,19,26,54,23,12,21,17,14,13,25,17,27,19,35,12,9,17,32,7,51,22,59,35,26,59,31,16,33,32,7,45,22,28,27,27,26,28,27,38,32,7,53,22,51,56,26,31,40,56,32,7,43,55,70,32,7,49,66,57,38,32,7,49,22,38,11,54,11,25,26,56,38,11,18,11,25,32,7,67,22,38,11,17,54,11,25,26,56,38,11,17,18,11,25,32,7,53,22,42,18,10,26,63,18,10,32,7,42,22,19,22,17,62,64,26,19,22,17,62,19,12,37,30,32,7,56,22,66,20,21,59,26,66,20,21,20,14,59,18,18,8,19,32,7,65,22,23,20,20,21,58,16,49,26,23,20,20,21,58,16,18,12,51,16,20,6,14,32,7,44,22,60,14,35,26,57,14,34,32,7,68,22,61,76,26,61,35,70,32,7,72,22,19,20,17,62,76,26,19,20,17,62,36,70,32,7,47,22,51,37,27,26,51,37,41,32,7,39,22,63,50,0,10,26,63,40,28,44,0,10,32,7,44,22,20,20,18,19,19,33,26,20,20,18,19,19,34,32,7,61,22,19,22,17,52,46,15,17,26,19,22,17,52,63,15,17,32,7,56,22,37,27,23,35,82,59,64,13,35,27,58,29,10,27,10,26,37,27,23,35,82,30,45,22,36,28,72,37,60,93,16,36,52,5,14,36,18,50,39,6,8,52,27,59,29,10,27,10,32,7,69,22,37,27,23,35,82,39,59,65,13,35,27,58,29,10,27,10,26,37,27,23,35,82,39,30,45,22,36,28,72,37,60,23,93,16,52,5,14,36,22,50,39,6,8,52,27,59,29,10,27,10,32,7,51,22,37,27,23,35,82,39,41,45,42,40,24,10,10,26,37,27,23,35,82,39,27,47,36,25,66,34,42,83,16,41,5,14,29,39,36,6,8,36,40,24,10,10,32,7,51,22,37,27,23,35,82,39,56,47,57,57,26,10,10,26,37,27,23,35,82,39,29,47,36,27,70,36,57,87,16,43,5,14,31,41,38,6,8,53,57,26,10,10,32,7,32,22,21,17,35,44,9,25,13,59,12,11,26,21,17,35,44,9,25,13,34,16,34,18,21,24,34,17,12,11,32,7,38,22,55,24,21,0,19,19,0,29,30,10,0,30,19,10,26,55,24,21,0,19,19,0,23,12,28,21,28,8,22,0,30,19,10,32,7,52,22,55,24,21,0,19,19,0,29,32,12,0,30,19,10,26,55,24,21,0,19,19,0,23,12,43,21,30,8,22,0,30,19,10,32,7,35,22,51,17,11,25,6,59,26,26,51,17,11,25,6,19,12,39,30,8,18,26,32,7,50,22,37,22,35,82,38,81,26,37,22,35,82,38,58,75,32,7,34,22,37,26,35,83,0,42,38,0,14,30,30,0,34,69,48,39,13,26,26,37,26,35,83,0,42,38,0,14,30,30,0,32,12,114,32,37,32,8,18,26,32,7,46,22,37,22,35,83,42,42,41,44,43,47,31,42,60,26,7,32,7,47,22,37,26,35,83,42,38,14,30,30,114,0,10,26,37,26,35,83,42,38,14,30,30,35,47,36,33,82,42,48,97,16,47,5,14,35,45,44,6,8,52,0,10,32,7,68,22,23,21,42,50,16,26,20,21,53,43,10,19,20,16,32,7,65,22,44,26,57,62,14,26,36,16,28,125,36,36,12,30,32,7,42,22,51,27,27,21,19,16,33,17,26,51,27,27,18,19,27,26,8,17,18,17,32,7,46,86,61,22,19,23,23,17,17,14,12,17,26,19,23,23,17,17,10,15,17,32,7,52,22,19,22,17,64,26,39,48,26,19,22,17,64,26,39,61,17,49,6,38,32,7,52,22,19,22,17,64,26,39,61,17,49,6,38,26,19,22,17,64,26,39,78,17,49,6,38,32,7,42,22,19,22,17,55,32,63,28,28,22,12,31,25,28,67,26,19,22,17,55,32,63,28,28,22,12,22,25,39,58,8,19,26,32,7,40,22,19,22,17,55,32,32,31,35,20,75,42,60,26,19,22,17,55,32,32,22,34,25,87,38,51,8,19,26,32,7,56,22,19,22,17,55,32,32,31,35,20,79,42,60,26,19,22,17,55,32,32,22,34,25,104,38,51,8,19,26,32,7,56,22,19,22,17,55,32,32,31,35,20,77,44,60,26,19,22,17,55,32,32,22,34,25,102,40,51,8,19,26,32,7,72,22,51,16,59,61,28,32,7,59,22,65,17,32,41,27,39,88,41,28,39,88,31,15,51,15,52,9,0,42,29,64,55,55,19,40,36,17,12,12,11,26,65,17,32,41,27,39,88,41,28,39,88,31,15,51,15,52,9,0,42,29,64,55,55,72,37,40,11,18,12,18,12,12,11,32,7,48,22,19,26,26,17,38,22,45,39,39,11,34,10,26,19,26,26,17,38,22,28,34,32,26,26,68,35,46,115,16,42,5,14,35,33,40,37,6,8,51,10,32,7,59,22,39,20,37,41,79,39,56,50,47,26,39,20,37,41,79,39,56,50,61,32,7,36,22,56,20,21,48,26,56,20,21,19,53,32,8,14,32,7,50,22,21,17,25,82,50,9,0,25,13,25,64,12,11,26,21,17,25,82,50,9,0,25,13,25,37,57,36,12,30,12,11,32,7,57,22,41,26,22,39,32,7,52,22,16,37,26,16,22,35,32,7,60,22,19,27,17,17,62,64,26,19,27,17,17,58,64,32,7,80,22,58,20,42,27,24,50,35,26,26,58,20,23,18,16,13,16,5,16,6,22,23,26,24,21,16,5,16,6,24,39,7,60,22,36,37,59,80,83,26,36,37,59,84,83,32,7,70,22,21,20,20,19,58,43,32,63,70,26,21,20,20,19,58,43,32,67,70,32,7,75,22,60,20,19,19,18,67,69,26,60,20,19,19,18,79,69,32,7,48,22,16,60,82,26,16,60,18,12,29,12,8,10,33,32,7,45,22,19,26,26,17,54,47,25,15,10,26,19,26,26,17,54,43,33,25,15,10,32,7,39,22,56,26,18,9,34,5,14,6,18,32,7,47,22,32,8,51,26,33,32,8,34,32,7,51,22,56,26,18,9,34,5,14,6,18,32,7,42,22,19,23,23,17,20,23,18,22,20,19,69,26,19,23,23,17,20,23,18,22,20,19,31,39,32,7,51,22,21,24,19,40,26,21,24,19,27,34,32,7,44,22,25,64,26,25,23,9,16,5,16,6,27,32,7,38,22,40,12,27,30,28,26,5,32,7,41,22,40,12,27,7,40,13,27,28,26,26,5,32,7,46,22,65,70,49,10,26,65,70,37,30,43,10,32,7,48,22,56,9,48,8,26,56,25,66,17,9,17,8,32,7,55,22,56,9,14,11,16,50,16,8,8,26,56,9,14,27,68,19,11,16,19,16,8,8,32,7,62,22,56,9,13,48,8,26,56,25,66,17,9,13,17,8,32,7,55,22,23,27,21,60,23,67,54,26,23,27,21,60,23,23,28,14,6,25,17,13,19,47,12,9,12,16,32,7,44,22,23,27,21,58,67,54,26,23,27,21,59,22,67,54,32,7,45,22,19,27,27,27,17,56,23,48,58,63,26,19,27,27,27,17,56,23,23,12,30,38,25,25,30,25,25,30,16,32,7,44,22,21,27,27,19,57,56,23,22,26,42,39,12,20,26,6,32,7,49,22,21,17,16,42,9,25,13,28,76,12,13,11,12,11,26,21,17,16,42,9,25,13,28,27,13,21,26,18,23,12,24,12,13,11,12,11,32,7,47,22,21,17,16,42,9,25,13,28,74,12,13,11,12,11,26,21,17,16,42,9,25,13,28,27,19,27,9,20,10,24,12,13,11,12,11,32,7,45,111,109,32,7,75,46,15,17,63,25,24,18,39,61,8,10,50,15,17,63,25,24,18,39,37,47,8,10,32,7,50,59,83,64,14,10,37,30,29,30,22,24,33,29,11,15,12,12,50,33,54,23,14,23,94,7,57,73,9,20,8,125,7,61,73,9,33,8,125,7,38,43,9,25,9,0,19,15,47,9,25,9,0,19,33,32,7,51,43,17,55,54,9,25,13,0,12,9,0,19,58,47,17,55,54,9,25,13,0,12,9,0,19,28,52,32,7,38,83,56,55,45,32,7,40,43,26,79,47,26,23,44,11,16,11,19,63,45,32,7,57,43,26,53,47,26,23,44,11,16,11,19,37,45,32,7,59,43,51,47,28,12,51,16,16,6,20,32,7,57,43,17,23,24,21,45,9,0,25,13,12,9,0,19,24,39,47,17,23,24,21,45,9,0,25,13,12,9,0,19,24,26,14,34,22,32,7,73,22,30,24,27,20,26,30,19,29,18,16,16,24,8,32,7,49,22,20,22,22,18,56,24,19,22,0,17,77,26,20,22,22,18,56,24,19,22,0,17,31,66,25,32,7,62,22,20,22,22,18,56,24,19,22,0,17,31,66,25,26,20,22,22,18,56,24,19,22,0,17,31,29,37,25,32,7,34,22,44,26,29,30,32,7,59,22,28,36,26,28,23,15,20,32,7,77,22,21,17,32,9,25,9,0,41,17,27,31,25,62,16,9,25,13,29,37,12,11,26,21,17,32,9,25,9,0,41,17,27,31,25,74,33,16,9,25,13,29,37,12,11,32,7,86,22,21,17,27,31,25,62,9,25,9,0,41,17,32,16,9,25,13,29,37,12,11,26,21,17,27,31,25,74,33,9,25,9,0,41,17,32,16,9,25,13,29,37,12,11,32,7,72,22,21,17,25,9,25,9,0,19,38,27,36,24,12,26,21,17,25,9,25,9,0,19,38,27,32,30,24,12,67,7,72,22,21,17,25,9,25,9,0,19,38,27,32,30,24,12,74,54,7,42,22,21,17,45,9,0,25,13,20,12,11,26,21,17,45,9,0,25,13,25,14,12,11,32,7,45,22,21,17,28,42,46,9,0,25,20,22,26,27,12,11,26,21,17,28,42,46,9,0,25,20,82,12,11,32,7,55,22,53,25,51,26,53,25,21,12,38,25,32,7,45,22,49,62,26,22,32,19,58,43,62,106,83,64,14,10,27,30,31,25,26,24,11,10,27,26,22,26,26,11,16,11,28,34,31,30,25,31,25,28,25,30,24,24,12,11,28,34,31,30,31,25,28,30,24,24,12,17,15,12,13,40,7,55,22,22,32,19,58,43,62,26,22,32,19,58,42,23,56,106,83,64,14,10,27,30,31,25,26,24,11,10,27,26,22,26,26,11,16,11,28,34,31,30,25,31,25,28,25,30,24,24,12,11,28,34,31,30,31,25,28,30,24,24,12,17,15,12,13,43,7,38,22,39,21,58,26,39,21,56,32,7,66,22,21,17,45,9,25,21,12,9,0,41,9,25,9,0,19,27,21,26,21,17,45,9,25,21,12,9,0,41,9,25,9,0,19,27,40,32,7,40,22,21,25,25,19,35,71,22,26,21,25,25,19,35,32,59,22,32,7,57,22,20,33,33,18,0,20,32,18,0,20,55,26,20,33,33,18,0,20,32,18,0,20,20,12,20,19,21,32,7,37,22,21,17,41,9,0,25,13,22,12,11,26,21,17,41,9,0,25,13,27,16,12,11,32,7,63,22,19,26,17,17,32,14,26,19,26,17,17,10,21,10,32,7,72,22,19,26,17,52,34,16,26,19,26,17,52,20,12,30,23,8,30,14,32,7,80,22,21,17,43,9,0,25,13,33,12,11,26,21,17,43,9,0,25,13,30,34,12,11,32,7,45,22,21,17,50,9,0,25,13,28,12,11,26,21,17,50,9,0,25,13,25,27,12,11,32,7,54,22,22,15,13,41,15,26,22,14,13,40,15,32,7,3,36],"data":{"version":3,"file":"downport.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/downport.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/dynpro_checks.js":{"lineLengths":[13,62,28,31,61,49,43,33,106,27,44,58,1,39,61,79,83,64,14,12,22,18,20,20,13,12,10,13,30,27,28,32,20,35,24,28,14,17,18,26,26,19,18,13,18,36,36,24,26,152,23,27,27,33,27,35,28,33,19,18,36,36,26,40,27,33,27,28,31,19,14,17,18,42,19,18,41,19,18,21,19,18,40,19,18,47,19,18,11,13,10,10,15,24,23,11,11,15,12,13,54,7,3,41],"data":{"version":3,"file":"dynpro_checks.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/dynpro_checks.ts"],"names":[],"mappings":";;AAAA,4BAA4B;AAC5B,+BAA4B;AAC5B,6DAAuD;AACvD,iDAA4C;AAC5C,2CAA6C;AAG7C,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,oBAAY,EAAE,CAAC;IAChC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAEnC,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAoFzB,CAAC,CAAC;QACT,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/easy_to_find_messages.js":{"lineLengths":[13,62,49,61,43,31,26,64,103,82,28,24,46,44,37,25,23,24,35,47,37,49,25,24,29,26,21,42,77,73,27,86,1,46,36,30,39,55,7,34,36,39,55,7,43,52,39,55,7,43,71,39,55,7,41,93,39,55,7,41,83,39,55,7,50,22,32,32,6,39,55,7,3,49],"data":{"version":3,"file":"easy_to_find_messages.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/easy_to_find_messages.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/empty_line_in_statement.js":{"lineLengths":[13,62,37,43,15,37,40,30,50,44,32,24,28,18,0,0,28,48,53,50,50,61,30,16,90,16,33,33,33,33,33,33,48,79,15,27,44,44,49,9,43,108,27,46,109,36,34,0,10,21,2,60,18,5,16,5,0,6,17,5,6,6,2,66,51],"data":{"version":3,"file":"empty_line_in_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/empty_line_in_statement.ts"],"names":[],"mappings":";;AAAA,qCAA+C;AAC/C,2CAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAC;IACvB,EAAC,IAAI,EAAE;;qBAEY,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5B,EAAC,IAAI,EAAE;iBACQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE;;;iBAGQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE,yBAAyB,EAAE,GAAG,EAAE,CAAC,EAAC;IACzC,EAAC,IAAI,EAAE;;;kDAGyC,EAAE,GAAG,EAAE,CAAC,EAAC;IAEzD,EAAC,IAAI,EAAE;;;;;;;;;;qCAU4B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5C,EAAC,IAAI,EAAE;;;;;;;;;;;;;;;;UAgBC,EAAE,GAAG,EAAE,CAAC,EAAC;CAClB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,4BAAoB,CAAC,CAAC;AAEtC,MAAM,QAAQ,GAAG;IACf;QACE,KAAK,EAAE;;;KAGN;QACD,MAAM,EAAE;;KAEP;KACF;CACF,CAAC;AAEF,IAAA,oBAAW,EAAC,QAAQ,EAAE,4BAAoB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/empty_statement.js":{"lineLengths":[13,62,69,37,15,45,43,43,45,47,45,40,2,64,15,65,67,63,33,2,67,43],"data":{"version":3,"file":"empty_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/empty_statement.ts"],"names":[],"mappings":";;AAAA,qEAA+D;AAC/D,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,EAAC;IACxC,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;CAClC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,gCAAc,CAAC,CAAC;AAEhC,MAAM,KAAK,GAAG;IACZ,EAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,kBAAkB,EAAC;IAC1D,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,kBAAkB,EAAC;IAC5D,EAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAC;IACxD,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAC;CAC3B,CAAC;AAEF,IAAA,oBAAW,EAAC,KAAK,EAAE,gCAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/empty_structure.js":{"lineLengths":[13,62,43,37,15,37,41,50,62,46,52,81,44,13,4,33,19,13,4,14,33,19,13,17,5,12,18,13,17,12,5,18,13,17,12,13,18,14,13,17,12,13,15,8,18,13,9,11,16,20,13,9,11,20,13,9,14,20,14,13,16,9,9,13,24,16,16,18,12,14,22,20,24,28,11,22,59,8,45,2,54,43],"data":{"version":3,"file":"empty_structure.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/empty_structure.ts"],"names":[],"mappings":";;AAAA,2CAA+C;AAC/C,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3C,EAAC,IAAI,EAAE,uCAAuC,EAAE,GAAG,EAAE,CAAC,EAAC;IACvD,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAC;IACvC,EAAC,IAAI,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7C,EAAC,IAAI,EAAE,0DAA0D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1E,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IAErC,EAAC,IAAI,EAAE;;;QAGD,EAAE,GAAG,EAAE,CAAC,EAAC;IAEf,EAAC,IAAI,EAAE;;;;QAID,EAAE,GAAG,EAAE,CAAC,EAAC;IAEf,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,UAAU;IACR,EAAC,IAAI,EAAE;;;;;;OAMF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;SAIA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAElB,UAAU;IACR,EAAC,IAAI,EAAE;;;;;;;;;;;;SAYA,EAAE,GAAG,EAAE,CAAC,EAAC;IAElB,oBAAoB;IAClB,EAAC,IAAI,EAAE;;WAEE,EAAE,GAAG,EAAE,CAAC,EAAC;IAElB,EAAC,IAAI,EAAE;;kCAEyB,EAAE,GAAG,EAAE,CAAC,EAAC;CAE1C,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sBAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/exit_or_check.js":{"lineLengths":[13,62,65,37,15,44,17,30,28,37,31,31,26,17,16,28,41,52,50,44,32,2,59,16,44,17,30,30,41,50,44,32,2,54,26,25,69,15,42,82,2,62,41],"data":{"version":3,"file":"exit_or_check.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/exit_or_check.ts"],"names":[],"mappings":";;AAAA,iEAA2E;AAC3E,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE;;mBAEU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE;;;;;;;iBAOQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IAClC,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IAC7C,EAAC,IAAI,EAAE;;qBAEY,EAAE,GAAG,EAAE,CAAC,EAAC;CAC7B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,2BAAW,CAAC,CAAC;AAE7B,MAAM,MAAM,GAAG;IACb,EAAC,IAAI,EAAE;;mBAEU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAC;IACvB,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE;;qBAEY,EAAE,GAAG,EAAE,CAAC,EAAC;CAC7B,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,+BAAe,EAAE,CAAC;AACtC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;AAC1B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACzB,IAAA,iBAAQ,EAAC,MAAM,EAAE,2BAAW,EAAE,OAAO,CAAC,CAAC;AAEvC,MAAM,KAAK,GAAG;IACZ,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAC;IACnC,EAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,sCAAsC,EAAC;CAC5E,CAAC;AAEF,IAAA,oBAAW,EAAC,KAAK,EAAE,2BAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/expand_macros.js":{"lineLengths":[13,62,43,37,57,118,1,15,5,29,15,6,5,31,15,6,5,29,18,20,11,15,6,5,29,18,22,15,6,2,52,52,35,36,16,18,9,40,16,18,16,32,7,50,36,16,18,7,11,40,16,18,14,11,32,7,34,36,16,16,18,9,40,16,16,18,14,16,32,7,31,46,24,12,21,18,7,50,24,12,21,18,21,32,7,54,36,11,18,27,40,11,18,14,18,39,7,55,36,11,18,14,18,40,11,18,14,14,2,39,7,46,34,17,18,14,11,10,18,21,38,17,18,14,11,10,18,14,18,39,7,3,41],"data":{"version":3,"file":"expand_macros.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/expand_macros.ts"],"names":[],"mappings":";;AAAA,2CAA6C;AAC7C,qCAAqD;AAErD,SAAS,OAAO,CAAC,KAAa,EAAE,QAAgB,EAAE,aAAa,GAAG,IAAI;IACpE,IAAA,0BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,oBAAY,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,CAAC;KACP;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,CAAC;KACP;IACD;QACE,IAAI,EAAE;;;UAGA;QACN,GAAG,EAAE,CAAC;KACP;IACD;QACE,IAAI,EAAE;;qBAEW;QACjB,GAAG,EAAE,CAAC;KACP;CACF,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,oBAAY,CAAC,CAAC;AAG9B,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAEhD,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG;;;QAGT,CAAC;QACL,MAAM,QAAQ,GAAG;;;eAGN,CAAC;QACZ,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG;;;;UAIP,CAAC;QACP,MAAM,QAAQ,GAAG;;;;UAIX,CAAC;QACP,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAI,GAAG;;;;QAIT,CAAC;QACL,MAAM,QAAQ,GAAG;;;;;eAKN,CAAC;QACZ,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG;;;;;MAKX,CAAC;QACH,MAAM,QAAQ,GAAG;;;;;oBAKD,CAAC;QACjB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,IAAI,GAAG;;;0BAGS,CAAC;QACvB,MAAM,QAAQ,GAAG;;;;iBAIJ,CAAC;QACd,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG;;;;iBAIA,CAAC;QACd,MAAM,QAAQ,GAAG;;;;;CAKpB,CAAC;QACE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG;;;;;;;oBAOG,CAAC;QACjB,MAAM,QAAQ,GAAG;;;;;;;;iBAQJ,CAAC;QACd,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/exporting.js":{"lineLengths":[13,62,57,37,15,74,74,64,55,62,69,73,97,88,82,2,53,15,94,95,96,95,97,2,56,37],"data":{"version":3,"file":"exporting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/exporting.ts"],"names":[],"mappings":";;AAAA,yDAAoD;AACpD,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,mDAAmD,EAAE,GAAG,EAAE,CAAC,EAAC;IACnE,EAAC,IAAI,EAAE,mDAAmD,EAAE,GAAG,EAAE,CAAC,EAAC;IAEnE,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;IACzD,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;IAChD,EAAC,IAAI,EAAE,uCAAuC,EAAE,GAAG,EAAE,CAAC,EAAC;IACvD,EAAC,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9D,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,0EAA0E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1F,EAAC,IAAI,EAAE,iEAAiE,EAAE,GAAG,EAAE,CAAC,EAAC;IACjF,EAAC,IAAI,EAAE,2DAA2D,EAAE,GAAG,EAAE,CAAC,EAAC;CAC5E,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,qBAAS,CAAC,CAAC;AAE3B,MAAM,KAAK,GAAG;IACZ,EAAC,KAAK,EAAE,uCAAuC,EAAE,MAAM,EAAE,6BAA6B,EAAC;IACvF,EAAC,KAAK,EAAE,wCAAwC,EAAE,MAAM,EAAE,6BAA6B,EAAC;IACxF,EAAC,KAAK,EAAE,wCAAwC,EAAE,MAAM,EAAE,8BAA8B,EAAC;IACzF,EAAC,KAAK,EAAE,wCAAwC,EAAE,MAAM,EAAE,6BAA6B,EAAC;IACxF,EAAC,KAAK,EAAE,0CAA0C,EAAE,MAAM,EAAE,6BAA6B,EAAC;CAC3F,CAAC;AAEF,IAAA,oBAAW,EAAC,KAAK,EAAE,qBAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/forbidden_identifier.js":{"lineLengths":[13,62,43,37,16,37,41,2,60,16,41,41,43,35,2,53,36,68,48],"data":{"version":3,"file":"forbidden_identifier.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/forbidden_identifier.ts"],"names":[],"mappings":";;AAAA,2CAA6E;AAC7E,qCAAkC;AAElC,MAAM,MAAM,GAAG;IACb,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;CACnC,CAAC;AAEF,IAAA,iBAAQ,EAAC,MAAM,EAAE,2BAAmB,CAAC,CAAC;AAEtC,MAAM,MAAM,GAAG;IACb,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,+BAAuB,EAAE,CAAC;AAC7C,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACpC,IAAA,iBAAQ,EAAC,MAAM,EAAE,2BAAmB,EAAE,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/forbidden_pseudo_and_pragma.js":{"lineLengths":[13,62,43,37,16,37,41,2,65,16,58,56,62,49,87,2,58,31,32,73,55],"data":{"version":3,"file":"forbidden_pseudo_and_pragma.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/forbidden_pseudo_and_pragma.ts"],"names":[],"mappings":";;AAAA,2CAAuF;AACvF,qCAAkC;AAElC,MAAM,MAAM,GAAG;IACb,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;CACnC,CAAC;AAEF,IAAA,iBAAQ,EAAC,MAAM,EAAE,gCAAwB,CAAC,CAAC;AAE3C,MAAM,MAAM,GAAG;IACb,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAC;IACnD,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjD,EAAC,IAAI,EAAE,uCAAuC,EAAE,GAAG,EAAE,CAAC,EAAC;IACvD,EAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1C,EAAC,IAAI,EAAE,gEAAgE,EAAE,GAAG,EAAE,CAAC,EAAC;CACjF,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,oCAA4B,EAAE,CAAC;AAClD,MAAM,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,CAAC;AAChC,IAAA,iBAAQ,EAAC,MAAM,EAAE,gCAAwB,EAAE,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/forbidden_void_type.js":{"lineLengths":[13,62,43,37,16,37,41,2,58,16,55,56,51,33,30,30,59,60,75,61,70,41,17,37,21,123,2,51,84,66,47],"data":{"version":3,"file":"forbidden_void_type.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/forbidden_void_type.ts"],"names":[],"mappings":";;AAAA,2CAAyE;AACzE,qCAAgD;AAEhD,MAAM,MAAM,GAAG;IACb,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;CACnC,CAAC;AAEF,IAAA,iBAAQ,EAAC,MAAM,EAAE,yBAAiB,CAAC,CAAC;AAEpC,MAAM,MAAM,GAAiB;IAC3B,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;IAChD,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjD,EAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5C,EAAC,IAAI,EAAE;;mBAEU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,qCAAqC,EAAE,GAAG,EAAE,CAAC,EAAC;IACrD,EAAC,IAAI,EAAE,oDAAoD,EAAE,GAAG,EAAE,CAAC,EAAC;IACpE,EAAC,IAAI,EAAE,sCAAsC,EAAE,GAAG,EAAE,CAAC,EAAC;IACtD,EAAC,IAAI,EAAE,+CAA+C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/D,EAAC,IAAI,EAAE;;;UAGC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjB,EAAC,IAAI,EAAE,4CAA4C,EAAE,GAAG,EAAE,CAAC,EAAC,EAAE,uDAAuD;CACtH,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,6BAAqB,EAAE,CAAC;AAC3C,MAAM,CAAC,KAAK,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACpF,IAAA,iBAAQ,EAAC,MAAM,EAAE,yBAAiB,EAAE,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/form_tables_obsolete.js":{"lineLengths":[13,62,37,43,15,37,44,57,55,2,58,48],"data":{"version":3,"file":"form_tables_obsolete.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/form_tables_obsolete.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAAmD;AAEnD,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,CAAC,EAAC;IAClD,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;CACjD,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/fully_type_constants.js":{"lineLengths":[13,62,79,37,79,38,82,40,19,45,42,27,32,36,10,23,28,31,33,16,23,20,26,16,23,17,2,24,5,27,57,36,23,6,5,27,50,39,23,6,5,27,57,36,23,6,5,27,50,39,23,6,5,27,56,36,23,6,5,27,49,39,23,6,5,27,56,36,23,6,5,27,49,39,23,6,5,27,51,36,23,6,5,27,45,39,23,6,5,27,59,36,23,6,5,27,53,39,23,6,5,27,62,36,23,6,5,27,56,39,23,6,5,27,61,36,23,6,5,27,55,39,23,6,2,100,48],"data":{"version":3,"file":"fully_type_constants.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/fully_type_constants.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/fully_type_itabs.js":{"lineLengths":[13,62,31,49,61,71,33,56,16,27,5,27,101,18,1,42,32,95,39,54,7,32,77,85,39,54,7,42,53,85,39,54,7,41,62,85,39,54,7,38,68,83,64,14,10,37,30,29,30,22,24,33,29,11,15,12,12,54,81,89,45,54,7,29,52,76,39,54,7,50,22,28,39,76,39,54,70,7,3,44],"data":{"version":3,"file":"fully_type_itabs.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/fully_type_itabs.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/function_module_recommendations.js":{"lineLengths":[13,62,31,35,101,37,15,64,109,90,49,2,95,42,52,97,27,87,38,123,29,58,1,66,33,58,54,7,42,103,54,7,50,103,54,7,3,59],"data":{"version":3,"file":"function_module_recommendations.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/function_module_recommendations.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,mCAAuE;AACvE,qGAA8F;AAC9F,qCAAkC;AAGlC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;IACzD,EAAC,IAAI,EAAE,sFAAsF,EAAE,GAAG,EAAE,CAAC,EAAC;IACtG,EAAC,IAAI,EAAE,mEAAmE,EAAE,GAAG,EAAE,CAAC,EAAC;IACnF,EAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAC;CAC3C,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,+DAA6B,CAAC,CAAC;AAE/C,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAAiB;IACvD,MAAM,MAAM,GAAG,YAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,cAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,gBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,+DAA6B,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAClC,QAAQ,CAAC,eAAe,GAAG,CAAC,EAAC,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAO,CAAC,IAAI,EAAC,CAAC,CAAC;IAC/G,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,yCAAyC,EAAE,aAAO,CAAC,IAAI,CAAC,CAAC;QACzF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,yCAAyC,EAAE,aAAO,CAAC,IAAI,CAAC,CAAC;QACzF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/functional_writing.js":{"lineLengths":[13,62,75,37,15,58,59,62,78,5,57,31,44,25,33,38,22,29,6,5,57,9,99,6,2,70,18,66,63,5,94,83,6,5,91,83,6,2,76,46],"data":{"version":3,"file":"functional_writing.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/functional_writing.ts"],"names":[],"mappings":";;AAAA,2EAAqE;AACrE,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAC;IACnD,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,uCAAuC,EAAE,GAAG,EAAE,CAAC,EAAC;IACvD,EAAC,IAAI,EAAE,uDAAuD,EAAE,GAAG,EAAE,CAAC,EAAC;IACvE;QACE,IAAI,EAAE;;;;;;;oBAOU,EAAE,GAAG,EAAE,CAAC;KACzB;IACD;QACE,IAAI,EAAE;;0FAEgF,EAAE,GAAG,EAAE,CAAC;KAC/F;CACF,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sCAAiB,CAAC,CAAC;AAEnC,MAAM,QAAQ,GAAG;IACf,EAAC,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,cAAc,EAAC;IAC3D,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,cAAc,EAAC;IACxD;QACE,KAAK,EAAE,8EAA8E;QACrF,MAAM,EAAE,kEAAkE;KAC3E;IACD;QACE,KAAK,EAAE,2EAA2E;QAClF,MAAM,EAAE,kEAAkE;KAC3E;CAEF,CAAC;AACF,IAAA,oBAAW,EAAC,QAAQ,EAAE,sCAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/global_class.js":{"lineLengths":[13,62,31,49,61,63,26,56,27,94,18,1,38,32,95,39,54,7,42,106,39,54,7,42,113,39,54,7,51,70,23,9,27,12,39,54,7,80,71,31,9,28,12,39,54,7,48,84,37,16,39,54,7,3,40],"data":{"version":3,"file":"global_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/global_class.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAA4C;AAC5C,6DAAuD;AACvD,+DAAyD;AAGzD,KAAK,UAAU,GAAG,CAAC,IAAgB;IACjC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IAEvB,MAAM,MAAM,GAAG,IAAI,0BAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAElC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,iBAAiB,EAAE;;;;UAIzC,CAAC,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,kBAAkB,EAAE;;;;UAI1C,CAAC,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,+BAA+B,EAAE;;cAEnD,CAAC,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/identical_conditions.js":{"lineLengths":[13,62,31,79,49,61,26,115,27,110,18,1,46,32,36,39,54,7,47,35,21,12,39,54,7,45,31,15,15,14,39,54,7,48,31,15,22,14,39,54,7,64,48,12,39,54,7,64,57,12,39,54,7,53,71,12,39,54,7,67,52,15,39,54,7,43,31,22,14,39,54,7,41,22,72,12,39,54,7,3,48],"data":{"version":3,"file":"identical_conditions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/identical_conditions.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/identical_contents.js":{"lineLengths":[13,62,43,37,15,34,13,21,23,19,7,23,20,13,21,21,19,20,13,21,19,23,7,23,20,13,21,20,23,25,24,20,13,21,19,13,22,10,7,13,21,10,20,13,13,22,10,13,21,22,13,11,20,8,11,19,7,19,20,13,17,20,7,19,22,9,22,10,20,13,25,16,21,22,17,22,9,22,10,7,14,20,13,24,67,7,75,40,30,12,20,24,13,25,41,22,13,39,14,46,46,31,32,22,5,43,22,14,46,46,31,32,22,29,25,9,18,2,57,46],"data":{"version":3,"file":"identical_contents.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/identical_contents.ts"],"names":[],"mappings":";;AAAA,2CAAkD;AAClD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAE3B,EAAC,IAAI,EAAE;;;;;;SAMA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;SAIA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;;;SAMA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;;;SAMA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;;;;;;;SAUA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;;;WAME,EAAE,GAAG,EAAE,CAAC,EAAC;IAElB,EAAC,IAAI,EAAE;;;;;;;;SAQA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;;;;;;SASA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;;;;;;;;;SAYA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;;;;;SAQA,EAAE,GAAG,EAAE,CAAC,EAAC;IAElB,oBAAoB;IAClB,EAAC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;OAwBF,EAAE,GAAG,EAAE,CAAC,EAAC;CAEf,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,yBAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/identical_descriptions.js":{"lineLengths":[13,62,49,43,31,61,48,56,85,66,16,16,34,22,32,22,30,22,26,17,17,14,14,56,85,66,16,16,35,22,32,22,30,22,26,17,17,14,14,45,112,101,55,7,38,56,69,68,11,101,55,7,28,56,103,83,64,14,22,13,41,41,14,14,10,36,34,11,10,35,34,13,13,36,33,14,14,20,13,36,21,43,14,21,11,15,15,12,12,11,101,55,7,3,50],"data":{"version":3,"file":"identical_descriptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/identical_descriptions.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,2CAAsD;AACtD,+BAA4B;AAC5B,6DAAuD;AAEvD,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;aAeF,CAAC;IAEZ,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;aAeF,CAAC;IAEZ,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,6BAAqB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QACtF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClC,IAAI,wBAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC;YAC1C,IAAI,wBAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC;SAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,6BAAqB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QACtF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QACpB,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC;YAClC,IAAI,wBAAU,CAAC,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAkCjC,CAAC;SAAC,CAAC,CAAC;QACX,MAAM,MAAM,GAAG,IAAI,6BAAqB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QACtF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/identical_form_names.js":{"lineLengths":[13,62,43,37,15,34,47,65,65,75,70,77,2,58,48],"data":{"version":3,"file":"identical_form_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/identical_form_names.ts"],"names":[],"mappings":";;AAAA,2CAAmD;AACnD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,EAAC;IACxC,EAAC,IAAI,EAAE,0CAA0C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1D,EAAC,IAAI,EAAE,0CAA0C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1D,EAAC,IAAI,EAAE,oDAAoD,EAAE,GAAG,EAAE,CAAC,EAAC;IACpE,EAAC,IAAI,EAAE,+CAA+C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/D,EAAC,IAAI,EAAE,sDAAsD,EAAE,GAAG,EAAE,CAAC,EAAC;CACvE,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/if_in_if.js":{"lineLengths":[13,62,43,37,35,74,1,15,37,26,28,26,15,28,41,26,25,18,28,26,22,25,18,28,26,25,18,22,28,26,15,25,18,28,26,15,25,17,18,28,26,27,25,18,28,26,27,28,2,46,33,32,22,9,5,9,6,8,26,9,13,6,2,32,7,3,36],"data":{"version":3,"file":"if_in_if.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/if_in_if.ts"],"names":[],"mappings":";;AAAA,2CAAuC;AACvC,qCAAoD;AAEpD,SAAS,OAAO,CAAC,KAAa,EAAE,QAAgB;IAC9C,IAAA,yBAAgB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,cAAM,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE;iBACQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE;;iBAEQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE;;;iBAGQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE;;;;iBAIQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE;;;;iBAIQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE;;;;iBAIQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE;;;;;iBAKQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE;;;;iBAIQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE;;iBAEQ,EAAE,GAAG,EAAE,CAAC,EAAC;CACzB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,cAAM,CAAC,CAAC;AAExB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAE7B,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACxB,MAAM,IAAI,GAAG;;;;;OAKV,CAAC;QACJ,MAAM,QAAQ,GAAG;;;;CAIpB,CAAC;QACE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/implement_methods.js":{"lineLengths":[13,62,31,43,49,61,37,32,42,31,80,5,27,20,41,88,5,18,1,35,85,1,44,36,100,55,7,48,81,14,37,16,84,55,7,60,81,23,25,14,37,16,84,55,7,56,81,22,24,14,37,21,17,17,84,55,7,39,81,21,32,14,37,16,84,55,7,57,81,23,34,15,38,22,18,17,84,55,7,55,77,15,38,17,50,17,46,17,39,75,75,65,11,55,7,55,74,23,30,15,35,17,39,61,11,55,7,80,47,24,23,74,23,30,15,35,17,39,62,61,11,55,7,63,53,24,23,74,23,30,15,35,17,39,62,61,11,55,7,69,47,24,23,74,23,30,15,35,30,18,17,39,62,61,11,55,7,78,47,24,23,74,23,30,45,15,35,22,18,17,39,62,61,11,55,7,50,22,19,22,17,29,21,28,13,33,15,39,61,11,55,7,73,22,22,22,17,42,21,49,13,34,15,39,61,11,55,7,51,22,19,22,13,0,34,17,53,9,0,29,11,39,61,11,55,7,46,24,35,19,29,30,21,41,13,34,15,22,70,13,47,15,39,89,95,76,11,55,7,50,22,18,14,13,0,18,21,13,0,26,17,23,9,0,30,11,39,61,11,55,7,57,22,18,14,13,0,18,21,13,0,26,17,23,9,0,30,21,11,12,11,39,61,11,55,7,90,22,18,14,13,0,18,21,13,0,27,17,23,9,0,31,21,12,9,0,52,17,23,9,0,30,11,39,61,11,55,7,44,22,18,13,13,0,34,17,44,9,0,29,11,39,61,11,55,7,44,22,21,20,13,0,19,24,45,13,0,26,17,24,9,0,30,28,12,11,39,61,11,55,7,46,50,17,19,9,32,11,54,17,19,9,32,16,36,12,11,32,7,59,15,22,14,50,13,0,14,17,56,13,0,22,17,19,9,26,32,14,12,11,39,61,11,119,7,47,15,22,21,18,13,0,22,24,41,13,0,28,17,26,9,0,32,28,12,9,0,52,17,27,9,0,29,11,39,61,11,119,7,55,15,22,45,9,0,51,46,11,39,61,11,119,7,63,15,22,45,9,2,39,61,11,119,7,55,15,22,25,17,23,9,0,29,11,59,83,64,14,12,26,18,20,24,13,10,10,15,27,23,11,11,15,12,12,39,64,62,11,119,7,3,45],"data":{"version":3,"file":"implement_methods.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/implement_methods.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/in_statement_indentation.js":{"lineLengths":[13,62,37,43,15,37,42,42,40,41,43,54,56,58,2,62,18,5,48,51,6,2,68,22,54,56,86,2,54,25,75,52],"data":{"version":3,"file":"in_statement_indentation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/in_statement_indentation.ts"],"names":[],"mappings":";;AAAA,qCAA+C;AAC/C,2CAAmF;AAEnF,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/C,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjD,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAC;CACpD,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,8BAAsB,CAAC,CAAC;AAExC,MAAM,QAAQ,GAAG;IACf;QACE,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE,kCAAkC;KAC3C;CACF,CAAC;AAEF,IAAA,oBAAW,EAAC,QAAQ,EAAE,8BAAsB,CAAC,CAAC;AAE9C,MAAM,YAAY,GAAG;IACnB,EAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/C,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjD,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAC,EAAE,2BAA2B;CACjF,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,kCAA0B,EAAE,CAAC;AAC9C,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;AACzB,IAAA,iBAAQ,EAAC,YAAY,EAAE,8BAAsB,EAAE,IAAI,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/indentation.js":{"lineLengths":[13,62,37,61,15,41,43,56,58,64,56,70,48,62,58,60,70,72,69,67,79,91,76,77,85,82,93,68,89,91,50,44,35,36,36,44,33,36,44,35,39,36,36,54,33,43,13,13,15,40,0,10,28,28,20,24,8,18,13,27,15,31,13,14,15,26,13,31,20,23,20,13,31,20,23,14,20,13,9,24,20,13,57,22,21,13,15,15,12,26,13,15,15,16,26,48,47,83,38,24,21,38,24,24,21,13,9,16,14,21,15,10,20,9,9,20,13,9,16,14,20,15,11,8,20,13,24,18,14,22,13,7,17,18,14,22,13,18,16,20,28,13,72,61,56,13,15,10,20,13,15,13,19,10,20,29,13,21,11,12,8,10,12,8,20,2,57,16,99,84,39,13,72,63,56,40,13,35,33,32,35,53,31,45,13,50,37,39,35,47,13,55,72,72,45,2,51,42,46,36,66,35,86,1,53,33,54,7,33,17,13,14,10,13,16,9,7,3,39],"data":{"version":3,"file":"indentation.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/indentation.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/inline_data_old_versions.js":{"lineLengths":[13,62,61,49,31,87,47,45,42,55,110,27,72,58,1,53,33,58,54,7,29,82,54,7,29,83,54,7,3,52],"data":{"version":3,"file":"inline_data_old_versions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/inline_data_old_versions.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAC5B,uFAA+E;AAC/E,+CAA0C;AAC1C,6CAAwC;AAGxC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAAiB;IACvD,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,gDAAqB,EAAE,CAAC;IACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;QAChE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,iBAAO,CAAC,KAAK,CAAC,CAAC;QACjE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/intf_referencing_clas.js":{"lineLengths":[13,62,31,43,49,61,32,42,31,80,5,27,22,67,41,38,5,18,1,48,36,100,55,7,40,81,14,37,16,85,55,7,61,47,77,21,74,15,35,17,39,62,61,11,55,7,3,49],"data":{"version":3,"file":"intf_referencing_clas.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/intf_referencing_clas.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,2CAAoD;AACpD,iDAA4C;AAE5C,6DAAuD;AAEvD,KAAK,UAAU,QAAQ,CAAC,KAA6C;IACnE,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,2BAAmB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAC,CAAC,CAAC,CAAC;QAC1F,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,QAAQ,GACd;;;eAGW,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAC,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;QAC3E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GACR;;oBAEc,CAAC;QACjB,MAAM,IAAI,GACR;;;gBAGU,CAAC;QACb,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;YAC5B,EAAC,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAC;YAC/C,EAAC,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAC;SAAC,CAAC,CAAC;QACpD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/invalid_table_index.js":{"lineLengths":[13,62,43,37,15,50,50,74,74,2,57,47],"data":{"version":3,"file":"invalid_table_index.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/invalid_table_index.ts"],"names":[],"mappings":";;AAAA,2CAAkD;AAClD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3C,EAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3C,EAAC,IAAI,EAAE,mDAAmD,EAAE,GAAG,EAAE,CAAC,EAAC;IACnE,EAAC,IAAI,EAAE,mDAAmD,EAAE,GAAG,EAAE,CAAC,EAAC;CACpE,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,yBAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/keep_single_parameter_on_one_line.js":{"lineLengths":[13,62,37,43,15,37,40,40,42,71,67,51,23,31,10,30,95,14,72,45,23,25,41,45,39,26,35,34,12,35,24,35,16,33,57,20,24,64,78,63,21,38,2,73,61],"data":{"version":3,"file":"keep_single_parameter_on_one_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/keep_single_parameter_on_one_line.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAAkE;AAElE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,CAAC,EAAC;IAChE,EAAC,IAAI,EAAE,4CAA4C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5D,EAAC,IAAI,EAAE;YACG,EAAE,GAAG,EAAE,CAAC,EAAC;IACnB,EAAC,IAAI,EAAE;;mBAEU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE;;6DAEoD,EAAE,GAAG,EAAE,CAAC,EAAC;IACpE,EAAC,IAAI,EAAE;;;8BAGqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE;4BACmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI,EAAE;wBACe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE;;;aAGI,EAAE,GAAG,EAAE,CAAC,EAAC;IACpB,EAAC,IAAI,EAAE;;sBAEa,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7B,EAAC,IAAI,EAAE;;aAEI,EAAE,GAAG,EAAE,CAAC,EAAC;IACpB,EAAC,IAAI,EAAE;mEAC0D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1E,EAAC,IAAI,EAAE;;2BAEkB,EAAE,GAAG,EAAE,CAAC,EAAC;CACnC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,yCAAiC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/keyword_case.js":{"lineLengths":[13,62,63,37,15,34,37,46,34,62,118,36,11,26,12,19,32,40,39,57,70,95,64,94,34,120,92,86,44,101,69,52,60,136,77,22,78,22,57,50,66,71,76,90,106,89,111,89,13,12,22,18,17,63,35,13,29,24,20,13,29,24,20,13,21,22,22,62,13,19,23,11,37,29,29,16,30,41,46,38,14,32,37,24,9,38,36,40,17,69,92,17,69,79,55,55,54,89,13,37,11,26,24,28,2,58,27,16,82,70,92,2,53,43,37,68,27,16,44,44,44,44,2,53,40,68,53,54,16,34,37,46,34,62,118,36,11,26,12,19,32,40,39,57,70,95,64,94,34,120,92,86,44,101,69,2,68,22,53,43,54,16,34,40,37,37,37,86,86,2,68,49,43,68,27,40,5,15,43,23,20,15,34,28,15,8,15,6,5,15,43,23,20,15,34,28,15,8,15,6,5,15,30,18,19,8,15,6,5,15,43,23,20,15,34,28,15,8,15,6,5,15,43,23,20,15,34,28,15,8,15,6,2,157,134,34,87,49,91,5,10,17,5,3,192,154,18,5,28,29,6,5,28,29,6,5,28,29,6,5,29,30,6,5,40,41,6,2,64,40],"data":{"version":3,"file":"keyword_case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/keyword_case.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/line_break_multiple_parameters.js":{"lineLengths":[13,62,43,37,15,37,73,74,75,84,13,16,16,14,14,14,17,18,50,2,67,18,54,69,2,73,61,17,16,73,72,76,2,76,58],"data":{"version":3,"file":"line_break_multiple_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/line_break_multiple_parameters.ts"],"names":[],"mappings":";;AAAA,2CAA6F;AAC7F,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,mDAAmD,EAAE,GAAG,EAAE,CAAC,EAAC;IACnE,EAAC,IAAI,EAAE,oDAAoD,EAAE,GAAG,EAAE,CAAC,EAAC;IACpE,EAAC,IAAI,EAAE,6DAA6D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7E,EAAC,IAAI,EAAE;;;;;;;;uCAQ8B,EAAE,GAAG,EAAE,CAAC,EAAC;CAC/C,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,mCAA2B,CAAC,CAAC;AAE7C,MAAM,QAAQ,GAAG;IACf,EAAC,KAAK,EAAE,wCAAwC;QAC9C,MAAM,EAAE,kDAAkD,EAAC;CAC9D,CAAC;AACF,IAAA,oBAAW,EAAC,QAAQ,EAAE,mCAA2B,CAAC,CAAC;AAEnD,MAAM,MAAM,GAAG,IAAI,uCAA+B,EAAE,CAAC;AACrD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AAEjB,MAAM,MAAM,GAAG;IACb,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,iDAAiD,EAAE,GAAG,EAAE,CAAC,EAAC;IACjE,EAAC,IAAI,EAAE,qDAAqD,EAAE,GAAG,EAAE,CAAC,EAAC;CACtE,CAAC;AACF,IAAA,iBAAQ,EAAC,MAAM,EAAE,mCAA2B,EAAE,MAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/line_break_style.js":{"lineLengths":[13,62,37,43,15,40,25,27,61,39,37,2,54,44],"data":{"version":3,"file":"line_break_style.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/line_break_style.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAC;IAClB,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAC;IACpB,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC,EAAE,uBAAuB;IACvD,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAChC,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;CAC/B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sBAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/line_length.js":{"lineLengths":[13,62,61,37,15,18,70,70,70,70,78,40,2,56,35,105,39],"data":{"version":3,"file":"line_length.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/line_length.ts"],"names":[],"mappings":";;AAAA,6DAAuE;AACvE,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,cAAc;IACd,EAAC,IAAI,EAAE,wDAAwD;YACxD,wDAAwD;YACxD,wDAAwD;YACxD,wDAAwD;YACxD,uDAAuD,EAAE,GAAG,EAAE,CAAC,EAAC;IACvE,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;CAClC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,wBAAU,CAAC,CAAC;AAE5B,mCAAmC;AACnC,IAAA,iBAAQ,EAAC,KAAK,EAAE,wBAAU,EAAE,IAAI,4BAAc,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/line_only_punc.js":{"lineLengths":[13,62,67,37,15,47,41,90,39,50,26,28,34,35,2,61,18,60,68,83,81,85,83,2,67,42],"data":{"version":3,"file":"line_only_punc.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/line_only_punc.ts"],"names":[],"mappings":";;AAAA,mEAA4D;AAC5D,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,EAAC;IACxC,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,mEAAmE,EAAE,GAAG,EAAE,CAAC,EAAC;IACnF,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAChC,EAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3C,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC;IACnB,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAC;IACrB,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAC;CAC7B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,6BAAY,CAAC,CAAC;AAE9B,MAAM,QAAQ,GAAG;IACf,EAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,EAAC;IACrD,EAAC,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,gBAAgB,EAAC;IAC7D,EAAC,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,2BAA2B,EAAC;IAC5E,EAAC,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,2BAA2B,EAAC;IAC1E,EAAC,KAAK,EAAE,gCAAgC,EAAE,MAAM,EAAE,2BAA2B,EAAC;IAC9E,EAAC,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,2BAA2B,EAAC;CAC7E,CAAC;AAEF,IAAA,oBAAW,EAAC,QAAQ,EAAE,6BAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/local_class_naming.js":{"lineLengths":[13,62,37,43,30,37,77,34,41,34,65,34,53,34,78,34,81,34,2,71,31,77,34,52,34,65,34,53,34,78,34,81,34,2,50,26,26,30,33,80,70,51,99,46],"data":{"version":3,"file":"local_class_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/local_class_naming.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAAuE;AAEvE,MAAM,oBAAoB,GAAG;IAC3B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,+DAA+D;YACpE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,2BAA2B;YAChC,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,mDAAmD;YACxD,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,uCAAuC;YAC5C,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,gEAAgE;YACrE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,mEAAmE;YACxE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;CACvB,CAAC;AAEF,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,wBAAgB,CAAC,CAAC;AAEjD,MAAM,qBAAqB,GAAG;IAC5B,EAAC,IAAI,EAAE,+DAA+D;YACpE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,sCAAsC;YAC3C,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,mDAAmD;YACxD,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,uCAAuC;YAC5C,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,gEAAgE;YACrE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE,mEAAmE;YACxE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;CACvB,CAAC;AACF,MAAM,MAAM,GAAG,IAAI,4BAAoB,EAAE,CAAC;AAC1C,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;AAC1B,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;AAC1B,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC;AAC9B,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;AACjC,IAAA,iBAAQ,EAAC,qBAAqB,EAAE,wBAAgB,EAAE,MAAM,CAAC,CAAC;AAE1D,MAAM,0BAA0B,GAAG,IAAI,4BAAoB,EAAE,CAAC;AAC9D,0BAA0B,CAAC,WAAW,GAAG,SAAS,CAAC;AACnD,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,wBAAgB,EAAE,0BAA0B,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/local_testclass_consistency.js":{"lineLengths":[13,62,31,61,49,43,34,58,27,57,58,1,53,56,84,48,54,7,40,125,83,64,14,14,47,20,34,20,28,20,24,52,15,15,12,13,134,130,10,9,19,17,20,18,20,11,48,18,14,14,64,54,7,3,55],"data":{"version":3,"file":"local_testclass_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/local_testclass_consistency.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAuD;AACvD,iDAA4C;AAC5C,2CAA0D;AAI1D,KAAK,UAAU,UAAU,CAAC,KAAc;IACtC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,iCAAyB,EAAE,CAAC;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAEjD,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,GAAG,GAAG,IAAI,wBAAU,CAAC,mCAAmC,EAAE;;;;;;;;;;;;;;;;WAgBzD,CAAC,CAAC;QACT,MAAM,SAAS,GAAG,IAAI,wBAAU,CAAC,gDAAgD,EAAE,2BAA2B,CAAC,CAAC;QAChH,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,oCAAoC,EAAE;;;;;;;;;;;;YAY1D,CAAC,CAAC;QACV,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/local_variable_names.js":{"lineLengths":[13,62,61,49,31,43,41,107,27,50,17,31,5,58,1,65,58,44,36,42,46,54,7,50,22,16,23,14,60,55,40,80,41,80,39,80,7,59,22,16,20,14,60,55,40,80,41,80,39,80,7,67,22,25,18,22,14,11,60,55,40,80,41,80,7,72,22,45,19,27,11,0,0,47,0,24,0,11,36,28,33,33,33,33,33,33,26,31,35,34,33,33,33,26,34,0,31,0,14,13,60,55,40,80,41,80,7,75,22,45,19,27,11,0,0,47,0,24,0,11,33,28,33,33,33,33,33,33,26,31,35,34,33,33,33,26,31,0,31,0,14,13,60,55,40,80,41,80,7,76,22,13,18,14,60,55,40,80,41,80,7,52,22,12,29,10,60,37,40,80,41,80,7,49,22,12,32,10,60,37,40,80,41,80,7,51,22,12,24,29,22,10,60,55,40,80,41,80,7,54,22,12,21,24,19,10,60,55,40,80,41,80,7,49,22,12,42,10,60,59,40,80,41,80,7,46,22,12,45,10,60,59,40,80,41,80,7,52,22,12,40,49,49,39,10,46,54,95,7,69,22,12,17,10,46,54,7,58,22,12,20,10,46,54,7,63,22,12,44,10,10,46,54,7,52,22,12,47,10,10,46,54,7,3,48],"data":{"version":3,"file":"local_variable_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/local_variable_names.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/macro_naming.js":{"lineLengths":[13,62,43,37,15,37,39,55,56,2,51,40],"data":{"version":3,"file":"macro_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/macro_naming.ts"],"names":[],"mappings":";;AAAA,2CAA4C;AAC5C,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAChC,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;IAChD,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,EAAC;CAClD,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,mBAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/main_file_contents.js":{"lineLengths":[13,62,61,49,31,43,43,96,27,48,58,1,44,62,36,67,54,7,60,36,67,54,7,61,39,67,54,7,72,40,67,54,7,73,46,67,54,7,75,53,67,54,7,38,29,67,54,7,45,31,67,54,7,62,36,67,54,7,37,39,64,54,7,46,36,64,54,7,56,40,65,54,7,50,40,68,54,7,3,46],"data":{"version":3,"file":"main_file_contents.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/main_file_contents.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/many_parentheses.js":{"lineLengths":[13,62,43,37,57,121,1,15,49,51,73,70,78,81,80,64,100,101,113,113,113,109,107,103,79,89,109,85,42,69,42,67,87,133,32,115,32,83,31,129,32,53,49,30,28,27,47,30,53,2,55,15,53,54,83,84,58,59,2,58,55,35,75,75,32,7,3,44],"data":{"version":3,"file":"many_parentheses.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/many_parentheses.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/max_one_method_parameter_per_line.js":{"lineLengths":[13,62,43,37,15,37,37,37,13,14,24,11,54,25,13,14,24,11,34,23,25,2,68,61],"data":{"version":3,"file":"max_one_method_parameter_per_line.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/max_one_method_parameter_per_line.ts"],"names":[],"mappings":";;AAAA,2CAA6D;AAC7D,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE;;;;;cAKK,EAAE,GAAG,EAAE,CAAC,EAAC;IACrB,EAAC,IAAI,EAAE;;;;;;cAMK,EAAE,GAAG,EAAE,CAAC,EAAC;CACtB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,oCAA4B,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/max_one_statement.js":{"lineLengths":[13,62,73,37,15,71,53,54,55,106,71,13,12,12,18,5,14,2,67,15,88,2,70,45],"data":{"version":3,"file":"max_one_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/max_one_statement.ts"],"names":[],"mappings":";;AAAA,yEAAkE;AAClE,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,CAAC,EAAC;IAChE,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/C,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;IAChD,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC,EAAE,gEAAgE;IACpG,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,CAAC,EAAC;IAChE,EAAC,IAAI,EAAE;;;;;GAKN,EAAE,GAAG,EAAE,CAAC,EAAC;CACX,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,mCAAe,CAAC,CAAC;AAEjC,MAAM,KAAK,GAAG;IACZ,EAAC,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,gCAAgC,EAAC;CAClF,CAAC;AAEF,IAAA,oBAAW,EAAC,KAAK,EAAE,mCAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/message_exists.js":{"lineLengths":[13,62,49,61,43,31,26,64,103,82,28,24,46,44,37,25,23,24,35,47,37,43,25,24,35,47,37,43,25,24,29,26,21,42,73,77,27,85,1,39,36,30,39,55,7,35,36,39,55,7,83,55,39,55,7,75,56,39,55,7,51,64,39,55,7,48,43,39,55,7,49,52,39,55,7,39,52,39,55,7,45,68,107,86,32,28,42,48,41,29,27,19,21,25,23,24,14,28,33,30,25,46,92,72,31,97,54,7,51,74,39,55,7,47,83,39,55,7,51,86,39,55,7,51,84,39,55,7,47,95,39,55,7,50,64,39,55,7,46,73,39,55,7,52,73,39,55,7,39,80,39,55,7,3,42],"data":{"version":3,"file":"message_exists.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/message_exists.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/method_implemented_twice.js":{"lineLengths":[13,62,61,49,31,43,33,107,27,54,58,1,50,36,42,46,54,7,34,22,29,13,33,15,46,54,7,29,22,29,13,33,15,14,15,14,15,46,54,7,35,22,29,13,33,15,14,13,0,29,13,33,15,14,15,46,54,7,35,22,25,17,24,9,29,21,12,11,46,54,7,37,22,27,17,16,16,9,0,29,13,12,11,46,54,7,61,22,27,17,16,18,16,9,0,29,13,12,11,46,54,7,48,22,23,10,65,58,15,46,54,7,37,22,23,10,58,15,46,54,7,3,52],"data":{"version":3,"file":"method_implemented_twice.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/method_implemented_twice.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/method_length.js":{"lineLengths":[13,62,65,37,49,31,61,35,52,33,40,54,92,64,42,78,78,15,11,7,1,69,47,37,68,47,36,62,34,30,33,46,19,18,11,32,15,17,16,16,16,14,13,34,46,19,18,11,32,15,17,16,16,14,13,29,41,19,18,11,31,15,17,16,16,16,14,13,30,41,17,14,11,31,13,13,12,12,12,13,28,17,16,16,16,16,14,29,17,16,16,16,14,24,36,54,36,50,25,36,53,35,50,25,37,54,35,50,25,37,55,36,50,25,32,50,36,38,25,32,49,35,38,25,33,50,35,52,25,31,46,29,38,25,32,47,29,38,25,31,48,35,38,25,32,49,35,38,25,46,17,16,9,25,13,12,11,40,36,34,25,2,34,21,37,40,50,61,27,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,24,43,17,16,9,0,25,13,12,21,2,66,26,50,2,54,30,79,41],"data":{"version":3,"file":"method_length.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/method_length.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/method_overwrites_builtin.js":{"lineLengths":[13,62,89,37,77,15,38,27,34,31,38,27,31,31,38,25,33,29,31,28,35,2,83,53],"data":{"version":3,"file":"method_overwrites_builtin.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/method_overwrites_builtin.ts"],"names":[],"mappings":";;AAAA,yFAAkF;AAClF,qCAAkC;AAElC,6EAA6E;AAE7E,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;kBAGS,EAAE,GAAG,EAAE,CAAC,EAAC;IACzB,EAAC,IAAI,EAAE;;wBAEe,EAAE,GAAG,EAAE,CAAC,EAAC;CAChC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,mDAAuB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/method_parameter_names.js":{"lineLengths":[13,62,61,49,83,31,51,96,27,69,17,31,5,58,1,58,45,22,28,15,70,54,7,41,22,24,11,70,54,7,43,42,70,54,7,47,42,70,54,7,3,59,75,35,36,38,22,38,6,31,14,15,52,9,43,11,89,54,7,35,22,30,42,17,78,54,7,36,60,22,28,17,76,23,11,74,54,7,3,54,58,80,22,28,39,15,79,52,40,79,55,41,79,55,7,77,22,28,43,15,79,52,40,79,55,41,79,55,7,77,22,28,42,15,79,52,40,79,55,41,79,55,7,54,22,28,17,41,11,79,52,40,75,55,41,75,55,7,52,22,28,17,47,11,79,52,40,75,55,41,75,55,7,36,22,28,17,47,11,79,52,40,93,73,88,41,75,55,7,3,50],"data":{"version":3,"file":"method_parameter_names.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/method_parameter_names.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/mix_returning.js":{"lineLengths":[13,62,61,49,31,43,33,107,27,44,58,1,39,36,42,46,54,7,26,22,47,17,12,13,11,46,54,7,26,22,47,17,12,52,11,46,54,7,29,22,47,17,12,73,11,46,54,7,3,41],"data":{"version":3,"file":"mix_returning.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/mix_returning.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAC5B,2CAA6C;AAG7C,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,oBAAY,EAAE,CAAC;IAChC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,oBAAoB,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,GAAG;;;;;UAKP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,GAAG;;;;;UAKP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG;;;;;UAKP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/modify_only_own_db_tables.js":{"lineLengths":[13,62,31,35,43,37,33,94,27,53,58,1,54,40,69,46,54,7,36,29,46,54,7,38,58,46,54,7,39,22,12,18,35,10,46,54,7,37,48,46,54,7,38,54,46,54,7,43,22,9,53,28,22,10,46,54,7,3,66,40,16,22,18,35,20,55,2,81,53],"data":{"version":3,"file":"modify_only_own_db_tables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/modify_only_own_db_tables.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/msag_consistency.js":{"lineLengths":[13,62,49,61,43,31,26,42,22,27,83,1,32,43,59,83,64,14,10,32,30,38,11,15,12,12,94,54,7,36,31,94,54,7,33,59,83,64,14,10,32,30,38,11,9,10,21,33,29,11,10,15,12,12,94,54,7,44,59,83,64,14,10,32,30,38,11,9,10,21,33,23,29,11,10,21,33,23,29,11,10,15,12,12,94,54,7,3,44],"data":{"version":3,"file":"msag_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/msag_consistency.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,6DAAuD;AACvD,2CAAgD;AAChD,+BAA4B;AAG5B,KAAK,UAAU,GAAG,CAAC,IAAgB;IACjC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,OAAO,IAAI,uBAAe,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AAC1E,CAAC;AAED,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,GAAG,GACb;;;;;;;;;;;WAWW,CAAC;QAER,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,GAAG,GAAG,UAAU,CAAC;QAEvB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,GAAG,GACb;;;;;;;;;;;;;;;;;;WAkBW,CAAC;QAER,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,GAAG,GACb;;;;;;;;;;;;;;;;;;;;;;;;;WAyBW,CAAC;QAER,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/names_no_dash.js":{"lineLengths":[13,62,65,37,15,47,52,45,84,34,53,54,64,57,2,59,41],"data":{"version":3,"file":"names_no_dash.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/names_no_dash.ts"],"names":[],"mappings":";;AAAA,iEAA0D;AAC1D,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,EAAC;IACxC,EAAC,IAAI,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7C,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,6DAA6D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7E,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/C,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;IACzD,EAAC,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,CAAC,EAAC;CACnD,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,2BAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/nesting.js":{"lineLengths":[13,62,53,37,15,104,40,2,49,35],"data":{"version":3,"file":"nesting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/nesting.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,iFAAiF,EAAE,GAAG,EAAE,CAAC,EAAC;IACjG,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;CAClC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,iBAAO,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/newline_between_methods.js":{"lineLengths":[13,62,85,37,84,28,70,85,29,72,80,24,66,19,45,21,20,20,13,33,17,18,16,0,0,17,18,16,15,45,21,20,20,13,33,17,18,16,17,18,16,15,45,19,18,18,13,33,17,18,16,0,17,18,16,15,45,19,18,18,13,33,17,18,16,0,0,17,18,16,0,0,15,45,19,18,18,18,13,33,17,18,16,0,17,18,16,0,0,17,18,16,0,0,0,15,2,22,5,27,70,34,23,6,5,27,71,35,23,6,5,27,69,34,23,6,5,27,70,35,23,6,5,27,41,34,23,6,5,27,42,35,23,6,5,27,42,34,23,6,5,27,43,35,23,6,5,27,45,34,23,6,5,27,43,35,23,6,38,5,27,46,30,23,6,5,27,46,30,23,6,5,27,44,30,23,6,5,27,45,30,23,6,5,27,48,30,23,6,2,104,51],"data":{"version":3,"file":"newline_between_methods.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/newline_between_methods.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_aliases.js":{"lineLengths":[13,62,37,43,15,38,27,34,31,37,38,27,34,31,38,27,35,35,31,2,49,38],"data":{"version":3,"file":"no_aliases.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/no_aliases.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAA0C;AAE1C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;oBAIW,EAAE,GAAG,EAAE,CAAC,EAAC;CAC5B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,iBAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_chained_assignment.js":{"lineLengths":[13,62,43,37,15,37,44,25,24,2,59,49],"data":{"version":3,"file":"no_chained_assignment.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/no_chained_assignment.ts"],"names":[],"mappings":";;AAAA,2CAAoD;AACpD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE;aACI,EAAE,GAAG,EAAE,CAAC,EAAC;CACrB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,2BAAmB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_external_form_calls.js":{"lineLengths":[13,62,43,37,15,37,38,45,37,52,42,2,59,50],"data":{"version":3,"file":"no_external_form_calls.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/no_external_form_calls.ts"],"names":[],"mappings":";;AAAA,2CAAoD;AACpD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7C,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;CACpC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,2BAAmB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_inline_in_optional_branches.js":{"lineLengths":[13,62,61,49,31,43,43,96,27,58,58,1,56,36,36,67,54,7,33,22,27,18,5,12,8,67,54,7,33,22,18,27,12,5,12,8,67,54,7,3,58],"data":{"version":3,"file":"no_inline_in_optional_branches.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/no_inline_in_optional_branches.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAC5B,2CAA2D;AAG3D,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAgB;IACtD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,kCAA0B,EAAE,CAAC;IAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IAEpD,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,IAAI,GAAG;;;;;OAKV,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,IAAI,GAAG;;;;;;OAMV,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_prefixes.js":{"lineLengths":[13,62,31,61,49,43,33,106,27,42,42,1,37,47,36,46,54,7,35,43,46,54,7,42,40,46,54,7,43,41,46,54,7,50,38,46,54,7,44,42,46,54,7,51,39,46,54,7,44,54,46,54,7,44,51,46,54,7,29,44,46,54,7,56,45,17,40,9,27,13,12,11,46,54,7,47,45,17,37,9,27,13,12,11,46,54,7,50,43,17,15,14,32,9,0,25,13,12,11,46,54,7,54,36,13,12,30,15,46,54,7,3,39],"data":{"version":3,"file":"no_prefixes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/no_prefixes.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_public_attributes.js":{"lineLengths":[13,62,37,43,15,38,27,32,31,40,38,27,31,26,28,31,38,27,42,27,25,28,31,38,27,30,32,28,31,73,27,30,31,38,27,35,31,2,58,30,38,27,36,31,38,27,35,30,32,30,32,28,32,31,41,27,46,31,30,32,31,38,27,30,36,28,32,31,73,27,32,31,2,65,41,94,48],"data":{"version":3,"file":"no_public_attributes.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/no_public_attributes.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAA2E;AAE3E,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,oCAAoC;IACpC,EAAC,IAAI,EAAE;;;;;oBAKW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;;;oBAMW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;;oBAKW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;CAC5B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAkB,CAAC,CAAC;AAEpC,MAAM,oBAAoB,GAAG;IAC3B,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;;;;;;oBASW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;;;oBAMW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;;;;oBAMW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;;oBAGW,EAAE,GAAG,EAAE,CAAC,EAAC;CAC5B,CAAC;AAGF,MAAM,mBAAmB,GAAG,IAAI,8BAAsB,EAAE,CAAC;AACzD,mBAAmB,CAAC,aAAa,GAAG,IAAI,CAAC;AAEzC,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,0BAAkB,EAAE,mBAAmB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/no_yoda_conditions.js":{"lineLengths":[13,62,43,37,15,70,33,49,49,49,47,76,76,97,53,57,54,34,2,56,57,35,16,49,49,58,50,41,2,72,46],"data":{"version":3,"file":"no_yoda_conditions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/no_yoda_conditions.ts"],"names":[],"mappings":";;AAAA,2CAAuE;AACvE,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,+CAA+C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/D,EAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1C,EAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1C,EAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1C,EAAC,IAAI,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,EAAC;IACxC,EAAC,IAAI,EAAE,qDAAqD,EAAE,GAAG,EAAE,CAAC,EAAC;IACrE,EAAC,IAAI,EAAE,qDAAqD,EAAE,GAAG,EAAE,CAAC,EAAC;IACrE,EAAC,IAAI,EAAE,0EAA0E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1F,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,CAAC,EAAC;IAClD,EAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/C,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;CAC5B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,wBAAgB,CAAC,CAAC;AAElC,MAAM,aAAa,GAAG,IAAI,4BAAoB,EAAE,CAAC;AACjD,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC;AAEnC,MAAM,MAAM,GAAG;IACb,EAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1C,EAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1C,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAC;IACnD,EAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3C,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;CACnC,CAAC;AAEF,IAAA,iBAAQ,EAAC,MAAM,EAAE,wBAAgB,EAAE,aAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/object_naming.js":{"lineLengths":[13,62,43,49,31,35,65,86,27,44,17,31,5,66,67,18,1,58,28,54,33,40,59,58,41,59,58,7,28,54,33,40,58,57,41,58,57,7,28,54,30,40,55,54,41,55,54,7,28,54,30,40,55,54,41,55,54,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,28,54,30,40,54,53,41,54,53,7,51,54,33,39,59,58,7,53,54,32,40,54,53,7,3,41],"data":{"version":3,"file":"object_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/object_naming.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/obsolete_statement.js":{"lineLengths":[13,62,31,35,75,37,15,53,64,56,62,50,56,57,55,53,53,89,104,56,60,64,56,40,40,45,45,45,36,44,77,78,67,70,66,46,13,40,64,47,51,81,81,75,57,59,67,52,51,37,26,51,60,77,117,37,44,30,51,45,54,55,42,20,21,34,42,23,21,34,54,45,58,2,70,42,52,97,27,62,58,1,60,44,90,54,89,54,122,54,121,54,7,41,99,54,98,54,103,54,7,41,90,54,89,54,129,55,121,55,122,54,121,54,7,38,99,54,98,54,103,54,7,3,15,52,62,79,59,66,64,62,56,58,96,69,77,73,77,63,101,45,2,73,46],"data":{"version":3,"file":"obsolete_statement.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/obsolete_statement.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/omit_parameter_name.js":{"lineLengths":[13,62,61,49,31,43,37,43,96,27,49,58,1,35,86,1,45,36,36,67,54,7,45,22,25,17,43,9,29,13,12,9,0,9,26,10,67,54,7,80,22,25,17,43,9,29,13,12,9,0,9,18,22,10,67,54,7,29,22,25,17,43,9,29,13,12,9,0,9,20,10,67,54,7,55,22,25,17,31,25,27,9,29,13,12,9,0,9,26,10,67,54,7,47,22,38,13,13,30,51,13,0,9,65,25,29,29,10,67,54,7,43,22,38,13,13,30,30,30,13,0,9,65,40,10,67,54,7,52,22,38,13,13,30,30,31,13,0,9,65,40,10,67,54,7,39,22,21,14,30,67,54,7,3,58,35,22,25,17,43,9,29,13,12,9,0,9,26,10,26,25,17,43,9,29,13,12,9,0,9,20,10,32,7,3,47],"data":{"version":3,"file":"omit_parameter_name.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/omit_parameter_name.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/omit_preceding_zeros.js":{"lineLengths":[13,62,43,37,15,37,38,51,18,33,51,17,33,36,34,35,83,56,58,41,70,32,10,26,32,10,25,2,58,18,5,35,10,16,36,10,15,6,2,64,48],"data":{"version":3,"file":"omit_preceding_zeros.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/omit_preceding_zeros.ts"],"names":[],"mappings":";;AAAA,2CAAmD;AACnD,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE;;sBAEa,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7B,EAAC,IAAI,EAAE;;sBAEa,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7B,EAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7B,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5B,EAAC,IAAI,EAAE,4DAA4D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5E,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjD,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAC;IACnD,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,+CAA+C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/D,EAAC,IAAI,EAAE;;eAEM,EAAE,GAAG,EAAE,CAAC,EAAC;IACtB,EAAC,IAAI,EAAE;;cAEK,EAAE,GAAG,EAAE,CAAC,EAAC;CACtB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAkB,CAAC,CAAC;AAEpC,MAAM,QAAQ,GAAG;IACf;QACE,KAAK,EAAE;;eAEI;QACX,MAAM,EAAE;;cAEE;KACX;CACF,CAAC;AAEF,IAAA,oBAAW,EAAC,QAAQ,EAAE,0BAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/omit_receiving.js":{"lineLengths":[13,62,61,49,31,67,43,96,27,54,58,1,40,36,36,67,54,7,30,22,16,15,35,32,41,35,15,41,67,54,7,29,22,22,33,30,39,38,67,54,7,3,42],"data":{"version":3,"file":"omit_receiving.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/omit_receiving.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAE5B,mEAA6D;AAE7D,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAgB;IACtD,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,8BAAa,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG;;;;;;;;wCAQuB,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG;;;;;qCAKoB,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/parser_702_chaining.js":{"lineLengths":[13,62,77,45,47,61,49,31,33,70,110,27,63,58,1,43,33,58,54,7,47,37,46,54,7,30,85,46,54,7,30,83,13,35,13,26,33,46,54,7,57,47,13,28,14,22,25,2,46,54,7,47,44,15,37,15,28,35,46,54,7,3,47],"data":{"version":3,"file":"parser_702_chaining.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/parser_702_chaining.ts"],"names":[],"mappings":";;AAAA,6EAAsE;AACtE,6CAAwC;AACxC,+CAA0C;AAE1C,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAE5B,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,CAAC,iBAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,uCAAiB,EAAE,CAAC;IACrC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG,eAAe,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG,+DAA+D,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG;;;;;gCAKe,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,IAAI,GAAG;;;;;;CAMhB,CAAC;QACE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG;;;;;kCAKiB,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/parser_error.js":{"lineLengths":[13,62,45,61,49,63,47,37,31,15,35,40,34,38,36,80,64,73,73,68,39,74,80,31,13,27,14,61,20,31,13,19,38,18,24,13,12,16,18,12,7,18,17,13,29,23,27,67,26,22,36,2,58,42,55,119,27,50,58,1,38,55,85,54,7,40,64,54,7,71,73,54,7,3,40],"data":{"version":3,"file":"parser_error.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/parser_error.ts"],"names":[],"mappings":";;AAAA,6CAAwC;AACxC,6DAAuD;AAEvD,iDAA4C;AAC5C,+DAAyD;AACzD,+CAA0C;AAC1C,qCAAkC;AAClC,+BAA4B;AAE5B,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5B,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7B,EAAC,IAAI,EAAE,yDAAyD,EAAE,GAAG,EAAE,CAAC,EAAC;IACzE,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;IACzD,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,6CAA6C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7D,EAAC,IAAI,EAAE,yBAAyB;YAC9B,4DAA4D;YAC5D,yDAAyD,EAAE,GAAG,EAAE,CAAC,EAAC;IACpE,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAC;IAExB,EAAC,IAAI,EAAE;;;;;oBAKW,EAAE,GAAG,EAAE,CAAC,EAAC;IAE3B,EAAC,IAAI,EAAE;;;;aAII,EAAE,GAAG,EAAE,CAAC,EAAC;IAEpB,EAAC,IAAI,EAAE;;;;;;;MAOH,EAAE,GAAG,EAAE,CAAC,EAAC;IAEb,EAAC,IAAI,EAAE;;;;;;;yBAOgB,EAAE,GAAG,EAAE,CAAC,EAAC;CACjC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAE7B,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAAiB;IACvD,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1F,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,mBAAmB,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAC;QACnE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,+BAA+B,CAAC,CAAC;QACjE,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/parser_missing_space.js":{"lineLengths":[13,62,37,79,15,55,36,35,38,36,37,37,45,43,44,43,45,59,52,60,53,71,71,72,100,101,60,59,93,92,67,65,66,105,106,73,74,2,73,48],"data":{"version":3,"file":"parser_missing_space.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/parser_missing_space.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,+EAAwE;AAExE,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;IAChD,EAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7B,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7C,EAAC,IAAI,EAAE,qCAAqC,EAAE,GAAG,EAAE,CAAC,EAAC;IACrD,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,CAAC,EAAC;IAChE,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,CAAC,EAAC;IAChE,EAAC,IAAI,EAAE,iDAAiD,EAAE,GAAG,EAAE,CAAC,EAAC;IACjE,EAAC,IAAI,EAAE,6EAA6E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7F,EAAC,IAAI,EAAE,8EAA8E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9F,EAAC,IAAI,EAAE,qCAAqC,EAAE,GAAG,EAAE,CAAC,EAAC;IACrD,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,sEAAsE,EAAE,GAAG,EAAE,CAAC,EAAC;IACtF,EAAC,IAAI,EAAE,qEAAqE,EAAE,GAAG,EAAE,CAAC,EAAC;IACrF,EAAC,IAAI,EAAE,4CAA4C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5D,EAAC,IAAI,EAAE,0CAA0C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1D,EAAC,IAAI,EAAE,2CAA2C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3D,EAAC,IAAI,EAAE,kFAAkF,EAAE,GAAG,EAAE,CAAC,EAAC;IAClG,EAAC,IAAI,EAAE,mFAAmF,EAAE,GAAG,EAAE,CAAC,EAAC;IACnG,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,mDAAmD,EAAE,GAAG,EAAE,CAAC,EAAC;CACpE,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,yCAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/pragma_style.js":{"lineLengths":[13,62,43,37,15,37,26,16,35,53,53,11,34,43,43,43,2,51,40],"data":{"version":3,"file":"pragma_style.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/pragma_style.ts"],"names":[],"mappings":";;AAAA,2CAA4C;AAC5C,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC;IAErB,YAAY;IACV,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5B,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhD,OAAO;IACL,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;CACrC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,mBAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_corresponding.js":{"lineLengths":[13,62,37,43,15,37,55,61,54,2,59,48],"data":{"version":3,"file":"prefer_corresponding.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/prefer_corresponding.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAAoD;AAEpD,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;IAChD,EAAC,IAAI,EAAE,sCAAsC,EAAE,GAAG,EAAE,CAAC,EAAC;IACtD,EAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,EAAC;CAChD,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,2BAAmB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_inline.js":{"lineLengths":[13,62,31,61,49,43,37,33,114,27,44,58,1,35,81,1,39,36,56,54,7,44,60,54,7,44,41,9,18,10,11,54,7,38,41,9,16,11,54,7,54,41,9,26,22,24,25,27,39,11,54,7,44,41,16,9,10,11,54,7,51,41,9,18,12,11,54,7,53,41,9,31,20,11,54,7,50,41,9,28,10,11,54,7,55,41,9,19,16,11,54,7,53,23,9,18,10,10,26,9,12,16,10,33,7,50,23,9,48,46,24,23,10,26,9,48,12,30,23,10,33,7,45,23,9,36,30,30,10,10,26,9,36,12,44,10,10,33,7,60,41,9,18,12,11,54,7,62,41,32,10,11,54,7,52,41,11,18,16,12,20,9,11,54,7,61,41,11,16,20,12,20,9,11,54,7,46,41,27,11,31,11,0,11,37,44,30,13,54,7,69,41,9,22,23,31,11,54,7,40,41,9,34,35,27,28,32,26,11,54,7,71,41,11,31,32,21,13,54,7,49,15,41,27,11,31,11,0,11,34,20,13,118,7,24,76,41,10,32,13,18,11,54,7,66,41,16,15,54,7,3,41],"data":{"version":3,"file":"prefer_inline.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/prefer_inline.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_is_not.js":{"lineLengths":[13,62,37,43,15,49,58,71,67,62,70,71,64,78,76,69,63,81,2,51,15,93,111,83,83,82,82,84,84,98,110,112,94,2,54,41],"data":{"version":3,"file":"prefer_is_not.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/prefer_is_not.ts"],"names":[],"mappings":";;AAAA,qCAA+C;AAC/C,2CAA4C;AAE5C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAC;IAC1C,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAC;IAEnD,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAC;IAChE,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAC;IAC5D,EAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAC;IAEvD,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IAC/D,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAC;IAChE,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IACzD,EAAC,IAAI,EAAE,4CAA4C,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IACvE,EAAC,IAAI,EAAE,0CAA0C,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IACrE,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAC;IAE9D,EAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAC;IACxD,EAAC,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAC;CAC3E,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,mBAAW,CAAC,CAAC;AAE7B,MAAM,KAAK,GAAG;IACZ,EAAC,KAAK,EAAE,mCAAmC,EAAE,MAAM,EAAE,gCAAgC,EAAC;IACtF,EAAC,KAAK,EAAE,4CAA4C,EAAE,MAAM,EAAE,yCAAyC,EAAC;IACxG,EAAC,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,2BAA2B,EAAC;IAC5E,EAAC,KAAK,EAAE,+BAA+B,EAAE,MAAM,EAAE,0BAA0B,EAAC;IAC5E,EAAC,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,0BAA0B,EAAC;IAC3E,EAAC,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,0BAA0B,EAAC;IAC3E,EAAC,KAAK,EAAE,+BAA+B,EAAE,MAAM,EAAE,2BAA2B,EAAC;IAC7E,EAAC,KAAK,EAAE,+BAA+B,EAAE,MAAM,EAAE,2BAA2B,EAAC;IAC7E,EAAC,KAAK,EAAE,oCAAoC,EAAE,MAAM,EAAE,oCAAoC,EAAC;IAC3F,EAAC,KAAK,EAAE,0CAA0C,EAAE,MAAM,EAAE,0CAA0C,EAAC;IACvG,EAAC,KAAK,EAAE,2CAA2C,EAAE,MAAM,EAAE,2CAA2C,EAAC;IACzG,EAAC,KAAK,EAAE,kCAAkC,EAAE,MAAM,EAAE,kCAAkC,EAAC;CACxF,CAAC;AAEF,IAAA,oBAAW,EAAC,KAAK,EAAE,mBAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_pragmas.js":{"lineLengths":[13,62,31,35,43,33,91,27,45,58,1,40,36,47,46,54,7,30,72,46,54,7,37,69,46,54,7,3,42],"data":{"version":3,"file":"prefer_pragmas.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/prefer_pragmas.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,mCAA+C;AAC/C,2CAA8C;AAE9C,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,cAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,gBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,qBAAa,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAEpC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,yBAAyB,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG,kDAAkD,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,IAAI,GAAG,+CAA+C,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_raise_exception_new.js":{"lineLengths":[13,62,43,45,47,49,61,31,37,42,55,110,27,55,58,1,76,33,82,13,54,55,82,13,54,55,109,55,57,55,66,55,7,36,87,55,89,55,7,29,82,13,30,55,82,13,54,55,7,3,15,114,54,11,105,54,11,24,124,2,66,54],"data":{"version":3,"file":"prefer_raise_exception_new.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/prefer_raise_exception_new.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_returning_to_exporting.js":{"lineLengths":[13,62,61,49,31,43,33,107,27,58,58,1,55,36,42,46,54,7,26,22,47,17,12,13,11,46,54,7,26,22,47,17,12,52,11,46,54,7,29,22,47,17,43,11,46,54,7,45,22,47,17,26,19,18,11,46,54,7,33,22,47,17,43,11,46,54,7,32,22,47,17,45,11,46,54,7,50,22,25,17,10,63,55,66,11,46,54,7,35,22,29,19,10,55,66,57,59,31,46,54,7,3,57],"data":{"version":3,"file":"prefer_returning_to_exporting.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/prefer_returning_to_exporting.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefer_xsdbool.js":{"lineLengths":[13,62,37,43,15,40,52,54,2,53,18,86,2,59,42],"data":{"version":3,"file":"prefer_xsdbool.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/prefer_xsdbool.ts"],"names":[],"mappings":";;AAAA,qCAA+C;AAC/C,2CAA8C;AAE9C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7C,EAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,EAAC;CAChD,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,qBAAa,CAAC,CAAC;AAE/B,MAAM,QAAQ,GAAG;IACf,EAAC,KAAK,EAAE,6BAA6B,EAAE,MAAM,EAAE,+BAA+B,EAAC;CAChF,CAAC;AAEF,IAAA,oBAAW,EAAC,QAAQ,EAAE,qBAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/preferred_compare_operator.js":{"lineLengths":[13,62,91,37,15,37,45,46,46,46,75,2,85,18,71,72,72,71,72,72,71,129,2,91,85,62,25,71,72,71,72,72,71,129,2,112,54],"data":{"version":3,"file":"preferred_compare_operator.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/preferred_compare_operator.ts"],"names":[],"mappings":";;AAAA,2FAAkH;AAClH,qCAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAC;IACvC,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAC;IACvC,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAC;IACvC,EAAC,IAAI,EAAE,oDAAoD,EAAE,GAAG,EAAE,CAAC,EAAC;CACrE,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,qDAAwB,CAAC,CAAC;AAE1C,MAAM,QAAQ,GAAG;IACf,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,sBAAsB,EAAC;IAChE,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,uBAAuB,EAAC;IACjE,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,uBAAuB,EAAC;IACjE,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,sBAAsB,EAAC;IAChE,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,uBAAuB,EAAC;IACjE,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,uBAAuB,EAAC;IACjE,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,sBAAsB,EAAC;IAChE,EAAC,KAAK,EAAE,oDAAoD,EAAE,MAAM,EAAE,mDAAmD,EAAC;CAC3H,CAAC;AACF,IAAA,oBAAW,EAAC,QAAQ,EAAE,qDAAwB,CAAC,CAAC;AAEhD,MAAM,YAAY,GAAG,IAAI,yDAA4B,EAAE,CAAC;AACxD,YAAY,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAC9D,MAAM,eAAe,GAAG;IACtB,EAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,sBAAsB,EAAC;IAChE,EAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAC;IACjE,EAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,sBAAsB,EAAC;IAChE,EAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAC;IACjE,EAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAC;IACjE,EAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,sBAAsB,EAAC;IAChE,EAAC,MAAM,EAAE,oDAAoD,EAAE,KAAK,EAAE,mDAAmD,EAAC;CAC3H,CAAC;AACF,IAAA,oBAAW,EAAC,eAAe,EAAE,qDAAwB,EAAE,YAAY,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/prefix_is_current_class.js":{"lineLengths":[13,62,31,43,61,49,34,104,27,52,17,31,5,66,25,1,59,58,54,19,29,26,27,69,13,39,47,7,77,54,19,29,26,27,60,22,25,13,39,47,7,75,54,19,21,11,31,18,40,31,37,14,13,39,47,7,79,47,19,18,22,31,11,31,15,37,28,76,14,13,39,47,7,66,54,19,21,27,22,25,11,31,18,25,14,0,18,17,14,13,39,47,7,54,54,19,21,21,22,25,11,31,18,20,14,0,18,17,14,13,39,47,7,57,54,19,21,22,25,11,31,18,21,14,13,39,47,7,47,40,22,32,17,39,47,7,44,40,22,23,17,39,47,7,44,40,22,23,17,39,47,7,44,22,18,19,13,18,30,15,39,47,7,3,68,58,39,54,54,19,21,21,22,25,11,31,18,20,14,0,18,17,14,13,47,47,7,57,54,19,21,22,25,11,31,18,21,14,13,47,47,7,3,51],"data":{"version":3,"file":"prefix_is_current_class.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/prefix_is_current_class.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/reduce_procedural_code.js":{"lineLengths":[13,62,31,61,49,43,33,104,27,52,58,1,48,56,56,54,7,29,31,21,17,16,24,8,21,17,16,24,8,10,46,54,7,57,37,21,7,7,7,7,7,7,7,7,7,14,46,54,7,26,31,40,10,46,54,7,3,50],"data":{"version":3,"file":"reduce_procedural_code.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/reduce_procedural_code.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAuD;AACvD,iDAA4C;AAC5C,2CAAqD;AAGrD,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,4BAAoB,EAAE,CAAC;IACxC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAE5C,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG;;;;;;;;;;;SAWR,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,IAAI,GAAG;;;;;;;;;;;aAWJ,CAAC;QACV,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,GAAG;;SAER,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/reduce_string_templates.js":{"lineLengths":[13,62,61,49,31,43,26,107,27,89,1,49,26,36,39,54,7,36,36,39,54,7,30,42,39,54,7,39,42,39,54,7,46,42,39,54,7,62,49,39,54,7,62,45,39,54,7,36,22,30,53,39,54,7,3,51],"data":{"version":3,"file":"reduce_string_templates.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/reduce_string_templates.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/release_idoc.js":{"lineLengths":[13,62,61,49,31,43,47,100,27,43,42,1,38,35,59,87,68,18,28,16,31,32,17,29,19,16,16,63,54,7,38,59,87,68,18,28,16,31,30,32,17,29,19,16,16,63,54,7,35,59,87,68,18,13,20,37,22,14,19,16,16,63,54,7,38,59,87,68,18,13,20,37,27,21,14,19,16,16,63,54,7,3,40],"data":{"version":3,"file":"release_idoc.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/release_idoc.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAC5B,2CAA4C;AAG5C,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,QAAgB;IAC1D,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzC,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAE3B,MAAM,GAAG,GAAG;;;;;;;;;;;;eAYD,CAAC;QAEZ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACvD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAE9B,MAAM,GAAG,GAAG;;;;;;;;;;;;;eAaD,CAAC;QAEZ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACvD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAE3B,MAAM,GAAG,GAAG;;;;;;;;;;;eAWD,CAAC;QAEZ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACvD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAE9B,MAAM,GAAG,GAAG;;;;;;;;;;;;eAYD,CAAC;QAEZ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACvD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/remove_descriptions.js":{"lineLengths":[13,62,49,43,31,61,56,55,83,68,18,18,55,28,24,37,24,32,24,28,44,19,21,20,56,38,25,38,21,22,19,16,16,18,68,9,50,11,48,130,98,31,54,54,55,75,7,3,55,55,83,68,18,18,55,28,24,37,24,32,24,28,44,19,19,16,16,18,68,9,50,11,48,130,98,31,54,54,55,7,3,55,55,87,68,18,18,55,28,24,37,24,32,24,28,44,19,21,20,56,38,25,38,21,20,56,42,25,38,21,22,19,16,16,86,13,54,15,48,130,98,31,54,54,55,7,3,81,55,83,68,18,18,55,28,24,37,24,32,24,28,44,19,21,20,56,38,25,38,21,22,19,16,16,18,68,17,25,9,50,11,48,130,98,31,54,54,55,7,3,47],"data":{"version":3,"file":"remove_descriptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/remove_descriptions.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/rfc_error_handling.js":{"lineLengths":[13,62,75,37,15,37,45,63,50,16,48,48,46,50,16,38,48,46,2,69,46],"data":{"version":3,"file":"rfc_error_handling.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/rfc_error_handling.ts"],"names":[],"mappings":";;AAAA,2EAAoE;AACpE,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAC;IACtC,EAAC,IAAI,EAAE,wCAAwC,EAAE,GAAG,EAAE,CAAC,EAAC;IACxD,EAAC,IAAI,EAAE;;;;mCAI0B,EAAE,GAAG,EAAE,CAAC,EAAC;IAE1C,EAAC,IAAI,EAAE;;;;mCAI0B,EAAE,GAAG,EAAE,CAAC,EAAC;CAC3C,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,qCAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/select_add_order_by.js":{"lineLengths":[13,62,43,37,15,31,69,102,90,77,42,34,53,37,26,12,28,31,55,13,67,53,13,68,54,13,19,69,17,56,59,66,11,44,29,29,31,37,37,37,37,2,56,47],"data":{"version":3,"file":"select_add_order_by.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/select_add_order_by.ts"],"names":[],"mappings":";;AAAA,2CAAiD;AACjD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9D,EAAC,IAAI,EAAE,+EAA+E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/F,EAAC,IAAI,EAAE,mEAAmE,EAAE,GAAG,EAAE,CAAC,EAAC;IACnF,EAAC,IAAI,EAAE,sDAAsD,EAAE,GAAG,EAAE,CAAC,EAAC;IACtE,EAAC,IAAI,EAAE;;0CAEiC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjD,EAAC,IAAI,EAAE;;;;;4CAKmC,EAAE,GAAG,EAAE,CAAC,EAAC;IACnD,EAAC,IAAI,EAAE;;0CAEiC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjD,EAAC,IAAI,EAAE;;2CAEkC,EAAE,GAAG,EAAE,CAAC,EAAC;IAClD,EAAC,IAAI,EAAE;;;;6CAIoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACtD,uDAAuD;IACrD,EAAC,IAAI,EAAE;;;;;;;;;0BASiB,EAAE,GAAG,EAAE,CAAC,EAAC;CAClC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,wBAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/select_performance.js":{"lineLengths":[13,62,61,49,43,37,31,15,16,47,24,78,24,18,69,86,76,87,85,25,31,85,57,89,2,57,34,58,27,34,66,52,18,1,44,47,22,42,87,68,18,14,31,34,35,42,30,15,14,31,30,26,30,30,15,20,15,32,38,35,34,29,35,29,32,29,34,28,28,16,15,32,38,35,34,35,29,32,34,28,28,16,21,19,16,16,67,73,74,54,54,7,3,46],"data":{"version":3,"file":"select_performance.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/select_performance.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AAGvD,iDAA4C;AAC5C,2CAAkD;AAClD,qCAAkC;AAClC,+BAA4B;AAE5B,MAAM,KAAK,GAAG;IAEZ,YAAY;IACZ,EAAC,IAAI,EAAE;aACI,EAAE,GAAG,EAAE,CAAC,EAAC;IACpB,EAAC,IAAI,EAAE;aACI,EAAE,GAAG,EAAE,CAAC,EAAC;IAEpB,cAAc;IACd,EAAC,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9D,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC,EAAE,8BAA8B;IAChF,EAAC,IAAI,EAAE,qDAAqD,EAAE,GAAG,EAAE,CAAC,EAAC;IACrE,EAAC,IAAI,EAAE,gEAAgE,EAAE,GAAG,EAAE,CAAC,EAAC;IAChF,EAAC,IAAI,EAAE;;oBAEW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;eACM,EAAE,GAAG,EAAE,CAAC,EAAC,EAAE,8BAA8B;IACtD,EAAC,IAAI,EAAC,kEAAkE,EAAE,GAAG,EAAE,CAAC,EAAC;CAClF,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,yBAAiB,CAAC,CAAC;AAGnC,KAAK,UAAU,UAAU,CAAC,KAAc;IACtC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,IAAI,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,yBAAiB,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;IACtD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IAExC,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QAEvC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAiDF,CAAC;QAEZ,MAAM,IAAI,GAAG,6CAA6C,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/select_single_full_key.js":{"lineLengths":[13,62,31,49,61,43,14,38,83,64,14,10,27,30,31,38,26,11,10,27,26,22,26,26,11,16,11,28,34,31,30,25,31,25,28,25,30,24,24,12,11,28,34,31,30,31,25,28,30,24,24,12,17,15,12,12,57,83,64,14,10,32,30,31,22,25,26,24,11,10,32,26,22,26,26,11,16,11,33,25,31,31,25,27,12,11,34,25,31,25,28,25,30,24,24,12,17,15,12,12,34,58,27,87,1,48,30,36,97,54,7,30,40,97,54,7,27,67,74,73,54,54,7,29,86,73,74,54,54,7,43,83,74,73,54,54,7,49,91,83,74,54,54,7,3,50],"data":{"version":3,"file":"select_single_full_key.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/select_single_full_key.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/selection_screen_naming.js":{"lineLengths":[13,62,37,85,30,53,51,53,59,57,59,64,61,84,82,86,82,86,80,94,93,2,81,36,39,41,40,110,31,53,51,53,59,57,59,64,61,84,82,86,82,86,80,94,93,2,82,37,40,42,42,112,32,53,51,53,59,57,59,64,61,84,82,86,82,86,80,94,93,2,78,27,30,31,37,109,51],"data":{"version":3,"file":"selection_screen_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/selection_screen_naming.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,qFAAyG;AAGzG,MAAM,oBAAoB,GAAG;IAC3B,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5C,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,CAAC,EAAC;IAClD,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;IACzD,EAAC,IAAI,EAAE,sCAAsC,EAAE,GAAG,EAAE,CAAC,EAAC;IACtD,EAAC,IAAI,EAAE,6DAA6D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7E,EAAC,IAAI,EAAE,2DAA2D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3E,EAAC,IAAI,EAAE,+DAA+D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/E,EAAC,IAAI,EAAE,2DAA2D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3E,EAAC,IAAI,EAAE,+DAA+D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/E,EAAC,IAAI,EAAE,yDAAyD,EAAE,GAAG,EAAE,CAAC,EAAC;IACzE,EAAC,IAAI,EAAE,uEAAuE,EAAE,GAAG,EAAE,CAAC,EAAC;IACvF,EAAC,IAAI,EAAE,sEAAsE,EAAE,GAAG,EAAE,CAAC,EAAC;CACvF,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,mDAAyB,EAAE,CAAC;AACvD,cAAc,CAAC,SAAS,GAAG,QAAQ,CAAC;AACpC,cAAc,CAAC,YAAY,GAAG,QAAQ,CAAC;AACvC,cAAc,CAAC,aAAa,GAAG,SAAS,CAAC;AACzC,cAAc,CAAC,WAAW,GAAG,UAAU,CAAC;AACxC,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,+CAAqB,EAAE,cAAc,CAAC,CAAC;AAEtE,MAAM,qBAAqB,GAAG;IAC5B,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5C,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,CAAC,EAAC;IAClD,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;IACzD,EAAC,IAAI,EAAE,sCAAsC,EAAE,GAAG,EAAE,CAAC,EAAC;IACtD,EAAC,IAAI,EAAE,6DAA6D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7E,EAAC,IAAI,EAAE,2DAA2D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3E,EAAC,IAAI,EAAE,+DAA+D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/E,EAAC,IAAI,EAAE,2DAA2D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3E,EAAC,IAAI,EAAE,+DAA+D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/E,EAAC,IAAI,EAAE,yDAAyD,EAAE,GAAG,EAAE,CAAC,EAAC;IACzE,EAAC,IAAI,EAAE,uEAAuE,EAAE,GAAG,EAAE,CAAC,EAAC;IACvF,EAAC,IAAI,EAAE,sEAAsE,EAAE,GAAG,EAAE,CAAC,EAAC;CACvF,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,mDAAyB,EAAE,CAAC;AACxD,eAAe,CAAC,SAAS,GAAG,QAAQ,CAAC;AACrC,eAAe,CAAC,YAAY,GAAG,QAAQ,CAAC;AACxC,eAAe,CAAC,aAAa,GAAG,SAAS,CAAC;AAC1C,eAAe,CAAC,WAAW,GAAG,WAAW,CAAC;AAC1C,IAAA,iBAAQ,EAAC,qBAAqB,EAAE,+CAAqB,EAAE,eAAe,CAAC,CAAC;AAExE,MAAM,sBAAsB,GAAG;IAC7B,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5C,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9C,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,CAAC,EAAC;IAClD,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;IACzD,EAAC,IAAI,EAAE,sCAAsC,EAAE,GAAG,EAAE,CAAC,EAAC;IACtD,EAAC,IAAI,EAAE,6DAA6D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7E,EAAC,IAAI,EAAE,2DAA2D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3E,EAAC,IAAI,EAAE,+DAA+D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/E,EAAC,IAAI,EAAE,2DAA2D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3E,EAAC,IAAI,EAAE,+DAA+D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/E,EAAC,IAAI,EAAE,yDAAyD,EAAE,GAAG,EAAE,CAAC,EAAC;IACzE,EAAC,IAAI,EAAE,uEAAuE,EAAE,GAAG,EAAE,CAAC,EAAC;IACvF,EAAC,IAAI,EAAE,sEAAsE,EAAE,GAAG,EAAE,CAAC,EAAC;CACvF,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,mDAAyB,EAAE,CAAC;AACpD,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;AAC3B,WAAW,CAAC,YAAY,GAAG,EAAE,CAAC;AAC9B,WAAW,CAAC,aAAa,GAAG,EAAE,CAAC;AAC/B,WAAW,CAAC,WAAW,GAAG,UAAU,CAAC;AACrC,IAAA,iBAAQ,EAAC,sBAAsB,EAAE,+CAAqB,EAAE,WAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sequential_blank.js":{"lineLengths":[13,62,71,37,31,15,33,40,53,2,20,33,35,35,40,55,2,39,36,29,93,63,11,5,3,66,18,68,74,76,88,96,2,72,44],"data":{"version":3,"file":"sequential_blank.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/sequential_blank.ts"],"names":[],"mappings":";;AAAA,uEAAiE;AACjE,qCAA+C;AAC/C,+BAA4B;AAE5B,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;CAC/C,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,EAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC;IAC1B,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC;IAC5B,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC;IAC5B,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAC;IACjC,EAAC,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAC;CACjD,CAAC;AAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YACjB,MAAM,MAAM,GAAG,kCAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,KAAK,EAAE,kCAAe,CAAC,CAAC;AAGjC,MAAM,QAAQ,GAAG;IACf,EAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAC;IAC7D,EAAC,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,oBAAoB,EAAC;IACnE,wEAAwE;IACxE,EAAC,KAAK,EAAE,gCAAgC,EAAE,MAAM,EAAE,8BAA8B,EAAC;IACjF,EAAC,KAAK,EAAE,wCAAwC,EAAE,MAAM,EAAE,8BAA8B,EAAC;CAC1F,CAAC;AAEF,IAAA,oBAAW,EAAC,QAAQ,EAAE,kCAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/short_case.js":{"lineLengths":[13,62,43,37,15,37,37,44,55,62,58,66,69,2,49,38],"data":{"version":3,"file":"short_case.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/short_case.ts"],"names":[],"mappings":";;AAAA,2CAA0C;AAC1C,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;IAChD,EAAC,IAAI,EAAE,uCAAuC,EAAE,GAAG,EAAE,CAAC,EAAC;IACvD,EAAC,IAAI,EAAE,mCAAmC,EAAE,GAAG,EAAE,CAAC,EAAC;IACnD,EAAC,IAAI,EAAE,2CAA2C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3D,EAAC,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,CAAC,EAAC;CAC/D,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,iBAAS,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sicf_consistency.js":{"lineLengths":[13,62,49,43,31,61,49,22,145,51,70,55,7,3,51,83,64,14,34,15,39,26,41,16,12,39,28,38,13,21,16,40,28,23,42,17,22,15,12,12,61,22,142,51,70,55,7,3,14,51,17,33,20,18,9,0,34,11,54,28,46,108,82,31,51,70,55,7,3,44],"data":{"version":3,"file":"sicf_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/sicf_consistency.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,2CAAgD;AAChD,+BAA4B;AAC5B,6DAAuD;AAEvD,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACd,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mDAAmD,EAAE,MAAM,CAAC,CAAC,CAAC;QAChH,MAAM,IAAI,GAAG,IAAI,uBAAe,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAE/D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;WAyBD,CAAC;AAEZ,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACd,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7G,MAAM,IAAI,GAAG,IAAI,uBAAe,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAC/D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG;;;;;;;;;UASH,CAAC;AAEX,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,GAAG,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAG,IAAI,uBAAe,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAE/D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/slow_parameter_passing.js":{"lineLengths":[13,62,61,49,31,43,43,96,27,52,58,1,48,36,37,69,54,7,33,22,21,17,49,9,25,13,14,12,11,69,54,7,48,22,21,17,49,9,25,13,14,12,11,69,54,7,29,22,21,17,42,9,25,13,14,12,11,69,54,7,48,22,21,17,55,9,25,13,14,12,11,69,54,7,58,22,21,17,53,45,9,25,13,46,16,12,12,11,69,54,7,49,22,14,42,13,0,22,17,19,9,0,26,17,14,12,9,0,22,17,19,9,0,26,17,12,11,69,54,7,3,50],"data":{"version":3,"file":"slow_parameter_passing.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/slow_parameter_passing.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/smim_consistency.js":{"lineLengths":[13,62,49,61,43,31,26,42,22,27,83,1,41,40,59,83,64,14,44,26,15,12,12,113,54,7,35,59,83,64,14,20,21,15,12,12,113,54,7,3,44],"data":{"version":3,"file":"smim_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/smim_consistency.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,6DAAuD;AACvD,2CAAgD;AAChD,+BAA4B;AAG5B,KAAK,UAAU,GAAG,CAAC,IAAgB;IACjC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,OAAO,IAAI,uBAAe,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AAC1E,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,GAAG,GACb;;;;;;;;WAQW,CAAC;QAER,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,wBAAU,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3F,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,GAAG,GACb;;;;;;;;WAQW,CAAC;QAER,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,wBAAU,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3F,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/space_before_colon.js":{"lineLengths":[13,62,75,37,15,39,38,38,2,69,35,98,1,44,35,38,41,32,7,3,46],"data":{"version":3,"file":"space_before_colon.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/space_before_colon.ts"],"names":[],"mappings":";;AAAA,2EAAoE;AACpE,qCAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAChC,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;CAChC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,qCAAgB,CAAC,CAAC;AAElC,SAAS,OAAO,CAAC,KAAa,EAAE,QAAgB;IAC9C,IAAA,0BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,qCAAgB,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC;QACjC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/space_before_dot.js":{"lineLengths":[13,62,37,43,15,37,26,34,33,37,38,51,2,54,44],"data":{"version":3,"file":"space_before_dot.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/space_before_dot.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC;IACnB,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,CAAC,EAAC;CAC7C,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sBAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sql_escape_host_variables.js":{"lineLengths":[13,62,43,37,57,128,1,15,37,37,70,71,95,64,65,93,94,70,73,80,95,81,81,71,59,133,155,49,98,62,63,2,62,64,35,69,74,32,7,3,53],"data":{"version":3,"file":"sql_escape_host_variables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/sql_escape_host_variables.ts"],"names":[],"mappings":";;AAAA,2CAAuD;AACvD,qCAAqD;AAErD,SAAS,OAAO,CAAC,KAAa,EAAE,QAAgB,EAAE,aAAa,GAAG,IAAI;IACpE,IAAA,0BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,8BAAsB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AACxG,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,+CAA+C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/D,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,CAAC,EAAC;IAChE,EAAC,IAAI,EAAE,wEAAwE,EAAE,GAAG,EAAE,CAAC,EAAC;IACxF,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;IACzD,EAAC,IAAI,EAAE,0CAA0C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1D,EAAC,IAAI,EAAE,sEAAsE,EAAE,GAAG,EAAE,CAAC,EAAC;IACtF,EAAC,IAAI,EAAE,uEAAuE,EAAE,GAAG,EAAE,CAAC,EAAC;IACvF,EAAC,IAAI,EAAE,+CAA+C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/D,EAAC,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,CAAC,EAAC;IAClE,EAAC,IAAI,EAAE,yDAAyD,EAAE,GAAG,EAAE,CAAC,EAAC;IACzE,EAAC,IAAI,EAAE,wEAAwE,EAAE,GAAG,EAAE,CAAC,EAAC;IACxF,EAAC,IAAI,EAAE,0DAA0D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1E,EAAC,IAAI,EAAE,0DAA0D,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1E,EAAC,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,CAAC,EAAC;IAChE,EAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,CAAC,EAAC;IACpD,EAAC,IAAI,EAAE,8GAA8G,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9H,EAAC,IAAI,EAAE,oIAAoI,EAAE,GAAG,EAAE,CAAC,EAAC;IACpJ,EAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1C,EAAC,IAAI,EAAE,2EAA2E,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3F,EAAC,IAAI,EAAE,uCAAuC,EAAE,GAAG,EAAE,CAAC,EAAC;IACvD,EAAC,IAAI,EAAE,wCAAwC,EAAE,GAAG,EAAE,CAAC,EAAC;CACzD,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,8BAAsB,CAAC,CAAC;AAGxC,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAE5D,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG,+CAA+C,CAAC;QAC7D,MAAM,QAAQ,GAAG,gDAAgD,CAAC;QAClE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sql_value_conversion.js":{"lineLengths":[13,62,30,49,61,43,31,62,83,64,14,10,27,30,31,29,26,24,11,10,27,26,22,26,28,26,11,16,11,28,33,31,30,25,31,25,28,25,30,24,24,29,12,11,28,33,31,30,25,31,25,28,25,30,24,24,12,11,28,33,31,30,25,31,25,28,25,30,24,24,12,11,28,32,31,30,31,25,28,30,24,24,12,17,15,12,12,26,42,73,85,27,86,1,45,36,30,39,55,7,34,22,29,65,39,55,7,29,22,29,67,39,55,7,46,22,29,66,39,55,7,38,22,29,75,39,55,7,47,22,29,36,72,39,55,32,93,7,3,48],"data":{"version":3,"file":"sql_value_conversion.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/sql_value_conversion.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/start_at_tab.js":{"lineLengths":[13,62,63,37,15,41,56,40,31,42,84,80,42,44,2,57,40],"data":{"version":3,"file":"start_at_tab.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/start_at_tab.ts"],"names":[],"mappings":";;AAAA,+DAAwD;AACxD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjD,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAC;IACxB,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI,EAAE,sEAAsE;YACtE,yDAAyD,EAAE,GAAG,EAAE,CAAC,EAAC;IACzE,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,wCAAwC;CACvC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,yBAAU,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/static_call_via_instance.js":{"lineLengths":[13,62,31,43,49,61,32,104,27,37,72,1,50,29,36,45,54,7,34,47,17,22,9,0,29,13,27,12,11,45,54,7,30,47,17,22,9,0,29,13,20,12,11,45,54,7,3,52],"data":{"version":3,"file":"static_call_via_instance.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/static_call_via_instance.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,2CAAsD;AACtD,iDAA4C;AAC5C,6DAAuD;AAGvD,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,GAAG,CAAC,cAAc,EAAG,CAAC;IAClC,OAAO,IAAI,6BAAqB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAE9C,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/strict_sql.js":{"lineLengths":[13,62,43,37,57,115,1,15,37,37,92,92,123,123,117,117,44,38,30,36,46,44,38,30,36,22,42,2,49,49,35,91,96,32,7,35,122,127,32,7,35,116,121,32,7,3,38],"data":{"version":3,"file":"strict_sql.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/strict_sql.ts"],"names":[],"mappings":";;AAAA,2CAA0C;AAC1C,qCAAqD;AAErD,SAAS,OAAO,CAAC,KAAa,EAAE,QAAgB,EAAE,aAAa,GAAG,IAAI;IACpE,IAAA,0BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,iBAAS,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,qEAAqE,EAAE,GAAG,EAAE,CAAC,EAAC;IACrF,EAAC,IAAI,EAAE,qEAAqE,EAAE,GAAG,EAAE,CAAC,EAAC;IACrF,EAAC,IAAI,EAAE,oGAAoG,EAAE,GAAG,EAAE,CAAC,EAAC;IACpH,EAAC,IAAI,EAAE,oGAAoG,EAAE,GAAG,EAAE,CAAC,EAAC;IACpH,EAAC,IAAI,EAAE,8FAA8F,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9G,EAAC,IAAI,EAAE,8FAA8F,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9G,EAAC,IAAI,EAAE;;;;mCAI0B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1C,EAAC,IAAI,EAAE;;;;;+BAKsB,EAAE,GAAG,EAAE,CAAC,EAAC;CACvC,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,iBAAS,CAAC,CAAC;AAE3B,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAE7C,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG,qEAAqE,CAAC;QACnF,MAAM,QAAQ,GAAG,sEAAsE,CAAC;QACxF,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG,oGAAoG,CAAC;QAClH,MAAM,QAAQ,GAAG,qGAAqG,CAAC;QACvH,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG,8FAA8F,CAAC;QAC5G,MAAM,QAAQ,GAAG,+FAA+F,CAAC;QACjH,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/superclass_final.js":{"lineLengths":[13,62,31,43,49,61,32,42,31,80,5,27,20,41,87,5,18,1,48,36,100,55,7,36,81,15,38,17,84,55,7,40,56,54,15,38,17,75,15,37,17,39,65,62,11,55,7,44,56,54,15,38,17,69,15,37,17,39,65,62,11,55,7,65,57,15,38,17,29,88,9,36,9,112,9,38,11,39,65,83,11,55,7,67,15,57,15,38,17,29,106,9,38,11,54,11,58,11,39,65,82,82,83,11,118,7,3,44],"data":{"version":3,"file":"superclass_final.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/superclass_final.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/superfluous_value.js":{"lineLengths":[13,62,43,37,15,38,42,89,78,2,56,45],"data":{"version":3,"file":"superfluous_value.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/superfluous_value.ts"],"names":[],"mappings":";;AAAA,2CAAiD;AACjD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACnC,EAAC,IAAI,EAAE,kEAAkE,EAAE,GAAG,EAAE,CAAC,EAAC;IAClF,EAAC,IAAI,EAAE,uDAAuD,EAAE,GAAG,EAAE,CAAC,EAAC;CACxE,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,wBAAgB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/sy_modification.js":{"lineLengths":[13,62,43,37,15,37,38,34,33,44,44,21,20,2,54,43],"data":{"version":3,"file":"sy_modification.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/sy_modification.ts"],"names":[],"mappings":";;AAAA,2CAA+C;AAC/C,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE;;SAEA,EAAE,GAAG,EAAE,CAAC,EAAC;CACjB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sBAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/tables_declared_locally.js":{"lineLengths":[13,62,85,37,15,37,38,38,22,14,20,2,79,51],"data":{"version":3,"file":"tables_declared_locally.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/tables_declared_locally.ts"],"names":[],"mappings":";;AAAA,qFAA8E;AAC9E,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE;;SAEA,EAAE,GAAG,EAAE,CAAC,EAAC;CACjB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,+CAAqB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/try_without_catch.js":{"lineLengths":[13,62,61,49,31,73,33,104,27,59,58,1,43,33,54,54,7,29,56,54,7,29,71,54,7,36,59,54,7,40,22,8,88,14,56,11,6,46,54,7,3,45],"data":{"version":3,"file":"try_without_catch.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/try_without_catch.ts"],"names":[],"mappings":";;AAAA,6DAAuD;AACvD,iDAA4C;AAC5C,+BAA4B;AAC5B,yEAAkE;AAElE,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,mCAAe,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACzD,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAC/D,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG;;;;;;KAMZ,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/type_begin_single_include.js":{"lineLengths":[13,62,43,37,15,37,13,22,31,32,13,25,23,35,13,20,27,30,13,23,27,33,2,58,53],"data":{"version":3,"file":"type_begin_single_include.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/type_begin_single_include.ts"],"names":[],"mappings":";;AAAA,2CAAmD;AACnD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE;;;qBAGY,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5B,EAAC,IAAI,EAAE;;;wBAGe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE;;;mBAGU,EAAE,GAAG,EAAE,CAAC,EAAC;IAC1B,EAAC,IAAI,EAAE;;;sBAGa,EAAE,GAAG,EAAE,CAAC,EAAC;CAE9B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/type_form_parameters.js":{"lineLengths":[13,62,37,43,15,37,44,54,66,57,69,2,58,48],"data":{"version":3,"file":"type_form_parameters.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/type_form_parameters.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAAmD;AAEnD,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/C,EAAC,IAAI,EAAE,2CAA2C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3D,EAAC,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,CAAC,EAAC;IAClD,EAAC,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,CAAC,EAAC;CAC/D,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAkB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/types_naming.js":{"lineLengths":[13,62,63,37,15,37,39,35,37,38,75,81,19,16,22,15,34,13,26,19,57,17,14,67,2,58,40],"data":{"version":3,"file":"types_naming.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/types_naming.ts"],"names":[],"mappings":";;AAAA,+DAAyD;AACzD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAChC,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5B,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE,oDAAoD,EAAE,GAAG,EAAE,CAAC,EAAC;IACpE,EAAC,IAAI,EAAE,0DAA0D,EAAE,GAAG,EAAE,CAAC,EAAC;IAE1E,EAAC,IAAI,EAAE;;;;;;eAMM,EAAE,GAAG,EAAE,CAAC,EAAC;IAEtB,EAAC,IAAI,EAAE;;;;wDAI+C,EAAE,GAAG,EAAE,CAAC,EAAC;CAChE,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,0BAAW,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/uncaught_exception.js":{"lineLengths":[13,62,61,49,31,43,49,9,29,11,89,9,37,11,99,9,39,11,93,9,35,11,75,8,33,17,9,0,46,11,81,9,33,11,55,96,76,84,92,88,96,110,24,27,65,22,39,36,5,18,1,44,61,36,67,54,7,37,32,67,54,7,51,22,61,11,33,11,35,67,54,7,44,22,63,13,35,13,0,13,37,14,67,54,7,40,22,63,13,35,13,0,31,37,14,67,54,7,41,22,61,11,33,11,0,29,19,21,11,33,18,37,14,13,67,54,7,59,22,61,11,33,11,0,29,19,39,11,33,18,37,14,13,67,54,7,52,22,63,13,35,13,0,13,10,39,13,14,67,54,7,43,22,63,13,35,13,0,13,10,39,22,15,13,14,67,54,7,66,22,61,11,33,11,0,29,19,18,39,11,33,15,16,14,18,37,14,13,67,54,7,70,22,61,11,33,11,0,53,11,31,11,0,29,19,39,11,33,18,35,14,13,67,54,7,40,22,15,25,17,20,13,26,21,9,0,29,0,18,11,12,0,18,39,0,8,20,34,42,11,12,11,67,54,7,55,22,30,19,29,11,0,32,20,52,14,13,92,76,54,7,48,22,28,19,84,11,0,32,20,52,14,13,92,76,54,7,62,15,26,16,19,52,17,51,9,30,18,41,12,11,41,78,76,82,118,7,73,57,26,16,19,52,17,27,9,30,18,41,12,11,41,78,76,82,54,7,42,15,26,48,9,24,9,0,21,17,16,9,25,13,28,12,11,68,118,7,52,15,26,48,9,24,9,0,38,9,0,21,17,16,9,25,13,27,12,11,68,118,7,52,15,26,21,17,16,9,0,25,13,8,20,43,11,12,11,68,54,145,7,43,15,26,21,17,16,9,25,13,41,12,11,69,145,7,3,46],"data":{"version":3,"file":"uncaught_exception.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/uncaught_exception.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unknown_types.js":{"lineLengths":[13,62,37,43,31,44,15,37,38,37,45,46,13,28,17,17,9,32,13,12,21,13,28,15,14,33,9,32,13,12,21,13,28,17,16,42,9,32,13,12,21,2,52,28,38,29,22,15,28,97,56,54,7,63,63,97,56,54,7,47,51,97,56,55,7,47,45,97,56,55,7,56,22,25,17,24,9,29,11,97,56,55,7,39,22,38,83,64,14,10,28,30,31,26,26,24,11,10,28,26,22,26,26,11,16,11,29,33,31,30,25,31,25,28,25,30,24,24,12,11,29,34,31,30,25,31,25,28,25,30,24,24,12,11,29,36,31,30,25,31,25,28,25,30,24,24,12,17,15,12,12,22,15,28,45,60,61,11,56,54,7,43,74,17,21,15,48,9,0,32,13,12,11,100,56,54,7,49,74,20,33,18,10,25,29,31,24,10,72,0,38,9,32,11,100,56,54,7,65,22,54,17,63,9,0,37,11,105,56,54,78,7,40,23,54,17,36,9,0,37,11,62,45,71,63,11,56,54,7,40,23,54,17,36,9,0,37,11,62,45,71,63,11,56,54,7,45,23,54,20,21,64,9,0,37,11,23,42,8,25,35,26,23,15,45,71,79,11,56,54,7,29,23,49,17,38,34,9,0,32,11,23,49,17,38,21,9,0,32,11,45,66,66,11,56,54,7,42,23,42,17,39,9,30,11,23,89,9,38,11,45,64,72,11,56,54,7,29,23,34,14,13,47,15,23,48,17,64,9,0,30,11,23,63,17,32,9,0,46,31,12,11,45,72,64,80,11,56,54,7,54,23,49,17,22,38,36,9,32,11,23,49,17,22,38,36,9,32,11,45,66,66,11,56,54,7,74,23,18,22,13,23,45,63,11,56,54,7,50,23,41,8,30,8,52,15,23,15,51,45,79,63,11,56,54,7,51,23,18,22,36,13,32,45,63,11,56,54,7,47,23,25,17,24,38,9,29,9,32,45,63,11,56,54,7,24,23,29,17,53,9,33,9,0,29,17,69,9,0,33,18,17,12,11,45,63,11,56,54,7,42,23,29,17,53,9,33,9,0,29,17,70,9,0,33,18,17,12,11,45,63,11,56,54,7,33,23,33,17,30,18,28,29,29,26,18,14,39,9,0,30,18,25,12,11,45,64,11,56,54,7,57,23,27,17,25,9,31,9,0,51,17,16,9,29,13,25,12,11,45,61,11,56,54,7,47,23,62,18,23,9,0,39,20,35,12,11,23,27,9,31,11,45,73,84,11,56,54,7,41,23,29,17,61,29,9,0,33,18,17,12,11,45,63,11,56,54,7,51,23,46,17,24,15,62,9,0,44,16,30,12,11,45,63,11,56,54,7,61,23,19,22,13,0,26,17,25,17,9,0,30,14,34,12,11,45,63,11,56,54,7,57,23,19,22,13,0,26,17,25,34,9,0,30,0,11,45,63,11,56,54,7,67,23,62,9,0,39,11,23,27,9,31,11,23,76,18,35,9,33,9,2,45,73,84,85,11,56,54,7,27,23,57,17,20,18,23,13,23,9,33,21,12,11,22,38,83,64,14,10,30,30,25,25,25,25,33,35,37,39,39,30,29,23,33,11,15,12,12,45,67,59,11,56,54,7,48,23,57,17,20,18,23,13,22,9,33,21,12,11,22,38,83,64,14,10,29,30,33,25,25,31,33,33,30,24,11,15,12,12,45,67,58,11,56,54,7,45,22,38,83,64,14,10,28,30,31,26,26,24,11,10,28,26,22,26,26,11,16,11,29,33,31,30,25,31,25,28,25,30,24,24,12,11,29,34,31,30,25,31,25,28,25,30,24,24,12,11,29,36,31,30,25,31,25,28,25,30,24,24,12,17,15,12,12,22,15,35,45,60,61,11,56,54,7,34,23,17,14,13,30,31,13,0,17,20,33,13,0,25,17,47,15,22,9,0,29,18,16,16,12,11,45,63,11,56,54,7,46,22,30,19,29,45,37,0,30,42,44,38,39,29,19,29,45,34,58,32,0,30,31,40,28,19,76,45,85,85,63,70,11,56,54,7,33,22,50,17,10,26,28,24,9,40,9,0,89,9,44,9,0,59,97,56,54,7,43,22,27,45,15,45,63,11,56,54,7,47,22,22,36,13,0,25,17,27,9,29,9,0,51,17,47,9,31,11,97,56,54,7,49,22,38,65,22,45,62,11,56,54,7,53,22,18,18,13,25,17,57,9,29,13,14,12,11,97,56,54,7,41,22,37,20,26,0,31,37,23,97,56,54,7,28,22,25,18,29,36,27,31,35,38,29,9,29,11,97,56,54,7,49,22,27,37,33,15,97,56,54,7,59,22,24,17,38,65,16,9,0,28,13,67,16,12,11,97,56,54,7,67,50,65,19,100,56,55,7,62,57,21,67,13,36,17,16,15,100,56,55,7,42,50,43,27,15,42,15,34,19,100,56,55,7,44,22,25,26,23,58,26,25,17,18,56,18,95,56,55,7,32,60,83,64,14,24,30,14,19,36,35,41,76,20,15,15,12,12,54,45,63,60,11,56,55,7,47,22,27,17,14,25,40,23,9,31,9,10,58,95,56,55,7,44,67,95,56,55,7,27,62,31,21,25,95,56,55,7,51,22,14,13,13,0,22,17,39,23,9,26,16,12,11,95,56,55,7,60,22,21,18,33,16,9,0,25,13,26,12,11,95,56,55,7,49,22,21,18,16,9,0,25,13,32,12,11,95,56,55,7,40,60,95,56,55,7,46,15,22,19,37,47,45,59,61,11,56,118,7,73,129,95,56,55,7,33,69,19,57,11,46,13,129,45,60,77,11,56,55,7,38,22,8,27,0,12,32,36,37,47,42,47,39,31,0,26,95,56,55,7,64,15,22,53,69,95,56,119,7,33,15,61,83,64,14,10,28,30,31,25,11,16,11,31,31,25,28,30,24,24,12,17,15,12,12,22,36,10,45,60,60,11,56,119,7,46,22,18,29,16,27,13,0,31,95,56,55,7,60,22,18,31,13,0,18,21,36,42,15,95,56,55,7,61,22,32,17,15,42,9,0,29,13,12,11,97,56,55,7,47,22,21,17,24,9,0,25,11,96,56,55,7,55,15,22,6,22,17,59,15,20,32,49,95,56,119,7,75,38,43,17,15,15,37,11,97,56,54,75,7,73,15,36,19,13,0,21,17,19,31,42,9,0,25,13,12,11,97,56,119,7,38,15,22,14,23,13,0,44,17,19,36,27,9,0,25,11,97,56,119,7,66,15,22,60,17,18,15,32,22,42,15,14,20,18,9,0,37,20,12,11,105,56,119,7,60,15,22,21,17,37,32,26,35,0,21,15,60,9,0,25,19,12,11,99,56,119,7,37,15,22,15,36,26,45,36,71,17,9,40,11,113,17,9,40,11,45,86,86,59,11,56,118,7,51,22,25,17,43,9,29,14,31,12,11,97,56,54,75,7,30,22,25,17,23,15,34,9,29,11,97,56,54,75,7,56,15,22,33,36,31,83,97,56,54,134,7,55,15,22,33,36,31,82,97,56,54,134,7,50,22,33,36,31,73,97,56,54,7,36,22,29,31,22,24,20,27,69,97,56,54,7,40,22,10,24,29,29,29,29,22,10,70,97,56,54,7,40,22,27,27,27,25,72,97,56,54,7,27,22,24,25,25,22,0,9,30,25,52,19,133,56,54,7,57,22,21,17,21,9,25,9,0,14,27,27,15,133,56,54,7,58,22,21,17,21,29,9,25,9,0,41,17,27,9,25,11,133,56,54,7,70,22,21,17,24,26,22,29,9,25,9,0,41,17,33,9,25,11,133,56,54,7,44,46,61,26,64,14,12,27,20,19,18,18,20,26,24,13,15,12,12,23,23,25,61,26,64,14,12,27,20,19,18,18,20,20,26,24,13,15,12,12,61,83,64,14,22,13,37,37,14,14,10,33,34,13,13,36,26,14,13,36,27,14,13,36,19,14,13,36,31,14,14,20,13,36,21,14,13,36,21,14,13,36,21,14,13,36,21,14,21,11,15,15,12,12,40,72,20,13,35,36,28,72,0,14,41,43,45,73,72,73,72,61,70,63,47,56,54,7,40,82,56,21,1,20,24,3,45,62,67,47,56,54,7,41,22,14,20,13,0,21,17,30,30,9,25,11,133,56,54,7,53,22,14,20,13,0,21,17,30,27,35,25,9,25,11,133,56,54,7,73,22,21,17,22,9,25,9,0,14,28,25,33,23,15,133,56,54,7,34,23,36,17,21,9,33,11,23,36,17,37,28,9,33,11,45,67,67,47,56,54,7,56,22,21,17,55,48,9,0,25,14,12,11,133,56,54,7,42,22,20,30,18,59,133,56,54,7,35,22,23,27,21,56,39,38,47,133,56,54,7,96,22,20,28,18,0,20,32,32,20,97,56,54,76,7,61,15,22,14,44,15,97,56,54,156,7,61,15,22,21,17,46,9,25,13,12,11,97,56,54,156,7,31,54,133,56,54,7,31,54,133,56,54,7,49,22,21,17,44,9,25,13,12,9,6,133,56,54,7,45,22,21,17,15,15,19,23,9,0,25,13,12,11,97,56,54,7,49,22,21,17,15,15,19,15,23,9,0,25,13,12,11,97,56,54,7,29,22,26,28,97,56,54,7,33,22,18,26,28,97,56,54,7,39,22,15,13,0,26,35,97,56,54,7,40,22,26,35,97,56,54,7,55,22,14,42,13,0,14,17,30,54,15,97,56,54,7,52,22,5,16,14,14,26,29,5,17,34,97,56,54,7,65,22,29,23,18,33,97,56,54,7,45,22,14,18,13,0,16,17,26,20,15,97,56,54,7,3,41],"data":{"version":3,"file":"unknown_types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unknown_types.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unnecessary_chaining.js":{"lineLengths":[13,62,43,37,15,37,36,35,41,34,22,21,36,33,25,27,37,53,49,20,25,2,59,35,88,1,46,35,37,40,32,7,3,48],"data":{"version":3,"file":"unnecessary_chaining.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unnecessary_chaining.ts"],"names":[],"mappings":";;AAAA,2CAAoD;AACpD,qCAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7B,EAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5B,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;UACC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjB,EAAC,IAAI,EAAE;;;gBAGO,EAAE,GAAG,EAAE,CAAC,EAAC;IACvB,EAAC,IAAI,EAAE;;sCAE6B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC7C,EAAC,IAAI,EAAE;cACK,EAAE,GAAG,EAAE,CAAC,EAAC;CACtB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,2BAAmB,CAAC,CAAC;AAErC,SAAS,OAAO,CAAC,KAAa,EAAE,QAAgB;IAC9C,IAAA,0BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,2BAAmB,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG,eAAe,CAAC;QAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC;QAChC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unnecessary_pragma.js":{"lineLengths":[13,62,37,75,35,31,49,103,27,62,31,58,1,15,37,13,8,47,56,23,13,8,55,77,23,13,8,44,49,52,22,37,23,13,4,65,31,19,13,4,28,31,19,49,46,78,68,87,68,17,18,57,17,18,85,20,2,70,44,74,22,52,17,47,9,29,11,67,54,7,74,22,52,17,47,9,29,11,96,54,7,35,22,15,0,26,6,69,9,20,67,54,7,34,22,29,28,28,22,67,54,7,37,22,37,11,26,24,30,67,54,7,34,22,21,17,43,9,0,25,11,67,54,7,39,22,43,43,45,34,67,54,7,3,46],"data":{"version":3,"file":"unnecessary_pragma.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unnecessary_pragma.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unnecessary_return.js":{"lineLengths":[13,62,31,35,43,37,41,91,27,49,17,31,5,58,1,35,85,1,44,36,47,46,54,7,33,22,9,9,10,46,54,7,48,22,9,9,10,59,33,54,54,7,62,22,9,13,9,10,59,33,54,54,7,37,22,9,7,10,26,9,0,10,32,7,35,22,21,17,16,9,25,13,20,11,12,11,46,54,7,31,22,9,11,11,8,10,46,54,7,41,22,9,11,11,8,14,10,46,54,7,3,46],"data":{"version":3,"file":"unnecessary_return.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unnecessary_return.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unreachable_code.js":{"lineLengths":[13,62,43,37,15,37,39,20,38,26,19,16,36,22,9,10,10,20,26,29,16,36,25,70,81,27,28,61,32,22,16,27,16,20,27,7,7,42,12,73,20,23,16,11,16,18,2,55,44],"data":{"version":3,"file":"unreachable_code.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unreachable_code.ts"],"names":[],"mappings":";;AAAA,2CAAgD;AAChD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAChC,EAAC,IAAI,EAAE;2BACkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAElC,EAAC,IAAI,EAAE;;;yBAGgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhC,EAAC,IAAI,EAAE;;;;SAIA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;yBAGgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhC,EAAC,IAAI,EAAE;;;;iBAIQ,EAAE,GAAG,EAAE,CAAC,EAAC;IAExB,EAAC,IAAI,EAAE;qBACY,EAAE,GAAG,EAAE,CAAC,EAAC;IAE5B,EAAC,IAAI,EAAE;;;;SAIA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;;;SAMA,EAAE,GAAG,EAAE,CAAC,EAAC;IAEhB,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;CAEf,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,uBAAe,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unsecure_fae.js":{"lineLengths":[13,62,31,63,49,61,26,113,27,94,18,1,38,33,36,39,54,7,33,36,39,54,7,29,22,60,44,31,35,39,54,7,3,40],"data":{"version":3,"file":"unsecure_fae.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unsecure_fae.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,+DAAyD;AACzD,iDAA4C;AAC5C,6DAAuD;AAEvD,KAAK,UAAU,GAAG,CAAC,IAAY;IAC7B,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IAEvB,MAAM,MAAM,GAAG,IAAI,0BAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAElC,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG;;;;kCAIiB,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_ddic.js":{"lineLengths":[13,62,31,49,61,43,46,27,58,27,21,37,69,18,1,52,83,64,14,10,28,30,31,22,25,26,24,11,10,28,26,22,26,26,11,16,11,33,25,31,31,25,27,12,11,33,25,31,25,28,25,30,24,24,12,11,30,25,31,25,28,25,30,24,24,12,17,15,12,12,37,32,15,95,40,118,7,35,63,87,68,18,14,34,34,33,27,37,32,15,19,16,16,82,40,54,7,33,15,61,87,68,18,14,32,34,33,27,37,32,15,19,16,16,61,83,64,14,10,30,30,28,25,25,25,25,28,30,34,34,34,30,24,11,15,12,12,133,40,118,7,35,63,83,64,14,10,32,30,25,25,25,25,30,29,23,33,11,15,12,12,82,40,54,7,41,15,60,83,64,14,10,30,30,25,25,25,25,30,29,23,33,11,15,12,12,60,83,64,14,10,28,30,31,30,24,11,16,11,33,31,31,27,12,17,15,12,12,131,40,118,7,43,15,63,83,64,14,10,34,30,25,25,25,25,30,29,23,33,11,15,12,12,48,139,40,118,7,62,15,63,83,64,14,10,34,30,25,25,25,25,30,29,23,33,11,15,12,12,47,17,15,42,9,0,29,13,12,11,139,40,118,7,63,15,63,83,64,14,10,34,30,25,25,25,25,30,29,23,33,11,15,12,12,54,17,15,42,9,0,29,13,12,11,141,40,118,7,49,15,60,83,64,14,10,30,30,25,25,25,25,30,29,23,33,11,15,12,12,60,83,64,14,10,28,30,31,30,24,11,16,11,33,31,31,27,12,17,15,12,12,50,23,65,69,65,10,40,118,7,50,15,51,18,23,15,23,65,69,10,40,118,7,50,15,72,23,65,69,10,40,118,7,74,15,67,83,64,14,10,34,31,22,30,26,24,11,10,34,26,22,26,26,11,16,11,34,25,31,25,28,25,30,24,24,12,11,33,25,31,31,25,31,27,12,17,15,20,16,15,10,31,43,11,16,15,12,12,67,83,64,14,10,34,31,22,30,26,24,11,10,34,26,22,26,26,11,16,11,34,25,31,25,28,25,30,24,24,12,11,33,25,31,41,31,25,31,32,33,27,12,17,16,11,33,37,28,41,36,28,30,12,11,33,37,27,41,35,28,29,30,12,17,16,11,33,41,29,12,17,15,20,16,15,10,31,43,11,16,15,12,12,23,78,78,10,40,118,7,41,15,60,83,64,14,10,41,30,24,39,25,11,16,11,42,40,26,46,25,12,17,16,11,42,26,33,40,33,25,25,12,11,42,26,33,40,33,25,25,29,12,17,15,12,12,60,83,64,14,10,39,30,31,22,25,26,24,11,10,39,26,22,26,26,11,16,11,33,25,31,31,25,27,12,11,33,25,33,31,25,27,12,11,33,33,31,27,12,17,15,12,12,23,76,76,10,40,118,7,3,39],"data":{"version":3,"file":"unused_ddic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unused_ddic.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_macros.js":{"lineLengths":[13,62,31,43,49,61,35,22,49,48,50,1,32,41,31,71,27,80,1,32,58,27,20,39,82,5,18,1,52,29,36,45,54,7,54,36,16,20,45,54,7,46,36,16,18,0,9,45,54,7,44,38,45,54,7,50,38,35,20,39,66,66,11,54,7,40,36,8,35,20,39,66,66,11,54,7,51,37,8,39,35,20,39,68,68,66,11,54,7,3,41],"data":{"version":3,"file":"unused_macros.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unused_macros.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_methods.js":{"lineLengths":[13,62,31,43,49,61,32,104,27,81,1,32,58,27,20,39,83,5,18,1,53,29,36,45,54,7,29,34,45,54,7,70,22,25,18,21,9,0,29,17,12,11,45,54,7,60,22,25,17,21,9,0,29,17,12,11,45,54,7,40,22,25,18,33,9,0,29,17,12,11,45,54,7,52,22,25,18,33,9,0,29,17,12,11,45,54,7,56,22,37,18,19,9,0,29,15,12,11,45,54,7,47,22,25,20,19,9,29,16,12,9,0,52,17,16,9,32,13,14,12,9,0,19,30,45,54,7,50,55,20,19,9,29,16,12,11,79,82,17,16,9,32,13,14,12,11,82,54,54,7,48,22,25,18,25,9,0,29,21,12,11,45,54,7,59,22,25,17,12,18,47,9,29,21,67,36,12,17,12,11,45,54,7,39,22,25,17,66,12,18,73,9,29,21,34,47,12,17,12,11,45,54,7,33,22,26,18,21,15,32,9,0,30,13,18,12,11,45,54,7,40,22,26,18,21,15,35,9,0,30,13,18,12,11,45,54,7,50,22,26,18,33,15,23,9,0,30,13,18,12,11,45,54,7,3,42],"data":{"version":3,"file":"unused_methods.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unused_methods.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,2CAA8C;AAC9C,iDAA4C;AAC5C,6DAAuD;AAGvD,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,OAAO,IAAI,qBAAa,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAmB;IACzC,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,IAAI,MAAM,GAAY,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;QACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,qBAAa,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAEjD,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;6BAqBY,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,KAAK,GAAG;;;;;;;UAOR,CAAC;QACP,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG;;;;;;;;UAQR,CAAC;QACP,MAAM,KAAK,GAAG,IAAI,wBAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG;;;;;;;;;UASP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,GAAG;;;;;;;;;;;;;;UAcP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;UAeP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,IAAI,GAAG;;;;;;;;;;;;UAYP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG;;;;;;;;;;;;UAYP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG;;;;;;;;;;;;UAYP,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_types.js":{"lineLengths":[13,62,31,43,49,61,32,58,27,79,1,32,104,27,79,1,51,29,36,45,54,7,29,37,45,54,7,29,34,45,54,7,29,50,45,54,7,33,59,45,54,7,40,62,45,54,7,34,22,30,32,45,54,7,29,22,30,24,45,54,7,51,22,16,32,24,14,45,54,7,53,22,16,32,14,45,54,7,39,22,39,81,10,16,15,63,13,0,46,17,15,35,9,0,50,51,12,11,45,54,7,55,22,25,17,33,30,9,0,29,17,12,17,12,11,45,54,7,50,22,25,17,33,30,9,0,29,17,25,12,17,12,11,45,54,7,50,22,25,17,33,30,9,0,29,17,12,17,25,12,11,45,54,7,51,22,27,17,29,59,9,31,11,12,11,45,54,7,35,23,60,18,24,15,76,9,37,22,12,11,23,60,17,41,79,9,0,43,11,23,83,77,10,67,45,54,7,60,22,32,36,32,45,54,74,7,38,22,25,27,29,27,24,27,45,54,7,45,22,25,27,23,29,24,27,45,54,7,38,22,8,32,49,27,21,23,25,45,54,7,55,22,23,16,14,0,20,18,20,45,54,7,49,22,20,26,30,45,54,7,62,22,22,17,21,9,26,9,0,19,28,27,45,54,7,69,27,54,17,23,24,9,0,31,11,65,83,64,14,22,13,37,37,14,14,10,33,36,13,13,34,31,36,14,14,20,13,34,21,14,21,11,15,15,12,12,42,76,24,17,48,76,0,31,0,18,22,71,71,71,70,69,23,75,71,78,78,10,67,45,54,7,3,40],"data":{"version":3,"file":"unused_types.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unused_types.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/unused_variables.js":{"lineLengths":[13,62,31,43,49,61,37,35,84,1,32,58,27,38,63,22,39,36,5,18,1,40,104,27,47,17,31,5,58,1,55,29,36,45,54,7,29,37,45,54,7,29,34,45,54,7,29,33,45,54,7,30,64,45,54,74,7,52,42,45,54,7,60,46,45,54,7,29,45,45,54,7,44,47,18,16,30,9,0,29,13,20,12,11,45,54,7,41,22,41,17,20,15,28,15,29,9,0,45,18,30,12,11,45,54,7,71,22,41,30,45,54,7,45,33,7,48,40,7,53,22,25,18,15,27,9,0,29,12,12,11,45,54,7,59,22,25,18,15,27,9,0,29,12,20,12,11,45,54,7,50,22,25,18,15,27,9,0,29,12,16,12,11,45,54,7,55,22,39,20,45,54,7,37,22,39,25,45,54,7,55,22,24,56,45,54,7,40,47,45,54,76,7,50,22,30,37,54,45,54,7,35,22,29,25,45,54,7,30,22,26,19,22,37,42,45,54,7,39,22,32,38,45,54,7,50,22,58,32,45,54,7,50,22,58,32,45,54,7,50,22,30,30,38,4,45,54,7,58,48,23,20,13,30,12,6,22,42,87,68,18,16,35,22,24,28,17,19,16,16,39,70,76,74,11,54,7,52,22,18,27,39,15,22,25,18,24,29,9,0,29,20,12,11,39,68,68,11,49,54,7,53,32,24,13,7,35,22,26,26,32,45,54,7,29,22,22,22,26,13,45,54,7,51,22,50,39,18,45,54,7,31,15,22,25,75,21,45,118,7,30,22,5,33,17,22,0,71,45,54,7,35,22,30,64,16,45,54,7,29,22,28,29,45,54,7,40,22,38,22,25,45,54,7,52,22,25,17,24,18,27,9,29,21,20,12,11,45,54,7,28,22,25,31,45,54,7,53,22,20,22,16,45,54,7,35,22,29,29,16,45,54,7,33,22,33,33,45,45,54,7,45,22,44,26,45,54,7,42,22,9,26,22,24,25,27,39,10,45,54,7,35,22,29,20,13,27,45,54,7,27,22,27,11,31,11,29,29,45,54,7,30,22,18,19,45,54,7,37,22,18,17,10,45,54,7,37,22,28,30,47,45,54,7,37,22,28,39,45,54,7,51,22,29,51,44,45,54,7,67,22,26,17,50,9,30,21,14,12,9,9,32,24,25,10,45,54,7,47,22,28,11,32,11,11,34,25,12,45,54,7,32,22,35,21,45,54,7,34,22,27,29,45,76,18,20,10,45,54,7,44,22,6,21,33,19,29,61,48,45,54,7,49,22,25,37,15,23,45,54,7,39,22,29,30,27,31,0,19,9,12,16,13,17,23,45,54,7,43,22,50,22,52,45,54,7,48,22,40,44,45,54,7,37,22,53,18,25,45,54,7,38,22,37,49,15,45,54,7,32,22,18,18,24,45,54,7,41,22,32,17,54,46,9,30,11,45,54,7,28,22,59,61,42,41,41,45,54,7,30,22,18,28,22,45,54,7,30,22,23,28,45,54,7,40,22,45,59,73,15,45,54,7,48,22,44,26,28,45,54,7,39,22,42,20,45,18,20,9,30,11,23,59,20,40,9,31,24,16,12,11,24,57,20,40,9,36,24,11,12,11,39,69,82,71,11,54,7,37,22,39,24,45,54,7,36,22,39,23,45,54,7,40,22,41,62,68,27,24,18,16,14,32,45,54,7,40,22,13,32,14,45,54,7,40,22,32,45,54,7,43,22,13,33,22,14,45,54,7,43,22,31,22,45,54,7,45,15,22,9,6,44,32,9,10,45,118,7,30,15,22,11,30,21,23,65,95,16,12,45,118,7,35,15,22,39,63,45,118,7,40,15,22,32,50,45,118,7,41,47,36,71,39,78,83,11,54,7,34,15,22,30,31,45,118,7,29,15,22,27,35,45,118,7,31,15,22,34,33,45,118,7,39,15,22,24,29,22,58,0,43,32,43,13,38,26,10,45,118,7,38,15,22,39,34,50,45,118,7,30,15,22,23,22,21,65,18,0,27,12,37,25,19,15,45,118,7,59,15,22,16,31,45,118,7,43,15,22,27,26,26,0,31,23,26,45,118,7,46,15,22,27,26,26,0,31,25,26,45,118,7,37,15,22,27,26,45,118,7,39,15,22,29,38,44,45,118,7,44,15,22,59,54,20,13,36,45,118,7,38,15,22,60,30,26,15,18,26,45,118,7,47,15,22,49,17,45,36,36,36,45,9,0,38,37,79,36,12,11,45,118,7,49,15,22,28,19,14,45,119,7,52,15,22,19,30,14,45,119,7,52,15,22,37,14,45,119,7,51,15,22,46,37,16,45,118,7,63,15,22,19,45,62,25,45,118,7,35,15,22,54,52,20,17,8,45,118,7,30,15,22,60,25,26,45,118,7,32,15,22,86,60,73,45,118,7,35,15,22,86,32,60,68,45,45,118,7,54,15,22,65,80,45,128,7,39,15,22,41,21,42,16,130,45,118,7,38,15,22,31,33,32,44,50,45,45,118,7,46,15,22,32,21,27,32,45,118,7,49,15,22,21,17,43,43,9,0,25,17,33,12,0,17,16,12,11,45,118,7,52,15,22,21,17,43,43,9,0,25,17,41,12,0,17,16,12,11,45,118,7,51,15,22,30,45,28,25,55,23,18,45,118,7,42,15,22,37,54,45,118,7,30,15,22,33,54,50,45,118,7,32,15,22,35,37,45,118,7,56,22,35,23,45,54,7,38,22,47,36,45,54,7,53,22,16,25,15,0,11,64,75,12,45,54,7,38,22,14,24,13,58,46,45,54,7,37,22,29,24,52,48,27,45,54,7,47,22,28,35,31,32,31,27,20,45,54,7,41,22,29,26,26,20,45,54,7,33,22,36,25,10,45,54,7,32,22,35,17,20,28,32,9,0,30,11,69,54,7,48,22,20,64,15,69,54,7,34,22,39,62,12,45,54,7,45,22,29,50,44,45,54,7,41,22,55,45,54,7,53,22,33,43,24,45,54,7,53,22,33,43,24,45,54,7,52,22,56,41,41,82,45,54,7,46,22,29,16,20,45,54,7,39,22,21,17,22,9,0,25,0,19,41,47,78,20,12,12,11,45,54,7,36,22,14,38,13,69,21,43,43,71,45,54,7,35,22,24,24,24,59,0,6,13,17,28,15,23,45,54,7,35,22,27,28,57,45,54,7,43,22,12,28,45,54,7,31,22,26,27,22,22,25,60,12,45,54,7,3,44],"data":{"version":3,"file":"unused_variables.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/unused_variables.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/use_bool_expression.js":{"lineLengths":[13,62,37,43,15,37,46,32,27,5,26,18,32,27,5,19,18,32,27,5,27,18,32,27,17,14,5,26,18,32,27,14,5,26,18,30,22,5,23,18,95,95,79,34,28,5,23,18,34,27,5,20,18,2,57,18,5,16,23,23,5,22,8,17,51,6,5,16,23,22,5,23,8,17,43,6,2,63,47],"data":{"version":3,"file":"use_bool_expression.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/use_bool_expression.ts"],"names":[],"mappings":";;AAAA,qCAA+C;AAC/C,2CAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAC;IAEvC,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;;;OAMF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;;OAKF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE,wEAAwE,EAAE,GAAG,EAAE,CAAC,EAAC;IACxF,EAAC,IAAI,EAAE,wEAAwE,EAAE,GAAG,EAAE,CAAC,EAAC;IACxF,EAAC,IAAI,EAAE,wDAAwD,EAAE,GAAG,EAAE,CAAC,EAAC;IAExE,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;IAEd,EAAC,IAAI,EAAE;;;;OAIF,EAAE,GAAG,EAAE,CAAC,EAAC;CACf,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,yBAAiB,CAAC,CAAC;AAEnC,MAAM,QAAQ,GAAG;IACf;QACE,KAAK,EAAE;;;;;OAKJ;QACH,MAAM,EAAE;kDACsC;KAC/C;IACD;QACE,KAAK,EAAE;;;;;OAKJ;QACH,MAAM,EAAE;0CAC8B;KACvC;CACF,CAAC;AAEF,IAAA,oBAAW,EAAC,QAAQ,EAAE,yBAAiB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/use_class_based_exceptions.js":{"lineLengths":[13,62,43,37,15,37,38,29,19,14,27,25,29,19,11,19,25,2,63,54],"data":{"version":3,"file":"use_class_based_exceptions.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/use_class_based_exceptions.ts"],"names":[],"mappings":";;AAAA,2CAAwD;AACxD,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAC;IAC/B,EAAC,IAAI,EAAE;;;;cAIK,EAAE,GAAG,EAAE,CAAC,EAAC;IACrB,EAAC,IAAI,EAAE;;;;cAIK,EAAE,GAAG,EAAE,CAAC,EAAC;CACtB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,+BAAuB,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/use_line_exists.js":{"lineLengths":[13,62,37,43,15,37,46,13,64,18,20,13,64,18,20,13,64,19,20,13,64,9,18,20,13,64,9,18,20,13,47,31,13,62,48,13,75,54,13,113,88,13,62,21,18,13,62,23,18,13,45,20,24,23,65,33,9,8,39,20,13,78,18,20,2,53,43],"data":{"version":3,"file":"use_line_exists.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/use_line_exists.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAA8C;AAE9C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAC;IACvC,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;;SAIA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;;SAIA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;oBAEW,EAAE,GAAG,EAAE,CAAC,EAAC;IAC3B,EAAC,IAAI,EAAE;;qCAE4B,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5C,EAAC,IAAI,EAAE;;2CAEkC,EAAE,GAAG,EAAE,CAAC,EAAC;IAClD,EAAC,IAAI,EAAE;;6EAEoE,EAAE,GAAG,EAAE,CAAC,EAAC;IACpF,EAAC,IAAI,EAAE;;;OAGF,EAAE,GAAG,EAAE,CAAC,EAAC;IACd,EAAC,IAAI,EAAE;;;OAGF,EAAE,GAAG,EAAE,CAAC,EAAC;IACd,EAAC,IAAI,EAAE;;;;;;;;;;SAUA,EAAE,GAAG,EAAE,CAAC,EAAC;IAChB,EAAC,IAAI,EAAE;;;SAGA,EAAE,GAAG,EAAE,CAAC,EAAC;CACjB,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,qBAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/use_new.js":{"lineLengths":[13,62,37,43,15,37,46,43,67,67,44,62,13,23,11,34,12,26,39,112,13,31,11,42,16,45,33,2,46,15,69,138,99,119,2,49,35],"data":{"version":3,"file":"use_new.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/use_new.ts"],"names":[],"mappings":";;AAAA,qCAA+C;AAC/C,2CAAuC;AAEvC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAC;IACvC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,4CAA4C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5D,EAAC,IAAI,EAAE,4CAA4C,EAAE,GAAG,EAAE,CAAC,EAAC;IAC5D,EAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,EAAC,IAAI,EAAE,uCAAuC,EAAE,GAAG,EAAE,CAAC,EAAC;IACvD,EAAC,IAAI,EAAE;;;;;;4BAMmB,EAAE,GAAG,EAAE,CAAC,EAAC;IACrC,4GAA4G;IAC1G,EAAC,IAAI,EAAE;;;;;;sBAMa,EAAE,GAAG,EAAE,CAAC,EAAC;CAC9B,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,cAAM,CAAC,CAAC;AAExB,MAAM,KAAK,GAAG;IACZ,EAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,oBAAoB,EAAC;IAC9D,EAAC,KAAK,EAAE,6DAA6D,EAAE,MAAM,EAAE,mDAAmD,EAAC;IACnI,EAAC,KAAK,EAAE,2CAA2C,EAAE,MAAM,EAAE,8BAA8B,EAAC;IAC5F,EAAC,KAAK,EAAE,qDAAqD,EAAE,MAAM,EAAE,wCAAwC,EAAC;CACjH,CAAC;AAEF,IAAA,oBAAW,EAAC,KAAK,EAAE,cAAM,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/when_others_last.js":{"lineLengths":[13,62,37,43,15,37,40,43,56,64,64,2,54,44],"data":{"version":3,"file":"when_others_last.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/when_others_last.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,2CAA+C;AAE/C,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAC;IAC9B,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAC;IACjC,EAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAC;IACpC,EAAC,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,EAAC;IACjD,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;IACzD,EAAC,IAAI,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,EAAC;CAC1D,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sBAAc,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/whitespace_end.js":{"lineLengths":[13,62,67,37,15,39,41,55,53,2,62,42],"data":{"version":3,"file":"whitespace_end.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/whitespace_end.ts"],"names":[],"mappings":";;AAAA,mEAA6D;AAC7D,qCAAkC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAC;IAChC,EAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAC;IAClC,EAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAC;IAChD,EAAC,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,EAAC;CAC/C,CAAC;AAEF,IAAA,iBAAQ,EAAC,KAAK,EAAE,8BAAa,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/rules/xml_consistency.js":{"lineLengths":[13,62,49,43,31,61,25,27,46,58,1,51,83,64,14,14,32,20,36,20,28,20,24,15,15,12,12,54,43,110,38,55,7,3,47,55,85,66,16,16,33,22,38,22,30,22,26,17,17,14,14,18,52,13,34,15,28,176,38,55,7,3,64,55,85,66,16,16,33,22,38,22,30,22,26,17,17,14,14,18,51,13,33,15,28,176,38,55,7,3,40,55,85,66,16,16,33,22,89,22,30,22,26,17,17,14,14,18,52,13,34,15,28,176,38,55,7,3,69,55,83,64,14,15,44,20,48,26,20,24,16,15,12,12,28,22,38,15,202,38,55,7,79,22,38,27,15,189,38,55,7,3,66,55,83,64,14,15,31,20,48,26,20,24,16,15,12,12,28,22,30,19,176,38,55,7,3,35,36,121,38,55,7,42,118,38,55,7,54,188,38,55,7,40,133,38,55,7,3,43],"data":{"version":3,"file":"xml_consistency.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/rules/xml_consistency.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/serialization.js":{"lineLengths":[13,62,48,38,31,7,21,20,26,13,32,6,77,42,47,42,32,39,9,6,39,3,41],"data":{"version":3,"file":"serialization.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/serialization.ts"],"names":[],"mappings":";;AAAA,gDAAgD;AAChD,sCAAsC;AACtC,+BAA4B;AAE5B,OAAO;AAEP,qBAAqB;AACrB,oBAAoB;AACpB,0BAA0B;AAC1B,aAAa;AAEb,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC9B;;;;;;;;MAQE;IACA,IAAA,aAAM,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/severity.js":{"lineLengths":[13,62,31,32,46,28,31,22,21,37,50,53,50,14,29,21,44,41,36,33,14,25,10,54,5,73,34,33,51,14,11,79,66,45,54,87,7,80,34,37,11,79,66,45,54,88,7,31,168,76,167,79,165,77,18,138,77,7,3,36],"data":{"version":3,"file":"severity.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/severity.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/skip_logic.js":{"lineLengths":[13,62,46,31,50,58,42,30,49,22,25,15,77,60,31,61,103,7,53,70,26,64,35,33,36,34,27,66,24,96,60,45,57,67,31,61,102,7,51,55,57,28,114,68,107,85,30,30,47,34,66,40,34,38,40,31,31,29,25,78,45,58,67,31,61,102,7,58,22,37,37,15,89,60,45,57,67,31,61,102,7,75,22,46,46,26,13,0,44,13,6,88,60,45,57,67,31,61,102,7,53,46,45,53,67,34,75,21,42,87,68,18,16,26,22,24,28,17,19,16,16,73,31,61,102,7,76,46,45,53,67,34,75,31,61,103,7,3,38],"data":{"version":3,"file":"skip_logic.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/skip_logic.ts"],"names":[],"mappings":"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"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/utils/cyclomatic_complexity_stats.js":{"lineLengths":[13,62,31,61,49,93,47,36,31,115,31,104,53,7,38,22,25,21,23,13,29,20,17,14,16,15,115,31,104,53,61,55,7,3,55],"data":{"version":3,"file":"cyclomatic_complexity_stats.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/utils/cyclomatic_complexity_stats.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAuD;AACvD,iDAA4C;AAC5C,6FAAsF;AAEtF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAE3C,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,SAAS,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;QAClF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,uDAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAEnE,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,IAAI,GAAG;;;;;;;;;;cAUH,CAAC;QACX,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;QAClF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,uDAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;QAEnE,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/utils/method_length_stats.js":{"lineLengths":[13,62,31,61,49,77,39,19,41,44,57,83,68,79,6,29,35,117,35,92,76,52,78,13,11,7,3,47],"data":{"version":3,"file":"method_length_stats.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/utils/method_length_stats.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,6DAAuD;AACvD,iDAA4C;AAC5C,6EAAsE;AAEtE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,KAAK,GAAG;QACZ,EAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAC;QAC9B,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAC;QACjC,EAAC,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAC;QAC9C,EAAC,IAAI,EAAE,+CAA+C,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC;QACxE,EAAC,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAC;QACzD,EAAC,IAAI,EAAE,8CAA8C,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAC;KACrE,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACvB,MAAM,GAAG,GAAG,IAAI,mBAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,wBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,uCAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;YAC3D,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/utils/name_validator.js":{"lineLengths":[13,62,67,31,34,88,137,56,7,89,140,57,7,82,136,56,7,97,138,57,7,67,190,57,7,64,177,57,7,71,146,57,7,3,42],"data":{"version":3,"file":"name_validator.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/utils/name_validator.ts"],"names":[],"mappings":";;AAAA,mEAA6D;AAC7D,+BAA4B;AAE5B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAE9B,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,YAAY,GAAG,8BAAa,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAC;QAC9G,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,YAAY,GAAG,8BAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAC;QACjH,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,YAAY,GAAG,8BAAa,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC,CAAC;QAC7G,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,YAAY,GAAG,8BAAa,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC,CAAC;QAC/G,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,YAAY,GAAG,8BAAa,CAAC,YAAY,CAC7C,sBAAsB,EACtB,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,EAChC,EAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAE3D,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,YAAY,GAAG,8BAAa,CAAC,YAAY,CAC7C,SAAS,EACT,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,EAChC,EAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAE3D,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,YAAY,GAAG,8BAAa,CAAC,YAAY,CAC7C,SAAS,EACT,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,EAChC,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;QAE5B,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null},"file:///home/runner/work/abaplint/abaplint/packages/core/build/test/version.js":{"lineLengths":[13,62,31,32,44,38,21,111,7,23,112,7,27,115,7,3,35],"data":{"version":3,"file":"version.js","sourceRoot":"","sources":["file:///home/runner/work/abaplint/abaplint/packages/core/test/version.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,gCAA+B;AAC/B,4CAAkD;AAElD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAElC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACb,IAAA,aAAM,EAAC,IAAA,4BAAkB,EAAC,aAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAO,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACf,IAAA,aAAM,EAAC,IAAA,4BAAkB,EAAC,aAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAO,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;QACnB,IAAA,aAAM,EAAC,IAAA,4BAAkB,EAAC,aAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAO,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"},"url":null,"sourceURL":null}}} \ No newline at end of file diff --git a/tmp/coverage-1901-1721652303915-0.json b/tmp/coverage-1901-1721652303915-0.json new file mode 100644 index 00000000000..a77e57fb172 --- /dev/null +++ b/tmp/coverage-1901-1721652303915-0.json @@ -0,0 +1 @@ +{"result":[{"scriptId":"12","url":"node:internal/per_context/primordials","functions":[{"functionName":"SafeIterator","ranges":[{"startOffset":9499,"endOffset":9570,"count":3}],"isBlockCoverage":true},{"functionName":"next","ranges":[{"startOffset":9575,"endOffset":9624,"count":76}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9629,"endOffset":9674,"count":2}],"isBlockCoverage":true},{"functionName":"desc.value","ranges":[{"startOffset":11239,"endOffset":11306,"count":1}],"isBlockCoverage":true},{"functionName":"SafeMap","ranges":[{"startOffset":11964,"endOffset":11992,"count":3}],"isBlockCoverage":false},{"functionName":"SafeSet","ranges":[{"startOffset":12293,"endOffset":12321,"count":3}],"isBlockCoverage":false},{"functionName":"SafeFinalizationRegistry","ranges":[{"startOffset":12745,"endOffset":12801,"count":1}],"isBlockCoverage":true}]},{"scriptId":"15","url":"node:internal/bootstrap/realm","functions":[{"functionName":"internalBinding","ranges":[{"startOffset":5789,"endOffset":6051,"count":16}],"isBlockCoverage":false},{"functionName":"getOwn","ranges":[{"startOffset":6211,"endOffset":6365,"count":42},{"startOffset":6347,"endOffset":6362,"count":0}],"isBlockCoverage":true},{"functionName":"canBeRequiredByUsers","ranges":[{"startOffset":8874,"endOffset":8949,"count":2}],"isBlockCoverage":true},{"functionName":"canBeRequiredWithoutScheme","ranges":[{"startOffset":8960,"endOffset":9054,"count":2}],"isBlockCoverage":true},{"functionName":"getCanBeRequiredByUsersWithoutSchemeList","ranges":[{"startOffset":9317,"endOffset":9426,"count":1}],"isBlockCoverage":true},{"functionName":"normalizeRequirableId","ranges":[{"startOffset":9437,"endOffset":9782,"count":1},{"startOffset":9513,"endOffset":9675,"count":0},{"startOffset":9755,"endOffset":9781,"count":0}],"isBlockCoverage":true},{"functionName":"compileForPublicLoader","ranges":[{"startOffset":9940,"endOffset":10652,"count":1},{"startOffset":10021,"endOffset":10213,"count":0},{"startOffset":10536,"endOffset":10540,"count":0}],"isBlockCoverage":true},{"functionName":"getESMFacade","ranges":[{"startOffset":10656,"endOffset":11418,"count":1},{"startOffset":10694,"endOffset":10713,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11155,"endOffset":11258,"count":1}],"isBlockCoverage":true},{"functionName":"syncExports","ranges":[{"startOffset":11714,"endOffset":12058,"count":2},{"startOffset":11833,"endOffset":12048,"count":42},{"startOffset":11910,"endOffset":11919,"count":0}],"isBlockCoverage":true},{"functionName":"compileForInternalLoader","ranges":[{"startOffset":12062,"endOffset":12884,"count":158}],"isBlockCoverage":false},{"functionName":"requireBuiltin","ranges":[{"startOffset":13079,"endOffset":13444,"count":157}],"isBlockCoverage":false}]},{"scriptId":"16","url":"node:internal/errors","functions":[{"functionName":"prepareStackTrace","ranges":[{"startOffset":2134,"endOffset":3622,"count":1},{"startOffset":2311,"endOffset":2427,"count":0},{"startOffset":2558,"endOffset":3054,"count":0},{"startOffset":3181,"endOffset":3203,"count":0},{"startOffset":3353,"endOffset":3427,"count":0},{"startOffset":3514,"endOffset":3543,"count":0}],"isBlockCoverage":true},{"functionName":"maybeOverridePrepareStackTrace","ranges":[{"startOffset":3664,"endOffset":4371,"count":1},{"startOffset":3933,"endOffset":3999,"count":0},{"startOffset":4280,"endOffset":4346,"count":0}],"isBlockCoverage":true},{"functionName":"lazyInternalUtilInspect","ranges":[{"startOffset":5408,"endOffset":5536,"count":1}],"isBlockCoverage":true},{"functionName":"lazyUtilColors","ranges":[{"startOffset":5554,"endOffset":5654,"count":1}],"isBlockCoverage":true},{"functionName":"beforeInspector","ranges":[{"startOffset":23042,"endOffset":23433,"count":1},{"startOffset":23167,"endOffset":23432,"count":0}],"isBlockCoverage":true},{"functionName":"afterInspector","ranges":[{"startOffset":23437,"endOffset":24720,"count":1},{"startOffset":24017,"endOffset":24282,"count":0},{"startOffset":24675,"endOffset":24716,"count":0}],"isBlockCoverage":true}]},{"scriptId":"17","url":"node:internal/bootstrap/node","functions":[{"functionName":"get","ranges":[{"startOffset":3721,"endOffset":3783,"count":1}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":3789,"endOffset":3859,"count":2}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4967,"endOffset":5234,"count":6},{"startOffset":5095,"endOffset":5233,"count":3}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":5686,"endOffset":5717,"count":3}],"isBlockCoverage":true}]},{"scriptId":"19","url":"node:internal/async_hooks","functions":[{"functionName":"clearDefaultTriggerAsyncId","ranges":[{"startOffset":15198,"endOffset":15287,"count":1}],"isBlockCoverage":true}]},{"scriptId":"20","url":"node:internal/validators","functions":[{"functionName":"validateString","ranges":[{"startOffset":4097,"endOffset":4229,"count":20}],"isBlockCoverage":false},{"functionName":"validateBoolean","ranges":[{"startOffset":5573,"endOffset":5708,"count":1},{"startOffset":5651,"endOffset":5706,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":11802,"endOffset":11918,"count":1}],"isBlockCoverage":false}]},{"scriptId":"21","url":"node:internal/util","functions":[{"functionName":"isError","ranges":[{"startOffset":2253,"endOffset":2503,"count":1},{"startOffset":2479,"endOffset":2500,"count":0}],"isBlockCoverage":true},{"functionName":"getDeprecationWarningEmitter","ranges":[{"startOffset":2660,"endOffset":3309,"count":1}],"isBlockCoverage":false},{"functionName":"shouldEmitWarning","ranges":[{"startOffset":2759,"endOffset":2769,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2806,"endOffset":3306,"count":0}],"isBlockCoverage":false},{"functionName":"deprecate","ranges":[{"startOffset":4058,"endOffset":5056,"count":1}],"isBlockCoverage":false},{"functionName":"deprecated","ranges":[{"startOffset":4482,"endOffset":4668,"count":0}],"isBlockCoverage":false},{"functionName":"defineOperation","ranges":[{"startOffset":15607,"endOffset":15808,"count":1}],"isBlockCoverage":false},{"functionName":"setOwnProperty","ranges":[{"startOffset":18868,"endOffset":19058,"count":3}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21160,"endOffset":21288,"count":4},{"startOffset":21204,"endOffset":21266,"count":2}],"isBlockCoverage":true},{"functionName":"setupCoverageHooks","ranges":[{"startOffset":21416,"endOffset":22093,"count":1},{"startOffset":21886,"endOffset":22063,"count":0}],"isBlockCoverage":true}]},{"scriptId":"22","url":"node:internal/options","functions":[{"functionName":"getCLIOptionsFromBinding","ranges":[{"startOffset":464,"endOffset":598,"count":47},{"startOffset":521,"endOffset":575,"count":1}],"isBlockCoverage":true},{"functionName":"getEmbedderOptions","ranges":[{"startOffset":733,"endOffset":877,"count":1}],"isBlockCoverage":true},{"functionName":"refreshOptions","ranges":[{"startOffset":879,"endOffset":960,"count":1}],"isBlockCoverage":true},{"functionName":"getOptionValue","ranges":[{"startOffset":962,"endOffset":1228,"count":47},{"startOffset":1084,"endOffset":1185,"count":5},{"startOffset":1185,"endOffset":1225,"count":42}],"isBlockCoverage":true}]},{"scriptId":"26","url":"node:internal/util/inspect","functions":[{"functionName":"inspect","ranges":[{"startOffset":8996,"endOffset":11022,"count":1},{"startOffset":9848,"endOffset":10044,"count":0},{"startOffset":10114,"endOffset":10150,"count":0},{"startOffset":10255,"endOffset":10789,"count":3},{"startOffset":10551,"endOffset":10581,"count":0},{"startOffset":10626,"endOffset":10781,"count":0},{"startOffset":10818,"endOffset":10849,"count":0},{"startOffset":10885,"endOffset":10915,"count":0},{"startOffset":10952,"endOffset":10983,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":11133,"endOffset":11178,"count":1}],"isBlockCoverage":true},{"functionName":"isInstanceof","ranges":[{"startOffset":17341,"endOffset":17459,"count":1},{"startOffset":17428,"endOffset":17457,"count":0}],"isBlockCoverage":true},{"functionName":"getConstructorName","ranges":[{"startOffset":17461,"endOffset":18730,"count":1},{"startOffset":17577,"endOffset":17605,"count":0},{"startOffset":17607,"endOffset":18246,"count":2},{"startOffset":17717,"endOffset":17766,"count":1},{"startOffset":17767,"endOffset":17806,"count":1},{"startOffset":17807,"endOffset":17853,"count":1},{"startOffset":17855,"endOffset":18138,"count":1},{"startOffset":17892,"endOffset":17979,"count":0},{"startOffset":17981,"endOffset":18088,"count":0},{"startOffset":18138,"endOffset":18242,"count":1},{"startOffset":18246,"endOffset":18399,"count":0},{"startOffset":18401,"endOffset":18729,"count":0}],"isBlockCoverage":true},{"functionName":"getKeys","ranges":[{"startOffset":21176,"endOffset":22167,"count":1},{"startOffset":21298,"endOffset":21424,"count":0},{"startOffset":21773,"endOffset":21953,"count":0},{"startOffset":21984,"endOffset":22146,"count":0}],"isBlockCoverage":true},{"functionName":"filter","ranges":[{"startOffset":22007,"endOffset":22063,"count":0}],"isBlockCoverage":false},{"functionName":"formatValue","ranges":[{"startOffset":23066,"endOffset":25823,"count":1},{"startOffset":23204,"endOffset":23240,"count":0},{"startOffset":23241,"endOffset":23278,"count":0},{"startOffset":23280,"endOffset":23338,"count":0},{"startOffset":23361,"endOffset":23406,"count":0},{"startOffset":23682,"endOffset":23898,"count":0},{"startOffset":24050,"endOffset":25199,"count":0},{"startOffset":25389,"endOffset":25762,"count":0}],"isBlockCoverage":true},{"functionName":"formatRaw","ranges":[{"startOffset":25825,"endOffset":36716,"count":1},{"startOffset":25935,"endOffset":25987,"count":0},{"startOffset":25989,"endOffset":26015,"count":0},{"startOffset":26180,"endOffset":26206,"count":0},{"startOffset":26208,"endOffset":26241,"count":0},{"startOffset":26423,"endOffset":26599,"count":0},{"startOffset":26761,"endOffset":26777,"count":0},{"startOffset":27084,"endOffset":30058,"count":0},{"startOffset":30181,"endOffset":30466,"count":0},{"startOffset":30505,"endOffset":30669,"count":0},{"startOffset":30696,"endOffset":31158,"count":0},{"startOffset":31183,"endOffset":31613,"count":0},{"startOffset":31786,"endOffset":34033,"count":0},{"startOffset":34037,"endOffset":34091,"count":0},{"startOffset":34093,"endOffset":34795,"count":0},{"startOffset":34800,"endOffset":36073,"count":0},{"startOffset":36675,"endOffset":36715,"count":0}],"isBlockCoverage":true},{"functionName":"getStackString","ranges":[{"startOffset":40547,"endOffset":40657,"count":1},{"startOffset":40623,"endOffset":40654,"count":0}],"isBlockCoverage":true},{"functionName":"getStackFrames","ranges":[{"startOffset":40659,"endOffset":41550,"count":1},{"startOffset":40803,"endOffset":40868,"count":0},{"startOffset":40945,"endOffset":40962,"count":0},{"startOffset":40964,"endOffset":41531,"count":0}],"isBlockCoverage":true},{"functionName":"improveStack","ranges":[{"startOffset":41552,"endOffset":42757,"count":1},{"startOffset":41894,"endOffset":41970,"count":0},{"startOffset":41973,"endOffset":42739,"count":0}],"isBlockCoverage":true},{"functionName":"removeDuplicateErrorKeys","ranges":[{"startOffset":42759,"endOffset":43182,"count":1},{"startOffset":42862,"endOffset":43180,"count":0}],"isBlockCoverage":true},{"functionName":"formatError","ranges":[{"startOffset":44787,"endOffset":47182,"count":1},{"startOffset":44895,"endOffset":44904,"count":0},{"startOffset":45015,"endOffset":45085,"count":0},{"startOffset":45087,"endOffset":45131,"count":0},{"startOffset":45213,"endOffset":45284,"count":0},{"startOffset":45286,"endOffset":45331,"count":0},{"startOffset":45523,"endOffset":45528,"count":0},{"startOffset":45736,"endOffset":45767,"count":0},{"startOffset":45990,"endOffset":46825,"count":0},{"startOffset":47015,"endOffset":47164,"count":0}],"isBlockCoverage":true}]},{"scriptId":"27","url":"node:internal/assert","functions":[{"functionName":"assert","ranges":[{"startOffset":157,"endOffset":307,"count":2},{"startOffset":205,"endOffset":305,"count":0}],"isBlockCoverage":true}]},{"scriptId":"28","url":"node:internal/util/debuglog","functions":[{"functionName":"initializeDebugEnv","ranges":[{"startOffset":519,"endOffset":991,"count":1},{"startOffset":610,"endOffset":947,"count":0}],"isBlockCoverage":true},{"functionName":"testEnabled","ranges":[{"startOffset":885,"endOffset":942,"count":0}],"isBlockCoverage":false},{"functionName":"testEnabled","ranges":[{"startOffset":973,"endOffset":984,"count":2}],"isBlockCoverage":true},{"functionName":"noop","ranges":[{"startOffset":1419,"endOffset":1427,"count":2}],"isBlockCoverage":true},{"functionName":"debuglogImpl","ranges":[{"startOffset":1548,"endOffset":2106,"count":2},{"startOffset":1623,"endOffset":2078,"count":1},{"startOffset":1642,"endOffset":2031,"count":0}],"isBlockCoverage":true},{"functionName":"debug","ranges":[{"startOffset":1731,"endOffset":2024,"count":0}],"isBlockCoverage":false},{"functionName":"debuglog","ranges":[{"startOffset":2326,"endOffset":3352,"count":1}],"isBlockCoverage":false},{"functionName":"init","ranges":[{"startOffset":2357,"endOffset":2453,"count":2}],"isBlockCoverage":true},{"functionName":"debug","ranges":[{"startOffset":2468,"endOffset":2862,"count":2},{"startOffset":2715,"endOffset":2745,"count":0},{"startOffset":2752,"endOffset":2791,"count":1},{"startOffset":2798,"endOffset":2852,"count":1}],"isBlockCoverage":true},{"functionName":"test","ranges":[{"startOffset":2892,"endOffset":2961,"count":0}],"isBlockCoverage":false},{"functionName":"logger","ranges":[{"startOffset":2980,"endOffset":3175,"count":2},{"startOffset":3028,"endOffset":3058,"count":0},{"startOffset":3065,"endOffset":3104,"count":1},{"startOffset":3111,"endOffset":3165,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3246,"endOffset":3280,"count":0}],"isBlockCoverage":false}]},{"scriptId":"29","url":"node:events","functions":[{"functionName":"EventEmitter","ranges":[{"startOffset":6339,"endOffset":6408,"count":1}],"isBlockCoverage":false},{"functionName":"checkListener","ranges":[{"startOffset":7859,"endOffset":7937,"count":1}],"isBlockCoverage":false},{"functionName":"EventEmitter.init","ranges":[{"startOffset":9989,"endOffset":10586,"count":1}],"isBlockCoverage":false},{"functionName":"emit","ranges":[{"startOffset":13467,"endOffset":15770,"count":4}],"isBlockCoverage":false},{"functionName":"_addListener","ranges":[{"startOffset":15773,"endOffset":17666,"count":1}],"isBlockCoverage":false},{"functionName":"addListener","ranges":[{"startOffset":17844,"endOffset":17936,"count":1}],"isBlockCoverage":false}]},{"scriptId":"31","url":"node:internal/buffer","functions":[{"functionName":"reconnectZeroFillToggle","ranges":[{"startOffset":30682,"endOffset":30754,"count":1}],"isBlockCoverage":true}]},{"scriptId":"33","url":"node:internal/process/per_thread","functions":[{"functionName":"refreshHrtimeBuffer","ranges":[{"startOffset":1323,"endOffset":1791,"count":1}],"isBlockCoverage":false},{"functionName":"toggleTraceCategoryState","ranges":[{"startOffset":11885,"endOffset":12215,"count":1},{"startOffset":11965,"endOffset":12140,"count":0},{"startOffset":12172,"endOffset":12213,"count":0}],"isBlockCoverage":true}]},{"scriptId":"39","url":"node:internal/process/execution","functions":[{"functionName":"tryGetCwd","ranges":[{"startOffset":702,"endOffset":1032,"count":2},{"startOffset":763,"endOffset":1030,"count":0}],"isBlockCoverage":true},{"functionName":"evalScript","ranges":[{"startOffset":1430,"endOffset":3662,"count":1},{"startOffset":3583,"endOffset":3638,"count":0}],"isBlockCoverage":true},{"functionName":"runScript","ranges":[{"startOffset":2107,"endOffset":3559,"count":1},{"startOffset":3398,"endOffset":3555,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":2548,"endOffset":3380,"count":1}],"isBlockCoverage":true},{"functionName":"importModuleDynamically","ranges":[{"startOffset":2610,"endOffset":2801,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5369,"endOffset":6888,"count":1},{"startOffset":5593,"endOffset":5615,"count":0},{"startOffset":5745,"endOffset":5795,"count":0},{"startOffset":6167,"endOffset":6236,"count":0},{"startOffset":6262,"endOffset":6887,"count":0}],"isBlockCoverage":true}]},{"scriptId":"40","url":"node:path","functions":[{"functionName":"isPosixPathSeparator","ranges":[{"startOffset":1825,"endOffset":1902,"count":337}],"isBlockCoverage":true},{"functionName":"normalizeString","ranges":[{"startOffset":2137,"endOffset":4085,"count":8},{"startOffset":2354,"endOffset":4069,"count":336},{"startOffset":2387,"endOffset":2429,"count":328},{"startOffset":2429,"endOffset":2520,"count":8},{"startOffset":2472,"endOffset":2478,"count":7},{"startOffset":2478,"endOffset":2520,"count":1},{"startOffset":2520,"endOffset":2553,"count":329},{"startOffset":2553,"endOffset":3970,"count":56},{"startOffset":2585,"endOffset":2598,"count":48},{"startOffset":2600,"endOffset":2625,"count":8},{"startOffset":2625,"endOffset":3927,"count":48},{"startOffset":2647,"endOffset":3682,"count":2},{"startOffset":2703,"endOffset":2777,"count":0},{"startOffset":2778,"endOffset":2852,"count":0},{"startOffset":3006,"endOffset":3082,"count":0},{"startOffset":3363,"endOffset":3532,"count":0},{"startOffset":3542,"endOffset":3674,"count":0},{"startOffset":3682,"endOffset":3927,"count":46},{"startOffset":3728,"endOffset":3797,"count":38},{"startOffset":3797,"endOffset":3872,"count":8},{"startOffset":3927,"endOffset":3970,"count":54},{"startOffset":3970,"endOffset":4065,"count":273},{"startOffset":3998,"endOffset":4012,"count":6},{"startOffset":4014,"endOffset":4035,"count":6},{"startOffset":4035,"endOffset":4065,"count":267}],"isBlockCoverage":true},{"functionName":"resolve","ranges":[{"startOffset":33812,"endOffset":34735,"count":7},{"startOffset":33935,"endOffset":33955,"count":20},{"startOffset":33962,"endOffset":34289,"count":13},{"startOffset":34000,"endOffset":34012,"count":0},{"startOffset":34115,"endOffset":34142,"count":0},{"startOffset":34674,"endOffset":34724,"count":0},{"startOffset":34725,"endOffset":34730,"count":0}],"isBlockCoverage":true},{"functionName":"normalize","ranges":[{"startOffset":34801,"endOffset":35414,"count":1},{"startOffset":34887,"endOffset":34898,"count":0},{"startOffset":35226,"endOffset":35320,"count":0},{"startOffset":35354,"endOffset":35366,"count":0},{"startOffset":35403,"endOffset":35409,"count":0}],"isBlockCoverage":true},{"functionName":"join","ranges":[{"startOffset":35706,"endOffset":36120,"count":1},{"startOffset":35755,"endOffset":35766,"count":0},{"startOffset":35825,"endOffset":36032,"count":2},{"startOffset":35961,"endOffset":36018,"count":1},{"startOffset":36069,"endOffset":36080,"count":0}],"isBlockCoverage":true},{"functionName":"dirname","ranges":[{"startOffset":38778,"endOffset":39454,"count":3},{"startOffset":38861,"endOffset":38872,"count":0},{"startOffset":39046,"endOffset":39299,"count":23},{"startOffset":39117,"endOffset":39201,"count":0},{"startOffset":39342,"endOffset":39347,"count":0},{"startOffset":39354,"endOffset":39383,"count":0},{"startOffset":39391,"endOffset":39453,"count":0}],"isBlockCoverage":true}]},{"scriptId":"42","url":"node:internal/vm","functions":[{"functionName":"registerImportModuleDynamically","ranges":[{"startOffset":1761,"endOffset":2126,"count":1}],"isBlockCoverage":true},{"functionName":"internalCompileFunction","ranges":[{"startOffset":2128,"endOffset":3011,"count":1},{"startOffset":2574,"endOffset":2647,"count":0},{"startOffset":2674,"endOffset":2731,"count":0},{"startOffset":2787,"endOffset":2860,"count":0}],"isBlockCoverage":true},{"functionName":"makeContextifyScript","ranges":[{"startOffset":3013,"endOffset":4242,"count":1},{"startOffset":4101,"endOffset":4241,"count":0}],"isBlockCoverage":true}]},{"scriptId":"44","url":"node:internal/source_map/source_map_cache","functions":[{"functionName":"setSourceMapsEnabled","ranges":[{"startOffset":1924,"endOffset":2466,"count":1},{"startOffset":2032,"endOffset":2187,"count":0}],"isBlockCoverage":true}]},{"scriptId":"45","url":"node:internal/url","functions":[{"functionName":"","ranges":[{"startOffset":3902,"endOffset":4691,"count":1}],"isBlockCoverage":false},{"functionName":"get hasPort","ranges":[{"startOffset":4470,"endOffset":4535,"count":0}],"isBlockCoverage":false},{"functionName":"get hasSearch","ranges":[{"startOffset":4539,"endOffset":4614,"count":0}],"isBlockCoverage":false},{"functionName":"get hasHash","ranges":[{"startOffset":4618,"endOffset":4689,"count":0}],"isBlockCoverage":false},{"functionName":"isURL","ranges":[{"startOffset":17719,"endOffset":17814,"count":1}],"isBlockCoverage":true},{"functionName":"URL","ranges":[{"startOffset":17830,"endOffset":18256,"count":1},{"startOffset":17901,"endOffset":17949,"count":0},{"startOffset":18076,"endOffset":18107,"count":0},{"startOffset":18173,"endOffset":18220,"count":0}],"isBlockCoverage":true},{"functionName":"#updateContext","ranges":[{"startOffset":19117,"endOffset":20056,"count":1},{"startOffset":19853,"endOffset":20052,"count":0}],"isBlockCoverage":true},{"functionName":"get href","ranges":[{"startOffset":20174,"endOffset":20284,"count":1},{"startOffset":20215,"endOffset":20249,"count":0}],"isBlockCoverage":true},{"functionName":"encodePathChars","ranges":[{"startOffset":41184,"endOffset":41960,"count":1},{"startOffset":41277,"endOffset":41348,"count":0},{"startOffset":41476,"endOffset":41549,"count":0},{"startOffset":41607,"endOffset":41678,"count":0},{"startOffset":41736,"endOffset":41814,"count":0},{"startOffset":41872,"endOffset":41939,"count":0}],"isBlockCoverage":true},{"functionName":"pathToFileURL","ranges":[{"startOffset":41962,"endOffset":43939,"count":1},{"startOffset":42013,"endOffset":42059,"count":0},{"startOffset":42061,"endOffset":42826,"count":0},{"startOffset":43129,"endOffset":43168,"count":0},{"startOffset":43171,"endOffset":43222,"count":0},{"startOffset":43228,"endOffset":43244,"count":0},{"startOffset":43700,"endOffset":43772,"count":0},{"startOffset":43829,"endOffset":43897,"count":0}],"isBlockCoverage":true}]},{"scriptId":"50","url":"node:internal/console/constructor","functions":[{"functionName":"value","ranges":[{"startOffset":5848,"endOffset":6493,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":6057,"endOffset":6152,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":6164,"endOffset":6194,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6324,"endOffset":6423,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":6435,"endOffset":6465,"count":0}],"isBlockCoverage":false},{"functionName":"value","ranges":[{"startOffset":6585,"endOffset":7993,"count":1}],"isBlockCoverage":true},{"functionName":"createWriteErrorHandler","ranges":[{"startOffset":10678,"endOffset":11567,"count":2}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":10746,"endOffset":11564,"count":0}],"isBlockCoverage":false},{"functionName":"initializeGlobalConsole","ranges":[{"startOffset":20440,"endOffset":21479,"count":1},{"startOffset":20808,"endOffset":21478,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":21374,"endOffset":21475,"count":0}],"isBlockCoverage":false}]},{"scriptId":"52","url":"node:internal/event_target","functions":[{"functionName":"defineEventHandler","ranges":[{"startOffset":28495,"endOffset":29689,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":28679,"endOffset":28750,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":28756,"endOffset":29634,"count":0}],"isBlockCoverage":false}]},{"scriptId":"55","url":"node:internal/perf/utils","functions":[{"functionName":"refreshTimeOrigin","ranges":[{"startOffset":499,"endOffset":563,"count":1}],"isBlockCoverage":true}]},{"scriptId":"56","url":"node:internal/bootstrap/switches/is_main_thread","functions":[{"functionName":"createWritableStdioStream","ranges":[{"startOffset":1423,"endOffset":3025,"count":1},{"startOffset":1575,"endOffset":1709,"count":0},{"startOffset":1915,"endOffset":1927,"count":0},{"startOffset":1932,"endOffset":2644,"count":0},{"startOffset":2650,"endOffset":2904,"count":0}],"isBlockCoverage":true},{"functionName":"write","ranges":[{"startOffset":2840,"endOffset":2887,"count":0}],"isBlockCoverage":false},{"functionName":"addCleanup","ranges":[{"startOffset":3638,"endOffset":3729,"count":1},{"startOffset":3692,"endOffset":3727,"count":0}],"isBlockCoverage":true},{"functionName":"getStderr","ranges":[{"startOffset":4425,"endOffset":5116,"count":2},{"startOffset":4462,"endOffset":4710,"count":1},{"startOffset":4710,"endOffset":4768,"count":0},{"startOffset":4768,"endOffset":5115,"count":1}],"isBlockCoverage":true},{"functionName":"cleanupStderr","ranges":[{"startOffset":4782,"endOffset":4960,"count":0}],"isBlockCoverage":false}]},{"scriptId":"57","url":"node:internal/v8/startup_snapshot","functions":[{"functionName":"isBuildingSnapshot","ranges":[{"startOffset":370,"endOffset":531,"count":4}],"isBlockCoverage":true},{"functionName":"runDeserializeCallbacks","ranges":[{"startOffset":725,"endOffset":898,"count":1},{"startOffset":804,"endOffset":896,"count":0}],"isBlockCoverage":true}]},{"scriptId":"58","url":"node:internal/process/signal","functions":[{"functionName":"isSignal","ranges":[{"startOffset":238,"endOffset":334,"count":1}],"isBlockCoverage":false},{"functionName":"startListeningIfSignal","ranges":[{"startOffset":398,"endOffset":904,"count":1}],"isBlockCoverage":false}]},{"scriptId":"63","url":"node:internal/modules/cjs/loader","functions":[{"functionName":"get hasLoadedAnyUserCJSModule","ranges":[{"startOffset":2204,"endOffset":2273,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3441,"endOffset":3532,"count":1},{"startOffset":3488,"endOffset":3524,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":3581,"endOffset":3624,"count":1}],"isBlockCoverage":true},{"functionName":"updateChildren","ranges":[{"startOffset":6066,"endOffset":6268,"count":2},{"startOffset":6138,"endOffset":6148,"count":0},{"startOffset":6165,"endOffset":6218,"count":0},{"startOffset":6220,"endOffset":6266,"count":0}],"isBlockCoverage":true},{"functionName":"reportModuleToWatchMode","ranges":[{"startOffset":6385,"endOffset":6541,"count":1},{"startOffset":6466,"endOffset":6481,"count":0},{"startOffset":6483,"endOffset":6539,"count":0}],"isBlockCoverage":true},{"functionName":"Module","ranges":[{"startOffset":7135,"endOffset":7892,"count":2},{"startOffset":7448,"endOffset":7458,"count":0},{"startOffset":7476,"endOffset":7840,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":9854,"endOffset":9879,"count":1}],"isBlockCoverage":true},{"functionName":"initializeCJS","ranges":[{"startOffset":10599,"endOffset":11099,"count":1}],"isBlockCoverage":true},{"functionName":"Module._nodeModulePaths","ranges":[{"startOffset":24047,"endOffset":25235,"count":1},{"startOffset":24319,"endOffset":24358,"count":0},{"startOffset":24679,"endOffset":25113,"count":49},{"startOffset":24775,"endOffset":24983,"count":7},{"startOffset":24983,"endOffset":25107,"count":42},{"startOffset":25003,"endOffset":25107,"count":9},{"startOffset":25038,"endOffset":25064,"count":2},{"startOffset":25064,"endOffset":25099,"count":7}],"isBlockCoverage":true},{"functionName":"Module._load","ranges":[{"startOffset":29423,"endOffset":32576,"count":1},{"startOffset":29965,"endOffset":30330,"count":0},{"startOffset":30387,"endOffset":30659,"count":0},{"startOffset":30812,"endOffset":31182,"count":0},{"startOffset":31325,"endOffset":31455,"count":0},{"startOffset":31472,"endOffset":32575,"count":0}],"isBlockCoverage":true},{"functionName":"Module._resolveFilename","ranges":[{"startOffset":33038,"endOffset":36174,"count":1},{"startOffset":33160,"endOffset":33229,"count":0},{"startOffset":33231,"endOffset":34467,"count":0},{"startOffset":34469,"endOffset":36173,"count":0}],"isBlockCoverage":true},{"functionName":"Module.require","ranges":[{"startOffset":38967,"endOffset":39266,"count":1},{"startOffset":39027,"endOffset":39145,"count":0}],"isBlockCoverage":true},{"functionName":"wrapSafe","ranges":[{"startOffset":39792,"endOffset":42146,"count":1},{"startOffset":40177,"endOffset":40945,"count":0},{"startOffset":41808,"endOffset":41906,"count":0},{"startOffset":41940,"endOffset":42144,"count":0}],"isBlockCoverage":true},{"functionName":"importModuleDynamically","ranges":[{"startOffset":39909,"endOffset":40161,"count":0}],"isBlockCoverage":false},{"functionName":"Module._compile","ranges":[{"startOffset":42467,"endOffset":44293,"count":1},{"startOffset":42558,"endOffset":42568,"count":0},{"startOffset":42586,"endOffset":42739,"count":0},{"startOffset":42872,"endOffset":42896,"count":0},{"startOffset":42898,"endOffset":43634,"count":0},{"startOffset":43912,"endOffset":44051,"count":0}],"isBlockCoverage":true},{"functionName":"Module._initPaths","ranges":[{"startOffset":49087,"endOffset":50052,"count":1},{"startOffset":49128,"endOffset":49153,"count":0},{"startOffset":49205,"endOffset":49228,"count":0},{"startOffset":49436,"endOffset":49478,"count":0},{"startOffset":49777,"endOffset":49919,"count":0}],"isBlockCoverage":true}]},{"scriptId":"64","url":"node:internal/modules/helpers","functions":[{"functionName":"","ranges":[{"startOffset":1054,"endOffset":1079,"count":1}],"isBlockCoverage":true},{"functionName":"initializeCjsConditions","ranges":[{"startOffset":1796,"endOffset":2188,"count":1},{"startOffset":1975,"endOffset":1979,"count":0}],"isBlockCoverage":true},{"functionName":"loadBuiltinModule","ranges":[{"startOffset":2609,"endOffset":2989,"count":1},{"startOffset":2698,"endOffset":2715,"count":0}],"isBlockCoverage":true},{"functionName":"lazyModule","ranges":[{"startOffset":3082,"endOffset":3195,"count":1}],"isBlockCoverage":true},{"functionName":"makeRequireFunction","ranges":[{"startOffset":3784,"endOffset":6316,"count":1},{"startOffset":3923,"endOffset":3986,"count":0},{"startOffset":4053,"endOffset":5324,"count":0}],"isBlockCoverage":true},{"functionName":"require","ranges":[{"startOffset":4196,"endOffset":5319,"count":0}],"isBlockCoverage":false},{"functionName":"require","ranges":[{"startOffset":5346,"endOffset":5486,"count":0}],"isBlockCoverage":false},{"functionName":"resolve","ranges":[{"startOffset":5672,"endOffset":5818,"count":0}],"isBlockCoverage":false},{"functionName":"paths","ranges":[{"startOffset":5963,"endOffset":6085,"count":0}],"isBlockCoverage":false},{"functionName":"addBuiltinLibsToObject","ranges":[{"startOffset":6956,"endOffset":8916,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":7455,"endOffset":8912,"count":67},{"startOffset":7645,"endOffset":7690,"count":53},{"startOffset":7691,"endOffset":7745,"count":42},{"startOffset":7747,"endOffset":7768,"count":27},{"startOffset":7768,"endOffset":8911,"count":40}],"isBlockCoverage":true},{"functionName":"setReal","ranges":[{"startOffset":8070,"endOffset":8240,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8318,"endOffset":8828,"count":1},{"startOffset":8708,"endOffset":8799,"count":0}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8584,"endOffset":8593,"count":0}],"isBlockCoverage":false}]},{"scriptId":"66","url":"node:internal/modules/esm/utils","functions":[{"functionName":"initializeDefaultConditions","ranges":[{"startOffset":1427,"endOffset":1809,"count":1},{"startOffset":1610,"endOffset":1614,"count":0}],"isBlockCoverage":true},{"functionName":"registerModule","ranges":[{"startOffset":3981,"endOffset":4524,"count":1},{"startOffset":4186,"endOffset":4399,"count":0}],"isBlockCoverage":true},{"functionName":"initializeESM","ranges":[{"startOffset":6352,"endOffset":6728,"count":1}],"isBlockCoverage":true}]},{"scriptId":"67","url":"node:internal/process/pre_execution","functions":[{"functionName":"prepareMainThreadExecution","ranges":[{"startOffset":756,"endOffset":940,"count":1}],"isBlockCoverage":true},{"functionName":"prepareExecution","ranges":[{"startOffset":1143,"endOffset":3296,"count":1},{"startOffset":2063,"endOffset":2167,"count":0},{"startOffset":3055,"endOffset":3217,"count":0}],"isBlockCoverage":true},{"functionName":"setupSymbolDisposePolyfill","ranges":[{"startOffset":3298,"endOffset":4033,"count":1}],"isBlockCoverage":true},{"functionName":"setupUserModules","ranges":[{"startOffset":4035,"endOffset":4463,"count":1},{"startOffset":4344,"endOffset":4361,"count":0}],"isBlockCoverage":true},{"functionName":"refreshRuntimeOptions","ranges":[{"startOffset":4465,"endOffset":4521,"count":1}],"isBlockCoverage":true},{"functionName":"patchProcessObject","ranges":[{"startOffset":4948,"endOffset":7392,"count":1},{"startOffset":5778,"endOffset":5796,"count":0},{"startOffset":5797,"endOffset":5854,"count":0},{"startOffset":5856,"endOffset":6096,"count":0}],"isBlockCoverage":true},{"functionName":"addReadOnlyProcessAlias","ranges":[{"startOffset":7394,"endOffset":7675,"count":13},{"startOffset":7515,"endOffset":7673,"count":2}],"isBlockCoverage":true},{"functionName":"setupWarningHandler","ranges":[{"startOffset":7677,"endOffset":8197,"count":1},{"startOffset":8052,"endOffset":8191,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8081,"endOffset":8183,"count":0}],"isBlockCoverage":false},{"functionName":"setupFetch","ranges":[{"startOffset":8233,"endOffset":9384,"count":1},{"startOffset":8364,"endOffset":8381,"count":0}],"isBlockCoverage":true},{"functionName":"lazyUndici","ranges":[{"startOffset":8399,"endOffset":8544,"count":0}],"isBlockCoverage":false},{"functionName":"fetch","ranges":[{"startOffset":8548,"endOffset":8643,"count":0}],"isBlockCoverage":false},{"functionName":"lazyInterface","ranges":[{"startOffset":8695,"endOffset":8936,"count":4}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":8796,"endOffset":8846,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":8854,"endOffset":8924,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9269,"endOffset":9380,"count":0}],"isBlockCoverage":false},{"functionName":"setupWebCrypto","ranges":[{"startOffset":9490,"endOffset":9940,"count":1},{"startOffset":9651,"endOffset":9938,"count":0}],"isBlockCoverage":true},{"functionName":"setupCodeCoverage","ranges":[{"startOffset":9942,"endOffset":10463,"count":1}],"isBlockCoverage":true},{"functionName":"setupCustomEvent","ranges":[{"startOffset":10571,"endOffset":10857,"count":1},{"startOffset":10736,"endOffset":10856,"count":0}],"isBlockCoverage":true},{"functionName":"setupStacktracePrinterOnSigint","ranges":[{"startOffset":10859,"endOffset":11084,"count":1},{"startOffset":10961,"endOffset":11083,"count":0}],"isBlockCoverage":true},{"functionName":"initializeReport","ranges":[{"startOffset":11086,"endOffset":11335,"count":1}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":11231,"endOffset":11326,"count":0}],"isBlockCoverage":false},{"functionName":"setupDebugEnv","ranges":[{"startOffset":11337,"endOffset":11568,"count":1},{"startOffset":11488,"endOffset":11566,"count":0}],"isBlockCoverage":true},{"functionName":"initializeReportSignalHandlers","ranges":[{"startOffset":11630,"endOffset":11818,"count":1},{"startOffset":11718,"endOffset":11816,"count":0}],"isBlockCoverage":true},{"functionName":"initializeHeapSnapshotSignalHandlers","ranges":[{"startOffset":11820,"endOffset":12401,"count":1},{"startOffset":11955,"endOffset":12399,"count":0}],"isBlockCoverage":true},{"functionName":"doWriteHeapSnapshot","ranges":[{"startOffset":12068,"endOffset":12129,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":12321,"endOffset":12393,"count":0}],"isBlockCoverage":false},{"functionName":"setupTraceCategoryState","ranges":[{"startOffset":12403,"endOffset":12662,"count":1}],"isBlockCoverage":true},{"functionName":"setupPerfHooks","ranges":[{"startOffset":12664,"endOffset":12747,"count":1}],"isBlockCoverage":true},{"functionName":"setupInspectorHooks","ranges":[{"startOffset":12749,"endOffset":13331,"count":1}],"isBlockCoverage":true},{"functionName":"initializeDeprecations","ranges":[{"startOffset":13526,"endOffset":15478,"count":1},{"startOffset":14238,"endOffset":14540,"count":16},{"startOffset":14283,"endOffset":14515,"count":0},{"startOffset":14857,"endOffset":15054,"count":0},{"startOffset":15082,"endOffset":15476,"count":0}],"isBlockCoverage":true},{"functionName":"setupChildProcessIpcChannel","ranges":[{"startOffset":15480,"endOffset":16045,"count":1},{"startOffset":15556,"endOffset":16043,"count":0}],"isBlockCoverage":true},{"functionName":"initializeClusterIPC","ranges":[{"startOffset":16047,"endOffset":16317,"count":1},{"startOffset":16134,"endOffset":16315,"count":0}],"isBlockCoverage":true},{"functionName":"readPolicyFromDisk","ranges":[{"startOffset":16319,"endOffset":18138,"count":1},{"startOffset":16447,"endOffset":18136,"count":0}],"isBlockCoverage":true},{"functionName":"initializeCJSLoader","ranges":[{"startOffset":18140,"endOffset":18261,"count":1}],"isBlockCoverage":true},{"functionName":"initializeESMLoader","ranges":[{"startOffset":18263,"endOffset":18838,"count":1},{"startOffset":18591,"endOffset":18836,"count":0}],"isBlockCoverage":true},{"functionName":"initializeSourceMapsHandlers","ranges":[{"startOffset":18840,"endOffset":19038,"count":1}],"isBlockCoverage":true},{"functionName":"initializeFrozenIntrinsics","ranges":[{"startOffset":19040,"endOffset":19297,"count":1},{"startOffset":19125,"endOffset":19295,"count":0}],"isBlockCoverage":true},{"functionName":"loadPreloadModules","ranges":[{"startOffset":19299,"endOffset":19647,"count":1},{"startOffset":19493,"endOffset":19645,"count":0}],"isBlockCoverage":true},{"functionName":"markBootstrapComplete","ranges":[{"startOffset":19649,"endOffset":19743,"count":1}],"isBlockCoverage":true}]},{"scriptId":"68","url":"node:internal/vm/module","functions":[{"functionName":"importModuleDynamicallyWrap","ranges":[{"startOffset":11660,"endOffset":12139,"count":1}],"isBlockCoverage":true},{"functionName":"importModuleDynamicallyWrapper","ranges":[{"startOffset":11765,"endOffset":12095,"count":0}],"isBlockCoverage":false}]},{"scriptId":"71","url":"node:internal/dns/utils","functions":[{"functionName":"initializeDns","ranges":[{"startOffset":5443,"endOffset":5829,"count":1},{"startOffset":5586,"endOffset":5696,"count":0},{"startOffset":5744,"endOffset":5828,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":5769,"endOffset":5825,"count":0}],"isBlockCoverage":false}]},{"scriptId":"73","url":"node:internal/bootstrap/switches/does_own_process_state","functions":[{"functionName":"wrappedCwd","ranges":[{"startOffset":3330,"endOffset":3433,"count":2},{"startOffset":3382,"endOffset":3411,"count":1}],"isBlockCoverage":true}]},{"scriptId":"390","url":"node:internal/main/eval_string","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1088,"count":1}],"isBlockCoverage":false}]},{"scriptId":"391","url":"node:module","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":397,"count":1}],"isBlockCoverage":false}]},{"scriptId":"392","url":"node:internal/modules/esm/loader","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":21355,"count":1}],"isBlockCoverage":false},{"functionName":"newResolveCache","ranges":[{"startOffset":890,"endOffset":1020,"count":0}],"isBlockCoverage":false},{"functionName":"newLoadCache","ranges":[{"startOffset":1176,"endOffset":1297,"count":0}],"isBlockCoverage":false},{"functionName":"getTranslators","ranges":[{"startOffset":1459,"endOffset":1581,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":2316,"endOffset":14669,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":14723,"endOffset":17130,"count":0}],"isBlockCoverage":false},{"functionName":"createModuleLoader","ranges":[{"startOffset":17626,"endOffset":19308,"count":0}],"isBlockCoverage":false},{"functionName":"getHooksProxy","ranges":[{"startOffset":19421,"endOffset":19597,"count":0}],"isBlockCoverage":false},{"functionName":"register","ranges":[{"startOffset":20881,"endOffset":21280,"count":0}],"isBlockCoverage":false}]},{"scriptId":"393","url":"node:internal/source_map/source_map","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":11673,"count":1}],"isBlockCoverage":false},{"functionName":"StringCharIterator","ranges":[{"startOffset":4000,"endOffset":4076,"count":0}],"isBlockCoverage":false},{"functionName":"next","ranges":[{"startOffset":4114,"endOffset":4192,"count":0}],"isBlockCoverage":false},{"functionName":"peek","ranges":[{"startOffset":4230,"endOffset":4306,"count":0}],"isBlockCoverage":false},{"functionName":"hasNext","ranges":[{"startOffset":4345,"endOffset":4409,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":4550,"endOffset":9636,"count":0}],"isBlockCoverage":false},{"functionName":"isSeparator","ranges":[{"startOffset":9691,"endOffset":9760,"count":0}],"isBlockCoverage":false},{"functionName":"decodeVLQ","ranges":[{"startOffset":9850,"endOffset":10783,"count":0}],"isBlockCoverage":false},{"functionName":"cloneSourceMapV3","ranges":[{"startOffset":10850,"endOffset":11162,"count":0}],"isBlockCoverage":false},{"functionName":"compareSourceMapEntry","ranges":[{"startOffset":11357,"endOffset":11636,"count":0}],"isBlockCoverage":false}]},{"scriptId":"394","url":"node:internal/process/esm_loader","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1190,"count":1}],"isBlockCoverage":false},{"functionName":"get esmLoader","ranges":[{"startOffset":386,"endOffset":458,"count":0}],"isBlockCoverage":false},{"functionName":"loadESM","ranges":[{"startOffset":462,"endOffset":1185,"count":0}],"isBlockCoverage":false}]},{"scriptId":"395","url":"[eval]-wrapper","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":182,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":160,"endOffset":176,"count":1}],"isBlockCoverage":true}]},{"scriptId":"397","url":"node:internal/util/colors","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1122,"count":1}],"isBlockCoverage":false},{"functionName":"lazyInternalTTY","ranges":[{"startOffset":32,"endOffset":127,"count":0}],"isBlockCoverage":false},{"functionName":"shouldColorize","ranges":[{"startOffset":244,"endOffset":504,"count":1},{"startOffset":316,"endOffset":375,"count":0},{"startOffset":401,"endOffset":499,"count":0}],"isBlockCoverage":true},{"functionName":"refresh","ranges":[{"startOffset":508,"endOffset":1090,"count":1},{"startOffset":550,"endOffset":1086,"count":0}],"isBlockCoverage":true}]},{"scriptId":"398","url":"node:internal/fs/sync_write_stream","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1094,"count":1}],"isBlockCoverage":false},{"functionName":"SyncWriteStream","ranges":[{"startOffset":221,"endOffset":478,"count":1},{"startOffset":339,"endOffset":354,"count":0},{"startOffset":449,"endOffset":455,"count":0}],"isBlockCoverage":true},{"functionName":"SyncWriteStream._write","ranges":[{"startOffset":634,"endOffset":774,"count":0}],"isBlockCoverage":false},{"functionName":"SyncWriteStream._destroy","ranges":[{"startOffset":814,"endOffset":979,"count":0}],"isBlockCoverage":false}]},{"scriptId":"399","url":"node:stream","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4784,"count":1}],"isBlockCoverage":false},{"functionName":"fn","ranges":[{"startOffset":2402,"endOffset":2558,"count":0}],"isBlockCoverage":false},{"functionName":"fn","ranges":[{"startOffset":2983,"endOffset":3117,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4105,"endOffset":4137,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4235,"endOffset":4276,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4369,"endOffset":4410,"count":0}],"isBlockCoverage":false},{"functionName":"_uint8ArrayToBuffer","ranges":[{"startOffset":4575,"endOffset":4782,"count":0}],"isBlockCoverage":false}]},{"scriptId":"400","url":"node:internal/streams/operators","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10772,"count":1}],"isBlockCoverage":false},{"functionName":"compose","ranges":[{"startOffset":1019,"endOffset":1599,"count":0}],"isBlockCoverage":false},{"functionName":"map","ranges":[{"startOffset":1601,"endOffset":4704,"count":0}],"isBlockCoverage":false},{"functionName":"asIndexedPairs","ranges":[{"startOffset":4706,"endOffset":5179,"count":0}],"isBlockCoverage":false},{"functionName":"some","ranges":[{"startOffset":5181,"endOffset":5329,"count":0}],"isBlockCoverage":false},{"functionName":"every","ranges":[{"startOffset":5331,"endOffset":5659,"count":0}],"isBlockCoverage":false},{"functionName":"find","ranges":[{"startOffset":5661,"endOffset":5803,"count":0}],"isBlockCoverage":false},{"functionName":"forEach","ranges":[{"startOffset":5805,"endOffset":6175,"count":0}],"isBlockCoverage":false},{"functionName":"filter","ranges":[{"startOffset":6177,"endOffset":6504,"count":0}],"isBlockCoverage":false},{"functionName":"ReduceAwareErrMissingArgs","ranges":[{"startOffset":6720,"endOffset":6834,"count":0}],"isBlockCoverage":false},{"functionName":"reduce","ranges":[{"startOffset":6838,"endOffset":8280,"count":0}],"isBlockCoverage":false},{"functionName":"toArray","ranges":[{"startOffset":8282,"endOffset":8711,"count":0}],"isBlockCoverage":false},{"functionName":"flatMap","ranges":[{"startOffset":8713,"endOffset":8907,"count":0}],"isBlockCoverage":false},{"functionName":"toIntegerOrInfinity","ranges":[{"startOffset":8909,"endOffset":9231,"count":0}],"isBlockCoverage":false},{"functionName":"drop","ranges":[{"startOffset":9233,"endOffset":9781,"count":0}],"isBlockCoverage":false},{"functionName":"take","ranges":[{"startOffset":9783,"endOffset":10453,"count":0}],"isBlockCoverage":false}]},{"scriptId":"401","url":"node:internal/abort_controller","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12781,"count":1}],"isBlockCoverage":false},{"functionName":"lazyMessageChannel","ranges":[{"startOffset":1574,"endOffset":1707,"count":0}],"isBlockCoverage":false},{"functionName":"lazyMakeTransferable","ranges":[{"startOffset":1709,"endOffset":1867,"count":0}],"isBlockCoverage":false},{"functionName":"customInspect","ranges":[{"startOffset":2337,"endOffset":2596,"count":0}],"isBlockCoverage":false},{"functionName":"validateThisAbortSignal","ranges":[{"startOffset":2598,"endOffset":2723,"count":0}],"isBlockCoverage":false},{"functionName":"setWeakAbortSignalTimeout","ranges":[{"startOffset":3305,"endOffset":3705,"count":0}],"isBlockCoverage":false},{"functionName":"AbortSignal","ranges":[{"startOffset":3749,"endOffset":3809,"count":0}],"isBlockCoverage":false},{"functionName":"get aborted","ranges":[{"startOffset":3846,"endOffset":3929,"count":0}],"isBlockCoverage":false},{"functionName":"get reason","ranges":[{"startOffset":3962,"endOffset":4041,"count":0}],"isBlockCoverage":false},{"functionName":"throwIfAborted","ranges":[{"startOffset":4045,"endOffset":4161,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":4165,"endOffset":4294,"count":0}],"isBlockCoverage":false},{"functionName":"abort","ranges":[{"startOffset":4372,"endOffset":4516,"count":0}],"isBlockCoverage":false},{"functionName":"timeout","ranges":[{"startOffset":4594,"endOffset":4856,"count":0}],"isBlockCoverage":false},{"functionName":"any","ranges":[{"startOffset":4943,"endOffset":6278,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6282,"endOffset":7050,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7054,"endOffset":7408,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7412,"endOffset":8019,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8023,"endOffset":8275,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8279,"endOffset":8727,"count":0}],"isBlockCoverage":false},{"functionName":"ClonedAbortSignal","ranges":[{"startOffset":8731,"endOffset":8815,"count":0}],"isBlockCoverage":false},{"functionName":"ClonedAbortSignal.","ranges":[{"startOffset":8860,"endOffset":8869,"count":0}],"isBlockCoverage":false},{"functionName":"createAbortSignal","ranges":[{"startOffset":9347,"endOffset":9760,"count":0}],"isBlockCoverage":false},{"functionName":"abortSignal","ranges":[{"startOffset":9762,"endOffset":10124,"count":0}],"isBlockCoverage":false},{"functionName":"validateAbortController","ranges":[{"startOffset":10301,"endOffset":10429,"count":0}],"isBlockCoverage":false},{"functionName":"AbortController","ranges":[{"startOffset":10457,"endOffset":10517,"count":0}],"isBlockCoverage":false},{"functionName":"get signal","ranges":[{"startOffset":10558,"endOffset":10637,"count":0}],"isBlockCoverage":false},{"functionName":"abort","ranges":[{"startOffset":10680,"endOffset":10837,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10841,"endOffset":10968,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10979,"endOffset":11147,"count":0}],"isBlockCoverage":false},{"functionName":"transferableAbortSignal","ranges":[{"startOffset":11297,"endOffset":11489,"count":0}],"isBlockCoverage":false},{"functionName":"transferableAbortController","ranges":[{"startOffset":11561,"endOffset":11650,"count":0}],"isBlockCoverage":false},{"functionName":"aborted","ranges":[{"startOffset":11744,"endOffset":12332,"count":0}],"isBlockCoverage":false}]},{"scriptId":"402","url":"node:internal/streams/end-of-stream","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8360,"count":1}],"isBlockCoverage":false},{"functionName":"isRequest","ranges":[{"startOffset":891,"endOffset":986,"count":0}],"isBlockCoverage":false},{"functionName":"nop","ranges":[{"startOffset":1000,"endOffset":1008,"count":0}],"isBlockCoverage":false},{"functionName":"eos","ranges":[{"startOffset":1011,"endOffset":6953,"count":0}],"isBlockCoverage":false},{"functionName":"eosWeb","ranges":[{"startOffset":6955,"endOffset":7840,"count":0}],"isBlockCoverage":false},{"functionName":"finished","ranges":[{"startOffset":7842,"endOffset":8300,"count":0}],"isBlockCoverage":false}]},{"scriptId":"403","url":"node:internal/streams/utils","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8416,"count":1}],"isBlockCoverage":false},{"functionName":"isReadableNodeStream","ranges":[{"startOffset":774,"endOffset":1191,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableNodeStream","ranges":[{"startOffset":1193,"endOffset":1413,"count":0}],"isBlockCoverage":false},{"functionName":"isDuplexNodeStream","ranges":[{"startOffset":1415,"endOffset":1614,"count":0}],"isBlockCoverage":false},{"functionName":"isNodeStream","ranges":[{"startOffset":1616,"endOffset":1887,"count":0}],"isBlockCoverage":false},{"functionName":"isReadableStream","ranges":[{"startOffset":1889,"endOffset":2103,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableStream","ranges":[{"startOffset":2105,"endOffset":2273,"count":0}],"isBlockCoverage":false},{"functionName":"isTransformStream","ranges":[{"startOffset":2275,"endOffset":2442,"count":0}],"isBlockCoverage":false},{"functionName":"isWebStream","ranges":[{"startOffset":2444,"endOffset":2556,"count":0}],"isBlockCoverage":false},{"functionName":"isIterable","ranges":[{"startOffset":2558,"endOffset":2888,"count":0}],"isBlockCoverage":false},{"functionName":"isDestroyed","ranges":[{"startOffset":2890,"endOffset":3153,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableEnded","ranges":[{"startOffset":3177,"endOffset":3468,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableFinished","ranges":[{"startOffset":3496,"endOffset":3893,"count":0}],"isBlockCoverage":false},{"functionName":"isReadableEnded","ranges":[{"startOffset":3922,"endOffset":4223,"count":0}],"isBlockCoverage":false},{"functionName":"isReadableFinished","ranges":[{"startOffset":4248,"endOffset":4596,"count":0}],"isBlockCoverage":false},{"functionName":"isReadable","ranges":[{"startOffset":4598,"endOffset":4898,"count":0}],"isBlockCoverage":false},{"functionName":"isWritable","ranges":[{"startOffset":4900,"endOffset":5197,"count":0}],"isBlockCoverage":false},{"functionName":"isFinished","ranges":[{"startOffset":5199,"endOffset":5513,"count":0}],"isBlockCoverage":false},{"functionName":"isWritableErrored","ranges":[{"startOffset":5515,"endOffset":5727,"count":0}],"isBlockCoverage":false},{"functionName":"isReadableErrored","ranges":[{"startOffset":5729,"endOffset":5941,"count":0}],"isBlockCoverage":false},{"functionName":"isClosed","ranges":[{"startOffset":5943,"endOffset":6448,"count":0}],"isBlockCoverage":false},{"functionName":"isOutgoingMessage","ranges":[{"startOffset":6450,"endOffset":6702,"count":0}],"isBlockCoverage":false},{"functionName":"isServerResponse","ranges":[{"startOffset":6704,"endOffset":6831,"count":0}],"isBlockCoverage":false},{"functionName":"isServerRequest","ranges":[{"startOffset":6833,"endOffset":7021,"count":0}],"isBlockCoverage":false},{"functionName":"willEmitClose","ranges":[{"startOffset":7023,"endOffset":7361,"count":0}],"isBlockCoverage":false},{"functionName":"isDisturbed","ranges":[{"startOffset":7363,"endOffset":7508,"count":0}],"isBlockCoverage":false},{"functionName":"isErrored","ranges":[{"startOffset":7510,"endOffset":7815,"count":0}],"isBlockCoverage":false}]},{"scriptId":"404","url":"node:internal/streams/compose","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5451,"count":1}],"isBlockCoverage":false},{"functionName":"compose","ranges":[{"startOffset":543,"endOffset":5449,"count":0}],"isBlockCoverage":false}]},{"scriptId":"405","url":"node:internal/streams/pipeline","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12326,"count":1}],"isBlockCoverage":false},{"functionName":"destroyer","ranges":[{"startOffset":1058,"endOffset":1487,"count":0}],"isBlockCoverage":false},{"functionName":"popCallback","ranges":[{"startOffset":1489,"endOffset":1817,"count":0}],"isBlockCoverage":false},{"functionName":"makeAsyncIterable","ranges":[{"startOffset":1819,"endOffset":2105,"count":0}],"isBlockCoverage":false},{"functionName":"fromReadable","ranges":[{"startOffset":2107,"endOffset":2281,"count":0}],"isBlockCoverage":false},{"functionName":"pumpToNode","ranges":[{"startOffset":2283,"endOffset":3327,"count":0}],"isBlockCoverage":false},{"functionName":"pumpToWeb","ranges":[{"startOffset":3329,"endOffset":3927,"count":0}],"isBlockCoverage":false},{"functionName":"pipeline","ranges":[{"startOffset":3929,"endOffset":4022,"count":0}],"isBlockCoverage":false},{"functionName":"pipelineImpl","ranges":[{"startOffset":4024,"endOffset":10476,"count":0}],"isBlockCoverage":false},{"functionName":"pipe","ranges":[{"startOffset":10478,"endOffset":12279,"count":0}],"isBlockCoverage":false}]},{"scriptId":"406","url":"node:internal/streams/destroy","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6743,"count":1}],"isBlockCoverage":false},{"functionName":"checkError","ranges":[{"startOffset":360,"endOffset":671,"count":0}],"isBlockCoverage":false},{"functionName":"destroy","ranges":[{"startOffset":781,"endOffset":1568,"count":0}],"isBlockCoverage":false},{"functionName":"_destroy","ranges":[{"startOffset":1570,"endOffset":2184,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorCloseNT","ranges":[{"startOffset":2186,"endOffset":2273,"count":0}],"isBlockCoverage":false},{"functionName":"emitCloseNT","ranges":[{"startOffset":2275,"endOffset":2523,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorNT","ranges":[{"startOffset":2525,"endOffset":2800,"count":0}],"isBlockCoverage":false},{"functionName":"undestroy","ranges":[{"startOffset":2802,"endOffset":3492,"count":0}],"isBlockCoverage":false},{"functionName":"errorOrDestroy","ranges":[{"startOffset":3494,"endOffset":4413,"count":0}],"isBlockCoverage":false},{"functionName":"construct","ranges":[{"startOffset":4415,"endOffset":4821,"count":1},{"startOffset":4512,"endOffset":4820,"count":0}],"isBlockCoverage":true},{"functionName":"constructNT","ranges":[{"startOffset":4823,"endOffset":5552,"count":0}],"isBlockCoverage":false},{"functionName":"isRequest","ranges":[{"startOffset":5554,"endOffset":5650,"count":0}],"isBlockCoverage":false},{"functionName":"emitCloseLegacy","ranges":[{"startOffset":5652,"endOffset":5712,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorCloseLegacy","ranges":[{"startOffset":5714,"endOffset":5834,"count":0}],"isBlockCoverage":false},{"functionName":"destroyer","ranges":[{"startOffset":5869,"endOffset":6651,"count":0}],"isBlockCoverage":false}]},{"scriptId":"407","url":"node:internal/streams/duplex","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4938,"count":1}],"isBlockCoverage":false},{"functionName":"Duplex","ranges":[{"startOffset":1996,"endOffset":2663,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":3811,"endOffset":4023,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":4029,"endOffset":4290,"count":0}],"isBlockCoverage":false},{"functionName":"lazyWebStreams","ranges":[{"startOffset":4364,"endOffset":4528,"count":0}],"isBlockCoverage":false},{"functionName":"Duplex.fromWeb","ranges":[{"startOffset":4547,"endOffset":4665,"count":0}],"isBlockCoverage":false},{"functionName":"Duplex.toWeb","ranges":[{"startOffset":4683,"endOffset":4772,"count":0}],"isBlockCoverage":false},{"functionName":"Duplex.from","ranges":[{"startOffset":4805,"endOffset":4936,"count":0}],"isBlockCoverage":false}]},{"scriptId":"408","url":"node:internal/streams/readable","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":43613,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1799,"endOffset":1824,"count":0}],"isBlockCoverage":false},{"functionName":"nop","ranges":[{"startOffset":2591,"endOffset":2599,"count":0}],"isBlockCoverage":false},{"functionName":"makeBitMapDescriptor","ranges":[{"startOffset":3280,"endOffset":3496,"count":19}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3355,"endOffset":3397,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":3403,"endOffset":3488,"count":0}],"isBlockCoverage":false},{"functionName":"ReadableState","ranges":[{"startOffset":5372,"endOffset":7986,"count":0}],"isBlockCoverage":false},{"functionName":"Readable","ranges":[{"startOffset":7989,"endOffset":8877,"count":0}],"isBlockCoverage":false},{"functionName":"Readable._destroy","ranges":[{"startOffset":9014,"endOffset":9046,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.","ranges":[{"startOffset":9097,"endOffset":9135,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.","ranges":[{"startOffset":9179,"endOffset":9435,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.push","ranges":[{"startOffset":9664,"endOffset":9750,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.unshift","ranges":[{"startOffset":9846,"endOffset":9931,"count":0}],"isBlockCoverage":false},{"functionName":"readableAddChunk","ranges":[{"startOffset":9934,"endOffset":12336,"count":0}],"isBlockCoverage":false},{"functionName":"addChunk","ranges":[{"startOffset":12338,"endOffset":13103,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.isPaused","ranges":[{"startOffset":13135,"endOffset":13247,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.setEncoding","ranges":[{"startOffset":13311,"endOffset":13872,"count":0}],"isBlockCoverage":false},{"functionName":"computeNewHighWaterMark","ranges":[{"startOffset":13933,"endOffset":14284,"count":0}],"isBlockCoverage":false},{"functionName":"howMuchToRead","ranges":[{"startOffset":14397,"endOffset":14808,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.read","ranges":[{"startOffset":14905,"endOffset":19407,"count":0}],"isBlockCoverage":false},{"functionName":"onEofChunk","ranges":[{"startOffset":19410,"endOffset":20230,"count":0}],"isBlockCoverage":false},{"functionName":"emitReadable","ranges":[{"startOffset":20431,"endOffset":20758,"count":0}],"isBlockCoverage":false},{"functionName":"emitReadable_","ranges":[{"startOffset":20760,"endOffset":21414,"count":0}],"isBlockCoverage":false},{"functionName":"maybeReadMore","ranges":[{"startOffset":21764,"endOffset":21941,"count":0}],"isBlockCoverage":false},{"functionName":"maybeReadMore_","ranges":[{"startOffset":21943,"endOffset":23735,"count":0}],"isBlockCoverage":false},{"functionName":"Readable._read","ranges":[{"startOffset":24006,"endOffset":24072,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.pipe","ranges":[{"startOffset":24101,"endOffset":28546,"count":0}],"isBlockCoverage":false},{"functionName":"pipeOnDrain","ranges":[{"startOffset":28549,"endOffset":29194,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.unpipe","ranges":[{"startOffset":29225,"endOffset":29926,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.on","ranges":[{"startOffset":30052,"endOffset":30959,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.removeListener","ranges":[{"startOffset":31054,"endOffset":31619,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.removeAllListeners","ranges":[{"startOffset":31722,"endOffset":32316,"count":0}],"isBlockCoverage":false},{"functionName":"updateReadableListening","ranges":[{"startOffset":32319,"endOffset":32829,"count":0}],"isBlockCoverage":false},{"functionName":"nReadingNextTick","ranges":[{"startOffset":32831,"endOffset":32919,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.resume","ranges":[{"startOffset":33073,"endOffset":33398,"count":0}],"isBlockCoverage":false},{"functionName":"resume","ranges":[{"startOffset":33401,"endOffset":33551,"count":0}],"isBlockCoverage":false},{"functionName":"resume_","ranges":[{"startOffset":33553,"endOffset":33804,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.pause","ranges":[{"startOffset":33833,"endOffset":34100,"count":0}],"isBlockCoverage":false},{"functionName":"flow","ranges":[{"startOffset":34103,"endOffset":34250,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.wrap","ranges":[{"startOffset":34434,"endOffset":35455,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.","ranges":[{"startOffset":35500,"endOffset":35552,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.iterator","ranges":[{"startOffset":35585,"endOffset":35728,"count":0}],"isBlockCoverage":false},{"functionName":"streamToAsyncIterator","ranges":[{"startOffset":35731,"endOffset":35980,"count":0}],"isBlockCoverage":false},{"functionName":"createAsyncIterator","ranges":[{"startOffset":35982,"endOffset":37058,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":37277,"endOffset":37666,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":37672,"endOffset":37802,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":37884,"endOffset":37948,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38030,"endOffset":38238,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38326,"endOffset":38392,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38473,"endOffset":38555,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38637,"endOffset":38697,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":38708,"endOffset":38817,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":38893,"endOffset":38947,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39027,"endOffset":39115,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39193,"endOffset":39278,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39347,"endOffset":39431,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39476,"endOffset":39560,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":39631,"endOffset":39718,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":39724,"endOffset":40013,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":40088,"endOffset":40176,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":40317,"endOffset":40362,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":40442,"endOffset":40493,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":40499,"endOffset":40548,"count":0}],"isBlockCoverage":false},{"functionName":"fromList","ranges":[{"startOffset":40854,"endOffset":41416,"count":0}],"isBlockCoverage":false},{"functionName":"endReadable","ranges":[{"startOffset":41418,"endOffset":41639,"count":0}],"isBlockCoverage":false},{"functionName":"endReadableNT","ranges":[{"startOffset":41641,"endOffset":42561,"count":0}],"isBlockCoverage":false},{"functionName":"endWritableNT","ranges":[{"startOffset":42563,"endOffset":42723,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.from","ranges":[{"startOffset":42741,"endOffset":42810,"count":0}],"isBlockCoverage":false},{"functionName":"lazyWebStreams","ranges":[{"startOffset":42875,"endOffset":43039,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.fromWeb","ranges":[{"startOffset":43060,"endOffset":43194,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.toWeb","ranges":[{"startOffset":43214,"endOffset":43348,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.wrap","ranges":[{"startOffset":43367,"endOffset":43611,"count":0}],"isBlockCoverage":false}]},{"scriptId":"409","url":"node:internal/streams/legacy","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2934,"count":1}],"isBlockCoverage":false},{"functionName":"Stream","ranges":[{"startOffset":112,"endOffset":160,"count":1}],"isBlockCoverage":true},{"functionName":"Stream.pipe","ranges":[{"startOffset":274,"endOffset":2076,"count":0}],"isBlockCoverage":false},{"functionName":"prependListener","ranges":[{"startOffset":2079,"endOffset":2886,"count":0}],"isBlockCoverage":false}]},{"scriptId":"410","url":"node:internal/streams/add-abort-signal","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1704,"count":1}],"isBlockCoverage":false},{"functionName":"validateAbortSignal","ranges":[{"startOffset":557,"endOffset":716,"count":0}],"isBlockCoverage":false},{"functionName":"addAbortSignal","ranges":[{"startOffset":751,"endOffset":1062,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports.addAbortSignalNoValidate","ranges":[{"startOffset":1107,"endOffset":1702,"count":0}],"isBlockCoverage":false}]},{"scriptId":"411","url":"node:internal/streams/buffer_list","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4060,"count":1}],"isBlockCoverage":false},{"functionName":"BufferList","ranges":[{"startOffset":254,"endOffset":338,"count":0}],"isBlockCoverage":false},{"functionName":"push","ranges":[{"startOffset":342,"endOffset":529,"count":0}],"isBlockCoverage":false},{"functionName":"unshift","ranges":[{"startOffset":533,"endOffset":691,"count":0}],"isBlockCoverage":false},{"functionName":"shift","ranges":[{"startOffset":695,"endOffset":922,"count":0}],"isBlockCoverage":false},{"functionName":"clear","ranges":[{"startOffset":926,"endOffset":994,"count":0}],"isBlockCoverage":false},{"functionName":"join","ranges":[{"startOffset":998,"endOffset":1180,"count":0}],"isBlockCoverage":false},{"functionName":"concat","ranges":[{"startOffset":1184,"endOffset":1467,"count":0}],"isBlockCoverage":false},{"functionName":"consume","ranges":[{"startOffset":1551,"endOffset":2005,"count":0}],"isBlockCoverage":false},{"functionName":"first","ranges":[{"startOffset":2009,"endOffset":2049,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports","ranges":[{"startOffset":2053,"endOffset":2149,"count":0}],"isBlockCoverage":false},{"functionName":"_getString","ranges":[{"startOffset":2224,"endOffset":2862,"count":0}],"isBlockCoverage":false},{"functionName":"_getBuffer","ranges":[{"startOffset":2932,"endOffset":3779,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports","ranges":[{"startOffset":3860,"endOffset":4056,"count":0}],"isBlockCoverage":false}]},{"scriptId":"412","url":"node:internal/streams/state","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1332,"count":1}],"isBlockCoverage":false},{"functionName":"highWaterMarkFrom","ranges":[{"startOffset":287,"endOffset":454,"count":1},{"startOffset":385,"endOffset":408,"count":0},{"startOffset":424,"endOffset":444,"count":0}],"isBlockCoverage":true},{"functionName":"getDefaultHighWaterMark","ranges":[{"startOffset":456,"endOffset":586,"count":1},{"startOffset":523,"endOffset":555,"count":0}],"isBlockCoverage":true},{"functionName":"setDefaultHighWaterMark","ranges":[{"startOffset":588,"endOffset":799,"count":0}],"isBlockCoverage":false},{"functionName":"getHighWaterMark","ranges":[{"startOffset":801,"endOffset":1234,"count":1},{"startOffset":948,"endOffset":1160,"count":0}],"isBlockCoverage":true}]},{"scriptId":"413","url":"node:string_decoder","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5213,"count":1}],"isBlockCoverage":false},{"functionName":"normalizeEncoding","ranges":[{"startOffset":2129,"endOffset":2391,"count":0}],"isBlockCoverage":false},{"functionName":"StringDecoder","ranges":[{"startOffset":2705,"endOffset":2904,"count":0}],"isBlockCoverage":false},{"functionName":"write","ranges":[{"startOffset":3227,"endOffset":3612,"count":0}],"isBlockCoverage":false},{"functionName":"end","ranges":[{"startOffset":3889,"endOffset":4080,"count":0}],"isBlockCoverage":false},{"functionName":"text","ranges":[{"startOffset":4291,"endOffset":4448,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4586,"endOffset":4799,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4891,"endOffset":4954,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5047,"endOffset":5162,"count":0}],"isBlockCoverage":false}]},{"scriptId":"414","url":"node:internal/streams/from","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2614,"count":1}],"isBlockCoverage":false},{"functionName":"from","ranges":[{"startOffset":241,"endOffset":2589,"count":0}],"isBlockCoverage":false}]},{"scriptId":"415","url":"node:internal/streams/writable","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":26009,"count":1}],"isBlockCoverage":false},{"functionName":"nop","ranges":[{"startOffset":2389,"endOffset":2406,"count":0}],"isBlockCoverage":false},{"functionName":"WritableState","ranges":[{"startOffset":2452,"endOffset":6975,"count":1},{"startOffset":2847,"endOffset":2890,"count":0},{"startOffset":3065,"endOffset":3150,"count":0},{"startOffset":3441,"endOffset":3477,"count":0}],"isBlockCoverage":true},{"functionName":"resetBuffer","ranges":[{"startOffset":6977,"endOffset":7109,"count":1}],"isBlockCoverage":true},{"functionName":"getBuffer","ranges":[{"startOffset":7147,"endOffset":7236,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7332,"endOffset":7397,"count":0}],"isBlockCoverage":false},{"functionName":"Writable","ranges":[{"startOffset":7404,"endOffset":8932,"count":1},{"startOffset":8105,"endOffset":8134,"count":0},{"startOffset":8273,"endOffset":8301,"count":0},{"startOffset":8355,"endOffset":8385,"count":0},{"startOffset":8440,"endOffset":8472,"count":0},{"startOffset":8525,"endOffset":8553,"count":0},{"startOffset":8610,"endOffset":8646,"count":0},{"startOffset":8678,"endOffset":8715,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":8782,"endOffset":8928,"count":0}],"isBlockCoverage":false},{"functionName":"value","ranges":[{"startOffset":9014,"endOffset":9218,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.pipe","ranges":[{"startOffset":9319,"endOffset":9387,"count":0}],"isBlockCoverage":false},{"functionName":"_write","ranges":[{"startOffset":9390,"endOffset":10734,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.write","ranges":[{"startOffset":10763,"endOffset":10849,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.cork","ranges":[{"startOffset":10878,"endOffset":10924,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.uncork","ranges":[{"startOffset":10955,"endOffset":11110,"count":0}],"isBlockCoverage":false},{"functionName":"setDefaultEncoding","ranges":[{"startOffset":11153,"endOffset":11478,"count":0}],"isBlockCoverage":false},{"functionName":"writeOrBuffer","ranges":[{"startOffset":11668,"endOffset":12681,"count":0}],"isBlockCoverage":false},{"functionName":"doWrite","ranges":[{"startOffset":12683,"endOffset":13061,"count":0}],"isBlockCoverage":false},{"functionName":"onwriteError","ranges":[{"startOffset":13063,"endOffset":13448,"count":0}],"isBlockCoverage":false},{"functionName":"onwrite","ranges":[{"startOffset":13450,"endOffset":15089,"count":0}],"isBlockCoverage":false},{"functionName":"afterWriteTick","ranges":[{"startOffset":15091,"endOffset":15230,"count":0}],"isBlockCoverage":false},{"functionName":"afterWrite","ranges":[{"startOffset":15232,"endOffset":15607,"count":0}],"isBlockCoverage":false},{"functionName":"errorBuffer","ranges":[{"startOffset":15679,"endOffset":16236,"count":0}],"isBlockCoverage":false},{"functionName":"clearBuffer","ranges":[{"startOffset":16302,"endOffset":17796,"count":0}],"isBlockCoverage":false},{"functionName":"Writable._write","ranges":[{"startOffset":17826,"endOffset":17995,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.end","ranges":[{"startOffset":18059,"endOffset":19395,"count":0}],"isBlockCoverage":false},{"functionName":"needFinish","ranges":[{"startOffset":19398,"endOffset":19738,"count":0}],"isBlockCoverage":false},{"functionName":"callFinal","ranges":[{"startOffset":19740,"endOffset":20686,"count":0}],"isBlockCoverage":false},{"functionName":"prefinish","ranges":[{"startOffset":20688,"endOffset":20993,"count":0}],"isBlockCoverage":false},{"functionName":"finishMaybe","ranges":[{"startOffset":20995,"endOffset":21494,"count":0}],"isBlockCoverage":false},{"functionName":"finish","ranges":[{"startOffset":21496,"endOffset":22222,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":22307,"endOffset":22391,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":22439,"endOffset":22526,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":22532,"endOffset":22714,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":22761,"endOffset":23153,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":23159,"endOffset":23293,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23348,"endOffset":23434,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23491,"endOffset":23579,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23632,"endOffset":23714,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23766,"endOffset":23850,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":23906,"endOffset":24064,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24124,"endOffset":24208,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24261,"endOffset":24341,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24394,"endOffset":24471,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24540,"endOffset":24624,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24706,"endOffset":24912,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.destroy","ranges":[{"startOffset":24990,"endOffset":25287,"count":0}],"isBlockCoverage":false},{"functionName":"Writable._destroy","ranges":[{"startOffset":25375,"endOffset":25407,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.","ranges":[{"startOffset":25458,"endOffset":25496,"count":0}],"isBlockCoverage":false},{"functionName":"lazyWebStreams","ranges":[{"startOffset":25561,"endOffset":25725,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.fromWeb","ranges":[{"startOffset":25746,"endOffset":25880,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.toWeb","ranges":[{"startOffset":25900,"endOffset":26007,"count":0}],"isBlockCoverage":false}]},{"scriptId":"416","url":"node:stream/promises","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":917,"count":1}],"isBlockCoverage":false},{"functionName":"pipeline","ranges":[{"startOffset":318,"endOffset":869,"count":0}],"isBlockCoverage":false}]},{"scriptId":"417","url":"node:internal/streams/transform","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7176,"count":1}],"isBlockCoverage":false},{"functionName":"Transform","ranges":[{"startOffset":3920,"endOffset":5747,"count":0}],"isBlockCoverage":false},{"functionName":"final","ranges":[{"startOffset":5749,"endOffset":6193,"count":0}],"isBlockCoverage":false},{"functionName":"prefinish","ranges":[{"startOffset":6195,"endOffset":6276,"count":0}],"isBlockCoverage":false},{"functionName":"Transform._transform","ranges":[{"startOffset":6348,"endOffset":6443,"count":0}],"isBlockCoverage":false},{"functionName":"Transform._write","ranges":[{"startOffset":6475,"endOffset":7018,"count":0}],"isBlockCoverage":false},{"functionName":"Transform._read","ranges":[{"startOffset":7049,"endOffset":7174,"count":0}],"isBlockCoverage":false}]},{"scriptId":"418","url":"node:internal/streams/passthrough","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1762,"count":1}],"isBlockCoverage":false},{"functionName":"PassThrough","ranges":[{"startOffset":1529,"endOffset":1671,"count":0}],"isBlockCoverage":false},{"functionName":"PassThrough._transform","ranges":[{"startOffset":1708,"endOffset":1760,"count":0}],"isBlockCoverage":false}]}],"timestamp":249.885237} \ No newline at end of file