diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2011-04-20 18:19:33 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2011-04-20 19:44:31 +0200 |
commit | 5e23cf2968b3c08f49b0c34c4aa3d151dbc10f89 (patch) | |
tree | 10d754c1ddd5354036e9189b9435a75e7cc183d9 /src/shared/proparser/proitems.h | |
parent | 85801227a9b27234e6107268aa15d26e103a3f3a (diff) | |
download | qt-creator-5e23cf2968b3c08f49b0c34c4aa3d151dbc10f89.tar.gz |
eliminate m_filevaluemap by using source tagging
instead of having a second value map per included file, simply tag all
values with the project file they are coming from. a lot cleaner and
marginally faster.
Diffstat (limited to 'src/shared/proparser/proitems.h')
-rw-r--r-- | src/shared/proparser/proitems.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/shared/proparser/proitems.h b/src/shared/proparser/proitems.h index 3a33adc154..00778907eb 100644 --- a/src/shared/proparser/proitems.h +++ b/src/shared/proparser/proitems.h @@ -57,6 +57,7 @@ enum OmitPreHashing { NoHash }; } class ProStringList; +class ProFile; class ProString { public: @@ -70,6 +71,8 @@ public: ProString(const QString &str, int offset, int length); ProString(const QString &str, int offset, int length, uint hash); ProString(const QString &str, int offset, int length, ProStringConstants::OmitPreHashing); + void setSource(const ProFile *pro) { m_file = pro; } + const ProFile *sourceFile() const { return m_file; } QString toQString() const; QString &toQString(QString &tmp) const; ProString &operator+=(const ProString &other); @@ -95,6 +98,7 @@ public: private: QString m_string; int m_offset, m_length; + const ProFile *m_file; mutable uint m_hash; QChar *prepareAppend(int extraLen); uint updatedHash() const; |