Commit Graph

45 Commits

Author SHA1 Message Date
Tobias Hunger
a1b8e94f0b cppeditor: s/Q_DECL_OVERRIDE/override/g
Change-Id: Ie0b75ea64ec3927732b484983311990c8ca0d057
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-06-04 12:25:58 +00:00
Nikolai Kosjar
e661a9c19e CodeAssist: Support asynchronous processing without threads
This is required for the CodemodelBackendIPC integration in the
ClangCodeModelPlugin. Since the heavy calculation happens in a separate
process, we only need to send appropriate requests and receive results
for a working completion. However, the CodeAssist API does not fit here
since it only provides means of caculating the results in the main
thread or a worker thread. We can't use the worker thread approach since
that would lead to threading issues regarding QLocalSocket in
CodemodelBackendIPC.

IAssistProcessor::setAsyncProposalAvailable() will hand the results
back to CodeAssist in order to display them.

Change-Id: I496192560fb406ec40fa8bcb7904f7a03d2eef50
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-06-03 08:59:17 +00:00
Orgad Shaneh
9b30795c02 C++: Fix lookup for instantiation by class object
Task-number: QTCREATORBUG-14352
Change-Id: I2ce4bc1d0dba2414afe050e80607b581686081a9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-05-15 14:21:45 +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
Orgad Shaneh
65e7db42b8 C++: Remove unneeded qualifications
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>
2015-02-04 15:27:22 +00:00
Nikolai Kosjar
cfd3b56187 CppEditor: Move CppEditorWidget::linkToSymbol to CppTools
* Cuts direct dependency to CPlusPlus from cppeditor.h, but
  cppfunctiondecldeflink.h still pulls it in.

* Cuts direct dependency to
  cppeditor.h from cppvirtualfunctionassistprovider.cpp, but it still
  depends on cppeditorconstants.h.

* Cuts direct dependency to cppeditor.h from cppelementevaluator.cpp.

The long-term goal is to make the CppEditor independent from concrete
code model backends.

Change-Id: I291ee0d0da5fc5ed1a839a763fe7be11dcf7a6fb
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
2015-01-26 18:15:10 +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
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
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +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
Nikolai Kosjar
205de01abf CppEditor: Rename VirtualFunctionsAssistProcessor
Remove plural to align with the other VirtualFunctionAssist* classes.

Change-Id: I986e564ab9080e6fbc75f524f89d98907792a48e
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-09-23 09:14:00 +02:00
Nikolai Kosjar
b14172cc5a CppEditor: Fix leaking AssistInterface
...in VirtualFunctionsAssistProcessor.

Change-Id: Ic53d1ba92a5ca396055f4727839a89835d881e8d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-09-23 09:13:44 +02:00
hjk
78a04f0a6d TextEditor: Wiggle codeassist setup
Remove GenericProposalModel convenience constructor,
add GenericProposal instead. Less user side code.

Change-Id: I833f9943df27b50579485c93efb96943ec403f65
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-22 10:41:38 +02:00
hjk
0edefc4c2b TextEditor: Merge some "assist" related classes
Simplifies the code base by removing one level of unused
and unneeded abstraction.

- Merge {I,Default}AssistInterface to AssistInterface
- Merge {IAssist,Basic}ProposalItem to AssistProposalItem
- Merge {IGenericProposal,BasicProposalItemList}Model to GenericProposalModel

Change-Id: I54ee7b095427383d67a00fc1d87c3808c21d812d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-09-09 21:01:22 +02:00
hjk
d2c243464e CppEditor: Rename CPPEditor{,Document} to CppEditor{,Document}
Better in line with the rest.

Change-Id: I692c8b6b9bebf22f059709fb60e53ea04fcb7d53
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-27 14:18:05 +02:00
hjk
210321377e Editors: Some renamings to enhance consistency
The base pattern is FooEditor for BaseTextEditor derived classes
and FooEditorWidget for BaseTextEditorWidget derived classes. So:

CPPEditorWidget -> CppEditorWidget
CPPEditorWidgetPrivate -> CppEditorWidgetPrivate
...::EditorWidget -> PythonEditorWidget
GLSLTextEditorWidget -> GlslEditorWidget
GLSLEditorEditable -> GlslEditor

Change-Id: I76d34a3694c2fb35491982d86e83f7e4774c0be6
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-07-31 10:54:58 +02:00
Christian Kandeler
93304df038 Always pass Core::Id by value.
Currently we pass in some places by value, elsewhere by const ref and
for some weird reason also by const value in a lot of places. The latter
is particularly annoying, as it is also used in interfaces and therefore
forces all implementors to do the same, since leaving the "const" off is
causing compiler warnings with MSVC.

