Implemented serialization of ObjcAtTryStmt.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44566 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/StmtSerialization.cpp b/AST/StmtSerialization.cpp
index a32e5b9..ab639d9 100644
--- a/AST/StmtSerialization.cpp
+++ b/AST/StmtSerialization.cpp
@@ -162,6 +162,9 @@
     case ObjcAtFinallyStmtClass:
       return ObjcAtFinallyStmt::CreateImpl(D);
       
+    case ObjcAtTryStmtClass:
+      return ObjcAtTryStmt::CreateImpl(D);
+      
     case ObjCIvarRefExprClass:
       return ObjCIvarRefExpr::CreateImpl(D);      
   }
@@ -861,12 +864,24 @@
   return new ObjcAtFinallyStmt(Loc,AtFinallyStmt);  
 }
 
+void ObjcAtTryStmt::EmitImpl(Serializer& S) const {
+  S.Emit(AtTryLoc);
+  S.BatchEmitOwnedPtrs((unsigned) END_EXPR, &SubStmts[0]);
+}
+
+ObjcAtTryStmt* ObjcAtTryStmt::CreateImpl(Deserializer& D) {
+  SourceLocation L = SourceLocation::ReadVal(D);
+  ObjcAtTryStmt* stmt = new ObjcAtTryStmt(L,NULL,NULL,NULL);
+  D.BatchReadOwnedPtrs((unsigned) END_EXPR, &stmt->SubStmts[0]);
+  return stmt;
+}
+
 void ObjCIvarRefExpr::EmitImpl(Serializer& S) const {
   S.Emit(Loc);
   S.Emit(getType());
   S.EmitPtr(getDecl());
 }
-
+  
 ObjCIvarRefExpr* ObjCIvarRefExpr::CreateImpl(Deserializer& D) {
   SourceLocation Loc = SourceLocation::ReadVal(D);
   QualType T = QualType::ReadVal(D);