зеркало из https://github.com/microsoft/clang-1.git
PCH (de-)serialization for ObjCImplDecl. This can't be tested yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69855 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
e349bea668
Коммит
2c2d43c557
|
@ -809,12 +809,15 @@ public:
|
|||
|
||||
const ObjCInterfaceDecl *getClassInterface() const { return ClassInterface; }
|
||||
ObjCInterfaceDecl *getClassInterface() { return ClassInterface; }
|
||||
|
||||
void setClassInterface(ObjCInterfaceDecl *IFace) { ClassInterface = IFace; }
|
||||
|
||||
void addInstanceMethod(ASTContext &Context, ObjCMethodDecl *method) {
|
||||
// FIXME: Context should be set correctly before we get here.
|
||||
method->setLexicalDeclContext(this);
|
||||
addDecl(Context, method);
|
||||
}
|
||||
void addClassMethod(ASTContext &Context, ObjCMethodDecl *method) {
|
||||
// FIXME: Context should be set correctly before we get here.
|
||||
method->setLexicalDeclContext(this);
|
||||
addDecl(Context, method);
|
||||
}
|
||||
|
|
|
@ -543,6 +543,7 @@ ObjCCategoryImplDecl::Create(ASTContext &C, DeclContext *DC,
|
|||
|
||||
void ObjCImplDecl::addPropertyImplementation(ASTContext &Context,
|
||||
ObjCPropertyImplDecl *property) {
|
||||
// FIXME: The context should be correct before we get here.
|
||||
property->setLexicalDeclContext(this);
|
||||
addDecl(Context, property);
|
||||
}
|
||||
|
|
|
@ -322,7 +322,9 @@ void PCHDeclReader::VisitObjCPropertyDecl(ObjCPropertyDecl *D) {
|
|||
|
||||
void PCHDeclReader::VisitObjCImplDecl(ObjCImplDecl *D) {
|
||||
VisitDecl(D);
|
||||
// FIXME: Implement.
|
||||
D->setClassInterface(
|
||||
cast_or_null<ObjCInterfaceDecl>(Reader.GetDecl(Record[Idx++])));
|
||||
D->setLocEnd(SourceLocation::getFromRawEncoding(Record[Idx++]));
|
||||
}
|
||||
|
||||
void PCHDeclReader::VisitObjCCategoryImplDecl(ObjCCategoryImplDecl *D) {
|
||||
|
|
|
@ -493,7 +493,8 @@ void PCHDeclWriter::VisitObjCPropertyDecl(ObjCPropertyDecl *D) {
|
|||
|
||||
void PCHDeclWriter::VisitObjCImplDecl(ObjCImplDecl *D) {
|
||||
VisitDecl(D);
|
||||
// FIXME: Implement.
|
||||
Writer.AddDeclRef(D->getClassInterface(), Record);
|
||||
Writer.AddSourceLocation(D->getLocEnd(), Record);
|
||||
// Abstract class (no need to define a stable pch::DECL code).
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче