Commit Graph

27 Commits

Author SHA1 Message Date
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