aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmljs/qmljsvalueowner.cpp
diff options
context:
space:
mode:
authorFawzi Mohamed <fawzi.mohamed@digia.com>2013-07-08 14:06:45 +0200
committerFawzi Mohamed <fawzi.mohamed@digia.com>2013-07-10 10:11:00 +0200
commit372fc608dfa78e6f9560e5049794095762b26751 (patch)
tree346ec42f6714bd67511d2637fbbe8af188f01c88 /src/libs/qmljs/qmljsvalueowner.cpp
parente52383dbef0f78f4f844b04dab517f8b285f04b3 (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.cpp37
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