Change-Id: I65b87dc3cce0986b8a55ff6119cb752361027803
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-01 11:52:08 +02:00
Orgad Shaneh
91def5a8ff CodeAssistant: Replace virtual with QTC_OVERRIDE
Change-Id: I18ea4ea410ac811972447e9395f2eef76bda8084
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-02-17 21:22:21 +01:00
Orgad Shaneh
d087d0b66e CppEditor: Jump directly to single virtual function
Assumption: model never has 1 entry for immediate result
(there is always the natural result + "Searching for overrides"

Change-Id: I5de7e7933b1309f995a6111a2ab1c7aed31c086e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-02-17 18:56:45 +01:00
Orgad Shaneh
0357531796 CppEditor: Add "= 0" for pure virtual functions in override popup
Change-Id: If1887424f240eba750aeb13d52a101c00904f71b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-02-17 18:47:22 +01:00
Orgad Shaneh
87de153345 CppEditor: Use explicit Functions for overrides list
Change-Id: Icb6c8ece3ba64d35dcd1a695cf400546f3254921
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-02-17 18:28:23 +01:00
Orgad Shaneh
9f06081a0a TextEditor: Cleanup some redundant virtual keywords
Change-Id: Ic6157a1d780551977ffbb65ba4fc374a40e95662
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-02-17 18:24:05 +01:00
Eike Ziller
236ea9efb9 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/dumper.cpp
	share/qtcreator/debugger/dumper_p.h
	share/qtcreator/debugger/test/main.cpp
	src/plugins/debugger/gdb/classicgdbengine.cpp
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.h
	src/plugins/debugger/lldblib/guest/main.cpp
	src/plugins/debugger/lldblib/ipcengineguest.cpp
	src/plugins/debugger/lldblib/ipcengineguest.h
	src/plugins/debugger/lldblib/ipcenginehost.cpp
	src/plugins/debugger/lldblib/ipcenginehost.h
	src/plugins/debugger/lldblib/lldbenginehost.cpp
	src/plugins/debugger/lldblib/lldboptionspage.cpp
	src/plugins/qbsprojectmanager/qbsstep.cpp
	src/plugins/qbsprojectmanager/qbsstep.h
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h
	src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp
	src/plugins/qnx/blackberrycheckdevmodestep.cpp
	src/plugins/qtsupport/debugginghelper.cpp

Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
2014-01-08 11:01:06 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Nikolai Kosjar
273192759b CppEditor/CppTools: Move FunctionHelper to CppTools
...and rename it to FunctionUtils.

Change-Id: If076ec01fd82e8ba728764bdeab7e87e8bc1ff3b
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-12-11 11:46:33 +01:00
Nikolai Kosjar
e6b41d7e2f CppEditor: Use TypeHierarchyBuilder in FunctionHelper::overrides
...instead going the way over CppClass. This makes
FunctionHelper::overrides independent of the cppeditor plugin.

Change-Id: Ifaedb94da1f67b3876e06cce9e745aaf3c1050a7
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-12-10 15:07:34 +01:00
Orgad Shaneh
e20391ef6e CppEditor: Add failing tests for virtual destructor lookup
Change-Id: I2fdf1c72b3e5ffe25b5184c1161a803c4427945b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-12-04 14:46:11 +01:00
Orgad Shaneh
49b9cc9883 CppEditor: Return first virtual function on is[Pure]VirtualFunction
Change-Id: I086076cc58c78430e025a78703a028610024ed23
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-12-04 14:45:58 +01:00
Orgad Shaneh
056db85657 CppEditor: Accept LookupContext in virtual function lookup
Required for correct resolving of first virtual appearance

Change-Id: I2307027f769fb2f4c0942f4aa4e0d2b5327562b5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-12-04 14:45:43 +01:00
Orgad Shaneh
c1bb68fe68 isVirtualFunction: Fix false positive for constructor
When class has a virtual destructor

Change-Id: Ifcc9a05ee1eb1144ed7e035b9f077846fcb96cf3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-11-15 14:53:21 +01:00
Orgad Shaneh
4f0ae3b572 CppEditor: Optimize non-overriding virtual functions lookup
Instead of building the hierarchy from the most basic class that
implements the virtual function, start from the looked up class.

Change-Id: Ia674fbb4a92dd45d4ca7bc621c54b411264cbe3d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-11-15 13:42:31 +01:00
Nikolai Kosjar
4a06dab30a CppEditor: Handle classes that do not override
...when searching the overrides for virtual functions.

In case there is no override for the static type of a function call
expression, make sure to:

1) include the last provided override (look up bases)
2) and all overrides whose classes are derived from that static type

