/** * {@inheritdoc} */ public function getPropertyValue(\ReflectionProperty $property) { // Check if an injection key is available for this property. $key = $this->injectionPolicy->getPropertyKey($property); if ($key !== null) { return $this->container->get($key); } // Try to resolve the property by type. $className = $this->reflectionTools->getPropertyClass($property); if ($className !== null) { if ($this->container->has($className)) { return $this->container->get($className); } } return $this->defaultValueResolver->getPropertyValue($property); }