Fix Issue 12503 - Bad optimization with scope(success) and return statement

The current code only lists the finally block as a successor of the return statement when the return directly inside the finally's try block.
Merge pull request #3826 from yebblies/issue12503

Issue 12503 - Bad optimization with scope(success) and return statement