You are here

abstract class PHP_TokenWithScopeAndVisibility in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/phpunit/php-token-stream/src/Token.php \PHP_TokenWithScopeAndVisibility

Hierarchy

Expanded class hierarchy of PHP_TokenWithScopeAndVisibility

File

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

View source
abstract class PHP_TokenWithScopeAndVisibility extends PHP_TokenWithScope {

  /**
   * @return string
   */
  public function getVisibility() {
    $tokens = $this->tokenStream
      ->tokens();
    for ($i = $this->id - 2; $i > $this->id - 7; $i -= 2) {
      if (isset($tokens[$i]) && ($tokens[$i] instanceof PHP_Token_PRIVATE || $tokens[$i] instanceof PHP_Token_PROTECTED || $tokens[$i] instanceof PHP_Token_PUBLIC)) {
        return strtolower(str_replace('PHP_Token_', '', get_class($tokens[$i])));
      }
      if (isset($tokens[$i]) && !($tokens[$i] instanceof PHP_Token_STATIC || $tokens[$i] instanceof PHP_Token_FINAL || $tokens[$i] instanceof PHP_Token_ABSTRACT)) {

        // no keywords; stop visibility search
        break;
      }
    }
  }

  /**
   * @return string
   */
  public function getKeywords() {
    $keywords = array();
    $tokens = $this->tokenStream
      ->tokens();
    for ($i = $this->id - 2; $i > $this->id - 7; $i -= 2) {
      if (isset($tokens[$i]) && ($tokens[$i] instanceof PHP_Token_PRIVATE || $tokens[$i] instanceof PHP_Token_PROTECTED || $tokens[$i] instanceof PHP_Token_PUBLIC)) {
        continue;
      }
      if (isset($tokens[$i]) && ($tokens[$i] instanceof PHP_Token_STATIC || $tokens[$i] instanceof PHP_Token_FINAL || $tokens[$i] instanceof PHP_Token_ABSTRACT)) {
        $keywords[] = strtolower(str_replace('PHP_Token_', '', get_class($tokens[$i])));
      }
    }
    return implode(',', $keywords);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PHP_Token::$id protected property
PHP_Token::$line protected property
PHP_Token::$text protected property
PHP_Token::$tokenStream protected property
PHP_Token::getLine public function
PHP_Token::__construct public function Constructor.
PHP_Token::__toString public function
PHP_TokenWithScope::$endTokenId protected property
PHP_TokenWithScope::getDocblock public function Get the docblock for this token
PHP_TokenWithScope::getEndLine public function
PHP_TokenWithScope::getEndTokenId public function
PHP_TokenWithScopeAndVisibility::getKeywords public function
PHP_TokenWithScopeAndVisibility::getVisibility public function