public function Twig_ExpressionParser::parseArguments

3 calls to Twig_ExpressionParser::parseArguments()
Twig_ExpressionParser::getFunctionNode in drupal/core/vendor/twig/twig/lib/Twig/ExpressionParser.php
Twig_ExpressionParser::parseFilterExpressionRaw in drupal/core/vendor/twig/twig/lib/Twig/ExpressionParser.php
Twig_ExpressionParser::parseSubscriptExpression in drupal/core/vendor/twig/twig/lib/Twig/ExpressionParser.php

File

drupal/core/vendor/twig/twig/lib/Twig/ExpressionParser.php, line 419

Class

Twig_ExpressionParser
Parses expressions.

Code

public function parseArguments() {
  $args = array();
  $stream = $this->parser
    ->getStream();
  $stream
    ->expect(Twig_Token::PUNCTUATION_TYPE, '(', 'A list of arguments must be opened by a parenthesis');
  while (!$stream
    ->test(Twig_Token::PUNCTUATION_TYPE, ')')) {
    if (!empty($args)) {
      $stream
        ->expect(Twig_Token::PUNCTUATION_TYPE, ',', 'Arguments must be separated by a comma');
    }
    $args[] = $this
      ->parseExpression();
  }
  $stream
    ->expect(Twig_Token::PUNCTUATION_TYPE, ')', 'A list of arguments must be closed by a parenthesis');
  return new Twig_Node($args);
}