diff options
| author | Ted Kremenek <kremenek@apple.com> | 2007-11-14 17:47:01 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2007-11-14 17:47:01 +0000 |
| commit | 8e93ca3de578baf023ceeff94c28c3e802e6ad50 (patch) | |
| tree | 37da0fa043472a5c7f841dab8b95ff0ac6b91610 /clang/AST/DeclSerialization.cpp | |
| parent | 31ae9737089cd33767e88d64464eed1b2824ba3a (diff) | |
| download | bcm5719-llvm-8e93ca3de578baf023ceeff94c28c3e802e6ad50.tar.gz bcm5719-llvm-8e93ca3de578baf023ceeff94c28c3e802e6ad50.zip | |
Implemented serialization of FieldDecls.
llvm-svn: 44126
Diffstat (limited to 'clang/AST/DeclSerialization.cpp')
| -rw-r--r-- | clang/AST/DeclSerialization.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/AST/DeclSerialization.cpp b/clang/AST/DeclSerialization.cpp index cfab8cc76d2..3e2ce0fcc8c 100644 --- a/clang/AST/DeclSerialization.cpp +++ b/clang/AST/DeclSerialization.cpp @@ -43,6 +43,9 @@ Decl* Decl::Create(Deserializer& D) { case BlockVar: return BlockVarDecl::CreateImpl(D); + case Field: + return FieldDecl::CreateImpl(D); + case FileVar: return FileVarDecl::CreateImpl(D); @@ -217,6 +220,24 @@ ParmVarDecl* ParmVarDecl::CreateImpl(Deserializer& D) { } //===----------------------------------------------------------------------===// +// FieldDecl Serialization. +//===----------------------------------------------------------------------===// + +void FieldDecl::EmitImpl(Serializer& S) const { + S.Emit(getType()); + NamedDecl::EmitInRec(S); + S.EmitOwnedPtr(BitWidth); +} + +FieldDecl* FieldDecl::CreateImpl(Deserializer& D) { + QualType DeclType = QualType::ReadVal(D); + FieldDecl* decl = new FieldDecl(SourceLocation(),NULL,DeclType); + decl->ReadInRec(D); + decl->BitWidth = D.ReadOwnedPtr<Expr>(); + return decl; +} + +//===----------------------------------------------------------------------===// // FunctionDecl Serialization. //===----------------------------------------------------------------------===// |

