Library/Passes/StaticTypeInference.php
public function reduce()
    {
        $pass = false;
        foreach ($this->variables as $variable => $type) {
            if ('variable' == $type || 'string' == $type || 'istring' == $type || 'array' == $type || 'null' == $type || 'numeric' == $type) {
                unset($this->variables[$variable]);
            } else {
                $pass = true;
                $this->infered[$variable] = $type;
            }
        }

        return $pass;
    }
public function reduce()
    {
        $pass = false;
        foreach ($this->variables as $variable => $type) {
            if ('variable' == $type || 'string' == $type || 'istring' == $type || 'array' == $type || 'null' == $type || 'numeric' == $type) {
                unset($this->variables[$variable]);
            } else {
                $pass = true;
                $this->infered[$variable] = $type;
            }
        }

        return $pass;
    }
public function reduce ( ) { $ pass = false ; foreach ( $ this -> variables as $ variable => $ type ) { if ( 'variable' == $ type || 'string' == $ type || 'istring' == $ type || 'array' == $ type || 'null' == $ type || 'numeric' == $ type ) { unset ( $ this -> variables [ $ variable ] ) ; } else { $ pass = true ; $ this -> infered [ $ variable ] = $ type ; } } return $ pass ; }
Process the found infered types and schedule a new pass.

@return bool
Process the found infered types and schedule a new pass .