/** * This method is used to optimize the matching process. * * @param \TYPO3\FLOW3\Aop\Builder\ClassNameIndex $classNameIndex * @return \TYPO3\FLOW3\Aop\Builder\ClassNameIndex */ public function reduceTargetClassNames(\TYPO3\FLOW3\Aop\Builder\ClassNameIndex $classNameIndex) { $classNames = $this->reflectionService->getClassesContainingMethodsAnnotatedWith($this->annotation); $annotatedIndex = new \TYPO3\FLOW3\Aop\Builder\ClassNameIndex(); $annotatedIndex->setClassNames($classNames); return $classNameIndex->intersect($annotatedIndex); }