From bf7166f03987a54df81ed153882e44848f17eeb5 Mon Sep 17 00:00:00 2001 From: Paulo Buttenbender Date: Tue, 10 Oct 2017 23:22:04 +0200 Subject: [PATCH 1/2] Fix experimental clas deserializer method order --- src/zabapgit_object_clas_new.prog.abap | 51 +++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/zabapgit_object_clas_new.prog.abap b/src/zabapgit_object_clas_new.prog.abap index 727123743..3529a848c 100644 --- a/src/zabapgit_object_clas_new.prog.abap +++ b/src/zabapgit_object_clas_new.prog.abap @@ -46,7 +46,23 @@ CLASS lcl_oo_class_new DEFINITION INHERITING FROM lcl_oo_class. it_source TYPE lif_defs=>ty_string_tt iv_name TYPE seoclsname RETURNING - VALUE(ro_scanner) TYPE REF TO cl_oo_source_scanner_class. + VALUE(ro_scanner) TYPE REF TO cl_oo_source_scanner_class, + update_full_class_include + IMPORTING + iv_classname TYPE seoclsname + it_source TYPE string_table + it_methods TYPE cl_oo_source_scanner_class=>type_method_implementations, + create_report + IMPORTING + iv_program TYPE programm + it_source TYPE string_table + iv_extension TYPE sychar02 + iv_program_type TYPE sychar01 + iv_version TYPE r3state, + update_cs_number_of_methods + IMPORTING + iv_classname TYPE seoclsname + iv_number_of_impl_methods TYPE i. ENDCLASS. @@ -324,6 +340,39 @@ CLASS lcl_oo_class_new IMPLEMENTATION. it_source = lt_source ). ENDLOOP. +* full class include + update_full_class_include( iv_classname = is_key-clsname + it_source = it_source + it_methods = lt_methods ). + + ENDMETHOD. + + METHOD update_full_class_include. + CONSTANTS c_class_source_extension TYPE sychar02 VALUE 'CS'. + CONSTANTS c_include_program_type TYPE sychar01 VALUE 'I'. + CONSTANTS c_active_version TYPE r3state VALUE 'A'. + + create_report( iv_program = cl_oo_classname_service=>get_cs_name( iv_classname ) + it_source = it_source + iv_extension = c_class_source_extension + iv_program_type = c_include_program_type + iv_version = c_active_version ). + + update_cs_number_of_methods( iv_classname = iv_classname + iv_number_of_impl_methods = lines( it_methods ) ). " Assuming that all methods that were scanned are implemented + + ENDMETHOD. + + METHOD create_report. + INSERT REPORT iv_program FROM it_source EXTENSION TYPE iv_extension STATE iv_version PROGRAM TYPE iv_program_type. + ASSERT sy-subrc = 0. + ENDMETHOD. + + METHOD update_cs_number_of_methods. + DATA cs_cache_entry TYPE seo_cs_cache. + cs_cache_entry-clsname = iv_classname. + cs_cache_entry-no_of_method_impls = iv_number_of_impl_methods. + MODIFY seo_cs_cache FROM cs_cache_entry. ENDMETHOD. ENDCLASS. From f901f2c07fcc6236b35b37271b759e7b880efae4 Mon Sep 17 00:00:00 2001 From: Paulo Buttenbender Date: Tue, 10 Oct 2017 23:31:39 +0200 Subject: [PATCH 2/2] Fixing lint issues --- src/zabapgit_object_clas_new.prog.abap | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/zabapgit_object_clas_new.prog.abap b/src/zabapgit_object_clas_new.prog.abap index 3529a848c..a973a7fdc 100644 --- a/src/zabapgit_object_clas_new.prog.abap +++ b/src/zabapgit_object_clas_new.prog.abap @@ -358,8 +358,9 @@ CLASS lcl_oo_class_new IMPLEMENTATION. iv_program_type = c_include_program_type iv_version = c_active_version ). + " Assuming that all methods that were scanned are implemented update_cs_number_of_methods( iv_classname = iv_classname - iv_number_of_impl_methods = lines( it_methods ) ). " Assuming that all methods that were scanned are implemented + iv_number_of_impl_methods = lines( it_methods ) ). ENDMETHOD.