Completed
Pull Request — develop (#1492)
by Zack
28:58 queued 09:00
created
vendor/squizlabs/php_codesniffer/src/Tokenizers/PHP.php 1 patch
Switch Indentation   +99 added lines, -99 removed lines patch added patch discarded remove patch
@@ -1863,24 +1863,24 @@  discard block
 block discarded – undo
1863 1863
 
1864 1864
         if ($token[0] === T_STRING) {
1865 1865
             switch ($cacheKey) {
1866
-            case 'false':
1867
-                $newToken['type'] = 'T_FALSE';
1868
-                break;
1869
-            case 'true':
1870
-                $newToken['type'] = 'T_TRUE';
1871
-                break;
1872
-            case 'null':
1873
-                $newToken['type'] = 'T_NULL';
1874
-                break;
1875
-            case 'self':
1876
-                $newToken['type'] = 'T_SELF';
1877
-                break;
1878
-            case 'parent':
1879
-                $newToken['type'] = 'T_PARENT';
1880
-                break;
1881
-            default:
1882
-                $newToken['type'] = 'T_STRING';
1883
-                break;
1866
+            	case 'false':
1867
+                	$newToken['type'] = 'T_FALSE';
1868
+                	break;
1869
+            	case 'true':
1870
+                	$newToken['type'] = 'T_TRUE';
1871
+                	break;
1872
+            	case 'null':
1873
+                	$newToken['type'] = 'T_NULL';
1874
+                	break;
1875
+            	case 'self':
1876
+                	$newToken['type'] = 'T_SELF';
1877
+                	break;
1878
+            	case 'parent':
1879
+                	$newToken['type'] = 'T_PARENT';
1880
+                	break;
1881
+            	default:
1882
+                	$newToken['type'] = 'T_STRING';
1883
+                	break;
1884 1884
             }
1885 1885
 
1886 1886
             $newToken['code'] = constant($newToken['type']);
@@ -1922,87 +1922,87 @@  discard block
 block discarded – undo
1922 1922
         $newToken = [];
1923 1923
 
1924 1924
         switch ($token) {
1925
-        case '{':
1926
-            $newToken['type'] = 'T_OPEN_CURLY_BRACKET';
1927
-            break;
1928
-        case '}':
1929
-            $newToken['type'] = 'T_CLOSE_CURLY_BRACKET';
1930
-            break;
1931
-        case '[':
1932
-            $newToken['type'] = 'T_OPEN_SQUARE_BRACKET';
1933
-            break;
1934
-        case ']':
1935
-            $newToken['type'] = 'T_CLOSE_SQUARE_BRACKET';
1936
-            break;
1937
-        case '(':
1938
-            $newToken['type'] = 'T_OPEN_PARENTHESIS';
1939
-            break;
1940
-        case ')':
1941
-            $newToken['type'] = 'T_CLOSE_PARENTHESIS';
1942
-            break;
1943
-        case ':':
1944
-            $newToken['type'] = 'T_COLON';
1945
-            break;
1946
-        case '.':
1947
-            $newToken['type'] = 'T_STRING_CONCAT';
1948
-            break;
1949
-        case ';':
1950
-            $newToken['type'] = 'T_SEMICOLON';
1951
-            break;
1952
-        case '=':
1953
-            $newToken['type'] = 'T_EQUAL';
1954
-            break;
1955
-        case '*':
1956
-            $newToken['type'] = 'T_MULTIPLY';
1957
-            break;
1958
-        case '/':
1959
-            $newToken['type'] = 'T_DIVIDE';
1960
-            break;
1961
-        case '+':
1962
-            $newToken['type'] = 'T_PLUS';
1963
-            break;
1964
-        case '-':
1965
-            $newToken['type'] = 'T_MINUS';
1966
-            break;
1967
-        case '%':
1968
-            $newToken['type'] = 'T_MODULUS';
1969
-            break;
1970
-        case '^':
1971
-            $newToken['type'] = 'T_BITWISE_XOR';
1972
-            break;
1973
-        case '&':
1974
-            $newToken['type'] = 'T_BITWISE_AND';
1975
-            break;
1976
-        case '|':
1977
-            $newToken['type'] = 'T_BITWISE_OR';
1978
-            break;
1979
-        case '~':
1980
-            $newToken['type'] = 'T_BITWISE_NOT';
1981
-            break;
1982
-        case '<':
1983
-            $newToken['type'] = 'T_LESS_THAN';
1984
-            break;
1985
-        case '>':
1986
-            $newToken['type'] = 'T_GREATER_THAN';
1987
-            break;
1988
-        case '!':
1989
-            $newToken['type'] = 'T_BOOLEAN_NOT';
1990
-            break;
1991
-        case ',':
1992
-            $newToken['type'] = 'T_COMMA';
1993
-            break;
1994
-        case '@':
1995
-            $newToken['type'] = 'T_ASPERAND';
1996
-            break;
1997
-        case '$':
1998
-            $newToken['type'] = 'T_DOLLAR';
1999
-            break;
2000
-        case '`':
2001
-            $newToken['type'] = 'T_BACKTICK';
2002
-            break;
2003
-        default:
2004
-            $newToken['type'] = 'T_NONE';
2005
-            break;
1925
+        	case '{':
1926
+            	$newToken['type'] = 'T_OPEN_CURLY_BRACKET';
1927
+            	break;
1928
+        	case '}':
1929
+            	$newToken['type'] = 'T_CLOSE_CURLY_BRACKET';
1930
+            	break;
1931
+        	case '[':
1932
+            	$newToken['type'] = 'T_OPEN_SQUARE_BRACKET';
1933
+            	break;
1934
+        	case ']':
1935
+            	$newToken['type'] = 'T_CLOSE_SQUARE_BRACKET';
1936
+            	break;
1937
+        	case '(':
1938
+            	$newToken['type'] = 'T_OPEN_PARENTHESIS';
1939
+            	break;
1940
+        	case ')':
1941
+            	$newToken['type'] = 'T_CLOSE_PARENTHESIS';
1942
+            	break;
1943
+        	case ':':
1944
+            	$newToken['type'] = 'T_COLON';
1945
+            	break;
1946
+        	case '.':
1947
+            	$newToken['type'] = 'T_STRING_CONCAT';
1948
+            	break;
1949
+        	case ';':
1950
+            	$newToken['type'] = 'T_SEMICOLON';
1951
+            	break;
1952
+        	case '=':
1953
+            	$newToken['type'] = 'T_EQUAL';
1954
+            	break;
1955
+        	case '*':
1956
+            	$newToken['type'] = 'T_MULTIPLY';
1957
+            	break;
1958
+        	case '/':
1959
+            	$newToken['type'] = 'T_DIVIDE';
1960
+            	break;
1961
+        	case '+':
1962
+            	$newToken['type'] = 'T_PLUS';
1963
+            	break;
1964
+        	case '-':
1965
+            	$newToken['type'] = 'T_MINUS';
1966
+            	break;
1967
+        	case '%':
1968
+            	$newToken['type'] = 'T_MODULUS';
1969
+            	break;
1970
+        	case '^':
1971
+            	$newToken['type'] = 'T_BITWISE_XOR';
1972
+            	break;
1973
+        	case '&':
1974
+            	$newToken['type'] = 'T_BITWISE_AND';
1975
+            	break;
1976
+        	case '|':
1977
+            	$newToken['type'] = 'T_BITWISE_OR';
1978
+            	break;
1979
+        	case '~':
1980
+            	$newToken['type'] = 'T_BITWISE_NOT';
1981
+            	break;
1982
+        	case '<':
1983
+            	$newToken['type'] = 'T_LESS_THAN';
1984
+            	break;
1985
+        	case '>':
1986
+            	$newToken['type'] = 'T_GREATER_THAN';
1987
+            	break;
1988
+        	case '!':
1989
+            	$newToken['type'] = 'T_BOOLEAN_NOT';
1990
+            	break;
1991
+        	case ',':
1992
+            	$newToken['type'] = 'T_COMMA';
1993
+            	break;
1994
+        	case '@':
1995
+            	$newToken['type'] = 'T_ASPERAND';
1996
+            	break;
1997
+        	case '$':
1998
+            	$newToken['type'] = 'T_DOLLAR';
1999
+            	break;
2000
+        	case '`':
2001
+            	$newToken['type'] = 'T_BACKTICK';
2002
+            	break;
2003
+        	default:
2004
+            	$newToken['type'] = 'T_NONE';
2005
+            	break;
2006 2006
         }//end switch
2007 2007
 
2008 2008
         $newToken['code']    = constant($newToken['type']);
Please login to merge, or discard this patch.
vendor/squizlabs/php_codesniffer/src/Tokenizers/Tokenizer.php 1 patch
Switch Indentation   +54 added lines, -54 removed lines patch added patch discarded remove patch
@@ -722,60 +722,60 @@
 block discarded – undo
722 722
             */
723 723
 
724 724
             switch ($this->tokens[$i]['code']) {
725
-            case T_OPEN_SQUARE_BRACKET:
726
-                $squareOpeners[] = $i;
727
-
728
-                if (PHP_CODESNIFFER_VERBOSITY > 1) {
729
-                    echo str_repeat("\t", count($squareOpeners));
730
-                    echo str_repeat("\t", count($curlyOpeners));
731
-                    echo "=> Found square bracket opener at $i".PHP_EOL;
732
-                }
733
-                break;
734
-            case T_OPEN_CURLY_BRACKET:
735
-                if (isset($this->tokens[$i]['scope_closer']) === false) {
736
-                    $curlyOpeners[] = $i;
737
-
738
-                    if (PHP_CODESNIFFER_VERBOSITY > 1) {
739
-                        echo str_repeat("\t", count($squareOpeners));
740
-                        echo str_repeat("\t", count($curlyOpeners));
741
-                        echo "=> Found curly bracket opener at $i".PHP_EOL;
742
-                    }
743
-                }
744
-                break;
745
-            case T_CLOSE_SQUARE_BRACKET:
746
-                if (empty($squareOpeners) === false) {
747
-                    $opener = array_pop($squareOpeners);
748
-                    $this->tokens[$i]['bracket_opener']      = $opener;
749
-                    $this->tokens[$i]['bracket_closer']      = $i;
750
-                    $this->tokens[$opener]['bracket_opener'] = $opener;
751
-                    $this->tokens[$opener]['bracket_closer'] = $i;
752
-
753
-                    if (PHP_CODESNIFFER_VERBOSITY > 1) {
754
-                        echo str_repeat("\t", count($squareOpeners));
755
-                        echo str_repeat("\t", count($curlyOpeners));
756
-                        echo "\t=> Found square bracket closer at $i for $opener".PHP_EOL;
757
-                    }
758
-                }
759
-                break;
760
-            case T_CLOSE_CURLY_BRACKET:
761
-                if (empty($curlyOpeners) === false
762
-                    && isset($this->tokens[$i]['scope_opener']) === false
763
-                ) {
764
-                    $opener = array_pop($curlyOpeners);
765
-                    $this->tokens[$i]['bracket_opener']      = $opener;
766
-                    $this->tokens[$i]['bracket_closer']      = $i;
767
-                    $this->tokens[$opener]['bracket_opener'] = $opener;
768
-                    $this->tokens[$opener]['bracket_closer'] = $i;
769
-
770
-                    if (PHP_CODESNIFFER_VERBOSITY > 1) {
771
-                        echo str_repeat("\t", count($squareOpeners));
772
-                        echo str_repeat("\t", count($curlyOpeners));
773
-                        echo "\t=> Found curly bracket closer at $i for $opener".PHP_EOL;
774
-                    }
775
-                }
776
-                break;
777
-            default:
778
-                continue 2;
725
+            	case T_OPEN_SQUARE_BRACKET:
726
+                	$squareOpeners[] = $i;
727
+
728
+                	if (PHP_CODESNIFFER_VERBOSITY > 1) {
729
+                    	echo str_repeat("\t", count($squareOpeners));
730
+                    	echo str_repeat("\t", count($curlyOpeners));
731
+                    	echo "=> Found square bracket opener at $i".PHP_EOL;
732
+                	}
733
+                	break;
734
+            	case T_OPEN_CURLY_BRACKET:
735
+                	if (isset($this->tokens[$i]['scope_closer']) === false) {
736
+                    	$curlyOpeners[] = $i;
737
+
738
+                    	if (PHP_CODESNIFFER_VERBOSITY > 1) {
739
+                        	echo str_repeat("\t", count($squareOpeners));
740
+                        	echo str_repeat("\t", count($curlyOpeners));
741
+                        	echo "=> Found curly bracket opener at $i".PHP_EOL;
742
+                    	}
743
+                	}
744
+                	break;
745
+            	case T_CLOSE_SQUARE_BRACKET:
746
+                	if (empty($squareOpeners) === false) {
747
+                    	$opener = array_pop($squareOpeners);
748
+                    	$this->tokens[$i]['bracket_opener']      = $opener;
749
+                    	$this->tokens[$i]['bracket_closer']      = $i;
750
+                    	$this->tokens[$opener]['bracket_opener'] = $opener;
751
+                    	$this->tokens[$opener]['bracket_closer'] = $i;
752
+
753
+                    	if (PHP_CODESNIFFER_VERBOSITY > 1) {
754
+                        	echo str_repeat("\t", count($squareOpeners));
755
+                        	echo str_repeat("\t", count($curlyOpeners));
756
+                        	echo "\t=> Found square bracket closer at $i for $opener".PHP_EOL;
757
+                    	}
758
+                	}
759
+                	break;
760
+            	case T_CLOSE_CURLY_BRACKET:
761
+                	if (empty($curlyOpeners) === false
762
+                    	&& isset($this->tokens[$i]['scope_opener']) === false
763
+                	) {
764
+                    	$opener = array_pop($curlyOpeners);
765
+                    	$this->tokens[$i]['bracket_opener']      = $opener;
766
+                    	$this->tokens[$i]['bracket_closer']      = $i;
767
+                    	$this->tokens[$opener]['bracket_opener'] = $opener;
768
+                    	$this->tokens[$opener]['bracket_closer'] = $i;
769
+
770
+                    	if (PHP_CODESNIFFER_VERBOSITY > 1) {
771
+                        	echo str_repeat("\t", count($squareOpeners));
772
+                        	echo str_repeat("\t", count($curlyOpeners));
773
+                        	echo "\t=> Found curly bracket closer at $i for $opener".PHP_EOL;
774
+                    	}
775
+                	}
776
+                	break;
777
+            	default:
778
+                	continue 2;
779 779
             }//end switch
780 780
         }//end for
781 781
 
Please login to merge, or discard this patch.
vendor/squizlabs/php_codesniffer/src/Tokenizers/CSS.php 1 patch
Switch Indentation   +196 added lines, -196 removed lines patch added patch discarded remove patch
@@ -289,202 +289,202 @@
 block discarded – undo
289 289
             }
