diff --git a/src/zabapgit_object_clas_new.prog.abap b/src/zabapgit_object_clas_new.prog.abap index 17f1814eb..15204852f 100644 --- a/src/zabapgit_object_clas_new.prog.abap +++ b/src/zabapgit_object_clas_new.prog.abap @@ -5,6 +5,7 @@ * todo: downport * todo: refactoring * todo: error handling, no breakpoints +* todo: testing, possible from master branch via experimental switch CLASS lcl_oo_class_new DEFINITION INHERITING FROM lcl_oo_class. @@ -157,10 +158,11 @@ CLASS lcl_oo_class_new IMPLEMENTATION. update_report( iv_program = lv_program it_source = it_local_macros ). -* IF ms_class-with_unit_tests = abap_true. -* todo, this one is special -* iv_testclasses TYPE string OPTIONAL -* ENDIF. + IF lines( it_local_test_classes ) > 0. + lv_program = cl_oo_classname_service=>get_ccau_name( is_key-clsname ). + update_report( iv_program = lv_program + it_source = it_local_test_classes ). + ENDIF. ENDMETHOD. @@ -248,15 +250,19 @@ CLASS lcl_oo_class_new IMPLEMENTATION. METHOD lif_oo_object_fnc~deserialize_source. - DATA: lv_updated TYPE abap_bool. + DATA: lv_updated TYPE abap_bool, + lv_program TYPE program, + lo_scanner TYPE REF TO cl_oo_source_scanner_class, + lt_source TYPE seop_source_string. - DATA(lo_scanner) = init_scanner( + + lo_scanner = init_scanner( it_source = it_source iv_name = is_key-clsname ). * public - DATA(lt_source) = lo_scanner->get_public_section_source( ). - DATA(lv_program) = cl_oo_classname_service=>get_pubsec_name( is_key-clsname ). + lt_source = lo_scanner->get_public_section_source( ). + lv_program = cl_oo_classname_service=>get_pubsec_name( is_key-clsname ). lv_updated = update_report( iv_program = lv_program it_source = lt_source ). IF lv_updated = abap_true. diff --git a/src/zabapgit_objects_impl.prog.abap b/src/zabapgit_objects_impl.prog.abap index 843c0bcc0..0efc5a322 100644 --- a/src/zabapgit_objects_impl.prog.abap +++ b/src/zabapgit_objects_impl.prog.abap @@ -133,6 +133,11 @@ CLASS lcl_objects IMPLEMENTATION. lv_class_name = class_name( is_item ). ENDIF. + IF lcl_app=>settings( )->read( )->get_experimental_features( ) = abap_true + AND is_item-obj_type = 'CLAS'. + lv_class_name = 'LCL_OBJECT_CLAS_NEW'. + ENDIF. + TRY. CREATE OBJECT ri_obj TYPE (lv_class_name) EXPORTING @@ -227,11 +232,6 @@ CLASS lcl_objects IMPLEMENTATION. CONCATENATE 'LCL_OBJECT_' is_item-obj_type INTO rv_class_name. "#EC NOTEXT - IF lcl_app=>settings( )->read( )->get_experimental_features( ) = abap_true - AND is_item-obj_type = 'CLAS'. - rv_class_name = 'LCL_OBJECT_CLAS_NEW'. - ENDIF. - ENDMETHOD. "class_name METHOD jump. @@ -587,9 +587,7 @@ CLASS lcl_objects IMPLEMENTATION. lt_remote = io_repo->get_files_remote( ). lt_results = lcl_file_status=>status( io_repo ). - DELETE lt_results WHERE - match = abap_true. " Full match -* OR rstate IS INITIAL. " no remote changes, only local + DELETE lt_results WHERE match = abap_true. " Full match SORT lt_results BY obj_type ASCENDING obj_name ASCENDING. DELETE ADJACENT DUPLICATES FROM lt_results COMPARING obj_type obj_name.