Skip to content

Commit e61dac1

Browse files
lucasborinLucas Borin
andauthored
Prefer New: Dynamic Call with Parameters (#503)
* fixes #502 * changelog Co-authored-by: Lucas Borin <[email protected]>
1 parent 7985332 commit e61dac1

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

changelog.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Legend
1818

1919
2021-08-XX v.1.16.0
2020
------------------
21+
* Prefer New: Dynamic Call with Parameters (#502)
2122
* DB Access in UT: Global Inheritance (#500)
2223
* DB Access in UT: Local Inheritance (#498)
2324
* Skip 'Prefer RETURNING to EXPORTING' when both exist (#490)

src/checks/y_check_prefer_new_to_crt_obj.clas.abap

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ CLASS y_check_prefer_new_to_crt_obj IMPLEMENTATION.
2929
AND get_token_abs( statement-from + 1 ) = 'OBJECT'.
3030

3131
CHECK get_token_abs( statement-to - 1 ) <> 'FOR'
32-
AND get_token_abs( statement-to ) <> 'TESTING'
33-
AND get_token_abs( statement-to ) NA '()'.
32+
AND get_token_abs( statement-to ) <> 'TESTING'.
33+
34+
CHECK next1( 'TYPE' ) NA '()'.
3435

3536
DATA(check_configuration) = detect_check_configuration( statement ).
3637

src/checks/y_check_prefer_new_to_crt_obj.clas.testclasses.abap

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,29 @@ CLASS ltc_create_object IMPLEMENTATION.
6868
ENDCLASS.
6969

7070

71+
72+
CLASS ltc_dynamic_object_with_param DEFINITION INHERITING FROM ltc_create_object FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
73+
PROTECTED SECTION.
74+
METHODS get_code_without_issue REDEFINITION.
75+
ENDCLASS.
76+
77+
CLASS ltc_dynamic_object_with_param IMPLEMENTATION.
78+
79+
METHOD get_code_without_issue.
80+
result = VALUE #(
81+
( ' REPORT ut_test.' )
82+
( ' START-OF-SELECTION.' )
83+
( | DATA check TYPE REF TO y_check_base. | )
84+
( | DATA params TYPE abap_parmbind_tab. | )
85+
( | DATA(prefer_new) = 'y_check_prefer_new_to_crt_obj'. | )
86+
( | CREATE OBJECT check TYPE (prefer_new) PARAMETER-TABLE params. | )
87+
).
88+
ENDMETHOD.
89+
90+
ENDCLASS.
91+
92+
93+
7194
CLASS ltc_dynamic_object DEFINITION INHERITING FROM ltc_create_object FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
7295
PROTECTED SECTION.
7396
METHODS get_code_without_issue REDEFINITION.

0 commit comments

Comments
 (0)