290 290
 
291 291
             switch ($token['code']) {
292
-            case T_OPEN_CURLY_BRACKET:
293
-                // Opening curly brackets for an At-rule do not start a style
294
-                // definition. We also reset the asperand flag here because the next
295
-                // opening curly bracket could be indeed the start of a style
296
-                // definition.
297
-                if ($asperandStart === true) {
298
-                    if (PHP_CODESNIFFER_VERBOSITY > 1) {
299
-                        if ($inStyleDef === true) {
300
-                            echo "\t\t* style definition closed *".PHP_EOL;
301
-                        }
302
-
303
-                        if ($asperandStart === true) {
304
-                            echo "\t\t* at-rule definition closed *".PHP_EOL;
305
-                        }
306
-                    }
307
-
308
-                    $inStyleDef    = false;
309
-                    $asperandStart = false;
310
-                } else {
311
-                    $inStyleDef = true;
312
-                    if (PHP_CODESNIFFER_VERBOSITY > 1) {
313
-                        echo "\t\t* style definition opened *".PHP_EOL;
314
-                    }
315
-                }
316
-                break;
317
-            case T_CLOSE_CURLY_BRACKET:
318
-                if (PHP_CODESNIFFER_VERBOSITY > 1) {
319
-                    if ($inStyleDef === true) {
320
-                        echo "\t\t* style definition closed *".PHP_EOL;
321
-                    }
322
-
323
-                    if ($asperandStart === true) {
324
-                        echo "\t\t* at-rule definition closed *".PHP_EOL;
325
-                    }
326
-                }
327
-
328
-                $inStyleDef    = false;
329
-                $asperandStart = false;
330
-                break;
331
-            case T_MINUS:
332
-                // Minus signs are often used instead of spaces inside
333
-                // class names, IDs and styles.
334
-                if ($finalTokens[($stackPtr + 1)]['code'] === T_STRING) {
335
-                    if ($finalTokens[($stackPtr - 1)]['code'] === T_STRING) {
336
-                        $newContent = $finalTokens[($stackPtr - 1)]['content'].'-'.$finalTokens[($stackPtr + 1)]['content'];
337
-
338
-                        if (PHP_CODESNIFFER_VERBOSITY > 1) {
339
-                            echo "\t\t* token is a string joiner; ignoring this and previous token".PHP_EOL;
340
-                            $old = Util\Common::prepareForOutput($finalTokens[($stackPtr + 1)]['content']);
341
-                            $new = Util\Common::prepareForOutput($newContent);
342
-                            echo "\t\t=> token ".($stackPtr + 1)." content changed from \"$old\" to \"$new\"".PHP_EOL;
343
-                        }
344
-
345
-                        $finalTokens[($stackPtr + 1)]['content'] = $newContent;
346
-                        unset($finalTokens[$stackPtr]);
347
-                        unset($finalTokens[($stackPtr - 1)]);
348
-                    } else {
349
-                        $newContent = '-'.$finalTokens[($stackPtr + 1)]['content'];
350
-
351
-                        $finalTokens[($stackPtr + 1)]['content'] = $newContent;
352
-                        unset($finalTokens[$stackPtr]);
353
-                    }
354
-                } else if ($finalTokens[($stackPtr + 1)]['code'] === T_LNUMBER) {
355
-                    // They can also be used to provide negative numbers.
356
-                    if (PHP_CODESNIFFER_VERBOSITY > 1) {
357
-                        echo "\t\t* token is part of a negative number; adding content to next token and ignoring *".PHP_EOL;
358
-                        $content = Util\Common::prepareForOutput($finalTokens[($stackPtr + 1)]['content']);
359
-                        echo "\t\t=> token ".($stackPtr + 1)." content changed from \"$content\" to \"-$content\"".PHP_EOL;
360
-                    }
361
-
362
-                    $finalTokens[($stackPtr + 1)]['content'] = '-'.$finalTokens[($stackPtr + 1)]['content'];
363
-                    unset($finalTokens[$stackPtr]);
364
-                }//end if
365
-                break;
366
-            case T_COLON:
367
-                // Only interested in colons that are defining styles.
368
-                if ($inStyleDef === false) {
369
-                    break;
370
-                }
371
-
372
-                for ($x = ($stackPtr - 1); $x >= 0; $x--) {
373
-                    if (isset(Util\Tokens::$emptyTokens[$finalTokens[$x]['code']]) === false) {
374
-                        break;
375
-                    }
376
-                }
377
-
378
-                if (PHP_CODESNIFFER_VERBOSITY > 1) {
379
-                    $type = $finalTokens[$x]['type'];
380
-                    echo "\t\t=> token $x changed from $type to T_STYLE".PHP_EOL;
381
-                }
382
-
383
-                $finalTokens[$x]['type'] = 'T_STYLE';
384
-                $finalTokens[$x]['code'] = T_STYLE;
385
-                break;
386
-            case T_STRING:
387
-                if (strtolower($token['content']) === 'url') {
388
-                    // Find the next content.
389
-                    for ($x = ($stackPtr + 1); $x < $numTokens; $x++) {
390
-                        if (isset(Util\Tokens::$emptyTokens[$finalTokens[$x]['code']]) === false) {
391
-                            break;
392
-                        }
393
-                    }
394
-
395
-                    // Needs to be in the format "url(" for it to be a URL.
396
-                    if ($finalTokens[$x]['code'] !== T_OPEN_PARENTHESIS) {
397
-                        continue 2;
398
-                    }
399
-
400
-                    // Make sure the content isn't empty.
401
-                    for ($y = ($x + 1); $y < $numTokens; $y++) {
402
-                        if (isset(Util\Tokens::$emptyTokens[$finalTokens[$y]['code']]) === false) {
403
-                            break;
404
-                        }
405
-                    }
406
-
407
-                    if ($finalTokens[$y]['code'] === T_CLOSE_PARENTHESIS) {
408
-                        continue 2;
409
-                    }
410
-
411
-                    if (PHP_CODESNIFFER_VERBOSITY > 1) {
412
-                        for ($i = ($stackPtr + 1); $i <= $y; $i++) {
413
-                            $type    = $finalTokens[$i]['type'];
414
-                            $content = Util\Common::prepareForOutput($finalTokens[$i]['content']);
415
-                            echo "\tProcess token $i: $type => $content".PHP_EOL;
416
-                        }
417
-
418
-                        echo "\t\t* token starts a URL *".PHP_EOL;
419
-                    }
420
-
421
-                    // Join all the content together inside the url() statement.
422
-                    $newContent = '';
423
-                    for ($i = ($x + 2); $i < $numTokens; $i++) {
424
-                        if ($finalTokens[$i]['code'] === T_CLOSE_PARENTHESIS) {
425
-                            break;
426
-                        }
427
-
428
-                        $newContent .= $finalTokens[$i]['content'];
429
-                        if (PHP_CODESNIFFER_VERBOSITY > 1) {
430
-                            $content = Util\Common::prepareForOutput($finalTokens[$i]['content']);
431
-                            echo "\t\t=> token $i added to URL string and ignored: $content".PHP_EOL;
432
-                        }
433
-
434
-                        unset($finalTokens[$i]);
435
-                    }
436
-
437
-                    $stackPtr = $i;
438
-
439
-                    // If the content inside the "url()" is in double quotes
440
-                    // there will only be one token and so we don't have to do
441
-                    // anything except change its type. If it is not empty,
442
-                    // we need to do some token merging.
443
-                    $finalTokens[($x + 1)]['type'] = 'T_URL';
444
-                    $finalTokens[($x + 1)]['code'] = T_URL;
445
-
446
-                    if ($newContent !== '') {
447
-                        $finalTokens[($x + 1)]['content'] .= $newContent;
448
-                        if (PHP_CODESNIFFER_VERBOSITY > 1) {
449
-                            $content = Util\Common::prepareForOutput($finalTokens[($x + 1)]['content']);
450
-                            echo "\t\t=> token content changed to: $content".PHP_EOL;
451
-                        }
452
-                    }
453
-                } else if ($finalTokens[$stackPtr]['content'][0] === '-'
454
-                    && $finalTokens[($stackPtr + 1)]['code'] === T_STRING
455
-                ) {
456
-                    if (isset($finalTokens[($stackPtr - 1)]) === true
457
-                        && $finalTokens[($stackPtr - 1)]['code'] === T_STRING
458
-                    ) {
459
-                        $newContent = $finalTokens[($stackPtr - 1)]['content'].$finalTokens[$stackPtr]['content'].$finalTokens[($stackPtr + 1)]['content'];
460
-
461
-                        if (PHP_CODESNIFFER_VERBOSITY > 1) {
462
-                            echo "\t\t* token is a string joiner; ignoring this and previous token".PHP_EOL;
463
-                            $old = Util\Common::prepareForOutput($finalTokens[($stackPtr + 1)]['content']);
464
-                            $new = Util\Common::prepareForOutput($newContent);
465
-                            echo "\t\t=> token ".($stackPtr + 1)." content changed from \"$old\" to \"$new\"".PHP_EOL;
466
-                        }
467
-
468
-                        $finalTokens[($stackPtr + 1)]['content'] = $newContent;
469
-                        unset($finalTokens[$stackPtr]);
470
-                        unset($finalTokens[($stackPtr - 1)]);
471
-                    } else {
472
-                        $newContent = $finalTokens[$stackPtr]['content'].$finalTokens[($stackPtr + 1)]['content'];
473
-
474
-                        $finalTokens[($stackPtr + 1)]['content'] = $newContent;
475
-                        unset($finalTokens[$stackPtr]);
476
-                    }
477
-                }//end if
478
-                break;
479
-            case T_ASPERAND:
480
-                $asperandStart = true;
481
-                if (PHP_CODESNIFFER_VERBOSITY > 1) {
482
-                    echo "\t\t* at-rule definition opened *".PHP_EOL;
483
-                }
484
-                break;
485
-            default:
486
-                // Nothing special to be done with this token.
487
-                break;
292
+            	case T_OPEN_CURLY_BRACKET:
293
+                	// Opening curly brackets for an At-rule do not start a style
294
+                	// definition. We also reset the asperand flag here because the next
295
+                	// opening curly bracket could be indeed the start of a style
296
+                	// definition.
297
+                	if ($asperandStart === true) {
298
+                    	if (PHP_CODESNIFFER_VERBOSITY > 1) {
299
+                        	if ($inStyleDef === true) {
300
+                            	echo "\t\t* style definition closed *".PHP_EOL;
301
+                        	}
302
+
303
+                        	if ($asperandStart === true) {
304
+                            	echo "\t\t* at-rule definition closed *".PHP_EOL;
305
+                        	}
306
+                    	}
307
+
308
+                    	$inStyleDef    = false;
309
+                    	$asperandStart = false;
310
+                	} else {
311
+                    	$inStyleDef = true;
312
+                    	if (PHP_CODESNIFFER_VERBOSITY > 1) {
313
+                        	echo "\t\t* style definition opened *".PHP_EOL;
314
+                    	}
315
+                	}
316
+                	break;
317
+            	case T_CLOSE_CURLY_BRACKET:
318
+                	if (PHP_CODESNIFFER_VERBOSITY > 1) {
319
+                    	if ($inStyleDef === true) {
320
+                        	echo "\t\t* style definition closed *".PHP_EOL;
321
+                    	}
322
+
323
+                    	if ($asperandStart === true) {
324
+                        	echo "\t\t* at-rule definition closed *".PHP_EOL;
325
+                    	}
326
+                	}
327
+
328
+                	$inStyleDef    = false;
329
+                	$asperandStart = false;
330
+                	break;
331
+            	case T_MINUS:
332
+                	// Minus signs are often used instead of spaces inside
333
+                	// class names, IDs and styles.
334
+                	if ($finalTokens[($stackPtr + 1)]['code'] === T_STRING) {
335
+                    	if ($finalTokens[($stackPtr - 1)]['code'] === T_STRING) {
336
+                        	$newContent = $finalTokens[($stackPtr - 1)]['content'].'-'.$finalTokens[($stackPtr + 1)]['content'];
337
+
338
+                        	if (PHP_CODESNIFFER_VERBOSITY > 1) {
339
+                            	echo "\t\t* token is a string joiner; ignoring this and previous token".PHP_EOL;
340
+                            	$old = Util\Common::prepareForOutput($finalTokens[($stackPtr + 1)]['content']);
341
+                            	$new = Util\Common::prepareForOutput($newContent);
342
+                            	echo "\t\t=> token ".($stackPtr + 1)." content changed from \"$old\" to \"$new\"".PHP_EOL;
343
+                        	}
344
+
345
+                        	$finalTokens[($stackPtr + 1)]['content'] = $newContent;
346
+                        	unset($finalTokens[$stackPtr]);
347
+                        	unset($finalTokens[($stackPtr - 1)]);
348
+                    	} else {
349
+                        	$newContent = '-'.$finalTokens[($stackPtr + 1)]['content'];
350
+
351
+                        	$finalTokens[($stackPtr + 1)]['content'] = $newContent;
352
+                        	unset($finalTokens[$stackPtr]);
353
+                    	}
354
+                	} else if ($finalTokens[($stackPtr + 1)]['code'] === T_LNUMBER) {
355
+                    	// They can also be used to provide negative numbers.
356
+                    	if (PHP_CODESNIFFER_VERBOSITY > 1) {
357
+                        	echo "\t\t* token is part of a negative number; adding content to next token and ignoring *".PHP_EOL;
358
+                        	$content = Util\Common::prepareForOutput($finalTokens[($stackPtr + 1)]['content']);
359
+                        	echo "\t\t=> token ".($stackPtr + 1)." content changed from \"$content\" to \"-$content\"".PHP_EOL;
360
+                    	}
361
+
362
+                    	$finalTokens[($stackPtr + 1)]['content'] = '-'.$finalTokens[($stackPtr + 1)]['content'];
363
+                    	unset($finalTokens[$stackPtr]);
364
+                	}//end if
365
+                	break;
366
+            	case T_COLON:
367
+                	// Only interested in colons that are defining styles.
368
+                	if ($inStyleDef === false) {
369
+                    	break;
370
+                	}
371
+
372
+                	for ($x = ($stackPtr - 1); $x >= 0; $x--) {
373
+                    	if (isset(Util\Tokens::$emptyTokens[$finalTokens[$x]['code']]) === false) {
374
+                        	break;
375
+                    	}
376
+                	}
377
+
378
+                	if (PHP_CODESNIFFER_VERBOSITY > 1) {
379
+                    	$type = $finalTokens[$x]['type'];
380
+                    	echo "\t\t=> token $x changed from $type to T_STYLE".PHP_EOL;
381
+                	}
382
+
383
+                	$finalTokens[$x]['type'] = 'T_STYLE';
384
+                	$finalTokens[$x]['code'] = T_STYLE;
385
+                	break;
386
+            	case T_STRING:
387
+                	if (strtolower($token['content']) === 'url') {
388
+                    	// Find the next content.
389
+                    	for ($x = ($stackPtr + 1); $x < $numTokens; $x++) {
390
+                        	if (isset(Util\Tokens::$emptyTokens[$finalTokens[$x]['code']]) === false) {
391
+                            	break;
392
+                        	}
393
+                    	}
394
+
395
+                    	// Needs to be in the format "url(" for it to be a URL.
396
+                    	if ($finalTokens[$x]['code'] !== T_OPEN_PARENTHESIS) {
397
+                        	continue 2;
398
+                    	}
399
+
400
+                    	// Make sure the content isn't empty.
401
+                    	for ($y = ($x + 1); $y < $numTokens; $y++) {
402
+                        	if (isset(Util\Tokens::$emptyTokens[$finalTokens[$y]['code']]) === false) {
403
+                            	break;
404
+                        	}
405
+                    	}
406
+
407
+                    	if ($finalTokens[$y]['code'] === T_CLOSE_PARENTHESIS) {
408
+                        	continue 2;
409
+                    	}
410
+
411
+                    	if (PHP_CODESNIFFER_VERBOSITY > 1) {
412
+                        	for ($i = ($stackPtr + 1); $i <= $y; $i++) {
413
+                            	$type    = $finalTokens[$i]['type'];
414
+                            	$content = Util\Common::prepareForOutput($finalTokens[$i]['content']);
415
+                            	echo "\tProcess token $i: $type => $content".PHP_EOL;
416
+                        	}
417
+
418
+                        	echo "\t\t* token starts a URL *".PHP_EOL;
419
+                    	}
420
+
421
+                    	// Join all the content together inside the url() statement.
422
+                    	$newContent = '';
423
+                    	for ($i = ($x + 2); $i < $numTokens; $i++) {
424
+                        	if ($finalTokens[$i]['code'] === T_CLOSE_PARENTHESIS) {
425
+                            	break;
426
+                        	}
427
+
428
+                        	$newContent .= $finalTokens[$i]['content'];
429
+                        	if (PHP_CODESNIFFER_VERBOSITY > 1) {
430
+                            	$content = Util\Common::prepareForOutput($finalTokens[$i]['content']);
431
+                            	echo "\t\t=> token $i added to URL string and ignored: $content".PHP_EOL;
432
+                        	}
433
+
434
+                        	unset($finalTokens[$i]);
435
+                    	}
436
+
437
+                    	$stackPtr = $i;
438
+
439
+                    	// If the content inside the "url()" is in double quotes
440
+                    	// there will only be one token and so we don't have to do
441
+                    	// anything except change its type. If it is not empty,
442
+                    	// we need to do some token merging.
443
+                    	$finalTokens[($x + 1)]['type'] = 'T_URL';
444
+                    	$finalTokens[($x + 1)]['code'] = T_URL;
445
+
446
+                    	if ($newContent !== '') {
447
+                        	$finalTokens[($x + 1)]['content'] .= $newContent;
448
+                        	if (PHP_CODESNIFFER_VERBOSITY > 1) {
449
+                            	$content = Util\Common::prepareForOutput($finalTokens[($x + 1)]['content']);
450
+                            	echo "\t\t=> token content changed to: $content".PHP_EOL;
451
+                        	}
452
+                    	}
453
+                	} else if ($finalTokens[$stackPtr]['content'][0] === '-'
454
+                    	&& $finalTokens[($stackPtr + 1)]['code'] === T_STRING
455
+                	) {
456
+                    	if (isset($finalTokens[($stackPtr - 1)]) === true
457
+                        	&& $finalTokens[($stackPtr - 1)]['code'] === T_STRING
458
+                    	) {
459
+                        	$newContent = $finalTokens[($stackPtr - 1)]['content'].$finalTokens[$stackPtr]['content'].$finalTokens[($stackPtr + 1)]['content'];
460
+
461
+                        	if (PHP_CODESNIFFER_VERBOSITY > 1) {
462
+                            	echo "\t\t* token is a string joiner; ignoring this and previous token".PHP_EOL;
463
+                            	$old = Util\Common::prepareForOutput($finalTokens[($stackPtr + 1)]['content']);
464
+                            	$new = Util\Common::prepareForOutput($newContent);
465
+                            	echo "\t\t=> token ".($stackPtr + 1)." content changed from \"$old\" to \"$new\"".PHP_EOL;
466
+                        	}
467
+
468
+                        	$finalTokens[($stackPtr + 1)]['content'] = $newContent;
469
+                        	unset($finalTokens[$stackPtr]);
470
+                        	unset($finalTokens[($stackPtr - 1)]);
471
+                    	} else {
472
+                        	$newContent = $finalTokens[$stackPtr]['content'].$finalTokens[($stackPtr + 1)]['content'];
473
+
474
+                        	$finalTokens[($stackPtr + 1)]['content'] = $newContent;
475
+                        	unset($finalTokens[$stackPtr]);
476
+                    	}
477
+                	}//end if
478
+                	break;
479
+            	case T_ASPERAND:
480
+                	$asperandStart = true;
481
+                	if (PHP_CODESNIFFER_VERBOSITY > 1) {
482
+                    	echo "\t\t* at-rule definition opened *".PHP_EOL;
483
+                	}
484
+                	break;
485
+            	default:
486
+                	// Nothing special to be done with this token.
487
+                	break;
488 488
             }//end switch
