Lines Matching defs:PD

951   llvm::Constant *GetPropertyTypeString(const ObjCPropertyDecl *PD,
1030 llvm::Constant *GetProtocolRef(const ObjCProtocolDecl *PD);
1107 void GenerateProtocol(const ObjCProtocolDecl *PD) override;
1113 virtual llvm::Constant *GetOrEmitProtocolRef(const ObjCProtocolDecl *PD)=0;
1174 static ProtocolMethodLists get(const ObjCProtocolDecl *PD) {
1177 for (auto *MD : PD->methods()) {
1207 llvm::Constant *emitMethodList(Self *self, const ObjCProtocolDecl *PD,
1209 return self->emitMethodList(PD->getObjCRuntimeNameAsString(),
1288 llvm::Constant *GetOrEmitProtocol(const ObjCProtocolDecl *PD) override;
1294 llvm::Constant *GetOrEmitProtocolRef(const ObjCProtocolDecl *PD) override;
1301 EmitProtocolExtension(const ObjCProtocolDecl *PD,
1358 const ObjCProtocolDecl *PD) override;
1471 llvm::Constant *GetOrEmitProtocol(const ObjCProtocolDecl *PD) override;
1477 llvm::Constant *GetOrEmitProtocolRef(const ObjCProtocolDecl *PD) override;
1656 const ObjCProtocolDecl *PD) override;
2966 const ObjCProtocolDecl *PD) {
2971 return GetProtocolRef(PD);
2974 void CGObjCCommonMac::GenerateProtocol(const ObjCProtocolDecl *PD) {
2977 DefinedProtocols.insert(PD->getIdentifier());
2982 if (Protocols.count(PD->getIdentifier()))
2983 GetOrEmitProtocol(PD);
2986 llvm::Constant *CGObjCCommonMac::GetProtocolRef(const ObjCProtocolDecl *PD) {
2987 if (DefinedProtocols.count(PD->getIdentifier()))
2988 return GetOrEmitProtocol(PD);
2990 return GetOrEmitProtocolRef(PD);
3025 llvm::Constant *CGObjCMac::GetOrEmitProtocol(const ObjCProtocolDecl *PD) {
3026 llvm::GlobalVariable *Entry = Protocols[PD->getIdentifier()];
3033 if (const ObjCProtocolDecl *Def = PD->getDefinition())
3034 PD = Def;
3041 auto methodLists = ProtocolMethodLists::get(PD);
3045 values.add(EmitProtocolExtension(PD, methodLists));
3046 values.add(GetClassName(PD->getObjCRuntimeNameAsString()));
3047 values.add(EmitProtocolList("OBJC_PROTOCOL_REFS_" + PD->getName(),
3048 PD->protocol_begin(), PD->protocol_end()));
3049 values.add(methodLists.emitMethodList(this, PD,
3051 values.add(methodLists.emitMethodList(this, PD,
3059 Entry = values.finishAndCreateGlobal("OBJC_PROTOCOL_" + PD->getName(),
3065 Protocols[PD->getIdentifier()] = Entry;
3072 llvm::Constant *CGObjCMac::GetOrEmitProtocolRef(const ObjCProtocolDecl *PD) {
3073 llvm::GlobalVariable *&Entry = Protocols[PD->getIdentifier()];
3081 nullptr, "OBJC_PROTOCOL_" + PD->getName());
3101 CGObjCMac::EmitProtocolExtension(const ObjCProtocolDecl *PD,
3104 methodLists.emitMethodList(this, PD,
3107 methodLists.emitMethodList(this, PD,
3111 EmitProtocolMethodTypes("OBJC_PROTOCOL_METHOD_TYPES_" + PD->getName(),
3116 EmitPropertyList("OBJC_$_PROP_PROTO_LIST_" + PD->getName(), nullptr, PD,
3119 EmitPropertyList("OBJC_$_CLASS_PROP_PROTO_LIST_" + PD->getName(), nullptr,
3120 PD, ObjCTypes, true);
3144 return CreateMetadataVar("_OBJC_PROTOCOLEXT_" + PD->getName(), values,
3199 for (const auto *PD : Proto->properties()) {
3200 if (IsClassProperty != PD->isClassProperty())
3202 if (!PropertySet.insert(PD->getIdentifier()).second)
3204 Properties.push_back(PD);
3242 for (auto *PD : ClassExt->properties()) {
3243 if (IsClassProperty != PD->isClassProperty())
3245 if (PD->isDirectProperty())
3247 PropertySet.insert(PD->getIdentifier());
3248 Properties.push_back(PD);
3251 for (const auto *PD : OCD->properties()) {
3252 if (IsClassProperty != PD->isClassProperty())
3256 if (!PropertySet.insert(PD->getIdentifier()).second)
3258 if (PD->isDirectProperty())
3260 Properties.push_back(PD);
3284 for (auto PD : Properties) {
3286 property.add(GetPropertyName(PD->getIdentifier()));
3287 property.add(GetPropertyTypeString(PD, Container));
5651 CGObjCCommonMac::GetPropertyTypeString(const ObjCPropertyDecl *PD,
5654 CGM.getContext().getObjCEncodingForPropertyDecl(PD, Container);
6592 const ObjCProtocolDecl *PD) {
6596 assert(!PD->isNonRuntimeProtocol() &&
6598 llvm::Constant *Init = GetOrEmitProtocol(PD);
6601 ProtocolName += PD->getObjCRuntimeNameAsString();
6968 const ObjCProtocolDecl *PD) {
6969 llvm::GlobalVariable *&Entry = Protocols[PD->getIdentifier()];
6971 assert(!PD->isNonRuntimeProtocol() &&
6979 << PD->getObjCRuntimeNameAsString();
7012 const ObjCProtocolDecl *PD) {
7013 llvm::GlobalVariable *Entry = Protocols[PD->getIdentifier()];
7020 assert(PD->hasDefinition() &&
7022 PD = PD->getDefinition();
7024 auto methodLists = ProtocolMethodLists::get(PD);
7031 values.add(GetClassName(PD->getObjCRuntimeNameAsString()));
7033 + PD->getObjCRuntimeNameAsString(),
7034 PD->protocol_begin(),
7035 PD->protocol_end()));
7036 values.add(methodLists.emitMethodList(this, PD,
7038 values.add(methodLists.emitMethodList(this, PD,
7040 values.add(methodLists.emitMethodList(this, PD,
7042 values.add(methodLists.emitMethodList(this, PD,
7045 "_OBJC_$_PROP_LIST_" + PD->getObjCRuntimeNameAsString(),
7046 nullptr, PD, ObjCTypes, false));
7052 + PD->getObjCRuntimeNameAsString(),
7060 "_OBJC_$_CLASS_PROP_LIST_" + PD->getObjCRuntimeNameAsString(),
7061 nullptr, PD, ObjCTypes, true));
7070 << "_OBJC_PROTOCOL_$_" << PD->getObjCRuntimeNameAsString();
7078 Protocols[PD->getIdentifier()] = Entry;
7087 << PD->getObjCRuntimeNameAsString();
7124 for (const auto *PD : Protocols)
7125 ProtocolRefs.push_back(GetProtocolRef(PD));