public function register(string $id, Definition $definition)
{
$createArguments = function (BaseContainer\Argument $argument) use(&$createArguments) {
if ($argument instanceof BaseContainer\ScalarArgument) {
return $argument->value();
}
if ($argument instanceof BaseContainer\ArgumentService) {
return new Reference($argument->value());
}
if ($argument instanceof BaseContainer\ArgumentCollection) {
return array_map($createArguments, $argument->value());
}
};
$this->builder->setDefinition($id, new SymfonyDefinition($definition->className(), array_map($createArguments, $definition->arguments())));
}