diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-09-30 17:15:31 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-09-30 17:17:11 +0200 |
commit | 9a2114338432cfc883b29f514daa847205184833 (patch) | |
tree | 8fd96ff0d0944b55b805c13579d262d7af63e975 /src/plugins/cppeditor | |
parent | e50d60ac97bb0080ee055574eada5a51a5bb907c (diff) | |
download | qt-creator-9a2114338432cfc883b29f514daa847205184833.tar.gz |
Implemented a simple(fast?) strategy to resolve macro references.
Diffstat (limited to 'src/plugins/cppeditor')
-rw-r--r-- | src/plugins/cppeditor/cppeditor.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 9771328c5b..9a3022c577 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -57,6 +57,8 @@ #include <cplusplus/TypeOfExpression.h> #include <cplusplus/MatchingText.h> #include <cplusplus/BackwardsScanner.h> +#include <cplusplus/FastPreprocessor.h> + #include <cpptools/cppmodelmanagerinterface.h> #include <coreplugin/icore.h> @@ -2064,10 +2066,13 @@ SemanticInfo SemanticHighlighter::semanticInfo(const Source &source) if (!doc) { const QByteArray preprocessedCode = source.snapshot.preprocessedCode(source.code, source.fileName); + snapshot = source.snapshot; doc = source.snapshot.documentFromSource(preprocessedCode, source.fileName); - doc->check(); - snapshot = source.snapshot; + FastMacroResolver fastMacroResolver(snapshot); + doc->control()->setMacroResolver(&fastMacroResolver); + doc->check(); + doc->control()->setMacroResolver(0); } Control *control = doc->control(); |