Task-number: QTCREATORBUG-10470

Change-Id: I2c01bfdc6cb35c5a01a000ebd81a2b322ce2b795
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-11-12 16:42:38 +01:00
Nikolai Kosjar
65f13fe05c CppEditor: Clean up cppvirtualfunctionassistprovider.cpp
- Moves the findMatchingClassDeclaration() call from
  FollowSymbolUnderCursor::findLink into VirtualFunctionsAssistProcessor
  since we already have a SymbolFinder there
- Make canLookupVirtualFunctionOverrides a class member because we plan
  to add some methods
- Better parameter names/order for FunctionHelper::overrides()

Change-Id: I0a93ff5445352d47e808adad45485e520f06946e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-31 11:00:04 +01:00
Nikolai Kosjar
0c62b29f97 CppEditor: Fix position of virtual override list
...when using the mouse (Ctrl + Left click).

Task-number: QTCREATORBUG-10479

Change-Id: I54a21c449d8bb8e608d383752beb3b31c9c81783
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-24 11:50:28 +02:00
Nikolai Kosjar
61c0de88c2 CppEditor: Simplify VirtualFunctionAssist{Processor,Provider}
...by extracting parameters to a dedicated struct.

Change-Id: I2f3b83cbc62a8b4a91b44b3a729d0f0c578b53f2
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-24 11:50:11 +02:00
Nikolai Kosjar
f8653a59bc CppEditor: Selecting an override of a virtual function jumps to definition
...instead declaration (F2 on a virtual function call).

Task-number: QTCREATORBUG-10287
Change-Id: Ib913bd4e777c7253659458ae17584354c7416d23
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-24 11:49:17 +02:00
Nikolai Kosjar
580791ff9f CppEditor: Do not return double entries in FunctionHelper::overrides()
Change-Id: I568cdb842fd823067514dd4b2e983e6bd19eebca
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-24 11:47:15 +02:00
Nikolai Kosjar
c06004b4ab CppEditor: Extract VirtualFunctionProposalItem into separate files
...for tests.

Change-Id: Idc408e30ee0cdc22610e3037f94de5f7d246accf
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-23 10:47:11 +02:00
Erik Verbruggen
f70ad82bef CppEditor: put Q_DECLARE_METATYPE right after the declaration
And before the first use outside the class. This will make sure the
template specialization is generated in the right place. If not, a
static assert is triggered when C++11 is enabled.

Change-Id: I8de7fa52a9986a1f99f3ad32696121ef565ee3b6
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-10-15 14:28:58 +02:00
Orgad Shaneh
10df20a3e7 CppEditor: Fix virtual function lookup
* Function is pure only by its own declaration
* Support "final"
* Add unit tests

Change-Id: I8b9ded7c7336e2e42ddc551132fac974547fd634
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-15 10:45:35 +02:00
Orgad Shaneh
e96e77690d CppEditor: Remove template lookup for virtual functions
1) Virtual template functions make no sense.
2) It does not help us to find out if a function is virtual or not

Change-Id: Icb15f46b3aba5571e16fa55613a4806ad5de5940
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-14 14:22:51 +02:00
Nikolai Kosjar
3e8919de39 CppEditor: Harden FunctionHelper::overrides
Task-number: QTCREATORBUG-10333

Change-Id: I2ba7e0d5b8b8eb856445e737dfa21ec8a543f85d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-10 16:01:06 +02:00
Orgad Shaneh
e4c7511eeb CppEditor: Accept const Function in FunctionHelper
Change-Id: Id21c958c1528c5cbdb507aa3fc297bd14bcfb13e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-09 11:33:32 +02:00
Friedemann Kleint
31b8fbbcbf Fix MSVC-warnings in CppEditor.
cppfollowsymbolundercursor.cpp(174) : warning C4100: 'widget' :
unreferenced parameter

cppvirtualfunctionassistprovider.cpp(61) : warning C4138: '*/' found
outside of comment

Change-Id: I9c14aff54b88daa6eda9a217db2fc314e9f07742
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-04 09:43:41 +02:00
Nikolai Kosjar
11aeaea86f CppEditor: "Follow Symbol Under Cursor" for virtual functions
F2 on a virtual function call presents a list of overrides in derived
classes. The function declaration of the static type is shown
immediately at the top.

Task-number: QTCREATORBUG-9611

Change-Id: I80ce906fa06272dc9fbd1662cd17500b8c77067f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-01 14:23:00 +02:00