diff options
Diffstat (limited to 'AST/DeclSerialization.cpp')
-rw-r--r-- | AST/DeclSerialization.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/AST/DeclSerialization.cpp b/AST/DeclSerialization.cpp index c07edb4a58..a9819be1cc 100644 --- a/AST/DeclSerialization.cpp +++ b/AST/DeclSerialization.cpp @@ -19,11 +19,33 @@ using namespace clang; void Decl::Emit(llvm::Serializer& S) const { - assert ("FIXME: not implemented."); + S.EmitInt(getKind()); + + switch (getKind()) { + default: + assert (false && "Not implemented."); + break; + + case BlockVar: + cast<BlockVarDecl>(this)->Emit(S); + break; + + case FileVar: + cast<FileVarDecl>(this)->Emit(S); + break; + + case ParmVar: + cast<ParmVarDecl>(this)->Emit(S); + break; + + case Function: + cast<FunctionDecl>(this)->Emit(S); + break; + } } Decl* Decl::Materialize(llvm::Deserializer& D) { - assert ("FIXME: not implemented."); + assert (false && "FIXME: not implemented."); return NULL; } |