/** * @param \Twig_Token $token * @return array */ protected function parseArguments(\Twig_Token $token) { $stream = $this->parser->getStream(); $location = null; if ($stream->nextIf(\Twig_Token::OPERATOR_TYPE, 'in')) { $location = $this->parser->getExpressionParser()->parseExpression(); } else { $lineno = $token->getLine(); $location = new \Twig_Node_Expression_Constant('head', $lineno); } if ($stream->nextIf(\Twig_Token::NAME_TYPE, 'with')) { $variables = $this->parser->getExpressionParser()->parseExpression(); } else { $lineno = $token->getLine(); $variables = new \Twig_Node_Expression_Array([], $lineno); $variables->setAttribute('priority', 0); } $stream->expect(\Twig_Token::BLOCK_END_TYPE); return [$location, $variables]; }