diff options
author | Simon Hausmann <[email protected]> | 2018-04-18 09:38:39 +0200 |
---|---|---|
committer | Simon Hausmann <[email protected]> | 2018-05-02 15:46:10 +0000 |
commit | 057e37dba9e06c70012ed36e5998880ac277c06f (patch) | |
tree | bb03e8ffcc3b909001884c9e151dc462252820b4 /src/qml | |
parent | 1236abb3b3abab65984e32094bbaba4395667e0b (diff) |
Fix console.log for sequence types such as QStringList
The output should be the same as if we were printing an array, with
brackets.
Task-number: QTBUG-67776
Change-Id: I942df66a2908f82ea8ba1ce65676413569cf6f02
Reviewed-by: Mitch Curtis <[email protected]>
Reviewed-by: Lars Knoll <[email protected]>
Diffstat (limited to 'src/qml')
-rw-r--r-- | src/qml/jsruntime/qv4jsonobject.cpp | 2 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4managed_p.h | 1 | ||||
-rw-r--r-- | src/qml/qml/v8/qqmlbuiltinfunctions.cpp | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4jsonobject.cpp b/src/qml/jsruntime/qv4jsonobject.cpp index c3569c29d2..7d2bb18ead 100644 --- a/src/qml/jsruntime/qv4jsonobject.cpp +++ b/src/qml/jsruntime/qv4jsonobject.cpp @@ -743,7 +743,7 @@ QString Stringify::Str(const QString &key, const Value &v) o = value->asReturnedValue(); if (o) { if (!o->as<FunctionObject>()) { - if (o->as<ArrayObject>() || o->isListType()) { + if (o->isArrayLike()) { return JA(o.getPointer()); } else { return JO(o); diff --git a/src/qml/jsruntime/qv4managed_p.h b/src/qml/jsruntime/qv4managed_p.h index d404b66419..32688d1b71 100644 --- a/src/qml/jsruntime/qv4managed_p.h +++ b/src/qml/jsruntime/qv4managed_p.h @@ -212,6 +212,7 @@ public: inline ExecutionEngine *engine() const { return internalClass()->engine; } bool isListType() const { return d()->internalClass->vtable->type == Type_QmlSequence; } + bool isArrayLike() const { return isArrayObject() || isListType(); } bool isArrayObject() const { return d()->internalClass->vtable->type == Type_ArrayObject; } bool isStringObject() const { return d()->internalClass->vtable->type == Type_StringObject; } diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp index 608582253b..571f0af9d4 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp +++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp @@ -1554,7 +1554,7 @@ static ReturnedValue writeToConsole(const FunctionObject *b, const Value *, cons if (i != start) result.append(QLatin1Char(' ')); - if (argv[i].as<ArrayObject>()) + if (argv[i].isManaged() && argv[i].managed()->isArrayLike()) result += QLatin1Char('[') + argv[i].toQStringNoThrow() + QLatin1Char(']'); else result.append(argv[i].toQStringNoThrow()); |