Commit Graph

81 Commits

Author SHA1 Message Date
Nikolai Kosjar
a8690b61fe Cpp{Tools,Editor}: Tests: Use CppModelManager::document()
...instead CppModelManager::snapshot().document().

Change-Id: If79bc03d062d309bbf6d4b229255ba281cddf8d5
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-23 14:43:54 +02:00
Nikolai Kosjar
bea8fc8e6a Cpp{Tools,Editor}: Expect UTF-8 encoded literals
Change-Id: I9843c4163aad3fa3f1bfa33060c76328fc2dc25a
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-23 14:24:23 +02:00
Nikolai Kosjar
cadc4b42ba Cpp{Tools,Editor}: Tests: Use QString instead of QByteArray
This is necessary in order to add tests with multi-byte UTF-8 code
points. Otherwise the initial and target source code marker positions
will be calculated on the QByteArray (test code) but used with a QString
(editor document).

Change-Id: I108961b13d32912a4d3193cf26eb59f65d296f57
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-23 14:24:10 +02:00
Orgad Shaneh
278eb8f93d CppEditor: Pass some values by reference
Change-Id: I18af0c97c22ef2189ebaeaacd32030b22f838c3d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-05-21 16:26:06 +02:00
Nikolai Kosjar
7fbfdb737c CppEditor: Tests: Call QByteArray::remove() only with i >= 0
For example test_quickfix_InsertDefFromDecl_afterClass led to a
QByteArray::remove(-1) call. According to the doc nothing happens, but
it will become problematic later when we change to QString (with that, a
character will be removed from the end).

Change-Id: Ie89dd7834e44fbcfde63ea6ca3ab181dfe50e191
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-15 14:46:56 +02:00
Nikolai Kosjar
4dd8a8fdd9 CppEditor: Tests: Fix newline handling
removeTrailingWhitespace() appended one '\n' too much. As time went by,
excess '\n' where added to the test code.

* Remove excess '\n'.
* For consistency, ensure that each test code line ends with '\n'.

Change-Id: Ie2d4a1b8b27989f26bf154cb3b891dfb8fe6b2fd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-15 14:46:30 +02:00
Lorenz Haas
88309188c1 CppEditor: Fix InsertDefFromDecl to find right implementation file
Task-number: QTCREATORBUG-10728

Change-Id: Ic321f7504b55e7bd7badb5262f4d7cc4552ab1fa
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-02-20 21:02:01 +01:00
Orgad Shaneh
b728045588 CppEditor: Move InsertVirtualMethods to its own file
It contains many components, doesn't make sense to have it with all
other quickfixes.

Change-Id: Idede14c90ba9b612ae9e9048f5795d674811acfe
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-01-24 11:35:03 +01:00
Orgad Shaneh
8da53e6587 CppEditor: Check only pure virtual functions by default
Task-number: QTCREATORBUG-10154
Change-Id: Iec1b895e3f06d9d6ae36f19f6c8048c78faac514
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-01-09 11:16:35 +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
0bd5917867 CppEditor/CppTools: Don't continue in test function on failure
QVERIFY/QCOMPARE are meant to be called in the test function so that on
failure they just can "return" and thus skip subsequent code. Since we
use reusable test code in the test functions (the *TestCase classes), we
need to ensure that on failure no further test code is executed.

This mostly inlines the run function of the test classes into the
constructor.

Change-Id: I320ee032bdde0174ddfe3fdf3f9e18e19abf1d7f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-01-07 14:19:33 +01:00
Nikolai Kosjar
c7f3ac4073 CppEditor/CppTools: Clean up *Test* classes
* Unify class names
* Fix coding style

Change-Id: I7498192ba9e6b9fc0e97d3d4f0dbb30f1853a0c9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-01-07 14:19:21 +01:00
Nikolai Kosjar
5c8df5fa4e CppEditor/CppTools: Introduce Test{Case,Document}
Move common functionality of the 12 test classes into base classes.

