diff options
author | Sean Hunt <scshunt@csclub.uwaterloo.ca> | 2011-01-08 20:30:50 +0000 |
---|---|---|
committer | Sean Hunt <scshunt@csclub.uwaterloo.ca> | 2011-01-08 20:30:50 +0000 |
commit | cbb67480094b3bcb5b715acd827cbad55e2a204c (patch) | |
tree | 82bee7d3baf90ff2c1525d32919bd06a33d02cd2 /include/clang | |
parent | 97fcc4977b21da43ab106607ad472149b7d4785a (diff) |
Renamed CXXBaseOrMemberInitializer to CXXCtorInitializer. This is both shorter,
more accurate, and makes it make sense for it to hold a delegating constructor
call.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123084 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang')
-rw-r--r-- | include/clang/AST/DeclCXX.h | 90 | ||||
-rw-r--r-- | include/clang/AST/DeclObjC.h | 10 | ||||
-rw-r--r-- | include/clang/AST/RecursiveASTVisitor.h | 4 | ||||
-rw-r--r-- | include/clang/Analysis/CFG.h | 12 | ||||
-rw-r--r-- | include/clang/Analysis/ProgramPoint.h | 2 | ||||
-rw-r--r-- | include/clang/Parse/Parser.h | 2 | ||||
-rw-r--r-- | include/clang/Sema/Ownership.h | 6 | ||||
-rw-r--r-- | include/clang/Sema/Sema.h | 10 | ||||
-rw-r--r-- | include/clang/Serialization/ASTReader.h | 10 | ||||
-rw-r--r-- | include/clang/Serialization/ASTWriter.h | 11 |
10 files changed, 71 insertions, 86 deletions
diff --git a/include/clang/AST/DeclCXX.h b/include/clang/AST/DeclCXX.h index ff99a1cc27..26d18f7c14 100644 --- a/include/clang/AST/DeclCXX.h +++ b/include/clang/AST/DeclCXX.h @@ -1106,7 +1106,7 @@ public: } }; -/// CXXBaseOrMemberInitializer - Represents a C++ base or member +/// CXXCtorInitializer - Represents a C++ base or member /// initializer, which is part of a constructor initializer that /// initializes one non-static member variable or one base class. For /// example, in the following, both 'A(a)' and 'f(3.14159)' are member @@ -1120,7 +1120,7 @@ public: /// B(A& a) : A(a), f(3.14159) { } /// }; /// @endcode -class CXXBaseOrMemberInitializer { +class CXXCtorInitializer { /// \brief Either the base class name (stored as a TypeSourceInfo*), an normal /// field (FieldDecl) or an anonymous field (IndirectFieldDecl*) being /// initialized. @@ -1156,50 +1156,34 @@ class CXXBaseOrMemberInitializer { /// object in memory. unsigned SourceOrderOrNumArrayIndices : 14; - CXXBaseOrMemberInitializer(ASTContext &Context, - FieldDecl *Member, SourceLocation MemberLoc, - SourceLocation L, - Expr *Init, - SourceLocation R, - VarDecl **Indices, - unsigned NumIndices); + CXXCtorInitializer(ASTContext &Context, FieldDecl *Member, + SourceLocation MemberLoc, SourceLocation L, Expr *Init, + SourceLocation R, VarDecl **Indices, unsigned NumIndices); public: - /// CXXBaseOrMemberInitializer - Creates a new base-class initializer. + /// CXXCtorInitializer - Creates a new base-class initializer. explicit - CXXBaseOrMemberInitializer(ASTContext &Context, - TypeSourceInfo *TInfo, bool IsVirtual, - SourceLocation L, - Expr *Init, - SourceLocation R, - SourceLocation EllipsisLoc); - - /// CXXBaseOrMemberInitializer - Creates a new member initializer. + CXXCtorInitializer(ASTContext &Context, TypeSourceInfo *TInfo, bool IsVirtual, + SourceLocation L, Expr *Init, SourceLocation R, + SourceLocation EllipsisLoc); + + /// CXXCtorInitializer - Creates a new member initializer. explicit - CXXBaseOrMemberInitializer(ASTContext &Context, - FieldDecl *Member, SourceLocation MemberLoc, - SourceLocation L, - Expr *Init, - SourceLocation R); + CXXCtorInitializer(ASTContext &Context, FieldDecl *Member, + SourceLocation MemberLoc, SourceLocation L, Expr *Init, + SourceLocation R); explicit - CXXBaseOrMemberInitializer(ASTContext &Context, - IndirectFieldDecl *Member, - SourceLocation MemberLoc, - SourceLocation L, - Expr *Init, - SourceLocation R); + CXXCtorInitializer(ASTContext &Context, IndirectFieldDecl *Member, + SourceLocation MemberLoc, SourceLocation L, Expr *Init, + SourceLocation R); /// \brief Creates a new member initializer that optionally contains /// array indices used to describe an elementwise initialization. - static CXXBaseOrMemberInitializer *Create(ASTContext &Context, - FieldDecl *Member, - SourceLocation MemberLoc, - SourceLocation L, - Expr *Init, - SourceLocation R, - VarDecl **Indices, - unsigned NumIndices); + static CXXCtorInitializer *Create(ASTContext &Context, FieldDecl *Member, + SourceLocation MemberLoc, SourceLocation L, + Expr *Init, SourceLocation R, + VarDecl **Indices, unsigned NumIndices); /// isBaseInitializer - Returns true when this initializer is /// initializing a base class. @@ -1359,10 +1343,10 @@ class CXXConstructorDecl : public CXXMethodDecl { bool ImplicitlyDefined : 1; /// Support for base and member initializers. - /// BaseOrMemberInitializers - The arguments used to initialize the base + /// CtorInitializers - The arguments used to initialize the base /// or member. - CXXBaseOrMemberInitializer **BaseOrMemberInitializers; - unsigned NumBaseOrMemberInitializers; + CXXCtorInitializer **CtorInitializers; + unsigned NumCtorInitializers; CXXConstructorDecl(CXXRecordDecl *RD, const DeclarationNameInfo &NameInfo, QualType T, TypeSourceInfo *TInfo, @@ -1371,7 +1355,7 @@ class CXXConstructorDecl : public CXXMethodDecl { : CXXMethodDecl(CXXConstructor, RD, NameInfo, T, TInfo, false, SC_None, isInline), IsExplicitSpecified(isExplicitSpecified), ImplicitlyDefined(false), - BaseOrMemberInitializers(0), NumBaseOrMemberInitializers(0) { + CtorInitializers(0), NumCtorInitializers(0) { setImplicit(isImplicitlyDeclared); } @@ -1414,23 +1398,23 @@ public: } /// init_iterator - Iterates through the member/base initializer list. - typedef CXXBaseOrMemberInitializer **init_iterator; + typedef CXXCtorInitializer **init_iterator; /// init_const_iterator - Iterates through the memberbase initializer list. - typedef CXXBaseOrMemberInitializer * const * init_const_iterator; + typedef CXXCtorInitializer * const * init_const_iterator; /// init_begin() - Retrieve an iterator to the first initializer. - init_iterator init_begin() { return BaseOrMemberInitializers; } + init_iterator init_begin() { return CtorInitializers; } /// begin() - Retrieve an iterator to the first initializer. - init_const_iterator init_begin() const { return BaseOrMemberInitializers; } + init_const_iterator init_begin() const { return CtorInitializers; } /// init_end() - Retrieve an iterator past the last initializer. init_iterator init_end() { - return BaseOrMemberInitializers + NumBaseOrMemberInitializers; + return CtorInitializers + NumCtorInitializers; } /// end() - Retrieve an iterator past the last initializer. init_const_iterator init_end() const { - return BaseOrMemberInitializers + NumBaseOrMemberInitializers; + return CtorInitializers + NumCtorInitializers; } typedef std::reverse_iterator<init_iterator> init_reverse_iterator; @@ -1452,16 +1436,16 @@ public: /// getNumArgs - Determine the number of arguments used to /// initialize the member or base. - unsigned getNumBaseOrMemberInitializers() const { - return NumBaseOrMemberInitializers; + unsigned getNumCtorInitializers() const { + return NumCtorInitializers; } - void setNumBaseOrMemberInitializers(unsigned numBaseOrMemberInitializers) { - NumBaseOrMemberInitializers = numBaseOrMemberInitializers; + void setNumCtorInitializers(unsigned numCtorInitializers) { + NumCtorInitializers = numCtorInitializers; } - void setBaseOrMemberInitializers(CXXBaseOrMemberInitializer ** initializers) { - BaseOrMemberInitializers = initializers; + void setCtorInitializers(CXXCtorInitializer ** initializers) { + CtorInitializers = initializers; } /// isDefaultConstructor - Whether this constructor is a default /// constructor (C++ [class.ctor]p5), which can be used to diff --git a/include/clang/AST/DeclObjC.h b/include/clang/AST/DeclObjC.h index 2112d537c3..853bc9f035 100644 --- a/include/clang/AST/DeclObjC.h +++ b/include/clang/AST/DeclObjC.h @@ -28,7 +28,7 @@ class ObjCProtocolDecl; class ObjCCategoryDecl; class ObjCPropertyDecl; class ObjCPropertyImplDecl; -class CXXBaseOrMemberInitializer; +class CXXCtorInitializer; class ObjCListBase { void operator=(const ObjCListBase &); // DO NOT IMPLEMENT @@ -1213,7 +1213,7 @@ class ObjCImplementationDecl : public ObjCImplDecl { ObjCInterfaceDecl *SuperClass; /// Support for ivar initialization. /// IvarInitializers - The arguments used to initialize the ivars - CXXBaseOrMemberInitializer **IvarInitializers; + CXXCtorInitializer **IvarInitializers; unsigned NumIvarInitializers; /// true of class extension has at least one bitfield ivar. @@ -1232,10 +1232,10 @@ public: ObjCInterfaceDecl *superDecl); /// init_iterator - Iterates through the ivar initializer list. - typedef CXXBaseOrMemberInitializer **init_iterator; + typedef CXXCtorInitializer **init_iterator; /// init_const_iterator - Iterates through the ivar initializer list. - typedef CXXBaseOrMemberInitializer * const * init_const_iterator; + typedef CXXCtorInitializer * const * init_const_iterator; /// init_begin() - Retrieve an iterator to the first initializer. init_iterator init_begin() { return IvarInitializers; } @@ -1260,7 +1260,7 @@ public: } void setIvarInitializers(ASTContext &C, - CXXBaseOrMemberInitializer ** initializers, + CXXCtorInitializer ** initializers, unsigned numInitializers); bool hasSynthBitfield() const { return HasSynthBitfield; } diff --git a/include/clang/AST/RecursiveASTVisitor.h b/include/clang/AST/RecursiveASTVisitor.h index 0a198a8718..ad9f6ddef3 100644 --- a/include/clang/AST/RecursiveASTVisitor.h +++ b/include/clang/AST/RecursiveASTVisitor.h @@ -215,7 +215,7 @@ public: /// be overridden for clients that need access to the name. /// /// \returns false if the visitation was terminated early, true otherwise. - bool TraverseConstructorInitializer(CXXBaseOrMemberInitializer *Init); + bool TraverseConstructorInitializer(CXXCtorInitializer *Init); // ---- Methods on Stmts ---- @@ -600,7 +600,7 @@ bool RecursiveASTVisitor<Derived>::TraverseTemplateArguments( template<typename Derived> bool RecursiveASTVisitor<Derived>::TraverseConstructorInitializer( - CXXBaseOrMemberInitializer *Init) { + CXXCtorInitializer *Init) { // FIXME: recurse on TypeLoc of the base initializer if isBaseInitializer()? if (Init->isWritten()) TRY_TO(TraverseStmt(Init->getInit())); diff --git a/include/clang/Analysis/CFG.h b/include/clang/Analysis/CFG.h index c0f6ff10e8..1c7e9bfef6 100644 --- a/include/clang/Analysis/CFG.h +++ b/include/clang/Analysis/CFG.h @@ -34,7 +34,7 @@ namespace clang { class Expr; class FieldDecl; class VarDecl; - class CXXBaseOrMemberInitializer; + class CXXCtorInitializer; class CXXBaseSpecifier; class CXXBindTemporaryExpr; class CFG; @@ -110,13 +110,13 @@ public: class CFGInitializer : public CFGElement { public: CFGInitializer() {} - CFGInitializer(CXXBaseOrMemberInitializer* I) + CFGInitializer(CXXCtorInitializer* I) : CFGElement(I, Initializer) {} - CXXBaseOrMemberInitializer* getInitializer() const { - return static_cast<CXXBaseOrMemberInitializer*>(Data1.getPointer()); + CXXCtorInitializer* getInitializer() const { + return static_cast<CXXCtorInitializer*>(Data1.getPointer()); } - operator CXXBaseOrMemberInitializer*() const { return getInitializer(); } + operator CXXCtorInitializer*() const { return getInitializer(); } static bool classof(const CFGElement *E) { return E->getKind() == Initializer; @@ -492,7 +492,7 @@ public: Elements.push_back(CFGStmt(statement), C); } - void appendInitializer(CXXBaseOrMemberInitializer *initializer, + void appendInitializer(CXXCtorInitializer *initializer, BumpVectorContext& C) { Elements.push_back(CFGInitializer(initializer), C); } diff --git a/include/clang/Analysis/ProgramPoint.h b/include/clang/Analysis/ProgramPoint.h index 12597e9106..36e40164c0 100644 --- a/include/clang/Analysis/ProgramPoint.h +++ b/include/clang/Analysis/ProgramPoint.h @@ -307,7 +307,7 @@ public: class PostInitializer : public ProgramPoint { public: - PostInitializer(const CXXBaseOrMemberInitializer *I, + PostInitializer(const CXXCtorInitializer *I, const LocationContext *L) : ProgramPoint(I, PostInitializerKind, L) {} diff --git a/include/clang/Parse/Parser.h b/include/clang/Parse/Parser.h index ce2692c619..aebf82ee68 100644 --- a/include/clang/Parse/Parser.h +++ b/include/clang/Parse/Parser.h @@ -162,7 +162,7 @@ public: typedef Stmt StmtTy; typedef OpaquePtr<DeclGroupRef> DeclGroupPtrTy; typedef CXXBaseSpecifier BaseTy; - typedef CXXBaseOrMemberInitializer MemInitTy; + typedef CXXCtorInitializer MemInitTy; typedef NestedNameSpecifier CXXScopeTy; typedef TemplateParameterList TemplateParamsTy; typedef OpaquePtr<TemplateName> TemplateTy; diff --git a/include/clang/Sema/Ownership.h b/include/clang/Sema/Ownership.h index eac810a43e..5f2f0eba71 100644 --- a/include/clang/Sema/Ownership.h +++ b/include/clang/Sema/Ownership.h @@ -23,7 +23,7 @@ namespace clang { class Attr; - class CXXBaseOrMemberInitializer; + class CXXCtorInitializer; class CXXBaseSpecifier; class Decl; class DeclGroupRef; @@ -417,7 +417,7 @@ namespace clang { template<> struct IsResultPtrLowBitFree<CXXBaseSpecifier*> { static const bool value = true; }; - template<> struct IsResultPtrLowBitFree<CXXBaseOrMemberInitializer*> { + template<> struct IsResultPtrLowBitFree<CXXCtorInitializer*> { static const bool value = true; }; @@ -430,7 +430,7 @@ namespace clang { typedef ActionResult<Stmt*> StmtResult; typedef ActionResult<ParsedType> TypeResult; typedef ActionResult<CXXBaseSpecifier*> BaseResult; - typedef ActionResult<CXXBaseOrMemberInitializer*> MemInitResult; + typedef ActionResult<CXXCtorInitializer*> MemInitResult; typedef ActionResult<Decl*> DeclResult; typedef OpaquePtr<TemplateName> ParsedTemplateTy; diff --git a/include/clang/Sema/Sema.h b/include/clang/Sema/Sema.h index b860e2bd5e..0f15ab85d3 100644 --- a/include/clang/Sema/Sema.h +++ b/include/clang/Sema/Sema.h @@ -203,7 +203,7 @@ public: typedef OpaquePtr<QualType> TypeTy; typedef Attr AttrTy; typedef CXXBaseSpecifier BaseTy; - typedef CXXBaseOrMemberInitializer MemInitTy; + typedef CXXCtorInitializer MemInitTy; typedef Expr ExprTy; typedef Stmt StmtTy; typedef TemplateParameterList TemplateParamsTy; @@ -2573,9 +2573,9 @@ public: CXXRecordDecl *ClassDecl, SourceLocation EllipsisLoc); - bool SetBaseOrMemberInitializers(CXXConstructorDecl *Constructor, - CXXBaseOrMemberInitializer **Initializers, - unsigned NumInitializers, bool AnyErrors); + bool SetCtorInitializers(CXXConstructorDecl *Constructor, + CXXCtorInitializer **Initializers, + unsigned NumInitializers, bool AnyErrors); void SetIvarInitializers(ObjCImplementationDecl *ObjCImplementation); @@ -4746,7 +4746,7 @@ public: void CodeCompleteNamespaceAliasDecl(Scope *S); void CodeCompleteOperatorName(Scope *S); void CodeCompleteConstructorInitializer(Decl *Constructor, - CXXBaseOrMemberInitializer** Initializers, + CXXCtorInitializer** Initializers, unsigned NumInitializers); void CodeCompleteObjCAtDirective(Scope *S, Decl *ObjCImpDecl, diff --git a/include/clang/Serialization/ASTReader.h b/include/clang/Serialization/ASTReader.h index cc3497a100..845ca4b10f 100644 --- a/include/clang/Serialization/ASTReader.h +++ b/include/clang/Serialization/ASTReader.h @@ -53,7 +53,7 @@ class Decl; class DeclContext; class NestedNameSpecifier; class CXXBaseSpecifier; -class CXXBaseOrMemberInitializer; +class CXXCtorInitializer; class GotoStmt; class LabelStmt; class MacroDefinition; @@ -1098,10 +1098,10 @@ public: CXXBaseSpecifier ReadCXXBaseSpecifier(PerFileData &F, const RecordData &Record,unsigned &Idx); - /// \brief Read a CXXBaseOrMemberInitializer array. - std::pair<CXXBaseOrMemberInitializer **, unsigned> - ReadCXXBaseOrMemberInitializers(PerFileData &F, - const RecordData &Record, unsigned &Idx); + /// \brief Read a CXXCtorInitializer array. + std::pair<CXXCtorInitializer **, unsigned> + ReadCXXCtorInitializers(PerFileData &F, const RecordData &Record, + unsigned &Idx); /// \brief Read a source location from raw form. SourceLocation ReadSourceLocation(PerFileData &Module, unsigned Raw) { diff --git a/include/clang/Serialization/ASTWriter.h b/include/clang/Serialization/ASTWriter.h index e0f1d96321..86e241939e 100644 --- a/include/clang/Serialization/ASTWriter.h +++ b/include/clang/Serialization/ASTWriter.h @@ -41,7 +41,7 @@ class ASTContext; class ASTSerializationListener; class NestedNameSpecifier; class CXXBaseSpecifier; -class CXXBaseOrMemberInitializer; +class CXXCtorInitializer; class LabelStmt; class MacroDefinition; class MemorizeStatCalls; @@ -482,10 +482,11 @@ public: /// \brief Emit a C++ base specifier. void AddCXXBaseSpecifier(const CXXBaseSpecifier &Base, RecordDataImpl &Record); - /// \brief Emit a CXXBaseOrMemberInitializer array. - void AddCXXBaseOrMemberInitializers( - const CXXBaseOrMemberInitializer * const *BaseOrMembers, - unsigned NumBaseOrMembers, RecordDataImpl &Record); + /// \brief Emit a CXXCtorInitializer array. + void AddCXXCtorInitializers( + const CXXCtorInitializer * const *CtorInitializers, + unsigned NumCtorInitializers, + RecordDataImpl &Record); void AddCXXDefinitionData(const CXXRecordDecl *D, RecordDataImpl &Record); |