Skip to content

Commit f51d90c

Browse files
authored
Merge branch refs/heads/1.10.x into 1.11.x
2 parents 625298a + 4c167d7 commit f51d90c

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

src/Reflection/ClassReflection.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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;

src/Type/ObjectType.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1218,11 +1218,12 @@ public function getEnumCases(): array
12181218
}
12191219

12201220
$cases = [];
1221+
$className = $classReflection->getName();
12211222
foreach ($classReflection->getEnumCases() as $enumCase) {
12221223
if (array_key_exists($enumCase->getName(), $subtracted)) {
12231224
continue;
12241225
}
1225-
$cases[] = new EnumCaseObjectType($classReflection->getName(), $enumCase->getName(), $classReflection);
1226+
$cases[] = new EnumCaseObjectType($className, $enumCase->getName(), $classReflection);
12261227
}
12271228

12281229
return $cases;

0 commit comments

Comments
 (0)