aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2007-11-15 18:10:29 +0000
committerTed Kremenek <kremenek@apple.com>2007-11-15 18:10:29 +0000
commit378c151280e8ed91f647cfcdac8cd677fe639d1a (patch)
tree01bc66ccfc70409e167dac138a4890d2998bbee3
parentf6248708933f5a97e1a2f2c9004402bb83708bff (diff)
Started separate section for method definitions for ObjC serialization.
Added missing deserialization case in Stmt::Create() switch statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44175 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--AST/StmtSerialization.cpp42
1 files changed, 29 insertions, 13 deletions
diff --git a/AST/StmtSerialization.cpp b/AST/StmtSerialization.cpp
index d4ddf4c57f..a1fdcec0f7 100644
--- a/AST/StmtSerialization.cpp
+++ b/AST/StmtSerialization.cpp
@@ -151,9 +151,20 @@ Stmt* Stmt::Create(Deserializer& D) {
case WhileStmtClass:
return WhileStmt::CreateImpl(D);
+
+ //==--------------------------------------==//
+ // Objective C
+ //==--------------------------------------==//
+
+ case ObjCIvarRefExprClass:
+ return ObjCIvarRefExpr::CreateImpl(D);
}
}
+//===----------------------------------------------------------------------===//
+// C Serialization
+//===----------------------------------------------------------------------===//
+
void AddrLabelExpr::EmitImpl(Serializer& S) const {
S.Emit(getType());
S.Emit(AmpAmpLoc);
@@ -375,19 +386,6 @@ DeclRefExpr* DeclRefExpr::CreateImpl(Deserializer& D) {
return dr;
}
-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);
- ObjCIvarRefExpr* dr = new ObjCIvarRefExpr(NULL,T,Loc);
- D.ReadPtr(dr->D,false);
- return dr;
-}
DeclStmt* DeclStmt::CreateImpl(Deserializer& D) {
ScopedDecl* decl = cast<ScopedDecl>(D.ReadOwnedPtr<Decl>());
@@ -737,3 +735,21 @@ WhileStmt* WhileStmt::CreateImpl(Deserializer& D) {
Stmt* Body = D.ReadOwnedPtr<Stmt>();
return new WhileStmt(Cond,Body,WhileLoc);
}
+
+//===----------------------------------------------------------------------===//
+// Objective C Serialization
+//===----------------------------------------------------------------------===//
+
+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);
+ ObjCIvarRefExpr* dr = new ObjCIvarRefExpr(NULL,T,Loc);
+ D.ReadPtr(dr->D,false);
+ return dr;
+}