File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -165,6 +165,21 @@ class PrintMetadataSource
165
165
};
166
166
167
167
llvm::Constant *IRGenModule::getTypeRef (CanType type, MangledTypeRefRole role) {
168
+ switch (role) {
169
+ case MangledTypeRefRole::DefaultAssociatedTypeWitness:
170
+ case MangledTypeRefRole::Metadata:
171
+ // Note that we're using all of the nominal types referenced by this type.
172
+ type.findIf ([&](CanType type) -> bool {
173
+ if (auto nominal = type.getAnyNominal ())
174
+ this ->IRGen .noteUseOfTypeMetadata (nominal);
175
+ return false ;
176
+ });
177
+ break ;
178
+
179
+ case MangledTypeRefRole::Reflection:
180
+ break ;
181
+ }
182
+
168
183
IRGenMangler Mangler;
169
184
auto SymbolicName = Mangler.mangleTypeForReflection (*this , type);
170
185
return getAddrOfStringForTypeRef (SymbolicName, role);
You can’t perform that action at this time.
0 commit comments