[cfe-commits] r64231 - in /cfe/trunk: include/clang/AST/Decl.h include/clang/AST/DeclNodes.def lib/AST/DeclSerialization.cpp

Mike Stump mrs at apple.com
Tue Feb 10 12:06:49 PST 2009


Author: mrs
Date: Tue Feb 10 14:06:48 2009
New Revision: 64231

URL: http://llvm.org/viewvc/llvm-project?rev=64231&view=rev
Log:
Refactor FieldDecls to be ValueDecls instead of NamedDecls.

Modified:
    cfe/trunk/include/clang/AST/Decl.h
    cfe/trunk/include/clang/AST/DeclNodes.def
    cfe/trunk/lib/AST/DeclSerialization.cpp

Modified: cfe/trunk/include/clang/AST/Decl.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Decl.h?rev=64231&r1=64230&r2=64231&view=diff

==============================================================================
--- cfe/trunk/include/clang/AST/Decl.h (original)
+++ cfe/trunk/include/clang/AST/Decl.h Tue Feb 10 14:06:48 2009
@@ -662,15 +662,13 @@
 
 /// FieldDecl - An instance of this class is created by Sema::ActOnField to 
 /// represent a member of a struct/union/class.
-class FieldDecl : public NamedDecl {
+class FieldDecl : public ValueDecl {
   bool Mutable : 1;
-  QualType DeclType;  
   Expr *BitWidth;
 protected:
   FieldDecl(Kind DK, DeclContext *DC, SourceLocation L, 
             IdentifierInfo *Id, QualType T, Expr *BW, bool Mutable)
-    : NamedDecl(DK, DC, L, Id), Mutable(Mutable), DeclType(T), 
-      BitWidth(BW)
+    : ValueDecl(DK, DC, L, Id, T), Mutable(Mutable), BitWidth(BW)
       { }
 
 public:
@@ -678,8 +676,6 @@
                            IdentifierInfo *Id, QualType T, Expr *BW, 
                            bool Mutable);
 
-  QualType getType() const { return DeclType; }
-
   /// isMutable - Determines whether this field is mutable (C++ only).
   bool isMutable() const { return Mutable; }
 

Modified: cfe/trunk/include/clang/AST/DeclNodes.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclNodes.def?rev=64231&r1=64230&r2=64231&view=diff

==============================================================================
--- cfe/trunk/include/clang/AST/DeclNodes.def (original)
+++ cfe/trunk/include/clang/AST/DeclNodes.def Tue Feb 10 14:06:48 2009
@@ -72,9 +72,6 @@
 DECL(TranslationUnit, Decl)
 ABSTRACT_DECL(Named,  Decl)
   DECL(OverloadedFunction, NamedDecl)
-  DECL(Field, NameDecl)
-    DECL(ObjCIvar, FieldDecl)
-    DECL(ObjCAtDefsField, FieldDecl)
   DECL(Namespace, NamedDecl)
   DECL(UsingDirective, NamedDecl)
   ABSTRACT_DECL(Type, NamedDecl)
@@ -91,6 +88,9 @@
         DECL(CXXConstructor, CXXMethodDecl)
         DECL(CXXDestructor, CXXMethodDecl)
         DECL(CXXConversion, CXXMethodDecl)
+    DECL(Field, ValueDecl)
+      DECL(ObjCIvar, FieldDecl)
+      DECL(ObjCAtDefsField, FieldDecl)
     DECL(Var, ValueDecl)
       DECL(ImplicitParam, VarDecl)
       DECL(CXXClassVar, VarDecl)

Modified: cfe/trunk/lib/AST/DeclSerialization.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclSerialization.cpp?rev=64231&r1=64230&r2=64231&view=diff

==============================================================================
--- cfe/trunk/lib/AST/DeclSerialization.cpp (original)
+++ cfe/trunk/lib/AST/DeclSerialization.cpp Tue Feb 10 14:06:48 2009
@@ -437,7 +437,7 @@
 void FieldDecl::EmitImpl(Serializer& S) const {
   S.EmitBool(Mutable);
   S.Emit(getType());
-  NamedDecl::EmitInRec(S);
+  ValueDecl::EmitInRec(S);
   S.EmitOwnedPtr(BitWidth);  
 }
 
@@ -445,8 +445,7 @@
   FieldDecl* decl = new (C) FieldDecl(Field, 0, SourceLocation(), NULL, 
                                         QualType(), 0, false);
   decl->Mutable = D.ReadBool();
-  decl->DeclType.ReadBackpatch(D);  
-  decl->ReadInRec(D, C);
+  decl->ValueDecl::ReadInRec(D, C);
   decl->BitWidth = D.ReadOwnedPtr<Expr>(C);
   return decl;
 }





More information about the cfe-commits mailing list