summaryrefslogtreecommitdiff
path: root/src/plugins/clangcodemodel/clangcodemodelplugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Clang: Fix menu button text capitalizationIvan Donchevskii2018-08-201-2/+2
| | | | | Change-Id: I771cbaebbb801665e96cc3d6ea337ebe15872803 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Clang: Fix possible nullptr accessChristian Stenger2018-08-141-1/+1
| | | | | Change-Id: I8643912f02d127286b0a0ededbaf7d4f23347a5f Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Add button to generate compile_commands.jsonIvan Donchevskii2018-08-131-4/+95
| | | | | Change-Id: Iaabdcfc8d1b3463c3f6e5ce47536f9c52556eac0 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* Clang: Show current editor diagnostics in issues paneNikolai Kosjar2018-04-161-0/+4
| | | | | | | | | | | | | | | | | This helps to deal with many diagnostics. Error diagnostics precede warning diagnostis to have them on top. If no CppEditor is active, no diagnostics are displayed. Previously one had to scroll the document up and down to locate the diagnostics. Now they are in a list and can be easily navigated with F6/Shift-F6. Also, at least for some diagnostics "Get Help Online" from the context menu seems to provide useful results. For example, triggering the action on clang tidy issues will open the web browser with some good hits explaining the issues. Change-Id: Idabe30b0961d893bee39ccee431e92aeeda1cc26 Reviewed-by: David Schulz <david.schulz@qt.io>
* Editor: Simplify text marksDavid Schulz2017-06-221-15/+0
| | | | | | | | | Moving defaultToolTip and color from TextMarkRegistry to TextMark. Allowing every instance of a TextMark object to define these information. Change-Id: Iec1794372cf902b34d343402074e3999e7f9faf7 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ClangCodeModel: Fix compileChristian Stenger2017-02-281-1/+1
| | | | | | Change-Id: I648ebd8d898cab3bb121eabf96f2de3d4b28842c Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Clang: Fix release buildNikolai Kosjar2017-02-281-0/+2
| | | | | | | | | * The QtTest include is not available in release builds. * Make the batch file mode only available in debug/test builds as that one uses test utilities that are only available in debug builds. Change-Id: I441c51ec00b14b81a396ad0199882cf46fff10b0 Reviewed-by: David Schulz <david.schulz@qt.io>
* Clang: Add possibility to "pgo-train" libclang with a batch fileNikolai Kosjar2017-02-271-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to start Qt Creator in batch processing mode: $ export QTC_CLANG_BATCH=/path/to/file $ export QT_LOGGING_RULES=qtc.clangcodemodel.batch=true $ ./qtcreator -load ClangCodeModel The batch file will be executed and Qt Creator will exit. Advanced logging output can be activated as stated above. Note that it is required that the project was already configured/set up properly with the used settingspath, otherwise the wrong configuration will be taken or a pop-up dialog will block the execution. A small example follows that covers all the understood and so far needed batch file commands in order to train libclang for profile guided optimization. ${PWD} expands to the directory of the batch file. openProject "${PWD}/calendarwidget.pro" # Initial parsing openDocument "${PWD}/window.cpp" closeAllDocuments openDocument "${PWD}/window.cpp" # Reparse setCursor 478 1 insertText " " insertText " " insertText " " # Completion complete complete complete # Member completion insertText "comboBox->" complete complete complete # Wait in order to inspect the result processEvents 3000 Change-Id: I7dc5dddc6752272ecc2fb4f30497b17cee3f9a9f Reviewed-by: hjk <hjk@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
* Revert "Clang: Add possibility to "pgo-train" libclang with a batch file"hjk2017-02-241-18/+2
| | | | | | | | | | | | | This reverts commit 07f4ae622770cc99782edc8bf14d2a385bf17778, which broke compilation clangbatchfileprocessor.cpp:170:27: error: ambiguous overload for 'operator==' (operand types are 'const QChar' and 'char') and only worked in QT_TEST=1 cases. Change-Id: I089427359958221882cb4e4369c4b88d71779acf Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Clang: Add possibility to "pgo-train" libclang with a batch fileNikolai Kosjar2017-02-241-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to start Qt Creator in batch processing mode: $ export QTC_CLANG_BATCH=/path/to/file $ export QT_LOGGING_RULES=qtc.clangcodemodel.batch=true $ ./qtcreator -load ClangCodeModel The batch file will be executed and Qt Creator will exit. Advanced logging output can be activated as stated above. Note that it is required that the project was already configured/set up properly with the used settingspath, otherwise the wrong configuration will be taken or a pop-up dialog will block the execution. A small example follows that covers all the understood and so far needed batch file commands in order to train libclang for profile guided optimization. ${PWD} expands to the directory of the batch file. openProject "${PWD}/calendarwidget.pro" # Initial parsing openDocument "${PWD}/window.cpp" closeAllDocuments openDocument "${PWD}/window.cpp" # Reparse setCursor 478 1 insertText " " insertText " " insertText " " # Completion complete complete complete # Member completion insertText "comboBox->" complete complete complete # Wait in order to inspect the result processEvents 3000 Change-Id: Ib30526036f999e530f0c01d42a196a1e311e2c4c Reviewed-by: David Schulz <david.schulz@qt.io>
* Add default tool tips to text marksDavid Schulz2016-08-221-0/+6
| | | | | | | | | The default tool tip should describe the general purpose of the mark which is displayed in the UI when no tool tip is explicitly set for the text mark. Change-Id: I27aff26cf0f3458d454428e805a9b323191dc393 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* ProjectExplorer: Rework mode main windowhjk2016-07-261-1/+3
| | | | | | | | | | | | | | | | | | The existing solution with the special-style horizontal kit selector comes from a time when there was typically one, at most four targets. Today's setup can easily reach half a dozen targets with several toolchain versions each and can't be sensibly handled with the overflowing horizontal bar. This here replaces the horizontal kit selector bar as well as the top level project "tab bar" with a normal tree view. All targets are visible (but possibly disabled) at once, and can be enabled/disabled using the context menu on the tree items. Change-Id: I1ce7401ca96109bf34bc8c0ae19d265e5845aa88 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Clang: Introduce warning configuration per projectNikolai Kosjar2016-03-011-0/+15
| | | | | | Change-Id: I5b9a330274e6f72b0786259eb25aa454877d4eef Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Marco Bubke <marco.bubke@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>
* Clang: Activate code model automatically if plugin is loadedNikolai Kosjar2015-12-161-3/+1
| | | | | | | This removes also the need to close editor documents. Change-Id: I96c68105bceb37841053f3dbd8a264e059a02cb8 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Clang: Remove left-over project settingsNikolai Kosjar2015-12-091-12/+0
| | | | | Change-Id: I45a667c0bdd767697766ebe82b65b61253c77f56 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Clang: Use "clang" prefix plugin filesNikolai Kosjar2015-11-301-1/+1
| | | | | | | ...for consistency and to avoid future file name clashes. Change-Id: If595c8debfa1ceb01a1bb0ed34649fa513660503 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Clang: Remove PchManagerNikolai Kosjar2015-11-301-32/+1
| | | | | | | | ...which is the last dependency to libclang from the plugin. Change-Id: I173ee7e9621912ec88706b4cf62db2b1dbcf7610 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* Clang: Remove dead codeNikolai Kosjar2015-11-301-9/+25
| | | | | Change-Id: Ia36e96424580d9b34000cf4a9b38eab98f9c449c Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Clang: Integrate highlighting results from backendMarco Bubke2015-11-261-5/+0
| | | | | Change-Id: I2c3fb69aabfe075bde76d63eafc2ca370f17493c Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Clang: Remove per-mimetype settingsNikolai Kosjar2015-11-161-1/+1
| | | | | | | | | | Related to commit c47079f97f7d42db0c581525a2ce6fddbc0995f2 Clang: Activate the code model with a check box Change-Id: Ief11768ba0dd27788032e2dd3ad9b7ae39a8f52b Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Clang: Speed up requesting diagnosticsNikolai Kosjar2015-11-061-0/+5
| | | | | | | | | Register the translation unit and request diagnostics from the clangbackend as soon as the project part is determined. There is no reason to wait until the parser is finished for the highlighter. Change-Id: Iebccbf59ebd205389462dcee97363746fb651bb2 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Clang: Set diagnostic colors for text editor scrollbarMarco Bubke2015-09-231-3/+5
| | | | | | | | The colors are different from issus colors to give the user a better impression. Change-Id: I0f9bdae8d96434512851460d4eef05e94280ee8e Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* Clang: Add diagnosticsMarco Bubke2015-08-311-0/+11
| | | | | | | | Diagnostics are now moved to the clang backend process. Fixits are supported too. Change-Id: I20faacf466bbf78dec479220c3d7b336a47bc453 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* Clang: Refactor ClangCompletionContextAnalyzerMarco Bubke2015-07-231-2/+0
| | | | | Change-Id: Ib42ddc672da8b068591129e2e0b9652d3e07ad58 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* Clang: Use completion through backend processNikolai Kosjar2015-06-101-3/+18
| | | | | | | | | | | | | | | | 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>
* 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>
* | Clang: Clean up ClangCodeModelPluginNikolai Kosjar2015-01-211-20/+15
|/ | | | | Change-Id: I4a5a91ff91cb0ec2f8eec647c45c42d8c8faa758 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Merge remote-tracking branch 'origin/3.2'Eike Ziller2014-10-141-7/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/libs/utils/ipaddresslineedit.cpp src/libs/utils/logging.h src/plugins/analyzerbase/AnalyzerBase.pluginspec.in src/plugins/android/Android.pluginspec.in src/plugins/android/androiddeploystep.cpp src/plugins/android/androiddeploystep.h src/plugins/android/androiddeploystepfactory.cpp src/plugins/android/androiddeploystepwidget.cpp src/plugins/android/androidpackagecreationfactory.cpp src/plugins/android/androidpackagecreationstep.cpp src/plugins/android/androidpackagecreationstep.h src/plugins/android/androidpackagecreationwidget.cpp src/plugins/android/androidpackagecreationwidget.h src/plugins/android/javafilewizard.cpp src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in src/plugins/baremetal/BareMetal.pluginspec.in src/plugins/bazaar/Bazaar.pluginspec.in src/plugins/beautifier/Beautifier.pluginspec.in src/plugins/bineditor/BinEditor.pluginspec.in src/plugins/bookmarks/Bookmarks.pluginspec.in src/plugins/clangcodemodel/ClangCodeModel.pluginspec.in src/plugins/clangcodemodel/clanghighlightingsupport.cpp src/plugins/clangcodemodel/clangsymbolsearcher.cpp src/plugins/classview/ClassView.pluginspec.in src/plugins/clearcase/ClearCase.pluginspec.in src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec.in src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp src/plugins/cmakeprojectmanager/cmakehighlighter.cpp src/plugins/coreplugin/Core.pluginspec.in src/plugins/cpaster/CodePaster.pluginspec.in src/plugins/cppeditor/CppEditor.pluginspec.in src/plugins/cppeditor/cppfilewizard.cpp src/plugins/cpptools/CppTools.pluginspec.in src/plugins/cpptools/cpphighlightingsupportinternal.cpp src/plugins/cpptools/cppmodelmanagerinterface.cpp src/plugins/cpptools/cppmodelmanagerinterface.h src/plugins/cvs/CVS.pluginspec.in src/plugins/debugger/Debugger.pluginspec.in src/plugins/designer/Designer.pluginspec.in src/plugins/diffeditor/DiffEditor.pluginspec.in src/plugins/emacskeys/EmacsKeys.pluginspec.in src/plugins/fakevim/FakeVim.pluginspec.in src/plugins/genericprojectmanager/GenericProjectManager.pluginspec.in src/plugins/git/Git.pluginspec.in src/plugins/git/gitorious/gitorious.cpp src/plugins/git/gitorious/gitorious.h src/plugins/git/gitorious/gitoriousclonewizard.cpp src/plugins/git/gitorious/gitorioushostwidget.cpp src/plugins/git/gitorious/gitorioushostwidget.h src/plugins/git/gitorious/gitorioushostwizardpage.cpp src/plugins/git/gitorious/gitoriousprojectwidget.cpp src/plugins/git/gitorious/gitoriousprojectwidget.h src/plugins/git/gitorious/gitoriousprojectwizardpage.cpp src/plugins/git/gitorious/gitoriousprojectwizardpage.h src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp src/plugins/git/gitorious/gitoriousrepositorywizardpage.h src/plugins/glsleditor/GLSLEditor.pluginspec.in src/plugins/glsleditor/glsleditorfactory.cpp src/plugins/glsleditor/glslfilewizard.cpp src/plugins/helloworld/HelloWorld.pluginspec.in src/plugins/help/Help.pluginspec.in src/plugins/imageviewer/ImageViewer.pluginspec.in src/plugins/ios/Ios.pluginspec.in src/plugins/macros/Macros.pluginspec.in src/plugins/mercurial/Mercurial.pluginspec.in src/plugins/perforce/Perforce.pluginspec.in src/plugins/projectexplorer/ProjectExplorer.pluginspec.in src/plugins/pythoneditor/PythonEditor.pluginspec.in src/plugins/pythoneditor/pythoneditorwidget.cpp src/plugins/pythoneditor/wizard/pythonfilewizard.cpp src/plugins/qbsprojectmanager/QbsProjectManager.pluginspec.in src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp src/plugins/qmakeprojectmanager/QmakeProjectManager.pluginspec.in src/plugins/qmakeprojectmanager/profileeditorfactory.cpp src/plugins/qmldesigner/QmlDesigner.pluginspec.in src/plugins/qmljseditor/QmlJSEditor.pluginspec.in src/plugins/qmljseditor/qmljseditorfactory.cpp src/plugins/qmljstools/QmlJSTools.pluginspec.in src/plugins/qmlprofiler/QmlProfiler.pluginspec.in src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec.in src/plugins/qnx/Qnx.pluginspec.in src/plugins/qtsupport/QtSupport.pluginspec.in src/plugins/remotelinux/RemoteLinux.pluginspec.in src/plugins/resourceeditor/ResourceEditor.pluginspec.in src/plugins/resourceeditor/resourcewizard.h src/plugins/subversion/Subversion.pluginspec.in src/plugins/tasklist/TaskList.pluginspec.in src/plugins/texteditor/TextEditor.pluginspec.in src/plugins/texteditor/basetexteditor_p.h src/plugins/texteditor/basetextmark.cpp src/plugins/texteditor/codeassist/basicproposalitemlistmodel.h src/plugins/texteditor/codeassist/defaultassistinterface.h src/plugins/texteditor/codeassist/iassistproposalitem.cpp src/plugins/texteditor/itexteditor.cpp src/plugins/texteditor/itexteditor.h src/plugins/texteditor/itextmark.cpp src/plugins/texteditor/plaintexteditor.cpp src/plugins/texteditor/plaintexteditor.h src/plugins/texteditor/texteditoractionhandler.cpp src/plugins/todo/Todo.pluginspec.in src/plugins/updateinfo/UpdateInfo.pluginspec.in src/plugins/valgrind/Valgrind.pluginspec.in src/plugins/vcsbase/VcsBase.pluginspec.in src/plugins/welcome/Welcome.pluginspec.in src/plugins/winrt/WinRt.pluginspec.in tests/auto/debugger/temporarydir.h Change-Id: I254af8be8119fe9855287909e17d4b8ca9d2fc2f
| * License updateEike Ziller2014-10-091-7/+8
| | | | | | | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | CppTools: Change CppModelManager implementation patternhjk2014-09-191-3/+3
| | | | | | | | | | | | | | | | | | Replace the CppModelManagerInterface/derived CppModelManager combo by a more common CppModelManager/CppModelManagerPrivate pimpl pattern. Change-Id: Ia4582845ed94d5ef60b8571bab9b2260c6290287 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | ExtensionSystem: Remove Qt4 supportEike Ziller2014-08-271-2/+0
| | | | | | | | | | | | | | | | Remove usage of the Q_EXPORT_PLUGIN macros, which do not exist in Qt 5. Change-Id: I678c3cf10b9c5d5c1b9f252b0ecd1c97dc810a47 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | C++: Base parsing on editor document instead of widgetNikolai Kosjar2014-08-251-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This mainly takes CppEditorSupport apart. * Parsing is now invoked by CPPEditorDocument itself by listening to QTextDocument::contentsChanged(). * Upon construction and destruction CPPEditorDocument creates and deletes an EditorDocumentHandle for (un)registration in the model manager. This handle provides everything to generate the working copy and to access the editor document processor. * A CPPEditorDocument owns a BaseEditorDocumentProcessor instance that controls parsing, semantic info recalculation and the semantic highlighting for the document. This is more or less what is left from CppEditorSupport and can be considered as the backend of a CPPEditorDocument. CPPEditorDocument itself is quite small. * BuiltinEditorDocumentProcessor and ClangEditorDocumentProcessor derive from BaseEditorDocumentProcessor and implement the gaps. * Since the semantic info calculation was bound to the widget, it also calculated the local uses, which depend on the cursor position. This calculation got moved into the extracted class UseSeletionsUpdater in the cppeditor plugin, which is run once the cursor position changes or the semantic info document is updated. * Some more logic got extracted: - SemanticInfoUpdater (logic was in CppEditorSupport) - SemanticHighlighter (logic was in CppEditorSupport) * The *Parser and *Processor classes can be easily accessed by the static function get(). * CppHighlightingSupport is gone since it turned out to be useless. * The editor dependency in CompletionAssistProviders is gone since we actually only need the file path now. Change-Id: I49d3a7bd138c5ed9620123e34480772535156508 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | ProjectExplorer: Further clean up of IProjectPanelFactoryhjk2014-07-281-3/+3
| | | | | | | | | | | | | | | | Rename to ProjectPanelFactory, hide list of factories from .h, rename include guards. Change-Id: I2e0befcaf847e5c3a0b493b58e7bcf3e9263f4f9 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* | Build fixTobias Hunger2014-07-281-1/+1
| | | | | | | | | | Change-Id: Ic0099118307234eefc8849ec042892a32537b434 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* | ClangCodeModel: Fix compileChristian Stenger2014-07-241-1/+2
| | | | | | | | | | Change-Id: I00229f3af2ba85ea14677fe47939a75c309a4116 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | Make IProjectPanelFactory a value based classDaniel Teske2014-07-221-1/+6
|/ | | | | Change-Id: I40f9411f305ab7764b904306bbccd45887dc7432 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Clang: Coding stylehjk2014-02-051-1/+1
| | | | | Change-Id: Ib7dc759e8db7cf37fbcd7f75d28b29bf95593d6c Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Clang: clean up unit handling.Erik Verbruggen2014-01-101-5/+0
| | | | | | | | - Use a QSharedPointer instead of an explicitly shared pointer. - Remove the LiveUnitManager. Change-Id: I05bf32c1f77c17f42ee1da39f1353cff580fa6eb Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* Incremented year in copyright infoRobert Loehning2014-01-091-1/+1
| | | | | Change-Id: I6e25ba25aa2898b5382dae7f3751deebb6072efa Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* Add experimental clang code-model plug-in.Erik Verbruggen2013-12-201-0/+96
Previously known as the wip/clang branch. Contributors (in alphabetical order): - Christian Kamm <christian.d.kamm@nokia.com> - Erik Verbruggen <erik.verbruggen@digia.com> - Leandro Melo <leandro.melo@nokia.com> - Peter Kuemmel <syntheticpp@gmx.net> - Sergey Shambir <sergey.shambir.auto@gmail.com> Change-Id: I4c3ff600a19b6732641c1d5ef28236bf2cc17737 Reviewed-by: hjk <hjk121@nokiamail.com>