[PEAR-BUG] Bug #20432 [Fbk]: Switch statements with inline returns
[email protected] Sat, 25 Oct 2014 01:19:25 +0100 (BST)
| Newsgroups | php.pear.bugs |
|---|---|
| Message-ID | <[email protected]> |
Edit report at https://pear.php.net/bugs/bug.php?id=20432&edit=1 ID: 20432 Updated by: [email protected] Reported By: xmeltrut at gmail dot com Summary: Switch statements with inline returns Status: Feedback Type: Bug Package: PHP_CodeSniffer Package Version: 1.5.5 PHP Version: 5.6.0 Assigned To: squiz Roadmap Versions: New Comment: Thanks, but as I said before, I can't replicate any error with your code. Are you able to provide a sample file that shows the problem, and also show me the output of PHP_CodeSniffer (please use the -s command line argument so I can see where the error messages come from). Previous Comments: ------------------------------------------------------------------------ [2014-10-24 20:08:47] xmeltrut I just added the break to see if that fixed it, originally I was just using return and I had the same issue. ------------------------------------------------------------------------ [2014-10-24 13:21:39] squiz -Status: Open +Status: Feedback -Assigned To: +Assigned To: squiz I can't replicate the closing brace error, but I can tell you that the RETURN statement is actually the breaking statement of the case. Your BREAK line is unreachable code and should be removed. PHP_CodeSniffer recognises the RETURN as the closing statement for reach CASE, so you may be getting indentation errors because of that. So you'd write the code like this: switch { case 'a': return 'a'; case 'b': return 'b'; } Does that remove your error? If not, I'd need to see code around the switch statement because I can't replicate any indent errors with the switch statement you've provided. ------------------------------------------------------------------------ [2014-10-24 13:09:56] xmeltrut Description: ------------ When you use a return statement inside a switch case, CodeSniffer complains about indentation: Closing brace indented incorrectly; expected 16 spaces, found 20 Test script: --------------- switch { case 'a': return 'a'; break; case 'b': return 'b'; break; } ------------------------------------------------------------------------ -- Edit this bug report at https://pear.php.net/bugs/bug.php?id=20432&edit=1