src/ParameterParser/ParameterParser.php
private function parseUniadicParameter(
        &$i,
        &$results,
        $closure,
        &$closure_arguments,
        $prefix,
        $parameter,
        $rFunction
    ) {
        $current_argument = 0;
        $argument_count = count($rFunction->getParameters());
        while (
            $current_argument < $argument_count &&
            count($this->argv) > ($i + 1)
        ) {
            $closure_arguments[] = $this->argv[$i + 1];
            $current_argument += 1;
            $i++;
        }
        $parameterClosure = $this->getParameterClosure($parameter);
        if ($parameterClosure->parent != null) {
            if (count($closure_arguments) == $argument_count) {
                $results[
                    $parameterClosure->parent->parameterName
                ] = $closure(...$closure_arguments);
            } else {
                $this->valid = false;
                if ($this->errorHandler != null) {
                    $this->errorHandler->call(
                        $this,
                        $parameterClosure,
                        'Invalid argument count for parameter closure.'
                    );
                }
            }
        } else {
            if (count($closure_arguments) == $argument_count) {
                $results[
                    substr(
                        $parameter,
                        strlen($prefix),
                        strlen($parameter) - strlen($prefix)
                    )
                ] = $closure(...$closure_arguments);
            } else {
                $this->valid = false;
                if ($this->errorHandler != null) {
                    $this->errorHandler->call(
                        $this,
                        $parameterClosure,
                        'Invalid argument count for parameter closure.'
                    );
                }
            }
        }
        $i++;
    }
private function parseUniadicParameter(
        &$i,
        &$results,
        $closure,
        &$closure_arguments,
        $prefix,
        $parameter,
        $rFunction
    ) {
        $current_argument = 0;
        $argument_count = count($rFunction->getParameters());
        while (
            $current_argument < $argument_count &&
            count($this->argv) > ($i + 1)
        ) {
            $closure_arguments[] = $this->argv[$i + 1];
            $current_argument += 1;
            $i++;
        }
        $parameterClosure = $this->getParameterClosure($parameter);
        if ($parameterClosure->parent != null) {
            if (count($closure_arguments) == $argument_count) {
                $results[
                    $parameterClosure->parent->parameterName
                ] = $closure(...$closure_arguments);
            } else {
                $this->valid = false;
                if ($this->errorHandler != null) {
                    $this->errorHandler->call(
                        $this,
                        $parameterClosure,
                        'Invalid argument count for parameter closure.'
                    );
                }
            }
        } else {
            if (count($closure_arguments) == $argument_count) {
                $results[
                    substr(
                        $parameter,
                        strlen($prefix),
                        strlen($parameter) - strlen($prefix)
                    )
                ] = $closure(...$closure_arguments);
            } else {
                $this->valid = false;
                if ($this->errorHandler != null) {
                    $this->errorHandler->call(
                        $this,
                        $parameterClosure,
                        'Invalid argument count for parameter closure.'
                    );
                }
            }
        }
        $i++;
    }
Parse a parameter belonging to a prefix that has a non-variadic
(or uniadic) structure in it's closure definition and increment
the parameter parser.

@param  int                &$i
@param  array              &$results
@param  Closure            $closure
@param  array              &$closure_arguments
@param  string             $prefix
@param  string             $parameter
@param  ReflectionFunction $rFunction