You are here

public function PHP_TokenWithScope::getDocblock in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/phpunit/php-token-stream/src/Token.php \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 vendor/phpunit/php-token-stream/src/Token.php

File

vendor/phpunit/php-token-stream/src/Token.php, line 91

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];
  }
}