@@ -53,6 +53,9 @@ namespace ts {
53
53
if ( objectFlags & ObjectFlags . Reference ) {
54
54
visitTypeReference ( type as TypeReference ) ;
55
55
}
56
+ if ( objectFlags & ObjectFlags . Mapped ) {
57
+ visitMappedType ( type as MappedType ) ;
58
+ }
56
59
if ( objectFlags & ( ObjectFlags . Class | ObjectFlags . Interface ) ) {
57
60
visitInterfaceType ( type as InterfaceType ) ;
58
61
}
@@ -66,6 +69,12 @@ namespace ts {
66
69
if ( type . flags & TypeFlags . UnionOrIntersection ) {
67
70
visitUnionOrIntersectionType ( type as UnionOrIntersectionType ) ;
68
71
}
72
+ if ( type . flags & TypeFlags . Index ) {
73
+ visitIndexType ( type as IndexType ) ;
74
+ }
75
+ if ( type . flags & TypeFlags . IndexedAccess ) {
76
+ visitIndexedAccessType ( type as IndexedAccessType ) ;
77
+ }
69
78
}
70
79
71
80
function visitTypeList ( types : Type [ ] ) : void {
@@ -90,6 +99,23 @@ namespace ts {
90
99
visitTypeList ( type . types ) ;
91
100
}
92
101
102
+ function visitIndexType ( type : IndexType ) : void {
103
+ visitType ( type . type ) ;
104
+ }
105
+
106
+ function visitIndexedAccessType ( type : IndexedAccessType ) : void {
107
+ visitType ( type . objectType ) ;
108
+ visitType ( type . indexType ) ;
109
+ visitType ( type . constraint ) ;
110
+ }
111
+
112
+ function visitMappedType ( type : MappedType ) : void {
113
+ visitType ( type . typeParameter ) ;
114
+ visitType ( type . constraintType ) ;
115
+ visitType ( type . templateType ) ;
116
+ visitType ( type . modifiersType ) ;
117
+ }
118
+
93
119
function visitSignature ( signature : Signature ) : void {
94
120
if ( signature . typePredicate ) {
95
121
visitType ( signature . typePredicate . type ) ;
0 commit comments