Commit Graph

1032 Commits

Author SHA1 Message Date
Przemyslaw Gorszkowski
d08af15002 C++: unit test for code completion
Added unit test for code completion when pointer's type is a typedef

Change-Id: I408be8d9364a4b48824238dcc44175167ae653f4
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-29 13:10:33 +01:00
Erik Verbruggen
0cac83af8b C++: add unittest for modelmanager path cleaning.
Change-Id: I30815b191654cba5eedf92a9afd2ed1b48af8b87
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2012-12-20 14:49:20 +01:00
Przemyslaw Gorszkowski
b1199ef0cc C++: Fix code completion for nested classes
Fix code completion for nested classes when enclosing is
template class.
Unit tests

Task-number: QTCREATORBUG-8245 (only standalone)
Change-Id: Ib31ad4b799db927b56debd4dc3e7403404c1839d
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-20 10:46:44 +01:00
hjk
17748280e8 CppModelManager: reduce number of cleanPath calls.
Instead of checking each file's full path individually we store the
cleaned version of the directory.

Change-Id: Icaa41a38d6608ba364fcb0e01cc9eb1db99470ac
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-20 10:45:19 +01:00
Francois Ferrand
058d2e8cb5 Support preserving case when replacing.
When making a case insensitive search, try to keep the string capitalization when doing
the replace:
      - All upper-case matches are replaced with the upper-case new	text.
      - All lower-case matches are replaced with the lower-case new text.
      - Capitalized matches are replace with the capitalized new text.
      - Other matches are replaced with the new text as provided.

Note: this does not work with regexp replace, only plain text.

Change-Id: I87cbc28eb64688bdf3c8c6ec173fcb22f91abcd0
Reviewed-by: Cristian Tibirna <tibirna@kde.org>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-12-14 10:22:41 +01:00
Eike Ziller
a8a33b9a3b Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: I288eeb1137e1b08d6c0d69f394cbb0fe1a937b68
2012-12-14 08:20:49 +01:00
Erik Verbruggen
4e540ce786 C++: export the SymbolSearcher to use it outside CppTools.
Change-Id: If60f3c1800a678f6e3b49eb9d78eab9b2d323fb3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-12-13 12:23:59 +01:00
raidsan
45ec1bbe4a Fix: Switch Between Method Declaration/Definition issue when has implementation in header file
Task-number: QTCREATORBUG-8393

Change-Id: Ie390e3151e6edc68287e5e0241365d128e6e2c4c
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-12-12 15:06:40 +01:00
Sergey Shambir
e188244ff4 Set NoQt as qt version for non-qt projects
Change-Id: I292357c84f3633ffc3cb17f44b66d6de9c268966
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-12-12 15:04:49 +01:00
Przemyslaw Gorszkowski
31ce303ee7 C++: fix code completion: casting inside parentheses
Included unit tests.

Task-number: QTCREATORBUG-8368

Change-Id: I1b04124bc2c9eac050cfb2e6d3a5c1aca5311f4b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-12-06 10:57:35 +01:00
Przemyslaw Gorszkowski
6b67f24865 C++: Fix code completion for operator ->
Fix code completion for operator '->' when
returned value is a pointer of typedef(e.g.:std::auto_ptr).
Included unit test.

Task-number: QTCREATORBUG-629
Change-Id: I36b53a3f80b3c99d52791e18ad1244923c1373f6
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2012-12-05 11:39:18 +01:00
Erik Verbruggen
cfc1069c78 C++: Remove hard-coded configuration file name.
Change-Id: Ibe4cc69eafd14dab7707862b1068ce1e21b1d8e0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2012-12-04 08:33:33 +01:00
Erik Verbruggen
696d55b0e0 C++: removed hack to guess how header files should be parsed.
Change-Id: I2503ef372af3d58b32cf7ef9ddf76050a376a783
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2012-12-03 14:13:07 +01:00
Orgad Shaneh
a44aa55502 Add whitespace after control keywords
find -name \*.cpp -o -name \*.h | \
  xargs sed -Ei 's/ (for|foreach|if|switch|while)\(/ \1 (/g'

Change-Id: I9efdff4bf0c8c01a52baaaeb75198483c77b0390
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-28 20:20:46 +01:00
Orgad Shaneh
3747e941ad Clean up whitespace before EOL
Change-Id: I385544a10b9be66589b0d1a48594128035836c8a
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-28 20:17:51 +01:00
Erik Verbruggen
964c01a460 C++: ProjectParts now contain everything that gets linked together.
Change-Id: Ib862e51897156a03a4a45e2a1690b00caeb03518
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-28 09:09:14 +01:00
Christian Kandeler
1bf4612c92 CppTools: Fix qbs build.
Change-Id: I92157e91f288a7abdaf3c8c3cf97cbff1d2872f0
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-11-27 16:07:31 +01:00
Eike Ziller
ba1d5f2cdf Merge remote-tracking branch 'origin/2.6'
Conflicts:
	share/share.qbs
	src/plugins/cpptools/cppchecksymbols.cpp
	src/plugins/texteditor/behaviorsettingswidget.cpp

