Commit Graph

141 Commits

Author SHA1 Message Date
Erik Verbruggen
20c4f523ab C++: pass ModelItemInfo around wrapped in a QSharedPointer.
Change-Id: I36162ea589ad01cf2ba79fc931732422fc1e6983
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-06-02 16:22:17 +02:00
Nikolai Kosjar
acbc4b9f07 C++: Get rid of {Name,Type}::isEqualTo()
...since it's superseded by the class Matcher.

For consistency, rename FullySpecifiedType::isEqualTo() to match().

Change-Id: I07640f9218d814e0350265de45f05929e5d595a9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-23 14:43:30 +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
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
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
Eike Ziller
e60f355f05 CppEditor: Move isObjC property to document.
Change-Id: I2267c69001da6bc136d26d874331dd734c8693f5
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-02-20 08:32:23 +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
f84074b81d CppEditor: Do not re-add reimplemented virtual functions
Change-Id: Ib4308ab9483c212a045d120b61d9bc7262f1e538
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-01-24 11:34:56 +01:00
Orgad Shaneh
58a0ebf379 CppEditor: Enable "Hide reimplemented functions"...
... for functions implemented in the target class

Change-Id: I284b9965d4def13ff45190473303627f4ac0d0dc
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-01-24 11:34:53 +01:00
hjk
4d96fa7aba Core: Merge Find and Locator into Core plugin
Change-Id: I7053310272235d854c9f409670ff52a10a7add8b
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-14 07:43:00 +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
Orgad Shaneh
a06c5ef151 CppEditor: Cleanup quickfixes
Change-Id: I19fb785372291f66b756cf5be1fc941870c304c3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-12-03 19:20:24 +01:00
Nikolai Kosjar
323be40b3e CppEditor: Fix stack overflow in quick fixes
The MoveDeclarationOutOfIf quick fix modified a IfStatementAST in case
there were several such ASTs in interface->path(). The resulting AST was
invalid (else_statement was pointing to 'this' afterwards), thus the
afterwards executed PointerDeclarationFormatter (an ASTVisitor) was not
able to finish his visit.

The actual problem was that op->pattern in the match() calls was not
reset.

Task-number: QTCREATORBUG-10919
Change-Id: Ifbcac73e75690321ef45b6d8c2dc32fcea236efa
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-11-27 17:08:34 +01:00
Nikolai Kosjar
03270ad301 CppEditor: Prioritize inserting function def. in source file
For the quick fix InsertDefOperation ("Add Definition ...") the order of
the offered operations is reversed to better support the typical use
case of inserting the definition in the corresponding source file.

Change-Id: I0cc502663c43fdeb4773a99d2cd5ae8ddf62f9f0
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-11-12 16:42:06 +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
b8dbac0b9c Rename "[Mm]ethod(s)" to "[Ff]unction(s)"
Only methods as programming functions are affected. Besides renaming
some actions like "Switch Between Function Declaration/Definition" this
mostly touches (api) code comments.

This is a follow-up patch to commit 872bfb7.

Change-Id: Icb65e8d73b59a022f8885b14df497169543a3b92
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-10 15:56:12 +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
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
hjk
ca15d0aa95 Apply static pattern to TextEditorSetting
Change-Id: I4e6f573d893c0aa2bb4ca9812fc8db2961dac172
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-20 10:28:22 +02:00
Joerg Bornemann
fa491c882c CppEditor: make isNamespaceFunction available for all C++ quickfixes
This function is generally useful when dealing with free functions.

Change-Id: I52c0057b587d81c4b0eddac24e4d7659f80cf840
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-09-12 16:42:31 +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
Nikolai Kosjar
6aceadac27 CppEditor: Fix "! condition" coding style
Change-Id: I216b74933f5e94c49be7f05f0b09ac01b3319d8c
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
2013-07-25 12:10:30 +02:00
Eike Ziller
7b4895d7ec Remove TextEditor::RefactoringChanges::editorForFile
This also fixes a bug with setting text cursor in InsertDefOperation in
case of split editors (where the cursor could be set in a non-active
editor on the target file).

