/// \brief Referenced protocols
ObjCProtocolList ReferencedProtocols;
-
- /// \brief Marks the '>' or identifier.
- SourceLocation EndLoc;
};
DefinitionData *Data;
return SourceRange(getAtStartLoc(), getLocation());
}
- SourceLocation getEndOfDefinitionLoc() const {
- if (!hasDefinition())
- return getLocation();
-
- return data().EndLoc;
- }
-
- void setEndOfDefinitionLoc(SourceLocation LE) { data().EndLoc = LE; }
-
typedef redeclarable_base::redecl_iterator redecl_iterator;
redecl_iterator redecls_begin() const {
return redeclarable_base::redecls_begin();
/// Check then save referenced protocols.
PDecl->setProtocolList((ObjCProtocolDecl**)ProtoRefs, NumProtoRefs,
ProtoLocs, Context);
- PDecl->setEndOfDefinitionLoc(EndProtoLoc);
}
CheckObjCDeclScope(PDecl);
PD->setProtocolList(ProtoRefs.data(), NumProtoRefs, ProtoLocs.data(),
Reader.getContext());
- PD->setEndOfDefinitionLoc(ReadSourceLocation(Record, Idx));
-
// Note that we have deserialized a definition.
Reader.PendingDefinitions.insert(PD);
} else if (Def && Def->Data) {
PLEnd = D->protocol_loc_end();
PL != PLEnd; ++PL)
Writer.AddSourceLocation(*PL, Record);
- Writer.AddSourceLocation(D->getEndOfDefinitionLoc(), Record);
}
Code = serialization::DECL_OBJC_PROTOCOL;