summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QbsProjectManager: Fix SOFT ASSERT: "future.isFinished()"Nikolai Kosjar2016-05-031-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | ...in file qbsproject.cpp, line 940. The assert can be triggered with e.g.: 1. Load a bigger qbs project, e.g. qtcreator.qbs. 2. Trigger project build as soon as possible. 3. Cancel the "Parsing C/C++" operation. 4. Wait until the build finished and the assert occurs. This happens because CppModelManager::updateProjectInfo() since commit 536ccc8a8742b38e75547d98ce457b0b90af3ee7 CppTools: Fix incompletely indexed project will check whether the previous indexer run was canceled or not. If it was canceled, it will trigger a full-reindexing of the project. Updating the compiler call data is a special case and it should never trigger an indexing operation, so introduce a dedicated update function for this case. Change-Id: I456945ccf2bf697aaeada572ed87f3acb21a5eaf Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CppTools: Fix incompletely indexed projectNikolai Kosjar2016-04-251-3/+30
| | | | | | | | | | | | | | | | Use case to reproduce: 1. Open some bigger project, e.g. qtcreator.pro 2. As soon as "Parsing C/C++ files" is reported, add a character to qmake's additional arguments in project mode (indexing should not be finished at this point). 3. The indexing gets canceled. ==> ...but reindexing is not triggered. Fix by checking whether the future was canceled. Task-number: QTCREATORBUG-16134 Change-Id: I520c6a64a6adc1cb04cafb5e0aa56c8bf41d7b14 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CppTools: fix metatype registration macro usageNikita Baryshnikov2016-03-241-2/+0
| | | | | | | | in places where we do not need it Change-Id: Ibf35f8144da859fffa3e0a7b6bb262284ec2292a Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* Merge remote-tracking branch 'origin/3.6'Eike Ziller2016-02-241-13/+1
|\ | | | | | | | | | | | | | | Conflicts: src/shared/qbs tests/manual/proparser/main.cpp Change-Id: I13654bf10c14eb6b1d6805fe86b67ac73b2e4d75
| * CppTools: Do not clear project state on session unloadNikolai Kosjar2016-02-121-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Affected functionality was, among others: * Getting the correct project part when opening a file * Fallback project part (merged defines/includes) not up to date * Fallback for "Switch Header/Source" not up to date In the early days sessions switching was probably implemented by "close all projects of session X, open all projects of session Y". That's not the case anymore today. Change-Id: I4c6a80e2eb219615d3ea6fcf07be7c05072c8832 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* | CppTools: Use a shared thread poolOrgad Shaneh2016-02-191-0/+7
| | | | | | | | | | | | | | | | Without this, too many threads are spawned, and loading a project takes forever. Change-Id: I3c22557ddd7bfb0c70f7b089c276432e3b003097 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
* | Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-17/+12
| | | | | | | | | | | | | | * Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* | CppTools: Move ProjectPart in its own header fileMarco Bubke2016-01-131-7/+7
| | | | | | | | | | | | | | | | Also extracting inline HeaderPath class and change projects list in vector because the size is larger than a pointer. Change-Id: I885fdff3fe9bccc877634d1615249755f5b674fd Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* | Clang: Activate code model automatically if plugin is loadedNikolai Kosjar2015-12-161-51/+5
| | | | | | | | | | | | | | This removes also the need to close editor documents. Change-Id: I96c68105bceb37841053f3dbd8a264e059a02cb8 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* | CppTools: Predefine __func__ and friendsNikolai Kosjar2015-12-151-0/+6
|/ | | | | | | | ...so the built-in parser can handle them. Change-Id: Iff69638f8939c3c4dced99699a3357dd94b23c71 Task-number: QTCREATORBUG-15431 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Clang: Prioritize current and visible translation unitsMarco Bubke2015-12-011-1/+1
| | | | | | | | | | We reparse first the current and then the visible translation units before we reparse all other units. The signals connections are queued to wait for the visible editor update. Change-Id: I5e2b8bc80568450268ca24e26720b3f5af640995 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* Clang: Remove per-mimetype settingsNikolai Kosjar2015-11-161-96/+40
| | | | | | | | | | Related to commit c47079f97f7d42db0c581525a2ce6fddbc0995f2 Clang: Activate the code model with a check box Change-Id: Ief11768ba0dd27788032e2dd3ad9b7ae39a8f52b Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* CppTools: Fix potential race conditionNikolai Kosjar2015-11-091-6/+12
| | | | | | | | | | | ...when acessing m_headerPaths, m_projectFiles or m_definedMacros from different threads. ensureUpdated() locked the mutex before writing the variables, but reading them happened with an unlocked mutex. Change-Id: I4951fd58f1939e4e50534a018dd600004789668e Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Clang: Provide the language option to the backendNikolai Kosjar2015-11-061-0/+5
| | | | | | | | | Provide the language option (e.g. "-x c++-header") when registering a translation unit for the editor. Task-number: QTCREATORBUG-14787 Change-Id: Ie06f9fdab302f1b21ba72cdb65b6aabf9f7bc04c Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* CppTools: Fix dead lock on project unloadingNikolai Kosjar2015-10-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | ...with the clang code model. In updateProjectInfo() we lock the project mutex and emit a signal. However, the correspondig slot in the clang code model will call back into a function that needs to lock the mutex, too: CppTools::CppModelManager::workingCopy // dead locks here CppTools::BaseEditorDocumentParser::InMemoryInfo::InMemoryInfo ClangCodeModel::Internal::ClangEditorDocumentProcessor::run ClangCodeModel::Internal::ModelManagerSupportClang::unregisterTranslationUnitsWithProjectParts ClangCodeModel::Internal::ModelManagerSupportClang::onProjectPartsRemoved ... CppTools::CppModelManager::projectPartsRemoved CppTools::CppModelManager::updateProjectInfo // emits here Fixed by emitting the signal after releasing the mutex. Change-Id: Id3f3cd22b0604f343ada56ea13c26f0dc1a75bd6 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* CppTools: Make FollowSymbol respect projectsNikolai Kosjar2015-10-121-0/+2
| | | | | | | | | | | | | | | | | | | | Finding the class definition for a forward declaration or finding the function definition from its declaration is mostly determined by the file iteration order. Documents with the most common path prefix are checked first. This works fine as long as the files of your project have a common ancestor. If that's not the case, FollowSymbol might take you to the definition within another project. Fix that issue by considering the project part id when constructing the file iteration order. Since the cached file iteration order now depends on the projects, ensure to clear it if projects are added, changed or removed. Task-number: QTCREATORBUG-15116 Change-Id: I529166bac363959c9fee0b946747fd0370a88809 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* CppEditor: Move static symbol finder instance to CppToolsNikolai Kosjar2015-10-121-0/+8
| | | | | | | | | ...to it can be reused by other clients more easily. Also, in a follow-up change it will have a project part dependency that can be cleared inside the CppModelManager more easily. Change-Id: Ic9f2ce5212a94fd05ab0571e9ad99d0a25f5bc5c Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Don't put QString in static attributesAleix Pol2015-10-091-1/+1
| | | | | | | | | | It crashed in some places on our code-base due to the so-called "static initialization order fiasco". As a solution, it turns the variable into a function. This shouldn't have a penalty due to QStringLiteral. Change-Id: I9f8a955afdff878dc2f0db16fec861d81250c243 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Fix changing "#include" lines after file renamingDaniel Teske2015-10-061-1/+1
| | | | | | | | Didn't work if there was any folded text before the #include. Change-Id: I8f16205f06bfaa8b8541401a9ebd5995c15b2227 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* CppTools: Add CppModelManager::isManagedByIdMarco Bubke2015-08-311-0/+8
| | | | | Change-Id: Ica1a33b2619f64746b8671bff2856503775a40bf Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* CppTools: Fix removedProjectParts()Nikolai Kosjar2015-07-201-9/+8
| | | | | | | It compared pointers, not ids. Change-Id: Ic77c64e452f8abfe9a35b74591f0f3baeebcf7f0 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* CppTools: Use project part ids instead of file pathsNikolai Kosjar2015-07-201-18/+18
| | | | | | | | File paths are not unique since e.g. each qbs group in a file is mapped to a project part. Change-Id: I7df3f224dd23046b869f2588b8a34eb26cfc0b1a Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* UiCodeModelSupport: Notify if content changesNikolai Kosjar2015-07-081-0/+11
| | | | | | | | | | | Needed for ClangCodeModel. If the content changes, we want to send it immediately to the codemodelbackend process. Change-Id: Iedf16930b494ccb5e91f1bc435db026067d98613 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* CppTools: Remove invalid QTC_CHECKNikolai Kosjar2015-06-241-2/+2
| | | | | | | | | | Quitting Qt Creator before the project was loaded from the project manager triggers the assert because the updateProjectInfo() call was not yet made by the project manager. Change-Id: I23c660971e48d007d1bae00ecf8ed5c2ad3d4071 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Clang: Use completion through backend processNikolai Kosjar2015-06-101-22/+149
| | | | | | | | | | | | | | | | This makes us independent of libclang crashes for completion. Re-parsing for highlighting still happens in the Qt Creator process. Run in verbose mode: qtc.clangcodemodel.ipc=true Run tests: -test "ClangCodeModel" Task-number: QTCREATORBUG-14108 Task-number: QTCREATORBUG-12819 Change-Id: Id3e95bd2afdb6508bbd1d35fddc69534a909b905 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* CppTools: Allow to limit the files to process by file sizeNikolai Kosjar2015-05-131-2/+26
| | | | | | | | ...with the environment variable QTC_CPP_FILE_SIZE_LIMIT_MB. Task-number: QTCREATORBUG-14390 Change-Id: Iaefaa1a3db023b58f9351b96e1b9e2139797e280 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* CppTools: Remove separate indexing revisionNikolai Kosjar2015-04-241-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | For indexing we used a custom revision that was updated on each modelManager BuiltinIndexingSupport::refreshSourceFiles() call. This could lead to rejection of updated documents triggered by refactoring actions, like for the following case: 1. Open a project containing a.h and a.cpp 2. Open a.cpp, insert some new lines, save and close the document 3. Open a.h and rename a function that is defined in a.cpp --> The refactoring action modifies a.h and a.cpp, so re-indexing of those is triggered. Since a.cpp has already a higher revision (step 2) than the updated document, the updated document is discarded. As a consequence find usages and follow symbol fails for the renamed function. Now the document call back provided to CppSourceProcessor is responsible for updating the document revision based on the latest revision in the global snapshot. Change-Id: I4dfa0a4d34991655acfa749109f00c47b0fbfdbe Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
* CppTools: Update project part structures consistentlyNikolai Kosjar2015-04-071-31/+29
| | | | | | | | | When the configuration (defines and includes dirs) did not change, we only updated the m_projectToProjectsInfo data structure, but not the others (m_projectFileToProjectPart, m_fileToProjectParts). Change-Id: I0ca235ea4bbe4556bd8b6d36897dedd6482f86a0 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* Clean exported headers of the CppTools plugin.Friedemann Kleint2015-03-051-0/+3
| | | | | Change-Id: I0144ac33e88980c431c54a6d69bbde28da4b1967 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* CppTools: Handle _Pragma() and __pragma()Nikolai Kosjar2015-02-271-1/+4
| | | | | | | | | These operators led to parse errors, most prominently in Q_OBJECT uses since this macro nowdays uses these operators. Task-number: QTCREATORBUG-13905 Change-Id: I65632820d02ca5c5ef0b98f5d969cdc516d7f5b0 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Clean exported headers of the TextEditor plugin.Friedemann Kleint2015-02-261-0/+2
| | | | | Change-Id: I1e7dd34ba5a51fb0b34d137dc03add4457b32ed1 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* C++: Use correct features for document parsingOrgad Shaneh2015-02-201-0/+1
| | | | | | Task-number: QTCREATORBUG-8007 Change-Id: Ic96aaa433442812a99bac9d16bb9124d66762e8c Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'Eike Ziller2015-02-121-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/libs/utils/tooltip/tipcontents.cpp src/libs/utils/tooltip/tipcontents.h src/plugins/android/androiddeployqtstep.cpp src/plugins/baremetal/baremetalconstants.h src/plugins/baremetal/baremetaldevice.cpp src/plugins/baremetal/baremetaldevice.h src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp src/plugins/baremetal/baremetaldeviceconfigurationwidget.h src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h src/plugins/baremetal/baremetalplugin.cpp src/plugins/baremetal/baremetalplugin.h src/plugins/baremetal/baremetalruncontrolfactory.cpp src/plugins/baremetal/baremetalruncontrolfactory.h src/plugins/cppeditor/cppcodemodelinspectordialog.cpp src/plugins/cppeditor/cppdoxygen_test.cpp src/plugins/cppeditor/cppdoxygen_test.h src/plugins/debugger/breakpointmarker.cpp src/plugins/debugger/debuggeritemmodel.cpp src/plugins/debugger/debuggeritemmodel.h src/plugins/debugger/loadcoredialog.cpp src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp src/plugins/projectexplorer/addnewmodel.cpp src/plugins/projectexplorer/addnewmodel.h src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp src/plugins/qmlprofiler/abstracttimelinemodel.cpp src/plugins/qmlprofiler/abstracttimelinemodel.h src/plugins/qmlprofiler/notesmodel.cpp src/plugins/qmlprofiler/qml/CategoryLabel.qml src/plugins/qmlprofiler/qml/MainView.qml src/plugins/qmlprofiler/qml/Overview.js src/plugins/qmlprofiler/qml/Overview.qml src/plugins/qmlprofiler/qml/TimeDisplay.qml src/plugins/qmlprofiler/qml/TimeMarks.qml src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp src/plugins/qmlprofiler/sortedtimelinemodel.cpp src/plugins/qmlprofiler/sortedtimelinemodel.h src/plugins/qmlprofiler/timelinemodelaggregator.cpp src/plugins/qmlprofiler/timelinemodelaggregator.h src/plugins/qmlprofiler/timelinerenderer.cpp src/plugins/qmlprofiler/timelinerenderer.h src/plugins/qmlprojectmanager/QmlProjectManager.json.in src/plugins/texteditor/findinfiles.cpp src/plugins/vcsbase/vcsconfigurationpage.cpp src/shared/qbs src/shared/scriptwrapper/interface_wrap_helpers.h src/shared/scriptwrapper/wrap_helpers.h tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp tests/system/suite_debugger/tst_debug_empty_main/test.py tests/system/suite_debugger/tst_qml_js_console/test.py tests/system/suite_debugger/tst_qml_locals/test.py Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
| * Update LicenseEike Ziller2015-01-161-6/+6
| | | | | | | | | | Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | C++: Remove unneeded qualificationsOrgad Shaneh2015-02-041-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly done using the following ruby script: Dir.glob('**/*.cpp').each { |file| next if file =~ %r{src/shared/qbs|/qmljs/} s = File.read(file) s.scan(/^using namespace (.*);$/) { ns = $1 t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m| before = $1 char = $2 if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/ m else before + char end } if t != s puts file File.open(file, 'w').write(t) end } } Change-Id: I6fbe13ddc1485efe95c3156097bf41d90c0febac Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* | CppTools: Rename EditorDocumentHandle to CppEditorDocumentHandleNikolai Kosjar2015-01-141-30/+35
| | | | | | | | | | | | | | | | ...and related functions. For clarity in client code. Change-Id: Icad6fc7b1eee2ce46a2eba8435359837a23409c8 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | Core: Use FileName for file path in IDocumentOrgad Shaneh2015-01-121-3/+4
| | | | | | | | | | Change-Id: I85f7398aee59d0d36f0e5c3bf88ff3c96002e394 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
* | Merge remote-tracking branch 'origin/3.3'Eike Ziller2015-01-081-2/+1
|\ \ | |/ | | | | | | | | | | Conflicts: src/plugins/cppeditor/cppdocumentationcommenthelper.cpp Change-Id: I2cf25eba1de149765a6c44ad354d606ce9de512d
| * CppTools: Do not append '/' to fallback header pathsNikolai Kosjar2014-12-151-2/+1
| | | | | | | | | | | | | | | | | | ...since this will confuse the completer. Task-number: QTCREATORBUG-13567 Change-Id: I4172d433f23f3907690d4c00f92fadb68fa354e8 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
* | CppTools: Create ProjectInfos explicitlyNikolai Kosjar2014-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | ...instead of going through CppModelManager::projectInfo(). Now CppModelManager::projectInfo() returns an invalid ProjectInfo in case there is no valid data for the given Project. Change-Id: I11908bf2ddf865b1d3d71ff176eaf4139292b21c Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | C++: handle case-insensitive file names for project files.Erik Verbruggen2014-12-181-6/+8
| | | | | | | | | | | | | | | | ... by keying on Utils::FileName. Task-number: QTCREATORBUG-12390 Change-Id: Ib99eefcf3440d4383f624a614a3093f427efffbd Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* | C++: handle case-insensitive file names in the CPlusPlus::SnapshotErik Verbruggen2014-12-171-10/+11
|/ | | | | | | | ... by keying on Utils::FileName Task-number: QTCREATORBUG-12390 Change-Id: Ia98afb5a9160a7fd9225a2f9e02539ff3c35ae86 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* CppTools: Remove QTC_ASSERT in CppModelManager::editorDocument()Nikolai Kosjar2014-12-031-11/+6
| | | | | | | | | | | | | | This fixes SOFT ASSERT: "!filePath.isEmpty()" in file /home/nik/dev/creator/creator-ut/src/plugins/cpptools/cppmodelmanager.cpp, line 467 which can be triggered by e.g. a "git show" document (onCurrentEditorChanged does not check for an empty file path). Change-Id: If4ed8e552069b290cb4ac93da52427b7ed2b91e8 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
* CppTools: Update document on activationNikolai Kosjar2014-12-031-10/+38
| | | | | | | | | | | | | | | | | | | | | | ...if the project was updated in the meanwhile. If a project is updated mark invisible editor documents dirty and update them if they get focus. This also fixes document highlighting when restoring a session for documents that the user "switched away" before the project info is pushed to CppModelManager. This completes CppTools: Update visible documents on project update commit c2eb91e053332d010adc8b9e7918d9de28ef4c90 which only takes care of visible documents. Task-number: QTCREATORBUG-13270 Change-Id: Id445e7f509deac5d03194aecc54ce4629b7926ce Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* CppTools: Remove QTC_ASSERTNikolai Kosjar2014-11-241-2/+2
| | | | | | | | A DiffEditorDocument has an empty file path. Change-Id: If097497514afa82b1ed220a37cae410f4a81aa9a Task-number: QTCREATORBUG-13489 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* CppTools: Add API to set/query compiler call dataNikolai Kosjar2014-11-071-16/+8
| | | | | | | ...and make some comparison functions public. Change-Id: If4c9a95031dece32073ce111484a890230190688 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
* CppTools: restore C++ diagnostics messages.Francois Ferrand2014-10-231-0/+2
| | | | | | | The messages were computed, but not added to the document. Change-Id: Ibeea802cf9f291ad14b2fe2e9d2a285c927a4449 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* CppTools: Remove last traces of CppEditorSupportNikolai Kosjar2014-10-211-1/+1
| | | | | | | | | | Superseded by commit commit 89bd4ee3c4e4be4b39dee9ef12e798d21be3d2cb C++: Base parsing on editor document instead of widget Change-Id: Iffa6e47bddc0fa3de1eab9b65fe8f711520d2d7f Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* CppTools: Use mutex when accessing m_fileToProjectPartsNikolai Kosjar2014-10-151-2/+6
| | | | | | | projectPartFromDependencies() is also called from another thread. Change-Id: Ic1319569d1b9b934a1be0916caa2e5bd68dce4fb Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* CppTools: Update visible documents on project updateNikolai Kosjar2014-10-151-1/+25
| | | | | | | | | | | | | | | | | | With asynchron project managers, creating a new project from a wizard or re-opening a session will first open the editor documents and then provide the project information later (it's the other way around with synchronous project managers). This sequence leave the documents with various error diagnostics behind. Fixed by re-triggering the re-parsing. This change does not fix QTCREATORBUG-11606 yet. Though it will trigger a reparse with the right includes, clang still reports 'file not found'. Will be addressed by a follow-up patch. Task-number: QTCREATORBUG-11606 Change-Id: Ib5d251e05accf4268f9b36decc5224b2c75f610c Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>