File tree Expand file tree Collapse file tree 2 files changed +33
-1
lines changed
Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Original file line number Diff line number Diff line change 2020use Typhoon \Type \TypeVisitor ;
2121use Typhoon \Type \Visitor \RelativeClassTypeResolver ;
2222use Typhoon \Type \Visitor \TemplateTypeResolver ;
23- use Typhoon \Type \Visitor \TypeResolvers ;
2423use Typhoon \TypedMap \TypedMap ;
2524
2625/**
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace Typhoon \Reflection \Internal \Inheritance ;
6+
7+ use Typhoon \Type \Type ;
8+ use Typhoon \Type \TypeVisitor ;
9+ use Typhoon \Type \Visitor \DefaultTypeVisitor ;
10+
11+ /**
12+ * @internal
13+ * @psalm-internal Typhoon\Reflection\Internal\Inheritance
14+ * @extends DefaultTypeVisitor<Type>
15+ */
16+ final class TypeResolvers extends DefaultTypeVisitor
17+ {
18+ /**
19+ * @param iterable<TypeVisitor<Type>> $resolvers
20+ */
21+ public function __construct (
22+ private readonly iterable $ resolvers = [],
23+ ) {}
24+
25+ protected function default (Type $ type ): mixed
26+ {
27+ foreach ($ this ->resolvers as $ resolver ) {
28+ $ type = $ type ->accept ($ resolver );
29+ }
30+
31+ return $ type ;
32+ }
33+ }
You can’t perform that action at this time.
0 commit comments