[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