5
5
*/
6
6
namespace Magento \Framework \Code \Generator ;
7
7
8
- use Zend \Code \Generator \ValueGenerator ;
9
-
10
8
abstract class EntityAbstract
11
9
{
12
10
/**
@@ -295,64 +293,11 @@ protected function _fixCodeStyle($sourceCode)
295
293
/**
296
294
* Get value generator for null default value
297
295
*
298
- * @return ValueGenerator
296
+ * @return \Zend\Code\Generator\ ValueGenerator
299
297
*/
300
298
protected function _getNullDefaultValue ()
301
299
{
302
- $ value = new ValueGenerator (null , ValueGenerator::TYPE_NULL );
303
-
304
- return $ value ;
305
- }
306
-
307
- /**
308
- * @param \ReflectionParameter $parameter
309
- *
310
- * @return null|string
311
- */
312
- private function extractParameterType (
313
- \ReflectionParameter $ parameter
314
- ): ?string {
315
- /** @var string|null $typeName */
316
- $ typeName = null ;
317
- if ($ parameter ->hasType ()) {
318
- if ($ parameter ->isArray ()) {
319
- $ typeName = 'array ' ;
320
- } elseif ($ parameter ->getClass ()) {
321
- $ typeName = $ this ->_getFullyQualifiedClassName (
322
- $ parameter ->getClass ()->getName ()
323
- );
324
- } elseif ($ parameter ->isCallable ()) {
325
- $ typeName = 'callable ' ;
326
- } else {
327
- $ typeName = $ parameter ->getType ()->getName ();
328
- }
329
-
330
- if ($ parameter ->allowsNull ()) {
331
- $ typeName = '? ' .$ typeName ;
332
- }
333
- }
334
-
335
- return $ typeName ;
336
- }
337
-
338
- /**
339
- * @param \ReflectionParameter $parameter
340
- *
341
- * @return null|ValueGenerator
342
- */
343
- private function extractParameterDefaultValue (
344
- \ReflectionParameter $ parameter
345
- ): ?ValueGenerator {
346
- /** @var ValueGenerator|null $value */
347
- $ value = null ;
348
- if ($ parameter ->isOptional () && $ parameter ->isDefaultValueAvailable ()) {
349
- $ valueType = ValueGenerator::TYPE_AUTO ;
350
- $ defaultValue = $ parameter ->getDefaultValue ();
351
- if ($ defaultValue === null ) {
352
- $ valueType = ValueGenerator::TYPE_NULL ;
353
- }
354
- $ value = new ValueGenerator ($ defaultValue , $ valueType );
355
- }
300
+ $ value = new \Zend \Code \Generator \ValueGenerator (null , \Zend \Code \Generator \ValueGenerator::TYPE_NULL );
356
301
357
302
return $ value ;
358
303
}
@@ -368,13 +313,26 @@ protected function _getMethodParameterInfo(\ReflectionParameter $parameter)
368
313
$ parameterInfo = [
369
314
'name ' => $ parameter ->getName (),
370
315
'passedByReference ' => $ parameter ->isPassedByReference (),
371
- 'variadic ' => $ parameter ->isVariadic ()
316
+ 'type ' => $ parameter ->getType ()
372
317
];
373
- if ($ type = $ this ->extractParameterType ($ parameter )) {
374
- $ parameterInfo ['type ' ] = $ type ;
318
+
319
+ if ($ parameter ->isArray ()) {
320
+ $ parameterInfo ['type ' ] = 'array ' ;
321
+ } elseif ($ parameter ->getClass ()) {
322
+ $ parameterInfo ['type ' ] = $ this ->_getFullyQualifiedClassName ($ parameter ->getClass ()->getName ());
323
+ } elseif ($ parameter ->isCallable ()) {
324
+ $ parameterInfo ['type ' ] = 'callable ' ;
375
325
}
376
- if ($ default = $ this ->extractParameterDefaultValue ($ parameter )) {
377
- $ parameterInfo ['defaultValue ' ] = $ default ;
326
+
327
+ if ($ parameter ->isOptional () && $ parameter ->isDefaultValueAvailable ()) {
328
+ $ defaultValue = $ parameter ->getDefaultValue ();
329
+ if (is_string ($ defaultValue )) {
330
+ $ parameterInfo ['defaultValue ' ] = $ parameter ->getDefaultValue ();
331
+ } elseif ($ defaultValue === null ) {
332
+ $ parameterInfo ['defaultValue ' ] = $ this ->_getNullDefaultValue ();
333
+ } else {
334
+ $ parameterInfo ['defaultValue ' ] = $ defaultValue ;
335
+ }
378
336
}
379
337
380
338
return $ parameterInfo ;
0 commit comments