diff --git a/changelog.txt b/changelog.txt index 1dc38fc3..3c8ea512 100644 --- a/changelog.txt +++ b/changelog.txt @@ -18,6 +18,7 @@ Legend 2021-08-XX v.1.16.0 ------------------ +* Skip 'Prefer RETURNING to EXPORTING' when both exist (#490) * Pseudo Comment Usage: Multiple Inline Entries (#494) * Prefer Pragmas to Pseudo Comments: Multiple Pseudo Comments (#489) * Y_CHECK_MESSAGE_EASY_TO_FIND dump (#492) diff --git a/src/checks/y_check_prefer_returning.clas.abap b/src/checks/y_check_prefer_returning.clas.abap index 33bac180..294f4210 100644 --- a/src/checks/y_check_prefer_returning.clas.abap +++ b/src/checks/y_check_prefer_returning.clas.abap @@ -62,6 +62,7 @@ CLASS y_check_prefer_returning IMPLEMENTATION. OR -str = 'RETURNING' OR -str = 'RAISING'. skip = abap_true. + CLEAR count. ELSEIF -str = 'EXPORTING'. skip = abap_false. ENDIF. diff --git a/src/checks/y_check_prefer_returning.clas.testclasses.abap b/src/checks/y_check_prefer_returning.clas.testclasses.abap index 0ef8b36f..1c4ec80b 100644 --- a/src/checks/y_check_prefer_returning.clas.testclasses.abap +++ b/src/checks/y_check_prefer_returning.clas.testclasses.abap @@ -213,3 +213,35 @@ CLASS ltc_standard_table IMPLEMENTATION. ENDMETHOD. ENDCLASS. + + + +CLASS ltc_export_and_returning DEFINITION INHERITING FROM ltc_one_exporting FOR TESTING RISK LEVEL HARMLESS DURATION SHORT. + PROTECTED SECTION. + METHODS get_code_without_issue REDEFINITION. +ENDCLASS. + +CLASS ltc_export_and_returning IMPLEMENTATION. + + METHOD get_code_without_issue. + result = VALUE #( + ( 'REPORT y_example. ' ) + + ( ' START-OF-SELECTION. ' ) + ( ' CLASS example DEFINITION. ' ) + ( ' PUBLIC SECTION. ' ) + ( ' METHODS run ' ) + ( ' EXPORTING ' ) + ( ' !error TYPE char1 ' ) + ( ' RETURNING ' ) + ( ' VALUE(result) TYPE string_table. "#EC NUM_OUTPUT_PARA ' ) + ( ' ENDCLASS. ' ) + + ( ' CLASS example IMPLEMENTATION. ' ) + ( ' METHOD run. ' ) + ( ' ENDMETHOD. ' ) + ( ' ENDCLASS. ' ) + ). + ENDMETHOD. + +ENDCLASS.