protected function prepareAnnotationDefinition(AnnotationInterface
$annotation,
$class, BaseStaticReflectionParser
$parser = NULL
) { if (!
($annotation instanceof MultipleProviderAnnotationInterface
)) { throw new \
LogicException('AnnotatedClassDiscoveryAutomatedProviders annotations must implement \Drupal\migrate\Annotation\MultipleProviderAnnotationInterface'
);
} $annotation->
setClass($class);
$providers =
$annotation->
getProviders();
// Loop through all the parent classes and add their providers (which we
// infer by parsing their namespaces) to the $providers array.
do { $providers[] =
$this->
getProviderFromNamespace($parser->
getNamespaceName());
} while ($parser = StaticReflectionParser::
getParentParser($parser,
$this->finder
));
$providers =
array_unique(array_filter($providers,
function D
$provider) { return $provider &&
$provider !== 'component';
}));
$annotation->
setProviders($providers);
} /**
* {@inheritdoc}
*/
public function getDefinitions() { $definitions =
[];