@@ -359,16 +359,22 @@ function (TypeNode $nestedType) use ($context): Type {
359
359
return new This ();
360
360
361
361
case ConditionalTypeNode::class:
362
- case ConditionalTypeForParameterNode::class:
363
- [$ class , $ subject ] = $ type instanceof ConditionalTypeForParameterNode
364
- ? [ConditionalParameter::class, $ type ->parameterName ]
365
- : [Conditional::class, $ this ->createType ($ type ->subjectType , $ context )];
366
-
367
- $ target = $ this ->createType ($ type ->targetType , $ context );
368
- $ if = $ this ->createType ($ type ->if , $ context );
369
- $ else = $ this ->createType ($ type ->else , $ context );
362
+ return new Conditional (
363
+ $ this ->createType ($ type ->subjectType , $ context ),
364
+ $ this ->createType ($ type ->targetType , $ context ),
365
+ $ this ->createType ($ type ->if , $ context ),
366
+ $ this ->createType ($ type ->else , $ context ),
367
+ $ type ->negated
368
+ );
370
369
371
- return new $ class ($ subject , $ target , $ if , $ else , $ type ->negated );
370
+ case ConditionalTypeForParameterNode::class:
371
+ return new ConditionalParameter (
372
+ $ type ->parameterName ,
373
+ $ this ->createType ($ type ->targetType , $ context ),
374
+ $ this ->createType ($ type ->if , $ context ),
375
+ $ this ->createType ($ type ->else , $ context ),
376
+ $ type ->negated
377
+ );
372
378
373
379
case OffsetAccessTypeNode::class:
374
380
$ offset = $ this ->createType ($ type ->offset , $ context );
0 commit comments