The previous workaround for the Qt 4 optimized int,uint,short,ushort
QHashNode wasn't working for the QHashNode dumper itself because of
unknown key type. Instead we first try to find the 'key' child directly,
if that fails we look for it in the second child (which would be the
anonymous union from the optimized hash node, which contains the key).
Also fix the expected type for QHashNode in the optimized case for Qt4
Change-Id: Ib48c2c0afec081ff38cd750c3d515a5e678e9661
Reviewed-by: hjk <hjk121@nokiamail.com>
The GDB case is still wrong, but it the data GDB produces.
Change-Id: I97c656a666b98da2f62b354b5d1c699301d67b23
Reviewed-by: hjk <hjk121@nokiamail.com>
This is now (additionally) on a per-entry level, resulting
in less duplication.
Change-Id: Ia93547396384fe5b421c4b601b52476a23cdfa89
Reviewed-by: hjk <hjk121@nokiamail.com>
Make it work with LLDB, show simple values always directly.
Change-Id: I463ef81183792f85243d679dee69a41db00bed07
Reviewed-by: hjk <hjk121@nokiamail.com>
Until now std::vector::at() was used to access the elements. This is
handy for debugging since an exception is thrown for invalid indices,
but it does not stop Qt Creator from crashing because exceptions are not
caught.
This is especially a problem for the parser, which has to look ahead via
LA(n), which accesses TranslationUnit::_tokens.
With this patch, explicit bounds checking is done before accessing the
elements and thus calls to
std::vector::at() // bounds checking, throwing out_of_range
were replaced by calls to
std::vector::operator[]() // no bounds checking, not throwing out_of_range
Measuring the parse time for the Qt Creator project shows that there is
no slowdown. In both cases, with and without the patch, about 15s are
needed on the authors machine.
Task-number: QTCREATORBUG-10453
Change-Id: I32b12a526ff7199bcadfc21a3deb5354063a3e3b
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Dumper was working, but the default constructor doesn't do
the parsing already nowadays.
Change-Id: I098b0a03ad7d994b5746f3a4a6c39d29133509b0
Reviewed-by: hjk <hjk121@nokiamail.com>
Disable valgrind autotests for now. The people responsible for the
plugin have to decide which ones can actually be used on Windows and
which ones cannot.
Change-Id: I579de6258c73845a1935a9c220346879251bc478
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Would be nicer if there was a global way to tell GDB to not produce
"adorned" output...
Task-number: QTCREATORBUG-10344
Change-Id: I5355ebea0570f76415fdacfed34e1311825f57b9
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: hjk <hjk121@nokiamail.com>
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>
Fix Qt Quick Designer product name. Fix a typo in a test message.
Change-Id: I668af65da835017ebc876810a8d2c7d638290c77
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
MEMBER was added in Qt5.
Task-number: QTCREATORBUG-10068
Change-Id: Ic6c15a0e5ee8981ab98e4c12fc1521dc281b731f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>