__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\DependencyInjection\Compiler;

use Symfony\Component\DependencyInjection\ChildDefinition;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Exception\ExceptionInterface;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;
use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;

/**
 * This replaces all ChildDefinition instances with their equivalent fully
 * merged Definition instance.
 *
 * @author Johannes M. Schmitt <schmittjoh@gmail.com>
 * @author Nicolas Grekas <p@tchwork.com>
 */
class ResolveChildDefinitionsPass extends AbstractRecursivePass
{
    protected bool $skipScalars = true;

    private array $currentPath;

    protected function processValue(mixed $value, bool $isRoot = false): mixed
    {
        if (!$value instanceof Definition) {
            return parent::processValue($value, $isRoot);
        }
        if ($isRoot) {
            // yes, we are specifically fetching the definition from the
            // container to ensure we are not operating on stale data
            $value = $this->container->getDefinition($this->currentId);
        }
        if ($value instanceof ChildDefinition) {
            $this->currentPath = [];
            $value = $this->resolveDefinition($value);
            if ($isRoot) {
                $this->container->setDefinition($this->currentId, $value);
            }
        }

        return parent::processValue($value, $isRoot);
    }

    /**
     * Resolves the definition.
     *
     * @throws RuntimeException When the definition is invalid
     */
    private function resolveDefinition(ChildDefinition $definition): Definition
    {
        try {
            return $this->doResolveDefinition($definition);
        } catch (ServiceCircularReferenceException $e) {
            throw $e;
        } catch (ExceptionInterface $e) {
            $r = new \ReflectionProperty($e, 'message');
            $r->setValue($e, sprintf('Service "%s": %s', $this->currentId, $e->getMessage()));

            throw $e;
        }
    }

    private function doResolveDefinition(ChildDefinition $definition): Definition
    {
        if (!$this->container->has($parent = $definition->getParent())) {
            throw new RuntimeException(sprintf('Parent definition "%s" does not exist.', $parent));
        }

        $searchKey = array_search($parent, $this->currentPath);
        $this->currentPath[] = $parent;

        if (false !== $searchKey) {
            throw new ServiceCircularReferenceException($parent, \array_slice($this->currentPath, $searchKey));
        }

        $parentDef = $this->container->findDefinition($parent);
        if ($parentDef instanceof ChildDefinition) {
            $id = $this->currentId;
            $this->currentId = $parent;
            $parentDef = $this->resolveDefinition($parentDef);
            $this->container->setDefinition($parent, $parentDef);
            $this->currentId = $id;
        }

        $this->container->log($this, sprintf('Resolving inheritance for "%s" (parent: %s).', $this->currentId, $parent));
        $def = new Definition();

        // merge in parent definition
        // purposely ignored attributes: abstract, shared, tags, autoconfigured
        $def->setClass($parentDef->getClass());
        $def->setArguments($parentDef->getArguments());
        $def->setMethodCalls($parentDef->getMethodCalls());
        $def->setProperties($parentDef->getProperties());
        if ($parentDef->isDeprecated()) {
            $deprecation = $parentDef->getDeprecation('%service_id%');
            $def->setDeprecated($deprecation['package'], $deprecation['version'], $deprecation['message']);
        }
        $def->setFactory($parentDef->getFactory());
        $def->setConfigurator($parentDef->getConfigurator());
        $def->setFile($parentDef->getFile());
        $def->setPublic($parentDef->isPublic());
        $def->setLazy($parentDef->isLazy());
        $def->setAutowired($parentDef->isAutowired());
        $def->setChanges($parentDef->getChanges());

        $def->setBindings($definition->getBindings() + $parentDef->getBindings());

        $def->setSynthetic($definition->isSynthetic());

        // overwrite with values specified in the decorator
        $changes = $definition->getChanges();
        if (isset($changes['class'])) {
            $def->setClass($definition->getClass());
        }
        if (isset($changes['factory'])) {
            $def->setFactory($definition->getFactory());
        }
        if (isset($changes['configurator'])) {
            $def->setConfigurator($definition->getConfigurator());
        }
        if (isset($changes['file'])) {
            $def->setFile($definition->getFile());
        }
        if (isset($changes['public'])) {
            $def->setPublic($definition->isPublic());
        } else {
            $def->setPublic($parentDef->isPublic());
        }
        if (isset($changes['lazy'])) {
            $def->setLazy($definition->isLazy());
        }
        if (isset($changes['deprecated']) && $definition->isDeprecated()) {
            $deprecation = $definition->getDeprecation('%service_id%');
            $def->setDeprecated($deprecation['package'], $deprecation['version'], $deprecation['message']);
        }
        if (isset($changes['autowired'])) {
            $def->setAutowired($definition->isAutowired());
        }
        if (isset($changes['shared'])) {
            $def->setShared($definition->isShared());
        }
        if (isset($changes['decorated_service'])) {
            $decoratedService = $definition->getDecoratedService();
            if (null === $decoratedService) {
                $def->setDecoratedService($decoratedService);
            } else {
                $def->setDecoratedService($decoratedService[0], $decoratedService[1], $decoratedService[2], $decoratedService[3] ?? ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE);
            }
        }

        // merge arguments
        foreach ($definition->getArguments() as $k => $v) {
            if (is_numeric($k)) {
                $def->addArgument($v);
            } elseif (str_starts_with($k, 'index_')) {
                $def->replaceArgument((int) substr($k, \strlen('index_')), $v);
            } else {
                $def->setArgument($k, $v);
            }
        }

        // merge properties
        foreach ($definition->getProperties() as $k => $v) {
            $def->setProperty($k, $v);
        }

        // append method calls
        if ($calls = $definition->getMethodCalls()) {
            $def->setMethodCalls(array_merge($def->getMethodCalls(), $calls));
        }

        $def->addError($parentDef);
        $def->addError($definition);

        // these attributes are always taken from the child
        $def->setAbstract($definition->isAbstract());
        $def->setTags($definition->getTags());
        // autoconfigure is never taken from parent (on purpose)
        // and it's not legal on an instanceof
        $def->setAutoconfigured($definition->isAutoconfigured());

        if (!$def->hasTag('proxy')) {
            foreach ($parentDef->getTag('proxy') as $v) {
                $def->addTag('proxy', $v);
            }
        }

        return $def;
    }
}

