diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-12-01 12:46:15 +0100 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-12-01 12:46:23 +0100 |
commit | 7c7ce13ac09d1a3a3807d0f4fea97688554d28d3 (patch) | |
tree | 9c73a3a6743ec973c0b7ec5cce9404a13bbbd9a0 /src/shared/cplusplus/Names.h | |
parent | f2e77fb8fd2f3c06ccb7ab922bbde6a4f7a1f7f0 (diff) | |
download | qt-creator-7c7ce13ac09d1a3a3807d0f4fea97688554d28d3.tar.gz |
Use const names.
Diffstat (limited to 'src/shared/cplusplus/Names.h')
-rw-r--r-- | src/shared/cplusplus/Names.h | 65 |
1 files changed, 17 insertions, 48 deletions
diff --git a/src/shared/cplusplus/Names.h b/src/shared/cplusplus/Names.h index 5629747de3..9bae0e07fb 100644 --- a/src/shared/cplusplus/Names.h +++ b/src/shared/cplusplus/Names.h @@ -52,24 +52,22 @@ #include "CPlusPlusForwardDeclarations.h" #include "Name.h" #include "FullySpecifiedType.h" +#include <vector> namespace CPlusPlus { class CPLUSPLUS_EXPORT QualifiedNameId: public Name { public: - QualifiedNameId(Name *const names[], - unsigned nameCount, - bool isGlobal = false); + QualifiedNameId(const Name *const *names, unsigned nameCount, bool isGlobal = false); virtual ~QualifiedNameId(); virtual const Identifier *identifier() const; unsigned nameCount() const; - Name *nameAt(unsigned index) const; - Name *const *names() const; - Name *unqualifiedNameId() const; - + const Name *nameAt(unsigned index) const; + const Name *unqualifiedNameId() const; + const Name *const *names() const { return &_names[0]; } // ### remove me bool isGlobal() const; virtual bool isEqualTo(const Name *other) const; @@ -77,15 +75,11 @@ public: virtual const QualifiedNameId *asQualifiedNameId() const { return this; } - virtual QualifiedNameId *asQualifiedNameId() - { return this; } - protected: - virtual void accept0(NameVisitor *visitor); + virtual void accept0(NameVisitor *visitor) const; private: - Name **_names; - unsigned _nameCount; + std::vector<const Name *> _names; bool _isGlobal; }; @@ -102,11 +96,8 @@ public: virtual const NameId *asNameId() const { return this; } - virtual NameId *asNameId() - { return this; } - protected: - virtual void accept0(NameVisitor *visitor); + virtual void accept0(NameVisitor *visitor) const; private: const Identifier *_identifier; @@ -125,11 +116,8 @@ public: virtual const DestructorNameId *asDestructorNameId() const { return this; } - virtual DestructorNameId *asDestructorNameId() - { return this; } - protected: - virtual void accept0(NameVisitor *visitor); + virtual void accept0(NameVisitor *visitor) const; private: const Identifier *_identifier; @@ -148,23 +136,18 @@ public: // ### find a better name unsigned templateArgumentCount() const; const FullySpecifiedType &templateArgumentAt(unsigned index) const; - const FullySpecifiedType *templateArguments() const; virtual bool isEqualTo(const Name *other) const; virtual const TemplateNameId *asTemplateNameId() const { return this; } - virtual TemplateNameId *asTemplateNameId() - { return this; } - protected: - virtual void accept0(NameVisitor *visitor); + virtual void accept0(NameVisitor *visitor) const; private: const Identifier *_identifier; - FullySpecifiedType *_templateArguments; - unsigned _templateArgumentCount; + std::vector<FullySpecifiedType> _templateArguments; }; class CPLUSPLUS_EXPORT OperatorNameId: public Name @@ -236,11 +219,8 @@ public: virtual const OperatorNameId *asOperatorNameId() const { return this; } - virtual OperatorNameId *asOperatorNameId() - { return this; } - protected: - virtual void accept0(NameVisitor *visitor); + virtual void accept0(NameVisitor *visitor) const; private: int _kind; @@ -260,11 +240,8 @@ public: virtual const ConversionNameId *asConversionNameId() const { return this; } - virtual ConversionNameId *asConversionNameId() - { return this; } - protected: - virtual void accept0(NameVisitor *visitor); + virtual void accept0(NameVisitor *visitor) const; private: FullySpecifiedType _type; @@ -273,17 +250,13 @@ private: class CPLUSPLUS_EXPORT SelectorNameId: public Name { public: - SelectorNameId(Name *const names[], - unsigned nameCount, - bool hasArguments); + SelectorNameId(const Name *const *names, unsigned nameCount, bool hasArguments); virtual ~SelectorNameId(); virtual const Identifier *identifier() const; unsigned nameCount() const; - Name *nameAt(unsigned index) const; - Name *const *names() const; - + const Name *nameAt(unsigned index) const; bool hasArguments() const; virtual bool isEqualTo(const Name *other) const; @@ -291,15 +264,11 @@ public: virtual const SelectorNameId *asSelectorNameId() const { return this; } - virtual SelectorNameId *asSelectorNameId() - { return this; } - protected: - virtual void accept0(NameVisitor *visitor); + virtual void accept0(NameVisitor *visitor) const; private: - Name **_names; - unsigned _nameCount; + std::vector<const Name *> _names; bool _hasArguments; }; |