Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Protocols

323   /// All of the protocols that have been declared.
389 /// and ObjC2 protocols. Objective-C 1 protocols can not contain optional
426 /// Generates a list of referenced protocols. Classes, categories, and
427 /// protocols all use this structure.
428 llvm::Constant *GenerateProtocolList(ArrayRef<std::string> Protocols);
430 /// To ensure that all protocols are seen by the runtime, we add a category on
432 /// protocols. This is a horribly ugly hack, but it allows us to collect all
433 /// of the protocols without changing the ABI.
446 llvm::Constant *Protocols,
453 /// Generates a method list. This is used by protocols to define the required
1616 llvm::Constant *Protocols,
1642 PtrTy, // protocols
1672 Elements.push_back(llvm::ConstantExpr::getBitCast(Protocols, PtrTy));
1725 llvm::Constant *CGObjCGNU::GenerateProtocolList(ArrayRef<std::string>Protocols){
1727 Protocols.size());
1734 for (const std::string *iter = Protocols.begin(), *endIter = Protocols.end();
1752 Elements.push_back(llvm::ConstantInt::get(LongTy, Protocols.size()));
1774 // Protocols are objects containing lists of the methods implemented and
1775 // protocols adopted.
1803 SmallVector<std::string, 16> Protocols;
1804 for (const auto *PI : PD->protocols())
1805 Protocols.push_back(PI->getNameAsString());
1842 llvm::Constant *ProtocolList = GenerateProtocolList(Protocols);
1926 // Protocols are objects containing lists of the methods implemented and
1927 // protocols adopted.
2063 // Collect the names of referenced protocols
2064 SmallVector<std::string, 16> Protocols;
2069 Protocols.push_back((*I)->getNameAsString());
2084 llvm::ConstantExpr::getBitCast(GenerateProtocolList(Protocols), PtrTy)};
2291 // Collect the names of referenced protocols
2292 SmallVector<std::string, 16> Protocols;
2293 for (const auto *I : ClassDecl->protocols())
2294 Protocols.push_back(I->getNameAsString());
2365 MethodList, GenerateProtocolList(Protocols), IvarOffsetArray,
2393 // Add all referenced protocols to a category.