Implemented serialization of FieldDecls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44126 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/DeclSerialization.cpp b/AST/DeclSerialization.cpp
index cfab8cc..3e2ce0f 100644
--- a/AST/DeclSerialization.cpp
+++ b/AST/DeclSerialization.cpp
@@ -43,6 +43,9 @@
case BlockVar:
return BlockVarDecl::CreateImpl(D);
+ case Field:
+ return FieldDecl::CreateImpl(D);
+
case FileVar:
return FileVarDecl::CreateImpl(D);
@@ -217,6 +220,24 @@
}
//===----------------------------------------------------------------------===//
+// 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.
//===----------------------------------------------------------------------===//