checkLineLength() protected method

Checks if a line is too long.
protected checkLineLength ( PHP_CodeSniffer_File $phpcsFile, array $tokens, integer $stackPtr ) : null | false
$phpcsFile PHP_CodeSniffer_File The file being scanned.
$tokens array The token stack.
$stackPtr integer The first token on the next line.
return null | false
Example #1
0
 /**
  * Checks if a line is too long.
  *
  * @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
  * @param array $tokens The token stack.
  * @param int $stackPtr The first token on the next line.
  *
  * @return void
  */
 protected function checkLineLength(PHP_CodeSniffer_File $phpcsFile, $tokens, $stackPtr)
 {
     if (isset(PHP_CodeSniffer_Tokens::$commentTokens[$tokens[$stackPtr - 1]['code']]) === TRUE) {
         $doc_comment_tag = $phpcsFile->findFirstOnLine(T_DOC_COMMENT_TAG, $stackPtr - 1);
         if ($doc_comment_tag !== FALSE) {
             // Allow doc comment tags such as long @param tags to exceed the 80
             // character limit.
             return;
         }
         if ($tokens[$stackPtr - 1]['code'] === T_COMMENT && (preg_match('/^[[:space:]]*\\/\\/ @.+/', $tokens[$stackPtr - 1]['content']) === 1 || strpos(trim($tokens[$stackPtr - 1]['content'], "/ \n"), ' ') === FALSE)) {
             // Allow @link and @see documentation to exceed the 80 character
             // limit.
             return;
         }
         // Code examples between @code and @endcode are allowed to exceed 80
         // characters.
         if (isset($tokens[$stackPtr]) === TRUE && $tokens[$stackPtr]['code'] === T_DOC_COMMENT_WHITESPACE) {
             $tag = $phpcsFile->findPrevious(array(T_DOC_COMMENT_TAG, T_DOC_COMMENT_OPEN_TAG), $stackPtr - 1);
             if ($tokens[$tag]['content'] === '@code') {
                 return;
             }
         }
         // Drupal 8 annotations can have long translatable descriptions and we
         // allow them to exceed 80 characters.
         if ($tokens[$stackPtr - 2]['code'] === T_DOC_COMMENT_STRING && strpos($tokens[$stackPtr - 2]['content'], '@Translation(') !== FALSE) {
             return;
         }
         // Allow comments preceded by the line with @code and ended by the line
         // with @endcode to be excluded.
         if ($this->isInCodeExample($phpcsFile, $stackPtr) === TRUE) {
             return;
         }
         parent::checkLineLength($phpcsFile, $tokens, $stackPtr);
     }
 }
 /**
  * Checks if a line is too long.
  *
  * @param PHP_CodeSniffer_File $phpcsFile   The file being scanned.
  * @param int                  $stackPtr    The token at the end of the line.
  * @param string               $lineContent The content of the line.
  *
  * @return void
  */
 protected function checkLineLength(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $lineContent)
 {
     $tokens = $phpcsFile->getTokens();
     if ($tokens[$stackPtr]['code'] == T_DOC_COMMENT || $tokens[$stackPtr]['code'] == T_COMMENT) {
         return parent::checkLineLength($phpcsFile, $stackPtr, $lineContent);
     }
 }
 /**
  * Checks if a line is too long.
  *
  * @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
  * @param array $tokens The token stack.
  * @param int $stackPtr The first token on the next line.
  *
  * @return null|false
  */
 protected function checkLineLength(PHP_CodeSniffer_File $phpcsFile, $tokens, $stackPtr)
 {
     //コメントは除外する
     $str = substr(trim($stackPtr), 0, 2);
     if (in_array($str, ['/*', '*', '*' . chr(9), '* ', '//', '*/'], true)) {
         return;
     }
     parent::checkLineLength($phpcsFile, $tokens, $stackPtr);
 }
Example #4
0
 /**
  * Checks if a line is too long.
  *
  * @param PHP_CodeSniffer_File $phpcsFile   The file being scanned.
  * @param int                  $stackPtr    The token at the end of the line.
  * @param string               $lineContent The content of the line.
  *
  * @return void
  */
 protected function checkLineLength(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $lineContent)
 {
     $tokens = $phpcsFile->getTokens();
     if ($tokens[$stackPtr]['code'] === T_DOC_COMMENT || $tokens[$stackPtr]['code'] === T_COMMENT) {
         if (preg_match('/^[[:space:]]*(\\/\\*)?\\*[[:space:]]*@link.*@endlink[[:space:]]*/', $lineContent) === 1) {
             // Allow @link documentation to exceed the 80 character limit.
             return;
         }
         parent::checkLineLength($phpcsFile, $stackPtr, $lineContent);
     }
 }
 /**
  * {@inheritdoc}
  */
 protected function checkLineLength(\PHP_CodeSniffer_File $phpcsFile, $stackPtr, $lineContent)
 {
     $previousLineRegexp = '~__\\($|\\bPhrase\\($~';
     $currentLineRegexp = '~__\\(.+\\)|\\bPhrase\\(.+\\)~';
     $currentLineMatch = preg_match($currentLineRegexp, $lineContent) !== 0;
     $previousLineMatch = preg_match($previousLineRegexp, $this->previousLineContent) !== 0;
     $this->previousLineContent = $lineContent;
     if (!$currentLineMatch && !$previousLineMatch) {
         parent::checkLineLength($phpcsFile, $stackPtr, $lineContent);
     }
 }
 /**
  * Checks if a line is too long.
  *
  * @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
  * @param array                $tokens    The token stack.
  * @param int                  $stackPtr  The first token on the next line.
  *
  * @return void
  */
 protected function checkLineLength(PHP_CodeSniffer_File $phpcsFile, $tokens, $stackPtr)
 {
     if (isset(PHP_CodeSniffer_Tokens::$commentTokens[$tokens[$stackPtr - 1]['code']]) === true) {
         $doc_comment_tag = $phpcsFile->findFirstOnLine(T_DOC_COMMENT_TAG, $stackPtr - 1);
         if ($doc_comment_tag !== false) {
             // Allow doc comment tags such as long @param tags to exceed the 80
             // character limit.
             return;
         }
         if ($tokens[$stackPtr - 1]['code'] === T_COMMENT && preg_match('/^[[:space:]]*\\/\\/ @.+/', $tokens[$stackPtr - 1]['content']) === 1) {
             // Allow @link and @see documentation to exceed the 80 character
             // limit.
             return;
         }
         parent::checkLineLength($phpcsFile, $tokens, $stackPtr);
     }
 }