public static function getJoinPoint($traitName, $className, $joinPointType, $pointName)
{
/** @var LazyAdvisorAccessor $accessor */
static $accessor = null;
if (!isset($accessor)) {
$aspectKernel = AspectKernel::getInstance();
$accessor = $aspectKernel->getContainer()->get('aspect.advisor.accessor');
}
$advices = self::$traitAdvices[$traitName][$joinPointType][$pointName];
$filledAdvices = [];
foreach ($advices as $advisorName) {
$filledAdvices[] = $accessor->{$advisorName};
}
$joinpoint = new self::$invocationClassMap[$joinPointType]($className, $pointName . '➩', $filledAdvices);
return $joinpoint;
}