Go\Core\AspectKernel::registerTransformers PHP Метод

registerTransformers() защищенный Метод

Returns list of source transformers, that will be applied to the PHP source
protected registerTransformers ( ) : array | Go\Instrument\Transformer\SourceTransformer[]
Результат array | Go\Instrument\Transformer\SourceTransformer[]
    protected function registerTransformers()
    {
        $cacheManager = $this->getContainer()->get('aspect.cache.path.manager');
        $filterInjector = new FilterInjectorTransformer($this, SourceTransformingLoader::getId(), $cacheManager);
        $magicTransformer = new MagicConstantTransformer($this);
        $aspectKernel = $this;
        $sourceTransformers = function () use($filterInjector, $magicTransformer, $aspectKernel, $cacheManager) {
            $transformers = [];
            $aspectContainer = $aspectKernel->getContainer();
            $transformers[] = new WeavingTransformer($aspectKernel, $aspectContainer->get('aspect.advice_matcher'), $cacheManager, $aspectContainer->get('aspect.cached.loader'));
            if ($aspectKernel->hasFeature(Features::INTERCEPT_INCLUDES)) {
                $transformers[] = $filterInjector;
            }
            $transformers[] = $magicTransformer;
            if ($aspectKernel->hasFeature(Features::INTERCEPT_INITIALIZATIONS)) {
                $transformers[] = new ConstructorExecutionTransformer();
            }
            return $transformers;
        };
        return array(new CachingTransformer($this, $sourceTransformers, $cacheManager));
    }