summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename IFile->IDocument and FileManager->DocumentManagerEike Ziller2012-02-201-2/+2
| | | | | | | | And adapt the other API respectively. Change-Id: I1e04e555409be09242db6890f9e013396f83aeed Reviewed-by: Bill King <bill.king@nokia.com> Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* Supply c++11 flags and per-project info to c++ code model.Erik Verbruggen2012-02-161-5/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-9/+9
| | | | | | | | Getting the #include directives ready for Qt5. This includes the new-project wizards. Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* SessionManager::loadSession inline impl functions and rewriteDaniel Teske2012-02-131-1/+1
| | | | | | | | | | | The order of actions and thus the state at which the signals are emitted has changed. The aboutToUnloadSession comes before the actual saving now. Also the aboutToLoadSession is after restoring values but before restoring projects and editors. Change-Id: I3eae66cffae970f00535d8d6e2bb11a6ca645456 Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
* Move QtConcurrent library into Utils.Friedemann Kleint2012-02-091-1/+1
| | | | | | | | It causes a conflict with the new QtConcurrent library of Qt 5 and is quite small. Change-Id: Ib97ab6daf8f67a88300cf03f044ba3593a4cd270 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* C++: Moved completion/highlighting into the model manager.Erik Verbruggen2012-02-081-0/+15
| | | | | | | | | | 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>
* Remove checking for a null sessionmanager.Daniel Teske2012-01-311-2/+0
| | | | | | | That can't happen. Change-Id: I05293e96e7a716fbaf5fd03aa182c723c9858a03 Reviewed-by: Tobias Hunger <tobias.hunger@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-9/+8
| | | | | Change-Id: I9b690d9b150c8d162b15370f9f8986267c9128f1 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* C++: Rename source/setSource to utf8Source/setUtf8SourceLeandro Melo2012-01-131-1/+1
| | | | | | | | Continuinng a previous commit... This is in order to make the interface clearer. Change-Id: Ic1b05217f878578bc84a064927507b75981c47d6 Reviewed-by: Roberto Raggi <roberto.raggi@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>
* C++: removed pre-defined macros that should come from windows.hErik Verbruggen2011-10-261-3/+0
| | | | | | Task-number: QTCREATORBUG-5734 Change-Id: Ie4aa437616955fd65fcc6adbfc0e9f115caf7e1c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Added support for Microsoft-specific inline keywordsThorbjørn Lindeijer2011-09-081-1/+3
| | | | | | | | | | | __inline is equivalent to inline. __forceinline is used to override the cost/benefit analysis. Change-Id: Ifc7c94c1798f98c553ffa979a722ede9df11b3f0 Merge-request: 2206 Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com> Reviewed-on: http://codereview.qt-project.org/4416 Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
* C++: Add __try, __except, and __finally to configurationLeandro Melo2011-09-061-1/+4
| | | | | | | | | | This is not really a direct mapping to the Microsoft specifc ones, but I guess defining such macros is an acceptable solution. Change-Id: I17a9414364ef664f2e8afa7ececc6a87f663049e Reviewed-on: http://codereview.qt.nokia.com/4277 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
* C++: Normalize line ending for preprocessingLeandro Melo2011-09-061-1/+1
| | | | | | | | | | There is logic in the preprocessor that assumes a normalized line ending. Other patches have already fixed the issue in other parts. Change-Id: Iac262da361b6528cc9466a6c87e83da95af9ea04 Reviewed-on: http://codereview.qt.nokia.com/4252 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
* QmlJS: Fix infinite loop when scanning for exported C++ types.Christian Kamm2011-08-311-7/+21
| | | | | | | | | | 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-1/+32
| | | | | | Change-Id: I1e206e09c4068cc541978ee148f9ed8c4138c249 Reviewed-on: http://codereview.qt.nokia.com/3579 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
* C++ editor: Prefer to use extra selections to find diagnostics.Christian Kamm2011-08-251-0/+1
| | | | | | Change-Id: I5f1c6e29c8386018cfd4d45d8ee63fc3e24311f6 Reviewed-on: http://codereview.qt.nokia.com/3484 Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
* C++: Don't strip comments from preprocessed source code.Christian Kamm2011-08-251-1/+3
| | | | | | Change-Id: I3a4817d36b9c724abca504c42914a73f97ab34c7 Reviewed-on: http://codereview.qt.nokia.com/3480 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* QmlJS: Move the exported-C++-type detection out of C++ code.Christian Kamm2011-08-241-166/+3
| | | | | | | | | | | | 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/+6
| | | | | | | 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>
* QmlJS: Read the 'revision' property generated by qmldump.Christian Kamm2011-05-301-1/+3
| | | | | | Change-Id: Ia31b1845b1e1e5aabc347dc115e580c72e36f4e3 Reviewed-on: http://codereview.qt.nokia.com/200 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* C++ editor: Remove scanning/caching of includesLeandro Melo2011-05-181-145/+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-5/+5
| | | | | | | | rename BastTextEditor->BaseTextEditorWidget, BaseTextEditorEditable->BaseTextEditor rename BaseTextEditor{,Widget} subclasses rename editableInterface->editorInterface rename createEditableInterface->createEditor minor cleanups after renamings
* QmlJS: Rework FakeMetaObjects to no longer contain pointers.Christian Kamm2011-02-101-1/+0
| | | | | | Having a duplicate prototype chain - once in FakeMetaObjects and once in QmlObjectValues was unnecessary. Now FMOs don't contain references which may allow other simplifications.
* Header cleanup in src, specify module name.Friedemann Kleint2011-01-241-3/+3
|
* Limit depth of include scanning to avoid performance problems.con2011-01-121-4/+12
| | | | Reviewed-by: Thorbjørn Lindeijer
* It's 2011 now.con2011-01-121-1/+1
| | | | Reviewed-by: hjk
* Qml/C++: Fix performance problem with type extraction.Christian Kamm2011-01-061-20/+21
| | | | | | By moving the offending code into a background thread. Reviewed-by: Erik Verbruggen
* QmlJS: Add refcounting to FakeMetaObjects.Christian Kamm2011-01-061-8/+8
| | | | | | | | | | 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++: Disable qmlRegisterType exposing until performance is better.Christian Kamm2011-01-051-1/+2
|
* Qml-C++: Find C++ qmlRegisterType calls and populate QML code model.Christian Kamm2011-01-041-1/+161
| | | | Reviewed-by: Erik Verbruggen
* C++: Move the ModelManagerInterface from CppTools to CPlusPlus.Christian Kamm2011-01-041-5/+6
|
* License headers.con2010-12-171-7/+11
|
* Do not scan "/" for include filesAlessandro Portale2010-10-031-0/+3
| | | | | | | | | | | | | The scanning phase was in some cases insanely long. Reason was that Creator feeds wrong paths to the CppModelManager, for example "/". The scanning phase did what it was told to: scan that whole Harddrive. This patch makes sure that the scanning is not done for "/" Done-With: Roberto
* No Samba while including filesAlessandro Portale2010-10-031-4/+10
| | | | | | | | | | | | | | | | | | | | | | | (The other Samba is meant. The slow one, not the nice one.) Creator manages to feed the CppModelManager with all kinds of wrong include paths. That is usually not a big issue as long as that path is not a simple "/". CppManager appended a separator to all incoming include paths. And when the above "/" was passed in, we had (on my machine) 7 seconds of Samba Network lookup, multiple times during a parse. And the sad thing was that my dear colleagues in the Intranet did not even have the searched-for header files on their shared folders. This patch makes sure that a separator is only appended if the path does not already end with one. The real core of the issue (wrong include paths from Creator) still needs to be fixed. Done-with: Roberto Raggi
* Get rid of the numeric literals.Roberto Raggi2010-09-021-0/+3
|
* Get rid of the old Semantic pass.Roberto Raggi2010-08-131-1/+0
|
* Quickfix: Convert underscore notation to camel case.ck2010-07-201-2/+3
| | | | Reviewed-by: Roberto Raggi
* Moved CheckUndefinedSymbols to the cpptools plug-in.Roberto Raggi2010-07-051-1/+0
|
* Removed the TokenCache.Erik Verbruggen2010-07-021-5/+0
|
* Core::Context: compile hot fix for Windows.hjk2010-06-251-6/+7
|
* Introduced token caching to prevent repetetive tokenizing.Erik Verbruggen2010-06-141-0/+3
| | | | | | Also removed TokenUnderCursor as it's functionality is in the token cache. Reviewed-by: ckamm
* Revert "Introduced a token cache for the C++ editor."Erik Verbruggen2010-06-041-3/+0
| | | | This reverts commit c2393df02332618c8cf6159d9d6f6a40041ced89.
* Introduced a token cache for the C++ editor.Erik Verbruggen2010-06-041-0/+3
| | | | | 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-8/+6
|
* Removed DeprecatedLookupContext.Roberto Raggi2010-05-261-2/+0
|
* Removed the CppBindings.Roberto Raggi2010-05-251-2/+1
|