Change-Id: Ia34060984f9c036b2f28a6411d796d41f55a3e37
2012-11-27 11:50:56 +01:00
Erik Verbruggen
271fb797cb Made symbol searching plug-able through indexing support.
The indexing support for the built-in code model is moved to its own
file. Symbol searching will now call for a searcher through that support
interface, which will create a fully configured and ready-to-go searcher
that can be started in the/a future.

Change-Id: Idc3ee1c7c789a69fa05ee1d42415313dcea94cf8
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2012-11-26 14:07:35 +01:00
Eike Ziller
387f5a7006 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/cpptools/cppcompletion_test.cpp
	src/plugins/projectexplorer/kitmanagerconfigwidget.cpp
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qtsupport/baseqtversion.cpp
	tests/auto/cplusplus/findusages/tst_findusages.cpp

Change-Id: Idd2abc09753a71a6c252bfa9914274459b2c7e63
2012-11-26 10:52:28 +01:00
Joerg Bornemann
8bdc9e975f fix QCoreApplication::translate usage in cppchecksymbols.cpp
Change-Id: I4fdae811af1efde50705d857f222866af188885c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-26 10:44:55 +01:00
hjk
86afe889b0 Copile fix after f8645bb6
Change-Id: I3218ee94b414a4188c574bc63c9fa6c6d0d0a490
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-26 10:16:05 +01:00
Orgad Shaneh
f8645bb6c7 Translate some strings
Change-Id: I5eab1edbca591cc36813cd862d6ad93875b51a3c
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-11-26 09:47:14 +01:00
Erik Verbruggen
cab6ed5e51 Fix: no scope walking for name resolving after MemAccess operator
Change-Id: Ic093079fa65d8d749911fd9f5b0f629e9fe68a1e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>

Conflicts:
	tests/auto/cplusplus/findusages/tst_findusages.cpp

Change-Id: I87d305e2d68582aa00b92f9599368615cd76ec74
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-11-22 16:39:47 +01:00
Przemyslaw Gorszkowski
56966f3712 C++: Fix code completion for Qt containers
This change solves only problem with Qt containers.
stl containers need separate change.
Problem was with predeclaration of template class after
declaration of this template class.
(there is unit test added which shows the problem).

Task-number: QTCREATORBUG-8228 (cover only Qt containers)

Change-Id: If1f76c88c955b7b55347d302b353f5cd52b244a4
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>

Conflicts:
	src/plugins/cpptools/cppcompletion_test.cpp

Change-Id: I9f665276926f2e440ad0c92e94dd1aeee89005b3
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-11-22 16:39:15 +01:00
hjk
54c1e42e27 Compile fix after recent QT_NO_CAST... changes
Change-Id: I83564b1618d0d5de949383ae3e5a9633de04e478
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-22 11:36:50 +01:00
Friedemann Kleint
cb64537a24 Fix compilation of tests with QT_NO_CAST_FROM_ASCII.
Change-Id: Id1c7564b70719900cf3f5508faac0cab00b0afa0
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-11-22 10:50:29 +01:00
Orgad Shaneh
be443b8edb CppTools: Compile with QT_NO_CAST_FROM_ASCII
Change-Id: I31a6117c2b4be3f8603c16a9f98b6937a0b9aeb2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-22 09:40:14 +01:00
Orgad Shaneh
f0ef96ef0c Replace some const char * with const char[]
Change-Id: I7657792d9ebfcaede7b719400d239f837074290b
Reviewed-by: David Schulz <david.schulz@digia.com>
2012-11-22 09:36:09 +01:00
Orgad Shaneh
7fa69afa6c Use Core::Id for language
Change-Id: I0077558e9e2cf5aa06ac921cb45224e29aa85c9b
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-22 08:32:44 +01:00
Erik Verbruggen
8cbf0e7045 Fix: no scope walking for name resolving after MemAccess operator
Change-Id: Ic093079fa65d8d749911fd9f5b0f629e9fe68a1e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2012-11-21 14:38:00 +01:00
Przemyslaw Gorszkowski
22c3bd244f C++: Fix code completion for Qt containers
This change solves only problem with Qt containers.
stl containers need separate change.
Problem was with predeclaration of template class after
declaration of this template class.
(there is unit test added which shows the problem).

Task-number: QTCREATORBUG-8228 (cover only Qt containers)

