@@ -295,9 +295,7 @@ private function compileDefinition(string $entryName, Definition $definition) :
295295 $ defaultParameters
296296 );
297297
298- $ definitionParameters = array_map (function ($ value ) {
299- return $ this ->compileValue ($ value );
300- }, $ resolvedParameters );
298+ $ definitionParameters = array_map (fn ($ value ) => $ this ->compileValue ($ value ), $ resolvedParameters );
301299
302300 $ code = sprintf (
303301 'return (%s)(%s); ' ,
@@ -446,7 +444,7 @@ public function resolveFactoryParameters(
446444 array $ definitionParameters = [],
447445 array $ parametersByClassName = [],
448446 array $ defaultParameters = []
449- ) {
447+ ) : array {
450448 $ resolvedParameters = [];
451449 $ parameters = $ reflection ->getParameters ();
452450
@@ -457,19 +455,20 @@ public function resolveFactoryParameters(
457455 continue ;
458456 }
459457
460- $ parameterClass = $ parameter ->getClass ();
461- if (!$ parameterClass ) {
458+ $ parameterType = $ parameter ->getType ();
459+ if (!$ parameterType ) {
462460 if (array_key_exists ($ index , $ defaultParameters )) {
463461 // take default parameters, when no typehint
464462 $ resolvedParameters [$ index ] = $ defaultParameters [$ index ];
465463 }
466464 continue ;
467465 }
468466
469- if (isset ($ parametersByClassName [$ parameterClass ->name ])) {
470- $ resolvedParameters [$ index ] = $ parametersByClassName [$ parameterClass ->name ];
467+ $ parameterTypeName = $ parameterType ->getName ();
468+ if (isset ($ parametersByClassName [$ parameterTypeName ])) {
469+ $ resolvedParameters [$ index ] = $ parametersByClassName [$ parameterTypeName ];
471470 } else {
472- $ resolvedParameters [$ index ] = new Reference ($ parameterClass -> name );
471+ $ resolvedParameters [$ index ] = new Reference ($ parameterTypeName );
473472 }
474473 }
475474
0 commit comments