diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-07-12 13:41:54 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-07-12 15:10:00 +0200 |
commit | adfdb51660f3d4251101283efa46b6617cbe43d4 (patch) | |
tree | 7c06bc81efca2349820b3f2e69c3d30da34f2df8 /src/shared/cplusplus/Names.h | |
parent | 94264617bfdda8fbfc31921dc9ba49ffff84eaeb (diff) | |
download | qt-creator-adfdb51660f3d4251101283efa46b6617cbe43d4.tar.gz |
Recursive definition of CPlusPlus::QualifiedNameId.
Done-with: Erik Verbruggen
Diffstat (limited to 'src/shared/cplusplus/Names.h')
-rw-r--r-- | src/shared/cplusplus/Names.h | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/src/shared/cplusplus/Names.h b/src/shared/cplusplus/Names.h index bd329060da..050632a8b4 100644 --- a/src/shared/cplusplus/Names.h +++ b/src/shared/cplusplus/Names.h @@ -59,36 +59,27 @@ namespace CPlusPlus { class CPLUSPLUS_EXPORT QualifiedNameId: public Name { public: - template <typename _Iterator> - QualifiedNameId(_Iterator first, _Iterator last, bool isGlobal = false) - : _names(first, last), _isGlobal(isGlobal) {} + QualifiedNameId(const Name *base, const Name *name) + : _base(base), _name(name) {} virtual ~QualifiedNameId(); virtual const Identifier *identifier() const; - unsigned nameCount() const; - const Name *nameAt(unsigned index) const; - const Name *unqualifiedNameId() const; - const Name *const *names() const { return &_names[0]; } // ### remove me - bool isGlobal() const; + const Name *base() const; + const Name *name() const; virtual bool isEqualTo(const Name *other) const; virtual const QualifiedNameId *asQualifiedNameId() const { return this; } - typedef std::vector<const Name *>::const_iterator NameIterator; - - NameIterator firstName() const { return _names.begin(); } - NameIterator lastName() const { return _names.end(); } - protected: virtual void accept0(NameVisitor *visitor) const; private: - std::vector<const Name *> _names; - bool _isGlobal; + const Name *_base; + const Name *_name; }; class CPLUSPLUS_EXPORT NameId: public Name |