summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.h
Commit message (Collapse)AuthorAgeFilesLines
...
* | C++: add method to dump the model manager configuration.Erik Verbruggen2012-11-061-0/+2
| | | | | | | | | | | | | | | | This method is called when the QTCREATOR_DUMP_PROJECT_INFO environment variable is defined. Change-Id: Id314994a2eed79cf688f5ef82f597524dba7a5cd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | C++: started to make indexing plug-able.Erik Verbruggen2012-10-231-34/+28
| | | | | | | | | | Change-Id: Iff35840d73882a212dd77b54e4223c0b4111ac1c Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | C++: changed the CppModelManager to use a normal singleton.Erik Verbruggen2012-10-161-1/+5
| | | | | | | | | | | | | | Also removed two TODOs. Change-Id: I91b235795da7e87a21782d189844eacdd68c5f3c Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* | Merge remote-tracking branch 'origin/2.6'Eike Ziller2012-10-051-21/+20
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h src/plugins/debugger/qtmessageloghandler.cpp src/plugins/debugger/qtmessageloghandler.h src/plugins/debugger/qtmessagelogwindow.cpp src/plugins/madde/maemodeployconfigurationwidget.cpp src/plugins/madde/maemodeployconfigurationwidget.h src/plugins/remotelinux/deployablefilesperprofile.cpp src/plugins/remotelinux/deployablefilesperprofile.h src/plugins/remotelinux/deploymentinfo.cpp src/plugins/remotelinux/deploymentinfo.h src/plugins/remotelinux/deploymentsettingsassistant.cpp src/plugins/remotelinux/profilesupdatedialog.cpp src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h tests/auto/icheckbuild/ichecklib.cpp tests/auto/icheckbuild/ichecklib_global.h tests/auto/icheckbuild/parsemanager.cpp tests/auto/icheckbuild/parsemanager.h tests/manual/ssh/tunnel/tunnel.h Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
| * Adjust license headershjk2012-10-051-21/+20
| | | | | | | | | | Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* | Remove "icheck build" test.Christian Kandeler2012-09-071-24/+9
|/ | | | | | | Does not build, is not being maintained, purpose is unclear. Change-Id: I00f3bbc9580b57e3945882a411af502a78f4864f Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* Contact -> qt-project.orgEike Ziller2012-07-191-3/+1
| | | | | Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* C++: Core changes in preprocessingLeandro Melo2012-06-251-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary of most relevant items: - Preprocessor output format change. No more gen true/false. Instead a more intuitive and natural expansion (like from a real compiler) is performed directly corresponding to the macro invocation. Notice that information about the generated tokens is not lost, because it's now embedded in the expansion section header (in terms of lines and columns as explained in the code). In addition the location on where the macro expansion happens is also documented for future use. - Fix line control directives and associated token line numbers. This was not detected in tests cases because some of them were actually wrong: Within expansions the line information was being considered as originally computed in the macro definition, while the desired and expected for Creator's reporting mechanism (just like regular compilers) is the line from the expanded version of the tokens. - Do not allow for eager expansion. This was previously being done inside define directives. However, it's not allowed and might lead to incorrect results, since the argument substitution should only happen upon the macro invocation (and following nested ones). At least GCC and clang are consistent with that. See test case tst_Preprocessor:dont_eagerly_expand for a detailed explanation. - Revive the 'expanded' token flag. This is used to mark every token that originates from a macro expansion. Notice, however, that expanded tokens are not necessarily generated tokens (although every generated token is a expanded token). Expanded tokens that are not generated are those which are still considered by our code model features, since they are visible on the editor. The translation unit is smart enough to calculate line/column position for such tokens based on the information from the expansion section header. - How expansions are tracked has also changed. Now, we simply add two surrounding marker tokens to each "top-level" expansion sequence. There is an enumeration that control expansion states. Also, no "previous" token is kept around. - Preprocessor client methods suffered a change in signature so they now receive the line number of the action in question as a paramater. Previously such line could be retrieved by the client implementation by accessing the environment line. However, this is not reliable because we try to avoid synchronization of the output/environment lines in order to avoid unnecessary output, while expanding macros or handling preprocessor directives. - Although macros are not expanded during define directives (as mentioned above) the preprocessor client is now "notified" when it sees a macro. This is to allow usage tracking. - Other small stuff. This is all in one patch because the fixes are a consequence of the change in preprocessing control. Change-Id: I8f4c6e6366f37756ec65d0a93b79f72a3ac4ed50 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Implemented Rename Macro UsagesAndre Hartmann2012-06-061-0/+1
| | | | | | | | | | | Works the same way as Rename Usages for C++ Symbols. For now, no Search Again as this requieres further work. Task-number: QTCREATORBUG-413 Change-Id: I09e85ea1e8c247f5ce0b6bc566aba8018c1569e4 Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
* preprocessor: make Environment::{resolve,remove} work on ByteArrayRefs onlyhjk2012-04-191-1/+1
| | | | | Change-Id: Idb93d359bd45696a38cb863dcea30c5c377eeabb Reviewed-by: hjk <qthjk@ovi.com>
* preprocessor: make CPlusPlus::Internal::ByteArrayRef publichjk2012-04-191-1/+1
| | | | | Change-Id: Ief6ea71f750b6ba19b650050bae376f4ad82d9d2 Reviewed-by: hjk <qthjk@ovi.com>
* preprocessor: save cycles by using ByteArrayRefhjk2012-04-191-1/+1
| | | | | Change-Id: I339696763b045ef1bda17dd55746738ef4ddbb67 Reviewed-by: hjk <qthjk@ovi.com>
* [C++] Added env. var. to show file name that is being parsed.Erik Verbruggen2012-03-301-1/+3
| | | | | | | | | When setting the environment variable QTCREATOR_DUMP_FILENAME_WHILE_PARSING, the indexer will write the file name of the file it is processing to stderr. Change-Id: Iaed582512b87fd0584feb4e459a4094be32d5745 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* [C++] Rewrite of the preprocessor.Erik Verbruggen2012-03-291-1/+0
| | | | | | | | | | | | | This rewrite fixes a couple of issues with the pre-processor. It now supports: - macros in macro bodies - stringification of parameters [cpp.stringize] - the concatenation operator [cpp.concat] - #include MACRO_HERE - defined() inside macro bodies used in pp-conditions. Change-Id: Ifdb78041fb6afadf44f939a4bd66ce2832b8601f Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Add flag for semantic highlighter to set diagnostics.Erik Verbruggen2012-03-151-1/+4
| | | | | | | | If the semantic highlighter does not take care of setting showing the wiggly lines for diagnostics in the editor, the model manager will do. Change-Id: Ie69fb798dd53d60ddca1668b8f586266a0daca4b Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Move the ModelManagerInterface out of the CPlusPlus library.Erik Verbruggen2012-03-141-1/+1
| | | | | Change-Id: Iffaa18f848a22f6961b49dff048672b194570df6 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* [C++] Added object pool handling for CompletionAssistProvider.Erik Verbruggen2012-02-231-4/+4
| | | | | Change-Id: I89634989a7f360a30f7ed1bde4e67c93551ddfe4 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* C++: make highlighting/completion plugable.Erik Verbruggen2012-02-201-0/+11
| | | | | Change-Id: I990fdf5411153041c6b4c62f31b453342d59de53 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* Supply c++11 flags and per-project info to c++ code model.Erik Verbruggen2012-02-161-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A manual squash/merge of the changes below, plus a couple of subsequent code fixes. 59085aa5fbb99e2d786cd2c1a06c24a111ccb49f: Modify CppModel::ProjectInfo Adding per project node information, to pass on the correct defines/includes for each file, instead of aggregating them incorrectly. Also split up SOURCES and OBJECTIVE_SOURCES. Also ask the toolchain to convert the compilerflags to flags the codemodel understands, for now only gcc and only c++11. Also make the toolchain aware of the flags used to compile, so that it can emit the correct defines. Note: No header files are passed on. 74028802314cd4e75b41b46407433e07090a304d: GCC: Evaluate cxxflags when checking for predefined macros ebaaa4957e4c02cc9637a998eddae1d0acd74f83: MSVC: Take cxxflags into account when checking for predefined macros 9bfce7e889bcf7bcc47bf880e3ea25945ca7d0d7: Compile fixes Change-Id: I9de94ad038dfc5dc1987732e84b13fb4419c96f5 Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
* Removed module names from #include directives.Erik Verbruggen2012-02-151-6/+6
| | | | | | | | Getting the #include directives ready for Qt5. This includes the new-project wizards. Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* C++: Moved completion/highlighting into the model manager.Erik Verbruggen2012-02-081-1/+3
| | | | | | | | | | This way the editor does not need to know all the details of instantiating or maintaining classes for highlighting and/or completion, it can just ask the model manager. The change also enables different highlighting- or completion-engines without changes to the cppeditor. Change-Id: I8000d9d9fe446b292defddb2295493cf77d0f14a Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
* Long live the king!hjk2012-01-261-1/+1
| | | | | Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* Use new static ICore interface.hjk2012-01-241-4/+0
| | | | | Change-Id: I9b690d9b150c8d162b15370f9f8986267c9128f1 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* all: s/info@qt.nokia.com/qt-info@nokia.com/hjk2011-11-031-2/+2
| | | | | Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* QmlJS: Fix infinite loop when scanning for exported C++ types.Christian Kamm2011-08-311-0/+3
| | | | | | | | | | Setting extra diagnostics would call updateDocument which would in turn trigger another scan. Change-Id: I3810a380cdf716a12767d94ff82dc30f8ae3954d Reviewed-on: http://codereview.qt.nokia.com/3917 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com> Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
* C++/QmlJS: Warnings if C++ based QML type detection fails.Christian Kamm2011-08-301-0/+10
| | | | | | Change-Id: I1e206e09c4068cc541978ee148f9ed8c4138c249 Reviewed-on: http://codereview.qt.nokia.com/3579 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
* QmlJS: Move the exported-C++-type detection out of C++ code.Christian Kamm2011-08-241-2/+0
| | | | | | | | | | | | It now lives in qmljstools/qmljsfindexportedcpptypes, all in one place. Also ensures that the source code is available when a file is being scanned for QML exports. This will enable checking comments for annotations about the URI a plugin is usually imported as. Change-Id: I1da36d0678e0a8d34b171dbe0f6b5690d89eb18b Reviewed-on: http://codereview.qt.nokia.com/3392 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
* Emit a signal when parsing is finished after updating source files.Erik Verbruggen2011-07-051-0/+5
| | | | | | | Change-Id: I8a8878c420c0f8d24db16d606aace42519ac3047 Reviewed-on: http://codereview.qt.nokia.com/1151 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Bill King <bill.king@nokia.com>
* C++ editor: Remove scanning/caching of includesLeandro Melo2011-05-181-16/+0
| | | | | | | With the completion now in a separate thread this should no longer be necessary. Reviewed-by: Roberto Raggi
* Fix/add copyright headersTobias Hunger2011-05-061-1/+1
| | | | Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
* Update license.hjk2011-04-131-14/+13
|
* texteditor: merge ITextEditable into ITextEditorhjk2011-02-221-2/+2
| | | | | | | | rename BastTextEditor->BaseTextEditorWidget, BaseTextEditorEditable->BaseTextEditor rename BaseTextEditor{,Widget} subclasses rename editableInterface->editorInterface rename createEditableInterface->createEditor minor cleanups after renamings
* It's 2011 now.con2011-01-121-1/+1
| | | | Reviewed-by: hjk
* Qml/C++: Fix performance problem with type extraction.Christian Kamm2011-01-061-1/+1
| | | | | | By moving the offending code into a background thread. Reviewed-by: Erik Verbruggen
* QmlJS: Add refcounting to FakeMetaObjects.Christian Kamm2011-01-061-1/+1
| | | | | | | | | | Previously they were leaked when a qmldump or the C++ exported QML type list updated. Just deleting the previous FakeMetaObjects is not an option, as they might still be used in a QmlObjectValue owned by an Engine. Reviewed-by: Erik Verbruggen
* Qml-C++: Find C++ qmlRegisterType calls and populate QML code model.Christian Kamm2011-01-041-0/+2
| | | | Reviewed-by: Erik Verbruggen
* C++: Move the ModelManagerInterface from CppTools to CPlusPlus.Christian Kamm2011-01-041-4/+8
|
* License headers.con2010-12-171-7/+11
|
* Quickfix: Convert underscore notation to camel case.ck2010-07-201-1/+2
| | | | Reviewed-by: Roberto Raggi
* Fix autotests so that they're compiling again.Bill King2010-07-061-1/+1
|
* Removed the TokenCache.Erik Verbruggen2010-07-021-2/+0
|
* Introduced token caching to prevent repetetive tokenizing.Erik Verbruggen2010-06-141-0/+2
| | | | | | Also removed TokenUnderCursor as it's functionality is in the token cache. Reviewed-by: ckamm
* Refactored the quickfix engine.Roberto Raggi2010-06-071-1/+1
|
* Revert "Introduced a token cache for the C++ editor."Erik Verbruggen2010-06-041-2/+0
| | | | This reverts commit c2393df02332618c8cf6159d9d6f6a40041ced89.
* Introduced a token cache for the C++ editor.Erik Verbruggen2010-06-041-0/+2
| | | | | This should speed things up a bit, because before, the line was tokenized at least 3 times.
* Ensure we keep the context around for as long as it is needed.Roberto Raggi2010-05-311-5/+3
|
* Cache the resolved file names.Roberto Raggi2010-05-101-0/+2
|
* Get rid of ugly using namespace directives.Roberto Raggi2010-05-051-10/+9
|
* Add private frameworks when a framework is added.Erik Verbruggen2010-04-131-0/+1
| | | | | Task-number: QTCREATORBUG-1102 Reviewed-by: Roberto Raggi
* Put the DependencyTable calculation into the QFuture.Erik Verbruggen2010-03-171-1/+0
| | | | Done-with: Roberto Raggi