Commit Graph

158 Commits

Author SHA1 Message Date
Nikolai Kosjar
2db588f8c5 CppEditor: Make AddIncludeForUndefinedIdentifier work on template name ids
Task-number: QTCREATORBUG-9704
Change-Id: Ib08c331364fbfcb6e3fb9971d45e8b27311143ae
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-10-08 15:48:47 +02:00
Nikolai Kosjar
57279c0d0f CppEditor: Trigger AddIncludeForUndefinedIdentifier on qualified name base
Now there is no need to position the cursor on "C" of "Namespace::C" to
trigger the quick fix. It will already trigger if the cursor is
somewhere within the name.

Change-Id: Ic99325f95b5cf5551fc74b55606c402461849fb0
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-10-08 15:48:42 +02:00
Nikolai Kosjar
cb320e1bfa CppEditor: Tests: Rename some tests and add one
...for AddIncludeForUndefinedIdentifier.

There are two basic tests for AddIncludeForUndefinedIdentifier:
 * Tests bypassing match() in order to only test the inserting of an
   include at the right position (now named *_inserting_*)
 * Tests also testing match()

Change-Id: I5b2b008ff9462a1cdaa5718f6a430c46992effab
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-10-08 15:48:37 +02:00
hjk
8872ef1b73 CppEditor: Allow connect quickfix to operate on disconnect, too
Change-Id: I94794214d969aeda6b3ce21fdca9e0bd23dea800
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-10-02 15:52:11 +02:00
hjk
af23e254df CppEditor: Make connect refactoring work with 3-args form
Change-Id: I256753726cd543e157663faddabf960b26b04300
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-10-02 10:42:28 +02:00
hjk
9b8c6c6012 CppEditor: Add quickfix to convert to new style connect()
Limitations:
 * Overloads are not yet handled
 * Action is not offered if the slot can't be looked up in the
   receiver expression (e.g. when it's a base class pointer).

Change-Id: I5779ff1b74657025d058d4f3690f6723b4784497
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-09-30 17:58:00 +02:00
hjk
9ebb63c78f CppEditor: Simplify CppQuickFixOperation interface
Change-Id: I5c047cf5e2bffa2f7c19c145c4f8d0adf3e64533
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-09-30 09:38:25 +02:00
hjk
e11bbac671 TextEditor: Add a convenience append method for quick fixes
Less noise on the user side.

Change-Id: Ia5b495a1f9d3ec43623056d793f6771b3b84fd6b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-09-26 18:55:50 +02:00
Erik Verbruggen
cc70b603d3 C++: Change QStringList to QSet<QString> to prevent conversions.
This eliminates a bunch of list->set->list conversions. Especially the
ProjectInfo::appendProjectPart takes lots of time converting for every
part added.

Change-Id: Ib3c8cd4b0ad6c012ccbeed12ebedd46b9b6cca95
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-09-04 15:59:40 +02:00
hjk
02d26f9221 CppEditor: Compile fix for clang after renaming
Change-Id: Iaabb45fb066afb600718d874a0461bc88fae92e5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-08-28 13:32:56 +02:00
Nikolai Kosjar
461a54bd2d CppEditor: Trigger "Convert to Pointer" only in function scope
Change-Id: I449330e9d5811f88b359c82726154065b3a6b494
Task-number: QTCREATORBUG-12866
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-21 10:40:44 +02:00
Eike Ziller
c4e51e7405 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	qtcreator.pri
	qtcreator.qbs

Change-Id: I926bdfc7df6158207cfc07f3c6c591d0a59b7667
2014-08-19 12:34:58 +02:00
Nikolai Kosjar
a01f6cadf4 CppEditor: Return on invalid code in ExtractLiteralAsParameter::match
No declarator was provided but we assumed one.

Task-number: QTCREATORBUG-12853
Change-Id: I5faf96b63f39aff43c0165f7277345737e53f191
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-18 14:16:43 +02:00
Joerg Bornemann
d7449a0097 CppEditor: quickfix for conversion between pointer and stack variable
The ConvertFromAndToPointer quickfix allows to convert a pointer to a
stack variable and vice versa. The initializer of the declaration is
adjusted. Member accesses change to . or -> accordingly.
Usages of the & and * operators are automatically fixed.

Task-number: QTCREATORBUG-9598
Task-number: QTCREATORBUG-12733
Change-Id: I388a9bd32179c79bff808615299a91a225acea64
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-08-08 16:32:00 +02:00
Takumi Asaki
66feceacb0 CppEditor: Add escape/unescape string literal QuickFix
Change-Id: I32c22dfa32ee0345b76e8c35381bce988d20ed49
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-08-07 10:13:57 +02:00
Oswald Buddenhagen
f3a61e8bf7 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/android/androidglobal.h

Change-Id: I3367bf2ea47c088989175dddeed2210294346f4c
2014-08-05 14:24:23 +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
Nikolai Kosjar
359bc13ea0 CppEditor: Fix "Complete Switch Statement"
...if enum type is defined inside a class or namespace.

Task-number: QTCREATORBUG-12311
Change-Id: I71b64bbe9d419707b66caacd10550041efc1520c
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-07-24 12:23:28 +02:00
Erik Verbruggen
3a1f6f9ad7 C++: generate quick-exit style setters for Q_PROPERTY.
Change-Id: Ie278c2901a49075500526eb17a84ab2baf80cd01
Task-number: QTCREATORBUG-12519
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-07-10 12:18:18 +02:00
Orgad Shaneh
a22d281cc6 CppEditor: Add failing tests for "Move Definition Outside Class"...
... when macros are used in function definition

Task-number: QTCREATORBUG-12314
Change-Id: I811f93cde3dffa75fb71684569706f284939d7f5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-07-04 16:39:29 +02:00
Erik Verbruggen
3d33886e53 C++: fix include/framework path handling.
Instead of having two lists of paths, now only one list is used where
both include paths and framework paths can be mixed. This reflects the
way the compiler is invoked, and retains the (correct) search order.

Task-number: QTCREATORBUG-11599
Change-Id: I373953e3e305df5b7a0d10920e12d146584adf9f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-07-04 13:51:36 +02:00
Lorenz Haas
fef167b96d CppEditor: Allow single "m" prefix for GenerateGetterSetter
Task-number: QTCREATORBUG-12244
Change-Id: Iab666f003df04da97ed7f4aa47f9b979e319e9a4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-06-23 13:07:17 +02:00
Lorenz Haas
386eca649d CppEditor: Fix handling of "m_" in GenerateGetterSetter
If a variable's name is only "m_" it should not be recognized as a
prefix (resulting in an invalid/empty getter and meaningless setter) but
rather as a name with the "_" postfix. This way, it results in getM()
and setM().

Change-Id: I9a8249fc12319034b95532415f40b6c3183f7754
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-06-23 13:06:49 +02:00
Nikolai Kosjar
e828f60c90 CppEditor: Use BaseTextEditor{Widget} if possible
Change-Id: I59c420c6469717e552469d176bbeac3a455f3bb0
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-13 17:36:18 +02:00
Nikolai Kosjar
9921960a72 Cpp{Editor,Tools}: Move tests for IncludeGroups to CppTools
They belong there. This will also kill the CppSourceProcessor dependency
from CppEditor.

Change-Id: Ic2ae6b0c6f0913d913636be61df194846985d1ce
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-10 15:12:38 +02:00
Nikolai Kosjar
655470cc0c C++: Tests: Fix unicode tests with MSVC
Change-Id: I5575826558bf60982ecc964e4dd85a3f4e920197
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-06-05 08:14:57 +02:00
Nikolai Kosjar
ec97d967e6 CppTools: Rename CppPreprocessor to CppSourceProcessor
...since it does quite a bit more than only preprocessing, as the name
suggests. We use that class to process source files in general. The
output is not a preprocessed source, but a set of CPlusPlus::Documents
with symbols.

Change-Id: I787d0f22f9f042ddf0c99e8c2f0bdb9aa7001735
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-04 16:28:35 +02:00
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