aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4value_def_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsruntime/qv4value_def_p.h')
-rw-r--r--src/qml/jsruntime/qv4value_def_p.h60
1 files changed, 34 insertions, 26 deletions
diff --git a/src/qml/jsruntime/qv4value_def_p.h b/src/qml/jsruntime/qv4value_def_p.h
index 163aed9abc..cf351c125a 100644
--- a/src/qml/jsruntime/qv4value_def_p.h
+++ b/src/qml/jsruntime/qv4value_def_p.h
@@ -243,7 +243,7 @@ struct Q_QML_EXPORT Value
void setDouble(double d) { dbl = d; }
bool isNaN() const { return (tag & QV4::Value::NotDouble_Mask) == QV4::Value::NaN_Mask; }
#endif
- bool isString() const;
+ inline bool isString() const;
inline bool isObject() const;
inline bool isInt32() {
if (tag == _Integer_Type)
@@ -286,15 +286,15 @@ struct Q_QML_EXPORT Value
return val;
}
- static Value fromManaged(Managed *o);
+ static inline Value fromManaged(Managed *o);
int toUInt16() const;
- int toInt32() const;
- unsigned int toUInt32() const;
+ inline int toInt32() const;
+ inline unsigned int toUInt32() const;
- bool toBoolean() const;
+ inline bool toBoolean() const;
double toInteger() const;
- double toNumber() const;
+ inline double toNumber() const;
double toNumberImpl() const;
QString toQStringNoThrow() const;
QString toQString() const;
@@ -309,20 +309,20 @@ struct Q_QML_EXPORT Value
return b;
}
- String *asString() const;
- Managed *asManaged() const;
- Object *asObject() const;
- FunctionObject *asFunctionObject() const;
- NumberObject *asNumberObject() const;
- StringObject *asStringObject() const;
- DateObject *asDateObject() const;
- ArrayObject *asArrayObject() const;
- ErrorObject *asErrorObject() const;
+ inline String *asString() const;
+ inline Managed *asManaged() const;
+ inline Object *asObject() const;
+ inline FunctionObject *asFunctionObject() const;
+ inline NumberObject *asNumberObject() const;
+ inline StringObject *asStringObject() const;
+ inline DateObject *asDateObject() const;
+ inline ArrayObject *asArrayObject() const;
+ inline ErrorObject *asErrorObject() const;
template<typename T> inline T *as() const;
- uint asArrayIndex() const;
- uint asArrayLength(bool *ok) const;
+ inline uint asArrayIndex() const;
+ inline uint asArrayLength(bool *ok) const;
inline ExecutionEngine *engine() const;
@@ -335,7 +335,7 @@ struct Q_QML_EXPORT Value
// Section 9.12
bool sameValue(Value other) const;
- inline void mark() const;
+ inline void mark(ExecutionEngine *e) const;
};
inline Managed *Value::asManaged() const
@@ -354,13 +354,13 @@ inline String *Value::asString() const
struct Q_QML_EXPORT Primitive : public Value
{
- static Primitive emptyValue();
- static Primitive fromBoolean(bool b);
- static Primitive fromInt32(int i);
- static Primitive undefinedValue();
- static Primitive nullValue();
- static Primitive fromDouble(double d);
- static Primitive fromUInt32(uint i);
+ inline static Primitive emptyValue();
+ static inline Primitive fromBoolean(bool b);
+ static inline Primitive fromInt32(int i);
+ inline static Primitive undefinedValue();
+ static inline Primitive nullValue();
+ static inline Primitive fromDouble(double d);
+ static inline Primitive fromUInt32(uint i);
static double toInteger(double fromNumber);
static int toInt32(double value);
@@ -382,6 +382,14 @@ inline Primitive Primitive::undefinedValue()
return v;
}
+inline Primitive Primitive::emptyValue()
+{
+ Primitive v;
+ v.tag = Value::Empty_Type;
+ v.uint_32 = 0;
+ return v;
+}
+
inline Value Value::fromManaged(Managed *m)
{
if (!m)
@@ -445,7 +453,7 @@ struct Safe : public SafeValue
T *getPointer() const { return static_cast<T *>(managed()); }
Returned<T> *ret() const;
- void mark() { if (managed()) managed()->mark(); }
+ void mark(ExecutionEngine *e) { if (managed()) managed()->mark(e); }
};
typedef Safe<String> SafeString;
typedef Safe<Object> SafeObject;