forked from qt-creator/qt-creator
Revert "C++: Fix highlighting for lines with predefined macros"
This takes too much memory. For qtcreator.pro the numbers are as
follows:
Patch applied: ~ 1600MB (RES)
Patch reverted: ~ 510MB (RES)
This reverts commit 4c2daa90ce.
Task-number: QTCREATORBUG-10973
Change-Id: I843bd7c1ea4a26a1ec55ddc14c2a34a98d040922
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
@@ -137,12 +137,6 @@ public:
|
||||
void setVariadic(bool isVariadic)
|
||||
{ f._variadic = isVariadic; }
|
||||
|
||||
bool isPredefined() const
|
||||
{ return f._predefined; }
|
||||
|
||||
void setPredefined(bool isPredefined)
|
||||
{ f._predefined = isPredefined; }
|
||||
|
||||
QString toString() const;
|
||||
QString toStringWithLineBreaks() const;
|
||||
|
||||
@@ -157,7 +151,6 @@ private:
|
||||
unsigned _hidden: 1;
|
||||
unsigned _functionLike: 1;
|
||||
unsigned _variadic: 1;
|
||||
unsigned _predefined: 1;
|
||||
};
|
||||
|
||||
QByteArray _name;
|
||||
|
||||
@@ -917,21 +917,23 @@ bool Preprocessor::handleIdentifier(PPToken *tk)
|
||||
&& macroNameRef[0] == '_'
|
||||
&& macroNameRef[1] == '_') {
|
||||
PPToken newTk;
|
||||
QByteArray txt;
|
||||
if (macroNameRef == ppLine) {
|
||||
txt = QByteArray::number(tk->lineno);
|
||||
QByteArray txt = QByteArray::number(tk->lineno);
|
||||
newTk = generateToken(T_STRING_LITERAL, txt.constData(), txt.size(), tk->lineno, false);
|
||||
} else if (macroNameRef == ppFile) {
|
||||
QByteArray txt;
|
||||
txt.append('"');
|
||||
txt.append(m_env->currentFileUtf8);
|
||||
txt.append('"');
|
||||
newTk = generateToken(T_STRING_LITERAL, txt.constData(), txt.size(), tk->lineno, false);
|
||||
} else if (macroNameRef == ppDate) {
|
||||
QByteArray txt;
|
||||
txt.append('"');
|
||||
txt.append(QDate::currentDate().toString().toUtf8());
|
||||
txt.append('"');
|
||||
newTk = generateToken(T_STRING_LITERAL, txt.constData(), txt.size(), tk->lineno, false);
|
||||
} else if (macroNameRef == ppTime) {
|
||||
QByteArray txt;
|
||||
txt.append('"');
|
||||
txt.append(QTime::currentTime().toString().toUtf8());
|
||||
txt.append('"');
|
||||
@@ -939,14 +941,10 @@ bool Preprocessor::handleIdentifier(PPToken *tk)
|
||||
}
|
||||
|
||||
if (newTk.hasSource()) {
|
||||
Macro macro;
|
||||
macro.setName(macroNameRef.toByteArray());
|
||||
macro.setFileName(m_env->currentFile);
|
||||
macro.setPredefined(true);
|
||||
macro.setDefinition(txt, QVector<PPToken>() << newTk);
|
||||
m_env->bind(macro);
|
||||
if (m_client)
|
||||
m_client->macroAdded(macro);
|
||||
newTk.f.newline = tk->newline();
|
||||
newTk.f.whitespace = tk->whitespace();
|
||||
*tk = newTk;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user