PHP_CodeSniffer_File::getCondition PHP Method

getCondition() public method

Returns FALSE if the token does not have the condition.
public getCondition ( integer $stackPtr, integer $type ) : integer
$stackPtr integer The position of the token we are checking.
$type integer The type of token to search for.
return integer
    public function getCondition($stackPtr, $type)
    {
        // Check for the existence of the token.
        if (isset($this->_tokens[$stackPtr]) === false) {
            return false;
        }
        // Make sure the token has conditions.
        if (isset($this->_tokens[$stackPtr]['conditions']) === false) {
            return false;
        }
        $conditions = $this->_tokens[$stackPtr]['conditions'];
        foreach ($conditions as $token => $condition) {
            if ($condition === $type) {
                return $token;
            }
        }
        return false;
    }

Usage Example

 /**
  * 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();
     $function = $phpcsFile->getCondition($stackPtr, T_FUNCTION);
     if ($function === false) {
         // Not a nested function.
         return;
     }
     $class = $phpcsFile->getCondition($stackPtr, T_ANON_CLASS);
     if ($class !== false && $class > $function) {
         // Ignore methods in anon classes.
         return;
     }
     $prev = $phpcsFile->findPrevious(T_WHITESPACE, $stackPtr - 1, null, true);
     if ($tokens[$prev]['code'] === T_EQUAL) {
         // Ignore closures.
         return;
     }
     $error = 'The use of inner functions is forbidden';
     $phpcsFile->addError($error, $stackPtr, 'NotAllowed');
 }
All Usage Examples Of PHP_CodeSniffer_File::getCondition