src/Reflection/ReflectionFile.php
protected function locateDeclarations()
    {
        foreach ($this->getTokens() as $tokenID => $token) {
            if (!in_array($token[self::TOKEN_TYPE], self::$processTokens)) {
                continue;
            }

            switch ($token[self::TOKEN_TYPE]) {
                case T_NAMESPACE:
                    $this->registerNamespace($tokenID);
                    break;

                case T_USE:
                    $this->registerUse($tokenID);
                    break;

                case T_FUNCTION:
                    $this->registerFunction($tokenID);
                    break;

                case T_CLASS:
                case T_TRAIT:
                case T_INTERFACE:
                    if ($this->isClassNameConst($tokenID)) {
                        //PHP5.5 ClassName::class constant
                        continue 2;
                    }

                    $this->registerDeclaration($tokenID, $token[self::TOKEN_TYPE]);
                    break;

                case T_INCLUDE:
                case T_INCLUDE_ONCE:
                case T_REQUIRE:
                case T_REQUIRE_ONCE:
                    $this->hasIncludes = true;
            }
        }

        //Dropping empty namespace
        if (isset($this->namespaces[''])) {
            $this->namespaces['\\'] = $this->namespaces[''];
            unset($this->namespaces['']);
        }
    }
protected function locateDeclarations()
    {
        foreach ($this->getTokens() as $tokenID => $token) {
            if (!in_array($token[self::TOKEN_TYPE], self::$processTokens)) {
                continue;
            }

            switch ($token[self::TOKEN_TYPE]) {
                case T_NAMESPACE:
                    $this->registerNamespace($tokenID);
                    break;

                case T_USE:
                    $this->registerUse($tokenID);
                    break;

                case T_FUNCTION:
                    $this->registerFunction($tokenID);
                    break;

                case T_CLASS:
                case T_TRAIT:
                case T_INTERFACE:
                    if ($this->isClassNameConst($tokenID)) {
                        //PHP5.5 ClassName::class constant
                        continue 2;
                    }

                    $this->registerDeclaration($tokenID, $token[self::TOKEN_TYPE]);
                    break;

                case T_INCLUDE:
                case T_INCLUDE_ONCE:
                case T_REQUIRE:
                case T_REQUIRE_ONCE:
                    $this->hasIncludes = true;
            }
        }

        //Dropping empty namespace
        if (isset($this->namespaces[''])) {
            $this->namespaces['\\'] = $this->namespaces[''];
            unset($this->namespaces['']);
        }
    }
protected function locateDeclarations ( ) { foreach ( $ this -> getTokens ( ) as $ tokenID => $ token ) { if ( ! in_array ( $ token [ self :: TOKEN_TYPE ] , self :: $ processTokens ) ) { continue ; } switch ( $ token [ self :: TOKEN_TYPE ] ) { case T_NAMESPACE : $ this -> registerNamespace ( $ tokenID ) ; break ; case T_USE : $ this -> registerUse ( $ tokenID ) ; break ; case T_FUNCTION : $ this -> registerFunction ( $ tokenID ) ; break ; case T_CLASS : case T_TRAIT : case T_INTERFACE : if ( $ this -> isClassNameConst ( $ tokenID ) ) { //PHP5.5 ClassName::class constant continue 2 ; } $ this -> registerDeclaration ( $ tokenID , $ token [ self :: TOKEN_TYPE ] ) ; break ; case T_INCLUDE : case T_INCLUDE_ONCE : case T_REQUIRE : case T_REQUIRE_ONCE : $ this -> hasIncludes = true ; } } //Dropping empty namespace if ( isset ( $ this -> namespaces [ '' ] ) ) { $ this -> namespaces [ '\\' ] = $ this -> namespaces [ '' ] ; unset ( $ this -> namespaces [ '' ] ) ; } }
Locate every class, interface, trait or function definition.
Locate every class interface trait or function definition .