Skip to content

Commit 48006e7

Browse files
committed
simplify
1 parent f2a9064 commit 48006e7

File tree

2 files changed

+6
-15
lines changed

2 files changed

+6
-15
lines changed

src/Analyser/MutatingScope.php

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2044,19 +2044,7 @@ public function resolveTypeByName(Name $name): TypeWithClassName
20442044
return new ObjectType($originalClass);
20452045
}
20462046

2047-
public function resolveStaticCallWithLateStaticBinding(Expr\StaticCall $expr): ?TypeWithClassName
2048-
{
2049-
$objectClasses = TypeCombinator::removeNull($this->getType($expr->class))->getObjectTypeOrClassStringObjectType()->getObjectClassNames();
2050-
if (count($objectClasses) !== 1) {
2051-
return null;
2052-
}
2053-
if (!$expr->name instanceof Identifier) {
2054-
return null;
2055-
}
2056-
return $this->resolveTypeByNameWithLateStaticBinding(new Name($objectClasses[0]), $expr->name);
2057-
}
2058-
2059-
private function resolveTypeByNameWithLateStaticBinding(Name $class, Node\Identifier $name): TypeWithClassName
2047+
public function resolveTypeByNameWithLateStaticBinding(Name $class, Node\Identifier $name): TypeWithClassName
20602048
{
20612049
$classType = $this->resolveTypeByName($class);
20622050

src/Analyser/NodeScopeResolver.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3354,8 +3354,11 @@ function (MutatingScope $scope) use ($stmt, $expr, $nodeCallback, $context, $sto
33543354
$classType = $scope->resolveTypeByName($expr->class);
33553355
$methodName = $expr->name->name;
33563356
} elseif ($expr->class instanceof Expr) {
3357-
$classType = $scope->resolveStaticCallWithLateStaticBinding($expr);
3358-
$methodName = $expr->name->name;
3357+
$objectClasses = TypeCombinator::removeNull($scope->getType($expr->class))->getObjectTypeOrClassStringObjectType()->getObjectClassNames();
3358+
if (count($objectClasses) === 1) {
3359+
$classType = $scope->resolveTypeByNameWithLateStaticBinding(new Name($objectClasses[0]), $expr->name);
3360+
$methodName = $expr->name->name;
3361+
}
33593362
}
33603363

33613364
if ($classType !== null && $methodName !== null) {

0 commit comments

Comments
 (0)