forked from qt-creator/qt-creator
		
	C++: Parse emit/Q_EMIT properly
The parser now understands emit/Q_EMIT as an expression statement. Also, the recent fixes in the preprocessor introduced a side-effect in the hanlding of code such as: emit signal(); Member signal started being treated as a local use (parsed as a declaration) and possibily being highlighted as unused variable. Previously that worked by accident since there was an inconsistency in the preprocessor on which only object-like macros were being expanded even when the "no expand" flag was set. Then, the code mentioned above was being parsed as an expression, what kind of worked. Change-Id: I47a68ed4c1c1702872620b8ed7c7264fb0997034 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
This commit is contained in:
		| @@ -1813,6 +1813,10 @@ bool Preprocessor::isQtReservedWord(const ByteArrayRef ¯oId) | ||||
|         return true; | ||||
|     else if (size == 5 && macroId.at(0) == 's' && macroId == "slots") | ||||
|         return true; | ||||
|     else if (size == 4 && macroId.at(0) == 'e' && macroId == "emit") | ||||
|         return true; | ||||
|     else if (size == 6 && macroId.at(0) == 'Q' && macroId == "Q_EMIT") | ||||
|         return true; | ||||
|     return false; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user