/** * Resolves instance for given binding. * * @param \Components\Binding_Type_Abstract $binding_ * * @return mixed */ private function createInstanceImpl(Binding_Type_Abstract $binding_) { $instance = $binding_->getInstance(); if ($binding_->isPrimitive()) { return $instance; } $instanceId = \math\hasho($instance); if (isset($this->m_injectedInstances[$instanceId])) { return $this->m_injectedInstances[$instanceId]; } $this->m_injectedInstances[$instanceId] = $instance; $this->injectMembersImpl($instance); return $instance; }