@@ -318,57 +318,6 @@ protected function _getNullDefaultValue()
318
318
return $ value ;
319
319
}
320
320
321
- /**
322
- * @param \ReflectionParameter $parameter
323
- *
324
- * @return null|string
325
- */
326
- private function extractParameterType (\ReflectionParameter $ parameter )
327
- {
328
- /** @var string|null $typeName */
329
- $ typeName = null ;
330
- if ($ parameter ->hasType ()) {
331
- if ($ parameter ->isArray ()) {
332
- $ typeName = 'array ' ;
333
- } elseif ($ parameter ->getClass ()) {
334
- $ typeName = $ this ->_getFullyQualifiedClassName (
335
- $ parameter ->getClass ()->getName ()
336
- );
337
- } elseif ($ parameter ->isCallable ()) {
338
- $ typeName = 'callable ' ;
339
- } else {
340
- $ typeName = $ parameter ->getType ()->getName ();
341
- }
342
-
343
- if ($ parameter ->allowsNull ()) {
344
- $ typeName = '? ' . $ typeName ;
345
- }
346
- }
347
-
348
- return $ typeName ;
349
- }
350
-
351
- /**
352
- * @param \ReflectionParameter $parameter
353
- *
354
- * @return null|ValueGenerator
355
- */
356
- private function extractParameterDefaultValue (\ReflectionParameter $ parameter )
357
- {
358
- /** @var ValueGenerator|null $value */
359
- $ value = null ;
360
- if ($ parameter ->isOptional () && $ parameter ->isDefaultValueAvailable ()) {
361
- $ valueType = ValueGenerator::TYPE_AUTO ;
362
- $ defaultValue = $ parameter ->getDefaultValue ();
363
- if ($ defaultValue === null ) {
364
- $ valueType = ValueGenerator::TYPE_NULL ;
365
- }
366
- $ value = new ValueGenerator ($ defaultValue , $ valueType );
367
- }
368
-
369
- return $ value ;
370
- }
371
-
372
321
/**
373
322
* Retrieve method parameter info
374
323
*
@@ -380,13 +329,26 @@ protected function _getMethodParameterInfo(\ReflectionParameter $parameter)
380
329
$ parameterInfo = [
381
330
'name ' => $ parameter ->getName (),
382
331
'passedByReference ' => $ parameter ->isPassedByReference (),
383
- 'variadic ' => $ parameter ->isVariadic ()
332
+ 'type ' => $ parameter ->getType ()
384
333
];
385
- if ($ type = $ this ->extractParameterType ($ parameter )) {
386
- $ parameterInfo ['type ' ] = $ type ;
334
+
335
+ if ($ parameter ->isArray ()) {
336
+ $ parameterInfo ['type ' ] = 'array ' ;
337
+ } elseif ($ parameter ->getClass ()) {
338
+ $ parameterInfo ['type ' ] = $ this ->_getFullyQualifiedClassName ($ parameter ->getClass ()->getName ());
339
+ } elseif ($ parameter ->isCallable ()) {
340
+ $ parameterInfo ['type ' ] = 'callable ' ;
387
341
}
388
- if ($ default = $ this ->extractParameterDefaultValue ($ parameter )) {
389
- $ parameterInfo ['defaultValue ' ] = $ default ;
342
+
343
+ if ($ parameter ->isOptional () && $ parameter ->isDefaultValueAvailable ()) {
344
+ $ defaultValue = $ parameter ->getDefaultValue ();
345
+ if (is_string ($ defaultValue )) {
346
+ $ parameterInfo ['defaultValue ' ] = $ parameter ->getDefaultValue ();
347
+ } elseif ($ defaultValue === null ) {
348
+ $ parameterInfo ['defaultValue ' ] = $ this ->_getNullDefaultValue ();
349
+ } else {
350
+ $ parameterInfo ['defaultValue ' ] = $ defaultValue ;
351
+ }
390
352
}
391
353
392
354
return $ parameterInfo ;
0 commit comments