PDepend\Source\Language\PHP\AbstractPHPParser::parseFunctionOrClosureDeclaration PHP Method

parseFunctionOrClosureDeclaration() private method

This method parses a simple function or a PHP 5.3 lambda function or closure.
Since: 0.9.5
private parseFunctionOrClosureDeclaration ( ) : PDepend\Source\AST\AbstractASTCallable
return PDepend\Source\AST\AbstractASTCallable
    private function parseFunctionOrClosureDeclaration()
    {
        $this->tokenStack->push();
        $this->consumeToken(Tokens::T_FUNCTION);
        $this->consumeComments();
        $returnReference = $this->parseOptionalByReference();
        if ($this->isNextTokenFormalParameterList()) {
            $callable = $this->parseClosureDeclaration();
            return $this->setNodePositionsAndReturn($callable);
        } else {
            $callable = $this->parseFunctionDeclaration();
            $this->compilationUnit->addChild($callable);
        }
        $callable->setComment($this->docComment);
        $callable->setTokens($this->tokenStack->pop());
        $this->prepareCallable($callable);
        if ($returnReference) {
            $callable->setReturnsReference();
        }
        $this->reset();
        return $callable;
    }
AbstractPHPParser