protected function addAdvicedMethodsToInterceptedMethods(array &$interceptedMethods, array $methods, $targetClassName, array &$aspectContainers)
{
$pointcutQueryIdentifier = 0;
foreach ($aspectContainers as $aspectContainer) {
if (!$aspectContainer->getCachedTargetClassNameCandidates()->hasClassName($targetClassName)) {
continue;
}
foreach ($aspectContainer->getAdvisors() as $advisor) {
$pointcut = $advisor->getPointcut();
foreach ($methods as $method) {
list($methodDeclaringClassName, $methodName) = $method;
if ($this->reflectionService->isMethodFinal($targetClassName, $methodName)) {
continue;
}
if ($this->reflectionService->isMethodStatic($targetClassName, $methodName)) {
continue;
}
if ($pointcut->matches($targetClassName, $methodName, $methodDeclaringClassName, $pointcutQueryIdentifier)) {
$advice = $advisor->getAdvice();
$interceptedMethods[$methodName]['groupedAdvices'][get_class($advice)][] = ['advice' => $advice, 'runtimeEvaluationsClosureCode' => $pointcut->getRuntimeEvaluationsClosureCode()];
$interceptedMethods[$methodName]['declaringClassName'] = $methodDeclaringClassName;
}
$pointcutQueryIdentifier++;
}
}
}
}