@@ -127,8 +127,8 @@ public static function selectFromArgs(
127127 new CallableType ($ nativeCallbackParameters , new MixedType (), false ),
128128 new NullType (),
129129 ]);
130- $ parameters [0 ] = self ::parameterWithOverriddenType ($ parameters [0 ], $ callableType , $ nativeCallableType );
131- $ parametersAcceptors = [self ::acceptorWithReplacedParameters ($ acceptor , $ parameters )];
130+ $ parameters [0 ] = self ::overrideParameterType ($ parameters [0 ], $ callableType , $ nativeCallableType );
131+ $ parametersAcceptors = [self ::overrideAcceptorParameters ($ acceptor , $ parameters )];
132132 }
133133 }
134134
@@ -279,8 +279,8 @@ public static function selectFromArgs(
279279 ),
280280 new NullType (),
281281 ]);
282- $ parameters [1 ] = self ::parameterWithOverriddenType ($ parameters [1 ], $ callableType , $ nativeCallableType );
283- $ parametersAcceptors = [self ::acceptorWithReplacedParameters ($ acceptor , $ parameters )];
282+ $ parameters [1 ] = self ::overrideParameterType ($ parameters [1 ], $ callableType , $ nativeCallableType );
283+ $ parametersAcceptors = [self ::overrideAcceptorParameters ($ acceptor , $ parameters )];
284284 }
285285 }
286286
@@ -334,8 +334,8 @@ public static function selectFromArgs(
334334 if (isset ($ parameters [1 ])) {
335335 $ callableType = new CallableType ($ arrayWalkParameters , new MixedType (), false );
336336 $ nativeCallableType = new CallableType ($ nativeArrayWalkParameters , new MixedType (), false );
337- $ parameters [1 ] = self ::parameterWithOverriddenType ($ parameters [1 ], $ callableType , $ nativeCallableType );
338- $ parametersAcceptors = [self ::acceptorWithReplacedParameters ($ acceptor , $ parameters )];
337+ $ parameters [1 ] = self ::overrideParameterType ($ parameters [1 ], $ callableType , $ nativeCallableType );
338+ $ parametersAcceptors = [self ::overrideAcceptorParameters ($ acceptor , $ parameters )];
339339 }
340340 }
341341
@@ -361,8 +361,8 @@ public static function selectFromArgs(
361361 new BooleanType (),
362362 false ,
363363 );
364- $ parameters [1 ] = self ::parameterWithOverriddenType ($ parameters [1 ], $ callableType , $ nativeCallableType );
365- $ parametersAcceptors = [self ::acceptorWithReplacedParameters ($ acceptor , $ parameters )];
364+ $ parameters [1 ] = self ::overrideParameterType ($ parameters [1 ], $ callableType , $ nativeCallableType );
365+ $ parametersAcceptors = [self ::overrideAcceptorParameters ($ acceptor , $ parameters )];
366366 }
367367 }
368368
@@ -1232,28 +1232,30 @@ private static function getCurlOptValueType(int $curlOpt): ?Type
12321232 return null ;
12331233 }
12341234
1235- private static function parameterWithOverriddenType (ParameterReflection $ original , Type $ type , Type $ nativeType ): ExtendedDummyParameter
1235+ private static function overrideParameterType (ParameterReflection $ original , Type $ type , Type $ nativeType ): ExtendedDummyParameter
12361236 {
1237+ $ wrapped = self ::wrapParameter ($ original );
1238+
12371239 return new ExtendedDummyParameter (
1238- $ original ->getName (),
1240+ $ wrapped ->getName (),
12391241 $ type ,
1240- $ original ->isOptional (),
1241- $ original ->passedByReference (),
1242- $ original ->isVariadic (),
1243- $ original ->getDefaultValue (),
1242+ $ wrapped ->isOptional (),
1243+ $ wrapped ->passedByReference (),
1244+ $ wrapped ->isVariadic (),
1245+ $ wrapped ->getDefaultValue (),
12441246 $ nativeType ,
12451247 $ type ,
1246- $ original instanceof ExtendedParameterReflection ? $ original ->getOutType () : null ,
1247- $ original instanceof ExtendedParameterReflection ? $ original ->isImmediatelyInvokedCallable () : TrinaryLogic:: createMaybe (),
1248- $ original instanceof ExtendedParameterReflection ? $ original ->getClosureThisType () : null ,
1249- $ original instanceof ExtendedParameterReflection ? $ original ->getAttributes () : [] ,
1248+ $ wrapped ->getOutType (),
1249+ $ wrapped ->isImmediatelyInvokedCallable (),
1250+ $ wrapped ->getClosureThisType (),
1251+ $ wrapped ->getAttributes (),
12501252 );
12511253 }
12521254
12531255 /**
12541256 * @param list<ParameterReflection> $parameters
12551257 */
1256- private static function acceptorWithReplacedParameters (ParametersAcceptor $ acceptor , array $ parameters ): ParametersAcceptor
1258+ private static function overrideAcceptorParameters (ParametersAcceptor $ acceptor , array $ parameters ): ParametersAcceptor
12571259 {
12581260 if ($ acceptor instanceof ExtendedParametersAcceptor) {
12591261 return new ExtendedFunctionVariant (
0 commit comments