mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Merge pull request #1 from insidy/correct-class-methods-order
Fix experimental clas deserializer method order
This commit is contained in:
commit
a4af1d2b38
|
@ -46,7 +46,23 @@ CLASS lcl_oo_class_new DEFINITION INHERITING FROM lcl_oo_class.
|
||||||
it_source TYPE lif_defs=>ty_string_tt
|
it_source TYPE lif_defs=>ty_string_tt
|
||||||
iv_name TYPE seoclsname
|
iv_name TYPE seoclsname
|
||||||
RETURNING
|
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.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -324,6 +340,40 @@ CLASS lcl_oo_class_new IMPLEMENTATION.
|
||||||
it_source = lt_source ).
|
it_source = lt_source ).
|
||||||
ENDLOOP.
|
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 ).
|
||||||
|
|
||||||
|
" 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 ) ).
|
||||||
|
|
||||||
|
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.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user