private function setNodeOptionalFlag() : void
    {
        $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;
        }
    }
private function setNodeOptionalFlag() : void
    {
        $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;
        }
    }
private function setNodeOptionalFlag ( ) : void { $ 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 ; } }
We must determine if params are optional or not ahead of time, but we
must do it in reverse...
We must determine if params are optional or not ahead of time but we must do it in reverse ...