489 489
         }//end for
490 490
 
Please login to merge, or discard this patch.
vendor/squizlabs/php_codesniffer/src/Files/File.php 1 patch
Switch Indentation   +158 added lines, -158 removed lines patch added patch discarded remove patch
@@ -1324,122 +1324,122 @@  discard block
 block discarded – undo
1324 1324
             }
1325 1325
 
1326 1326
             switch ($this->tokens[$i]['code']) {
1327
-            case T_BITWISE_AND:
1328
-                if ($defaultStart === null) {
1329
-                    $passByReference = true;
1330
-                }
1331
-                break;
1332
-            case T_VARIABLE:
1333
-                $currVar = $i;
1334
-                break;
1335
-            case T_ELLIPSIS:
1336
-                $variableLength = true;
1337
-                break;
1338
-            case T_CALLABLE:
1339
-                if ($typeHintToken === false) {
1340
-                    $typeHintToken = $i;
1341
-                }
1342
-
1343
-                $typeHint .= $this->tokens[$i]['content'];
1344
-                break;
1345
-            case T_SELF:
1346
-            case T_PARENT:
1347
-            case T_STATIC:
1348
-                // Self and parent are valid, static invalid, but was probably intended as type hint.
1349
-                if (isset($defaultStart) === false) {
1350
-                    if ($typeHintToken === false) {
1351
-                        $typeHintToken = $i;
1352
-                    }
1353
-
1354
-                    $typeHint .= $this->tokens[$i]['content'];
1355
-                }
1356
-                break;
1357
-            case T_STRING:
1358
-                // This is a string, so it may be a type hint, but it could
1359
-                // also be a constant used as a default value.
1360
-                $prevComma = false;
1361
-                for ($t = $i; $t >= $opener; $t--) {
1362
-                    if ($this->tokens[$t]['code'] === T_COMMA) {
1363
-                        $prevComma = $t;
1364
-                        break;
1365
-                    }
1366
-                }
1367
-
1368
-                if ($prevComma !== false) {
1369
-                    $nextEquals = false;
1370
-                    for ($t = $prevComma; $t < $i; $t++) {
1371
-                        if ($this->tokens[$t]['code'] === T_EQUAL) {
1372
-                            $nextEquals = $t;
1373
-                            break;
1374
-                        }
1375
-                    }
1376
-
1377
-                    if ($nextEquals !== false) {
1378
-                        break;
1379
-                    }
1380
-                }
1381
-
1382
-                if ($defaultStart === null) {
1383
-                    if ($typeHintToken === false) {
1384
-                        $typeHintToken = $i;
1385
-                    }
1386
-
1387
-                    $typeHint .= $this->tokens[$i]['content'];
1388
-                }
1389
-                break;
1390
-            case T_NS_SEPARATOR:
1391
-                // Part of a type hint or default value.
1392
-                if ($defaultStart === null) {
1393
-                    if ($typeHintToken === false) {
1394
-                        $typeHintToken = $i;
1395
-                    }
1396
-
1397
-                    $typeHint .= $this->tokens[$i]['content'];
1398
-                }
1399
-                break;
1400
-            case T_NULLABLE:
1401
-                if ($defaultStart === null) {
1402
-                    $nullableType = true;
1403
-                    $typeHint    .= $this->tokens[$i]['content'];
1404
-                }
1405
-                break;
1406
-            case T_CLOSE_PARENTHESIS:
1407
-            case T_COMMA:
1408
-                // If it's null, then there must be no parameters for this
1409
-                // method.
1410
-                if ($currVar === null) {
1411
-                    continue 2;
1412
-                }
1413
-
1414
-                $vars[$paramCount]            = [];
1415
-                $vars[$paramCount]['token']   = $currVar;
1416
-                $vars[$paramCount]['name']    = $this->tokens[$currVar]['content'];
1417
-                $vars[$paramCount]['content'] = trim($this->getTokensAsString($paramStart, ($i - $paramStart)));
1418
-
1419
-                if ($defaultStart !== null) {
1420
-                    $vars[$paramCount]['default'] = trim($this->getTokensAsString($defaultStart, ($i - $defaultStart)));
1421
-                }
1422
-
1423
-                $vars[$paramCount]['pass_by_reference'] = $passByReference;
1424
-                $vars[$paramCount]['variable_length']   = $variableLength;
1425
-                $vars[$paramCount]['type_hint']         = $typeHint;
1426
-                $vars[$paramCount]['type_hint_token']   = $typeHintToken;
1427
-                $vars[$paramCount]['nullable_type']     = $nullableType;
1428
-
1429
-                // Reset the vars, as we are about to process the next parameter.
1430
-                $defaultStart    = null;
1431
-                $paramStart      = ($i + 1);
1432
-                $passByReference = false;
1433
-                $variableLength  = false;
1434
-                $typeHint        = '';
1435
-                $typeHintToken   = false;
1436
-                $nullableType    = false;
1437
-
1438
-                $paramCount++;
1439
-                break;
1440
-            case T_EQUAL:
1441
-                $defaultStart = ($i + 1);
1442
-                break;
1327
+            	case T_BITWISE_AND:
1328
+                	if ($defaultStart === null) {
1329
+                    	$passByReference = true;
1330
+                	}
1331
+                	break;
1332
+            	case T_VARIABLE:
1333
+                	$currVar = $i;
1334
+                	break;
1335
+            	case T_ELLIPSIS:
1336
+                	$variableLength = true;
1337
+                	break;
1338
+            	case T_CALLABLE:
1339
+                	if ($typeHintToken === false) {
1340
+                    	$typeHintToken = $i;
1341
+                	}
1342
+
1343
+                	$typeHint .= $this->tokens[$i]['content'];
1344
+                	break;
1345
+            	case T_SELF:
1346
+            	case T_PARENT:
1347
+            	case T_STATIC:
1348
+                	// Self and parent are valid, static invalid, but was probably intended as type hint.
1349
+                	if (isset($defaultStart) === false) {
1350
+                    	if ($typeHintToken === false) {
1351
+                        	$typeHintToken = $i;
1352
+                    	}
1353
+
1354
+                    	$typeHint .= $this->tokens[$i]['content'];
1355
+                	}
1356
+                	break;
1357
+            	case T_STRING:
1358
+                	// This is a string, so it may be a type hint, but it could
1359
+                	// also be a constant used as a default value.
1360
+                	$prevComma = false;
1361
+                	for ($t = $i; $t >= $opener; $t--) {
1362
+                    	if ($this->tokens[$t]['code'] === T_COMMA) {
1363
+                        	$prevComma = $t;
1364
+                        	break;
1365
+                    	}
1366
+                	}
1367
+
1368
+                	if ($prevComma !== false) {
1369
+                    	$nextEquals = false;
1370
+                    	for ($t = $prevComma; $t < $i; $t++) {
1371
+                        	if ($this->tokens[$t]['code'] === T_EQUAL) {
1372
+                            	$nextEquals = $t;
1373
+                            	break;
1374
+                        	}
1375
+                    	}
1376
+
1377
+                    	if ($nextEquals !== false) {
1378
+                        	break;
1379
+                    	}
1380
+                	}
1381
+
1382
+                	if ($defaultStart === null) {
1383
+                    	if ($typeHintToken === false) {
1384
+                        	$typeHintToken = $i;
1385
+                    	}
1386
+
1387
+                    	$typeHint .= $this->tokens[$i]['content'];
1388
+                	}
1389
+                	break;
1390
+            	case T_NS_SEPARATOR:
1391
+                	// Part of a type hint or default value.
1392
+                	if ($defaultStart === null) {
1393
+                    	if ($typeHintToken === false) {
1394
+                        	$typeHintToken = $i;
1395
+                    	}
1396
+
1397
+                    	$typeHint .= $this->tokens[$i]['content'];
1398
+                	}
1399
+                	break;
1400
+            	case T_NULLABLE:
1401
+                	if ($defaultStart === null) {
1402
+                    	$nullableType = true;
1403
+                    	$typeHint    .= $this->tokens[$i]['content'];
1404
+                	}
1405
+                	break;
1406
+            	case T_CLOSE_PARENTHESIS:
1407
+            	case T_COMMA:
1408
+                	// If it's null, then there must be no parameters for this
1409
+                	// method.
1410
+                	if ($currVar === null) {
1411
+                    	continue 2;
1412
+                	}
1413
+
1414
+                	$vars[$paramCount]            = [];
1415
+                	$vars[$paramCount]['token']   = $currVar;
1416
+                	$vars[$paramCount]['name']    = $this->tokens[$currVar]['content'];
1417
+                	$vars[$paramCount]['content'] = trim($this->getTokensAsString($paramStart, ($i - $paramStart)));
1418
+
1419
+                	if ($defaultStart !== null) {
1420
+                    	$vars[$paramCount]['default'] = trim($this->getTokensAsString($defaultStart, ($i - $defaultStart)));
1421
+                	}
1422
+
1423
+                	$vars[$paramCount]['pass_by_reference'] = $passByReference;
1424
+                	$vars[$paramCount]['variable_length']   = $variableLength;
1425
+                	$vars[$paramCount]['type_hint']         = $typeHint;
1426
+                	$vars[$paramCount]['type_hint_token']   = $typeHintToken;
1427
+                	$vars[$paramCount]['nullable_type']     = $nullableType;
1428
+
1429
+                	// Reset the vars, as we are about to process the next parameter.
1430
+                	$defaultStart    = null;
1431
+                	$paramStart      = ($i + 1);
1432
+                	$passByReference = false;
1433
+                	$variableLength  = false;
1434
+                	$typeHint        = '';
1435
+                	$typeHintToken   = false;
1436
+                	$nullableType    = false;
1437
+
1438
+                	$paramCount++;
1439
+                	break;
1440
+            	case T_EQUAL:
1441
+                	$defaultStart = ($i + 1);
1442
+                	break;
1443 1443
             }//end switch
