From 6790133b5a8b2c24ad10c272f3d632e30a5fcfe3 Mon Sep 17 00:00:00 2001 From: Lucas Borin <5233413+lucasborin@users.noreply.github.co> Date: Wed, 27 Oct 2021 15:55:13 +0000 Subject: [PATCH 1/2] fixes #502 --- .../y_check_prefer_new_to_crt_obj.clas.abap | 5 ++-- ...refer_new_to_crt_obj.clas.testclasses.abap | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) 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. From 9a73f2bd0216ad68852db9c36c85daacdab84931 Mon Sep 17 00:00:00 2001 From: Lucas Borin <5233413+lucasborin@users.noreply.github.com> Date: Wed, 27 Oct 2021 12:56:52 -0300 Subject: [PATCH 2/2] changelog --- changelog.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/changelog.txt b/changelog.txt index 1be520db..6cd381d6 100644 --- a/changelog.txt +++ b/changelog.txt @@ -18,6 +18,7 @@ Legend 2021-08-XX v.1.16.0 ------------------ +* Prefer New: Dynamic Call with Parameters (#502) * DB Access in UT: Global Inheritance (#500) * DB Access in UT: Local Inheritance (#498) * Skip 'Prefer RETURNING to EXPORTING' when both exist (#490)