introduce a new ObjCList templated class and start moving
various objc lists over to it. First up, the protocol list
on ObjCInterfaceDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53856 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/RewriteObjC.cpp b/Driver/RewriteObjC.cpp
index 80b5784..7bc414c 100644
--- a/Driver/RewriteObjC.cpp
+++ b/Driver/RewriteObjC.cpp
@@ -217,7 +217,7 @@
const char *ClassName,
std::string &Result);
- void RewriteObjCProtocolsMetaData(ObjCProtocolDecl **Protocols,
+ void RewriteObjCProtocolsMetaData(ObjCProtocolDecl *const*Protocols,
int NumProtocols,
const char *prefix,
const char *ClassName,
@@ -2364,7 +2364,7 @@
const char *endHeader = SM->getCharacterData(L);
endHeader += Lexer::MeasureTokenLength(L, *SM);
- if (CDecl->getNumIntfRefProtocols()) {
+ if (!CDecl->getReferencedProtocols().empty()) {
// advance to the end of the referenced protocols.
while (endHeader < cursor && *endHeader != '>') endHeader++;
endHeader++;
@@ -2508,7 +2508,7 @@
}
/// RewriteObjCProtocolsMetaData - Rewrite protocols meta-data.
-void RewriteObjC::RewriteObjCProtocolsMetaData(ObjCProtocolDecl **Protocols,
+void RewriteObjC::RewriteObjCProtocolsMetaData(ObjCProtocolDecl*const*Protocols,
int NumProtocols,
const char *prefix,
const char *ClassName,
@@ -2899,8 +2899,8 @@
false, "", IDecl->getName(), Result);
// Protocols referenced in class declaration?
- RewriteObjCProtocolsMetaData(CDecl->getReferencedProtocols(),
- CDecl->getNumIntfRefProtocols(),
+ RewriteObjCProtocolsMetaData(CDecl->getReferencedProtocols().begin(),
+ CDecl->getReferencedProtocols().size(),
"CLASS", CDecl->getName(), Result);
@@ -2977,7 +2977,7 @@
}
else
Result += ", 0\n";
- if (CDecl->getNumIntfRefProtocols() > 0) {
+ if (!CDecl->getReferencedProtocols().empty()) {
Result += "\t,0, (struct _objc_protocol_list *)&_OBJC_CLASS_PROTOCOLS_";
Result += CDecl->getName();
Result += ",0,0\n";
@@ -3030,7 +3030,7 @@
}
else
Result += ",0,0";
- if (CDecl->getNumIntfRefProtocols() > 0) {
+ if (!CDecl->getReferencedProtocols().empty()) {
Result += ", (struct _objc_protocol_list*)&_OBJC_CLASS_PROTOCOLS_";
Result += CDecl->getName();
Result += ", 0,0\n";