Nikolai Kosjar
418fc32f6a
Clang: Do not call DocumentManager::modifiedDocuments() from worker thread
...
This is unsafe.
Change-Id: I8ac075a7289afa0d84785e37b1325d186a153000
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
2015-07-10 14:04:19 +00:00
Nikolai Kosjar
5902a62298
CppTools: Let BaseEditorDocumentParser acquire the mutex
...
...so derived classes are freed from doing this.
Change-Id: I73f3eca54be14cfd6542a466f0e9c024457bef07
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
2015-07-10 14:04:14 +00:00
Nikolai Kosjar
442bdbded2
CppTools: Avoid unnecessary blocking of main thread
...
Among others, BaseEditorDocumentParser::projectPart() was a blocking
operation in case the parser was running. This led to noticeable GUI
freezes for the ClangCodeModel since the function was called from the
main thread.
Rework *EditorDocumentParser to clearly separate the configuration data
(input) from the actual object state. Querying/setting configuration or
(last) state does not block anymore. update() is supposed to get the
necessary configuration and the last state at the beginning and to set
the new state at end.
Change-Id: Ib4b534fa6ff373c3059826726b3f10ece95acc21
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
2015-07-10 14:04:07 +00:00
Tobias Hunger
e5da3d8aeb
cpptools: s/Q_DECL_OVERRIDE/override/g
...
Change-Id: I1b239a666b6605035e0f9c140d940e8c260bafd3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-04 12:25:51 +00:00
Eike Ziller
9926fc2ab1
Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'
...
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
2015-02-12 17:29:21 +01:00
Eike Ziller
3c85058694
Update License
...
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com >
2015-01-16 12:37:56 +01:00
Erik Verbruggen
a48adcf9be
C++: handle case-insensitive file names in the CPlusPlus::Snapshot
...
... by keying on Utils::FileName
Task-number: QTCREATORBUG-12390
Change-Id: Ia98afb5a9160a7fd9225a2f9e02539ff3c35ae86
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2014-12-17 14:32:17 +01:00
Eike Ziller
ea27143239
Merge remote-tracking branch 'origin/3.2'
...
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
2014-10-14 15:36:16 +02:00
Thomas Hartmann
48f19e925b
Use Q_DECL_OVERRIDE instead of QTC_OVERRIDE
...
This patch removes src/libs/utils/qtcoverride.h
and uses Q_DECL_OVERRIDE from Qt 5 instead.
Change-Id: I61ffa539648ffe996dc061eec7708c04580c0f09
Reviewed-by: Eike Ziller <eike.ziller@digia.com >
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com >
2014-09-25 12:16:47 +02:00
hjk
9a968b7417
CppTools: Move DependencyTable to Snapshot
...
It logically depends on the Snapshot and has a related lifetime.
Keeping it in the Snapshot avoids some code compelxity.
Change-Id: I24ee4483b44d9b0d7f2e4d494ae7ea624b949f9c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-09-19 11:11:30 +02:00
Nikolai Kosjar
45570d4068
CppTools: Provide the editor snapshot for SemanticInfoUpdater
...
...so that SemanticInfoUpdater does not depend anymore on the
EditorDocumentParser. Accessing the snapshot was a blocking operation
that delayed the semantic info update longer than actually needed.
Change-Id: I348d22ef83ab310d4319b2e8b9678fe90ee24d6a
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-08-29 16:12:57 +02:00
Nikolai Kosjar
89bd4ee3c4
C++: Base parsing on editor document instead of widget
...
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 >
2014-08-25 13:06:01 +02:00
Nikolai Kosjar
7c21f2ec69
CppTools: Denoise with BuiltinEditorDocumentParser::Ptr
...
Change-Id: I1d572e8cc3e76ef6bbae720e3c3482292aab9609
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-08-20 11:13:51 +02:00
Nikolai Kosjar
7d35212f60
CppTools: Rename SnapshotUpdater to BuiltinEditorDocumentParser
...
Change-Id: I554b5e9e3f1ef7c167fa45b5cd0c230fdf63073b
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-08-20 11:12:48 +02:00