Reimplement (de-)serialization of Objective-C categories to eliminate
the direct serialization of the linked-list structure. Instead, use a scheme similar to how we handle redeclarations, with redeclaration lists on the side. This addresses several issues: - In cases involving mixing and matching of many categories across many modules, the linked-list structure would not be consistent across different modules, and categories would get lost. - If a module is loaded after the class definition and its other categories have already been loaded, we wouldn't see any categories in the newly-loaded module. llvm-svn: 149112
This commit is contained in:
@@ -36,6 +36,7 @@ ModuleFile::ModuleFile(ModuleKind Kind, unsigned Generation)
|
||||
DeclOffsets(0), BaseDeclID(0),
|
||||
LocalNumCXXBaseSpecifiers(0), CXXBaseSpecifiersOffsets(0),
|
||||
FileSortedDecls(0), RedeclarationsMap(0), LocalNumRedeclarationsInMap(0),
|
||||
ObjCCategoriesMap(0), LocalNumObjCCategoriesInMap(0),
|
||||
LocalNumTypes(0), TypeOffsets(0), BaseTypeIndex(0), StatCache(0)
|
||||
{}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user