summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools
Commit message (Collapse)AuthorAgeFilesLines
* CppEditor: Fix isValidAsciiIdentifierChar.David Schulz2014-09-221-1/+1
| | | | | | Task-number: QTCREATORBUG-13012 Change-Id: I70d45dcdc72408d46bea0b78746ab28c17f3b9e3 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* CppTools: Fix compilation with recent gcc 4.9.2Orgad Shaneh2014-09-192-15/+21
| | | | | | | | | | | | | | | | | | See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62224 .obj/release-shared/cppcodemodelinspectordialog.o: In function `CppEditor::Internal::CppCodeModelInspectorDialog::refresh()': cppcodemodelinspectordialog.cpp:(.text+0x79fc): undefined reference to `CppTools::Internal::CppModelManager::ensureUpdated()' .obj/release-shared/cppcodemodelinspectordialog.o: In function `CppTools::Internal::CppModelManager::definedMacros()': cppcodemodelinspectordialog.cpp:+0x26): undefined reference to `CppTools::Internal::CppModelManager::ensureUpdated()' .obj/release-shared/cppcodemodelinspectordialog.o: In function `CppTools::Internal::CppModelManager::headerPaths()': cppcodemodelinspectordialog.cpp: +0x26): undefined reference to `CppTools::Internal::CppModelManager::ensureUpdated()' Change-Id: Ie0e01f7628668cbbe11b701a93caef98bb8e335f Reviewed-by: Adam Majer <adamm@zombino.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> (cherry picked from commit c023a1cac182b44baa8645e8955ef03ed0d31fd7) Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* C++: Fix possible use-after-free of AST.Erik Verbruggen2014-08-291-4/+0
| | | | | | | | | | | | | | | | | | The CppRefactoringChanges::fileNoEditor takes a Document from the snapshot it has. Although this snapshot is a safe copy, it might have been gotten right after it was updated by indexing. Such a document will still have its AST. If this AST is used by any refactoring action without retaining it, the pointers will be dangling after a short while (specifically: after the locator has extracted all the information). The fileNoEditor method is called by the declDefLinkFinder to search the target document. The snapshot is obtained before, and contains the document for the semantic info. However, the target document will not come from the semantic info, but from the indexer. Change-Id: I212ff41dde6910e94e80552b2c3e5911fe9496ae Task-number: QTCREATORBUG-11262 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* C++: set the objectName of QTimers.Erik Verbruggen2014-08-293-0/+5
| | | | | | | | | This will hopefully help a bit in resolving the crashes that happen in QCoreApplication::notifyInternal. Change-Id: Ib3aa8c1a1f50778bd89938d7c529d8399ccf91ea Task-number: QTCREATORBUG-11262 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* CppTools: Remove concurrent write access to diagnostic messagesNikolai Kosjar2014-08-211-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...in CheckSymbols (highlighting backend). CheckSymbols might run concurrently several times with the same CPlusPlus::Document and modify the diagnostic messages in an unsave manner. See stack straces below. While the generated diagnostic messages ("Only virtual functions can be marked 'final'", "Too few arguments", ...) are useful, they weren't propagated to the editor widget since several minor versions. ================================================================= ==23724==ERROR: AddressSanitizer: attempting double-free on 0x60c0072fcd00 in thread T528 (Thread (pooled)): #0 0x4787c1 in __interceptor_free (/home/nik/dev/creator/creator-ut_clang-qt5/bin/qtcreator+0x4787c1) #1 0x7fa15e5da4ac in QTypedArrayData<unsigned short>::deallocate(QArrayData*) /home/nik/usr/qt-5.3.1/include/QtCore/qarraydata.h:234 #2 0x7fa15e5d87db in QString::~QString() /home/nik/usr/qt-5.3.1/include/QtCore/qstring.h:995 #3 0x7fa15e5f4f6a in CPlusPlus::Document::DiagnosticMessage::~DiagnosticMessage() /home/nik/dev/creator/creator-ut/src/libs/cplusplus/CppDocument.h:140 #4 0x7fa15e5f4de2 in QList<CPlusPlus::Document::DiagnosticMessage>::node_destruct(QList<CPlusPlus::Document::DiagnosticMessage>::Node*, QList<CPlusPlus::Document::DiagnosticMessage>::Node*) /home/nik/usr/qt-5.3.1/include/QtCore/qlist.h:432 #5 0x7fa15e5f4ae9 in QList<CPlusPlus::Document::DiagnosticMessage>::dealloc(QListData::Data*) /home/nik/usr/qt-5.3.1/include/QtCore/qlist.h:784 #6 0x7fa15e5f47ed in QList<CPlusPlus::Document::DiagnosticMessage>::~QList() /home/nik/usr/qt-5.3.1/include/QtCore/qlist.h:760 #7 0x7fa15e7533c2 in QList<CPlusPlus::Document::DiagnosticMessage>::clear() /home/nik/usr/qt-5.3.1/include/QtCore/qlist.h:793 #8 0x7fa15e6f2ed2 in CPlusPlus::Document::clearDiagnosticMessages() /home/nik/dev/creator/creator-ut/src/libs/cplusplus/CppDocument.h:205 #9 0x7fa15e6c5f5b in CppTools::CheckSymbols::run() /home/nik/dev/creator/creator-ut/src/plugins/cpptools/cppchecksymbols.cpp:337 #10 0x7fa15e6c83c2 in non-virtual thunk to CppTools::CheckSymbols::run() /home/nik/dev/creator/creator-ut/src/plugins/cpptools/cppchecksymbols.cpp:348 #11 0x7fa17f0ccab1 (/home/nik/usr/qt-5.3.1/lib/libQt5Core.so.5+0x98ab1) #12 0x7fa17f0cfa5e (/home/nik/usr/qt-5.3.1/lib/libQt5Core.so.5+0x9ba5e) #13 0x7fa17eaeb181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181) #14 0x7fa17dbec38c (/lib/x86_64-linux-gnu/libc.so.6+0xfb38c) 0x60c0072fcd00 is located 0 bytes inside of 128-byte region [0x60c0072fcd00,0x60c0072fcd80) freed by thread T539 (Thread (pooled)) here: #0 0x4787c1 in __interceptor_free (/home/nik/dev/creator/creator-ut_clang-qt5/bin/qtcreator+0x4787c1) #1 0x7fa15e5da4ac in QTypedArrayData<unsigned short>::deallocate(QArrayData*) /home/nik/usr/qt-5.3.1/include/QtCore/qarraydata.h:234 #2 0x7fa15e5d87db in QString::~QString() /home/nik/usr/qt-5.3.1/include/QtCore/qstring.h:995 #3 0x7fa15e5f4f6a in CPlusPlus::Document::DiagnosticMessage::~DiagnosticMessage() /home/nik/dev/creator/creator-ut/src/libs/cplusplus/CppDocument.h:140 #4 0x7fa15e5f4de2 in QList<CPlusPlus::Document::DiagnosticMessage>::node_destruct(QList<CPlusPlus::Document::DiagnosticMessage>::Node*, QList<CPlusPlus::Document::DiagnosticMessage>::Node*) /home/nik/usr/qt-5.3.1/include/QtCore/qlist.h:432 #5 0x7fa15e5f4ae9 in QList<CPlusPlus::Document::DiagnosticMessage>::dealloc(QListData::Data*) /home/nik/usr/qt-5.3.1/include/QtCore/qlist.h:784 #6 0x7fa15e5f47ed in QList<CPlusPlus::Document::DiagnosticMessage>::~QList() /home/nik/usr/qt-5.3.1/include/QtCore/qlist.h:760 #7 0x7fa15e7533c2 in QList<CPlusPlus::Document::DiagnosticMessage>::clear() /home/nik/usr/qt-5.3.1/include/QtCore/qlist.h:793 #8 0x7fa15e6f2ed2 in CPlusPlus::Document::clearDiagnosticMessages() /home/nik/dev/creator/creator-ut/src/libs/cplusplus/CppDocument.h:205 #9 0x7fa15e6c5f5b in CppTools::CheckSymbols::run() /home/nik/dev/creator/creator-ut/src/plugins/cpptools/cppchecksymbols.cpp:337 #10 0x7fa15e6c83c2 in non-virtual thunk to CppTools::CheckSymbols::run() /home/nik/dev/creator/creator-ut/src/plugins/cpptools/cppchecksymbols.cpp:348 Change-Id: Ifab2842ea43aeb26099835966b02d8afc4b85df4 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* CppTools: Auto-include pre-compiled headersNikolai Kosjar2014-07-245-15/+39
| | | | | | | | | | | | So far the pre-compiled headers were processed (thus defines from those headers were visible), but the actual includes for the documents were not added, which is necessary for lookup/completion. Note that this will be only done if pre-compiled headers are not ignored (Options > C++ > Code Model > [] Ignore pre-compiled headers). Change-Id: I54a8e6b00597af164d958e3e9f2a1075ea187788 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* CppTools: Fix Switch Header/Source going to wrong fileNikolai Kosjar2014-07-241-11/+12
| | | | | | | | | Check only other projects if the current file is not part of any project. Task-number: QTCREATORBUG-12328 Change-Id: I7db65b26313a26773bbbf17e966abd668ea9a1a5 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* ObjC++: also index ObjC symbols.Erik Verbruggen2014-07-243-29/+76
| | | | | | | | @classes, @protocols, @properties and -methods (and +methods) will now show up in the locator. Change-Id: I33f904c456c321fc80b8aba7ff52d5f1207c58be Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* C++: Check for Function::name() before using itNikolai Kosjar2014-07-171-1/+1
| | | | | | | | Lambdas do not have a name. Change-Id: Ifda4816c62dcfe19bdbb1649dc1caf408e056b37 Task-number: QTCREATORBUG-12686 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* CppTools: Remove a QTC_ASSERTNikolai Kosjar2014-07-081-1/+2
| | | | | | | | | | | | Triggering the action "Rename Symbol Under Cursor" before the SnapshotUpdater::update() call in parse() of cpptoolseditorsupport.cpp led to the failing assertion. Triggering the action in the initialization phase of the editor is not supported, therefore replace the assert with a silent if. Change-Id: Ib911b8aa038ae3d9ea28c720853780b11dfa0fb7 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: template base class and default argument for template classPrzemyslaw Gorszkowski2014-07-081-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix code completion for case: struct Foo { int bar; }; template <typename T> struct Base { T t; }; template <typename T1 = Foo> struct Derived : Base<T1> {}; int main() { Derived<> foo; foo.t.// no code completion return 0; } Task-number: QTCREATORBUG-12606 Change-Id: Iadf2fae172739d0a5844c6b437fd2686616e64e7 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: base class and default argument for template classPrzemyslaw Gorszkowski2014-07-071-0/+13
| | | | | | | | | | | | | | | | | | | | | | Fix code completion in case: struct Foo { int bar; }; template <typename T1 = Foo> struct Derived : T1 { }; int main() { Derived<> foo; foo. // members from Foo are not proposed return 0; } Task-number: QTCREATORBUG-12605 Change-Id: Ibe35c7b9a161e789057a4518c72390ac52489a3e Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* CppTools: Fix compilation with MSVCNikolai Kosjar2014-07-041-1/+1
| | | | | Change-Id: I81e966414f7b2060b86879b696918227eac13a73 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
* C++: fix include/framework path handling.Erik Verbruggen2014-07-0418-216/+204
| | | | | | | | | | 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>
* CppTools: Compile fix for namespaced Qthjk2014-07-041-0/+2
| | | | | Change-Id: I21b0af020938db77e92661d6c481e60df3e87bef Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* C++: Fix (Find)LocalSymbols for lambda parametersNikolai Kosjar2014-07-042-0/+25
| | | | | Change-Id: I5cb69749b4f15e4f70dea410aa6f943c4189c502 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: Add basic LocalSymbols testNikolai Kosjar2014-07-044-0/+191
| | | | | Change-Id: I199e912203f329ec9b8bed2eb105e4a56f729e7d Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: Fix completion for lambda parametersNikolai Kosjar2014-07-041-0/+5
| | | | | Change-Id: I6db51aeba328dbb69ec59082a70be7bc2d95699b Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* CppTools: Remove unused membersNikolai Kosjar2014-07-041-6/+1
| | | | | Change-Id: Id8402ac62ea73b98a6ab1d641d45dff621a096c4 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Always pass Core::Id by value.Christian Kandeler2014-07-012-2/+2
| | | | | | | | | | | Currently we pass in some places by value, elsewhere by const ref and for some weird reason also by const value in a lot of places. The latter is particularly annoying, as it is also used in interfaces and therefore forces all implementors to do the same, since leaving the "const" off is causing compiler warnings with MSVC. Change-Id: I65b87dc3cce0986b8a55ff6119cb752361027803 Reviewed-by: hjk <hjk121@nokiamail.com>
* Utils: Remove function wrapperhjk2014-06-302-3/+2
| | | | | | | | | This was an intentional, time-limited workaround that has served its purpose now that we require C++11. Change-Id: I96ece9c21bd405d281fd381bd9b87edc00c5ee84 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* Lambda cleanupOrgad Shaneh2014-06-251-1/+1
| | | | | Change-Id: Ia7f1d530e01d4ae3990713e23d672249d9489561 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* C++: Split designator ASTOrgad Shaneh2014-06-242-4/+3
| | | | | | Change-Id: I9bfed2023624c818c0f35f24476693cffeaf2bbc Reviewed-by: Wang Hoi <wanghoi@126.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* Add syntax highlight for primitive data typesAnton Kalmykov2014-06-241-0/+4
| | | | | | | | Syntax highlight rules for keywords are changed to highlight control keywords and primitive data types separately. Change-Id: Ifb25be7a97b92589030aa190641320c233dc7f2d Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* Reinvent deprecated qSort as Utils::sortNikita Baryshnikov2014-06-195-15/+16
| | | | | | | Change-Id: I4f6011cc2b6127037249aabc2426a88ad7108ebf Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* compile fix for msvc2010Tim Jenssen2014-06-182-2/+2
| | | | | Change-Id: Ifdcf16d12af06c7f3da6feb133e139ffa0acdb11 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* C++: Remove class/function/enum extraction from CppLocatorData.Erik Verbruggen2014-06-1813-146/+139
| | | | | | | | | | | | | | | | With every single change in a document the corresponding IndexItem elements were extracted and put into an vector. The locator filters then used these lists to iterate over and filter them. This change removes that extraction, and the filtering now directly iterates over the IndexItem elements with a callback. The exception is the current document filter, because it also queries for all declarations. Adding this to the model would result in a higher memory usage, while that information is only used by this filter. Change-Id: Ibe445cc11e9f68b5d807348fd46c7cac4aff4c85 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* C++: move post-sourceprocessing action into callback.Erik Verbruggen2014-06-188-56/+58
| | | | | Change-Id: Iac6c9fe1ada27ac0d96417e490cc5723e6969541 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* C: Parser: Support parsing of c99 designated initializersWang Hoi2014-06-173-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | In case: int a[6] = { [4] = 29, [2] = 15 }; struct point { int x, y; }; struct point p = { .y = 3, .x = 2 }; Grammar change when c99 language feature is enabled: old grammar: braced-init-list :: '{' initializer-list '}' new grammar: braced-init-list :: '{' designated-initializer-list '}' designated-initializer-list :: designated-initializer (',' designated-initializer )* designated-initializer :: designator* initializer-clause designator :: '.' identifier | '[' constant-expression ']' Task-number: QTCREATORBUG-1902 Change-Id: Ib99d6f553f8d0f50ba3eff86f3a2e86d73372426 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* C++ tests: increase verbosity to simplify debugging.Erik Verbruggen2014-06-171-2/+10
| | | | | Change-Id: Ib92418898d627b9b07b861a0255684c8f925f814 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* CppTools: Remove test file after testNikolai Kosjar2014-06-164-6/+42
| | | | | | | | | In test_includeGroups_detectIncludeGroupsByIncludeType the test file was not removed and thus subsequent and isolated executions of this test failed. Change-Id: I5eeb4f004f5b146ac794ca913b4092629131fca3 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* C++: Rename ModelItemInfo to IndexInfo.Erik Verbruggen2014-06-1618-237/+313
| | | | | | | And move it into its own header and source files. Change-Id: I37401badd819e028e1d767425759dc0ff27afe31 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* Merge remote-tracking branch 'origin/3.1'Eike Ziller2014-06-131-0/+14
|\ | | | | | | | | | | | | | | | | Conflicts: qtcreator.pri qtcreator.qbs src/shared/qbs Change-Id: Iba59e41db72e2afdf594f1f7003215d7d8d1e6d3
| * C++: fix nested anonymous with __attribute__Przemyslaw Gorszkowski2014-06-061-0/+14
| | | | | | | | | | | | | | Task-number: QTCREATORBUG-12345 Change-Id: Ib2316ebdc81393b38185b9cb659fb85b78753e7b Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* | CppTools: Start to use editor documentNikolai Kosjar2014-06-122-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | This is only a small refactoring step towards a editor-free CppEditorSupport. Left are m_editor references that need to be addressed. No functional change. Change-Id: I9fc7b0abfe88f5b9a6ce3f57a5c4a922ae953ddf Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppTools: CppHighlightingSupport takes a BaseTextDocumentNikolai Kosjar2014-06-1211-32/+42
| | | | | | | | | | | | | | | | | | | | ...instead an ITextEditor. The ITextEditor was only used to access the file path and QTextDocument via the BaseTextEditorWidget. Change-Id: Idef2b8162b992fe3718e16e2a046e2ff214846f2 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppTools: CMM::completionAssistProvider takes a mimeTypeNikolai Kosjar2014-06-124-6/+11
| | | | | | | | | | | | | | No need to pass more than needed. Change-Id: I047cc44f17342999e0809d022df35ba9a4a8dfb8 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppTools: Add dummy macro for __thiscallOrgad Shaneh2014-06-121-0/+1
| | | | | | | | | | | | Change-Id: If2ccfe9ff40539404ed0f40c06c71a73ee661e2d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppTools: Remove some duplicate codeNikolai Kosjar2014-06-102-30/+13
| | | | | | | | | | Change-Id: I83c0bbcf221fd163cd2514a9d23983b82e1f04fd Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppTools: Unexport some internal classes.Nikolai Kosjar2014-06-107-12/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unexports CppModelManager, CppSourceProcessor and CppToolsPlugin. Now only some constructor signatures mention "Internal::" in the exported symbols: % nm --extern-only --demangle ./lib/qtcreator/plugins/libCppTools.so | grep "Internal::" CppTools::CppClassesFilter::CppClassesFilter(CppTools::Internal::CppLocatorData*) CppTools::CppClassesFilter::CppClassesFilter(CppTools::Internal::CppLocatorData*) CppTools::CppEditorSupport::CppEditorSupport(CppTools::Internal::CppModelManager*, TextEditor::BaseTextEditor*) CppTools::CppEditorSupport::CppEditorSupport(CppTools::Internal::CppModelManager*, TextEditor::BaseTextEditor*) Change-Id: I167c21a6dc03cf02230c95fde66cf404e40df36f Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | Cpp{Editor,Tools}: Move tests for IncludeGroups to CppToolsNikolai Kosjar2014-06-102-0/+172
| | | | | | | | | | | | | | | | They belong there. This will also kill the CppSourceProcessor dependency from CppEditor. Change-Id: Ic2ae6b0c6f0913d913636be61df194846985d1ce Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppTools: Clean up CppSourceProcessorNikolai Kosjar2014-06-042-132/+115
| | | | | | | | | | | | | | This mostly makes sourceNeeded() a bit more readable. Change-Id: I8da40090fb499837ec56276e7a4273211920c2d2 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppTools: Rename CppPreprocessor to CppSourceProcessorNikolai Kosjar2014-06-0412-111/+112
| | | | | | | | | | | | | | | | | | | | ...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>
* | C++: Add child items to ModelItemInfo.Erik Verbruggen2014-06-045-74/+121
| | | | | | | | | | | | Change-Id: I849e0819a54dc8d6c49675c78d6668daf5c40af4 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: David Schulz <david.schulz@digia.com>
* | C++: Fix Macrouse::utf16charsBegin()Nikolai Kosjar2014-06-032-0/+23
| | | | | | | | | | | | | | | | | | | | This caused displaced highlighting of macro uses after #if constructs. MacroUse::utf16charBegin() was based on the last "continuation token", which was wrong. Change-Id: I89983d82fcf804ba853c04a59a7533c489785d05 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppTools: Move setting category icon from Core to CppToolsAlessandro Portale2014-06-035-1/+10
| | | | | | | | | | | | | | | | This image is used exclusively in the CppTools plugin, thus belong into CppTools resources. Change-Id: I8bbc553fb16897b74487ad27a941776b83f14d77 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | Unify Utils::ChangeSet usagesOrgad Shaneh2014-06-024-18/+10
| | | | | | | | | | | | | | | | | | * Remove using Utils::ChangeSet from header files * Remove unused typedef for Range * Add it only in source files that contain many occurrences Change-Id: I60a8b77e2d5a46431507f53b6d60186d511ccf30 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | CppTools: Fix compilation with MSVCTim Jenssen2014-06-022-0/+2
| | | | | | | | | | | | Change-Id: I6a304b978738573bfbea7797b3c3d610abde7374 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | C++: pass ModelItemInfo around wrapped in a QSharedPointer.Erik Verbruggen2014-06-0214-143/+162
| | | | | | | | | | Change-Id: I36162ea589ad01cf2ba79fc931732422fc1e6983 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | C++: Disable "Replace Dot for Arrow" auto-correction for ObjC sourcesNikolai Kosjar2014-06-023-7/+18
| | | | | | | | | | | | | | | | In the light of Obj-C properties this seems to annoy more than to help. Change-Id: I48f92d505035369f48e8798d0972ef00306bdde0 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>