1444 1444
         }//end for
1445 1445
 
@@ -1515,27 +1515,27 @@  discard block
 block discarded – undo
1515 1515
             }
1516 1516
 
1517 1517
             switch ($this->tokens[$i]['code']) {
1518
-            case T_PUBLIC:
1519
-                $scope          = 'public';
1520
-                $scopeSpecified = true;
1521
-                break;
1522
-            case T_PRIVATE:
1523
-                $scope          = 'private';
1524
-                $scopeSpecified = true;
1525
-                break;
1526
-            case T_PROTECTED:
1527
-                $scope          = 'protected';
1528
-                $scopeSpecified = true;
1529
-                break;
1530
-            case T_ABSTRACT:
1531
-                $isAbstract = true;
1532
-                break;
1533
-            case T_FINAL:
1534
-                $isFinal = true;
1535
-                break;
1536
-            case T_STATIC:
1537
-                $isStatic = true;
1538
-                break;
1518
+            	case T_PUBLIC:
1519
+                	$scope          = 'public';
1520
+                	$scopeSpecified = true;
1521
+                	break;
1522
+            	case T_PRIVATE:
1523
+                	$scope          = 'private';
1524
+                	$scopeSpecified = true;
1525
+                	break;
1526
+            	case T_PROTECTED:
1527
+                	$scope          = 'protected';
1528
+                	$scopeSpecified = true;
1529
+                	break;
1530
+            	case T_ABSTRACT:
1531
+                	$isAbstract = true;
1532
+                	break;
1533
+            	case T_FINAL:
1534
+                	$isFinal = true;
1535
+                	break;
1536
+            	case T_STATIC:
1537
+                	$isStatic = true;
1538
+                	break;
1539 1539
             }//end switch
1540 1540
         }//end for
1541 1541
 
@@ -1697,21 +1697,21 @@  discard block
 block discarded – undo
1697 1697
             }
1698 1698
 
1699 1699
             switch ($this->tokens[$i]['code']) {
1700
-            case T_PUBLIC:
1701
-                $scope          = 'public';
1702
-                $scopeSpecified = true;
1703
-                break;
1704
-            case T_PRIVATE:
1705
-                $scope          = 'private';
1706
-                $scopeSpecified = true;
1707
-                break;
1708
-            case T_PROTECTED:
1709
-                $scope          = 'protected';
1710
-                $scopeSpecified = true;
1711
-                break;
1712
-            case T_STATIC:
1713
-                $isStatic = true;
1714
-                break;
1700
+            	case T_PUBLIC:
1701
+                	$scope          = 'public';
1702
+                	$scopeSpecified = true;
1703
+                	break;
1704
+            	case T_PRIVATE:
1705
+                	$scope          = 'private';
1706
+                	$scopeSpecified = true;
1707
+                	break;
1708
+            	case T_PROTECTED:
1709
+                	$scope          = 'protected';
1710
+                	$scopeSpecified = true;
1711
+                	break;
1712
+            	case T_STATIC:
1713
+                	$isStatic = true;
1714
+                	break;
1715 1715
             }
1716 1716
         }//end for
1717 1717
 
@@ -1765,13 +1765,13 @@  discard block
 block discarded – undo
1765 1765
             }
1766 1766
 
1767 1767
             switch ($this->tokens[$i]['code']) {
1768
-            case T_ABSTRACT:
1769
-                $isAbstract = true;
1770
-                break;
1768
+            	case T_ABSTRACT:
1769
+                	$isAbstract = true;
1770
+                	break;
1771 1771
 
1772
-            case T_FINAL:
1773
-                $isFinal = true;
1774
-                break;
1772
+            	case T_FINAL:
1773
+                	$isFinal = true;
1774
+                	break;
1775 1775
             }
1776 1776
         }//end for
1777 1777
 
Please login to merge, or discard this patch.
vendor/squizlabs/php_codesniffer/src/Config.php 1 patch
Switch Indentation   +660 added lines, -660 removed lines patch added patch discarded remove patch
@@ -217,35 +217,35 @@  discard block
 block discarded – undo
217 217
         }
218 218
 
219 219
         switch ($name) {
220
-        case 'reportWidth' :
221
-            // Support auto terminal width.
222
-            if ($value === 'auto' && preg_match('|\d+ (\d+)|', shell_exec('stty size 2>&1'), $matches) === 1) {
223
-                $value = (int) $matches[1];
224
-            } else {
225
-                $value = (int) $value;
226
-            }
227
-            break;
228
-        case 'standards' :
229
-            $cleaned = [];
230
-
231
-            // Check if the standard name is valid, or if the case is invalid.
232
-            $installedStandards = Util\Standards::getInstalledStandards();
233
-            foreach ($value as $standard) {
234
-                foreach ($installedStandards as $validStandard) {
235
-                    if (strtolower($standard) === strtolower($validStandard)) {
236
-                        $standard = $validStandard;
237
-                        break;
238
-                    }
239
-                }
240
-
241
-                $cleaned[] = $standard;
242
-            }
243
-
244
-            $value = $cleaned;
245
-            break;
246
-        default :
247
-            // No validation required.
248
-            break;
220
+        	case 'reportWidth' :
221
+            	// Support auto terminal width.
222
+            	if ($value === 'auto' && preg_match('|\d+ (\d+)|', shell_exec('stty size 2>&1'), $matches) === 1) {
223
+                	$value = (int) $matches[1];
224
+            	} else {
225
+                	$value = (int) $value;
226
+            	}
227
+            	break;
228
+        	case 'standards' :
229
+            	$cleaned = [];
230
+
231
+            	// Check if the standard name is valid, or if the case is invalid.
232
+            	$installedStandards = Util\Standards::getInstalledStandards();
233
+            	foreach ($value as $standard) {
234
+                	foreach ($installedStandards as $validStandard) {
235
+                    	if (strtolower($standard) === strtolower($validStandard)) {
236
+                        	$standard = $validStandard;
237
+                        	break;
238
+                    	}
239
+                	}
240
+
241
+                	$cleaned[] = $standard;
242
+            	}
243
+
244
+            	$value = $cleaned;
245
+            	break;
246
+        	default :
247
+            	// No validation required.
248
+            	break;
249 249
         }//end switch
250 250
 
251 251
         $this->settings[$name] = $value;
@@ -588,94 +588,94 @@  discard block
 block discarded – undo
588 588
     public function processShortArgument($arg, $pos)
589 589
     {
590 590
         switch ($arg) {
591
-        case 'h':
592
-        case '?':
593
-            ob_start();
594
-            $this->printUsage();
595
-            $output = ob_get_contents();
596
-            ob_end_clean();
597
-            throw new DeepExitException($output, 0);
598
-        case 'i' :
599
-            ob_start();
600
-            Util\Standards::printInstalledStandards();
601
-            $output = ob_get_contents();
602
-            ob_end_clean();
603
-            throw new DeepExitException($output, 0);
604
-        case 'v' :
605
-            if ($this->quiet === true) {
606
-                // Ignore when quiet mode is enabled.
607
-                break;
608
-            }
609
-
610
-            $this->verbosity++;
611
-            self::$overriddenDefaults['verbosity'] = true;
612
-            break;
613
-        case 'l' :
614
-            $this->local = true;
615
-            self::$overriddenDefaults['local'] = true;
616
-            break;
617
-        case 's' :
618
-            $this->showSources = true;
619
-            self::$overriddenDefaults['showSources'] = true;
620
-            break;
621
-        case 'a' :
622
-            $this->interactive = true;
623
-            self::$overriddenDefaults['interactive'] = true;
624
-            break;
625
-        case 'e':
626
-            $this->explain = true;
627
-            self::$overriddenDefaults['explain'] = true;
628
-            break;
629
-        case 'p' :
630
-            if ($this->quiet === true) {
631
-                // Ignore when quiet mode is enabled.
632
-                break;
633
-            }
634
-
635
-            $this->showProgress = true;
636
-            self::$overriddenDefaults['showProgress'] = true;
637
-            break;
638
-        case 'q' :
639
-            // Quiet mode disables a few other settings as well.
640
-            $this->quiet        = true;
641
-            $this->showProgress = false;
642
-            $this->verbosity    = 0;
643
-
644
-            self::$overriddenDefaults['quiet'] = true;
645
-            break;
646
-        case 'm' :
647
-            $this->recordErrors = false;
648
-            self::$overriddenDefaults['recordErrors'] = true;
649
-            break;
650
-        case 'd' :
651
-            $ini = explode('=', $this->cliArgs[($pos + 1)]);
652
-            $this->cliArgs[($pos + 1)] = '';
653
-            if (isset($ini[1]) === true) {
654
-                ini_set($ini[0], $ini[1]);
655
-            } else {
656
-                ini_set($ini[0], true);
657
-            }
658
-            break;
659
-        case 'n' :
660
-            if (isset(self::$overriddenDefaults['warningSeverity']) === false) {
661
-                $this->warningSeverity = 0;
662
-                self::$overriddenDefaults['warningSeverity'] = true;
663
-            }
664
-            break;
665
-        case 'w' :
666
-            if (isset(self::$overriddenDefaults['warningSeverity']) === false) {
667
-                $this->warningSeverity = $this->errorSeverity;
668
-                self::$overriddenDefaults['warningSeverity'] = true;
669
-            }
670
-            break;
671
-        default:
672
-            if ($this->dieOnUnknownArg === false) {
673
-                $unknown       = $this->unknown;
674
-                $unknown[]     = $arg;
675
-                $this->unknown = $unknown;
676
-            } else {
677
-                $this->processUnknownArgument('-'.$arg, $pos);
678
-            }
591
+        	case 'h':
592
+        	case '?':
593
+            	ob_start();
594
+            	$this->printUsage();
595
+            	$output = ob_get_contents();
596
+            	ob_end_clean();
597
+            	throw new DeepExitException($output, 0);
598
+        	case 'i' :
599
+            	ob_start();
600
+            	Util\Standards::printInstalledStandards();
601
+            	$output = ob_get_contents();
602
+            	ob_end_clean();
603
+            	throw new DeepExitException($output, 0);
604
+        	case 'v' :
605
+            	if ($this->quiet === true) {
606
+                	// Ignore when quiet mode is enabled.
607
+                	break;
608
+            	}
609
+
610
+            	$this->verbosity++;
611
+            	self::$overriddenDefaults['verbosity'] = true;
612
+            	break;
613
+        	case 'l' :
614
+            	$this->local = true;
615
+            	self::$overriddenDefaults['local'] = true;
616
+            	break;
617
+        	case 's' :
618
+            	$this->showSources = true;
619
+            	self::$overriddenDefaults['showSources'] = true;
620
+            	break;
621
+        	case 'a' :
622
+            	$this->interactive = true;
623
+            	self::$overriddenDefaults['interactive'] = true;
624
+            	break;
625
+        	case 'e':
626
+            	$this->explain = true;
627
+            	self::$overriddenDefaults['explain'] = true;
628
+            	break;
629
+        	case 'p' :
630
+            	if ($this->quiet === true) {
631
+                	// Ignore when quiet mode is enabled.
632
+                	break;
633
+            	}
634
+
635
+            	$this->showProgress = true;
636
+            	self::$overriddenDefaults['showProgress'] = true;
637
+            	break;
638
+        	case 'q' :
639
+            	// Quiet mode disables a few other settings as well.
640
+            	$this->quiet        = true;
641
+            	$this->showProgress = false;
642
+            	$this->verbosity    = 0;
643
+
644
+            	self::$overriddenDefaults['quiet'] = true;
645
+            	break;
646
+        	case 'm' :
647
+            	$this->recordErrors = false;
648
+            	self::$overriddenDefaults['recordErrors'] = true;
649
+            	break;
650
+        	case 'd' :
651
+            	$ini = explode('=', $this->cliArgs[($pos + 1)]);
652
+            	$this->cliArgs[($pos + 1)] = '';
653
+            	if (isset($ini[1]) === true) {
654
+                	ini_set($ini[0], $ini[1]);
655
+            	} else {
656
+                	ini_set($ini[0], true);
657
+            	}
658
+            	break;
659
+        	case 'n' :
660
+            	if (isset(self::$overriddenDefaults['warningSeverity']) === false) {
661
+                	$this->warningSeverity = 0;
662
+                	self::$overriddenDefaults['warningSeverity'] = true;
663
+            	}
664
+            	break;
665
+        	case 'w' :
666
+            	if (isset(self::$overriddenDefaults['warningSeverity']) === false) {
667
+                	$this->warningSeverity = $this->errorSeverity;
668
+                	self::$overriddenDefaults['warningSeverity'] = true;
669
+            	}
670
+            	break;
671
+        	default:
672
+            	if ($this->dieOnUnknownArg === false) {
673
+                	$unknown       = $this->unknown;
674
+                	$unknown[]     = $arg;
675
+                	$this->unknown = $unknown;
676
+            	} else {
677
+                	$this->processUnknownArgument('-'.$arg, $pos);
678
+            	}
679 679
         }//end switch
680 680
 
681 681
     }//end processShortArgument()
@@ -692,549 +692,549 @@  discard block
 block discarded – undo
692 692
     public function processLongArgument($arg, $pos)
