private function parseArgument($token)
    {
        $c = \count($this->arguments);

        // if input is expecting another argument, add it
        if ($this->definition->hasArgument($c)) {
            $arg = $this->definition->getArgument($c);
            $this->arguments[$arg->getName()] = $arg->isArray() ? [$token] : $token;

        // if last argument isArray(), append token to last argument
        } elseif ($this->definition->hasArgument($c - 1) && $this->definition->getArgument($c - 1)->isArray()) {
            $arg = $this->definition->getArgument($c - 1);
            $this->arguments[$arg->getName()][] = $token;

        // unexpected argument
        } else {
            $all = $this->definition->getArguments();
            if (\count($all)) {
                throw new RuntimeException(sprintf('Too many arguments, expected arguments "%s".', implode('" "', array_keys($all))));
            }

            throw new RuntimeException(sprintf('No arguments expected, got "%s".', $token));
        }
    }
private function parseArgument($token)
    {
        $c = \count($this->arguments);

        // if input is expecting another argument, add it
        if ($this->definition->hasArgument($c)) {
            $arg = $this->definition->getArgument($c);
            $this->arguments[$arg->getName()] = $arg->isArray() ? [$token] : $token;

        // if last argument isArray(), append token to last argument
        } elseif ($this->definition->hasArgument($c - 1) && $this->definition->getArgument($c - 1)->isArray()) {
            $arg = $this->definition->getArgument($c - 1);
            $this->arguments[$arg->getName()][] = $token;

        // unexpected argument
        } else {
            $all = $this->definition->getArguments();
            if (\count($all)) {
                throw new RuntimeException(sprintf('Too many arguments, expected arguments "%s".', implode('" "', array_keys($all))));
            }

            throw new RuntimeException(sprintf('No arguments expected, got "%s".', $token));
        }
    }
private function parseArgument ( $ token ) { $ c = \ count ( $ this -> arguments ) ; // if input is expecting another argument, add it if ( $ this -> definition -> hasArgument ( $ c ) ) { $ arg = $ this -> definition -> getArgument ( $ c ) ; $ this -> arguments [ $ arg -> getName ( ) ] = $ arg -> isArray ( ) ? [ $ token ] : $ token ; // if last argument isArray(), append token to last argument } elseif ( $ this -> definition -> hasArgument ( $ c - 1 ) && $ this -> definition -> getArgument ( $ c - 1 ) -> isArray ( ) ) { $ arg = $ this -> definition -> getArgument ( $ c - 1 ) ; $ this -> arguments [ $ arg -> getName ( ) ] [ ] = $ token ; // unexpected argument } else { $ all = $ this -> definition -> getArguments ( ) ; if ( \ count ( $ all ) ) { throw new RuntimeException ( sprintf ( 'Too many arguments, expected arguments "%s".' , implode ( '" "' , array_keys ( $ all ) ) ) ) ; } throw new RuntimeException ( sprintf ( 'No arguments expected, got "%s".' , $ token ) ) ; } }
Parses an argument.

@param string $token The current token

@throws RuntimeException When too many arguments are given
Parses an argument .