summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Names.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-12-01 12:46:15 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2009-12-01 12:46:23 +0100
commit7c7ce13ac09d1a3a3807d0f4fea97688554d28d3 (patch)
tree9c73a3a6743ec973c0b7ec5cce9404a13bbbd9a0 /src/shared/cplusplus/Names.h
parentf2e77fb8fd2f3c06ccb7ab922bbde6a4f7a1f7f0 (diff)
downloadqt-creator-7c7ce13ac09d1a3a3807d0f4fea97688554d28d3.tar.gz
Use const names.
Diffstat (limited to 'src/shared/cplusplus/Names.h')
-rw-r--r--src/shared/cplusplus/Names.h65
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;
};