private function getDependencyCode(Dependency $dependency) : Code
    {
        $prop = $this->privateProperty;
        $node = $this->getFactoryNode($dependency);
        ($this->aopCode)($dependency, $node);
        $isSingleton = $prop($dependency, 'isSingleton');
        $node[] = $this->getIsSingletonCode($isSingleton);
        $node[] = new Node\Stmt\Return_(new Node\Expr\Variable('instance'));
        $node = $this->factory->namespace('Ray\Di\Compiler')->addStmts($node)->getNode();
        $qualifer = $this->qualifier;
        $this->qualifier = null;

        return new Code($node, $isSingleton, $qualifer);
    }
private function getDependencyCode(Dependency $dependency) : Code
    {
        $prop = $this->privateProperty;
        $node = $this->getFactoryNode($dependency);
        ($this->aopCode)($dependency, $node);
        $isSingleton = $prop($dependency, 'isSingleton');
        $node[] = $this->getIsSingletonCode($isSingleton);
        $node[] = new Node\Stmt\Return_(new Node\Expr\Variable('instance'));
        $node = $this->factory->namespace('Ray\Di\Compiler')->addStmts($node)->getNode();
        $qualifer = $this->qualifier;
        $this->qualifier = null;

        return new Code($node, $isSingleton, $qualifer);
    }
private function getDependencyCode ( Dependency $ dependency ) : Code { $ prop = $ this -> privateProperty ; $ node = $ this -> getFactoryNode ( $ dependency ) ; ( $ this -> aopCode ) ( $ dependency , $ node ) ; $ isSingleton = $ prop ( $ dependency , 'isSingleton' ) ; $ node [ ] = $ this -> getIsSingletonCode ( $ isSingleton ) ; $ node [ ] = new Node \ Stmt \ Return_ ( new Node \ Expr \ Variable ( 'instance' ) ) ; $ node = $ this -> factory -> namespace ( 'Ray\Di\Compiler' ) -> addStmts ( $ node ) -> getNode ( ) ; $ qualifer = $ this -> qualifier ; $ this -> qualifier = null ; return new Code ( $ node , $ isSingleton , $ qualifer ) ; }
Compile generic object dependency
Compile generic object dependency