There is an existing cache which is built when looking up FieldDescriptors. collectAllConformances ignored this cache and would parse every FieldDescriptor again. Use the existing cache mechanism. rdar://166098516
llvm::StringSwitch