public function __construct($type, \Traversable
$namespaces, CacheBackendInterface
$cache_backend, ModuleHandlerInterface
$module_handler) { parent::
__construct($type,
$namespaces,
$cache_backend,
$module_handler, 'Drupal\migrate\Annotation\MigrateSource'
);
} /**
* {@inheritdoc}
*/
protected function getDiscovery() { if (!
$this->discovery
) { $discovery =
new AnnotatedClassDiscoveryAutomatedProviders($this->subdir,
$this->namespaces,
$this->pluginDefinitionAnnotationName,
$this->additionalAnnotationNamespaces
);
$this->discovery =
new ContainerDerivativeDiscoveryDecorator($discovery);
} return $this->discovery;
} /**
* Finds plugin definitions.
*
* @return array
* List of definitions to store in cache.
*
* @todo This is a temporary solution to the fact that migration source
* plugins have more than one provider. This functionality will be moved to
* core in https://www.drupal.org/node/2786355.
*/