public function PHP_TokenWithScope::getDocblock

Get the docblock for this token

This method will fetch the docblock belonging to the current token. The docblock must be placed on the line directly above the token to be recognized.

Return value

string|null Returns the docblock as a string if found

1 call to PHP_TokenWithScope::getDocblock()
PHP_Token_INTERFACE::getPackage in drupal/core/vendor/phpunit/php-token-stream/PHP/Token.php

File

drupal/core/vendor/phpunit/php-token-stream/PHP/Token.php, line 122

Class

PHP_TokenWithScope

Code

public function getDocblock() {
  $tokens = $this->tokenStream
    ->tokens();
  $currentLineNumber = $tokens[$this->id]
    ->getLine();
  $prevLineNumber = $currentLineNumber - 1;
  for ($i = $this->id - 1; $i; $i--) {
    if (!isset($tokens[$i])) {
      return;
    }
    if ($tokens[$i] instanceof PHP_Token_FUNCTION || $tokens[$i] instanceof PHP_Token_CLASS || $tokens[$i] instanceof PHP_Token_TRAIT) {

      // Some other trait, class or function, no docblock can be
      // used for the current token
      break;
    }
    $line = $tokens[$i]
      ->getLine();
    if ($line == $currentLineNumber || $line == $prevLineNumber && $tokens[$i] instanceof PHP_Token_WHITESPACE) {
      continue;
    }
    if ($line < $currentLineNumber && !$tokens[$i] instanceof PHP_Token_DOC_COMMENT) {
      break;
    }
    return (string) $tokens[$i];
  }
}