@@ -688,7 +688,7 @@ public function isTrait(): bool
688688 */
689689 public function isEnum (): bool
690690 {
691- return $ this ->reflection -> isEnum () && $ this ->reflection instanceof ReflectionEnum ;
691+ return $ this ->reflection instanceof ReflectionEnum && $ this ->reflection -> isEnum () ;
692692 }
693693
694694 /**
@@ -753,10 +753,11 @@ public function getEnumCases(): array
753753 }
754754
755755 $ cases = [];
756+ $ initializerExprContext = InitializerExprContext::fromClassReflection ($ this );
756757 foreach ($ this ->reflection ->getCases () as $ case ) {
757758 $ valueType = null ;
758759 if ($ case instanceof ReflectionEnumBackedCase) {
759- $ valueType = $ this ->initializerExprTypeResolver ->getType ($ case ->getValueExpression (), InitializerExprContext:: fromClassReflection ( $ this ) );
760+ $ valueType = $ this ->initializerExprTypeResolver ->getType ($ case ->getValueExpression (), $ initializerExprContext );
760761 }
761762 /** @var string $caseName */
762763 $ caseName = $ case ->getName ();
@@ -998,10 +999,10 @@ public function getTraits(bool $recursive = false): array
998999 public function getParentClassesNames (): array
9991000 {
10001001 $ parentNames = [];
1001- $ currentClassReflection = $ this ;
1002- while ($ currentClassReflection -> getParentClass () !== null ) {
1003- $ parentNames [] = $ currentClassReflection -> getParentClass () ->getName ();
1004- $ currentClassReflection = $ currentClassReflection ->getParentClass ();
1002+ $ parentClass = $ this -> getParentClass () ;
1003+ while ($ parentClass !== null ) {
1004+ $ parentNames [] = $ parentClass ->getName ();
1005+ $ parentClass = $ parentClass ->getParentClass ();
10051006 }
10061007
10071008 return $ parentNames ;
0 commit comments