diff --git a/core/lib/Drupal/Core/Controller/HtmlFormController.php b/core/lib/Drupal/Core/Controller/HtmlFormController.php index da9c514..c910d0f 100644 --- a/core/lib/Drupal/Core/Controller/HtmlFormController.php +++ b/core/lib/Drupal/Core/Controller/HtmlFormController.php @@ -35,7 +35,7 @@ class HtmlFormController extends FormController { /** * The class resolver. * - * @var Drupal\Core\DependencyInjection\ClassResolverInterface; + * @var Drupal\Core\DependencyInjection\ClassResolverInterface; */ protected $classResolver; diff --git a/core/lib/Drupal/Core/DependencyInjection/ClassResolver.php b/core/lib/Drupal/Core/DependencyInjection/ClassResolver.php index ffeab8a..20ecb24 100644 --- a/core/lib/Drupal/Core/DependencyInjection/ClassResolver.php +++ b/core/lib/Drupal/Core/DependencyInjection/ClassResolver.php @@ -12,7 +12,7 @@ /** * Implements the class resolver interface supporting class names and services. */ -class ClassResolver extends ContainerAware implements ClassResolverInterface, ContainerAwareInterface { +class ClassResolver extends ContainerAware implements ClassResolverInterface { /** * {@inheritdoc} @@ -25,8 +25,7 @@ public function getInstanceFromClassName($class) { if (!class_exists($class)) { throw new \InvalidArgumentException(sprintf('Class "%s" does not exist.', $class)); } - // @todo Remove the second in_array() once that interface has been - // removed. + if (is_subclass_of($class, 'Drupal\Core\DependencyInjection\ContainerInjectionInterface')) { $instance = $class::create($this->container); } @@ -41,4 +40,5 @@ public function getInstanceFromClassName($class) { return $instance; } + } diff --git a/core/lib/Drupal/Core/DependencyInjection/ClassResolverInterface.php b/core/lib/Drupal/Core/DependencyInjection/ClassResolverInterface.php index 3fdbf90..b76d1b9 100644 --- a/core/lib/Drupal/Core/DependencyInjection/ClassResolverInterface.php +++ b/core/lib/Drupal/Core/DependencyInjection/ClassResolverInterface.php @@ -21,6 +21,7 @@ * A class name. * * @throws \InvalidArgumentException + * If $class is not a valid service identifer and the class does not exist. * * @return object * The instance of the class. diff --git a/core/tests/Drupal/Tests/Core/Form/FormTestBase.php b/core/tests/Drupal/Tests/Core/Form/FormTestBase.php index 5881da6..e7ee5a2 100644 --- a/core/tests/Drupal/Tests/Core/Form/FormTestBase.php +++ b/core/tests/Drupal/Tests/Core/Form/FormTestBase.php @@ -31,49 +31,49 @@ /** * The mocked URL generator. * - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\Routing\UrlGeneratorInterface + * @var \Drupal\Core\Routing\UrlGeneratorInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $urlGenerator; /** * The mocked module handler. * - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\Extension\ModuleHandlerInterface + * @var \Drupal\Core\Extension\ModuleHandlerInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $moduleHandler; /** * The expirable key value store used by form cache. * - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface + * @var \Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $formCache; /** * The expirable key value store used by form state cache. * - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface + * @var \Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $formStateCache; /** * The current user. * - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\Session\AccountInterface + * @var \Drupal\Core\Session\AccountInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $account; /** * The controller resolver. * - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\Controller\ControllerResolverInterface + * @var \Drupal\Core\Controller\ControllerResolverInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $controllerResolver; /** * The CSRF token generator. * - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\Access\CsrfTokenGenerator + * @var \Drupal\Core\Access\CsrfTokenGenerator|\PHPUnit_Framework_MockObject_MockObject */ protected $csrfToken; @@ -87,24 +87,24 @@ /** * The event dispatcher. * - * @var \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\EventDispatcher\EventDispatcherInterface + * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $eventDispatcher; /** * The expirable key value factory. * - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\KeyValueStore\KeyValueExpirableFactory + * @var \Drupal\Core\KeyValueStore\KeyValueExpirableFactory|\PHPUnit_Framework_MockObject_MockObject */ protected $keyValueExpirableFactory; /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\StringTranslation\TranslationInterface + * @var \Drupal\Core\StringTranslation\TranslationInterface|\PHPUnit_Framework_MockObject_MockObject */ protected $translationManager; /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Drupal\Core\HttpKernel + * @var \Drupal\Core\HttpKernel|\PHPUnit_Framework_MockObject_MockObject */ protected $httpKernel;