Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Legend

2021-08-XX v.1.16.0
------------------
* Prefer New to Create Object: Dynamic Type (#469)
* Magic Number: Table Index (#468)
* Use native *_wa variables (#474)
* Refactoring (#436,#452,#458)
Expand Down
9 changes: 5 additions & 4 deletions src/checks/y_check_prefer_new_to_crt_obj.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,12 @@ CLASS y_check_prefer_new_to_crt_obj IMPLEMENTATION.


METHOD inspect_tokens.
CHECK get_token_abs( statement-from ) = 'CREATE'
AND get_token_abs( statement-from + 1 ) = 'OBJECT'.
CHECK get_token_abs( statement-from ) = 'CREATE'
AND get_token_abs( statement-from + 1 ) = 'OBJECT'.

CHECK get_token_abs( statement-to ) <> 'TESTING'
AND get_token_abs( statement-to - 1 ) <> 'FOR'.
CHECK get_token_abs( statement-to - 1 ) <> 'FOR'
AND get_token_abs( statement-to ) <> 'TESTING'
AND get_token_abs( statement-to ) NA '()'.

DATA(check_configuration) = detect_check_configuration( statement ).

Expand Down
20 changes: 20 additions & 0 deletions src/checks/y_check_prefer_new_to_crt_obj.clas.testclasses.abap
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,23 @@ CLASS ltc_create_object IMPLEMENTATION.
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.
ENDCLASS.

CLASS ltc_dynamic_object IMPLEMENTATION.

METHOD get_code_without_issue.
result = VALUE #(
( ' REPORT ut_test.' )
( ' START-OF-SELECTION.' )
( | DATA check TYPE REF TO y_check_base. | )
( | DATA(prefer_new) = 'y_check_prefer_new_to_crt_obj'. | )
( | CREATE OBJECT check TYPE (prefer_new). | )
).
ENDMETHOD.

ENDCLASS.