summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Names.h
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-07-12 13:41:54 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2010-07-12 15:10:00 +0200
commitadfdb51660f3d4251101283efa46b6617cbe43d4 (patch)
tree7c06bc81efca2349820b3f2e69c3d30da34f2df8 /src/shared/cplusplus/Names.h
parent94264617bfdda8fbfc31921dc9ba49ffff84eaeb (diff)
downloadqt-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.h21
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