Skip to content

Commit f9e15db

Browse files
committed
Use type resolver to resolve types in expressions
1 parent 67b6bc5 commit f9e15db

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/phpDocumentor/Reflection/Php/Expression/ExpressionPrinter.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,29 @@
1717
use phpDocumentor\Reflection\FqsenResolver;
1818
use phpDocumentor\Reflection\Php\Expression;
1919
use phpDocumentor\Reflection\Type;
20+
use phpDocumentor\Reflection\TypeResolver;
2021
use phpDocumentor\Reflection\Types\Context;
2122
use PhpParser\Node\Expr;
2223
use PhpParser\Node\Name;
2324
use PhpParser\PrettyPrinter\Standard;
2425

26+
use function var_dump;
27+
2528
final class ExpressionPrinter extends Standard
2629
{
2730
/** @var array<string, Fqsen|Type> */
2831
private array $parts = [];
2932
private Context|null $context = null;
30-
private FqsenResolver $fqsenResolver;
33+
private TypeResolver $typeResolver;
3134

3235
/** {@inheritDoc} */
3336
public function __construct(array $options = [])
3437
{
3538
parent::__construct($options);
3639

37-
$this->fqsenResolver = new FqsenResolver();
40+
$this->typeResolver = new TypeResolver(
41+
new FqsenResolver(),
42+
);
3843
}
3944

4045
protected function resetState(): void
@@ -53,7 +58,7 @@ public function prettyPrintExpr(Expr $node, Context|null $context = null): strin
5358

5459
protected function pName(Name $node): string
5560
{
56-
$renderedName = $this->fqsenResolver->resolve(parent::pName($node), $this->context);
61+
$renderedName = $this->typeResolver->resolve(parent::pName($node), $this->context);
5762
$placeholder = Expression::generatePlaceholder((string) $renderedName);
5863
$this->parts[$placeholder] = $renderedName;
5964

0 commit comments

Comments
 (0)