Change-Id: If1f76c88c955b7b55347d302b353f5cd52b244a4
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-11-21 12:42:21 +01:00
Nikolai Kosjar
efc96e402b C++: Fix regression not showing classes in completion.
Change-Id: I06b4289460d623da4b70d324d0cdf53ff7c972e7
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-11-20 09:40:02 +01:00
Przemyslaw Gorszkowski
b03ba2bdb1 Unit tests for code completion
Unit tests for code completion for nested class when enclosing is a template

Change-Id: I409f742923468db23dd9a8e4c18cbb21b1e52dd9
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-09 09:47:09 +01:00
Nikolai Kosjar
9f38f7bfbc C++: Store lambda captures in the code model.
Done-with: Erik Verbruggen
Task-number: QTCREATORBUG-7968
Task-number: QTCREATORBUG-7949

Change-Id: I0cf727052d0a3536ed96ee894b18768c9538c213
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-11-07 13:36:20 +01:00
Erik Verbruggen
41eff78e87 C++: add method to dump the model manager configuration.
This method is called when the QTCREATOR_DUMP_PROJECT_INFO environment
variable is defined.

Change-Id: Id314994a2eed79cf688f5ef82f597524dba7a5cd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-06 11:28:52 +01:00
Christian Kamm
19e03b186a C++11: Correct scoping for scoped enums.
Fixes completion, highlighting and find usages.

Change-Id: I1ea12c6a9c7a4f8ba0f9d55e31d6b7986233e7d8
Reviewed-by: hjk <qthjk@ovi.com>
2012-10-31 15:09:06 +01:00
Eike Ziller
0a1bdf4257 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	share/share.qbs
	tests/auto/icheckbuild/icheckbuild.pro

Change-Id: I13bc737c981aaeb615ab1a3571cc8a18f60a7cd6
2012-10-25 10:45:58 +02:00
Christian Kandeler
af61582cc8 CppTools: Fix qbs build.
Change-Id: I3dc1bc8845ee26a1f8a2c8264c9dc2eaa0aa1896
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-24 16:52:52 +02:00
Andre Hartmann
0b9ce52904 C++ Macro Usages: Refactoring
Change-Id: I959e0aeeec3164fdd997c08b6d4ed4e95a39009f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-10-24 12:17:12 +02:00
Przemyslaw Gorszkowski
e53f435219 Fix crashes when cyclic inheritance
More complex situation.
Base class is a template and derived class is a template.

Task-number: QTCREATORBUG-8072
Task-number: QTCREATORBUG-7962
Change-Id: I7e8aa727fccd2bd4a779e6fe781553cd12196682
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-10-24 11:10:23 +02:00
Erik Verbruggen
9246e78d23 C++: started to make indexing plug-able.
Change-Id: Iff35840d73882a212dd77b54e4223c0b4111ac1c
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-10-23 09:26:19 +02:00
Eike Ziller
021b64b5df Merge remote-tracking branch 'origin/2.6' 2012-10-22 11:17:09 +02:00
Erik Verbruggen
2b95d81cd8 C++: Fix typedef resolving when templates are involved.
Task-number: QTCREATORBUG-7978
Change-Id: I27e6ebe56e410d509580a1e00f8986642cacc5ba
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2012-10-19 14:42:32 +02:00
hjk
6fb3328dbe CppEditor: remove operator() overloads from OverView
Feels less obfuscated.

Change-Id: Ide0ec1f38762038ddbb1eddb4f70f7d6acdf1ff7
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-10-17 11:20:10 +02:00
Eike Ziller
70b5e1f64d Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: Id870f70aa35c232dbbd455f83429bab80f266c2d
2012-10-16 17:42:10 +02:00
Erik Verbruggen
b6608da7d1 C++: changed the CppModelManager to use a normal singleton.
Also removed two TODOs.

Change-Id: I91b235795da7e87a21782d189844eacdd68c5f3c
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-16 16:13:43 +02:00
Christian Kamm
9c872643ae C++: Introduce an ordering of completion items.
For example locals and function argument names appear early whereas
macros and keywords are way down. That should move helpful
items to the top of the list.

Change-Id: Ibcfe973ebbac2e3bce9cafbe14dc4c71430ddca7
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-10-15 15:53:57 +02:00
Erik Verbruggen
1b90d999a5 C++: removed invalid FIXME.
Change-Id: I05d17e5384bcc75e97c5d901b65a582516a5d321
Reviewed-by: David Schulz <david.schulz@digia.com>
2012-10-15 13:33:01 +02:00
Erik Verbruggen
f3faef5a1e C++: Fix outdated macro usage info in documents.
Record revisions of documents in macro definitions and usages. Then,
when searching for usages, check the revision of the documents against
the revision of the macros. If they are out-of-sync, repreprocess the
documents to get up-to-date info.

Task-number: QTCREATORBUG-7872
Change-Id: I846bb52ec660024728ab117a9fb7e43382a50e63
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2012-10-15 10:58:07 +02:00