693 693
     {
694 694
         switch ($arg) {
695
-        case 'help':
696
-            ob_start();
697
-            $this->printUsage();
698
-            $output = ob_get_contents();
699
-            ob_end_clean();
700
-            throw new DeepExitException($output, 0);
701
-        case 'version':
702
-            $output  = 'PHP_CodeSniffer version '.self::VERSION.' ('.self::STABILITY.') ';
703
-            $output .= 'by Squiz (http://www.squiz.net)'.PHP_EOL;
704
-            throw new DeepExitException($output, 0);
705
-        case 'colors':
706
-            if (isset(self::$overriddenDefaults['colors']) === true) {
707
-                break;
708
-            }
709
-
710
-            $this->colors = true;
711
-            self::$overriddenDefaults['colors'] = true;
712
-            break;
713
-        case 'no-colors':
714
-            if (isset(self::$overriddenDefaults['colors']) === true) {
715
-                break;
716
-            }
717
-
718
-            $this->colors = false;
719
-            self::$overriddenDefaults['colors'] = true;
720
-            break;
721
-        case 'cache':
722
-            if (isset(self::$overriddenDefaults['cache']) === true) {
723
-                break;
724
-            }
725
-
726
-            if (defined('PHP_CODESNIFFER_IN_TESTS') === false) {
727
-                $this->cache = true;
728
-                self::$overriddenDefaults['cache'] = true;
729
-            }
730
-            break;
731
-        case 'no-cache':
732
-            if (isset(self::$overriddenDefaults['cache']) === true) {
733
-                break;
734
-            }
735
-
736
-            $this->cache = false;
737
-            self::$overriddenDefaults['cache'] = true;
738
-            break;
739
-        case 'ignore-annotations':
740
-            if (isset(self::$overriddenDefaults['annotations']) === true) {
741
-                break;
742
-            }
743
-
744
-            $this->annotations = false;
745
-            self::$overriddenDefaults['annotations'] = true;
746
-            break;
747
-        case 'config-set':
748
-            if (isset($this->cliArgs[($pos + 1)]) === false
749
-                || isset($this->cliArgs[($pos + 2)]) === false
750
-            ) {
751
-                $error  = 'ERROR: Setting a config option requires a name and value'.PHP_EOL.PHP_EOL;
752
-                $error .= $this->printShortUsage(true);
753
-                throw new DeepExitException($error, 3);
754
-            }
755
-
756
-            $key     = $this->cliArgs[($pos + 1)];
757
-            $value   = $this->cliArgs[($pos + 2)];
758
-            $current = self::getConfigData($key);
759
-
760
-            try {
761
-                $this->setConfigData($key, $value);
762
-            } catch (\Exception $e) {
763
-                throw new DeepExitException($e->getMessage().PHP_EOL, 3);
764
-            }
765
-
766
-            $output = 'Using config file: '.self::$configDataFile.PHP_EOL.PHP_EOL;
767
-
768
-            if ($current === null) {
769
-                $output .= "Config value \"$key\" added successfully".PHP_EOL;
770
-            } else {
771
-                $output .= "Config value \"$key\" updated successfully; old value was \"$current\"".PHP_EOL;
772
-            }
773
-            throw new DeepExitException($output, 0);
774
-        case 'config-delete':
775
-            if (isset($this->cliArgs[($pos + 1)]) === false) {
776
-                $error  = 'ERROR: Deleting a config option requires the name of the option'.PHP_EOL.PHP_EOL;
777
-                $error .= $this->printShortUsage(true);
778
-                throw new DeepExitException($error, 3);
779
-            }
780
-
781
-            $output = 'Using config file: '.self::$configDataFile.PHP_EOL.PHP_EOL;
782
-
783
-            $key     = $this->cliArgs[($pos + 1)];
784
-            $current = self::getConfigData($key);
785
-            if ($current === null) {
786
-                $output .= "Config value \"$key\" has not been set".PHP_EOL;
787
-            } else {
788
-                try {
789
-                    $this->setConfigData($key, null);
790
-                } catch (\Exception $e) {
791
-                    throw new DeepExitException($e->getMessage().PHP_EOL, 3);
792
-                }
793
-
794
-                $output .= "Config value \"$key\" removed successfully; old value was \"$current\"".PHP_EOL;
795
-            }
796
-            throw new DeepExitException($output, 0);
797
-        case 'config-show':
798
-            ob_start();
799
-            $data = self::getAllConfigData();
800
-            echo 'Using config file: '.self::$configDataFile.PHP_EOL.PHP_EOL;
801
-            $this->printConfigData($data);
802
-            $output = ob_get_contents();
803
-            ob_end_clean();
804
-            throw new DeepExitException($output, 0);
805
-        case 'runtime-set':
806
-            if (isset($this->cliArgs[($pos + 1)]) === false
807
-                || isset($this->cliArgs[($pos + 2)]) === false
808
-            ) {
809
-                $error  = 'ERROR: Setting a runtime config option requires a name and value'.PHP_EOL.PHP_EOL;
810
-                $error .= $this->printShortUsage(true);
811
-                throw new DeepExitException($error, 3);
812
-            }
813
-
814
-            $key   = $this->cliArgs[($pos + 1)];
815
-            $value = $this->cliArgs[($pos + 2)];
816
-            $this->cliArgs[($pos + 1)] = '';
817
-            $this->cliArgs[($pos + 2)] = '';
818
-            self::setConfigData($key, $value, true);
819
-            if (isset(self::$overriddenDefaults['runtime-set']) === false) {
820
-                self::$overriddenDefaults['runtime-set'] = [];
821
-            }
822
-
823
-            self::$overriddenDefaults['runtime-set'][$key] = true;
824
-            break;
825
-        default:
826
-            if (substr($arg, 0, 7) === 'sniffs=') {
827
-                if (isset(self::$overriddenDefaults['sniffs']) === true) {
828
-                    break;
829
-                }
830
-
831
-                $sniffs = explode(',', substr($arg, 7));
832
-                foreach ($sniffs as $sniff) {
833
-                    if (substr_count($sniff, '.') !== 2) {
834
-                        $error  = 'ERROR: The specified sniff code "'.$sniff.'" is invalid'.PHP_EOL.PHP_EOL;
835
-                        $error .= $this->printShortUsage(true);
836
-                        throw new DeepExitException($error, 3);
837
-                    }
838
-                }
839
-
840
-                $this->sniffs = $sniffs;
841
-                self::$overriddenDefaults['sniffs'] = true;
842
-            } else if (substr($arg, 0, 8) === 'exclude=') {
843
-                if (isset(self::$overriddenDefaults['exclude']) === true) {
844
-                    break;
845
-                }
846
-
847
-                $sniffs = explode(',', substr($arg, 8));
848
-                foreach ($sniffs as $sniff) {
849
-                    if (substr_count($sniff, '.') !== 2) {
850
-                        $error  = 'ERROR: The specified sniff code "'.$sniff.'" is invalid'.PHP_EOL.PHP_EOL;
851
-                        $error .= $this->printShortUsage(true);
852
-                        throw new DeepExitException($error, 3);
853
-                    }
854
-                }
855
-
856
-                $this->exclude = $sniffs;
857
-                self::$overriddenDefaults['exclude'] = true;
858
-            } else if (defined('PHP_CODESNIFFER_IN_TESTS') === false
859
-                && substr($arg, 0, 6) === 'cache='
860
-            ) {
861
-                if ((isset(self::$overriddenDefaults['cache']) === true
862
-                    && $this->cache === false)
863
-                    || isset(self::$overriddenDefaults['cacheFile']) === true
864
-                ) {
865
-                    break;
866
-                }
867
-
868
-                // Turn caching on.
869
-                $this->cache = true;
870
-                self::$overriddenDefaults['cache'] = true;
871
-
872
-                $this->cacheFile = Util\Common::realpath(substr($arg, 6));
873
-
874
-                // It may not exist and return false instead.
875
-                if ($this->cacheFile === false) {
876
-                    $this->cacheFile = substr($arg, 6);
877
-
878
-                    $dir = dirname($this->cacheFile);
879
-                    if (is_dir($dir) === false) {
880
-                        $error  = 'ERROR: The specified cache file path "'.$this->cacheFile.'" points to a non-existent directory'.PHP_EOL.PHP_EOL;
881
-                        $error .= $this->printShortUsage(true);
882
-                        throw new DeepExitException($error, 3);
883
-                    }
884
-
885
-                    if ($dir === '.') {
886
-                        // Passed cache file is a file in the current directory.
887
-                        $this->cacheFile = getcwd().'/'.basename($this->cacheFile);
888
-                    } else {
889
-                        if ($dir{0} === '/') {
890
-                            // An absolute path.
891
-                            $dir = Util\Common::realpath($dir);
892
-                        } else {
893
-                            $dir = Util\Common::realpath(getcwd().'/'.$dir);
894
-                        }
895
-
896
-                        if ($dir !== false) {
897
-                            // Cache file path is relative.
898
-                            $this->cacheFile = $dir.'/'.basename($this->cacheFile);
899
-                        }
900
-                    }
901
-                }//end if
902
-
903
-                self::$overriddenDefaults['cacheFile'] = true;
904
-
905
-                if (is_dir($this->cacheFile) === true) {
906
-                    $error  = 'ERROR: The specified cache file path "'.$this->cacheFile.'" is a directory'.PHP_EOL.PHP_EOL;
907
-                    $error .= $this->printShortUsage(true);
908
-                    throw new DeepExitException($error, 3);
909
-                }
910
-            } else if (substr($arg, 0, 10) === 'bootstrap=') {
911
-                $files     = explode(',', substr($arg, 10));
912
-                $bootstrap = [];
913
-                foreach ($files as $file) {
914
-                    $path = Util\Common::realpath($file);
915
-                    if ($path === false) {
916
-                        $error  = 'ERROR: The specified bootstrap file "'.$file.'" does not exist'.PHP_EOL.PHP_EOL;
917
-                        $error .= $this->printShortUsage(true);
918
-                        throw new DeepExitException($error, 3);
919
-                    }
920
-
921
-                    $bootstrap[] = $path;
922
-                }
923
-
924
-                $this->bootstrap = array_merge($this->bootstrap, $bootstrap);
925
-                self::$overriddenDefaults['bootstrap'] = true;
926
-            } else if (substr($arg, 0, 10) === 'file-list=') {
927
-                $fileList = substr($arg, 10);
928
-                $path     = Util\Common::realpath($fileList);
929
-                if ($path === false) {
930
-                    $error  = 'ERROR: The specified file list "'.$fileList.'" does not exist'.PHP_EOL.PHP_EOL;
931
-                    $error .= $this->printShortUsage(true);
932
-                    throw new DeepExitException($error, 3);
933
-                }
934
-
935
-                $files = file($path);
936
-                foreach ($files as $inputFile) {
937
-                    $inputFile = trim($inputFile);
938
-
939
-                    // Skip empty lines.
940
-                    if ($inputFile === '') {
941
-                        continue;
942
-                    }
943
-
944
-                    $this->processFilePath($inputFile);
945
-                }
946
-            } else if (substr($arg, 0, 11) === 'stdin-path=') {
947
-                if (isset(self::$overriddenDefaults['stdinPath']) === true) {
948
-                    break;
949
-                }
950
-
951
-                $this->stdinPath = Util\Common::realpath(substr($arg, 11));
952
-
953
-                // It may not exist and return false instead, so use whatever they gave us.
954
-                if ($this->stdinPath === false) {
955
-                    $this->stdinPath = trim(substr($arg, 11));
956
-                }
957
-
958
-                self::$overriddenDefaults['stdinPath'] = true;
959
-            } else if (PHP_CODESNIFFER_CBF === false && substr($arg, 0, 12) === 'report-file=') {
960
-                if (isset(self::$overriddenDefaults['reportFile']) === true) {
961
-                    break;
962
-                }
963
-
964
-                $this->reportFile = Util\Common::realpath(substr($arg, 12));
965
-
966
-                // It may not exist and return false instead.
967
-                if ($this->reportFile === false) {
968
-                    $this->reportFile = substr($arg, 12);
969
-
970
-                    $dir = dirname($this->reportFile);
971
-                    if (is_dir($dir) === false) {
972
-                        $error  = 'ERROR: The specified report file path "'.$this->reportFile.'" points to a non-existent directory'.PHP_EOL.PHP_EOL;
973
-                        $error .= $this->printShortUsage(true);
974
-                        throw new DeepExitException($error, 3);
975
-                    }
976
-
977
-                    if ($dir === '.') {
978
-                        // Passed report file is a file in the current directory.
979
-                        $this->reportFile = getcwd().'/'.basename($this->reportFile);
980
-                    } else {
981
-                        if ($dir{0} === '/') {
982
-                            // An absolute path.
983
-                            $dir = Util\Common::realpath($dir);
984
-                        } else {
985
-                            $dir = Util\Common::realpath(getcwd().'/'.$dir);
986
-                        }
987
-
988
-                        if ($dir !== false) {
989
-                            // Report file path is relative.
990
-                            $this->reportFile = $dir.'/'.basename($this->reportFile);
991
-                        }
992
-                    }
993
-                }//end if
994
-
995
-                self::$overriddenDefaults['reportFile'] = true;
996
-
997
-                if (is_dir($this->reportFile) === true) {
998
-                    $error  = 'ERROR: The specified report file path "'.$this->reportFile.'" is a directory'.PHP_EOL.PHP_EOL;
999
-                    $error .= $this->printShortUsage(true);
1000
-                    throw new DeepExitException($error, 3);
1001
-                }
1002
-            } else if (substr($arg, 0, 13) === 'report-width=') {
1003
-                if (isset(self::$overriddenDefaults['reportWidth']) === true) {
1004
-                    break;
1005
-                }
1006
-
1007
-                $this->reportWidth = substr($arg, 13);
1008
-                self::$overriddenDefaults['reportWidth'] = true;
1009
-            } else if (substr($arg, 0, 9) === 'basepath=') {
1010
-                if (isset(self::$overriddenDefaults['basepath']) === true) {
1011
-                    break;
1012
-                }
1013
-
1014
-                self::$overriddenDefaults['basepath'] = true;
1015
-
1016
-                if (substr($arg, 9) === '') {
1017
-                    $this->basepath = null;
1018
-                    break;
1019
-                }
1020
-
1021
-                $this->basepath = Util\Common::realpath(substr($arg, 9));
1022
-
1023
-                // It may not exist and return false instead.
1024
-                if ($this->basepath === false) {
1025
-                    $this->basepath = substr($arg, 9);
1026
-                }
1027
-
1028
-                if (is_dir($this->basepath) === false) {
1029
-                    $error  = 'ERROR: The specified basepath "'.$this->basepath.'" points to a non-existent directory'.PHP_EOL.PHP_EOL;
1030
-                    $error .= $this->printShortUsage(true);
1031
-                    throw new DeepExitException($error, 3);
1032
-                }
1033
-            } else if ((substr($arg, 0, 7) === 'report=' || substr($arg, 0, 7) === 'report-')) {
1034
-                $reports = [];
1035
-
1036
-                if ($arg[6] === '-') {
1037
-                    // This is a report with file output.
1038
-                    $split = strpos($arg, '=');
1039
-                    if ($split === false) {
1040
-                        $report = substr($arg, 7);
1041
-                        $output = null;
1042
-                    } else {
1043
-                        $report = substr($arg, 7, ($split - 7));
1044
-                        $output = substr($arg, ($split + 1));
1045
-                        if ($output === false) {
1046
-                            $output = null;
1047
-                        } else {
1048
-                            $dir = dirname($output);
1049
-                            if (is_dir($dir) === false) {
1050
-                                $error  = 'ERROR: The specified '.$report.' report file path "'.$output.'" points to a non-existent directory'.PHP_EOL.PHP_EOL;
1051
-                                $error .= $this->printShortUsage(true);
1052
-                                throw new DeepExitException($error, 3);
1053
-                            }
1054
-
1055
-                            if ($dir === '.') {
1056
-                                // Passed report file is a filename in the current directory.
1057
-                                $output = getcwd().'/'.basename($output);
1058
-                            } else {
1059
-                                if ($dir{0} === '/') {
1060
-                                    // An absolute path.
1061
-                                    $dir = Util\Common::realpath($dir);
1062
-                                } else {
1063
-                                    $dir = Util\Common::realpath(getcwd().'/'.$dir);
1064
-                                }
1065
-
1066
-                                if ($dir !== false) {
1067
-                                    // Report file path is relative.
1068
-                                    $output = $dir.'/'.basename($output);
1069
-                                }
1070
-                            }
1071
-                        }//end if
1072
-                    }//end if
1073
-
1074
-                    $reports[$report] = $output;
1075
-                } else {
1076
-                    // This is a single report.
1077
-                    if (isset(self::$overriddenDefaults['reports']) === true) {
1078
-                        break;
1079
-                    }
1080
-
1081
-                    $reportNames = explode(',', substr($arg, 7));
1082
-                    foreach ($reportNames as $report) {
1083
-                        $reports[$report] = null;
1084
-                    }
1085
-                }//end if
1086
-
1087
-                // Remove the default value so the CLI value overrides it.
1088
-                if (isset(self::$overriddenDefaults['reports']) === false) {
1089
-                    $this->reports = $reports;
1090
-                } else {
1091
-                    $this->reports = array_merge($this->reports, $reports);
1092
-                }
1093
-
1094
-                self::$overriddenDefaults['reports'] = true;
1095
-            } else if (substr($arg, 0, 7) === 'filter=') {
1096
-                if (isset(self::$overriddenDefaults['filter']) === true) {
1097
-                    break;
1098
-                }
1099
-
1100
-                $this->filter = substr($arg, 7);
1101
-                self::$overriddenDefaults['filter'] = true;
1102
-            } else if (substr($arg, 0, 9) === 'standard=') {
1103
-                $standards = trim(substr($arg, 9));
1104
-                if ($standards !== '') {
1105
-                    $this->standards = explode(',', $standards);
1106
-                }
1107
-
1108
-                self::$overriddenDefaults['standards'] = true;
1109
-            } else if (substr($arg, 0, 11) === 'extensions=') {
1110
-                if (isset(self::$overriddenDefaults['extensions']) === true) {
1111
-                    break;
1112
-                }
1113
-
1114
-                $extensions    = explode(',', substr($arg, 11));
1115
-                $newExtensions = [];
1116
-                foreach ($extensions as $ext) {
1117
-                    $slash = strpos($ext, '/');
1118
-                    if ($slash !== false) {
1119
-                        // They specified the tokenizer too.
1120
-                        list($ext, $tokenizer) = explode('/', $ext);
1121
-                        $newExtensions[$ext]   = strtoupper($tokenizer);
1122
-                        continue;
1123
-                    }
1124
-
1125
-                    if (isset($this->extensions[$ext]) === true) {
1126
-                        $newExtensions[$ext] = $this->extensions[$ext];
1127
-                    } else {
1128
-                        $newExtensions[$ext] = 'PHP';
1129
-                    }
1130
-                }
1131
-
1132
-                $this->extensions = $newExtensions;
1133
-                self::$overriddenDefaults['extensions'] = true;
1134
-            } else if (substr($arg, 0, 7) === 'suffix=') {
1135
-                if (isset(self::$overriddenDefaults['suffix']) === true) {
1136
-                    break;
1137
-                }
1138
-
1139
-                $this->suffix = substr($arg, 7);
1140
-                self::$overriddenDefaults['suffix'] = true;
1141
-            } else if (substr($arg, 0, 9) === 'parallel=') {
1142
-                if (isset(self::$overriddenDefaults['parallel']) === true) {
1143
-                    break;
1144
-                }
1145
-
1146
-                $this->parallel = max((int) substr($arg, 9), 1);
1147
-                self::$overriddenDefaults['parallel'] = true;
1148
-            } else if (substr($arg, 0, 9) === 'severity=') {
1149
-                $this->errorSeverity   = (int) substr($arg, 9);
1150
-                $this->warningSeverity = $this->errorSeverity;
1151
-                if (isset(self::$overriddenDefaults['errorSeverity']) === false) {
1152
-                    self::$overriddenDefaults['errorSeverity'] = true;
1153
-                }
1154
-
1155
-                if (isset(self::$overriddenDefaults['warningSeverity']) === false) {
1156
-                    self::$overriddenDefaults['warningSeverity'] = true;
1157
-                }
1158
-            } else if (substr($arg, 0, 15) === 'error-severity=') {
1159
-                if (isset(self::$overriddenDefaults['errorSeverity']) === true) {
1160
-                    break;
1161
-                }
1162
-
1163
-                $this->errorSeverity = (int) substr($arg, 15);
1164
-                self::$overriddenDefaults['errorSeverity'] = true;
1165
-            } else if (substr($arg, 0, 17) === 'warning-severity=') {
1166
-                if (isset(self::$overriddenDefaults['warningSeverity']) === true) {
1167
-                    break;
1168
-                }
1169
-
1170
-                $this->warningSeverity = (int) substr($arg, 17);
1171
-                self::$overriddenDefaults['warningSeverity'] = true;
1172
-            } else if (substr($arg, 0, 7) === 'ignore=') {
1173
-                if (isset(self::$overriddenDefaults['ignored']) === true) {
1174
-                    break;
1175
-                }
1176
-
1177
-                // Split the ignore string on commas, unless the comma is escaped
1178
-                // using 1 or 3 slashes (\, or \\\,).
1179
-                $patterns = preg_split(
1180
-                    '/(?<=(?<!\\\\)\\\\\\\\),|(?<!\\\\),/',
1181
-                    substr($arg, 7)
1182
-                );
1183
-
1184
-                $ignored = [];
1185
-                foreach ($patterns as $pattern) {
1186
-                    $pattern = trim($pattern);
1187
-                    if ($pattern === '') {
1188
-                        continue;
1189
-                    }
1190
-
1191
-                    $ignored[$pattern] = 'absolute';
1192
-                }
1193
-
1194
-                $this->ignored = $ignored;
1195
-                self::$overriddenDefaults['ignored'] = true;
1196
-            } else if (substr($arg, 0, 10) === 'generator='
1197
-                && PHP_CODESNIFFER_CBF === false
1198
-            ) {
1199
-                if (isset(self::$overriddenDefaults['generator']) === true) {
1200
-                    break;
1201
-                }
1202
-
1203
-                $this->generator = substr($arg, 10);
1204
-                self::$overriddenDefaults['generator'] = true;
1205
-            } else if (substr($arg, 0, 9) === 'encoding=') {
1206
-                if (isset(self::$overriddenDefaults['encoding']) === true) {
1207
-                    break;
1208
-                }
1209
-
1210
-                $this->encoding = strtolower(substr($arg, 9));
1211
-                self::$overriddenDefaults['encoding'] = true;
1212
-            } else if (substr($arg, 0, 10) === 'tab-width=') {
1213
-                if (isset(self::$overriddenDefaults['tabWidth']) === true) {
1214
-                    break;
1215
-                }
1216
-
1217
-                $this->tabWidth = (int) substr($arg, 10);
1218
-                self::$overriddenDefaults['tabWidth'] = true;
1219
-            } else {
1220
-                if ($this->dieOnUnknownArg === false) {
1221
-                    $eqPos = strpos($arg, '=');
1222
-                    try {
1223
-                        if ($eqPos === false) {
1224
-                            $this->values[$arg] = $arg;
1225
-                        } else {
1226
-                            $value = substr($arg, ($eqPos + 1));
1227
-                            $arg   = substr($arg, 0, $eqPos);
1228
-                            $this->values[$arg] = $value;
1229
-                        }
1230
-                    } catch (RuntimeException $e) {
1231
-                        // Value is not valid, so just ignore it.
1232
-                    }
1233
-                } else {
1234
-                    $this->processUnknownArgument('--'.$arg, $pos);
1235
-                }
1236
-            }//end if
1237
-            break;
695
+        	case 'help':
696
+            	ob_start();
697
+            	$this->printUsage();
698
+            	$output = ob_get_contents();
699
+            	ob_end_clean();
700
+            	throw new DeepExitException($output, 0);
701
+        	case 'version':
702
+            	$output  = 'PHP_CodeSniffer version '.self::VERSION.' ('.self::STABILITY.') ';
703
+            	$output .= 'by Squiz (http://www.squiz.net)'.PHP_EOL;
704
+            	throw new DeepExitException($output, 0);
705
+        	case 'colors':
706
+            	if (isset(self::$overriddenDefaults['colors']) === true) {
707
+                	break;
708
+            	}
709
+
710
+            	$this->colors = true;
711
+            	self::$overriddenDefaults['colors'] = true;
712
+            	break;
713
+        	case 'no-colors':
714
+            	if (isset(self::$overriddenDefaults['colors']) === true) {
715
+                	break;
716
+            	}
717
+
718
+            	$this->colors = false;
719
+            	self::$overriddenDefaults['colors'] = true;
720
+            	break;
721
+        	case 'cache':
722
+            	if (isset(self::$overriddenDefaults['cache']) === true) {
723
+                	break;
724
+            	}
725
+
726
+            	if (defined('PHP_CODESNIFFER_IN_TESTS') === false) {
727
+                	$this->cache = true;
728
+                	self::$overriddenDefaults['cache'] = true;
729
+            	}
730
+            	break;
731
+        	case 'no-cache':
732
+            	if (isset(self::$overriddenDefaults['cache']) === true) {
733
+                	break;
734
+            	}
735
+
736
+            	$this->cache = false;
737
+            	self::$overriddenDefaults['cache'] = true;
738
+            	break;
739
+        	case 'ignore-annotations':
740
+            	if (isset(self::$overriddenDefaults['annotations']) === true) {
741
+                	break;
742
+            	}
743
+
744
+            	$this->annotations = false;
745
+            	self::$overriddenDefaults['annotations'] = true;
746
+            	break;
747
+        	case 'config-set':
748
+            	if (isset($this->cliArgs[($pos + 1)]) === false
749
+                	|| isset($this->cliArgs[($pos + 2)]) === false
750
+            	) {
751
+                	$error  = 'ERROR: Setting a config option requires a name and value'.PHP_EOL.PHP_EOL;
752
+                	$error .= $this->printShortUsage(true);
753
+                	throw new DeepExitException($error, 3);
754
+            	}
755
+
756
+            	$key     = $this->cliArgs[($pos + 1)];
757
+            	$value   = $this->cliArgs[($pos + 2)];
758
+            	$current = self::getConfigData($key);
759
+
760
+            	try {
761
+                	$this->setConfigData($key, $value);
762
+            	} catch (\Exception $e) {
763
+                	throw new DeepExitException($e->getMessage().PHP_EOL, 3);
764
+            	}
765
+
766
+            	$output = 'Using config file: '.self::$configDataFile.PHP_EOL.PHP_EOL;
767
+
768
+            	if ($current === null) {
769
+                	$output .= "Config value \"$key\" added successfully".PHP_EOL;
770
+            	} else {
771
+                	$output .= "Config value \"$key\" updated successfully; old value was \"$current\"".PHP_EOL;
772
+            	}
773
+            	throw new DeepExitException($output, 0);
774
+        	case 'config-delete':
775
+            	if (isset($this->cliArgs[($pos + 1)]) === false) {
776
+                	$error  = 'ERROR: Deleting a config option requires the name of the option'.PHP_EOL.PHP_EOL;
777
+                	$error .= $this->printShortUsage(true);
778
+                	throw new DeepExitException($error, 3);
779
+            	}
780
+
781
+            	$output = 'Using config file: '.self::$configDataFile.PHP_EOL.PHP_EOL;
782
+
783
+            	$key     = $this->cliArgs[($pos + 1)];
784
+            	$current = self::getConfigData($key);
785
+            	if ($current === null) {
786
+                	$output .= "Config value \"$key\" has not been set".PHP_EOL;
787
+            	} else {
788
+                	try {
789
+                    	$this->setConfigData($key, null);
790
+                	} catch (\Exception $e) {
791
+                    	throw new DeepExitException($e->getMessage().PHP_EOL, 3);
792
+                	}
793
+
794
+                	$output .= "Config value \"$key\" removed successfully; old value was \"$current\"".PHP_EOL;
795
+            	}
796
+            	throw new DeepExitException($output, 0);
797
+        	case 'config-show':
798
+            	ob_start();
799
+            	$data = self::getAllConfigData();
800
+            	echo 'Using config file: '.self::$configDataFile.PHP_EOL.PHP_EOL;
801
+            	$this->printConfigData($data);
802
+            	$output = ob_get_contents();
803
+            	ob_end_clean();
804
+            	throw new DeepExitException($output, 0);
805
+        	case 'runtime-set':
806
+            	if (isset($this->cliArgs[($pos + 1)]) === false
807
+                	|| isset($this->cliArgs[($pos + 2)]) === false
808
+            	) {
809
+                	$error  = 'ERROR: Setting a runtime config option requires a name and value'.PHP_EOL.PHP_EOL;
810
+                	$error .= $this->printShortUsage(true);
811
+                	throw new DeepExitException($error, 3);
812
+            	}
813
+
814
+            	$key   = $this->cliArgs[($pos + 1)];
815
+            	$value = $this->cliArgs[($pos + 2)];
816
+            	$this->cliArgs[($pos + 1)] = '';
817
+            	$this->cliArgs[($pos + 2)] = '';
818
+            	self::setConfigData($key, $value, true);
819
+            	if (isset(self::$overriddenDefaults['runtime-set']) === false) {
820
+                	self::$overriddenDefaults['runtime-set'] = [];
821
+            	}
822
+
823
+            	self::$overriddenDefaults['runtime-set'][$key] = true;
824
+            	break;
825
+        	default:
826
+            	if (substr($arg, 0, 7) === 'sniffs=') {
827
+                	if (isset(self::$overriddenDefaults['sniffs']) === true) {
828
+                    	break;
829
+                	}
830
+
831
+                	$sniffs = explode(',', substr($arg, 7));
832
+                	foreach ($sniffs as $sniff) {
833
+                    	if (substr_count($sniff, '.') !== 2) {
834
+                        	$error  = 'ERROR: The specified sniff code "'.$sniff.'" is invalid'.PHP_EOL.PHP_EOL;
835
+                        	$error .= $this->printShortUsage(true);
836
+                        	throw new DeepExitException($error, 3);
837
+                    	}
838
+                	}
839
+
840
+                	$this->sniffs = $sniffs;
841
+                	self::$overriddenDefaults['sniffs'] = true;
842
+            	} else if (substr($arg, 0, 8) === 'exclude=') {
843
+                	if (isset(self::$overriddenDefaults['exclude']) === true) {
844
+                    	break;
845
+                	}
846
+
847
+                	$sniffs = explode(',', substr($arg, 8));
848
+                	foreach ($sniffs as $sniff) {
849
+                    	if (substr_count($sniff, '.') !== 2) {
850
+                        	$error  = 'ERROR: The specified sniff code "'.$sniff.'" is invalid'.PHP_EOL.PHP_EOL;
851
+                        	$error .= $this->printShortUsage(true);
852
+                        	throw new DeepExitException($error, 3);
853
+                    	}
854
+                	}
855
+
856
+                	$this->exclude = $sniffs;
857
+                	self::$overriddenDefaults['exclude'] = true;
858
+            	} else if (defined('PHP_CODESNIFFER_IN_TESTS') === false
859
+                	&& substr($arg, 0, 6) === 'cache='
860
+            	) {
861
+                	if ((isset(self::$overriddenDefaults['cache']) === true
862
+                    	&& $this->cache === false)
863
+                    	|| isset(self::$overriddenDefaults['cacheFile']) === true
864
+                	) {
865
+                    	break;
866
+                	}
867
+
868
+                	// Turn caching on.
869
+                	$this->cache = true;
870
+                	self::$overriddenDefaults['cache'] = true;
871
+
872
+                	$this->cacheFile = Util\Common::realpath(substr($arg, 6));
873
+
874
+                	// It may not exist and return false instead.
875
+                	if ($this->cacheFile === false) {
876
+                    	$this->cacheFile = substr($arg, 6);
877
+
878
+                    	$dir = dirname($this->cacheFile);
879
+                    	if (is_dir($dir) === false) {
880
+                        	$error  = 'ERROR: The specified cache file path "'.$this->cacheFile.'" points to a non-existent directory'.PHP_EOL.PHP_EOL;
881
+                        	$error .= $this->printShortUsage(true);
882
+                        	throw new DeepExitException($error, 3);
883
+                    	}
884
+
885
+                    	if ($dir === '.') {
886
+                        	// Passed cache file is a file in the current directory.
887
+                        	$this->cacheFile = getcwd().'/'.basename($this->cacheFile);
888
+                    	} else {
889
+                        	if ($dir{0} === '/') {
890
+                            	// An absolute path.
891
+                            	$dir = Util\Common::realpath($dir);
892
+                        	} else {
893
+                            	$dir = Util\Common::realpath(getcwd().'/'.$dir);
894
+                        	}
895
+
896
+                        	if ($dir !== false) {
897
+                            	// Cache file path is relative.
898
+                            	$this->cacheFile = $dir.'/'.basename($this->cacheFile);
899
+                        	}
900
+                    	}
901
+                	}//end if
902
+
903
+                	self::$overriddenDefaults['cacheFile'] = true;
904
+
905
+                	if (is_dir($this->cacheFile) === true) {
906
+                    	$error  = 'ERROR: The specified cache file path "'.$this->cacheFile.'" is a directory'.PHP_EOL.PHP_EOL;
907
+                    	$error .= $this->printShortUsage(true);
908
+                    	throw new DeepExitException($error, 3);
909
+                	}
910
+            	} else if (substr($arg, 0, 10) === 'bootstrap=') {
911
+                	$files     = explode(',', substr($arg, 10));
912
+                	$bootstrap = [];
913
+                	foreach ($files as $file) {
914
+                    	$path = Util\Common::realpath($file);
915
+                    	if ($path === false) {
916
+                        	$error  = 'ERROR: The specified bootstrap file "'.$file.'" does not exist'.PHP_EOL.PHP_EOL;
917
+                        	$error .= $this->printShortUsage(true);
918
+                        	throw new DeepExitException($error, 3);
919
+                    	}
920
+
921
+                    	$bootstrap[] = $path;
922
+                	}
923
+
924
+                	$this->bootstrap = array_merge($this->bootstrap, $bootstrap);
925
+                	self::$overriddenDefaults['bootstrap'] = true;
926
+            	} else if (substr($arg, 0, 10) === 'file-list=') {
927
+                	$fileList = substr($arg, 10);
928
+                	$path     = Util\Common::realpath($fileList);
929
+                	if ($path === false) {
930
+                    	$error  = 'ERROR: The specified file list "'.$fileList.'" does not exist'.PHP_EOL.PHP_EOL;
931
+                    	$error .= $this->printShortUsage(true);
932
+                    	throw new DeepExitException($error, 3);
933
+                	}
934
+
935
+                	$files = file($path);
936
+                	foreach ($files as $inputFile) {
937
+                    	$inputFile = trim($inputFile);
938
+
939
+                    	// Skip empty lines.
940
+                    	if ($inputFile === '') {
941
+                        	continue;
942
+                    	}
943
+
944
+                    	$this->processFilePath($inputFile);
945
+                	}
946
+            	} else if (substr($arg, 0, 11) === 'stdin-path=') {
947
+                	if (isset(self::$overriddenDefaults['stdinPath']) === true) {
948
+                    	break;
949
+                	}
950
+
951
+                	$this->stdinPath = Util\Common::realpath(substr($arg, 11));
952
+
953
+                	// It may not exist and return false instead, so use whatever they gave us.
954
+                	if ($this->stdinPath === false) {
955
+                    	$this->stdinPath = trim(substr($arg, 11));
956
+                	}
957
+
958
+                	self::$overriddenDefaults['stdinPath'] = true;
959
+            	} else if (PHP_CODESNIFFER_CBF === false && substr($arg, 0, 12) === 'report-file=') {
960
+                	if (isset(self::$overriddenDefaults['reportFile']) === true) {
961
+                    	break;
962
+                	}
963
+
964
+                	$this->reportFile = Util\Common::realpath(substr($arg, 12));
965
+
966
+                	// It may not exist and return false instead.
967
+                	if ($this->reportFile === false) {
968
+                    	$this->reportFile = substr($arg, 12);
969
+
970
+                    	$dir = dirname($this->reportFile);
971
+                    	if (is_dir($dir) === false) {
972
+                        	$error  = 'ERROR: The specified report file path "'.$this->reportFile.'" points to a non-existent directory'.PHP_EOL.PHP_EOL;
973
+                        	$error .= $this->printShortUsage(true);
974
+                        	throw new DeepExitException($error, 3);
975
+                    	}
976
+
977
+                    	if ($dir === '.') {
978
+                        	// Passed report file is a file in the current directory.
979
+                        	$this->reportFile = getcwd().'/'.basename($this->reportFile);
980
+                    	} else {
981
+                        	if ($dir{0} === '/') {
982
+                            	// An absolute path.
983
+                            	$dir = Util\Common::realpath($dir);
984
+                        	} else {
985
+                            	$dir = Util\Common::realpath(getcwd().'/'.$dir);
986
+                        	}
987
+
988
+                        	if ($dir !== false) {
989
+                            	// Report file path is relative.
990
+                            	$this->reportFile = $dir.'/'.basename($this->reportFile);
991
+                        	}
992
+                    	}
993
+                	}//end if
994
+
995
+                	self::$overriddenDefaults['reportFile'] = true;
996
+
997
+                	if (is_dir($this->reportFile) === true) {
998
+                    	$error  = 'ERROR: The specified report file path "'.$this->reportFile.'" is a directory'.PHP_EOL.PHP_EOL;
999
+                    	$error .= $this->printShortUsage(true);
1000
+                    	throw new DeepExitException($error, 3);
1001
+                	}
1002
+            	} else if (substr($arg, 0, 13) === 'report-width=') {
1003
+                	if (isset(self::$overriddenDefaults['reportWidth']) === true) {
1004
+                    	break;
1005
+                	}
1006
+
1007
+                	$this->reportWidth = substr($arg, 13);
1008
+                	self::$overriddenDefaults['reportWidth'] = true;
1009
+            	} else if (substr($arg, 0, 9) === 'basepath=') {
1010
+                	if (isset(self::$overriddenDefaults['basepath']) === true) {
1011
+                    	break;
1012
+                	}
1013
+
1014
+                	self::$overriddenDefaults['basepath'] = true;
1015
+
1016
+                	if (substr($arg, 9) === '') {
1017
+                    	$this->basepath = null;
1018
+                    	break;
1019
+                	}
1020
+
1021
+                	$this->basepath = Util\Common::realpath(substr($arg, 9));
1022
+
1023
+                	// It may not exist and return false instead.
1024
+                	if ($this->basepath === false) {
1025
+                    	$this->basepath = substr($arg, 9);
1026
+                	}
1027
+
1028
+                	if (is_dir($this->basepath) === false) {
1029
+                    	$error  = 'ERROR: The specified basepath "'.$this->basepath.'" points to a non-existent directory'.PHP_EOL.PHP_EOL;
1030
+                    	$error .= $this->printShortUsage(true);
1031
+                    	throw new DeepExitException($error, 3);
1032
+                	}
1033
+            	} else if ((substr($arg, 0, 7) === 'report=' || substr($arg, 0, 7) === 'report-')) {
1034
+                	$reports = [];
1035
+
1036
+                	if ($arg[6] === '-') {
1037
+                    	// This is a report with file output.
1038
+                    	$split = strpos($arg, '=');
1039
+                    	if ($split === false) {
1040
+                        	$report = substr($arg, 7);
1041
+                        	$output = null;
1042
+                    	} else {
1043
+                        	$report = substr($arg, 7, ($split - 7));
1044
+                        	$output = substr($arg, ($split + 1));
1045
+                        	if ($output === false) {
1046
+                            	$output = null;
1047
+                        	} else {
1048
+                            	$dir = dirname($output);
1049
+                            	if (is_dir($dir) === false) {
1050
+                                	$error  = 'ERROR: The specified '.$report.' report file path "'.$output.'" points to a non-existent directory'.PHP_EOL.PHP_EOL;
1051
+                                	$error .= $this->printShortUsage(true);
1052
+                                	throw new DeepExitException($error, 3);
1053
+                            	}
1054
+
1055
+                            	if ($dir === '.') {
1056
+                                	// Passed report file is a filename in the current directory.
1057
+                                	$output = getcwd().'/'.basename($output);
1058
+                            	} else {
1059
+                                	if ($dir{0} === '/') {
1060
+                                    	// An absolute path.
1061
+                                    	$dir = Util\Common::realpath($dir);
1062
+                                	} else {
1063
+                                    	$dir = Util\Common::realpath(getcwd().'/'.$dir);
1064
+                                	}
1065
+
1066
+                                	if ($dir !== false) {
1067
+                                    	// Report file path is relative.
1068
+                                    	$output = $dir.'/'.basename($output);
1069
+                                	}
1070
+                            	}
1071
+                        	}//end if
1072
+                    	}//end if
1073
+
1074
+                    	$reports[$report] = $output;
1075
+                	} else {
1076
+                    	// This is a single report.
1077
+                    	if (isset(self::$overriddenDefaults['reports']) === true) {
1078
+                        	break;
1079
+                    	}
1080
+
1081
+                    	$reportNames = explode(',', substr($arg, 7));
1082
+                    	foreach ($reportNames as $report) {
1083
+                        	$reports[$report] = null;
1084
+                    	}
1085
+                	}//end if
1086
+
1087
+                	// Remove the default value so the CLI value overrides it.
1088
+                	if (isset(self::$overriddenDefaults['reports']) === false) {
1089
+                    	$this->reports = $reports;
1090
+                	} else {
1091
+                    	$this->reports = array_merge($this->reports, $reports);
1092
+                	}
1093
+
1094
+                	self::$overriddenDefaults['reports'] = true;
1095
+            	} else if (substr($arg, 0, 7) === 'filter=') {
1096
+                	if (isset(self::$overriddenDefaults['filter']) === true) {
1097
+                    	break;
1098
+                	}
1099
+
1100
+                	$this->filter = substr($arg, 7);
1101
+                	self::$overriddenDefaults['filter'] = true;
1102
+            	} else if (substr($arg, 0, 9) === 'standard=') {
1103
+                	$standards = trim(substr($arg, 9));
1104
+                	if ($standards !== '') {
1105
+                    	$this->standards = explode(',', $standards);
1106
+                	}
1107
+
1108
+                	self::$overriddenDefaults['standards'] = true;
1109
+            	} else if (substr($arg, 0, 11) === 'extensions=') {
1110
+                	if (isset(self::$overriddenDefaults['extensions']) === true) {
1111
+                    	break;
1112
+                	}
1113
+
1114
+                	$extensions    = explode(',', substr($arg, 11));
1115
+                	$newExtensions = [];
1116
+                	foreach ($extensions as $ext) {
1117
+                    	$slash = strpos($ext, '/');
1118
+                    	if ($slash !== false) {
1119
+                        	// They specified the tokenizer too.
1120
+                        	list($ext, $tokenizer) = explode('/', $ext);
1121
+                        	$newExtensions[$ext]   = strtoupper($tokenizer);
1122
+                        	continue;
1123
+                    	}
1124
+
1125
+                    	if (isset($this->extensions[$ext]) === true) {
1126
+                        	$newExtensions[$ext] = $this->extensions[$ext];
1127
+                    	} else {
1128
+                        	$newExtensions[$ext] = 'PHP';
1129
+                    	}
1130
+                	}
1131
+
1132
+                	$this->extensions = $newExtensions;
1133
+                	self::$overriddenDefaults['extensions'] = true;
1134
+            	} else if (substr($arg, 0, 7) === 'suffix=') {
1135
+                	if (isset(self::$overriddenDefaults['suffix']) === true) {
1136
+                    	break;
1137
+                	}
1138
+
1139
+                	$this->suffix = substr($arg, 7);
1140
+                	self::$overriddenDefaults['suffix'] = true;
1141
+            	} else if (substr($arg, 0, 9) === 'parallel=') {
1142
+                	if (isset(self::$overriddenDefaults['parallel']) === true) {
1143
+                    	break;
1144
+                	}
1145
+
1146
+                	$this->parallel = max((int) substr($arg, 9), 1);
1147
+                	self::$overriddenDefaults['parallel'] = true;
1148
+            	} else if (substr($arg, 0, 9) === 'severity=') {
1149
+                	$this->errorSeverity   = (int) substr($arg, 9);
1150
+                	$this->warningSeverity = $this->errorSeverity;
1151
+                	if (isset(self::$overriddenDefaults['errorSeverity']) === false) {
1152
+                    	self::$overriddenDefaults['errorSeverity'] = true;
1153
+                	}
1154
+
1155
+                	if (isset(self::$overriddenDefaults['warningSeverity']) === false) {
1156
+                    	self::$overriddenDefaults['warningSeverity'] = true;
1157
+                	}
1158
+            	} else if (substr($arg, 0, 15) === 'error-severity=') {
1159
+                	if (isset(self::$overriddenDefaults['errorSeverity']) === true) {
1160
+                    	break;
1161
+                	}
1162
+
1163
+                	$this->errorSeverity = (int) substr($arg, 15);
1164
+                	self::$overriddenDefaults['errorSeverity'] = true;
1165
+            	} else if (substr($arg, 0, 17) === 'warning-severity=') {
1166
+                	if (isset(self::$overriddenDefaults['warningSeverity']) === true) {
1167
+                    	break;
1168
+                	}
1169
+
1170
+                	$this->warningSeverity = (int) substr($arg, 17);
1171
+                	self::$overriddenDefaults['warningSeverity'] = true;
1172
+            	} else if (substr($arg, 0, 7) === 'ignore=') {
1173
+                	if (isset(self::$overriddenDefaults['ignored']) === true) {
1174
+                    	break;
1175
+                	}
1176
+
1177
+                	// Split the ignore string on commas, unless the comma is escaped
1178
+                	// using 1 or 3 slashes (\, or \\\,).
1179
+                	$patterns = preg_split(
1180
+                    	'/(?<=(?<!\\\\)\\\\\\\\),|(?<!\\\\),/',
1181
+                    	substr($arg, 7)
1182
+                	);
1183
+
1184
+                	$ignored = [];
1185
+                	foreach ($patterns as $pattern) {
1186
+                    	$pattern = trim($pattern);
1187
+                    	if ($pattern === '') {
1188
+                        	continue;
1189
+                    	}
1190
+
1191
+                    	$ignored[$pattern] = 'absolute';
1192
+                	}
1193
+
1194
+                	$this->ignored = $ignored;
1195
+                	self::$overriddenDefaults['ignored'] = true;
1196
+            	} else if (substr($arg, 0, 10) === 'generator='
1197
+                	&& PHP_CODESNIFFER_CBF === false
1198
+            	) {
1199
+                	if (isset(self::$overriddenDefaults['generator']) === true) {
1200
+                    	break;
1201
+                	}
1202
+
1203
+                	$this->generator = substr($arg, 10);
1204
+                	self::$overriddenDefaults['generator'] = true;
1205
+            	} else if (substr($arg, 0, 9) === 'encoding=') {
1206
+                	if (isset(self::$overriddenDefaults['encoding']) === true) {
1207
+                    	break;
1208
+                	}
1209
+
1210
+                	$this->encoding = strtolower(substr($arg, 9));
1211
+                	self::$overriddenDefaults['encoding'] = true;
1212
+            	} else if (substr($arg, 0, 10) === 'tab-width=') {
1213
+                	if (isset(self::$overriddenDefaults['tabWidth']) === true) {
1214
+                    	break;
1215
+                	}
1216
+
1217
+                	$this->tabWidth = (int) substr($arg, 10);
1218
+                	self::$overriddenDefaults['tabWidth'] = true;
1219
+            	} else {
1220
+                	if ($this->dieOnUnknownArg === false) {
1221
+                    	$eqPos = strpos($arg, '=');
1222
+                    	try {
1223
+                        	if ($eqPos === false) {
1224
+                            	$this->values[$arg] = $arg;
1225
+                        	} else {
1226
+                            	$value = substr($arg, ($eqPos + 1));
1227
+                            	$arg   = substr($arg, 0, $eqPos);
1228
+                            	$this->values[$arg] = $value;
1229
+                        	}
1230
+                    	} catch (RuntimeException $e) {
1231
+                        	// Value is not valid, so just ignore it.
1232
+                    	}
1233
+                	} else {
1234
+                    	$this->processUnknownArgument('--'.$arg, $pos);
1235
+                	}
1236
+            	}//end if
1237
+            	break;
1238 1238
         }//end switch
1239 1239
 
1240 1240
     }//end processLongArgument()