Change-Id: If64d3cec876807ac6f991151189860a99b8ff4ca
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-01-07 14:19:13 +01:00
Daniel Teske
a1c18d9e97 TypeRewriter: Handle rvalue references correctly
Task-number: QTCREATORBUG-10555
Change-Id: Icb9859f96220f613476c097b747dec8c2d1bc2ed
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-01-03 15:19:08 +01:00
Nikolai Kosjar
9b41023b68 CppEditor/CppTools: Tests: Fix potential race condition
...when updating the code model.

Change-Id: Ifc55b7d0bb795b9cfd72465990991bc2cc907846
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-12-12 10:14:50 +01:00
Orgad Shaneh
8000d5e639 CppEditor: Make insert virtual function tests data-driven
Change-Id: Iffb7e667098050ceb38eab40d4ed7850bf3bea94
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-11-28 12:28:26 +01:00
Orgad Shaneh
4c7e0008cc CppEditor: Reorder virtual methods tests
For easier diff

Change-Id: I34effdc85c4bef51b80f5763e1522162c2b64b4e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-11-28 12:28:24 +01:00
Orgad Shaneh
9804710fdc CppEditor: Refactor quickfix tests
Step 1

Change-Id: I1416df4e152be231be386209ca1f360be31c58c6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-11-28 12:28:22 +01:00
Orgad Shaneh
69aa81587f CppEditor: Reorder quickfixes tests
Needed for easier diff for upcoming refactoring...

Change-Id: I779b25d09a03fc1ed54e2ba35946678a5e863265
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-11-28 12:28:21 +01:00
Nikolai Kosjar
bd82f038ca CppEditor: Add basic tests for MoveDeclarationOutOfIf and MoveDeclarationOutOfWhile
Change-Id: I519428496c3139a0ff97ab28d291853eca19887d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-11-27 17:08:25 +01:00
Nikolai Kosjar
d808ebed88 CppEditor: Fix crash in CompleteSwitchCaseStatement
Task-number: QTCREATORBUG-10366

Change-Id: I6d5af5e7a59f3867141c8d7f098128d3db532ee5
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-17 12:04:42 +02:00
Nikolai Kosjar
c79a605b8f CppEditor: Tests: Add basic tests for quick fix CompleteSwitchCaseStatement
Change-Id: Idd9773c9f5165ac8a378ee109bf270641a2b3749
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-17 12:04:35 +02:00
Orgad Shaneh
f47c101b8b Revert "EditorManager: Fix crash when closing an editor upon activation"
Deleting an editor while currentEditorChanged is apparently not a good
idea.
Use a queued connection instead.

This reverts commits 243a625961,
447c4ed37f,
d9602ca550 and
3103487038.

Change-Id: Iccbee25fb77714963faa6f7184d1f5f53ed348a6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-08 17:09:55 +02:00
Lorenz Haas
e3d95168a0 CppEditor: Fix insert position in MoveFuncDefToDecl
When a class was directly assigned to a variable the definition was
misplaced right after the variable.

Task-number: QTCREATORBUG-10303
Change-Id: I2cdfee784b085d856d7ff5ebe62bf791b9a6754e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-07 11:23:41 +02:00
Joerg Bornemann
a6c8158484 CppEditor: implement ExtractLiteralAsParameter quickfix
Task-number: QTCREATORBUG-9617

Change-Id: I6c6313746b837775bab665bb7019a2adf0b0f286
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-01 15:12:11 +02:00
Eike Ziller
a0b2d10822 Merge remote-tracking branch 'origin/2.8'
Conflicts:
	src/plugins/coreplugin/coreplugin.pro
	src/plugins/coreplugin/coreplugin.qbs
	src/plugins/cppeditor/cppdoxygen_test.cpp
	src/plugins/cppeditor/cppquickfix_test.cpp
	src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
	src/plugins/cpptools/cppcompletion_test.cpp

