$autowireAttributes =
$autowire ?
$emptyAutowireAttributes :
[];
if (isset($arguments[$r->name
][$p->name
])) { $target =
$arguments[$r->name
][$p->name
];
if ('?' !==
$target[0
]) { $invalidBehavior = ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE;
} elseif ('' ===
$target =
(string) substr($target, 1
)) { throw new InvalidArgumentException(sprintf('A "controller.service_arguments" tag must have non-empty "id" attributes for service "%s".',
$id));
} elseif ($p->
allowsNull() && !
$p->
isOptional()) { $invalidBehavior = ContainerInterface::NULL_ON_INVALID_REFERENCE;
} } elseif (isset($bindings[$bindingName =
$type.' $'.
$name = Target::
parseName($p)]) ||
isset($bindings[$bindingName = '$'.
$name]) ||
isset($bindings[$bindingName =
$type])) { $binding =
$bindings[$bindingName];
[$bindingValue,
$bindingId, ,
$bindingType,
$bindingFile] =
$binding->
getValues();
$binding->
setValues([$bindingValue,
$bindingId, true,
$bindingType,
$bindingFile]);
$args[$p->name
] =
$bindingValue;
continue;
} elseif (!
$autowire || (!
($autowireAttributes ??=
$p->
getAttributes(Autowire::
class, \ReflectionAttribute::IS_INSTANCEOF
)) && (!
$type || '\\' !==
$target[0
]))) { continue;
} elseif (is_subclass_of($type, \UnitEnum::
class)) {