From: Ted Kremenek Date: Wed, 7 Nov 2007 17:05:07 +0000 (+0000) Subject: Implemented serialization of ContinueStmt. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=96f22423c52c22d263b4e5f7ee762122b607459e;p=clang Implemented serialization of ContinueStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43822 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/AST/StmtSerialization.cpp b/AST/StmtSerialization.cpp index e0b87c7cab..4595acc226 100644 --- a/AST/StmtSerialization.cpp +++ b/AST/StmtSerialization.cpp @@ -43,6 +43,9 @@ Stmt* Stmt::Materialize(llvm::Deserializer& D) { case CompoundStmtClass: return CompoundStmt::directMaterialize(D); + case ContinueStmtClass: + return ContinueStmt::directMaterialize(D); + case DeclRefExprClass: return DeclRefExpr::directMaterialize(D); @@ -160,6 +163,15 @@ CompoundStmt* CompoundStmt::directMaterialize(llvm::Deserializer& D) { return stmt; } +void ContinueStmt::directEmit(llvm::Serializer& S) const { + S.Emit(ContinueLoc); +} + +ContinueStmt* ContinueStmt::directMaterialize(llvm::Deserializer& D) { + SourceLocation Loc = SourceLocation::ReadVal(D); + return new ContinueStmt(Loc); +} + void DeclStmt::directEmit(llvm::Serializer& S) const { // FIXME: special handling for struct decls. S.EmitOwnedPtr(getDecl()); diff --git a/include/clang/AST/Stmt.h b/include/clang/AST/Stmt.h index a7cfab0c83..10236e1668 100644 --- a/include/clang/AST/Stmt.h +++ b/include/clang/AST/Stmt.h @@ -644,6 +644,9 @@ public: // Iterators virtual child_iterator child_begin(); virtual child_iterator child_end(); + + virtual void directEmit(llvm::Serializer& S) const; + static ContinueStmt* directMaterialize(llvm::Deserializer& D); }; /// BreakStmt - This represents a break.