CLASS lcl_sha1_stack DEFINITION. PUBLIC SECTION. METHODS clear RETURNING VALUE(ro_stack) TYPE REF TO lcl_sha1_stack. METHODS push IMPORTING iv_sha1 TYPE zif_abapgit_git_definitions=>ty_sha1. METHODS pop RETURNING VALUE(rv_sha1) TYPE zif_abapgit_git_definitions=>ty_sha1. METHODS size RETURNING VALUE(rv_size) TYPE i. PRIVATE SECTION. DATA mt_list TYPE STANDARD TABLE OF zif_abapgit_git_definitions=>ty_sha1 WITH DEFAULT KEY. ENDCLASS. CLASS lcl_sha1_stack IMPLEMENTATION. METHOD clear. CLEAR mt_list. ro_stack = me. ENDMETHOD. METHOD push. INSERT iv_sha1 INTO mt_list INDEX 1. ENDMETHOD. METHOD pop. READ TABLE mt_list INDEX 1 INTO rv_sha1. ASSERT sy-subrc = 0. DELETE mt_list INDEX 1. ENDMETHOD. METHOD size. rv_size = lines( mt_list ). ENDMETHOD. ENDCLASS. *************************************************** CLASS lcl_filter DEFINITION FINAL. PUBLIC SECTION. INTERFACES zif_abapgit_object_filter. METHODS constructor IMPORTING it_filter TYPE zif_abapgit_definitions=>ty_tadir_tt. PRIVATE SECTION. DATA mt_filter TYPE zif_abapgit_definitions=>ty_tadir_tt. ENDCLASS. CLASS lcl_filter IMPLEMENTATION. METHOD constructor. mt_filter = it_filter. ENDMETHOD. METHOD zif_abapgit_object_filter~get_filter. rt_filter = mt_filter. ENDMETHOD. ENDCLASS.