- Jan 19, 2016
-
-
Tobias Hunger authored
* Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by:
Tobias Hunger <tobias.hunger@theqtcompany.com>
-
- Nov 19, 2015
-
-
Nikolai Kosjar authored
...which was least buggy. The bugs fixed by the changes we revert here (highlighting/completion for code involving templates) were minor compared to ones we currently have. Those bugs will be addressed by the clang code model anyway. Relevant commits were collected via: $ cd ${QTC}/src/libs/cplusplus $ git log \ --no-merges \ --format=oneline \ v3.4.2..HEAD \ -- LookupContext.* ResolveExpression.* TypeResolver.* TypeOfExpression.* \ ../../plugins/cpptools/cppcompletion_test.cpp From this list the following were skipped due to irrelevance: 88c5b47e # CppTools: Minor cleanup in completion tests e5255a1f # CppTools: Add a test for ObjC not replacing dot with arrow 5b12c8d6 # CppTools: Support ObjC in member access operator tests 9fef4fb9 # CPlusPlus: Fix warnings about overriding visit(...) methods There were only minor conflicts while reverting those. This changes touches so many files because there were quite some cleanups and renames after the 3.4.2 release. Task-number: QTCREATORBUG-14889 Task-number: QTCREATORBUG-15211 Task-number: QTCREATORBUG-15213 Task-number: QTCREATORBUG-15257 Task-number: QTCREATORBUG-15264 Task-number: QTCREATORBUG-15291 Task-number: QTCREATORBUG-15329 Change-Id: I01f759f8f35ecb4228928a4f22086e279c1a5435 Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- Nov 16, 2015
-
-
Adam Strzelecki authored
Underlying C++ model sometimes marks C++ object instantiation using initializer as a (forward) function declaration. This leads to incorrect highlighting of object variables as if they were function calls. C++ model however marks in this case (and not any other case) such symbols as ambiguous function types, see CPlusPlus::Bind::visit. This change skips such ambiguous functions for highlighting as function call. Also add test case for related bug report. Task-number: QTCREATORBUG-15212 Change-Id: Ifde8db407f2fa8275a3f991bfa3d3b73eca8c14e Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Jun 09, 2015
-
-
Orgad Shaneh authored
Use-case: template<class T> using Foo = Bar<T>; // T not highlighted Task-number: QTCREATORBUG-9944 Change-Id: I04cb62ea6a21f158f7fb4fb7ac79ccd6eb1bbfbb Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Jun 01, 2015
-
-
Orgad Shaneh authored
The last nail for std::unique_ptr (GCC variant, MSVC still doesn't work). Use-case: template<typename T> static T f(); struct Foo { int bar; }; void fun() { decltype(f<Foo>()) s; s.bar; // bar not highlighted } Task-number: QTCREATORBUG-14483 Task-number: QTCREATORBUG-8937 Change-Id: I5bab757400b070cf9dbb688a44fd8eafe95ddc61 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- May 27, 2015
-
-
Orgad Shaneh authored
Task-number: QTCREATORBUG-9944 Change-Id: I614571e05039f24b7d56abdddc15f912581f68f1 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Apr 20, 2015
-
-
Orgad Shaneh authored
Change-Id: Ide74482b133dd1fec40a725d9aa81bd749385f37 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Jan 16, 2015
-
-
Eike Ziller authored
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by:
Alessandro Portale <alessandro.portale@digia.com>
-
- Oct 23, 2014
-
-
Francois Ferrand authored
The messages were computed, but not added to the document. Change-Id: Ibeea802cf9f291ad14b2fe2e9d2a285c927a4449 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Oct 09, 2014
-
-
Eike Ziller authored
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by:
Alessandro Portale <alessandro.portale@digia.com>
-
- Aug 25, 2014
-
-
Nikolai Kosjar authored
This mainly takes CppEditorSupport apart. * Parsing is now invoked by CPPEditorDocument itself by listening to QTextDocument::contentsChanged(). * Upon construction and destruction CPPEditorDocument creates and deletes an EditorDocumentHandle for (un)registration in the model manager. This handle provides everything to generate the working copy and to access the editor document processor. * A CPPEditorDocument owns a BaseEditorDocumentProcessor instance that controls parsing, semantic info recalculation and the semantic highlighting for the document. This is more or less what is left from CppEditorSupport and can be considered as the backend of a CPPEditorDocument. CPPEditorDocument itself is quite small. * BuiltinEditorDocumentProcessor and ClangEditorDocumentProcessor derive from BaseEditorDocumentProcessor and implement the gaps. * Since the semantic info calculation was bound to the widget, it also calculated the local uses, which depend on the cursor position. This calculation got moved into the extracted class UseSeletionsUpdater in the cppeditor plugin, which is run once the cursor position changes or the semantic info document is updated. * Some more logic got extracted: - SemanticInfoUpdater (logic was in CppEditorSupport) - SemanticHighlighter (logic was in CppEditorSupport) * The *Parser and *Processor classes can be easily accessed by the static function get(). * CppHighlightingSupport is gone since it turned out to be useless. * The editor dependency in CompletionAssistProviders is gone since we actually only need the file path now. Change-Id: I49d3a7bd138c5ed9620123e34480772535156508 Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Aug 21, 2014
-
-
Nikolai Kosjar authored
...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>
-
- Jun 24, 2014
-
-
Orgad Shaneh authored
Change-Id: I9bfed2023624c818c0f35f24476693cffeaf2bbc Reviewed-by:
Wang Hoi <wanghoi@126.com> Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jun 19, 2014
-
-
Nikita Baryshnikov authored
Change-Id: I4f6011cc2b6127037249aabc2426a88ad7108ebf Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Daniel Teske <daniel.teske@digia.com> Reviewed-by:
hjk <hjk121@nokiamail.com>
-
- Jun 17, 2014
-
-
Wang Hoi authored
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>
-
- May 23, 2014
-
-
Nikolai Kosjar authored
...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>
-
Nikolai Kosjar authored
...especially in CppTools/CppEditor where the offsets are used with a QString/QTextDocument. Change-Id: Ic6d18fbc01fb9cc899a9bd2d7424cd2edae487f1 Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- May 15, 2014
-
-
Nikolai Kosjar authored
This will avoid confusion when later more length and indices methods are added. In Token: length() --> bytes() begin() --> bytesBegin() end() --> bytesEnd() Change-Id: I244c69b022e239ee762b4114559e707f93ff344f Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Jan 08, 2014
-
-
Robert Loehning authored
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a Reviewed-by:
Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by:
Kai Koehne <kai.koehne@digia.com>
-
- Oct 10, 2013
-
-
Nikolai Kosjar authored
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 872bfb70. Change-Id: Icb65e8d73b59a022f8885b14df497169543a3b92 Reviewed-by:
hjk <hjk121@nokiamail.com>
-
- Aug 22, 2013
-
-
Nikolai Kosjar authored
Change-Id: Ia36e7e7142dbc030a428369ed04e76e70e8eef0b Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Aug 20, 2013
-
-
Przemyslaw Gorszkowski authored
example code: struct S { int s; }; namespace std { template <typename T> struct shared_ptr { T* operator->(); }; } namespace NS { using std::shared_ptr; } int main() { NS::shared_ptr<S> p;// for this shared_ptr return 0; } Fixes: * find usages * follow symbol * highlighting * marking Task-number: QTCREATORBUG-7978 Change-Id: I28994c960b87ddd400e1d7b860fca6c6683bbb5a Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Jul 25, 2013
-
-
Nikolai Kosjar authored
Change-Id: Ic7e634e4249fb64edbc2daceb65ec8e9b5f0f8b9 Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Aurindam Jana <aurindam.jana@digia.com>
-
- Jul 17, 2013
-
-
Orgad Shaneh authored
Change-Id: I1309db70e98d678e150388c76ce665e988fdf081 Reviewed-by:
Eike Ziller <eike.ziller@digia.com>
-
- Jun 11, 2013
-
-
Nikolai Kosjar authored
Change-Id: Id107b6c1f34f594c5a01502c156963c964235ed7 Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- May 24, 2013
-
-
Przemyslaw Gorszkowski authored
It was missing colorizing and follow symbol template function parameters in case of: * returning value * use it as qualified name Task-number: QTCREATORBUG-6861 Change-Id: I4226199e1f296cfe5a373783ebbc633e32fc9bcd Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Apr 18, 2013
-
-
Erik Verbruggen authored
- Moved TextEditor::SemanticHighlighter::Result to TextEditor::HighlightingResult - Moved SemanticInfo::UseKind to CppHighlightingSupport::Kind Change-Id: I14faab1891ca691a0691cfd9243edf19fcd3d3df Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Apr 16, 2013
-
-
Erik Verbruggen authored
Change-Id: Ie0133893d8b8d35ea2aa599cb8f7d5c2cc55271e Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Apr 10, 2013
-
-
Przemyslaw Gorszkowski authored
It fixes: * highlighing * find usage * follow symbol when function of class has the same name as: * local variable * template parameter * other struct/union/class/enum * function argument in function scope. Task-number: QTCREATORBUG-8902 Change-Id: Iddc0f764af689babb40d39460d174bac7b919b31 Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Sergey Shambir <sergey.shambir.auto@gmail.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
Friedemann Kleint authored
Ran script to remove inludes on a trial-and-error basis and manually corrected it. Change-Id: Ic8464ea084ca1ab401e9f4a7d0183b92b4038902 Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Apr 03, 2013
-
-
Oswald Buddenhagen authored
... and adjust INCLUDEPATH accordingly. while i'm at messing with include statements, also re-order the include blocks according to policy and sort them within bigger blocks. Change-Id: I7762abfd7c4ecf59432b99db2f424e4fa25733a5 Reviewed-by:
Tobias Hunger <tobias.hunger@digia.com> Reviewed-by:
Eike Ziller <eike.ziller@digia.com>
-
- Mar 04, 2013
-
-
Erik Verbruggen authored
Fixed the chunk size calculation, made the sorting more stable, and fixed the tests. Change-Id: I81fcffbf2ce9b63dd81f1a0e251200a31220db88 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Feb 26, 2013
-
-
Erik Verbruggen authored
The fix: when finished with a FunctionDefinition, only flush when the number of usages reaches the chunk size. This should prevent a lot of chunks with a low number of usages for files with short methods. The tuning: for files larger than 10000 lines, use a larger chunk size to prevent the UI thread from having to re-layout/re-paint too often. Change-Id: I419174d306b8380c6fa8402825767e26c73f62ec Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Feb 19, 2013
-
-
Nikolai Kosjar authored
Task-number: QTCREATORBUG-8738 Change-Id: I297731f15bd9001f7edc83c956a15ef660929dc7 Reviewed-by:
Mitch Curtis <mitch.curtis@digia.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Feb 11, 2013
-
-
Robert Loehning authored
Change-Id: Ia35af9397fe64f4bcf48717830a1a25f4d8c6c36 Reviewed-by:
Leena Miettinen <riitta-leena.miettinen@digia.com>
-
- Jan 30, 2013
-
-
Erik Verbruggen authored
Change-Id: Id42bb1cbf109cac8ab868ab7381a54d6be9a7697 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jan 29, 2013
-
-
Przemyslaw Gorszkowski authored
Highlight member variable when there is also enum value with the same name Task-number: QTCREATORBUG-7525 Change-Id: I0990844a20fdf9e87a807fde10708344b9c3497b Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
Robert Loehning authored
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205 Reviewed-by:
Kai Koehne <kai.koehne@digia.com>
-
Przemyslaw Gorszkowski authored
Fix highlighting, find usages, marking for static variables. Task-number: QTCREATORBUG-6822 Change-Id: I0c97c93c6c1024550907eec3820496df22a94e85 Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jan 22, 2013
-
-
Przemyslaw Gorszkowski authored
Fixing: * highlighting * tooltips * find usage * selecting Task-number: QTCREATORBUG-8245 Change-Id: I6e900799e43126706125b7e424567fca2b2c223e Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-