Skip to content

Commit 02f1247

Browse files
committed
simplify
1 parent 4d24433 commit 02f1247

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
@@ -1921,19 +1921,7 @@ public function resolveTypeByName(Name $name): TypeWithClassName
19211921
return new ObjectType($originalClass);
19221922
}
19231923

1924-
public function resolveStaticCallWithLateStaticBinding(Expr\StaticCall $expr): ?TypeWithClassName
1925-
{
1926-
$objectClasses = TypeCombinator::removeNull($this->getType($expr->class))->getObjectTypeOrClassStringObjectType()->getObjectClassNames();
1927-
if (count($objectClasses) !== 1) {
1928-
return null;
1929-
}
1930-
if (!$expr->name instanceof Identifier) {
1931-
return null;
1932-
}
1933-
return $this->resolveTypeByNameWithLateStaticBinding(new Name($objectClasses[0]), $expr->name);
1934-
}
1935-
1936-
private function resolveTypeByNameWithLateStaticBinding(Name $class, Node\Identifier $name): TypeWithClassName
1924+
public function resolveTypeByNameWithLateStaticBinding(Name $class, Node\Identifier $name): TypeWithClassName
19371925
{
19381926
$classType = $this->resolveTypeByName($class);
19391927

src/Analyser/NodeScopeResolver.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3309,8 +3309,11 @@ function (MutatingScope $scope) use ($stmt, $expr, $nodeCallback, $context, $sto
33093309
$classType = $scope->resolveTypeByName($expr->class);
33103310
$methodName = $expr->name->name;
33113311
} elseif ($expr->class instanceof Expr) {
3312-
$classType = $scope->resolveStaticCallWithLateStaticBinding($expr);
3313-
$methodName = $expr->name->name;
3312+
$objectClasses = TypeCombinator::removeNull($scope->getType($expr->class))->getObjectTypeOrClassStringObjectType()->getObjectClassNames();
3313+
if (count($objectClasses) === 1) {
3314+
$classType = $scope->resolveTypeByNameWithLateStaticBinding(new Name($objectClasses[0]), $expr->name);
3315+
$methodName = $expr->name->name;
3316+
}
33143317
}
33153318

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

0 commit comments

Comments
 (0)