@@ -68,9 +68,9 @@ public function process( File $phpcsFile, $stackPtr ) {
6868 private function processSwitch ( File $ phpcsFile , $ stackPtr ) {
6969
7070 $ tokens = $ phpcsFile ->getTokens ();
71- $ previous = $ phpcsFile ->findPrevious ( T_WHITESPACE , $ stackPtr - 1 , null , true );
71+ $ previous = $ phpcsFile ->findPrevious ( [ T_WHITESPACE , T_COMMENT ] , $ stackPtr - 1 , null , true );
7272
73- if ( $ previous === false ) {
73+ if ( $ previous === false || $ tokens [ $ previous ][ ' code ' ] === T_COMMENT ) {
7474 return ;
7575 }
7676
@@ -108,11 +108,16 @@ private function processSwitch( File $phpcsFile, $stackPtr ) {
108108 private function processCase ( File $ phpcsFile , $ stackPtr ) {
109109
110110 $ tokens = $ phpcsFile ->getTokens ();
111- $ previous = $ phpcsFile ->findPrevious ( T_WHITESPACE , $ stackPtr - 1 , null , true );
111+ $ previous = $ phpcsFile ->findPrevious ( [ T_WHITESPACE , T_COMMENT ] , $ stackPtr - 1 , null , true );
112112 $ previousStatement = $ phpcsFile ->findFirstOnLine ( [ T_SWITCH , T_CASE , T_DEFAULT , T_BREAK ], $ previous );
113113
114+ if ( $ previousStatement === false ) {
115+ $ this ->addEmptyLineError ( $ phpcsFile , $ stackPtr );
116+
117+ return ;
118+ }
119+
114120 if (
115- ! empty ( $ previousStatement ) &&
116121 $ tokens [ $ previousStatement ]['code ' ] === T_SWITCH &&
117122 $ tokens [ $ previousStatement ]['line ' ] !== $ tokens [ $ stackPtr ]['line ' ] - 1
118123 ) {
@@ -122,11 +127,8 @@ private function processCase( File $phpcsFile, $stackPtr ) {
122127 }
123128
124129 if (
125- empty ( $ previousStatement ) ||
126- (
127- $ tokens [ $ previousStatement ]['code ' ] === T_BREAK &&
128- $ tokens [ $ stackPtr ]['line ' ] - $ tokens [ $ previousStatement ]['line ' ] === 1
129- )
130+ $ tokens [ $ previousStatement ]['code ' ] === T_BREAK &&
131+ $ tokens [ $ stackPtr ]['line ' ] - $ tokens [ $ previousStatement ]['line ' ] === 1
130132 ) {
131133 $ this ->addEmptyLineError ( $ phpcsFile , $ stackPtr );
132134
0 commit comments