summaryrefslogtreecommitdiff
path: root/src/shared/proparser/proitems.h
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-04-20 18:19:33 +0200
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-04-20 19:44:31 +0200
commit5e23cf2968b3c08f49b0c34c4aa3d151dbc10f89 (patch)
tree10d754c1ddd5354036e9189b9435a75e7cc183d9 /src/shared/proparser/proitems.h
parent85801227a9b27234e6107268aa15d26e103a3f3a (diff)
downloadqt-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.h4
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;