Library/SymbolTable.php
public function getTempNonTrackedVariable($type, CompilationContext $context, $initNonReferenced = false)
    {
        $variable = $this->reuseTempVariable($type, 'non-tracked');

        if (\is_object($variable)) {
            $variable->increaseUses();
            $variable->increaseMutates();
            if ($initNonReferenced) {
                $variable->initNonReferenced($context);
            }

            return $variable;
        }

        $tempVar = $this->getNextTempVar();
        $variable = $this->addVariable($type, '_'.$tempVar, $context);
        $variable->setIsInitialized(true, $context);
        $variable->setTemporal(true);
        $variable->setMemoryTracked(false);
        $variable->increaseUses();
        $variable->increaseMutates();

        $this->registerTempVariable($type, 'non-tracked', $variable);

        if ($initNonReferenced) {
            $variable->initNonReferenced($context);
        }

        return $variable;
    }
public function getTempNonTrackedVariable($type, CompilationContext $context, $initNonReferenced = false)
    {
        $variable = $this->reuseTempVariable($type, 'non-tracked');

        if (\is_object($variable)) {
            $variable->increaseUses();
            $variable->increaseMutates();
            if ($initNonReferenced) {
                $variable->initNonReferenced($context);
            }

            return $variable;
        }

        $tempVar = $this->getNextTempVar();
        $variable = $this->addVariable($type, '_'.$tempVar, $context);
        $variable->setIsInitialized(true, $context);
        $variable->setTemporal(true);
        $variable->setMemoryTracked(false);
        $variable->increaseUses();
        $variable->increaseMutates();

        $this->registerTempVariable($type, 'non-tracked', $variable);

        if ($initNonReferenced) {
            $variable->initNonReferenced($context);
        }

        return $variable;
    }
public function getTempNonTrackedVariable ( $ type , CompilationContext $ context , $ initNonReferenced = false ) { $ variable = $ this -> reuseTempVariable ( $ type , 'non-tracked' ) ; if ( \ is_object ( $ variable ) ) { $ variable -> increaseUses ( ) ; $ variable -> increaseMutates ( ) ; if ( $ initNonReferenced ) { $ variable -> initNonReferenced ( $ context ) ; } return $ variable ; } $ tempVar = $ this -> getNextTempVar ( ) ; $ variable = $ this -> addVariable ( $ type , '_' . $ tempVar , $ context ) ; $ variable -> setIsInitialized ( true , $ context ) ; $ variable -> setTemporal ( true ) ; $ variable -> setMemoryTracked ( false ) ; $ variable -> increaseUses ( ) ; $ variable -> increaseMutates ( ) ; $ this -> registerTempVariable ( $ type , 'non-tracked' , $ variable ) ; if ( $ initNonReferenced ) { $ variable -> initNonReferenced ( $ context ) ; } return $ variable ; }
Creates a temporary variable to be used to point to a heap variable
These kind of variables MUST not be tracked by the Zephir memory manager.

@param $type
@param CompilationContext $context
@param bool               $initNonReferenced

@return Variable
Creates a temporary variable to be used to point to a heap variable These kind of variables MUST not be tracked by the Zephir memory manager .