diff --git a/share/qtcreator/gdbmacros/gdbmacros.py b/share/qtcreator/gdbmacros/gdbmacros.py index b821b629fc31cf7fe619c83b4b4c7b0ada718042..57df2e3dbe38dea75bdfe061035d3d6c38c8af7a 100644 --- a/share/qtcreator/gdbmacros/gdbmacros.py +++ b/share/qtcreator/gdbmacros/gdbmacros.py @@ -2430,6 +2430,33 @@ def qdump__QScriptValue(d, item): x = dd["jscValue"]["u"] tag = x["asBits"]["tag"] payload = x["asBits"]["payload"] + #isValid = long(x["asBits"]["tag"]) != -6 # Empty + #isCell = long(x["asBits"]["tag"]) == -2 + #warn("IS CELL: %s " % isCell) + #isObject = False + #className = "UNKNOWN NAME" + #if isCell: + # # isCell() && asCell()->isObject(); + # # in cell: m_structure->typeInfo().type() == ObjectType; + # cellType = lookupType("QTJSC::JSCell").pointer() + # cell = payload.cast(cellType).dereference() + # dtype = "NO DYNAMIC TYPE" + # try: + # dtype = cell.dynamic_type + # except: + # pass + # warn("DYNAMIC TYPE: %s" % dtype) + # warn("STATUC %s" % cell.type) + # type = cell["m_structure"]["m_typeInfo"]["m_type"] + # isObject = long(type) == 7 # ObjectType; + # className = "UNKNOWN NAME" + #warn("IS OBJECT: %s " % isObject) + + #inline bool JSCell::inherits(const ClassInfo* info) const + #for (const ClassInfo* ci = classInfo(); ci; ci = ci->parentClass) { + # if (ci == info) + # return true; + #return false; try: # This might already fail for "native" payloads. diff --git a/tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp b/tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp index 872fce8ff8cef485c2e53291ac0e4d529322f1c0..a45ac4ef60842102a537fe7386538997a7f762c9 100644 --- a/tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp +++ b/tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp @@ -2240,6 +2240,7 @@ void testQScriptValue(int argc, char *argv[]) s = engine.newVariant(QVariant(QString("sss"))); s = engine.newDate(date); x = s.toInt32(); + bool xx = s.isDate(); date = s.toDateTime(); s.setProperty("a", QScriptValue()); QScriptValue d = s.data();