Change-Id: I392229af933c1e56b9ea459d4d240a2144b4bfcb
2013-10-01 10:04:18 +02:00
Lorenz Haas
02825b5894 CppEditor: New quick fix "Optimize For Loop"
Rewrites post increment/decrement operators (++ and --) as pre
increment/decrement operators and moves non string/numeric literals and
non id expressions from loops condition to loops initializer.

Change-Id: Id95334b6df6fcaa9af436cc1d2d0982d38bf8fe2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-09-30 18:18:34 +02:00
Nikolai Kosjar
d9602ca550 CppEditor/CppTools: Fix plugin tests.
Starting with commit 243a625 EditorManager::closeEditors() does not
delete the editors anymore, but calls deleteLater(). When the call
returns, all kind of checks fail since the editor widget destructor was
not yet called.

Fixed by providing and calling Core::Tests::closeAndDeleteEditors(),
which explicitly sends QEvent::DeferredDelete to the widget.

Change-Id: I3287abbe74ccf7d7a18b997a847701c8be17cb55
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-09-30 12:13:28 +02:00
hjk
09aad1ac4d CodeStyleSettings: De-noise user code by using QByteArray ids.
Change-Id: Ia7210b0ff85667951e4e5554155d89ed6925f9ec
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-25 09:43:22 +02:00
Nikolai Kosjar
bbdee91bc9 CppTools: Handle erroneous statements in FindMethodDefinitionInsertPoint
...at end of file.

Change-Id: Ife8142cd9cf3c5e4be2594b7cc635e5ab7b9e946
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-09-09 15:48:59 +02:00
hjk
4a24df38a3 EditorManager: Use static pattern, adjust surrounding code
Change-Id: I3255a0150cd9a730336456c5a9f986eb74fefbff
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-30 11:22:56 +02:00
Nikolai Kosjar
fd9293dd0a CppTools: CppPreprocessor: Track also unresolved includes
Change-Id: Ia36e7e7142dbc030a428369ed04e76e70e8eef0b
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-08-22 11:57:27 +02:00
Oswald Buddenhagen
c2e90c360b Merge remote-tracking branch 'origin/2.8'
Conflicts:
	src/plugins/cpptools/cppcompletion_test.cpp
	src/plugins/cpptools/cpptoolsplugin.h
	src/plugins/projectexplorer/customtoolchain.cpp
	src/plugins/vcsbase/command.cpp

Change-Id: Ie7b3c9e136c0748b41320227c757471259339b48
2013-08-21 14:39:18 +02:00
David Schulz
74a94e656e CPPEditor: Fix cppquickfix_test compile
Change-Id: Ibf91733e08b818dffd16dd9fc171efec5a4488b0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-08-13 14:10:49 +02:00
Nikolai Kosjar
f23fed601b CppTools: Tests: Move test includes utils into helper class
Change-Id: Ia679f3d2ae5fce0978a4e320fa18b28f1a7bed71
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-08-13 09:23:02 +02:00
Nikolai Kosjar
83bbd534e5 CppTools: Do not try to find definitions of generated symbols
This speeds up the quick fix InsertDefFromDecl on function declarations
in classes containing Q_OBJECT.

Task-number: QTCREATORBUG-9877

Change-Id: I0af16f17f40735040b7158a3191c13db3433edf9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lorenz Haas <lykurg@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-08-08 11:49:42 +02:00
Nikolai Kosjar
a8cbaa1ea1 CppEditor: Tests: Fix blocking the token tests by a pop up
Now the used QuickFixFactory InsertVirtualMethods is configured to not
generate any pop ups.

Change-Id: I36d297678d87e6fb2eb0a73fea6384f0eb7e21f0
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2013-07-23 09:58:47 +02:00
Nikolai Kosjar
021dbc2e96 CppEditor: Respect whitespace in operator names for more quick fixes
* Affected quick fixes: InsertDefFromDecl, MoveFuncDefOutside
* Fix also reformating pointer declaration of operator functions for
  qualified name ids

Change-Id: I6a7578f496221557d103f5fdbb5dacc9540ee779
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-25 09:57:23 +02:00
Lorenz Haas
b7ba23f92d CppEditor: Fix InsertDefFromDecl::match
Now InsertDefFromDecl finds the right implementation file and the speed
of match() is improved.

Task-number: QTCREATORBUG-9627

Change-Id: Ibff824f52124e8cc10ccb6a97c133e11565473db
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-24 10:16:15 +02:00
Lorenz Haas
063cc6bfa7 CppEditor: Handle namespaces when generating method definitions
Consequent use of insertLocationForMethodDefinition respects the
surrounding namespace when moving/inserting definitions.

Task-number: QTCREATORBUG-2676
Task-number: QTCREATORBUG-9332
Change-Id: I6d83cf84d844dd4773900d03563581c88befa7b7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-20 15:48:45 +02:00
Lorenz Haas
af0582cdc9 CppEditor: No triggering for AssignToLocalVariable in return statements
With this patch it is checked if the function/new-expression is used in
a function call or return statement the whole AST down to the
translation unit.

Task-number: QTCREATORBUG-9525
Change-Id: I34b30ee64b9436c9c9d2586c28fd22f148bee892
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-18 16:48:28 +02:00
Lorenz Haas
a338851a10 CppEditor: Insert/move member definition right after enclosing class
When triggering move or insert definition outside and no other class
symbol is found in the file, the definition is moved or inserted right
after the enclosing Class.

Change-Id: I74ffa872015753ba7372e21b868d3cf7fa49e84a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-17 13:14:10 +02:00
Nikolai Kosjar
8180f695f1 CppEditor: Check <include path>/QSomething
For the quick fix AddIncludeForUndefinedIdentifier, if no class is found
via the locator, check the "Qt include paths" for a header file with the
same name as the class name.

Task-number: QTCREATORBUG-9538
Change-Id: I13c86844c2ff653fa479dc91eb109af2a6d76fae
Reviewed-by: Lorenz Haas <lykurg@gmail.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-06-17 08:16:43 +02:00
Lorenz Haas
e986646905 CppEditor: Resolve templates in AssignToLocalVariable
Task-number: QTCREATORBUG-9525

Change-Id: Ibe6c054c289f564a073a455f9b200bfffe5868eb
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-13 09:08:11 +02:00
Lorenz Haas
c95b324b79 CppEditor: Same insert position for quick fixes
Now definitions are inserted at the same position inside the
implementation file for MoveFuncDefOutside and InsertDefFromDecl.

Task-number: QTCREATORBUG-9389
Change-Id: If823ffd15ec39a7bc2edb53519380cb9cabb4c55
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-12 16:32:29 +02:00
Lorenz Haas
8f4c4b41f6 CppTools: Fix nextToSurroundingDefinitions
Now it is checked if the adjacent declaration is also defined and one
can define the destination file.

Change-Id: Ifff59c49fc2ab3e2f36f41df42ae4b7d7ff8dd35
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-12 16:32:14 +02:00
Thomas Hartmann
93ea763a8d Compile fix for Windows
interface is already defined in the Windows 7 SDK headers.

Change-Id: Ic154d45017fc32dca1721f4a0f18456f370bd604
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-12 09:21:29 +02:00
Nikolai Kosjar
f1736b079d CppEditor: Put '{' on new line for "Add Definition Inside Class"
...to be consistent with inserting "Outside Class" and "in xxx.cpp".

Change-Id: I32a43153d5d3bdec9fae0be731484a26b108c438
Reviewed-by: Lorenz Haas <lykurg@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-11 16:32:34 +02:00
Nikolai Kosjar
f3186690bd CppEditor: Improve finding position for new includes
...by detecting include groups (separated by new lines, include types
and same dir prefix).

Task-number: QTCREATORBUG-9317
Change-Id: I73e80fdc715104901cb2d4f5b15b4cab5d04d305
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-11 15:57:10 +02:00