abstract class PHP_TokenWithScope in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/phpunit/php-token-stream/src/Token.php \PHP_TokenWithScope
Hierarchy
- class \PHP_Token
- class \PHP_TokenWithScope
Expanded class hierarchy of PHP_TokenWithScope
File
- vendor/
phpunit/ php-token-stream/ src/ Token.php, line 75
View source
abstract class PHP_TokenWithScope extends PHP_Token {
/**
* @var integer
*/
protected $endTokenId;
/**
* 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 string|null Returns the docblock as a string if found
*/
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];
}
}
/**
* @return integer
*/
public function getEndTokenId() {
$block = 0;
$i = $this->id;
$tokens = $this->tokenStream
->tokens();
while ($this->endTokenId === null && isset($tokens[$i])) {
if ($tokens[$i] instanceof PHP_Token_OPEN_CURLY || $tokens[$i] instanceof PHP_Token_CURLY_OPEN) {
$block++;
}
elseif ($tokens[$i] instanceof PHP_Token_CLOSE_CURLY) {
$block--;
if ($block === 0) {
$this->endTokenId = $i;
}
}
elseif (($this instanceof PHP_Token_FUNCTION || $this instanceof PHP_Token_NAMESPACE) && $tokens[$i] instanceof PHP_Token_SEMICOLON) {
if ($block === 0) {
$this->endTokenId = $i;
}
}
$i++;
}
if ($this->endTokenId === null) {
$this->endTokenId = $this->id;
}
return $this->endTokenId;
}
/**
* @return integer
*/
public function getEndLine() {
return $this->tokenStream[$this
->getEndTokenId()]
->getLine();
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PHP_Token:: |
protected | property | ||
PHP_Token:: |
protected | property | ||
PHP_Token:: |
protected | property | ||
PHP_Token:: |
protected | property | ||
PHP_Token:: |
public | function | ||
PHP_Token:: |
public | function | Constructor. | |
PHP_Token:: |
public | function | ||
PHP_TokenWithScope:: |
protected | property | ||
PHP_TokenWithScope:: |
public | function | Get the docblock for this token | |
PHP_TokenWithScope:: |
public | function | ||
PHP_TokenWithScope:: |
public | function |