Filemanager

Name Type Size Permission Actions
AbstractRecursivePass.php File 10.12 KB 0644
AliasDeprecatedPublicServicesPass.php File 2.19 KB 0644
AnalyzeServiceReferencesPass.php File 6.82 KB 0644
AttributeAutoconfigurationPass.php File 7.44 KB 0644
AutoAliasServicePass.php File 1.42 KB 0644
AutowireAsDecoratorPass.php File 1.59 KB 0644
AutowirePass.php File 30.71 KB 0644
AutowireRequiredMethodsPass.php File 4.04 KB 0644
AutowireRequiredPropertiesPass.php File 2.48 KB 0644
CheckArgumentsValidityPass.php File 4.25 KB 0644
CheckCircularReferencesPass.php File 2.43 KB 0644
CheckDefinitionValidityPass.php File 4.95 KB 0644
CheckExceptionOnInvalidReferenceBehaviorPass.php File 4.63 KB 0644
CheckReferenceValidityPass.php File 1.5 KB 0644
CheckTypeDeclarationsPass.php File 12.29 KB 0644
Compiler.php File 2.64 KB 0644
CompilerPassInterface.php File 695 B 0644
DecoratorServicePass.php File 5.35 KB 0644
DefinitionErrorExceptionPass.php File 3.22 KB 0644
ExtensionCompilerPass.php File 891 B 0644
InlineServiceDefinitionsPass.php File 7.81 KB 0644
MergeExtensionConfigurationPass.php File 8.24 KB 0644
PassConfig.php File 7.77 KB 0644
PriorityTaggedServiceTrait.php File 6.68 KB 0644
RegisterAutoconfigureAttributesPass.php File 3.16 KB 0644
RegisterEnvVarProcessorsPass.php File 2.99 KB 0644
RegisterReverseContainerPass.php File 2.07 KB 0644
RegisterServiceSubscribersPass.php File 7.43 KB 0644
RemoveAbstractDefinitionsPass.php File 935 B 0644
RemoveBuildParametersPass.php File 1.17 KB 0644
RemovePrivateAliasesPass.php File 1.11 KB 0644
RemoveUnusedDefinitionsPass.php File 2.84 KB 0644
ReplaceAliasByActualDefinitionPass.php File 3.78 KB 0644
ResolveBindingsPass.php File 10.2 KB 0644
ResolveChildDefinitionsPass.php File 7.44 KB 0644
ResolveClassPass.php File 1.52 KB 0644
ResolveDecoratorStackPass.php File 4.26 KB 0644
ResolveEnvPlaceholdersPass.php File 1.38 KB 0644
ResolveFactoryClassPass.php File 1.21 KB 0644
ResolveHotPathPass.php File 2.24 KB 0644
ResolveInstanceofConditionalsPass.php File 7.06 KB 0644
ResolveInvalidReferencesPass.php File 5.37 KB 0644
ResolveNamedArgumentsPass.php File 5.93 KB 0644
ResolveNoPreloadPass.php File 3.02 KB 0644
ResolveParameterPlaceHoldersPass.php File 3.12 KB 0644
ResolveReferencesToAliasesPass.php File 2.71 KB 0644
ResolveServiceSubscribersPass.php File 1.67 KB 0644
ResolveTaggedIteratorArgumentPass.php File 1.08 KB 0644
ServiceLocatorTagPass.php File 4.73 KB 0644
ServiceReferenceGraph.php File 2.62 KB 0644
ServiceReferenceGraphEdge.php File 2.09 KB 0644
ServiceReferenceGraphNode.php File 2.2 KB 0644
ValidateEnvPlaceholdersPass.php File 3.59 KB 0644
Filemanager