diff --git a/src/TypeResolver/TypeResolverVisitor.php b/src/Traverser/TypeMapVisitor.php similarity index 78% rename from src/TypeResolver/TypeResolverVisitor.php rename to src/Traverser/TypeMapVisitor.php index 4eeaf9c..bf2fffb 100644 --- a/src/TypeResolver/TypeResolverVisitor.php +++ b/src/Traverser/TypeMapVisitor.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace TypeLang\Parser\TypeResolver; +namespace TypeLang\Parser\Traverser; use TypeLang\Parser\Node\Name; use TypeLang\Parser\Node\Node; @@ -10,15 +10,12 @@ use TypeLang\Parser\Node\Stmt\ClassConstMaskNode; use TypeLang\Parser\Node\Stmt\ConstMaskNode; use TypeLang\Parser\Node\Stmt\NamedTypeNode; -use TypeLang\Parser\Traverser\Command; -use TypeLang\Parser\Traverser\Visitor; - -/** - * @internal This is an internal library class, please do not use it in your code. - * @psalm-internal TypeLang\Parser - */ -final class TypeResolverVisitor extends Visitor + +final class TypeMapVisitor extends Visitor { + /** + * @param \Closure(Name):(Name|null) $transform + */ public function __construct( private readonly \Closure $transform, ) {} diff --git a/src/TypeResolver.php b/src/TypeResolver.php index 160113a..eb6c1ad 100644 --- a/src/TypeResolver.php +++ b/src/TypeResolver.php @@ -7,14 +7,14 @@ use TypeLang\Parser\Node\FullQualifiedName; use TypeLang\Parser\Node\Name; use TypeLang\Parser\Node\Stmt\TypeStatement; -use TypeLang\Parser\TypeResolver\TypeResolverVisitor; +use TypeLang\Parser\Traverser\TypeMapVisitor; final class TypeResolver implements TypeResolverInterface { public function resolve(TypeStatement $type, callable $transform): TypeStatement { Traverser::through( - visitor: new TypeResolverVisitor($transform(...)), + visitor: new TypeMapVisitor($transform(...)), nodes: [$type], );