* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection; use Symfony\Component\DependencyInjection\Exception\BadMethodCallException; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; use Symfony\Component\DependencyInjection\Exception\OutOfBoundsException; /** * This definition extends another definition. * * @author Johannes M. Schmitt */ class ChildDefinition extends Definition { private $parent; /** * @param string $parent The id of Definition instance to decorate */ public function __construct($parent) { $this->parent = $parent; $this->setPrivate(false); } /** * Returns the Definition to inherit from. * * @return string */ public function getParent() { return $this->parent; } /** * Sets the Definition to inherit from. * * @param string $parent * * @return $this */ public function setParent($parent) { $this->parent = $parent; return $this; } /** * Gets an argument to pass to the service constructor/factory method. * * If replaceArgument() has been used to replace an argument, this method * will return the replacement value. * * @param int|string $index * * @return mixed The argument value * * @throws OutOfBoundsException When the argument does not exist */ public function getArgument($index) { if (array_key_exists('index_'.$index, $this->arguments)) { return $this->arguments['index_'.$index]; } return parent::getArgument($index); } /** * You should always use this method when overwriting existing arguments * of the parent definition. * * If you directly call setArguments() keep in mind that you must follow * certain conventions when you want to overwrite the arguments of the * parent definition, otherwise your arguments will only be appended. * * @param int|string $index * @param mixed $value * * @return self the current instance * * @throws InvalidArgumentException when $index isn't an integer */ public function replaceArgument($index, $value) { if (is_int($index)) { $this->arguments['index_'.$index] = $value; } elseif (0 === strpos($index, '$')) { $this->arguments[$index] = $value; } else { throw new InvalidArgumentException('The argument must be an existing index or the name of a constructor\'s parameter.'); } return $this; } /** * @internal */ public function setAutoconfigured($autoconfigured) { throw new BadMethodCallException('A ChildDefinition cannot be autoconfigured.'); } /** * @internal */ public function setInstanceofConditionals(array $instanceof) { throw new BadMethodCallException('A ChildDefinition cannot have instanceof conditionals set on it.'); } } class_alias(ChildDefinition::class, DefinitionDecorator::class); __halt_compiler();----SIGNATURE:----oX8RJqOu/EmlVHINrwFBmx07seIUTAYSk2zql1Te1vM2J12KquLmx48PDSShbOJWI7aoRNASpBIicb2N+PxHwSF0npNRCj7xZ7s0WqQNcB7a8Q8UuTSY6gN3FQtTYLzIKxQpaQTQ3f4iEEqOprCVQ2ytwtwHZ/T0K+WsyL2wECldToGpCkYJYB8ZPm7wK4sqCLmNB4/S3Aor4H4dTjIPwbCr97YRNb6mA4pNYzY/mH7IfPEwZnL8d+ye8YY8E2hBv0U7cS6Zq1YSX6V0eEK3ZH42B70Ey3E5vNYVWMAntBiMFOdPf8luJKnTWA4cnXsYS9AELzekY2R8nJ4ORE6HT8ivxuYJ9MAlKOkikrgXMbzqvomIeJl5G87uhA7BFF+n/x5m9V4+1wFYOyodh7WCMTamEfVFNcZTISz7dXXH4ZRuZ0813HvNCN+mOdY4X2D9oD8yCgcsn4dP0If6OU0Eh7rB1Vdokf+roB5NusxQ/7SVHkMnN5XFCkN3BTuGiT26BGGU6xV9Sij/CDPMMQ41Oos7RH5Nl3EnQuvuBImnFqFuk12NOjwxcwivsybYWKVCXgE+5V8ZjSyVQY8ZKwB0xqHqUOLuKevtQUNAA0Uah/CTiNrCPNn/3uVO7PSVOw7B0RVQwXQa3zmGZ90EXIl4cufdkugcbLMh2jj+T9BD4D4=----ATTACHMENT:----MzAwNjE3OTI1MDE1MDY2NCAxODA2MDQ2NTE2MTEyNTU2IDc5MTI1ODYyNDA2MDQ1Mjc=