From 515b505c3ead33934f8d9f917712e7bb25acf0a3 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Thu, 23 Apr 2009 03:59:07 +0000 Subject: PCH (de-)serialization of the protocols in an ObjCInterfaceDecl llvm-svn: 69860 --- clang/lib/Frontend/PCHReader.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'clang/lib/Frontend/PCHReader.cpp') diff --git a/clang/lib/Frontend/PCHReader.cpp b/clang/lib/Frontend/PCHReader.cpp index 72dda6cc6e9..851eebc3552 100644 --- a/clang/lib/Frontend/PCHReader.cpp +++ b/clang/lib/Frontend/PCHReader.cpp @@ -227,6 +227,11 @@ void PCHDeclReader::VisitObjCInterfaceDecl(ObjCInterfaceDecl *ID) { ID->setTypeForDecl(Reader.GetType(Record[Idx++]).getTypePtr()); ID->setSuperClass(cast_or_null (Reader.GetDecl(Record[Idx++]))); + unsigned NumProtocols = Record[Idx++]; + llvm::SmallVector Protocols; + Protocols.reserve(NumProtocols); + for (unsigned I = 0; I != NumProtocols; ++I) + Protocols.push_back(cast(Reader.GetDecl(Record[Idx++]))); unsigned NumIvars = Record[Idx++]; llvm::SmallVector IVars; IVars.reserve(NumIvars); @@ -239,7 +244,7 @@ void PCHDeclReader::VisitObjCInterfaceDecl(ObjCInterfaceDecl *ID) { ID->setClassLoc(SourceLocation::getFromRawEncoding(Record[Idx++])); ID->setSuperClassLoc(SourceLocation::getFromRawEncoding(Record[Idx++])); ID->setAtEndLoc(SourceLocation::getFromRawEncoding(Record[Idx++])); - // FIXME: add protocols, categories. + // FIXME: add categories. } void PCHDeclReader::VisitObjCIvarDecl(ObjCIvarDecl *IVD) { -- cgit v1.2.3