Change data collection for debugging to use QV4::Value.
authorUlf Hermann <ulf.hermann@theqtcompany.com>
Mon, 27 Jul 2015 12:40:26 +0000 (14:40 +0200)
committerUlf Hermann <ulf.hermann@theqtcompany.com>
Mon, 10 Aug 2015 10:05:01 +0000 (10:05 +0000)
commitdc341e6c1c524330b838a62ceeaa148a01dc0729
treee42e93b6af0ecb347d4f3850b8e04acd796a4b66
parente01bea8999d2f58add58874bd3e6792f509b131b
Change data collection for debugging to use QV4::Value.

This patch changes the variable collection to store QV4::Value values
into a JS array, which is retained by the collector. This prevents any
GC issues, and gives a nice mapping from handle (used in the debugging
protocol) to JS value. It also allows for easy "shallow" object
serialization: any lookup can start with the QV4::Value, and add any
values it encounters to the array.

Testing is changed to use this collector directly, thereby testing the
class that is actually used to generate protocol data.

Task-number: QTBUG-47061
Change-Id: Iec75c4f74c08495e2a8af0fedf304f76f8385fd7
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp
src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h
src/qml/jsruntime/qv4debugging.cpp
src/qml/jsruntime/qv4debugging_p.h
tests/auto/qml/qv4debugger/tst_qv4debugger.cpp