Please login to merge, or discard this patch.
vendor/squizlabs/php_codesniffer/src/Sniffs/AbstractPatternSniff.php 1 patch
Switch Indentation   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -864,26 +864,26 @@
 block discarded – undo
864 864
         $nestedBraces      = 0;
865 865
         for ($start = $from; $start >= 0; $start--) {
866 866
             switch ($pattern[$start]) {
867
-            case '(':
868
-                if ($nestedParenthesis === 0) {
869
-                    $skip['to'] = 'parenthesis_closer';
870
-                }
871
-
872
-                $nestedParenthesis--;
873
-                break;
874
-            case '{':
875
-                if ($nestedBraces === 0) {
876
-                    $skip['to'] = 'scope_closer';
877
-                }
878
-
879
-                $nestedBraces--;
880
-                break;
881
-            case '}':
882
-                $nestedBraces++;
883
-                break;
884
-            case ')':
885
-                $nestedParenthesis++;
886
-                break;
867
+            	case '(':
868
+                	if ($nestedParenthesis === 0) {
869
+                    	$skip['to'] = 'parenthesis_closer';
870
+                	}
871
+
872
+                	$nestedParenthesis--;
873
+                	break;
874
+            	case '{':
875
+                	if ($nestedBraces === 0) {
876
+                    	$skip['to'] = 'scope_closer';
877
+                	}
878
+
879
+                	$nestedBraces--;
880
+                	break;
881
+            	case '}':
882
+                	$nestedBraces++;
883
+                	break;
884
+            	case ')':
885
+                	$nestedParenthesis++;
886
+                	break;
887 887
             }//end switch
888 888
 
889 889
             if (isset($skip['to']) === true) {
Please login to merge, or discard this patch.
src/Standards/Generic/Tests/Formatting/SpaceAfterNotUnitTest.php 1 patch
Switch Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -28,46 +28,46 @@
 block discarded – undo
28 28
     public function getErrorList($testFile='')
29 29
     {
30 30
         switch ($testFile) {
31
-        case 'SpaceAfterNotUnitTest.inc':
32
-            return [
33
-                3  => 2,
34
-                4  => 2,
35
-                5  => 2,
36
-                6  => 1,
37
-                7  => 1,
38
-                8  => 1,
39
-                11 => 1,
40
-                14 => 1,
41
-                17 => 1,
42
-                20 => 1,
43
-                28 => 1,
44
-                38 => 2,
45
-                39 => 2,
46
-                40 => 1,
47
-                41 => 1,
48
-                42 => 1,
49
-                48 => 1,
50
-                51 => 1,
51
-                56 => 2,
52
-                57 => 1,
53
-                58 => 1,
54
-                59 => 1,
55
-                62 => 1,
56
-                65 => 1,
57
-                68 => 1,
58
-                71 => 1,
59
-                79 => 1,
60
-            ];
31
+        	case 'SpaceAfterNotUnitTest.inc':
32
+            	return [
33
+                	3  => 2,
34
+                	4  => 2,
35
+                	5  => 2,
36
+                	6  => 1,
37
+                	7  => 1,
38
+                	8  => 1,
39
+                	11 => 1,
40
+                	14 => 1,
41
+                	17 => 1,
42
+                	20 => 1,
43
+                	28 => 1,
44
+                	38 => 2,
45
+                	39 => 2,
46
+                	40 => 1,
47
+                	41 => 1,
48
+                	42 => 1,
49
+                	48 => 1,
50
+                	51 => 1,
51
+                	56 => 2,
52
+                	57 => 1,
53
+                	58 => 1,
54
+                	59 => 1,
55
+                	62 => 1,
56
+                	65 => 1,
57
+                	68 => 1,
58
+                	71 => 1,
59
+                	79 => 1,
60
+            	];
61 61
 
62
-        case 'SpaceAfterNotUnitTest.js':
63
-            return [
64
-                2 => 2,
65
-                4 => 2,
66
-                5 => 1,
67
-            ];
62
+        	case 'SpaceAfterNotUnitTest.js':
63
+            	return [
64
+                	2 => 2,
65
+                	4 => 2,
66
+                	5 => 1,
67
+            	];
68 68
 
69
-        default:
70
-            return [];
69
+        	default:
70
+            	return [];
71 71
         }//end switch
72 72
 
73 73
     }//end getErrorList()
Please login to merge, or discard this patch.
Standards/Generic/Tests/Formatting/MultipleStatementAlignmentUnitTest.php 1 patch
Switch Indentation   +105 added lines, -105 removed lines patch added patch discarded remove patch
@@ -43,111 +43,111 @@
 block discarded – undo
43 43
     public function getWarningList($testFile='MultipleStatementAlignmentUnitTest.inc')
44 44
     {
45 45
         switch ($testFile) {
46
-        case 'MultipleStatementAlignmentUnitTest.inc':
47
-            return [
48
-                11  => 1,
49
-                12  => 1,
50
-                23  => 1,
51
-                24  => 1,
52
-                26  => 1,
53
-                27  => 1,
54
-                37  => 1,
55
-                38  => 1,
56
-                48  => 1,
57
-                50  => 1,
58
-                51  => 1,
59
-                61  => 1,
60
-                62  => 1,
61
-                64  => 1,
62
-                65  => 1,
63
-                71  => 1,
64
-                78  => 1,
65
-                79  => 1,
66
-                86  => 1,
67
-                92  => 1,
68
-                93  => 1,
69
-                94  => 1,
70
-                95  => 1,
71
-                123 => 1,
72
-                124 => 1,
73
-                126 => 1,
74
-                129 => 1,
75
-                154 => 1,
76
-                161 => 1,
77
-                178 => 1,
78
-                179 => 1,
79
-                182 => 1,
80
-                206 => 1,
81
-                207 => 1,
82
-                252 => 1,
83
-                257 => 1,
84
-                263 => 1,
85
-                269 => 1,
86
-                293 => 1,
87
-                295 => 1,
88
-                296 => 1,
89
-                297 => 1,
90
-                301 => 1,
91
-                303 => 1,
92
-                308 => 1,
93
-                311 => 1,
94
-                313 => 1,
95
-                314 => 1,
96
-                321 => 1,
97
-                322 => 1,
98
-                324 => 1,
99
-                329 => 1,
100
-                331 => 1,
101
-                336 => 1,
102
-                339 => 1,
103
-                341 => 1,
104
-                342 => 1,
105
-                349 => 1,
106
-                350 => 1,
107
-                352 => 1,
108
-                357 => 1,
109
-                364 => 1,
110
-                396 => 1,
111
-                398 => 1,
112
-                399 => 1,
113
-                401 => 1,
114
-            ];
115
-        break;
116
-        case 'MultipleStatementAlignmentUnitTest.js':
117
-            return [
118
-                11  => 1,
119
-                12  => 1,
120
-                23  => 1,
121
-                24  => 1,
122
-                26  => 1,
123
-                27  => 1,
124
-                37  => 1,
125
-                38  => 1,
126
-                48  => 1,
127
-                50  => 1,
128
-                51  => 1,
129
-                61  => 1,
130
-                62  => 1,
131
-                64  => 1,
132
-                65  => 1,
133
-                71  => 1,
134
-                78  => 1,
135
-                79  => 1,
136
-                81  => 1,
137
-                82  => 1,
138
-                83  => 1,
139
-                85  => 1,
140
-                86  => 1,
141
-                100 => 1,
142
-                112 => 1,
143
-                113 => 1,
144
-                114 => 1,
145
-                117 => 1,
146
-            ];
147
-            break;
148
-        default:
149
-            return [];
150
-            break;
46
+        	case 'MultipleStatementAlignmentUnitTest.inc':
47
+            	return [
48
+                	11  => 1,
49
+                	12  => 1,
50
+                	23  => 1,
51
+                	24  => 1,
52
+                	26  => 1,
53
+                	27  => 1,
54
+                	37  => 1,
55
+                	38  => 1,
56
+                	48  => 1,
57
+                	50  => 1,
58
+                	51  => 1,
59
+                	61  => 1,
60
+                	62  => 1,
61
+                	64  => 1,
62
+                	65  => 1,
63
+                	71  => 1,
64
+                	78  => 1,
65
+                	79  => 1,
66
+                	86  => 1,
67
+                	92  => 1,
68
+                	93  => 1,
69
+                	94  => 1,
70
+                	95  => 1,
71
+                	123 => 1,
72
+                	124 => 1,
73
+                	126 => 1,
74
+                	129 => 1,
75
+                	154 => 1,
76
+                	161 => 1,
77
+                	178 => 1,
78
+                	179 => 1,
79
+                	182 => 1,
80
+                	206 => 1,
81
+                	207 => 1,
82
+                	252 => 1,
83
+                	257 => 1,
84
+                	263 => 1,
85
+                	269 => 1,
86
+                	293 => 1,
87
+                	295 => 1,
88
+                	296 => 1,
89
+                	297 => 1,
90
+                	301 => 1,
91
+                	303 => 1,
92
+                	308 => 1,
93
+                	311 => 1,
94
+                	313 => 1,
95
+                	314 => 1,
96
+                	321 => 1,
97
+                	322 => 1,
98
+                	324 => 1,
99
+                	329 => 1,
100
+                	331 => 1,
101
+                	336 => 1,
102
+                	339 => 1,
103
+                	341 => 1,
104
+                	342 => 1,
105
+                	349 => 1,
106
+                	350 => 1,
107
+                	352 => 1,
108
+                	357 => 1,
109
+                	364 => 1,
110
+                	396 => 1,
111
+                	398 => 1,
112
+                	399 => 1,
113
+                	401 => 1,
114
+            	];
115
+        	break;
116
+        	case 'MultipleStatementAlignmentUnitTest.js':
117
+            	return [
118
+                	11  => 1,
119
+                	12  => 1,
120
+                	23  => 1,
121
+                	24  => 1,
122
+                	26  => 1,
123
+                	27  => 1,
124
+                	37  => 1,
125
+                	38  => 1,
126
+                	48  => 1,
127
+                	50  => 1,
128
+                	51  => 1,
129
+                	61  => 1,
130
+                	62  => 1,
131
+                	64  => 1,
132
+                	65  => 1,
133
+                	71  => 1,
134
+                	78  => 1,
135
+                	79  => 1,
136
+                	81  => 1,
137
+                	82  => 1,
138
+                	83  => 1,
139
+                	85  => 1,
140
+                	86  => 1,
141
+                	100 => 1,
142
+                	112 => 1,
143
+                	113 => 1,
144
+                	114 => 1,
145
+                	117 => 1,
146
+            	];
147
+            	break;
148
+        	default:
149
+            	return [];
150
+            	break;
151 151
         }//end switch
152 152
 
153 153
     }//end getWarningList()
Please login to merge, or discard this patch.
src/Standards/Generic/Tests/PHP/CharacterBeforePHPOpeningTagUnitTest.php 1 patch
Switch Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -28,12 +28,12 @@
 block discarded – undo
28 28
     public function getErrorList($testFile='')
29 29
     {
30 30
         switch ($testFile) {
31
-        case 'CharacterBeforePHPOpeningTagUnitTest.1.inc':
32
-            return [2 => 1];
33
-            break;
34
-        default:
35
-            return [];
36
-            break;
31
+        	case 'CharacterBeforePHPOpeningTagUnitTest.1.inc':
32
+            	return [2 => 1];
33
+            	break;
34
+        	default:
35
+            	return [];
36
+            	break;
37 37
         }//end switch
38 38
 
39 39
     }//end getErrorList()
Please login to merge, or discard this patch.