Change-Id: I1c011386537bc88a89d4d66bec79dfe06faac3c6
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-07-18 11:50:11 +02:00
Orgad Shaneh
ad9e7ccab6 Fix coding style for else statements
Change-Id: I1309db70e98d678e150388c76ce665e988fdf081
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-17 11:11:25 +02:00
Nikolai Kosjar
f7e26babba C++: Fix names of functions dealing with enclosing scopes
...in order to better tell apart the type related functions
isScope()/asScope() and the functions dealing with enclosing scopes:

    * scope() --> enclosingScope()
    * setScope() --> setEnclosingScope()
    * resetScope() --> resetEnclosingScope()

Change-Id: Id743a7d1b6a1a1a0ffcd8568cbd8ebbdfc16eaa1
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-07-16 08:26:19 +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
Nikolai Kosjar
0d2f052560 CppEditor: Fix translatable strings
Task-number: QTCREATORBUG-9570

Change-Id: I4bdc0f900bdf8e6e5fce8668a8c6b23bcd67abff
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-18 10:05:56 +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
c56c63a832 CppEditor: Remove unused member variables
Change-Id: I15e54d8508ed4b958d8b21d12e4f45eed4f939f3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-13 08:59:46 +02:00
Tobias Hunger
ba84f8fe5e Cpp: Remove unused member variables
Change-Id: If9499ac3b63c9d045e9c3af4017028dc69c8655b
Reviewed-by: Lorenz Haas <lykurg@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-13 08:55:01 +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
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
Nikolai Kosjar
e3bc84c414 C++: Record also unresolved paths for includes
Change-Id: Id107b6c1f34f594c5a01502c156963c964235ed7
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-11 15:54:52 +02:00
Lorenz Haas
d2faf880f3 CppEditor: Fix triggering AssignToLocalVariable
Do not trigger for functions inside a function call.

Task-number: QTCREATORBUG-9510
Change-Id: I908483fe80ff3ac0f737b21061375e206c1b1d1d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-11 15:46:44 +02:00
Nikolai Kosjar
1738ff64a6 CppEditor: Fix moving definitions
* Move initializer lists completely
* Respect whitespace as it is

Task-number: QTCREATORBUG-9462
Task-number: QTCREATORBUG-9463

Change-Id: Id9c41394b4aa55b0a85957286ab42f2ce8966c08
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-04 15:53:47 +02:00
Nikolai Kosjar
b8a2983fd5 CppEditor: Fix sorting of quick fixes "Add {public, private, ...} declaration"
Change-Id: I43f09042a525a798d95b3365873be24eafd423e9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-04 13:10:27 +02:00
Erik Verbruggen
5e5c5bb02b C++: re-enable quick-fix sorting.
Also make sure that "Apply function signature change" gets to the top
of the list.

Task-number: QTCREATORBUG-9441

Change-Id: Iaf67f8ea9c99ddfc973e610f7e0f4c35b7967629
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-04 13:10:17 +02:00
Lorenz Haas
c163f8cd66 CppEditor: Uncheck rare functions in "Insert Virtual Methods"
By default virtual functions of QObject, QWidget and QPaintDevice are
unchecked by default.

Change-Id: I863c3f63ee92d2ddc6f533bd8a65740e87503165
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-24 14:33:12 +02:00
Lorenz Haas
bddaab248b CppEditor: Consider base class namespace in "Insert Virtual Methods"
Change-Id: Ife5f34d410781d3c1ae75a3bf1c412f7d76dca80
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-24 11:40:13 +02:00
Lorenz Haas
20a23ec72b CppEditor: Do not show InsertDefFromDecl if triggered on a statement
Change-Id: Ib0b110ac80d9519461a6ba6cf5b7c77925ed2ea5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-24 11:12:32 +02:00
Lorenz Haas
276e2bccaa CppEditor: Hide "Assign to Local Variable" if signatures don't match
Task-number: QTCREATORBUG-9321

Change-Id: I31ac75a480b30ef26f343557088c4bbe5e95c4c6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-24 10:22:21 +02:00