diff --git a/src/checks/y_check_prefer_new_to_crt_obj.clas.abap b/src/checks/y_check_prefer_new_to_crt_obj.clas.abap index f6fe79c7..cd6e3aac 100644 --- a/src/checks/y_check_prefer_new_to_crt_obj.clas.abap +++ b/src/checks/y_check_prefer_new_to_crt_obj.clas.abap @@ -29,8 +29,9 @@ CLASS y_check_prefer_new_to_crt_obj IMPLEMENTATION. AND get_token_abs( statement-from + 1 ) = 'OBJECT'. CHECK get_token_abs( statement-to - 1 ) <> 'FOR' - AND get_token_abs( statement-to ) <> 'TESTING' - AND get_token_abs( statement-to ) NA '()'. + AND get_token_abs( statement-to ) <> 'TESTING'. + + CHECK next1( 'TYPE' ) NA '()'. DATA(check_configuration) = detect_check_configuration( statement ). diff --git a/src/checks/y_check_prefer_new_to_crt_obj.clas.testclasses.abap b/src/checks/y_check_prefer_new_to_crt_obj.clas.testclasses.abap index c81030bd..6add0a41 100644 --- a/src/checks/y_check_prefer_new_to_crt_obj.clas.testclasses.abap +++ b/src/checks/y_check_prefer_new_to_crt_obj.clas.testclasses.abap @@ -68,6 +68,29 @@ CLASS ltc_create_object IMPLEMENTATION. ENDCLASS. + +CLASS ltc_dynamic_object_with_param DEFINITION INHERITING FROM ltc_create_object FOR TESTING RISK LEVEL HARMLESS DURATION SHORT. + PROTECTED SECTION. + METHODS get_code_without_issue REDEFINITION. +ENDCLASS. + +CLASS ltc_dynamic_object_with_param IMPLEMENTATION. + + METHOD get_code_without_issue. + result = VALUE #( + ( ' REPORT ut_test.' ) + ( ' START-OF-SELECTION.' ) + ( | DATA check TYPE REF TO y_check_base. | ) + ( | DATA params TYPE abap_parmbind_tab. | ) + ( | DATA(prefer_new) = 'y_check_prefer_new_to_crt_obj'. | ) + ( | CREATE OBJECT check TYPE (prefer_new) PARAMETER-TABLE params. | ) + ). + ENDMETHOD. + +ENDCLASS. + + + CLASS ltc_dynamic_object DEFINITION INHERITING FROM ltc_create_object FOR TESTING RISK LEVEL HARMLESS DURATION SHORT. PROTECTED SECTION. METHODS get_code_without_issue REDEFINITION.