Commits

Slava Pestov committed 19fe31fde9e
IRGen: Emit and use accessors for generic type metadata Instead of directly emitting calls to swift_getGenericMetadata*() and referencing metadata templates, call a metadata accessor function corresponding to the UnboundGenericType of the NominalTypeDecl. The body of this accessor forwards arguments to a runtime metadata instantiation function, together with the template. Also, move some code around, so that metadata accesses which are only done as part of the body of a metadata accessor function are handled separately in emitTypeMetadataAccessFunction(). Apart from protocol conformances, this means metadata templates are no longer referenced from outside the module where they were defined.