summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcompletion_test.cpp
Commit message (Collapse)AuthorAgeFilesLines
* C++: Handle recursive using/typedef declarationsNikolai Kosjar2013-06-251-0/+137
| | | | | | | | | Remember using/typedef declarations we have already looked up and stop if we try it again. Change-Id: I91bf0aef4df18539a47d015f0113543aef1f692a Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> (cherry picked from commit 50a900e509be2e1f448f29be126ba3b7f8173901)
* C++: Handle recursive auto declarationsNikolai Kosjar2013-06-251-0/+53
| | | | | | | | | | | | Remember auto declarations we have already looked up and stop if we try it again. Task-number: QTCREATORBUG-9503 Change-Id: I989b11609c98bf197ce916d79c9d452294355053 Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> (cherry picked from commit 8f1b6656677344e9ca4b6798ddd900725c478b16)
* C++: fix crash during code completion with base template classPrzemyslaw Gorszkowski2013-05-241-0/+34
| | | | | | | | | ResolveExpression has to have a reference of ContextLookup. If not there will be a crash because of deleted instanitated base template class. Task-number: QTCREATORBUG-9329 Change-Id: I7f8c83da0d81ac6311e76d15a897adbc70b08d75 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: fixed code completion for namespace aliasesPrzemyslaw Gorszkowski2013-04-101-0/+47
| | | | | | | | | Task-number: QTCREATORBUG-166 Change-Id: I7a19065a57bfb943e5fc4e2bd9bd81988c1175e3 Reviewed-by: Sergey Shambir <sergey.shambir.auto@gmail.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: fix 'using' for templates in typedefsPrzemyslaw Gorszkowski2013-02-211-0/+105
| | | | | | | | | | | | Fix resolving typedef of templates which is from different namespace and there was 'using' used for it. Examples are in tests. Another step to bring code completion for stl containters. Task-number: QTCREATORBUG-7978 Change-Id: I2e9e71b45d60536c1e25cf2d371c4719b15edf79 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: fix instantiation of template special. with pointer argumentPrzemyslaw Gorszkowski2013-02-211-0/+33
| | | | | | | | | | | | | | | | Fixed code completion for instantiation of template specialization with argument as pointer, e.g.: template <typename T> struct Template { T variable; }; template <typename T> struct Template<T *> { T *pointer; }; Template<int*> templ; templ.pointer; Change-Id: I7c79fe0cd7119b1208f064aece0cafdf50e1a012 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: fixed resolving complex typedefPrzemyslaw Gorszkowski2013-02-201-0/+43
| | | | | | | | Unit test describe this complex typedef. Another step to bring code completion for stl containers. Change-Id: I27985c4ea7c26c723d7a88ce42c5ecf164b6c903 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: fix code completion for typedef of pointerPrzemyslaw Gorszkowski2013-02-111-0/+87
| | | | | | | | | | Fix code completion and highlighting member of typedefed pointers. It works when typedef is inside or outside of the function. Task-number: QTCREATORBUG-8671 Task-number: QTCREATORBUG-8672 Change-Id: I9cc87080bf443f7ffa6a90ef5ba582b87700f2db Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* C++: instantiate template with default argumentPrzemyslaw Gorszkowski2013-02-011-0/+73
| | | | | | | | Fix code completion for instantiation of template with default argument Change-Id: I57b0306cc4540400ae83724db6c8b6b1aa67c255 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: fix replacing dot(.) with arrow(->)Przemyslaw Gorszkowski2013-02-011-0/+56
| | | | | | | | | Fix replacing operator dot(.) with operator arrow(->) for typedef pointer. Task-number: QTCREATORBUG-8488 Change-Id: Ic4462bc437a4aa37adfed4fa50b32d9bc20fe194 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* Merge remote-tracking branch 'origin/2.6'Oswald Buddenhagen2013-01-311-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in src/plugins/debugger/qtmessageloghandler.cpp src/plugins/debugger/qtmessagelogwindow.cpp src/plugins/madde/maemodeployconfigurationwidget.cpp src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp src/plugins/qmldesigner/designercore/include/widgetqueryview.h src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp src/plugins/qnx/bardescriptormagicmatcher.h src/plugins/qt4projectmanager/profilekeywords.cpp src/plugins/remotelinux/deployablefilesperprofile.cpp src/plugins/remotelinux/deployablefilesperprofile.h src/plugins/remotelinux/deploymentinfo.cpp src/plugins/remotelinux/deploymentsettingsassistant.cpp src/plugins/remotelinux/profilesupdatedialog.cpp tests/auto/icheckbuild/ichecklib.cpp tests/auto/icheckbuild/parsemanager.cpp tests/auto/icheckbuild/parsemanager.h Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
| * Incremented year in copyright infov2.6.2Robert Loehning2013-01-291-1/+1
| | | | | | | | | | Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | C++: Fix code compl. for instantiation of template specializationPrzemyslaw Gorszkowski2013-01-301-0/+36
| | | | | | | | | | | | | | | | | | | | | | It works for full specialization. Instantiate of the partial specialization has to be implemented(finding appropriate partial specialization-on going) Added unit test. Change-Id: I8ef5ea963e7c665e0d67d390b3a833486773dab0 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | C++: undo accidental rename of struct TestData to TestCase.Erik Verbruggen2013-01-301-19/+19
| | | | | | | | | | | | | | This was done in 72db7a8f5238fe3c2bce1fa1870ba729126745f8. Change-Id: I9b5d2b50de5dbd929c53e2ca0a70bce239c878ad Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | C++: add test-case for member access replacement in completion.Erik Verbruggen2013-01-301-2/+32
| | | | | | | | | | | | Change-Id: Id5fe00b94a6622178db9bd26f54d29efe88970f7 Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | CppEditor: quick fix to generate getters and settersErik Verbruggen2013-01-241-18/+18
| | | | | | | | | | | | | | | | | | | | This does not take namespaces on the implementation side into account and does not properly position/indent things. Task-number: QTCREATORBUG-1890 Change-Id: I779d12fefc79521bce38361729d4f66dada71147 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | C++: unit test for code completionPrzemyslaw Gorszkowski2012-12-291-0/+28
| | | | | | | | | | | | | | Added unit test for code completion when pointer's type is a typedef Change-Id: I408be8d9364a4b48824238dcc44175167ae653f4 Reviewed-by: hjk <qthjk@ovi.com>
* | C++: Fix code completion for nested classesPrzemyslaw Gorszkowski2012-12-201-0/+84
| | | | | | | | | | | | | | | | | | | | 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>
* | C++: fix code completion: casting inside parenthesesPrzemyslaw Gorszkowski2012-12-061-0/+81
| | | | | | | | | | | | | | | | | | | | 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>
* | C++: Fix code completion for operator ->Przemyslaw Gorszkowski2012-12-051-0/+43
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/2.6'Eike Ziller2012-11-261-1/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | 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
| * Fix: no scope walking for name resolving after MemAccess operatorErik Verbruggen2012-11-221-2/+0
| | | | | | | | | | | | | | | | | | | | | | 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>
| * C++: Fix code completion for Qt containersPrzemyslaw Gorszkowski2012-11-221-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix compilation of tests with QT_NO_CAST_FROM_ASCII.Friedemann Kleint2012-11-221-136/+136
| | | | | | | | | | Change-Id: Id1c7564b70719900cf3f5508faac0cab00b0afa0 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | Fix: no scope walking for name resolving after MemAccess operatorErik Verbruggen2012-11-211-2/+0
| | | | | | | | | | Change-Id: Ic093079fa65d8d749911fd9f5b0f629e9fe68a1e Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | C++: Fix code completion for Qt containersPrzemyslaw Gorszkowski2012-11-211-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Unit tests for code completionPrzemyslaw Gorszkowski2012-11-091-1/+45
|/ | | | | | | Unit tests for code completion for nested class when enclosing is a template Change-Id: I409f742923468db23dd9a8e4c18cbb21b1e52dd9 Reviewed-by: hjk <qthjk@ovi.com>
* Fix crashes when cyclic inheritancePrzemyslaw Gorszkowski2012-10-241-0/+39
| | | | | | | | | | 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>
* C++: Fix typedef resolving when templates are involved.Erik Verbruggen2012-10-191-0/+70
| | | | | | | | 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>
* C++: fix member rewriting when doing template instantiation.Erik Verbruggen2012-10-111-0/+72
| | | | | | Task-number: QTCREATORBUG-7964 Change-Id: Icc7d87bb4f2d1ab0560a6c06187d9c23da9fe3e9 Reviewed-by: David Schulz <david.schulz@digia.com>
* Adjust license headershjk2012-10-051-23/+20
| | | | | Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* Fix crashes when cyclic inheritancePrzemyslaw Gorszkowski2012-10-021-0/+120
| | | | | | | Task-number: QTCREATORBUG-7933 Change-Id: I98469a092ff3ff0acc69800e9aade4ebb268332a Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Fix crashes when typing codePrzemyslaw Gorszkowski2012-09-281-1/+274
| | | | | | | | | | | Problem was with cyclic recurrence. To solve it we need to check if derived class is different class than its base class. Keep completion corrected. Include some unit tests when base class has the same name as derived. Task-number: QTCREATORBUG-7887 Change-Id: I7973c0b06e3b62d2da3d06048f4327d18a0b8011 Reviewed-by: hjk <qthjk@ovi.com>
* C++: Improve completion when forward declarations presentLeandro Melo2012-08-231-0/+34
| | | | | | | | | | This fixes one of the issues mentioned in the report below. THe other part will come in a separate patch. Task-number: QTCREATORBUG-7730 Change-Id: I9f56a9bcec8a881dab3ab60f40c5b71f296466da Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* C++: Completion for templates as base classesLeandro Melo2012-08-231-0/+169
| | | | | | | | | | This fixes a variety of issues regarding class completion when templates are used as base classes. The test cases show examples. Task-number: QTCREATORBUG-4357 Change-Id: I764d5ce817a78e1b19336e5beab758ca9e10f34b Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* rename QtDebug to QDebughjk2012-08-061-1/+1
| | | | | | | More uniform. Change-Id: I1c6057981f4c2b3170a4e69f0674fe4caf1143a2 Reviewed-by: Robert Loehning <robert.loehning@nokia.com>
* C++: Fix class scope completion for templates.Christian Kamm2012-07-201-0/+198
* You now get completion for std::vector<int>::[complete]. * Also added a test. Conflicts: src/plugins/cpptools/cppcompletion_test.cpp src/plugins/cpptools/cpptoolsplugin.h Change-Id: I596ebf6bd18ec9a347113f8d162cc124c8a0d6b4 Reviewed-by: hjk <qthjk@ovi.com>