Skip to content
Snippets Groups Projects
Commit 837e7b5a authored by Christian Kamm's avatar Christian Kamm
Browse files

C++: Remember joined state in SimpleLexer.

Done-with: Erik Verbruggen
parent 4c655cdd
No related branches found
No related tags found
No related merge requests found
...@@ -41,7 +41,8 @@ SimpleLexer::SimpleLexer() ...@@ -41,7 +41,8 @@ SimpleLexer::SimpleLexer()
: _lastState(0), : _lastState(0),
_skipComments(false), _skipComments(false),
_qtMocRunEnabled(true), _qtMocRunEnabled(true),
_objCEnabled(false) _objCEnabled(false),
_endedJoined(false)
{ {
} }
...@@ -78,6 +79,11 @@ void SimpleLexer::setSkipComments(bool skipComments) ...@@ -78,6 +79,11 @@ void SimpleLexer::setSkipComments(bool skipComments)
_skipComments = skipComments; _skipComments = skipComments;
} }
bool SimpleLexer::endedJoined() const
{
return _endedJoined;
}
QList<Token> SimpleLexer::operator()(const QString &text, int state) QList<Token> SimpleLexer::operator()(const QString &text, int state)
{ {
QList<Token> tokens; QList<Token> tokens;
...@@ -103,8 +109,10 @@ QList<Token> SimpleLexer::operator()(const QString &text, int state) ...@@ -103,8 +109,10 @@ QList<Token> SimpleLexer::operator()(const QString &text, int state)
for (;;) { for (;;) {
Token tk; Token tk;
lex(&tk); lex(&tk);
if (tk.is(T_EOF_SYMBOL)) if (tk.is(T_EOF_SYMBOL)) {
_endedJoined = tk.joined();
break; break;
}
QStringRef spell = text.midRef(lex.tokenOffset(), lex.tokenLength()); QStringRef spell = text.midRef(lex.tokenOffset(), lex.tokenLength());
lex.setScanAngleStringLiteralTokens(false); lex.setScanAngleStringLiteralTokens(false);
......
...@@ -54,6 +54,8 @@ public: ...@@ -54,6 +54,8 @@ public:
bool objCEnabled() const; bool objCEnabled() const;
void setObjCEnabled(bool onoff); void setObjCEnabled(bool onoff);
bool endedJoined() const;
QList<Token> operator()(const QString &text, int state = 0); QList<Token> operator()(const QString &text, int state = 0);
int state() const int state() const
...@@ -72,6 +74,7 @@ private: ...@@ -72,6 +74,7 @@ private:
bool _skipComments: 1; bool _skipComments: 1;
bool _qtMocRunEnabled: 1; bool _qtMocRunEnabled: 1;
bool _objCEnabled: 1; bool _objCEnabled: 1;
bool _endedJoined: 1;
}; };
} // end of namespace CPlusPlus } // end of namespace CPlusPlus
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment