V4 Debugger: Avoid special refs when looking up normal ones
authorUlf Hermann <ulf.hermann@theqtcompany.com>
Mon, 17 Aug 2015 14:54:36 +0000 (16:54 +0200)
committerUlf Hermann <ulf.hermann@theqtcompany.com>
Wed, 19 Aug 2015 11:28:25 +0000 (11:28 +0000)
commitc21bc1cdef5ae0f1e6bd43ac0a6c324a59d4e34b
tree5fb96be159e6d2e0b17589e8fedf18eedf8b17cf
parentcfc73960f2d55fa141edbadea7616a7f7f947877
V4 Debugger: Avoid special refs when looking up normal ones

The "values" of "special" refs are always JavaScript "undefined"s.
Thus, when trying to deduplicate an actual "undefined" we'd
accidentally hit the special refs. Avoid this by checking if a found
ref is special.

In an ideal world we'd get rid of the special refs altogether and
save QV4::FunctionObject in the values array, but that is not quite
trivial as long as the QV4::ExecutionEngine::stackTrace() doesn't
give us FunctionObjects.

Task-number: QTBUG-47788
Change-Id: Idf358c285f40930220fad2207c6ab5c9101573b2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.cpp