BetterReflection\Reflection\ReflectionFunctionAbstract::setNodeOptionalFlag PHP Method

setNodeOptionalFlag() private method

..
private setNodeOptionalFlag ( )
    private function setNodeOptionalFlag()
    {
        $overallOptionalFlag = true;
        $lastParamIndex = count($this->node->params) - 1;
        for ($i = $lastParamIndex; $i >= 0; $i--) {
            $hasDefault = $this->node->params[$i]->default !== null;
            // When we find the first parameter that does not have a default,
            // flip the flag as all params for this are no longer optional
            // EVEN if they have a default value
            if (!$hasDefault) {
                $overallOptionalFlag = false;
            }
            $this->node->params[$i]->isOptional = $overallOptionalFlag;
        }
    }