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

parseClosureDeclaration() private method

This method parses a PHP 5.3 closure or lambda function.
Since: 0.9.5
private parseClosureDeclaration ( ) : PDepend\Source\AST\ASTClosure
return PDepend\Source\AST\ASTClosure
    private function parseClosureDeclaration()
    {
        $this->tokenStack->push();
        if (Tokens::T_FUNCTION === $this->tokenizer->peek()) {
            $this->consumeToken(Tokens::T_FUNCTION);
        }
        $closure = $this->builder->buildAstClosure();
        $closure->setReturnsByReference($this->parseOptionalByReference());
        $closure->addChild($this->parseFormalParameters());
        $closure = $this->parseOptionalBoundVariables($closure);
        $closure = $this->parseCallableDeclarationAddition($closure);
        $closure->addChild($this->parseScope());
        return $this->setNodePositionsAndReturn($closure);
    }
AbstractPHPParser