diff options
author | Fawzi Mohamed <fawzi.mohamed@digia.com> | 2013-07-08 14:06:45 +0200 |
---|---|---|
committer | Fawzi Mohamed <fawzi.mohamed@digia.com> | 2013-07-10 10:11:00 +0200 |
commit | 372fc608dfa78e6f9560e5049794095762b26751 (patch) | |
tree | 346ec42f6714bd67511d2637fbbe8af188f01c88 /src/libs/qmljs/qmljsvalueowner.cpp | |
parent | e52383dbef0f78f4f844b04dab517f8b285f04b3 (diff) |
qmljs: add console.warn,...
Task-number: QTCREATORBUG-7033
Change-Id: I100cd6759534e5e94246f999481f5217f9e51b31
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/libs/qmljs/qmljsvalueowner.cpp')
-rw-r--r-- | src/libs/qmljs/qmljsvalueowner.cpp | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/src/libs/qmljs/qmljsvalueowner.cpp b/src/libs/qmljs/qmljsvalueowner.cpp index ac0ceb9c6a..6c73df3caf 100644 --- a/src/libs/qmljs/qmljsvalueowner.cpp +++ b/src/libs/qmljs/qmljsvalueowner.cpp @@ -67,7 +67,12 @@ private: class QmlJS::SharedValueOwner : public ValueOwner { public: - SharedValueOwner(); + enum SharedValueOwnerKind{ + Qt4Kind = 1, + Qt5Kind = 2 + }; + + SharedValueOwner(SharedValueOwnerKind kind = Qt5Kind); ObjectValue *_objectPrototype; ObjectValue *_functionPrototype; @@ -109,9 +114,18 @@ public: ColorValue _colorValue; AnchorLineValue _anchorLineValue; }; -Q_GLOBAL_STATIC(SharedValueOwner, sharedValueOwner) -SharedValueOwner::SharedValueOwner() +SharedValueOwner *ValueOwner::sharedValueOwner(QString kind) +{ + static SharedValueOwner qt5owner(SharedValueOwner::Qt5Kind); + static SharedValueOwner qt4owner(SharedValueOwner::Qt4Kind); + if (kind == QLatin1String("Qt4Kind")) + return &qt4owner; + else + return &qt5owner; +} + +SharedValueOwner::SharedValueOwner(SharedValueOwnerKind kind) : ValueOwner(this) // need to avoid recursing in ValueOwner ctor { _objectPrototype = newObject(/*prototype = */ 0); @@ -526,8 +540,21 @@ SharedValueOwner::SharedValueOwner() // firebug/webkit compat ObjectValue *consoleObject = newObject(/*prototype */ 0); - addFunction(consoleObject, QLatin1String("log"), 1); - addFunction(consoleObject, QLatin1String("debug"), 1); + addFunction(consoleObject, QLatin1String("log"), 1, 0, true); + addFunction(consoleObject, QLatin1String("debug"), 1, 0, true); + if (kind == Qt5Kind) { + addFunction(consoleObject, QLatin1String("info"), 1, 0, true); + addFunction(consoleObject, QLatin1String("warn"), 1, 0, true); + addFunction(consoleObject, QLatin1String("error"), 1, 0, true); + addFunction(consoleObject, QLatin1String("assert"), 1, 0, true); + addFunction(consoleObject, QLatin1String("count"), 0, 1); + addFunction(consoleObject, QLatin1String("profile"), 0); + addFunction(consoleObject, QLatin1String("profileEnd"), 0); + addFunction(consoleObject, QLatin1String("time"), 1); + addFunction(consoleObject, QLatin1String("timeEnd"), 1); + addFunction(consoleObject, QLatin1String("trace"), 0); + addFunction(consoleObject, QLatin1String("exception"), 1, 0, true); + } _globalObject->setMember(QLatin1String("console"), consoleObject); // translation functions |