diff options
author | Steve Naroff <snaroff@apple.com> | 2008-05-30 00:40:33 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2008-05-30 00:40:33 +0000 |
commit | ae7840776d6cd31b4d7a4a345b61bcbb3744df6c (patch) | |
tree | 0b1fc9e7cdf0700efbe86ad799e4a87115c2fded /lib/AST/StmtSerialization.cpp | |
parent | 54eec4c00d25cbb30a3e589f1b3a4ebaa72c81a0 (diff) |
Add basic support for properties references (a missing feature).
While it is far from complete, it does fix the following <rdar://problem/5967199> clang on xcode: error: member reference is not to a structure or union
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51719 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/StmtSerialization.cpp')
-rw-r--r-- | lib/AST/StmtSerialization.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/AST/StmtSerialization.cpp b/lib/AST/StmtSerialization.cpp index 1e5229e26a..25e9514db1 100644 --- a/lib/AST/StmtSerialization.cpp +++ b/lib/AST/StmtSerialization.cpp @@ -988,6 +988,21 @@ ObjCIvarRefExpr* ObjCIvarRefExpr::CreateImpl(Deserializer& D, ASTContext& C) { return dr; } +void ObjCPropertyRefExpr::EmitImpl(Serializer& S) const { + S.Emit(Loc); + S.Emit(getType()); + S.EmitPtr(getDecl()); +} + +ObjCPropertyRefExpr* ObjCPropertyRefExpr::CreateImpl(Deserializer& D, + ASTContext& C) { + SourceLocation Loc = SourceLocation::ReadVal(D); + QualType T = QualType::ReadVal(D); + ObjCPropertyRefExpr* dr = new ObjCPropertyRefExpr(NULL,T,Loc,0); + D.ReadPtr(dr->D,false); + return dr; +} + void ObjCMessageExpr::EmitImpl(Serializer& S) const { S.EmitBool(getReceiver() ? true : false); S.Emit(getType()); |