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

parseYield() private method

This method parses a yield-statement node.
private parseYield ( ) : PDepend\Source\AST\ASTYieldStatmenet
return PDepend\Source\AST\ASTYieldStatmenet
    private function parseYield()
    {
        $this->tokenStack->push();
        $token = $this->consumeToken(Tokens::T_YIELD);
        $this->consumeComments();
        $yield = $this->builder->buildAstYieldStatement($token->image);
        $node = $this->parseOptionalExpression();
        if ($node) {
            $yield->addChild($node);
            if ($this->tokenizer->peek() === Tokens::T_DOUBLE_ARROW) {
                $this->consumeToken(Tokens::T_DOUBLE_ARROW);
                $yield->addChild($this->parseOptionalExpression());
            }
        }
        $this->consumeComments();
        if (Tokens::T_PARENTHESIS_CLOSE === $this->tokenizer->peek()) {
            return $this->setNodePositionsAndReturn($yield);
        }
        $this->parseStatementTermination();
        return $this->setNodePositionsAndReturn($yield);
    }
AbstractPHPParser