diff --git a/build/phpcs/Joomla/Sniffs/ControlStructures/ElseIfDeclarationSniff.php b/build/phpcs/Joomla/Sniffs/ControlStructures/ElseIfDeclarationSniff.php new file mode 100644 index 0000000000000..1caa9283526c2 --- /dev/null +++ b/build/phpcs/Joomla/Sniffs/ControlStructures/ElseIfDeclarationSniff.php @@ -0,0 +1,82 @@ + + * @author Marc McIntyre + * @copyright 2006 Squiz Pty Ltd (ABN 77 084 670 600) + * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence + * @version CVS: $Id: ElseIfDeclarationSniff.php 301632 2010-07-28 01:57:56Z squiz $ + * @link http://pear.php.net/package/PHP_CodeSniffer + */ + +/** + * Squiz_Sniffs_ControlStructures_ElseIfDeclarationSniff. + * + * Verifies that there are no "else if" statements. The else and the if should + * be a single word "elseif". + * + * @category PHP + * @package PHP_CodeSniffer + * @author Greg Sherwood + * @author Marc McIntyre + * @copyright 2006 Squiz Pty Ltd (ABN 77 084 670 600) + * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence + * @version Release: 1.3.0 + * @link http://pear.php.net/package/PHP_CodeSniffer + */ +class Joomla_Sniffs_ControlStructures_ElseIfDeclarationSniff implements PHP_CodeSniffer_Sniff +{ + + + /** + * Returns an array of tokens this test wants to listen for. + * + * @return array + */ + public function register() + { + return array(T_ELSE); + + }//end register() + + + /** + * Processes this test, when one of its tokens is encountered. + * + * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. + * @param int $stackPtr The position of the current token in the + * stack passed in $tokens. + * + * @return void + */ + public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr) + { + $tokens = $phpcsFile->getTokens(); + + $nextNonWhiteSpace = $phpcsFile->findNext( + T_WHITESPACE, + $stackPtr + 1, + null, + true, + null, + true + ); + + if($tokens[$nextNonWhiteSpace]['code'] == T_IF) + { + $error = 'Usage of ELSE IF is not allowed; use ELSEIF instead'; + $phpcsFile->addError($error, $stackPtr, 'NotAllowed'); + } + + }//end process() + + +}//end class + + +?>