forked from joomla/joomla-cms
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request joomla#1 from elkuku/sniffs
Add elseif declaration sniff
- Loading branch information
Showing
1 changed file
with
82 additions
and
0 deletions.
There are no files selected for viewing
82 changes: 82 additions & 0 deletions
82
build/phpcs/Joomla/Sniffs/ControlStructures/ElseIfDeclarationSniff.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
<?php | ||
/** | ||
* Squiz_Sniffs_ControlStructures_ElseIfDeclarationSniff. | ||
* | ||
* PHP version 5 | ||
* | ||
* @category PHP | ||
* @package PHP_CodeSniffer | ||
* @author Greg Sherwood <[email protected]> | ||
* @author Marc McIntyre <[email protected]> | ||
* @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 <[email protected]> | ||
* @author Marc McIntyre <[email protected]> | ||
* @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 | ||
|
||
|
||
?> |