diff options
author | Ted Kremenek <kremenek@apple.com> | 2007-11-07 17:05:07 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2007-11-07 17:05:07 +0000 |
commit | 96f22423c52c22d263b4e5f7ee762122b607459e (patch) | |
tree | 23ab45f49fba31f693bf38124f269b2280b5a753 | |
parent | 225a2d946f73aed3b38f265fcb4e7d7d88136928 (diff) |
Implemented serialization of ContinueStmt.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43822 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | AST/StmtSerialization.cpp | 12 | ||||
-rw-r--r-- | include/clang/AST/Stmt.h | 3 |
2 files changed, 15 insertions, 0 deletions
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. |