diff options
| author | Ted Kremenek <kremenek@apple.com> | 2007-12-05 00:43:08 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2007-12-05 00:43:08 +0000 |
| commit | 90a7c12bb4e56de95d00a6e5ecf62ca7678f6094 (patch) | |
| tree | 909b8dd49bffd7d06b6708452e36c344c92f183e /clang/AST/StmtSerialization.cpp | |
| parent | 166e505d27d0eb67f083febe5352c8f679376827 (diff) | |
| download | bcm5719-llvm-90a7c12bb4e56de95d00a6e5ecf62ca7678f6094.tar.gz bcm5719-llvm-90a7c12bb4e56de95d00a6e5ecf62ca7678f6094.zip | |
Implemented serialization of: ObjCEncodeExpr, ObjCSelectorExpr.
llvm-svn: 44593
Diffstat (limited to 'clang/AST/StmtSerialization.cpp')
| -rw-r--r-- | clang/AST/StmtSerialization.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/clang/AST/StmtSerialization.cpp b/clang/AST/StmtSerialization.cpp index 7e26cb79458..8693dc3dbd9 100644 --- a/clang/AST/StmtSerialization.cpp +++ b/clang/AST/StmtSerialization.cpp @@ -167,10 +167,16 @@ Stmt* Stmt::Create(Deserializer& D) { case ObjcAtTryStmtClass: return ObjcAtTryStmt::CreateImpl(D); + + case ObjCEncodeExprClass: + return ObjCEncodeExpr::CreateImpl(D); case ObjCIvarRefExprClass: return ObjCIvarRefExpr::CreateImpl(D); + case ObjCSelectorExprClass: + return ObjCSelectorExpr::CreateImpl(D); + case ObjCStringLiteralClass: return ObjCStringLiteral::CreateImpl(D); } @@ -893,6 +899,21 @@ ObjcAtTryStmt* ObjcAtTryStmt::CreateImpl(Deserializer& D) { return stmt; } +void ObjCEncodeExpr::EmitImpl(Serializer& S) const { + S.Emit(AtLoc); + S.Emit(RParenLoc); + S.Emit(getType()); + S.Emit(EncType); +} + +ObjCEncodeExpr* ObjCEncodeExpr::CreateImpl(Deserializer& D) { + SourceLocation AtLoc = SourceLocation::ReadVal(D); + SourceLocation RParenLoc = SourceLocation::ReadVal(D); + QualType T = QualType::ReadVal(D); + QualType ET = QualType::ReadVal(D); + return new ObjCEncodeExpr(T,ET,AtLoc,RParenLoc); +} + void ObjCIvarRefExpr::EmitImpl(Serializer& S) const { S.Emit(Loc); S.Emit(getType()); @@ -907,6 +928,22 @@ ObjCIvarRefExpr* ObjCIvarRefExpr::CreateImpl(Deserializer& D) { return dr; } +void ObjCSelectorExpr::EmitImpl(Serializer& S) const { + S.Emit(AtLoc); + S.Emit(RParenLoc); + S.Emit(getType()); + S.Emit(SelName); +} + +ObjCSelectorExpr* ObjCSelectorExpr::CreateImpl(Deserializer& D) { + SourceLocation AtLoc = SourceLocation::ReadVal(D); + SourceLocation RParenLoc = SourceLocation::ReadVal(D); + QualType T = QualType::ReadVal(D); + Selector SelName = Selector::ReadVal(D); + + return new ObjCSelectorExpr(T,SelName,AtLoc,RParenLoc); +} + void ObjCStringLiteral::EmitImpl(Serializer& S) const { S.Emit(AtLoc); S.Emit(getType()); |

